ng-miam 3.2.1 → 3.3.2

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 (58) hide show
  1. package/bundles/ng-miam.umd.js +6364 -5557
  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/icon/icon.component.js +47 -5
  6. package/esm2015/lib/_models/groceries-entry.js +23 -2
  7. package/esm2015/lib/_models/groceries-list.js +5 -2
  8. package/esm2015/lib/_services/analytics.service.js +7 -1
  9. package/esm2015/lib/_services/baskets.service.js +6 -2
  10. package/esm2015/lib/_services/groceries-lists.service.js +23 -6
  11. package/esm2015/lib/_types/icon.enum.js +21 -18
  12. package/esm2015/lib/_web-components/{basket-preview-block → basket-preview/basket-preview-block}/basket-preview-block.component.js +15 -15
  13. package/esm2015/lib/_web-components/{basket-preview-disabled → basket-preview/basket-preview-disabled}/basket-preview-disabled.component.js +3 -3
  14. package/esm2015/lib/_web-components/{basket-preview-line → basket-preview/basket-preview-line}/basket-preview-line.component.js +22 -19
  15. package/esm2015/lib/_web-components/basket-preview/basket-preview.module.js +78 -0
  16. package/esm2015/lib/_web-components/basket-preview/index.js +7 -0
  17. package/esm2015/lib/_web-components/{replace-item → basket-preview/replace-item}/replace-item.component.js +8 -8
  18. package/esm2015/lib/_web-components/drawer/drawer.component.js +1 -1
  19. package/esm2015/lib/_web-components/index.js +4 -6
  20. package/esm2015/lib/_web-components/list-scan/basket-preview/basket-preview.component.js +145 -0
  21. package/esm2015/lib/_web-components/list-scan/index.js +3 -0
  22. package/esm2015/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.js +150 -0
  23. package/esm2015/lib/_web-components/list-scan/list-scan.component.js +87 -0
  24. package/esm2015/lib/_web-components/list-scan/list-scan.module.js +60 -0
  25. package/esm2015/lib/_web-components/list-scan/overlay-button/overlay-button.component.js +104 -0
  26. package/esm2015/lib/_web-components/loader/index.js +3 -0
  27. package/esm2015/lib/_web-components/loader/loader.module.js +39 -0
  28. package/esm2015/lib/_web-components/recipe-card/recipe-card.component.js +1 -1
  29. package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +1 -1
  30. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +1 -1
  31. package/esm2015/lib/_web-components/recipes-history/recipes-history.component.js +1 -1
  32. package/esm2015/lib/_web-components/web-components.module.js +24 -62
  33. package/esm2015/lib/environment.js +15 -5
  34. package/fesm2015/ng-miam.js +5545 -4851
  35. package/fesm2015/ng-miam.js.map +1 -1
  36. package/lib/_models/groceries-entry.d.ts +8 -1
  37. package/lib/_models/groceries-list.d.ts +4 -3
  38. package/lib/_services/groceries-lists.service.d.ts +4 -1
  39. package/lib/_types/icon.enum.d.ts +20 -17
  40. package/lib/_web-components/{basket-preview-block → basket-preview/basket-preview-block}/basket-preview-block.component.d.ts +6 -6
  41. package/lib/_web-components/{basket-preview-disabled → basket-preview/basket-preview-disabled}/basket-preview-disabled.component.d.ts +2 -2
  42. package/lib/_web-components/{basket-preview-line → basket-preview/basket-preview-line}/basket-preview-line.component.d.ts +7 -7
  43. package/lib/_web-components/basket-preview/basket-preview.module.d.ts +16 -0
  44. package/lib/_web-components/basket-preview/index.d.ts +5 -0
  45. package/lib/_web-components/{replace-item → basket-preview/replace-item}/replace-item.component.d.ts +5 -5
  46. package/lib/_web-components/index.d.ts +3 -5
  47. package/lib/_web-components/list-scan/basket-preview/basket-preview.component.d.ts +25 -0
  48. package/lib/_web-components/list-scan/index.d.ts +2 -0
  49. package/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.d.ts +22 -0
  50. package/lib/_web-components/list-scan/list-scan.component.d.ts +17 -0
  51. package/lib/_web-components/list-scan/list-scan.module.d.ts +16 -0
  52. package/lib/_web-components/list-scan/overlay-button/overlay-button.component.d.ts +19 -0
  53. package/lib/_web-components/loader/index.d.ts +2 -0
  54. package/lib/_web-components/loader/loader.module.d.ts +10 -0
  55. package/lib/_web-components/web-components.module.d.ts +36 -65
  56. package/lib/environment.d.ts +3 -3
  57. package/miam-style.css +1 -1
  58. package/package.json +1 -1
@@ -4,7 +4,7 @@ export class GroceriesEntry extends Resource {
4
4
  super(...arguments);
5
5
  this.attributes = {
6
6
  name: '',
7
- 'capacity-volume': '',
7
+ 'capacity-volume': 1,
8
8
  'capacity-unit': '',
9
9
  'capacity-factor': '',
10
10
  status: 'active',
@@ -17,5 +17,26 @@ export class GroceriesEntry extends Resource {
17
17
  set status(st) {
18
18
  this.attributes.status = st;
19
19
  }
20
+ get name() {
21
+ return this.attributes.name;
22
+ }
23
+ set name(n) {
24
+ this.attributes.name = n;
25
+ }
26
+ get recipesIds() {
27
+ return this.attributes['recipe-ids'];
28
+ }
29
+ get volume() {
30
+ return parseFloat(this.attributes['capacity-volume'].toString());
31
+ }
32
+ set volume(v) {
33
+ this.attributes['capacity-volume'] = v;
34
+ }
35
+ get unit() {
36
+ return this.attributes['capacity-unit'];
37
+ }
38
+ set unit(u) {
39
+ this.attributes['capacity-unit'] = u;
40
+ }
20
41
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvY2VyaWVzLWVudHJ5LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fbW9kZWxzL2dyb2Nlcmllcy1lbnRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZDLE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtJQUE1Qzs7UUFDUyxlQUFVLEdBQUc7WUFDbEIsSUFBSSxFQUFFLEVBQUU7WUFDUixpQkFBaUIsRUFBRSxFQUFFO1lBQ3JCLGVBQWUsRUFBRSxFQUFFO1lBQ25CLGlCQUFpQixFQUFFLEVBQUU7WUFDckIsTUFBTSxFQUFFLFFBQVE7WUFDaEIsWUFBWSxFQUFFLEVBQUU7U0FDakIsQ0FBQztJQVNKLENBQUM7SUFQQyxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxFQUFVO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJ25neC1qc29uYXBpJztcblxuZXhwb3J0IGNsYXNzIEdyb2Nlcmllc0VudHJ5IGV4dGVuZHMgUmVzb3VyY2Uge1xuICBwdWJsaWMgYXR0cmlidXRlcyA9IHtcbiAgICBuYW1lOiAnJyxcbiAgICAnY2FwYWNpdHktdm9sdW1lJzogJycsXG4gICAgJ2NhcGFjaXR5LXVuaXQnOiAnJyxcbiAgICAnY2FwYWNpdHktZmFjdG9yJzogJycsXG4gICAgc3RhdHVzOiAnYWN0aXZlJyxcbiAgICAncmVjaXBlLWlkcyc6IFtdXG4gIH07XG5cbiAgZ2V0IHN0YXR1cygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXMuc3RhdHVzO1xuICB9XG5cbiAgc2V0IHN0YXR1cyhzdDogc3RyaW5nKSB7XG4gICAgdGhpcy5hdHRyaWJ1dGVzLnN0YXR1cyA9IHN0O1xuICB9XG59XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvY2VyaWVzLWVudHJ5LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fbW9kZWxzL2dyb2Nlcmllcy1lbnRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZDLE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtJQUE1Qzs7UUFDUyxlQUFVLEdBQUc7WUFDbEIsSUFBSSxFQUFFLEVBQUU7WUFDUixpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLGVBQWUsRUFBRSxFQUFFO1lBQ25CLGlCQUFpQixFQUFFLEVBQUU7WUFDckIsTUFBTSxFQUFFLFFBQVE7WUFDaEIsWUFBWSxFQUFFLEVBQUU7U0FDakIsQ0FBQztJQXFDSixDQUFDO0lBbkNDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLEVBQVU7UUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxDQUFTO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsQ0FBUztRQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLENBQVM7UUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2UgfSBmcm9tICduZ3gtanNvbmFwaSc7XG5cbmV4cG9ydCBjbGFzcyBHcm9jZXJpZXNFbnRyeSBleHRlbmRzIFJlc291cmNlIHtcbiAgcHVibGljIGF0dHJpYnV0ZXMgPSB7XG4gICAgbmFtZTogJycsXG4gICAgJ2NhcGFjaXR5LXZvbHVtZSc6IDEsXG4gICAgJ2NhcGFjaXR5LXVuaXQnOiAnJyxcbiAgICAnY2FwYWNpdHktZmFjdG9yJzogJycsXG4gICAgc3RhdHVzOiAnYWN0aXZlJyxcbiAgICAncmVjaXBlLWlkcyc6IFtdXG4gIH07XG5cbiAgZ2V0IHN0YXR1cygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXMuc3RhdHVzO1xuICB9XG5cbiAgc2V0IHN0YXR1cyhzdDogc3RyaW5nKSB7XG4gICAgdGhpcy5hdHRyaWJ1dGVzLnN0YXR1cyA9IHN0O1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzLm5hbWU7XG4gIH1cblxuICBzZXQgbmFtZShuOiBzdHJpbmcpIHtcbiAgICB0aGlzLmF0dHJpYnV0ZXMubmFtZSA9IG47XG4gIH1cblxuICBnZXQgcmVjaXBlc0lkcygpOiBBcnJheTxzdHJpbmd8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlc1sncmVjaXBlLWlkcyddO1xuICB9XG5cbiAgZ2V0IHZvbHVtZSgpOiBudW1iZXIge1xuICAgIHJldHVybiBwYXJzZUZsb2F0KHRoaXMuYXR0cmlidXRlc1snY2FwYWNpdHktdm9sdW1lJ10udG9TdHJpbmcoKSk7XG4gIH1cblxuICBzZXQgdm9sdW1lKHY6IG51bWJlcikge1xuICAgIHRoaXMuYXR0cmlidXRlc1snY2FwYWNpdHktdm9sdW1lJ10gPSB2O1xuICB9XG5cbiAgZ2V0IHVuaXQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzWydjYXBhY2l0eS11bml0J107XG4gIH1cblxuICBzZXQgdW5pdCh1OiBzdHJpbmcpIHtcbiAgICB0aGlzLmF0dHJpYnV0ZXNbJ2NhcGFjaXR5LXVuaXQnXSA9IHU7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { DocumentCollection, Resource } from "ngx-jsonapi";
1
+ import { DocumentCollection, Resource } from 'ngx-jsonapi';
2
2
  export class GroceriesList extends Resource {
3
3
  constructor() {
4
4
  super(...arguments);
@@ -21,6 +21,9 @@ export class GroceriesList extends Resource {
21
21
  get recipeInfos() {
22
22
  return this.attributes['recipes-infos'];
23
23
  }
24
+ get entries() {
25
+ return this.relationships['groceries-entries'];
26
+ }
24
27
  hasRecipe(recipeId) {
25
28
  var _a;
26
29
  return (_a = this.recipeInfos) === null || _a === void 0 ? void 0 : _a.map(info => info.id).includes(recipeId);
@@ -30,4 +33,4 @@ export class GroceriesList extends Resource {
30
33
  return +((_a = this.recipeInfos.find(info => info.id === recipe.id)) === null || _a === void 0 ? void 0 : _a.guests);
31
34
  }
32
35
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvY2VyaWVzLWxpc3QuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19tb2RlbHMvZ3JvY2VyaWVzLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUkzRCxNQUFNLE9BQU8sYUFBYyxTQUFRLFFBQVE7SUFBM0M7O1FBQ1MsZUFBVSxHQUFHO1lBQ2xCLElBQUksRUFBRSxFQUFFO1lBQ1IsWUFBWSxFQUFFLEVBQUU7WUFDaEIsWUFBWSxFQUFFLEVBQUU7WUFDaEIsT0FBTyxFQUFFLEVBQUU7WUFDWCxhQUFhLEVBQUUsRUFBRTtZQUNqQixlQUFlLEVBQUUsRUFBRTtZQUNuQixnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLEVBQUU7WUFDYixnQkFBZ0IsRUFBRSxLQUFLO1NBQ3hCLENBQUM7UUFFSyxrQkFBYSxHQUFHO1lBQ3JCLG1CQUFtQixFQUFFLElBQUksa0JBQWtCLEVBQWtCO1NBQzlELENBQUM7SUFhSixDQUFDO0lBWEMsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxTQUFTLENBQUMsUUFBZ0I7O1FBQ3hCLGFBQVEsSUFBSSxDQUFDLFdBQVcsMENBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFO0lBQ3BFLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBYzs7UUFDNUIsT0FBTyxRQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsRUFBRSxDQUFDLDBDQUFFLE1BQU0sQ0FBQSxDQUFDO0lBQ3ZFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvY3VtZW50Q29sbGVjdGlvbiwgUmVzb3VyY2UgfSBmcm9tIFwibmd4LWpzb25hcGlcIjtcbmltcG9ydCB7IEdyb2Nlcmllc0VudHJ5IH0gZnJvbSBcIi4vZ3JvY2VyaWVzLWVudHJ5XCI7XG5pbXBvcnQgeyBSZWNpcGUgfSBmcm9tIFwiLi9yZWNpcGVcIjtcblxuZXhwb3J0IGNsYXNzIEdyb2Nlcmllc0xpc3QgZXh0ZW5kcyBSZXNvdXJjZSB7XG4gIHB1YmxpYyBhdHRyaWJ1dGVzID0ge1xuICAgIG5hbWU6ICcnLFxuICAgICdjcmVhdGVkLWF0JzogJycsXG4gICAgJ3VwZGF0ZWQtYXQnOiAnJyxcbiAgICBlbnRyaWVzOiBbXSxcbiAgICAncmVjaXBlcy1pZHMnOiBbXSxcbiAgICAncmVjaXBlcy1pbmZvcyc6IFtdLFxuICAgICdzZWFyY2gtb3B0aW9ucyc6IHt9LFxuICAgIHNldHRpbmdzOiB7fSxcbiAgICAndXNlci1pZCc6ICcnLFxuICAgICdhcHBlbmQtcmVjaXBlcyc6IGZhbHNlXG4gIH07XG5cbiAgcHVibGljIHJlbGF0aW9uc2hpcHMgPSB7XG4gICAgJ2dyb2Nlcmllcy1lbnRyaWVzJzogbmV3IERvY3VtZW50Q29sbGVjdGlvbjxHcm9jZXJpZXNFbnRyeT4oKVxuICB9O1xuXG4gIGdldCByZWNpcGVJbmZvcygpOiB7IGlkOiBzdHJpbmcsIGd1ZXN0czogc3RyaW5nIH1bXSB7XG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlc1sncmVjaXBlcy1pbmZvcyddO1xuICB9XG5cbiAgaGFzUmVjaXBlKHJlY2lwZUlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIHRoaXMucmVjaXBlSW5mb3M/Lm1hcChpbmZvID0+IGluZm8uaWQpLmluY2x1ZGVzKHJlY2lwZUlkKTtcbiAgfVxuXG4gIGd1ZXN0c0ZvclJlY2lwZShyZWNpcGU6IFJlY2lwZSk6IG51bWJlciB7XG4gICAgcmV0dXJuICt0aGlzLnJlY2lwZUluZm9zLmZpbmQoaW5mbyA9PiBpbmZvLmlkID09PSByZWNpcGUuaWQpPy5ndWVzdHM7XG4gIH1cbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvY2VyaWVzLWxpc3QuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19tb2RlbHMvZ3JvY2VyaWVzLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUkzRCxNQUFNLE9BQU8sYUFBYyxTQUFRLFFBQVE7SUFBM0M7O1FBQ1MsZUFBVSxHQUFHO1lBQ2xCLElBQUksRUFBRSxFQUFFO1lBQ1IsWUFBWSxFQUFFLEVBQUU7WUFDaEIsWUFBWSxFQUFFLEVBQUU7WUFDaEIsT0FBTyxFQUFFLEVBQUU7WUFDWCxhQUFhLEVBQUUsRUFBRTtZQUNqQixlQUFlLEVBQUUsRUFBRTtZQUNuQixnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLEVBQUU7WUFDYixnQkFBZ0IsRUFBRSxLQUFLO1NBQ3hCLENBQUM7UUFFSyxrQkFBYSxHQUFHO1lBQ3JCLG1CQUFtQixFQUFFLElBQUksa0JBQWtCLEVBQWtCO1NBQzlELENBQUM7SUFpQkosQ0FBQztJQWZDLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFNBQVMsQ0FBQyxRQUFnQjs7UUFDeEIsYUFBUSxJQUFJLENBQUMsV0FBVywwQ0FBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUU7SUFDcEUsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFjOztRQUM1QixPQUFPLFFBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUMsMENBQUUsTUFBTSxDQUFBLENBQUM7SUFDdkUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG9jdW1lbnRDb2xsZWN0aW9uLCBSZXNvdXJjZSB9IGZyb20gJ25neC1qc29uYXBpJztcbmltcG9ydCB7IEdyb2Nlcmllc0VudHJ5IH0gZnJvbSAnLi9ncm9jZXJpZXMtZW50cnknO1xuaW1wb3J0IHsgUmVjaXBlIH0gZnJvbSAnLi9yZWNpcGUnO1xuXG5leHBvcnQgY2xhc3MgR3JvY2VyaWVzTGlzdCBleHRlbmRzIFJlc291cmNlIHtcbiAgcHVibGljIGF0dHJpYnV0ZXMgPSB7XG4gICAgbmFtZTogJycsXG4gICAgJ2NyZWF0ZWQtYXQnOiAnJyxcbiAgICAndXBkYXRlZC1hdCc6ICcnLFxuICAgIGVudHJpZXM6IFtdLFxuICAgICdyZWNpcGVzLWlkcyc6IFtdLFxuICAgICdyZWNpcGVzLWluZm9zJzogW10sXG4gICAgJ3NlYXJjaC1vcHRpb25zJzoge30sXG4gICAgc2V0dGluZ3M6IHt9LFxuICAgICd1c2VyLWlkJzogJycsXG4gICAgJ2FwcGVuZC1yZWNpcGVzJzogZmFsc2VcbiAgfTtcblxuICBwdWJsaWMgcmVsYXRpb25zaGlwcyA9IHtcbiAgICAnZ3JvY2VyaWVzLWVudHJpZXMnOiBuZXcgRG9jdW1lbnRDb2xsZWN0aW9uPEdyb2Nlcmllc0VudHJ5PigpXG4gIH07XG5cbiAgZ2V0IHJlY2lwZUluZm9zKCk6IHsgaWQ6IHN0cmluZywgZ3Vlc3RzOiBzdHJpbmcgfVtdIHtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ107XG4gIH1cblxuICBnZXQgZW50cmllcygpOiBEb2N1bWVudENvbGxlY3Rpb248R3JvY2VyaWVzRW50cnk+IHtcbiAgICByZXR1cm4gdGhpcy5yZWxhdGlvbnNoaXBzWydncm9jZXJpZXMtZW50cmllcyddO1xuICB9XG5cbiAgaGFzUmVjaXBlKHJlY2lwZUlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIHRoaXMucmVjaXBlSW5mb3M/Lm1hcChpbmZvID0+IGluZm8uaWQpLmluY2x1ZGVzKHJlY2lwZUlkKTtcbiAgfVxuXG4gIGd1ZXN0c0ZvclJlY2lwZShyZWNpcGU6IFJlY2lwZSk6IG51bWJlciB7XG4gICAgcmV0dXJuICt0aGlzLnJlY2lwZUluZm9zLmZpbmQoaW5mbyA9PiBpbmZvLmlkID09PSByZWNpcGUuaWQpPy5ndWVzdHM7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { environment } from '../environment';
2
3
  import * as i0 from "@angular/core";
3
4
  // Loading a script directly in the DOM every time an event is triggered is probably not the ideal way
4
5
  // of handling it. However, it seems to be the only way to make sure the analytics script gets loaded,
@@ -14,6 +15,11 @@ export class AnalyticsService {
14
15
  }
15
16
  // Load Google analytics & optimize scripts into host page DOM & create tracker
16
17
  init(gaKey, optimizeKey = null) {
18
+ // we do not have uat or local analytical service, guard it if you are using a non prod script
19
+ if (!environment.isProd()) {
20
+ console.info('[Miam] you are not in prod, do not initialize analytical service');
21
+ return;
22
+ }
17
23
  if (!gaKey || gaKey.length < 0) {
18
24
  console.error('[Miam] Cannot initialize analytics : invalid key', gaKey);
19
25
  return;
@@ -79,4 +85,4 @@ AnalyticsService.ɵprov = i0.ɵɵdefineInjectable({ token: AnalyticsService, fac
79
85
  providedIn: 'root'
80
86
  }]
81
87
  }], function () { return []; }, null); })();
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFlLE1BQU0sZUFBZSxDQUFDOztBQUV4RCxzR0FBc0c7QUFDdEcsc0dBQXNHO0FBQ3RHLDJHQUEyRztBQUMzRyxtQ0FBbUM7QUFDbkMsRUFBRTtBQUNGLGdIQUFnSDtBQUNoSCx5R0FBeUc7QUFDekcsa0dBQWtHO0FBSWxHLE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0I7UUFGUSxpQkFBWSxHQUFHLEtBQUssQ0FBQztJQUVkLENBQUM7SUFFaEIsK0VBQStFO0lBQy9FLElBQUksQ0FBQyxLQUFhLEVBQUUsY0FBc0IsSUFBSTtRQUM1QyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0RBQWtELEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekUsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWpDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxTQUFTLENBQUMsTUFBYyxFQUFFLFFBQWdCLElBQUksRUFBRSxRQUFnQixJQUFJO1FBQ2xFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sQ0FBQyxTQUFTLEdBQUc7OzswQkFHQyxNQUFNO3lCQUNQLEtBQUs7d0JBQ04sS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sRUFBRTs7T0FFakMsQ0FBQztZQUNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXO1FBQ2xCLE1BQU0sYUFBYSxHQUFHOzs7Ozs7Ozs7O3NCQVVKLEdBQUc7Ozs7OztLQU1wQixDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztRQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQW1CO1FBQ2hDLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpREFBaUQsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUM3RSxPQUFPO1NBQ1I7UUFDRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxHQUFHLEdBQUcsaURBQWlELFdBQVcsRUFBRSxDQUFDO1FBQzVFLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O2dGQXBFVSxnQkFBZ0I7d0RBQWhCLGdCQUFnQixXQUFoQixnQkFBZ0IsbUJBRmYsTUFBTTtrREFFUCxnQkFBZ0I7Y0FINUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0RmxhZ3MgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gTG9hZGluZyBhIHNjcmlwdCBkaXJlY3RseSBpbiB0aGUgRE9NIGV2ZXJ5IHRpbWUgYW4gZXZlbnQgaXMgdHJpZ2dlcmVkIGlzIHByb2JhYmx5IG5vdCB0aGUgaWRlYWwgd2F5XG4vLyBvZiBoYW5kbGluZyBpdC4gSG93ZXZlciwgaXQgc2VlbXMgdG8gYmUgdGhlIG9ubHkgd2F5IHRvIG1ha2Ugc3VyZSB0aGUgYW5hbHl0aWNzIHNjcmlwdCBnZXRzIGxvYWRlZCxcbi8vIHRoZSBcImdhXCIgZnVuY3Rpb24gZGVmaW5lZCAoYW5kIHVsdGltYXRlbHksIGNhbGxlZCksIGluIHRoZSBhY3R1YWwgY29udGV4dCBvZiB0aGUgaG9zdCBET00gd2hlcmUgdGhlIHdlYmNcbi8vIGxpYnJhcnkgaXMgZ29pbmcgdG8gYmUgaW5qZWN0ZWQuXG4vL1xuLy8gRm9yIGluc3RhbmNlLCBpZiB0aGUgbGliIGlzIGxvYWRlZCBpbiBhIHRoaXJkIHBhcnR5IGFwcGxpY2F0aW9ucyBET00gZnJvbSBhIENocm9tZSBleHRlbnNpb25zIGNvbnRlbnQgc2NyaXB0LFxuLy8gYXR0ZW1wdHMgYXQgZXhlY3V0aW5nIHRoZSBnYSBmdW5jdGlvbiBkaXJlY3RseSBpbiB0aGUgY29udGVudCBzY3JpcHQgd2lsbCBmYWlsIGFzIHdlIGNhbm5vdCBhY2Nlc3MgdGhlXG4vLyBKYXZhc2NyaXB0IGNvbnRleHQgd2hlcmUgdGhlIHNjcmlwdCBnb3QgbG9hZGVkIGluIHRoZSBmaXJzdCBwbGFjZSAoXCJ3aW5kb3dcIiBvYmplY3Qgd2lsbCBkaWZmZXIpXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBbmFseXRpY3NTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgLy8gTG9hZCBHb29nbGUgYW5hbHl0aWNzICYgb3B0aW1pemUgc2NyaXB0cyBpbnRvIGhvc3QgcGFnZSBET00gJiBjcmVhdGUgdHJhY2tlclxuICBpbml0KGdhS2V5OiBzdHJpbmcsIG9wdGltaXplS2V5OiBzdHJpbmcgPSBudWxsKSB7XG4gICAgaWYgKCFnYUtleSB8fCBnYUtleS5sZW5ndGggPCAwKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbTWlhbV0gQ2Fubm90IGluaXRpYWxpemUgYW5hbHl0aWNzIDogaW52YWxpZCBrZXknLCBnYUtleSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbmplY3RHQShnYUtleSk7XG4gICAgdGhpcy5pbmplY3RPcHRpbWl6ZShvcHRpbWl6ZUtleSk7XG5cbiAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gICAgY29uc29sZS5sb2coJ1tNaWFtXSBJbml0aWFsaXplIGFuYWx5dGljcycsIGdhS2V5LCBvcHRpbWl6ZUtleSk7XG4gICAgdGhpcy5zZW5kRXZlbnQoJ2xvYWQnKTtcbiAgfVxuXG4gIC8vIEFwcGVuZCBuZXcgc2NyaXB0IHRvIHRoZSBET00gc28gdGhlIGV2ZW50IGlzIHNlbnQgZnJvbSB0aGUgY29ycmVjdCBjb250ZXh0XG4gIHNlbmRFdmVudChhY3Rpb246IHN0cmluZywgbGFiZWw6IHN0cmluZyA9IG51bGwsIHZhbHVlOiBudW1iZXIgPSBudWxsKSB7XG4gICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdC5pbm5lckhUTUwgPSBgXFxcbiAgICAgICAgZ2EoJ21faV9hX21fVHJhY2tlci5zZW5kJywgJ2V2ZW50Jywge1xuICAgICAgICAgIGV2ZW50Q2F0ZWdvcnk6ICduZy1taWFtJyxcbiAgICAgICAgICBldmVudEFjdGlvbjogJyR7YWN0aW9ufScsXG4gICAgICAgICAgZXZlbnRMYWJlbDogJyR7bGFiZWx9JyxcbiAgICAgICAgICBldmVudFZhbHVlOiAke3ZhbHVlPy50b0ZpeGVkKCl9XG4gICAgICAgIH0pO1xuICAgICAgYDtcbiAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICB9XG4gIH1cblxuICBpbmplY3RHQShrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHNjcmlwdENvbnRlbnQgPSBgXG4gICAgICAoZnVuY3Rpb24oaSwgcywgbywgZywgciwgYSwgbSkge1xuICAgICAgICBpW3JdID0gaVtyXSB8fCBmdW5jdGlvbigpIHtcbiAgICAgICAgICAoaVtyXS5xID0gaVtyXS5xIHx8IFtdKS5wdXNoKGFyZ3VtZW50cyk7XG4gICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgYSA9IHMuY3JlYXRlRWxlbWVudChvKSwgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07XG4gICAgICAgIGEuYXN5bmMgPSAxO1xuICAgICAgICBhLnNyYyA9IGc7XG4gICAgICAgIG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSk7XG4gICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vc3NsLmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpO1xuICAgICAgZ2EoJ2NyZWF0ZScsICcke2tleX0nLCAnbm9uZScsICdtX2lfYV9tX1RyYWNrZXInKTtcbiAgICAgIGdhKCdtX2lfYV9tX1RyYWNrZXIuc2V0JywgJ3JlZmVycmVyJywgd2luZG93LmxvY2F0aW9uLm9yaWdpbik7XG4gICAgICBnYSgnbV9pX2FfbV9UcmFja2VyLnNldCcsICdjYW1wYWlnbk5hbWUnLCAnbmctbWlhbScpO1xuICAgICAgZ2EoJ21faV9hX21fVHJhY2tlci5zZXQnLCAnY2FtcGFpZ25Tb3VyY2UnLCAnbmctbWlhbScpO1xuICAgICAgZ2EoJ21faV9hX21fVHJhY2tlci5zZXQnLCAnY2FtcGFpZ25NZWRpdW0nLCB3aW5kb3cubG9jYXRpb24uaG9zdCk7XG4gICAgICBnYSgnbV9pX2FfbV9UcmFja2VyLnNldCcsICdmb3JjZVNTTCcsIHRydWUpO1xuICAgIGA7XG5cbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICBzY3JpcHQuaW5uZXJIVE1MID0gc2NyaXB0Q29udGVudDtcbiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gIH1cblxuICBpbmplY3RPcHRpbWl6ZShvcHRpbWl6ZUtleTogc3RyaW5nKSB7XG4gICAgaWYgKCFvcHRpbWl6ZUtleSB8fCBvcHRpbWl6ZUtleS5sZW5ndGggPCAwKSB7XG4gICAgICBjb25zb2xlLmluZm8oJ1tNaWFtXSBHb29nbGUgT3B0aW1pemUgbm90IGluaXRpYWxpemVkIChubyBrZXkpJywgb3B0aW1pemVLZXkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICBzY3JpcHQuc3JjID0gYGh0dHBzOi8vd3d3Lmdvb2dsZW9wdGltaXplLmNvbS9vcHRpbWl6ZS5qcz9pZD0ke29wdGltaXplS2V5fWA7XG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICB9XG59XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFN0Msc0dBQXNHO0FBQ3RHLHNHQUFzRztBQUN0RywyR0FBMkc7QUFDM0csbUNBQW1DO0FBQ25DLEVBQUU7QUFDRixnSEFBZ0g7QUFDaEgseUdBQXlHO0FBQ3pHLGtHQUFrRztBQUlsRyxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCO1FBRlEsaUJBQVksR0FBRyxLQUFLLENBQUM7SUFFZCxDQUFDO0lBRWhCLCtFQUErRTtJQUMvRSxJQUFJLENBQUMsS0FBYSxFQUFFLGNBQXNCLElBQUk7UUFDNUMsOEZBQThGO1FBQzlGLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUM7WUFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO1lBQ2pGLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxrREFBa0QsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6RSxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsNkVBQTZFO0lBQzdFLFNBQVMsQ0FBQyxNQUFjLEVBQUUsUUFBZ0IsSUFBSSxFQUFFLFFBQWdCLElBQUk7UUFDbEUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEQsTUFBTSxDQUFDLFNBQVMsR0FBRzs7OzBCQUdDLE1BQU07eUJBQ1AsS0FBSzt3QkFDTixLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxFQUFFOztPQUVqQyxDQUFDO1lBQ0YsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVc7UUFDbEIsTUFBTSxhQUFhLEdBQUc7Ozs7Ozs7Ozs7c0JBVUosR0FBRzs7Ozs7O0tBTXBCLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDO1FBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBbUI7UUFDaEMsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMxQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlEQUFpRCxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzdFLE9BQU87U0FDUjtRQUNELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsTUFBTSxDQUFDLEdBQUcsR0FBRyxpREFBaUQsV0FBVyxFQUFFLENBQUM7UUFDNUUsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7Z0ZBMUVVLGdCQUFnQjt3REFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQixtQkFGZixNQUFNO2tEQUVQLGdCQUFnQjtjQUg1QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RGbGFncyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi9lbnZpcm9ubWVudCc7XG5cbi8vIExvYWRpbmcgYSBzY3JpcHQgZGlyZWN0bHkgaW4gdGhlIERPTSBldmVyeSB0aW1lIGFuIGV2ZW50IGlzIHRyaWdnZXJlZCBpcyBwcm9iYWJseSBub3QgdGhlIGlkZWFsIHdheVxuLy8gb2YgaGFuZGxpbmcgaXQuIEhvd2V2ZXIsIGl0IHNlZW1zIHRvIGJlIHRoZSBvbmx5IHdheSB0byBtYWtlIHN1cmUgdGhlIGFuYWx5dGljcyBzY3JpcHQgZ2V0cyBsb2FkZWQsXG4vLyB0aGUgXCJnYVwiIGZ1bmN0aW9uIGRlZmluZWQgKGFuZCB1bHRpbWF0ZWx5LCBjYWxsZWQpLCBpbiB0aGUgYWN0dWFsIGNvbnRleHQgb2YgdGhlIGhvc3QgRE9NIHdoZXJlIHRoZSB3ZWJjXG4vLyBsaWJyYXJ5IGlzIGdvaW5nIHRvIGJlIGluamVjdGVkLlxuLy9cbi8vIEZvciBpbnN0YW5jZSwgaWYgdGhlIGxpYiBpcyBsb2FkZWQgaW4gYSB0aGlyZCBwYXJ0eSBhcHBsaWNhdGlvbnMgRE9NIGZyb20gYSBDaHJvbWUgZXh0ZW5zaW9ucyBjb250ZW50IHNjcmlwdCxcbi8vIGF0dGVtcHRzIGF0IGV4ZWN1dGluZyB0aGUgZ2EgZnVuY3Rpb24gZGlyZWN0bHkgaW4gdGhlIGNvbnRlbnQgc2NyaXB0IHdpbGwgZmFpbCBhcyB3ZSBjYW5ub3QgYWNjZXNzIHRoZVxuLy8gSmF2YXNjcmlwdCBjb250ZXh0IHdoZXJlIHRoZSBzY3JpcHQgZ290IGxvYWRlZCBpbiB0aGUgZmlyc3QgcGxhY2UgKFwid2luZG93XCIgb2JqZWN0IHdpbGwgZGlmZmVyKVxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQW5hbHl0aWNzU2VydmljZSB7XG4gIHByaXZhdGUgX2luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8vIExvYWQgR29vZ2xlIGFuYWx5dGljcyAmIG9wdGltaXplIHNjcmlwdHMgaW50byBob3N0IHBhZ2UgRE9NICYgY3JlYXRlIHRyYWNrZXJcbiAgaW5pdChnYUtleTogc3RyaW5nLCBvcHRpbWl6ZUtleTogc3RyaW5nID0gbnVsbCkge1xuICAgIC8vIHdlIGRvIG5vdCBoYXZlIHVhdCBvciBsb2NhbCBhbmFseXRpY2FsIHNlcnZpY2UsIGd1YXJkIGl0IGlmIHlvdSBhcmUgdXNpbmcgYSBub24gcHJvZCBzY3JpcHRcbiAgICBpZiAoIWVudmlyb25tZW50LmlzUHJvZCgpKXtcbiAgICAgIGNvbnNvbGUuaW5mbygnW01pYW1dIHlvdSBhcmUgbm90IGluIHByb2QsIGRvIG5vdCBpbml0aWFsaXplIGFuYWx5dGljYWwgc2VydmljZScpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghZ2FLZXkgfHwgZ2FLZXkubGVuZ3RoIDwgMCkge1xuICAgICAgY29uc29sZS5lcnJvcignW01pYW1dIENhbm5vdCBpbml0aWFsaXplIGFuYWx5dGljcyA6IGludmFsaWQga2V5JywgZ2FLZXkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaW5qZWN0R0EoZ2FLZXkpO1xuICAgIHRoaXMuaW5qZWN0T3B0aW1pemUob3B0aW1pemVLZXkpO1xuXG4gICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIGNvbnNvbGUubG9nKCdbTWlhbV0gSW5pdGlhbGl6ZSBhbmFseXRpY3MnLCBnYUtleSwgb3B0aW1pemVLZXkpO1xuICAgIHRoaXMuc2VuZEV2ZW50KCdsb2FkJyk7XG4gIH1cblxuICAvLyBBcHBlbmQgbmV3IHNjcmlwdCB0byB0aGUgRE9NIHNvIHRoZSBldmVudCBpcyBzZW50IGZyb20gdGhlIGNvcnJlY3QgY29udGV4dFxuICBzZW5kRXZlbnQoYWN0aW9uOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcgPSBudWxsLCB2YWx1ZTogbnVtYmVyID0gbnVsbCkge1xuICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBzY3JpcHQuaW5uZXJIVE1MID0gYFxcXG4gICAgICAgIGdhKCdtX2lfYV9tX1RyYWNrZXIuc2VuZCcsICdldmVudCcsIHtcbiAgICAgICAgICBldmVudENhdGVnb3J5OiAnbmctbWlhbScsXG4gICAgICAgICAgZXZlbnRBY3Rpb246ICcke2FjdGlvbn0nLFxuICAgICAgICAgIGV2ZW50TGFiZWw6ICcke2xhYmVsfScsXG4gICAgICAgICAgZXZlbnRWYWx1ZTogJHt2YWx1ZT8udG9GaXhlZCgpfVxuICAgICAgICB9KTtcbiAgICAgIGA7XG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgfVxuICB9XG5cbiAgaW5qZWN0R0Eoa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBzY3JpcHRDb250ZW50ID0gYFxuICAgICAgKGZ1bmN0aW9uKGksIHMsIG8sIGcsIHIsIGEsIG0pIHtcbiAgICAgICAgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpO1xuICAgICAgICB9LCBpW3JdLmwgPSAxICogbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIGEgPSBzLmNyZWF0ZUVsZW1lbnQobyksIG0gPSBzLmdldEVsZW1lbnRzQnlUYWdOYW1lKG8pWzBdO1xuICAgICAgICBhLmFzeW5jID0gMTtcbiAgICAgICAgYS5zcmMgPSBnO1xuICAgICAgICBtLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsIG0pO1xuICAgICAgfSkod2luZG93LCBkb2N1bWVudCwgJ3NjcmlwdCcsICdodHRwczovL3NzbC5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFseXRpY3MuanMnLCAnZ2EnKTtcbiAgICAgIGdhKCdjcmVhdGUnLCAnJHtrZXl9JywgJ25vbmUnLCAnbV9pX2FfbV9UcmFja2VyJyk7XG4gICAgICBnYSgnbV9pX2FfbV9UcmFja2VyLnNldCcsICdyZWZlcnJlcicsIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO1xuICAgICAgZ2EoJ21faV9hX21fVHJhY2tlci5zZXQnLCAnY2FtcGFpZ25OYW1lJywgJ25nLW1pYW0nKTtcbiAgICAgIGdhKCdtX2lfYV9tX1RyYWNrZXIuc2V0JywgJ2NhbXBhaWduU291cmNlJywgJ25nLW1pYW0nKTtcbiAgICAgIGdhKCdtX2lfYV9tX1RyYWNrZXIuc2V0JywgJ2NhbXBhaWduTWVkaXVtJywgd2luZG93LmxvY2F0aW9uLmhvc3QpO1xuICAgICAgZ2EoJ21faV9hX21fVHJhY2tlci5zZXQnLCAnZm9yY2VTU0wnLCB0cnVlKTtcbiAgICBgO1xuXG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgc2NyaXB0LmlubmVySFRNTCA9IHNjcmlwdENvbnRlbnQ7XG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICB9XG5cbiAgaW5qZWN0T3B0aW1pemUob3B0aW1pemVLZXk6IHN0cmluZykge1xuICAgIGlmICghb3B0aW1pemVLZXkgfHwgb3B0aW1pemVLZXkubGVuZ3RoIDwgMCkge1xuICAgICAgY29uc29sZS5pbmZvKCdbTWlhbV0gR29vZ2xlIE9wdGltaXplIG5vdCBpbml0aWFsaXplZCAobm8ga2V5KScsIG9wdGltaXplS2V5KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgc2NyaXB0LnNyYyA9IGBodHRwczovL3d3dy5nb29nbGVvcHRpbWl6ZS5jb20vb3B0aW1pemUuanM/aWQ9JHtvcHRpbWl6ZUtleX1gO1xuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgfVxufVxuIl19
@@ -72,8 +72,12 @@ export class BasketsService extends Service {
72
72
  // Send total in cents
73
73
  this.analyticsService.sendEvent('push-basket', null, (total * 100));
74
74
  }
75
+ // set basket as undefined as it because inconsistent while we reset the list. then wait for new one
76
+ this.basket$.next(undefined);
75
77
  return this.listsService.resetList();
76
- }), map(() => confirmedBasket));
78
+ }), switchMap(() => {
79
+ return this.basket$;
80
+ }), skipWhile((b) => !b), map(() => confirmedBasket));
77
81
  }
78
82
  basketEntries() {
79
83
  return this._entries$;
@@ -213,4 +217,4 @@ BasketsService.ɵprov = i0.ɵɵdefineInjectable({ token: BasketsService, factory
213
217
  providedIn: 'root'
214
218
  }]
215
219
  }], function () { return [{ type: i1.HttpClient }, { type: i2.BasketEntriesService }, { type: i3.GroceriesListsService }, { type: i4.GroceriesEntriesService }, { type: i5.PointOfSalesService }, { type: i6.RecipesService }, { type: i7.AnalyticsService }]; }, null); })();
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvYmFza2V0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBd0MsTUFBTSxhQUFhLENBQUM7QUFDNUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBYyxlQUFlLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsSUFBSSxDQUFDLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0s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LFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUNoQyxNQUFNO3lCQUNQO3dCQUNELE9BQU8sQ0FBQyxDQUFDOzRCQUNQLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUM5QixNQUFNO3lCQUNQO3FCQUNGO2lCQUNGO3FCQUFNO29CQUNMLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNsQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQTVPTSw4QkFBZSxHQUFHLEVBQUUsQ0FBQzs0RUFEakIsY0FBYztzREFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGYixNQUFNO2tEQUVQLGNBQWM7Y0FIMUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VydmljZSwgRG9jdW1lbnRDb2xsZWN0aW9uLCBEb2N1bWVudFJlc291cmNlIH0gZnJvbSAnbmd4LWpzb25hcGknO1xuaW1wb3J0IHsgQmFza2V0IH0gZnJvbSAnLi4vX21vZGVscy9iYXNrZXQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmb3JrSm9pbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNraXBXaGlsZSwgc3dpdGNoTWFwLCB0YXAsIG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCBhcyBlIH0gZnJvbSAnLi4vZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgQmFza2V0RW50cmllc1NlcnZpY2UgfSBmcm9tICcuL2Jhc2tldC1lbnRyaWVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JvY2VyaWVzTGlzdHNTZXJ2aWNlIH0gZnJvbSAnLi9ncm9jZXJpZXMtbGlzdHMuc2VydmljZSc7XG5pbXBvcnQgeyBQb2ludE9mU2FsZXNTZXJ2aWNlIH0gZnJvbSAnLi9wb2ludC1vZi1zYWxlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2tldFByZXZpZXdMaW5lLCBMaW5lRW50cmllcyB9IGZyb20gJy4uL19tb2RlbHMvYmFza2V0LXByZXZpZXctbGluZSc7XG5pbXBvcnQgeyBSZWNpcGVzU2VydmljZSB9IGZyb20gJy4vcmVjaXBlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gJy4uL19tb2RlbHMvcmVjaXBlJztcbmltcG9ydCB7IEdyb2Nlcmllc0VudHJpZXNTZXJ2aWNlIH0gZnJvbSAnLi9ncm9jZXJpZXMtZW50cmllcy5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2tldEVudHJ5IH0gZnJvbSAnLi4vX21vZGVscy9iYXNrZXQtZW50cnknO1xuaW1wb3J0IHsgdW5pb25CeSwgZmxhdHRlbiB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBHcm9jZXJpZXNFbnRyeSB9IGZyb20gJy4uL19tb2RlbHMvZ3JvY2VyaWVzLWVudHJ5JztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNrZXRTdGF0cyB7XG4gIHRvdGFsUHJpY2U6IG51bWJlcjtcbiAgcmVjaXBlc0NvdW50OiBudW1iZXI7XG4gIGVudHJpZXNDb3VudDogbnVtYmVyO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNrZXRzU2VydmljZSBleHRlbmRzIFNlcnZpY2U8QmFza2V0PiB7XG4gIHN0YXRpYyBlbnRyaWVzUGVyUGFnZXMgPSAzMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBiYXNrZXRFbnRyaWVzU2VydmljZTogQmFza2V0RW50cmllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBsaXN0c1NlcnZpY2U6IEdyb2Nlcmllc0xpc3RzU2VydmljZSxcbiAgICBwcml2YXRlIGdyb2Nlcmllc0VudHJpZXNTZXJ2aWNlOiBHcm9jZXJpZXNFbnRyaWVzU2VydmljZSxcbiAgICBwcml2YXRlIHBvc1NlcnZpY2U6IFBvaW50T2ZTYWxlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWNpcGVzU2VydmljZTogUmVjaXBlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yZWdpc3RlcigpO1xuICAgIHRoaXMubG9hZEJhc2tldCgpLnN1YnNjcmliZSgpO1xuICAgIHRoaXMubG9hZFByZXZpZXcoKTtcbiAgfVxuXG4gIHJlc291cmNlID0gQmFza2V0O1xuICB0eXBlID0gJ2Jhc2tldHMnO1xuICBiYXNrZXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCYXNrZXQ+KG51bGwpO1xuICBiYXNrZXRQcmV2aWV3JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QmFza2V0UHJldmlld0xpbmVbXT4obnVsbCk7XG4gIGJhc2tldFN0YXRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QmFza2V0U3RhdHM+KHsgdG90YWxQcmljZTogMCwgcmVjaXBlc0NvdW50OiAwLCBlbnRyaWVzQ291bnQ6IDAgfSk7XG5cbiAgcHJpdmF0ZSBfZW50cmllcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJhc2tldEVudHJ5W10+KFtdKTtcblxuICAvLyBGZXRjaCByZWxhdGVkIGJhc2tldHMsIGZpbHRlcmluZyBvbiBhIHBvaW50IG9mIHNhbGVcbiAgZmV0Y2hGb3JMaXN0QW5kUG9zKGxpc3RJZDogc3RyaW5nLCBwb3NJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxCYXNrZXQ+IHtcbiAgICBpZiAoIWxpc3RJZCB8fCAhcG9zSWQpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgbGV0IHVybCA9IFtlLm1pYW1BUEksICdhcGkvdjEvZ3JvY2VyaWVzLWxpc3RzJywgbGlzdElkLCAnYmFza2V0cyddLmpvaW4oJy8nKTtcbiAgICB1cmwgPSBgJHt1cmx9P2ZpbHRlcltwb2ludF9vZl9zYWxlX2lkXT0ke3Bvc0lkfWA7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXG4gICAgICBza2lwV2hpbGUoKHJlc3A6IERvY3VtZW50Q29sbGVjdGlvbjxCYXNrZXQ+KSA9PiByZXNwLmlzX2xvYWRpbmcpLFxuICAgICAgbWFwKChyZXNwOiBEb2N1bWVudENvbGxlY3Rpb248QmFza2V0PikgPT4ge1xuICAgICAgICBjb25zdCBiYXNrZXRzID0gdGhpcy5uZXdDb2xsZWN0aW9uKCk7XG4gICAgICAgIGJhc2tldHMuZmlsbChyZXNwKTtcbiAgICAgICAgcmV0dXJuIGJhc2tldHMuZGF0YVswXTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGxvYWRCYXNrZXQoKTogT2JzZXJ2YWJsZTxCYXNrZXQ+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5saXN0c1NlcnZpY2UubGlzdCQsIHRoaXMucG9zU2VydmljZS5wb3MkXSkucGlwZShcbiAgICAgIHNraXBXaGlsZShyZXN1bHRzID0+ICAhcmVzdWx0c1swXSB8fCAhcmVzdWx0c1sxXSksXG4gICAgICBzd2l0Y2hNYXAocmVzdWx0cyA9PiB0aGlzLmZldGNoRm9yTGlzdEFuZFBvcyhyZXN1bHRzWzBdLmlkLCByZXN1bHRzWzFdLmlkKSksXG4gICAgICB0YXAoYmFza2V0ID0+IHRoaXMuYmFza2V0JC5uZXh0KGJhc2tldCkpXG4gICAgKTtcbiAgfVxuXG4gIC8vIFNldCBiYXNrZXQgYXMgY29uZmlybWVkLCBhbmQgcmV0dXJucyBvbmx5IG9uY2UgdGhlIG5ldyBjdXJyZW50IGxpc3QgaXMgcmV0dXJuZWRcbiAgY29uZmlybUJhc2tldCgpOiBPYnNlcnZhYmxlPEJhc2tldD4ge1xuICAgIGxldCBjb25maXJtZWRCYXNrZXQ6IEJhc2tldDtcbiAgICByZXR1cm4gdGhpcy5iYXNrZXQkLnBpcGUoXG4gICAgICBza2lwV2hpbGUoYiA9PiAhYiksXG4gICAgICB0YWtlKDEpLFxuICAgICAgc3dpdGNoTWFwKGJhc2tldCA9PiB7XG4gICAgICAgIGJhc2tldC5hdHRyaWJ1dGVzLmNvbmZpcm1lZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBiYXNrZXQuc2F2ZSgpO1xuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKHJlc3A6IERvY3VtZW50UmVzb3VyY2U8QmFza2V0PikgPT4ge1xuICAgICAgICBjb25maXJtZWRCYXNrZXQgPSB0aGlzLm5ldygpO1xuICAgICAgICBjb25maXJtZWRCYXNrZXQuZmlsbChyZXNwKTtcbiAgICAgICAgY29uc3QgdG90YWwgPSBjb25maXJtZWRCYXNrZXQudG90YWxQcmljZTtcbiAgICAgICAgY29uc29sZS5sb2coJ1tNaWFtXSBzZW5kIHB1c2ggYW5hbHl0aWNzIGV2ZW50IGlmID4gMDonLCB0b3RhbCwgY29uZmlybWVkQmFza2V0KTtcbiAgICAgICAgaWYgKHRvdGFsID4gMCkge1xuICAgICAgICAgIC8vIFNlbmQgdG90YWwgaW4gY2VudHNcbiAgICAgICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2Uuc2VuZEV2ZW50KCdwdXNoLWJhc2tldCcsIG51bGwsICh0b3RhbCAqIDEwMCkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmxpc3RzU2VydmljZS5yZXNldExpc3QoKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKCgpID0+IGNvbmZpcm1lZEJhc2tldClcbiAgICApO1xuICB9XG5cbiAgYmFza2V0RW50cmllcygpOiBPYnNlcnZhYmxlPEJhc2tldEVudHJ5W10+IHtcbiAgICByZXR1cm4gdGhpcy5fZW50cmllcyQ7XG4gIH1cblxuICBhY3RpdmVCYXNrZXRFbnRyaWVzKCk6IE9ic2VydmFibGU8QmFza2V0RW50cnlbXT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2tldEVudHJpZXMoKS5waXBlKFxuICAgICAgbWFwKChlbnRyaWVzOiBCYXNrZXRFbnRyeVtdKSA9PiBlbnRyaWVzLmZpbHRlcihlbnRyeSA9PiBlbnRyeS5ncm9jZXJpZXNFbnRyeVN0YXR1cyA9PT0gJ2FjdGl2ZScpKVxuICAgICk7XG4gIH1cblxuICAvLyBEZWNyZWFzZSBxdWFudGl0eSBvbiBhIGxpc3Qgb2YgYmFza2V0IGVudHJpZXNcbiAgLy8gSWYgdGhlIHF1YW50aXR5IGdvZXMgYmVsb3cgMSwgdGhlIGNvcnJlc3BvbmRpbmcgZ3JvY2VyaWVzIGVudHJ5J3Mgc3RhdHVzIGdldHMgZGVsZXRlZFxuICAvLyBSZWxvYWQgYmFza2V0IGFmdGVyIGFsbCBvYmplY3RzIGFyZSBzYXZlZFxuICByZW1vdmVCYXNrZXRFbnRyaWVzKGVudHJpZXNUb1JlbW92ZTogeyBpZDogc3RyaW5nLCBxdHk6IG51bWJlciB9W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghdGhpcy5fZW50cmllcyQudmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzYXZlT2JzZXJ2YWJsZXM6IE9ic2VydmFibGU8R3JvY2VyaWVzRW50cnl8QmFza2V0RW50cnk+W10gPSBlbnRyaWVzVG9SZW1vdmUubWFwKGVudHJ5VG9SZW1vdmUgPT4ge1xuICAgICAgY29uc3QgYmFza2V0RW50cnkgPSB0aGlzLl9lbnRyaWVzJC52YWx1ZS5maW5kKGJlID0+IGJlLmlkID09PSBlbnRyeVRvUmVtb3ZlLmlkKTtcbiAgICAgIGlmICghYmFza2V0RW50cnkgfHwgIWVudHJ5VG9SZW1vdmUucXR5KSB7XG4gICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmluYWxDb3VudCA9IGJhc2tldEVudHJ5LnF1YW50aXR5IC0gZW50cnlUb1JlbW92ZS5xdHk7XG4gICAgICBpZiAoZmluYWxDb3VudCA+PSAxKSB7XG4gICAgICAgIGJhc2tldEVudHJ5LnF1YW50aXR5ID0gZmluYWxDb3VudDtcbiAgICAgICAgcmV0dXJuIGJhc2tldEVudHJ5LnNhdmUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJhc2tldEVudHJ5LnF1YW50aXR5ID0gMTtcbiAgICAgICAgYmFza2V0RW50cnkuZ3JvY2VyaWVzRW50cnkuc3RhdHVzID0gJ2RlbGV0ZWQnO1xuICAgICAgICByZXR1cm4gZm9ya0pvaW4oW2Jhc2tldEVudHJ5LnNhdmUoKSwgYmFza2V0RW50cnkuZ3JvY2VyaWVzRW50cnkuc2F2ZSgpXSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZm9ya0pvaW4oc2F2ZU9ic2VydmFibGVzKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMubGlzdHNTZXJ2aWNlLnJlZnJlc2hDdXJyZW50TGlzdCgpKSxcbiAgICAgIHRha2UoMSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkUHJldmlldygpOiBPYnNlcnZhYmxlPEJhc2tldFByZXZpZXdMaW5lW10+IHtcbiAgICB0aGlzLmJhc2tldCQucGlwZShcbiAgICAgIHNraXBXaGlsZShiID0+ICFiKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnJlY2lwZXNTZXJ2aWNlLmxvYWRSZWNpcGVzKCkpLFxuICAgICAgc3dpdGNoTWFwKHJlY2lwZXMgPT4ge1xuICAgICAgICBjb25zdCBiYXNrZXQ6IEJhc2tldCA9IHRoaXMuYmFza2V0JC52YWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hCYXNrZXRFbnRyaWVzKGJhc2tldCkucGlwZShcbiAgICAgICAgICBtYXAoZW50cmllcyA9PiB7XG4gICAgICAgICAgICBjb25zdCBsaW5lRW50cmllcyA9IHRoaXMuZ3JvdXBCYXNrZXRFbnRyaWVzKHJlY2lwZXMsIGVudHJpZXMpO1xuICAgICAgICAgICAgY29uc3QgbGluZXMgPSB0aGlzLnJlY2lwZXNBbmRMaW5lRW50cmllc1RvQmFza2V0UHJldmlld0xpbmUocmVjaXBlcywgbGluZUVudHJpZXMpO1xuICAgICAgICAgICAgdGhpcy5iYXNrZXRQcmV2aWV3JC5uZXh0KGxpbmVzKTtcbiAgICAgICAgICAgIHRoaXMuYmFza2V0U3RhdHMkLm5leHQodGhpcy5idWlsZFN0YXRzKGxpbmVzKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoKTtcblxuICAgIHJldHVybiB0aGlzLmJhc2tldFByZXZpZXckO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaEJhc2tldEVudHJpZXMoYmFza2V0OiBCYXNrZXQpOiBPYnNlcnZhYmxlPEJhc2tldEVudHJ5W10+IHtcbiAgICBpZiAoIWJhc2tldCB8fCAhYmFza2V0LmNvbXBsZXRpb24gfHwgYmFza2V0LmNvbXBsZXRpb24udG90YWwgPCAxKSB7XG4gICAgICB0aGlzLl9lbnRyaWVzJC5uZXh0KFtdKTtcbiAgICAgIHJldHVybiB0aGlzLl9lbnRyaWVzJDtcbiAgICB9XG5cbiAgICBjb25zdCBwYWdlc0NvdW50ID0gTWF0aC5jZWlsKGJhc2tldC5jb21wbGV0aW9uLnRvdGFsIC8gQmFza2V0c1NlcnZpY2UuZW50cmllc1BlclBhZ2VzKTtcbiAgICByZXR1cm4gZm9ya0pvaW4oQXJyYXkuYXBwbHkobnVsbCwgQXJyYXkocGFnZXNDb3VudCkpLm1hcCgodiwgaSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hCYXNrZXRFbnRyaWVzUGFnZShiYXNrZXQsIGkgKyAxKTtcbiAgICB9KSkucGlwZShcbiAgICAgIG1hcCgoY29sbGVjdGlvbnM6IERvY3VtZW50Q29sbGVjdGlvbjxCYXNrZXRFbnRyeT5bXSkgPT4ge1xuICAgICAgICBjb25zdCBlbnRyaWVzID0gZmxhdHRlbihjb2xsZWN0aW9ucy5tYXAoY29sID0+IGNvbC5kYXRhKSk7XG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlID0+IGUuc2V0SXRlbXNTZWxlY3Rpb24oKSk7XG4gICAgICAgIHRoaXMuX2VudHJpZXMkLm5leHQoZW50cmllcyk7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnRyaWVzJC52YWx1ZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRTdGF0cyhsaW5lczogQmFza2V0UHJldmlld0xpbmVbXSk6IEJhc2tldFN0YXRzIHtcbiAgICBjb25zdCBlbnRyaWVzRm91bmQ6IEJhc2tldEVudHJ5W10gPSB1bmlvbkJ5KC4uLiBsaW5lcy5tYXAobGluZSA9PiBsaW5lLmVudHJpZXMuZm91bmQpLCAnaWQnKTtcblxuICAgIGNvbnN0IHRvdGFsUHJpY2UgPSBlbnRyaWVzRm91bmQucmVkdWNlKCh0b3RhbCAsIGVudHJ5KSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0gZW50cnkuYXR0cmlidXRlc1snYmFza2V0LWVudHJpZXMtaXRlbXMnXS5maW5kKGkgPT4gaS5pdGVtX2lkID09PSBlbnRyeS5hdHRyaWJ1dGVzWydzZWxlY3RlZC1pdGVtLWlkJ10pO1xuICAgICAgdG90YWwgKz0gIChlbnRyeS5hdHRyaWJ1dGVzLnF1YW50aXR5IHx8IDApICogcGFyc2VGbG9hdChpdGVtWyd1bml0LXByaWNlJ10pO1xuICAgICAgcmV0dXJuIHRvdGFsO1xuICAgIH0sIDAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICByZWNpcGVzQ291bnQ6IGxpbmVzLmxlbmd0aCxcbiAgICAgIGVudHJpZXNDb3VudDogZW50cmllc0ZvdW5kLmxlbmd0aCxcbiAgICAgIHRvdGFsUHJpY2VcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaEJhc2tldEVudHJpZXNQYWdlKGJhc2tldDogQmFza2V0LCBwYWdlOiBudW1iZXIpIHtcbiAgICBsZXQgdXJsID0gW2UubWlhbUFQSSwgJ2FwaS92MS9iYXNrZXRzJywgYmFza2V0LmlkLCAnYmFza2V0LWVudHJpZXMnXS5qb2luKCcvJyk7XG4gICAgdXJsID0gYCR7dXJsfT9pbmNsdWRlPWdyb2Nlcmllcy1lbnRyeSxpdGVtcyZwYWdlW251bWJlcl09JHtwYWdlfSZwYWdlW3NpemVdPSR7QmFza2V0c1NlcnZpY2UuZW50cmllc1BlclBhZ2VzfWA7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXG4gICAgICBza2lwV2hpbGUoKHJlc3A6IERvY3VtZW50Q29sbGVjdGlvbjxCYXNrZXRFbnRyeT4pID0+IHJlc3AuaXNfbG9hZGluZyksXG4gICAgICBtYXAoKHJlc3A6IERvY3VtZW50Q29sbGVjdGlvbjxCYXNrZXRFbnRyeT4pID0+IHtcbiAgICAgICAgY29uc3QgYmFza2V0RW50cmllcyA9IHRoaXMuYmFza2V0RW50cmllc1NlcnZpY2UubmV3Q29sbGVjdGlvbigpO1xuICAgICAgICBiYXNrZXRFbnRyaWVzLmZpbGwocmVzcCk7XG4gICAgICAgIHJldHVybiBiYXNrZXRFbnRyaWVzO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWNpcGVzQW5kTGluZUVudHJpZXNUb0Jhc2tldFByZXZpZXdMaW5lKHJlY2lwZXM6IFJlY2lwZVtdLCBsaW5lRW50cmllczogTGluZUVudHJpZXNbXSk6IEJhc2tldFByZXZpZXdMaW5lW10ge1xuICAgIHJldHVybiByZWNpcGVzLm1hcCgocmVjaXBlLCBpZHgpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW1zQ291bnQgPSBsaW5lRW50cmllc1tpZHhdLmZvdW5kLmxlbmd0aDtcbiAgICAgIGxldCByZWNpcGVQcmljZSA9IDAuMDtcbiAgICAgIGNvbnN0IGd1ZXN0cyA9IHJlY2lwZS5tb2RpZmllZEd1ZXN0cyB8fCBwYXJzZUludChyZWNpcGUuZ3Vlc3RzLCAxMCk7XG5cbiAgICAgIGxpbmVFbnRyaWVzW2lkeF0uZm91bmQuZm9yRWFjaChlbnRyeSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IGVudHJ5LmF0dHJpYnV0ZXNbJ2Jhc2tldC1lbnRyaWVzLWl0ZW1zJ10uZmluZChpdGVtID0+IHtcbiAgICAgICAgICByZXR1cm4gaXRlbS5pdGVtX2lkID09PSBlbnRyeS5hdHRyaWJ1dGVzWydzZWxlY3RlZC1pdGVtLWlkJ107XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBxdHkgPSBlbnRyeS5hdHRyaWJ1dGVzLnF1YW50aXR5O1xuICAgICAgICBjb25zdCB1bml0UHJpY2UgPSBwYXJzZUZsb2F0KHNlbGVjdGVkSXRlbVsndW5pdC1wcmljZSddKTtcbiAgICAgICAgY29uc3QgbnVtYmVyT2ZSZWNpcGVzRm9yRW50cnkgPSBlbnRyeS5hdHRyaWJ1dGVzWydyZWNpcGUtaWRzJ10ubGVuZ3RoIHx8IDE7XG5cbiAgICAgICAgcmVjaXBlUHJpY2UgKz0gKHF0eSAqIHVuaXRQcmljZSkgLyBudW1iZXJPZlJlY2lwZXNGb3JFbnRyeTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgcHJpY2VQZXJHdWVzdCA9IHJlY2lwZVByaWNlIC8gZ3Vlc3RzO1xuXG4gICAgICByZXR1cm4gQmFza2V0UHJldmlld0xpbmUuZnJvbVJlY2lwZShyZWNpcGUsIGl0ZW1zQ291bnQsIHByaWNlUGVyR3Vlc3QsIHJlY2lwZVByaWNlLCBsaW5lRW50cmllc1tpZHhdKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ3JvdXBCYXNrZXRFbnRyaWVzKHJlY2lwZXM6IFJlY2lwZVtdLCBlbnRyaWVzOiBCYXNrZXRFbnRyeVtdKTogTGluZUVudHJpZXNbXSB7XG4gICAgcmV0dXJuIHJlY2lwZXMubWFwKHJlY2lwZSA9PiB7XG4gICAgICBjb25zdCBsaW5lRW50cmllcyA9IHsgZm91bmQ6IFtdLCBub3RGb3VuZDogW10sIG9mdGVuRGVsZXRlZDogW10sIHJlbW92ZWQ6IFtdIH0gYXMgTGluZUVudHJpZXM7XG4gICAgICBlbnRyaWVzXG4gICAgICAgIC5maWx0ZXIoZW50cnkgPT4gZW50cnkuYXR0cmlidXRlc1sncmVjaXBlLWlkcyddLmluY2x1ZGVzKHBhcnNlSW50KHJlY2lwZS5pZCwgMTApKSlcbiAgICAgICAgLmZvckVhY2goZW50cnkgPT4ge1xuICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZSA9IGVudHJ5LmF0dHJpYnV0ZXNbJ3NlbGVjdGVkLWl0ZW0taWQnXTtcbiAgICAgICAgICBpZiAoYXZhaWxhYmxlKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGVudHJ5LmF0dHJpYnV0ZXNbJ2dyb2Nlcmllcy1lbnRyeS1zdGF0dXMnXSkge1xuICAgICAgICAgICAgICBjYXNlICdvZnRlbl9kZWxldGVkJzoge1xuICAgICAgICAgICAgICAgIGxpbmVFbnRyaWVzLm9mdGVuRGVsZXRlZC5wdXNoKGVudHJ5KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjYXNlICdkZWxldGVkJzoge1xuICAgICAgICAgICAgICAgIGxpbmVFbnRyaWVzLnJlbW92ZWQucHVzaChlbnRyeSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIGxpbmVFbnRyaWVzLmZvdW5kLnB1c2goZW50cnkpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpbmVFbnRyaWVzLm5vdEZvdW5kLnB1c2goZW50cnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gbGluZUVudHJpZXM7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvYmFza2V0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBd0MsTUFBTSxhQUFhLENBQUM7QUFDNUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBYyxlQUFlLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsSUFBSSxDQUFDLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0s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SUFBSSxTQUFTLEVBQUU7b0JBQ2IsUUFBUSxLQUFLLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLEVBQUU7d0JBQ2xELEtBQUssZUFBZSxDQUFDLENBQUM7NEJBQ3BCLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUNyQyxNQUFNO3lCQUNQO3dCQUNELEtBQUssU0FBUyxDQUFDLENBQUM7NEJBQ2QsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7NEJBQ2hDLE1BQU07eUJBQ1A7d0JBQ0QsT0FBTyxDQUFDLENBQUM7NEJBQ1AsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7NEJBQzlCLE1BQU07eUJBQ1A7cUJBQ0Y7aUJBQ0Y7cUJBQU07b0JBQ0wsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBblBNLDhCQUFlLEdBQUcsRUFBRSxDQUFDOzRFQURqQixjQUFjO3NEQUFkLGNBQWMsV0FBZCxjQUFjLG1CQUZiLE1BQU07a0RBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXJ2aWNlLCBEb2N1bWVudENvbGxlY3Rpb24sIERvY3VtZW50UmVzb3VyY2UgfSBmcm9tICduZ3gtanNvbmFwaSc7XG5pbXBvcnQgeyBCYXNrZXQgfSBmcm9tICcuLi9fbW9kZWxzL2Jhc2tldCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZvcmtKb2luLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2tpcFdoaWxlLCBzd2l0Y2hNYXAsIHRhcCwgbWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGVudmlyb25tZW50IGFzIGUgfSBmcm9tICcuLi9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBCYXNrZXRFbnRyaWVzU2VydmljZSB9IGZyb20gJy4vYmFza2V0LWVudHJpZXMuc2VydmljZSc7XG5pbXBvcnQgeyBHcm9jZXJpZXNMaXN0c1NlcnZpY2UgfSBmcm9tICcuL2dyb2Nlcmllcy1saXN0cy5zZXJ2aWNlJztcbmltcG9ydCB7IFBvaW50T2ZTYWxlc1NlcnZpY2UgfSBmcm9tICcuL3BvaW50LW9mLXNhbGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFza2V0UHJldmlld0xpbmUsIExpbmVFbnRyaWVzIH0gZnJvbSAnLi4vX21vZGVscy9iYXNrZXQtcHJldmlldy1saW5lJztcbmltcG9ydCB7IFJlY2lwZXNTZXJ2aWNlIH0gZnJvbSAnLi9yZWNpcGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlIH0gZnJvbSAnLi4vX21vZGVscy9yZWNpcGUnO1xuaW1wb3J0IHsgR3JvY2VyaWVzRW50cmllc1NlcnZpY2UgfSBmcm9tICcuL2dyb2Nlcmllcy1lbnRyaWVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFza2V0RW50cnkgfSBmcm9tICcuLi9fbW9kZWxzL2Jhc2tldC1lbnRyeSc7XG5pbXBvcnQgeyB1bmlvbkJ5LCBmbGF0dGVuIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IEdyb2Nlcmllc0VudHJ5IH0gZnJvbSAnLi4vX21vZGVscy9ncm9jZXJpZXMtZW50cnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2tldFN0YXRzIHtcbiAgdG90YWxQcmljZTogbnVtYmVyO1xuICByZWNpcGVzQ291bnQ6IG51bWJlcjtcbiAgZW50cmllc0NvdW50OiBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhc2tldHNTZXJ2aWNlIGV4dGVuZHMgU2VydmljZTxCYXNrZXQ+IHtcbiAgc3RhdGljIGVudHJpZXNQZXJQYWdlcyA9IDMwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGJhc2tldEVudHJpZXNTZXJ2aWNlOiBCYXNrZXRFbnRyaWVzU2VydmljZSxcbiAgICBwcml2YXRlIGxpc3RzU2VydmljZTogR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ3JvY2VyaWVzRW50cmllc1NlcnZpY2U6IEdyb2Nlcmllc0VudHJpZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwcml2YXRlIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgdGhpcy5sb2FkQmFza2V0KCkuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5sb2FkUHJldmlldygpO1xuICB9XG5cbiAgcmVzb3VyY2UgPSBCYXNrZXQ7XG4gIHR5cGUgPSAnYmFza2V0cyc7XG4gIGJhc2tldCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJhc2tldD4obnVsbCk7XG4gIGJhc2tldFByZXZpZXckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCYXNrZXRQcmV2aWV3TGluZVtdPihudWxsKTtcbiAgYmFza2V0U3RhdHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCYXNrZXRTdGF0cz4oeyB0b3RhbFByaWNlOiAwLCByZWNpcGVzQ291bnQ6IDAsIGVudHJpZXNDb3VudDogMCB9KTtcblxuICBwcml2YXRlIF9lbnRyaWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QmFza2V0RW50cnlbXT4oW10pO1xuXG4gIC8vIEZldGNoIHJlbGF0ZWQgYmFza2V0cywgZmlsdGVyaW5nIG9uIGEgcG9pbnQgb2Ygc2FsZVxuICBmZXRjaEZvckxpc3RBbmRQb3MobGlzdElkOiBzdHJpbmcsIHBvc0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEJhc2tldD4ge1xuICAgIGlmICghbGlzdElkIHx8ICFwb3NJZCkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICBsZXQgdXJsID0gW2UubWlhbUFQSSwgJ2FwaS92MS9ncm9jZXJpZXMtbGlzdHMnLCBsaXN0SWQsICdiYXNrZXRzJ10uam9pbignLycpO1xuICAgIHVybCA9IGAke3VybH0/ZmlsdGVyW3BvaW50X29mX3NhbGVfaWRdPSR7cG9zSWR9YDtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkucGlwZShcbiAgICAgIHNraXBXaGlsZSgocmVzcDogRG9jdW1lbnRDb2xsZWN0aW9uPEJhc2tldD4pID0+IHJlc3AuaXNfbG9hZGluZyksXG4gICAgICBtYXAoKHJlc3A6IERvY3VtZW50Q29sbGVjdGlvbjxCYXNrZXQ+KSA9PiB7XG4gICAgICAgIGNvbnN0IGJhc2tldHMgPSB0aGlzLm5ld0NvbGxlY3Rpb24oKTtcbiAgICAgICAgYmFza2V0cy5maWxsKHJlc3ApO1xuICAgICAgICByZXR1cm4gYmFza2V0cy5kYXRhWzBdO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbG9hZEJhc2tldCgpOiBPYnNlcnZhYmxlPEJhc2tldD4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLmxpc3RzU2VydmljZS5saXN0JCwgdGhpcy5wb3NTZXJ2aWNlLnBvcyRdKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKHJlc3VsdHMgPT4gICFyZXN1bHRzWzBdIHx8ICFyZXN1bHRzWzFdKSxcbiAgICAgIHN3aXRjaE1hcChyZXN1bHRzID0+IHRoaXMuZmV0Y2hGb3JMaXN0QW5kUG9zKHJlc3VsdHNbMF0uaWQsIHJlc3VsdHNbMV0uaWQpKSxcbiAgICAgIHRhcChiYXNrZXQgPT4gdGhpcy5iYXNrZXQkLm5leHQoYmFza2V0KSlcbiAgICApO1xuICB9XG5cbiAgLy8gU2V0IGJhc2tldCBhcyBjb25maXJtZWQsIGFuZCByZXR1cm5zIG9ubHkgb25jZSB0aGUgbmV3IGN1cnJlbnQgbGlzdCBpcyByZXR1cm5lZFxuICBjb25maXJtQmFza2V0KCk6IE9ic2VydmFibGU8QmFza2V0PiB7XG4gICAgbGV0IGNvbmZpcm1lZEJhc2tldDogQmFza2V0O1xuICAgIHJldHVybiB0aGlzLmJhc2tldCQucGlwZShcbiAgICAgIHNraXBXaGlsZShiID0+ICFiKSxcbiAgICAgIHRha2UoMSksXG4gICAgICBzd2l0Y2hNYXAoYmFza2V0ID0+IHtcbiAgICAgICAgYmFza2V0LmF0dHJpYnV0ZXMuY29uZmlybWVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGJhc2tldC5zYXZlKCk7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgocmVzcDogRG9jdW1lbnRSZXNvdXJjZTxCYXNrZXQ+KSA9PiB7XG4gICAgICAgIGNvbmZpcm1lZEJhc2tldCA9IHRoaXMubmV3KCk7XG4gICAgICAgIGNvbmZpcm1lZEJhc2tldC5maWxsKHJlc3ApO1xuICAgICAgICBjb25zdCB0b3RhbCA9IGNvbmZpcm1lZEJhc2tldC50b3RhbFByaWNlO1xuICAgICAgICBjb25zb2xlLmxvZygnW01pYW1dIHNlbmQgcHVzaCBhbmFseXRpY3MgZXZlbnQgaWYgPiAwOicsIHRvdGFsLCBjb25maXJtZWRCYXNrZXQpO1xuICAgICAgICBpZiAodG90YWwgPiAwKSB7XG4gICAgICAgICAgLy8gU2VuZCB0b3RhbCBpbiBjZW50c1xuICAgICAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5zZW5kRXZlbnQoJ3B1c2gtYmFza2V0JywgbnVsbCwgKHRvdGFsICogMTAwKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gc2V0IGJhc2tldCBhcyB1bmRlZmluZWQgYXMgaXQgYmVjYXVzZSBpbmNvbnNpc3RlbnQgd2hpbGUgd2UgcmVzZXQgdGhlIGxpc3QuIHRoZW4gd2FpdCBmb3IgbmV3IG9uZVxuICAgICAgICB0aGlzLmJhc2tldCQubmV4dCh1bmRlZmluZWQpXG4gICAgICAgIHJldHVybiB0aGlzLmxpc3RzU2VydmljZS5yZXNldExpc3QoKTtcbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFza2V0JFxuICAgICAgfVxuICAgICAgKSxcbiAgICAgIHNraXBXaGlsZSgoYikgPT4gIWIpLFxuICAgICAgbWFwKCgpID0+IGNvbmZpcm1lZEJhc2tldClcbiAgICApO1xuICB9XG5cbiAgYmFza2V0RW50cmllcygpOiBPYnNlcnZhYmxlPEJhc2tldEVudHJ5W10+IHtcbiAgICByZXR1cm4gdGhpcy5fZW50cmllcyQ7XG4gIH1cblxuICBhY3RpdmVCYXNrZXRFbnRyaWVzKCk6IE9ic2VydmFibGU8QmFza2V0RW50cnlbXT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2tldEVudHJpZXMoKS5waXBlKFxuICAgICAgbWFwKChlbnRyaWVzOiBCYXNrZXRFbnRyeVtdKSA9PiBlbnRyaWVzLmZpbHRlcihlbnRyeSA9PiBlbnRyeS5ncm9jZXJpZXNFbnRyeVN0YXR1cyA9PT0gJ2FjdGl2ZScpKVxuICAgICk7XG4gIH1cblxuICAvLyBEZWNyZWFzZSBxdWFudGl0eSBvbiBhIGxpc3Qgb2YgYmFza2V0IGVudHJpZXNcbiAgLy8gSWYgdGhlIHF1YW50aXR5IGdvZXMgYmVsb3cgMSwgdGhlIGNvcnJlc3BvbmRpbmcgZ3JvY2VyaWVzIGVudHJ5J3Mgc3RhdHVzIGdldHMgZGVsZXRlZFxuICAvLyBSZWxvYWQgYmFza2V0IGFmdGVyIGFsbCBvYmplY3RzIGFyZSBzYXZlZFxuICByZW1vdmVCYXNrZXRFbnRyaWVzKGVudHJpZXNUb1JlbW92ZTogeyBpZDogc3RyaW5nLCBxdHk6IG51bWJlciB9W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghdGhpcy5fZW50cmllcyQudmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzYXZlT2JzZXJ2YWJsZXM6IE9ic2VydmFibGU8R3JvY2VyaWVzRW50cnl8QmFza2V0RW50cnk+W10gPSBlbnRyaWVzVG9SZW1vdmUubWFwKGVudHJ5VG9SZW1vdmUgPT4ge1xuICAgICAgY29uc3QgYmFza2V0RW50cnkgPSB0aGlzLl9lbnRyaWVzJC52YWx1ZS5maW5kKGJlID0+IGJlLmlkID09PSBlbnRyeVRvUmVtb3ZlLmlkKTtcbiAgICAgIGlmICghYmFza2V0RW50cnkgfHwgIWVudHJ5VG9SZW1vdmUucXR5KSB7XG4gICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmluYWxDb3VudCA9IGJhc2tldEVudHJ5LnF1YW50aXR5IC0gZW50cnlUb1JlbW92ZS5xdHk7XG4gICAgICBpZiAoZmluYWxDb3VudCA+PSAxKSB7XG4gICAgICAgIGJhc2tldEVudHJ5LnF1YW50aXR5ID0gZmluYWxDb3VudDtcbiAgICAgICAgcmV0dXJuIGJhc2tldEVudHJ5LnNhdmUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJhc2tldEVudHJ5LnF1YW50aXR5ID0gMTtcbiAgICAgICAgYmFza2V0RW50cnkuZ3JvY2VyaWVzRW50cnkuc3RhdHVzID0gJ2RlbGV0ZWQnO1xuICAgICAgICByZXR1cm4gZm9ya0pvaW4oW2Jhc2tldEVudHJ5LnNhdmUoKSwgYmFza2V0RW50cnkuZ3JvY2VyaWVzRW50cnkuc2F2ZSgpXSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZm9ya0pvaW4oc2F2ZU9ic2VydmFibGVzKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMubGlzdHNTZXJ2aWNlLnJlZnJlc2hDdXJyZW50TGlzdCgpKSxcbiAgICAgIHRha2UoMSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkUHJldmlldygpOiBPYnNlcnZhYmxlPEJhc2tldFByZXZpZXdMaW5lW10+IHtcbiAgICB0aGlzLmJhc2tldCQucGlwZShcbiAgICAgIHNraXBXaGlsZShiID0+ICFiKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnJlY2lwZXNTZXJ2aWNlLmxvYWRSZWNpcGVzKCkpLFxuICAgICAgc3dpdGNoTWFwKHJlY2lwZXMgPT4ge1xuICAgICAgICBjb25zdCBiYXNrZXQ6IEJhc2tldCA9IHRoaXMuYmFza2V0JC52YWx1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hCYXNrZXRFbnRyaWVzKGJhc2tldCkucGlwZShcbiAgICAgICAgICBtYXAoZW50cmllcyA9PiB7XG4gICAgICAgICAgICBjb25zdCBsaW5lRW50cmllcyA9IHRoaXMuZ3JvdXBCYXNrZXRFbnRyaWVzKHJlY2lwZXMsIGVudHJpZXMpO1xuICAgICAgICAgICAgY29uc3QgbGluZXMgPSB0aGlzLnJlY2lwZXNBbmRMaW5lRW50cmllc1RvQmFza2V0UHJldmlld0xpbmUocmVjaXBlcywgbGluZUVudHJpZXMpO1xuICAgICAgICAgICAgdGhpcy5iYXNrZXRQcmV2aWV3JC5uZXh0KGxpbmVzKTtcbiAgICAgICAgICAgIHRoaXMuYmFza2V0U3RhdHMkLm5leHQodGhpcy5idWlsZFN0YXRzKGxpbmVzKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoKTtcblxuICAgIHJldHVybiB0aGlzLmJhc2tldFByZXZpZXckO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaEJhc2tldEVudHJpZXMoYmFza2V0OiBCYXNrZXQpOiBPYnNlcnZhYmxlPEJhc2tldEVudHJ5W10+IHtcbiAgICBpZiAoIWJhc2tldCB8fCAhYmFza2V0LmNvbXBsZXRpb24gfHwgYmFza2V0LmNvbXBsZXRpb24udG90YWwgPCAxKSB7XG4gICAgICB0aGlzLl9lbnRyaWVzJC5uZXh0KFtdKTtcbiAgICAgIHJldHVybiB0aGlzLl9lbnRyaWVzJDtcbiAgICB9XG5cbiAgICBjb25zdCBwYWdlc0NvdW50ID0gTWF0aC5jZWlsKGJhc2tldC5jb21wbGV0aW9uLnRvdGFsIC8gQmFza2V0c1NlcnZpY2UuZW50cmllc1BlclBhZ2VzKTtcbiAgICByZXR1cm4gZm9ya0pvaW4oQXJyYXkuYXBwbHkobnVsbCwgQXJyYXkocGFnZXNDb3VudCkpLm1hcCgodiwgaSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hCYXNrZXRFbnRyaWVzUGFnZShiYXNrZXQsIGkgKyAxKTtcbiAgICB9KSkucGlwZShcbiAgICAgIG1hcCgoY29sbGVjdGlvbnM6IERvY3VtZW50Q29sbGVjdGlvbjxCYXNrZXRFbnRyeT5bXSkgPT4ge1xuICAgICAgICBjb25zdCBlbnRyaWVzID0gZmxhdHRlbihjb2xsZWN0aW9ucy5tYXAoY29sID0+IGNvbC5kYXRhKSk7XG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlID0+IGUuc2V0SXRlbXNTZWxlY3Rpb24oKSk7XG4gICAgICAgIHRoaXMuX2VudHJpZXMkLm5leHQoZW50cmllcyk7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnRyaWVzJC52YWx1ZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRTdGF0cyhsaW5lczogQmFza2V0UHJldmlld0xpbmVbXSk6IEJhc2tldFN0YXRzIHtcbiAgICBjb25zdCBlbnRyaWVzRm91bmQ6IEJhc2tldEVudHJ5W10gPSB1bmlvbkJ5KC4uLiBsaW5lcy5tYXAobGluZSA9PiBsaW5lLmVudHJpZXMuZm91bmQpLCAnaWQnKTtcblxuICAgIGNvbnN0IHRvdGFsUHJpY2UgPSBlbnRyaWVzRm91bmQucmVkdWNlKCh0b3RhbCAsIGVudHJ5KSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0gZW50cnkuYXR0cmlidXRlc1snYmFza2V0LWVudHJpZXMtaXRlbXMnXS5maW5kKGkgPT4gaS5pdGVtX2lkID09PSBlbnRyeS5hdHRyaWJ1dGVzWydzZWxlY3RlZC1pdGVtLWlkJ10pO1xuICAgICAgdG90YWwgKz0gIChlbnRyeS5hdHRyaWJ1dGVzLnF1YW50aXR5IHx8IDApICogcGFyc2VGbG9hdChpdGVtWyd1bml0LXByaWNlJ10pO1xuICAgICAgcmV0dXJuIHRvdGFsO1xuICAgIH0sIDAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICByZWNpcGVzQ291bnQ6IGxpbmVzLmxlbmd0aCxcbiAgICAgIGVudHJpZXNDb3VudDogZW50cmllc0ZvdW5kLmxlbmd0aCxcbiAgICAgIHRvdGFsUHJpY2VcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaEJhc2tldEVudHJpZXNQYWdlKGJhc2tldDogQmFza2V0LCBwYWdlOiBudW1iZXIpIHtcbiAgICBsZXQgdXJsID0gW2UubWlhbUFQSSwgJ2FwaS92MS9iYXNrZXRzJywgYmFza2V0LmlkLCAnYmFza2V0LWVudHJpZXMnXS5qb2luKCcvJyk7XG4gICAgdXJsID0gYCR7dXJsfT9pbmNsdWRlPWdyb2Nlcmllcy1lbnRyeSxpdGVtcyZwYWdlW251bWJlcl09JHtwYWdlfSZwYWdlW3NpemVdPSR7QmFza2V0c1NlcnZpY2UuZW50cmllc1BlclBhZ2VzfWA7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpLnBpcGUoXG4gICAgICBza2lwV2hpbGUoKHJlc3A6IERvY3VtZW50Q29sbGVjdGlvbjxCYXNrZXRFbnRyeT4pID0+IHJlc3AuaXNfbG9hZGluZyksXG4gICAgICBtYXAoKHJlc3A6IERvY3VtZW50Q29sbGVjdGlvbjxCYXNrZXRFbnRyeT4pID0+IHtcbiAgICAgICAgY29uc3QgYmFza2V0RW50cmllcyA9IHRoaXMuYmFza2V0RW50cmllc1NlcnZpY2UubmV3Q29sbGVjdGlvbigpO1xuICAgICAgICBiYXNrZXRFbnRyaWVzLmZpbGwocmVzcCk7XG4gICAgICAgIHJldHVybiBiYXNrZXRFbnRyaWVzO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWNpcGVzQW5kTGluZUVudHJpZXNUb0Jhc2tldFByZXZpZXdMaW5lKHJlY2lwZXM6IFJlY2lwZVtdLCBsaW5lRW50cmllczogTGluZUVudHJpZXNbXSk6IEJhc2tldFByZXZpZXdMaW5lW10ge1xuICAgIHJldHVybiByZWNpcGVzLm1hcCgocmVjaXBlLCBpZHgpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW1zQ291bnQgPSBsaW5lRW50cmllc1tpZHhdLmZvdW5kLmxlbmd0aDtcbiAgICAgIGxldCByZWNpcGVQcmljZSA9IDAuMDtcbiAgICAgIGNvbnN0IGd1ZXN0cyA9IHJlY2lwZS5tb2RpZmllZEd1ZXN0cyB8fCBwYXJzZUludChyZWNpcGUuZ3Vlc3RzLCAxMCk7XG5cbiAgICAgIGxpbmVFbnRyaWVzW2lkeF0uZm91bmQuZm9yRWFjaChlbnRyeSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IGVudHJ5LmF0dHJpYnV0ZXNbJ2Jhc2tldC1lbnRyaWVzLWl0ZW1zJ10uZmluZChpdGVtID0+IHtcbiAgICAgICAgICByZXR1cm4gaXRlbS5pdGVtX2lkID09PSBlbnRyeS5hdHRyaWJ1dGVzWydzZWxlY3RlZC1pdGVtLWlkJ107XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBxdHkgPSBlbnRyeS5hdHRyaWJ1dGVzLnF1YW50aXR5O1xuICAgICAgICBjb25zdCB1bml0UHJpY2UgPSBwYXJzZUZsb2F0KHNlbGVjdGVkSXRlbVsndW5pdC1wcmljZSddKTtcbiAgICAgICAgY29uc3QgbnVtYmVyT2ZSZWNpcGVzRm9yRW50cnkgPSBlbnRyeS5hdHRyaWJ1dGVzWydyZWNpcGUtaWRzJ10ubGVuZ3RoIHx8IDE7XG5cbiAgICAgICAgcmVjaXBlUHJpY2UgKz0gKHF0eSAqIHVuaXRQcmljZSkgLyBudW1iZXJPZlJlY2lwZXNGb3JFbnRyeTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgcHJpY2VQZXJHdWVzdCA9IHJlY2lwZVByaWNlIC8gZ3Vlc3RzO1xuXG4gICAgICByZXR1cm4gQmFza2V0UHJldmlld0xpbmUuZnJvbVJlY2lwZShyZWNpcGUsIGl0ZW1zQ291bnQsIHByaWNlUGVyR3Vlc3QsIHJlY2lwZVByaWNlLCBsaW5lRW50cmllc1tpZHhdKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ3JvdXBCYXNrZXRFbnRyaWVzKHJlY2lwZXM6IFJlY2lwZVtdLCBlbnRyaWVzOiBCYXNrZXRFbnRyeVtdKTogTGluZUVudHJpZXNbXSB7XG4gICAgcmV0dXJuIHJlY2lwZXMubWFwKHJlY2lwZSA9PiB7XG4gICAgICBjb25zdCBsaW5lRW50cmllcyA9IHsgZm91bmQ6IFtdLCBub3RGb3VuZDogW10sIG9mdGVuRGVsZXRlZDogW10sIHJlbW92ZWQ6IFtdIH0gYXMgTGluZUVudHJpZXM7XG4gICAgICBlbnRyaWVzXG4gICAgICAgIC5maWx0ZXIoZW50cnkgPT4gZW50cnkuYXR0cmlidXRlc1sncmVjaXBlLWlkcyddLmluY2x1ZGVzKHBhcnNlSW50KHJlY2lwZS5pZCwgMTApKSlcbiAgICAgICAgLmZvckVhY2goZW50cnkgPT4ge1xuICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZSA9IGVudHJ5LmF0dHJpYnV0ZXNbJ3NlbGVjdGVkLWl0ZW0taWQnXTtcbiAgICAgICAgICBpZiAoYXZhaWxhYmxlKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGVudHJ5LmF0dHJpYnV0ZXNbJ2dyb2Nlcmllcy1lbnRyeS1zdGF0dXMnXSkge1xuICAgICAgICAgICAgICBjYXNlICdvZnRlbl9kZWxldGVkJzoge1xuICAgICAgICAgICAgICAgIGxpbmVFbnRyaWVzLm9mdGVuRGVsZXRlZC5wdXNoKGVudHJ5KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjYXNlICdkZWxldGVkJzoge1xuICAgICAgICAgICAgICAgIGxpbmVFbnRyaWVzLnJlbW92ZWQucHVzaChlbnRyeSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIGxpbmVFbnRyaWVzLmZvdW5kLnB1c2goZW50cnkpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpbmVFbnRyaWVzLm5vdEZvdW5kLnB1c2goZW50cnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gbGluZUVudHJpZXM7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,18 +1,22 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
2
  import { GroceriesList } from '../_models/groceries-list';
3
3
  import { Service } from 'ngx-jsonapi';
4
- import { skipWhile, tap } from "rxjs/operators";
4
+ import { map, skipWhile, tap } from "rxjs/operators";
5
5
  import { MIAM_BASKET_PATH } from "../providers";
6
6
  import { BehaviorSubject } from 'rxjs';
7
7
  import { AnalyticsService } from './analytics.service';
8
8
  import { v4 as uuidv4 } from 'uuid';
9
+ import { environment as e } from '../environment';
10
+ import { HttpClient } from '@angular/common/http';
9
11
  import * as i0 from "@angular/core";
10
- import * as i1 from "./analytics.service";
12
+ import * as i1 from "@angular/common/http";
13
+ import * as i2 from "./analytics.service";
11
14
  // @dynamic
12
15
  export class GroceriesListsService extends Service {
13
- constructor(miamBasketURL, analyticsService) {
16
+ constructor(miamBasketURL, http, analyticsService) {
14
17
  super();
15
18
  this.miamBasketURL = miamBasketURL;
19
+ this.http = http;
16
20
  this.analyticsService = analyticsService;
17
21
  this.resource = GroceriesList;
18
22
  this.type = 'groceries-lists';
@@ -96,6 +100,19 @@ export class GroceriesListsService extends Service {
96
100
  this.saveList(list);
97
101
  return this.list$;
98
102
  }
103
+ addEntriesFromPicture(file, include = []) {
104
+ const list = this.list$.value;
105
+ const url = [e.miamAPI, 'api/v1/groceries-lists', list.id, 'add_entries_from_picture'].join('/');
106
+ const formData = new FormData();
107
+ formData.append('picture', file);
108
+ formData.append('include', include.join(','));
109
+ return this.http.patch(url, formData).pipe(map((response) => {
110
+ const l = this.new();
111
+ l.fill(response);
112
+ this.list$.next(l);
113
+ return l;
114
+ }));
115
+ }
99
116
  saveList(list, openBasket = false) {
100
117
  delete (list.attributes['recipes-ids']);
101
118
  list.save().pipe(tap(() => {
@@ -119,7 +136,7 @@ export class GroceriesListsService extends Service {
119
136
  }
120
137
  }
121
138
  }
122
- GroceriesListsService.ɵfac = function GroceriesListsService_Factory(t) { return new (t || GroceriesListsService)(i0.ɵɵinject(MIAM_BASKET_PATH), i0.ɵɵinject(i1.AnalyticsService)); };
139
+ GroceriesListsService.ɵfac = function GroceriesListsService_Factory(t) { return new (t || GroceriesListsService)(i0.ɵɵinject(MIAM_BASKET_PATH), i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.AnalyticsService)); };
123
140
  GroceriesListsService.ɵprov = i0.ɵɵdefineInjectable({ token: GroceriesListsService, factory: GroceriesListsService.ɵfac, providedIn: 'root' });
124
141
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(GroceriesListsService, [{
125
142
  type: Injectable,
@@ -129,5 +146,5 @@ GroceriesListsService.ɵprov = i0.ɵɵdefineInjectable({ token: GroceriesListsSe
129
146
  }], function () { return [{ type: undefined, decorators: [{
130
147
  type: Inject,
131
148
  args: [MIAM_BASKET_PATH]
132
- }] }, { type: i1.AnalyticsService }]; }, null); })();
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvY2VyaWVzLWxpc3RzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19zZXJ2aWNlcy9ncm9jZXJpZXMtbGlzdHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQWMsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQTs7O0FBRW5DLFdBQVc7QUFJWCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsT0FBc0I7SUFPL0QsWUFDb0MsYUFBcUIsRUFDL0MsZ0JBQWtDO1FBRTFDLEtBQUssRUFBRSxDQUFDO1FBSDBCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQy9DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFQNUMsYUFBUSxHQUFHLGFBQWEsQ0FBQztRQUN6QixTQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDekIsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQVEvQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFr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QUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzNCLFlBQVksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDekM7aUJBQU07Z0JBQ0wsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzVDO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEI7SUFDSCxDQUFDOzswRkFuSVUscUJBQXFCLGNBUXRCLGdCQUFnQjs2REFSZixxQkFBcUIsV0FBckIscUJBQXFCLG1CQUZwQixNQUFNO2tEQUVQLHFCQUFxQjtjQUhqQyxVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O3NCQVNJLE1BQU07dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcm9jZXJpZXNMaXN0IH0gZnJvbSAnLi4vX21vZGVscy9ncm9jZXJpZXMtbGlzdCc7XG5pbXBvcnQgeyBTZXJ2aWNlIH0gZnJvbSAnbmd4LWpzb25hcGknO1xuaW1wb3J0IHsgc2tpcFdoaWxlLCB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IE1JQU1fQkFTS0VUX1BBVEggfSBmcm9tIFwiLi4vcHJvdmlkZXJzXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4vYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCdcblxuLy8gQGR5bmFtaWNcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEdyb2Nlcmllc0xpc3RzU2VydmljZSBleHRlbmRzIFNlcnZpY2U8R3JvY2VyaWVzTGlzdD4ge1xuXG4gIHJlc291cmNlID0gR3JvY2VyaWVzTGlzdDtcbiAgdHlwZSA9ICdncm9jZXJpZXMtbGlzdHMnO1xuICBsaXN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8R3JvY2VyaWVzTGlzdD4obnVsbCk7XG4gIHByaXZhdGUgY3VycmVudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUlBTV9CQVNLRVRfUEFUSCkgcHJpdmF0ZSBtaWFtQmFza2V0VVJMOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yZWdpc3RlcigpO1xuICAgIHRoaXMucmVmcmVzaEN1cnJlbnRMaXN0KCk7XG4gIH1cblxuICByZWZyZXNoQ3VycmVudExpc3QoKTogT2JzZXJ2YWJsZTxHcm9jZXJpZXNMaXN0PiB7XG4gICAgY29uc29sZS5sb2coJ1tNaWFtXSByZWZyZXNoaW5nIGdsJyk7XG4gICAgbGV0IGNhY2hlZExpc3RJZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdfbWlhbS9saXN0SWQnKTtcbiAgICAvLyBhZGRpbmcgdGhpcyB1dWlkIHdpbGwgZm9yY2UgcmVxdWVzdCB0byBiZSBzZW50IGV2ZW4gaWYgb25lIGlzIHN0aWxsIGluIHByb2Nlc3NcbiAgICAvLyB0aGluayBhYm91dCBtYWtpbmcgYSBxdWV1ZSB0byBwcm9jZXNzIHJlcXVlc3QgaW4gb3JkZXJcbiAgICBjb25zdCBiYXNlX3JvdXRlID0gJ2N1cnJlbnQ/dW5pcV90b2tlbj0nICsgdXVpZHY0KCk7XG4gICAgY29uc3QgZW5kcG9pbnQgPSBjYWNoZWRMaXN0SWQ/LnRvU3RyaW5nKCkubWF0Y2goL15bMC05XSskLykgPyBiYXNlX3JvdXRlICsgJyZtZXJnZV93aXRoPScgKyBjYWNoZWRMaXN0SWQgOiBiYXNlX3JvdXRlO1xuICAgIC8vIGFsd2F5IGtlZXAgb25seSB0aGUgbGFzdCBzdWJzY3JpcHRpb24sIHRoYXQgd2lsbCBtYWtlIGZvcmdldCB0aGUgbGFzdCBjYWxsc1xuICAgIGlmICh0aGlzLmN1cnJlbnRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY3VycmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRTdWJzY3JpcHRpb24gPSB0aGlzLmdldChlbmRwb2ludCkucGlwZShcbiAgICAgIHNraXBXaGlsZShsID0+IGwuaXNfbG9hZGluZyksXG4gICAgICB0YXAobCA9PiB0aGlzLmFzc2lnbkxpc3QobCkpXG4gICAgKS5zdWJzY3JpYmUoKTtcblxuICAgIHJldHVybiB0aGlzLmxpc3QkO1xuICB9XG5cbiAgcmVzZXRMaXN0KCk6IE9ic2VydmFibGU8R3JvY2VyaWVzTGlzdD4ge1xuICAgIHJldHVybiB0aGlzLmdldCgncmVzZXQnKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKGwgPT4gbC5pc19sb2FkaW5nKSxcbiAgICAgIHRhcChsID0+IHRoaXMuYXNzaWduTGlzdChsKSlcbiAgICApO1xuICB9XG5cbiAgYXBwZW5kUmVjaXBlVG9MaXN0KHJlY2lwZUlkOiBzdHJpbmcsIGd1ZXN0czogbnVtYmVyLCBvcGVuQmFza2V0OiBib29sZWFuID0gZmFsc2UpOiBPYnNlcnZhYmxlPEdyb2Nlcmllc0xpc3Q+IHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5saXN0JC52YWx1ZTtcbiAgICBpZiAobGlzdCkge1xuICAgICAgaWYgKCFsaXN0Lmhhc1JlY2lwZShyZWNpcGVJZCkpIHtcbiAgICAgICAgLy8gYXBwZW5kIHRvIGxpc3RcbiAgICAgICAgbGlzdC5hdHRyaWJ1dGVzWydhcHBlbmQtcmVjaXBlcyddID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgaW5mbyA9IHsgaWQ6IHJlY2lwZUlkIH07XG4gICAgICAgIGlmIChndWVzdHMpIHtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKGluZm8sIHsgZ3Vlc3RzIH0pO1xuICAgICAgICB9XG4gICAgICAgIGxpc3QuYXR0cmlidXRlc1sncmVjaXBlcy1pbmZvcyddID0gW2luZm9dO1xuICAgICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2Uuc2VuZEV2ZW50KCdhZGQtcmVjaXBlJyk7XG4gICAgICB9IGVsc2UgaWYgKGd1ZXN0cykge1xuICAgICAgICAvLyB1cGRhdGUgZ3Vlc3RzIG51bWJlclxuICAgICAgICBjb25zdCBpbmZvID0gbGlzdC5yZWNpcGVJbmZvcy5maW5kKGkgPT4gaS5pZCA9PT0gcmVjaXBlSWQpO1xuICAgICAgICBpZiAoaW5mby5ndWVzdHMudG9TdHJpbmcoKSA9PT0gZ3Vlc3RzLnRvU3RyaW5nKCkpIHtcbiAgICAgICAgICAvLyBBdm9pZCBzYXZpbmcgdGhlIGxpc3QgaWYgbm90aGluZyBjaGFuZ2VkXG4gICAgICAgICAgcmV0dXJuIHRoaXMubGlzdCQ7XG4gICAgICAgIH1cbiAgICAgICAgaW5mby5ndWVzdHMgPSBndWVzdHMudG9TdHJpbmcoKTtcbiAgICAgIH1cbiAgICAgIGRlbGV0ZShsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaWRzJ10pO1xuICAgICAgdGhpcy5zYXZlTGlzdChsaXN0LCBvcGVuQmFza2V0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5saXN0JDtcbiAgfVxuXG4gIHJlbW92ZVJlY2lwZUZyb21MaXN0KHJlY2lwZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEdyb2Nlcmllc0xpc3Q+IHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5saXN0JC52YWx1ZTtcbiAgICBpZiAobGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10pIHtcbiAgICAgIGxpc3QuYXR0cmlidXRlc1sncmVjaXBlcy1pbmZvcyddID0gbGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10uZmlsdGVyKGluZm8gPT4ge1xuICAgICAgICByZXR1cm4gaW5mby5pZCAhPT0gcmVjaXBlSWQ7XG4gICAgICB9KTtcbiAgICAgIGRlbGV0ZShsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaWRzJ10pO1xuICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudCgncmVtb3ZlLXJlY2lwZScpO1xuICAgICAgdGhpcy5zYXZlTGlzdChsaXN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5saXN0JDtcbiAgfVxuXG4gIHVwZGF0ZVJlY2lwZUd1ZXN0cyhyZWNpcGVJZDogc3RyaW5nLCBndWVzdHM6IG51bWJlcik6IE9ic2VydmFibGU8R3JvY2VyaWVzTGlzdD4gIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5saXN0JC52YWx1ZTtcbiAgICBpZiAobGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10pIHtcbiAgICAgIGNvbnN0IHJlY2lwZUluZm8gPSBsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaW5mb3MnXS5maW5kKGluZm8gPT4ge1xuICAgICAgICByZXR1cm4gaW5mby5pZCA9PT0gcmVjaXBlSWQ7XG4gICAgICB9KTtcbiAgICAgIHJlY2lwZUluZm8uZ3Vlc3RzID0gZ3Vlc3RzO1xuICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudCgnY2hhbmdlLWd1ZXN0cycpO1xuICAgICAgdGhpcy5zYXZlTGlzdChsaXN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5saXN0JDtcbiAgfVxuXG4gIHJlbW92ZVJlY2lwZXNGcm9tTGlzdCgpOiBPYnNlcnZhYmxlPEdyb2Nlcmllc0xpc3Q+IHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5saXN0JC52YWx1ZTtcbiAgICBsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaW5mb3MnXSA9IFtdO1xuICAgIGRlbGV0ZShsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaWRzJ10pO1xuICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5zZW5kRXZlbnQoJ3JlbW92ZS1hbGwtcmVjaXBlcycpO1xuICAgIHRoaXMuc2F2ZUxpc3QobGlzdCk7XG5cbiAgICByZXR1cm4gdGhpcy5saXN0JDtcbiAgfVxuXG4gIHByaXZhdGUgc2F2ZUxpc3QobGlzdDogR3JvY2VyaWVzTGlzdCwgb3BlbkJhc2tldDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgZGVsZXRlKGxpc3QuYXR0cmlidXRlc1sncmVjaXBlcy1pZHMnXSk7XG4gICAgbGlzdC5zYXZlKCkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMubGlzdCQubmV4dChsaXN0KTtcbiAgICAgICAgaWYgKG9wZW5CYXNrZXQpIHtcbiAgICAgICAgICB3aW5kb3cub3BlbihgJHt0aGlzLm1pYW1CYXNrZXRVUkx9LyR7bGlzdC5pZH1gLCAnX2JsYW5rJyk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXNzaWduTGlzdChsKXtcbiAgICAvLyBXaGVuIGEgQ09SUyBlcnJvciBoYXBwZW5zIHRoZSByZXNwb25zZSBpcyBhIEdMIHdpdGggYW4gaWQgZXF1YWwgdG8gdGhlIHJlcXVlc3QgVVJMXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRvbid0IGNoYW5nZSB0aGUgR0xcbiAgICBpZiAobC5pZC50b1N0cmluZygpLm1hdGNoKC9eWzAtOV0rJC8pKSB7XG4gICAgICBpZiAobC5hdHRyaWJ1dGVzWyd1c2VyLWlkJ10pIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ19taWFtL2xpc3RJZCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ19taWFtL2xpc3RJZCcsIGwuaWQpO1xuICAgICAgfVxuICAgICAgdGhpcy5saXN0JC5uZXh0KGwpO1xuICAgIH1cbiAgfVxufVxuIl19
149
+ }] }, { type: i1.HttpClient }, { type: i2.AnalyticsService }]; }, null); })();
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvY2VyaWVzLWxpc3RzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19zZXJ2aWNlcy9ncm9jZXJpZXMtbGlzdHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFvQixPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBYyxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25DLE9BQU8sRUFBRSxXQUFXLElBQUksQ0FBQyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBRWxELFdBQVc7QUFJWCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsT0FBc0I7SUFPL0QsWUFDb0MsYUFBcUIsRUFDL0MsSUFBZ0IsRUFDaEIsZ0JBQWtDO1FBRTFDLEtBQUssRUFBRSxDQUFDO1FBSjBCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQy9DLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVI1QyxhQUFRLEdBQUcsYUFBYSxDQUFDO1FBQ3pCLFNBQUksR0FB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Q0FBQyxDQUFDO2FBQ3pDO2lCQUFNO2dCQUNMLFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM1QztZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs7MEZBcEpVLHFCQUFxQixjQVF0QixnQkFBZ0I7NkRBUmYscUJBQXFCLFdBQXJCLHFCQUFxQixtQkFGcEIsTUFBTTtrREFFUCxxQkFBcUI7Y0FIakMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COztzQkFTSSxNQUFNO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JvY2VyaWVzTGlzdCB9IGZyb20gJy4uL19tb2RlbHMvZ3JvY2VyaWVzLWxpc3QnO1xuaW1wb3J0IHsgRG9jdW1lbnRSZXNvdXJjZSwgU2VydmljZSB9IGZyb20gJ25neC1qc29uYXBpJztcbmltcG9ydCB7IG1hcCwgc2tpcFdoaWxlLCB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IE1JQU1fQkFTS0VUX1BBVEggfSBmcm9tIFwiLi4vcHJvdmlkZXJzXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4vYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCdcbmltcG9ydCB7IGVudmlyb25tZW50IGFzIGUgfSBmcm9tICcuLi9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG4vLyBAZHluYW1pY1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgR3JvY2VyaWVzTGlzdHNTZXJ2aWNlIGV4dGVuZHMgU2VydmljZTxHcm9jZXJpZXNMaXN0PiB7XG5cbiAgcmVzb3VyY2UgPSBHcm9jZXJpZXNMaXN0O1xuICB0eXBlID0gJ2dyb2Nlcmllcy1saXN0cyc7XG4gIGxpc3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxHcm9jZXJpZXNMaXN0PihudWxsKTtcbiAgcHJpdmF0ZSBjdXJyZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNSUFNX0JBU0tFVF9QQVRIKSBwcml2YXRlIG1pYW1CYXNrZXRVUkw6IHN0cmluZyxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yZWdpc3RlcigpO1xuICAgIHRoaXMucmVmcmVzaEN1cnJlbnRMaXN0KCk7XG4gIH1cblxuICByZWZyZXNoQ3VycmVudExpc3QoKTogT2JzZXJ2YWJsZTxHcm9jZXJpZXNMaXN0PiB7XG4gICAgY29uc29sZS5sb2coJ1tNaWFtXSByZWZyZXNoaW5nIGdsJyk7XG4gICAgbGV0IGNhY2hlZExpc3RJZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdfbWlhbS9saXN0SWQnKTtcbiAgICAvLyBhZGRpbmcgdGhpcyB1dWlkIHdpbGwgZm9yY2UgcmVxdWVzdCB0byBiZSBzZW50IGV2ZW4gaWYgb25lIGlzIHN0aWxsIGluIHByb2Nlc3NcbiAgICAvLyB0aGluayBhYm91dCBtYWtpbmcgYSBxdWV1ZSB0byBwcm9jZXNzIHJlcXVlc3QgaW4gb3JkZXJcbiAgICBjb25zdCBiYXNlX3JvdXRlID0gJ2N1cnJlbnQ/dW5pcV90b2tlbj0nICsgdXVpZHY0KCk7XG4gICAgY29uc3QgZW5kcG9pbnQgPSBjYWNoZWRMaXN0SWQ/LnRvU3RyaW5nKCkubWF0Y2goL15bMC05XSskLykgPyBiYXNlX3JvdXRlICsgJyZtZXJnZV93aXRoPScgKyBjYWNoZWRMaXN0SWQgOiBiYXNlX3JvdXRlO1xuICAgIC8vIGFsd2F5IGtlZXAgb25seSB0aGUgbGFzdCBzdWJzY3JpcHRpb24sIHRoYXQgd2lsbCBtYWtlIGZvcmdldCB0aGUgbGFzdCBjYWxsc1xuICAgIGlmICh0aGlzLmN1cnJlbnRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY3VycmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRTdWJzY3JpcHRpb24gPSB0aGlzLmdldChlbmRwb2ludCkucGlwZShcbiAgICAgIHNraXBXaGlsZShsID0+IGwuaXNfbG9hZGluZyksXG4gICAgICB0YXAobCA9PiB0aGlzLmFzc2lnbkxpc3QobCkpXG4gICAgKS5zdWJzY3JpYmUoKTtcblxuICAgIHJldHVybiB0aGlzLmxpc3QkO1xuICB9XG5cbiAgcmVzZXRMaXN0KCk6IE9ic2VydmFibGU8R3JvY2VyaWVzTGlzdD4ge1xuICAgIHJldHVybiB0aGlzLmdldCgncmVzZXQnKS5waXBlKFxuICAgICAgc2tpcFdoaWxlKGwgPT4gbC5pc19sb2FkaW5nKSxcbiAgICAgIHRhcChsID0+IHRoaXMuYXNzaWduTGlzdChsKSlcbiAgICApO1xuICB9XG5cbiAgYXBwZW5kUmVjaXBlVG9MaXN0KHJlY2lwZUlkOiBzdHJpbmcsIGd1ZXN0czogbnVtYmVyLCBvcGVuQmFza2V0OiBib29sZWFuID0gZmFsc2UpOiBPYnNlcnZhYmxlPEdyb2Nlcmllc0xpc3Q+IHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5saXN0JC52YWx1ZTtcbiAgICBpZiAobGlzdCkge1xuICAgICAgaWYgKCFsaXN0Lmhhc1JlY2lwZShyZWNpcGVJZCkpIHtcbiAgICAgICAgLy8gYXBwZW5kIHRvIGxpc3RcbiAgICAgICAgbGlzdC5hdHRyaWJ1dGVzWydhcHBlbmQtcmVjaXBlcyddID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgaW5mbyA9IHsgaWQ6IHJlY2lwZUlkIH07XG4gICAgICAgIGlmIChndWVzdHMpIHtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKGluZm8sIHsgZ3Vlc3RzIH0pO1xuICAgICAgICB9XG4gICAgICAgIGxpc3QuYXR0cmlidXRlc1sncmVjaXBlcy1pbmZvcyddID0gW2luZm9dO1xuICAgICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2Uuc2VuZEV2ZW50KCdhZGQtcmVjaXBlJyk7XG4gICAgICB9IGVsc2UgaWYgKGd1ZXN0cykge1xuICAgICAgICAvLyB1cGRhdGUgZ3Vlc3RzIG51bWJlclxuICAgICAgICBjb25zdCBpbmZvID0gbGlzdC5yZWNpcGVJbmZvcy5maW5kKGkgPT4gaS5pZCA9PT0gcmVjaXBlSWQpO1xuICAgICAgICBpZiAoaW5mby5ndWVzdHMudG9TdHJpbmcoKSA9PT0gZ3Vlc3RzLnRvU3RyaW5nKCkpIHtcbiAgICAgICAgICAvLyBBdm9pZCBzYXZpbmcgdGhlIGxpc3QgaWYgbm90aGluZyBjaGFuZ2VkXG4gICAgICAgICAgcmV0dXJuIHRoaXMubGlzdCQ7XG4gICAgICAgIH1cbiAgICAgICAgaW5mby5ndWVzdHMgPSBndWVzdHMudG9TdHJpbmcoKTtcbiAgICAgIH1cbiAgICAgIGRlbGV0ZShsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaWRzJ10pO1xuICAgICAgdGhpcy5zYXZlTGlzdChsaXN0LCBvcGVuQmFza2V0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5saXN0JDtcbiAgfVxuXG4gIHJlbW92ZVJlY2lwZUZyb21MaXN0KHJlY2lwZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEdyb2Nlcmllc0xpc3Q+IHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5saXN0JC52YWx1ZTtcbiAgICBpZiAobGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10pIHtcbiAgICAgIGxpc3QuYXR0cmlidXRlc1sncmVjaXBlcy1pbmZvcyddID0gbGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10uZmlsdGVyKGluZm8gPT4ge1xuICAgICAgICByZXR1cm4gaW5mby5pZCAhPT0gcmVjaXBlSWQ7XG4gICAgICB9KTtcbiAgICAgIGRlbGV0ZShsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaWRzJ10pO1xuICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudCgncmVtb3ZlLXJlY2lwZScpO1xuICAgICAgdGhpcy5zYXZlTGlzdChsaXN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5saXN0JDtcbiAgfVxuXG4gIHVwZGF0ZVJlY2lwZUd1ZXN0cyhyZWNpcGVJZDogc3RyaW5nLCBndWVzdHM6IG51bWJlcik6IE9ic2VydmFibGU8R3JvY2VyaWVzTGlzdD4gIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5saXN0JC52YWx1ZTtcbiAgICBpZiAobGlzdC5hdHRyaWJ1dGVzWydyZWNpcGVzLWluZm9zJ10pIHtcbiAgICAgIGNvbnN0IHJlY2lwZUluZm8gPSBsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaW5mb3MnXS5maW5kKGluZm8gPT4ge1xuICAgICAgICByZXR1cm4gaW5mby5pZCA9PT0gcmVjaXBlSWQ7XG4gICAgICB9KTtcbiAgICAgIHJlY2lwZUluZm8uZ3Vlc3RzID0gZ3Vlc3RzO1xuICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLnNlbmRFdmVudCgnY2hhbmdlLWd1ZXN0cycpO1xuICAgICAgdGhpcy5zYXZlTGlzdChsaXN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5saXN0JDtcbiAgfVxuXG4gIHJlbW92ZVJlY2lwZXNGcm9tTGlzdCgpOiBPYnNlcnZhYmxlPEdyb2Nlcmllc0xpc3Q+IHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5saXN0JC52YWx1ZTtcbiAgICBsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaW5mb3MnXSA9IFtdO1xuICAgIGRlbGV0ZShsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaWRzJ10pO1xuICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5zZW5kRXZlbnQoJ3JlbW92ZS1hbGwtcmVjaXBlcycpO1xuICAgIHRoaXMuc2F2ZUxpc3QobGlzdCk7XG5cbiAgICByZXR1cm4gdGhpcy5saXN0JDtcbiAgfVxuXG4gIGFkZEVudHJpZXNGcm9tUGljdHVyZShmaWxlOiBGaWxlLCBpbmNsdWRlID0gW10pOiBPYnNlcnZhYmxlPEdyb2Nlcmllc0xpc3Q+IHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5saXN0JC52YWx1ZTtcbiAgICBjb25zdCB1cmwgPSBbZS5taWFtQVBJLCAnYXBpL3YxL2dyb2Nlcmllcy1saXN0cycsIGxpc3QuaWQsICdhZGRfZW50cmllc19mcm9tX3BpY3R1cmUnXS5qb2luKCcvJyk7XG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdwaWN0dXJlJywgZmlsZSk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdpbmNsdWRlJywgaW5jbHVkZS5qb2luKCcsJykpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2godXJsLCBmb3JtRGF0YSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IERvY3VtZW50UmVzb3VyY2U8R3JvY2VyaWVzTGlzdD4pID0+IHtcbiAgICAgICAgY29uc3QgbCA9IHRoaXMubmV3KCk7XG4gICAgICAgIGwuZmlsbChyZXNwb25zZSk7XG4gICAgICAgIHRoaXMubGlzdCQubmV4dChsKTtcbiAgICAgICAgcmV0dXJuIGw7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNhdmVMaXN0KGxpc3Q6IEdyb2Nlcmllc0xpc3QsIG9wZW5CYXNrZXQ6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGRlbGV0ZShsaXN0LmF0dHJpYnV0ZXNbJ3JlY2lwZXMtaWRzJ10pO1xuICAgIGxpc3Quc2F2ZSgpLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLmxpc3QkLm5leHQobGlzdCk7XG4gICAgICAgIGlmIChvcGVuQmFza2V0KSB7XG4gICAgICAgICAgd2luZG93Lm9wZW4oYCR7dGhpcy5taWFtQmFza2V0VVJMfS8ke2xpc3QuaWR9YCwgJ19ibGFuaycpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGFzc2lnbkxpc3QobCl7XG4gICAgLy8gV2hlbiBhIENPUlMgZXJyb3IgaGFwcGVucyB0aGUgcmVzcG9uc2UgaXMgYSBHTCB3aXRoIGFuIGlkIGVxdWFsIHRvIHRoZSByZXF1ZXN0IFVSTFxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkb24ndCBjaGFuZ2UgdGhlIEdMXG4gICAgaWYgKGwuaWQudG9TdHJpbmcoKS5tYXRjaCgvXlswLTldKyQvKSkge1xuICAgICAgaWYgKGwuYXR0cmlidXRlc1sndXNlci1pZCddKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdfbWlhbS9saXN0SWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdfbWlhbS9saXN0SWQnLCBsLmlkKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubGlzdCQubmV4dChsKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -33,22 +33,25 @@ 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";
53
56
  })(Icon || (Icon = {}));
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fdHlwZXMvaWNvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLElBbURYO0FBbkRELFdBQVksSUFBSTtJQUNkLHVDQUFRLENBQUE7SUFDUixxREFBZSxDQUFBO0lBQ2YsaUNBQUssQ0FBQTtJQUNMLHlDQUFTLENBQUE7SUFDVCwyQ0FBVSxDQUFBO0lBQ1YscUNBQU8sQ0FBQTtJQUNQLHFEQUFlLENBQUE7SUFDZix1REFBZ0IsQ0FBQTtJQUNoQixpREFBYSxDQUFBO0lBQ2IsaUNBQUssQ0FBQTtJQUNMLGtDQUFLLENBQUE7SUFDTCxnQ0FBSSxDQUFBO0lBQ0osb0NBQU0sQ0FBQTtJQUNOLDBDQUFTLENBQUE7SUFDVCxnQ0FBSSxDQUFBO0lBQ0osZ0NBQUksQ0FBQTtJQUNKLG9DQUFNLENBQUE7SUFDTixzQ0FBTyxDQUFBO0lBQ1Asa0NBQUssQ0FBQTtJQUNMLGdDQUFJLENBQUE7SUFDSixnQ0FBSSxDQUFBO0lBQ0osNENBQVUsQ0FBQTtJQUNWLDBDQUFTLENBQUE7SUFDVCxrQ0FBSyxDQUFBO0lBQ0wsOENBQVcsQ0FBQTtJQUNYLHNDQUFPLENBQUE7SUFDUCxnQ0FBSSxDQUFBO0lBQ0osOEJBQUcsQ0FBQTtJQUNILDRDQUFVLENBQUE7SUFDViw4Q0FBVyxDQUFBO0lBQ1gsb0NBQU0sQ0FBQTtJQUNOLGtDQUFLLENBQUE7SUFDTCxnQ0FBSSxDQUFBO0lBQ0osZ0NBQUksQ0FBQTtJQUNKLDRDQUFVLENBQUE7SUFDVixrQ0FBSyxDQUFBO0lBQ0wsZ0NBQUksQ0FBQTtJQUNKLG9EQUFjLENBQUE7SUFDZCxrREFBYSxDQUFBO0lBQ2Isc0NBQU8sQ0FBQTtJQUNQLDBDQUFTLENBQUE7SUFDVCxrQ0FBSyxDQUFBO0lBQ0wsd0NBQVEsQ0FBQTtJQUNSLDhDQUFXLENBQUE7SUFDWCx3Q0FBUSxDQUFBO0lBQ1Isc0NBQU8sQ0FBQTtJQUNQLHNDQUFPLENBQUE7SUFDUCxnQ0FBSSxDQUFBO0lBQ0osc0NBQU8sQ0FBQTtJQUNQLDhDQUFXLENBQUE7QUFDYixDQUFDLEVBbkRXLElBQUksS0FBSixJQUFJLFFBbURmIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSWNvbiB7XG4gIENhbGVuZGFyLFxuICBDaGVja0NpcmNsZUZpbGwsXG4gIENsZWFyLFxuICBDb3N0SGlnaHQsXG4gIENvc3RNZWRpdW0sXG4gIENvc3RMb3csXG4gIERpZmZpY3VsdHlIaWdodCxcbiAgRGlmZmljdWx0eU1lZGl1bSxcbiAgRGlmZmljdWx0eUxvdyxcbiAgSGVhcnQsXG4gIFNoYXJlLFxuICBTd2FwLFxuICBQZW9wbGUsXG4gIENoZWNrTGlzdCxcbiAgVGltZSxcbiAgRXVybyxcbiAgQmFza2V0LFxuICBHcm9jZXJ5LFxuICBNaW51cyxcbiAgUGx1cyxcbiAgR3JpcCxcbiAgUmV0dXJuTGVmdCxcbiAgQXJyb3dEb3duLFxuICBUcmFzaCxcbiAgQ2xvdWRVcGxvYWQsXG4gIFBpY3R1cmUsXG4gIFdhaXQsXG4gIEhvdCxcbiAgUmVjaXBlQm9vayxcbiAgQ2hldnJvbkRvd24sXG4gIFNlYXJjaCxcbiAgR3JvdXAsXG4gIENhcnQsXG4gIEhlbHAsXG4gIFJlY2lwZUhlbHAsXG4gIFByaW50LFxuICBNZWFsLFxuICBIb3Jpem9udGFsRG90cyxcbiAgTm9SZWNpcGVGb3VuZCxcbiAgUHJlaGVhdCxcbiAgY2FyZXREb3duLFxuICBFbXB0eSxcbiAgT3BlbkJvb2ssXG4gIENpcmNsZWRQbHVzLFxuICBNYWluRGlzaCxcbiAgRGVzc2VydCxcbiAgU3RhcnRlcixcbiAgRWRpdCxcbiAgV2FybmluZyxcbiAgUHJlcGFyYXRpb25cbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fdHlwZXMvaWNvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLElBc0RYO0FBdERELFdBQVksSUFBSTtJQUNkLHVDQUFRLENBQUE7SUFDUixxREFBZSxDQUFBO0lBQ2YsaUNBQUssQ0FBQTtJQUNMLHlDQUFTLENBQUE7SUFDVCwyQ0FBVSxDQUFBO0lBQ1YscUNBQU8sQ0FBQTtJQUNQLHFEQUFlLENBQUE7SUFDZix1REFBZ0IsQ0FBQTtJQUNoQixpREFBYSxDQUFBO0lBQ2IsaUNBQUssQ0FBQTtJQUNMLGtDQUFLLENBQUE7SUFDTCxnQ0FBSSxDQUFBO0lBQ0osb0NBQU0sQ0FBQTtJQUNOLDBDQUFTLENBQUE7SUFDVCxnQ0FBSSxDQUFBO0lBQ0osZ0NBQUksQ0FBQTtJQUNKLG9DQUFNLENBQUE7SUFDTixzQ0FBTyxDQUFBO0lBQ1Asa0NBQUssQ0FBQTtJQUNMLGdDQUFJLENBQUE7SUFDSixnQ0FBSSxDQUFBO0lBQ0osNENBQVUsQ0FBQTtJQUNWLDBDQUFTLENBQUE7SUFDVCxrQ0FBSyxDQUFBO0lBQ0wsOENBQVcsQ0FBQTtJQUNYLHNDQUFPLENBQUE7SUFDUCxnQ0FBSSxDQUFBO0lBQ0osOEJBQUcsQ0FBQTtJQUNILDRDQUFVLENBQUE7SUFDViw4Q0FBVyxDQUFBO0lBQ1gsb0NBQU0sQ0FBQTtJQUNOLGtDQUFLLENBQUE7SUFDTCxnQ0FBSSxDQUFBO0lBQ0osd0NBQVEsQ0FBQTtJQUNSLGdDQUFJLENBQUE7SUFDSiw0Q0FBVSxDQUFBO0lBQ1Ysa0NBQUssQ0FBQTtJQUNMLGdDQUFJLENBQUE7SUFDSixvREFBYyxDQUFBO0lBQ2Qsa0RBQWEsQ0FBQTtJQUNiLHNDQUFPLENBQUE7SUFDUCwwQ0FBUyxDQUFBO0lBQ1Qsa0NBQUssQ0FBQTtJQUNMLHdDQUFRLENBQUE7SUFDUiw4Q0FBVyxDQUFBO0lBQ1gsd0NBQVEsQ0FBQTtJQUNSLHNDQUFPLENBQUE7SUFDUCxzQ0FBTyxDQUFBO0lBQ1AsZ0NBQUksQ0FBQTtJQUNKLHNDQUFPLENBQUE7SUFDUCw4Q0FBVyxDQUFBO0lBQ1gsOENBQVcsQ0FBQTtJQUNYLHdFQUF3QixDQUFBO0FBQzFCLENBQUMsRUF0RFcsSUFBSSxLQUFKLElBQUksUUFzRGYiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBJY29uIHtcbiAgQ2FsZW5kYXIsXG4gIENoZWNrQ2lyY2xlRmlsbCxcbiAgQ2xlYXIsXG4gIENvc3RIaWdodCxcbiAgQ29zdE1lZGl1bSxcbiAgQ29zdExvdyxcbiAgRGlmZmljdWx0eUhpZ2h0LFxuICBEaWZmaWN1bHR5TWVkaXVtLFxuICBEaWZmaWN1bHR5TG93LFxuICBIZWFydCxcbiAgU2hhcmUsXG4gIFN3YXAsXG4gIFBlb3BsZSxcbiAgQ2hlY2tMaXN0LFxuICBUaW1lLFxuICBFdXJvLFxuICBCYXNrZXQsXG4gIEdyb2NlcnksXG4gIE1pbnVzLFxuICBQbHVzLFxuICBHcmlwLFxuICBSZXR1cm5MZWZ0LFxuICBBcnJvd0Rvd24sXG4gIFRyYXNoLFxuICBDbG91ZFVwbG9hZCxcbiAgUGljdHVyZSxcbiAgV2FpdCxcbiAgSG90LFxuICBSZWNpcGVCb29rLFxuICBDaGV2cm9uRG93bixcbiAgU2VhcmNoLFxuICBHcm91cCxcbiAgQ2FydCxcbiAgQ2FydFBsdXMsXG4gIEhlbHAsXG4gIFJlY2lwZUhlbHAsXG4gIFByaW50LFxuICBNZWFsLFxuICBIb3Jpem9udGFsRG90cyxcbiAgTm9SZWNpcGVGb3VuZCxcbiAgUHJlaGVhdCxcbiAgY2FyZXREb3duLFxuICBFbXB0eSxcbiAgT3BlbkJvb2ssXG4gIENpcmNsZWRQbHVzLFxuICBNYWluRGlzaCxcbiAgRGVzc2VydCxcbiAgU3RhcnRlcixcbiAgRWRpdCxcbiAgV2FybmluZyxcbiAgUHJlcGFyYXRpb24sXG4gIExpc3RTY2FubmVyLFxuICBEcmF3ZXJIb3Jpem9udGFsQ2xvc2VCYXJcbn1cbiJdfQ==