@colijnit/product 258.1.4 → 258.1.5

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.
@@ -0,0 +1,37 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class RootStorageObject {
4
+ }
5
+ export class LocalStorageService {
6
+ constructor() {
7
+ this.storage = localStorage;
8
+ this._appRoot = "web-order";
9
+ this._storageObj = new RootStorageObject();
10
+ this._initLocalStorageObj();
11
+ }
12
+ save() {
13
+ this.storage.setItem(this._appRoot, JSON.stringify(this._storageObj));
14
+ }
15
+ clear() {
16
+ this.storage.clear();
17
+ }
18
+ set id(id) {
19
+ this._storageObj.id = id;
20
+ this.save();
21
+ }
22
+ get id() {
23
+ return this._storageObj ? this._storageObj.id : "";
24
+ }
25
+ _initLocalStorageObj() {
26
+ this._storageObj = JSON.parse(this.storage.getItem(this._appRoot)) || this._storageObj;
27
+ this.save();
28
+ }
29
+ }
30
+ LocalStorageService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalStorageService_Factory() { return new LocalStorageService(); }, token: LocalStorageService, providedIn: "root" });
31
+ LocalStorageService.decorators = [
32
+ { type: Injectable, args: [{
33
+ providedIn: 'root'
34
+ },] }
35
+ ];
36
+ LocalStorageService.ctorParameters = () => [];
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9idW5kbGUvc2VydmljZS9sb2NhbC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFekMsTUFBTSxPQUFPLGlCQUFpQjtDQUU3QjtBQUtELE1BQU0sT0FBTyxtQkFBbUI7SUFPNUI7UUFOZ0IsWUFBTyxHQUFZLFlBQVksQ0FBQztRQUV0QyxhQUFRLEdBQVcsV0FBVyxDQUFDO1FBRS9CLGdCQUFXLEdBQXNCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUcvRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sSUFBSTtRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU0sS0FBSztRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsRUFBRSxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFUyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDdkYsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7Ozs7WUFsQ0osVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBSb290U3RvcmFnZU9iamVjdCB7XHJcbiAgICBwdWJsaWMgaWQ6IHN0cmluZztcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIHtcclxuICAgIHB1YmxpYyByZWFkb25seSBzdG9yYWdlOiBTdG9yYWdlID0gbG9jYWxTdG9yYWdlO1xyXG5cclxuICAgIHByb3RlY3RlZCBfYXBwUm9vdDogc3RyaW5nID0gXCJ3ZWItb3JkZXJcIjtcclxuXHJcbiAgICBwcm90ZWN0ZWQgX3N0b3JhZ2VPYmo6IFJvb3RTdG9yYWdlT2JqZWN0ID0gbmV3IFJvb3RTdG9yYWdlT2JqZWN0KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5faW5pdExvY2FsU3RvcmFnZU9iaigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKHRoaXMuX2FwcFJvb3QsIEpTT04uc3RyaW5naWZ5KHRoaXMuX3N0b3JhZ2VPYmopKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlLmNsZWFyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBpZChpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc3RvcmFnZU9iai5pZCA9IGlkO1xyXG4gICAgICAgIHRoaXMuc2F2ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3RvcmFnZU9iaiA/IHRoaXMuX3N0b3JhZ2VPYmouaWQgOiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfaW5pdExvY2FsU3RvcmFnZU9iaigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zdG9yYWdlT2JqID0gSlNPTi5wYXJzZSh0aGlzLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLl9hcHBSb290KSkgfHwgdGhpcy5fc3RvcmFnZU9iajtcclxuICAgICAgICB0aGlzLnNhdmUoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -6,14 +6,12 @@ import { ProductConnectorService } from '../../service/product-connector.service
6
6
  import { ProductEventService } from '../../service/product-event.service';
7
7
  import { ConfiguratorStatisticsEnvironment } from '@colijnit/articleapi/build/model/configurator-statistics-environment';
8
8
  import { ProductSettingsService } from '../../service/product-settings.service';
9
- import { ProductConnectorAdapterService } from '../../service/product-connector-adapter.service';
10
9
  export class ProductAddtocartComponent {
11
- constructor(iconCache, _ioneControllerService, _appEventService, _settingsService, _productConnectorAdapterService) {
10
+ constructor(iconCache, _ioneControllerService, _appEventService, _settingsService) {
12
11
  this.iconCache = iconCache;
13
12
  this._ioneControllerService = _ioneControllerService;
14
13
  this._appEventService = _appEventService;
15
14
  this._settingsService = _settingsService;
16
- this._productConnectorAdapterService = _productConnectorAdapterService;
17
15
  this.icon = IconEnum;
18
16
  this.createFrozenArticle = true;
19
17
  this.configurable = false;
@@ -53,19 +51,9 @@ export class ProductAddtocartComponent {
53
51
  return __awaiter(this, void 0, void 0, function* () {
54
52
  if (this.createFrozenArticle) {
55
53
  if (this.article.goodType === 'B') {
56
- if (this.article.isConfigurable) {
57
- const article = yield this._getJSONFromArticleObject({ article: this.article, quantity: quantity });
58
- if (article) {
59
- this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
60
- }
61
- }
62
- else {
63
- const generatedGoodId = yield this._getGeneratedArtDirectly(this.article.goodId);
64
- if (generatedGoodId) {
65
- const articleFull = yield this._productConnectorAdapterService.getArticleFullObject(generatedGoodId, true);
66
- const article = this._ioneControllerService.convertArticleFullObjectToArticleExtended(articleFull);
67
- this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
68
- }
54
+ const article = yield this._getJSONFromArticleObject({ article: this.article, quantity: quantity });
55
+ if (article) {
56
+ this._appEventService.onAddToCart.next({ article: article, quantity: quantity });
69
57
  }
70
58
  }
71
59
  else {
@@ -104,11 +92,6 @@ export class ProductAddtocartComponent {
104
92
  return yield this._ioneControllerService.getJsonArticleFlatTree(article.article.goodId, article.article.goodType, article.quantity, !!this.externalSource, true, configuratorStatistics);
105
93
  });
106
94
  }
107
- _getGeneratedArtDirectly(goodId) {
108
- return __awaiter(this, void 0, void 0, function* () {
109
- return yield this._ioneControllerService.getGeneratedArtDirectly(goodId, true);
110
- });
111
- }
112
95
  }
113
96
  ProductAddtocartComponent.decorators = [
114
97
  { type: Component, args: [{
@@ -151,8 +134,7 @@ ProductAddtocartComponent.ctorParameters = () => [
151
134
  { type: IconCacheService },
152
135
  { type: ProductConnectorService },
153
136
  { type: ProductEventService },
154
- { type: ProductSettingsService },
155
- { type: ProductConnectorAdapterService }
137
+ { type: ProductSettingsService }
156
138
  ];
157
139
  ProductAddtocartComponent.propDecorators = {
158
140
  addToCartButton: [{ type: ViewChild, args: ['addtocartbutton', { read: ElementRef },] }],
@@ -170,4 +152,4 @@ ProductAddtocartComponent.propDecorators = {
170
152
  addToQuoteClick: [{ type: Output }],
171
153
  showRelatedPopup: [{ type: Output }]
172
154
  };
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hZGR0b2NhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtYWRkdG9jYXJ0L3Byb2R1Y3QtYWRkdG9jYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWhELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTFFLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ3ZILE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBRzlFLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBcUMvRixNQUFNLE9BQU8seUJBQXlCO0lBaUVwQyxZQUNTLFNBQTJCLEVBQzFCLHNCQUErQyxFQUMvQyxnQkFBcUMsRUFDckMsZ0JBQXdDLEVBQ3hDLCtCQUErRDtRQUpoRSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXlCO1FBQy9DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBcUI7UUFDckMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQUN4QyxvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWdDO1FBcEV6RCxTQUFJLEdBQW9CLFFBQVEsQ0FBQztRQVkxQyx3QkFBbUIsR0FBWSxJ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ZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvbkVudW0gfSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XG5pbXBvcnQgeyBBcnRpY2xlUXVhbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbC9hcnRpY2xlLXF1YW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1Y3RFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBcnRpY2xlRnVsbE9iamVjdCB9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZnVsbC1vYmplY3QnO1xuaW1wb3J0IHtDb25maWd1cmF0b3JTdGF0aXN0aWNzRW52aXJvbm1lbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2NvbmZpZ3VyYXRvci1zdGF0aXN0aWNzLWVudmlyb25tZW50JztcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHtBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpc3Qtb2JqZWN0LWV4dGVuZGVkLmJvJztcbmltcG9ydCB7RXh0ZXJuYWxTb3VyY2V9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLXNvdXJjZS5ibyc7XG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci1hZGFwdGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZHVjdC1hZGR0b2NhcnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJhdGMtd3JhcHBlclwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUmV0dXJuXCI+XG4gICAgICAgIDxjby1udW1iZXItcGlja2VyICpuZ0lmPVwiIWNvbmZpZ3VyYWJsZSAmJiAhY29uZmlndXJpbmdcIiBjbGFzcz1cInF1YW50aXR5LXNlbGVjdFwiIFsobW9kZWwpXT1cInF1YW50aXR5XCIgW21pbl09XCItMTAwXCIgaG9yaXpvbnRhbD48L2NvLW51bWJlci1waWNrZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1JldHVyblwiPlxuICAgICAgICA8Y28tbnVtYmVyLXBpY2tlciAqbmdJZj1cIiFjb25maWd1cmFibGUgJiYgIWNvbmZpZ3VyaW5nXCIgY2xhc3M9XCJxdWFudGl0eS1zZWxlY3RcIiBbKG1vZGVsKV09XCJxdWFudGl0eVwiIFttaW5dPVwiMVwiIGhvcml6b250YWw+PC9jby1udW1iZXItcGlja2VyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24td3JhcHBlclwiICpuZ0lmPVwiY29uZmlndXJhYmxlXCI+XG4gICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJjb25maWd1cmUtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlLmdldEljb24oaWNvbi5NYWdpY1dhbmQpXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NPTkZJR1VSRScgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwic3RhcnRDb25maWd1cmF0aW9uLmVtaXQoKVwiXG4gICAgICAgID48L2NvLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi13cmFwcGVyXCIgKm5nSWY9XCJzaG93QWRkVG9DYXJ0ICYmICFjb25maWd1cmFibGVcIj5cbiAgICAgICAgPGNvLWJ1dHRvbiAjYWRkdG9jYXJ0YnV0dG9uIGNsYXNzPVwiY2FydC1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGUuZ2V0SWNvbihpY29uLkFkZFRvQ2FydERyb3ApXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1NIT1BQSU5HX0NBUlRfSU4nIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUFkZFRvQ2FydENsaWNrKHF1YW50aXR5KVwiXG4gICAgICAgID48L2NvLWJ1dHRvbj5cbiAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNhcnQtYnV0dG9uIHF1b3RlXCIgKm5nSWY9XCJzaG93UXVvdGVCdXR0b25cIlxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGUuZ2V0SWNvbihpY29uLlF1b3RlKVwiXG4gICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidRVU9UQVRJT04nIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUFkZFRvUXVvdGVDbGljayhxdWFudGl0eSlcIlxuICAgICAgICA+PC9jby1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC1hZGR0b2NhcnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0QWRkdG9jYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyByZWFkb25seSBpY29uOiB0eXBlb2YgSWNvbkVudW0gPSBJY29uRW51bTtcblxuICBAVmlld0NoaWxkKCdhZGR0b2NhcnRidXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIGFkZFRvQ2FydEJ1dHRvbjogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXJ0aWNsZTogQXJ0aWNsZUZ1bGxPYmplY3Q7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGV4dGVybmFsU291cmNlOiBFeHRlcm5hbFNvdXJjZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY3JlYXRlRnJvemVuQXJ0aWNsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbmZpZ3VyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb25maWd1cmluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93QWRkVG9DYXJ0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzUmV0dXJuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mdWxsLXNjcmVlbicpXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmdWxsc2NyZWVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBxdWFudGl0eSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuaXNSZXR1cm4pIHtcbiAgICAgIGlmICh0aGlzLl9xdWFudGl0eSA9PT0gMSkge1xuICAgICAgICB0aGlzLl9xdWFudGl0eSA9IC0xO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fcXVhbnRpdHkgPSB2YWx1ZVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9xdWFudGl0eSA9IE1hdGgubWF4KDEsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1YW50aXR5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3F1YW50aXR5O1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzdGFydENvbmZpZ3VyYXRpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGFkZFRvQ2FydENsaWNrOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWRkVG9RdW90ZUNsaWNrOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2hvd1JlbGF0ZWRQb3B1cDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG5cbiAgcHVibGljIHNob3dRdW90ZUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3F1YW50aXR5ID0gMTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaWNvbkNhY2hlOiBJY29uQ2FjaGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2lvbmVDb250cm9sbGVyU2VydmljZTogUHJvZHVjdENvbm5lY3RvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfYXBwRXZlbnRTZXJ2aWNlOiBQcm9kdWN0RXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3NldHRpbmdzU2VydmljZTogUHJvZHVjdFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIF9wcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2U6IFByb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZVxuICAgICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZFRvQ2FydEJ1dHRvbiA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVBZGRUb0NhcnRDbGljayhxdWFudGl0eTogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuY3JlYXRlRnJvemVuQXJ0aWNsZSkge1xuICAgICAgaWYgKHRoaXMuYXJ0aWNsZS5nb29kVHlwZSA9PT0gJ0InKSB7XG5cbiAgICAgICAgaWYgKHRoaXMuYXJ0aWNsZS5pc0NvbmZpZ3VyYWJsZSkge1xuICAgICAgICAgIGNvbnN0IGFydGljbGUgPSBhd2FpdCB0aGlzLl9nZXRKU09ORnJvbUFydGljbGVPYmplY3Qoe2FydGljbGU6IHRoaXMuYXJ0aWNsZSwgcXVhbnRpdHk6IHF1YW50aXR5fSk7XG4gICAgICAgICAgaWYgKGFydGljbGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFkZFRvQ2FydC5uZXh0KHthcnRpY2xlOiBhcnRpY2xlLCBxdWFudGl0eTogcXVhbnRpdHl9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZ2VuZXJhdGVkR29vZElkOiBudW1iZXIgPSBhd2FpdCB0aGlzLl9nZXRHZW5lcmF0ZWRBcnREaXJlY3RseSh0aGlzLmFydGljbGUuZ29vZElkKTtcbiAgICAgICAgICBpZiAoZ2VuZXJhdGVkR29vZElkKSB7XG4gICAgICAgICAgICBjb25zdCBhcnRpY2xlRnVsbDogQXJ0aWNsZUZ1bGxPYmplY3QgPSBhd2FpdCB0aGlzLl9wcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2UuZ2V0QXJ0aWNsZUZ1bGxPYmplY3QoZ2VuZXJhdGVkR29vZElkLCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IGFydGljbGU6IEFydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWQgPSB0aGlzLl9pb25lQ29udHJvbGxlclNlcnZpY2UuY29udmVydEFydGljbGVGdWxsT2JqZWN0VG9BcnRpY2xlRXh0ZW5kZWQoYXJ0aWNsZUZ1bGwpO1xuICAgICAgICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWRkVG9DYXJ0Lm5leHQoe2FydGljbGU6IGFydGljbGUsIHF1YW50aXR5OiBxdWFudGl0eX0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGFydGljbGU6IEFydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWQgfCBzdHJpbmc7XG4gICAgICAgIGlmICghIXRoaXMuZXh0ZXJuYWxTb3VyY2UpIHtcbiAgICAgICAgICBhcnRpY2xlID0gYXdhaXQgdGhpcy5fZ2V0SlNPTkZyb21BcnRpY2xlT2JqZWN0KHthcnRpY2xlOiB0aGlzLmFydGljbGUsIHF1YW50aXR5OiBxdWFudGl0eX0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFydGljbGUgPSB0aGlzLl9pb25lQ29udHJvbGxlclNlcnZpY2UuY29udmVydEFydGljbGVGdWxsT2JqZWN0VG9BcnRpY2xlRXh0ZW5kZWQodGhpcy5hcnRpY2xlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYXJ0aWNsZSkge1xuICAgICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFkZFRvQ2FydC5uZXh0KHthcnRpY2xlOiBhcnRpY2xlLCBxdWFudGl0eTogcXVhbnRpdHl9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBhcnRpY2xlOiBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkID0gdGhpcy5faW9uZUNvbnRyb2xsZXJTZXJ2aWNlLmNvbnZlcnRBcnRpY2xlRnVsbE9iamVjdFRvQXJ0aWNsZUV4dGVuZGVkKHRoaXMuYXJ0aWNsZSk7XG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQubmV4dCh7IGFydGljbGU6IGFydGljbGUsIHF1YW50aXR5OiBxdWFudGl0eSB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQWRkVG9RdW90ZUNsaWNrKHF1YW50aXR5OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb1F1b3RlLm5leHQoYXdhaXQgdGhpcy5fZ2V0SlNPTkZyb21BcnRpY2xlT2JqZWN0KHthcnRpY2xlOiB0aGlzLmFydGljbGUsIHF1YW50aXR5OiBxdWFudGl0eX0pKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2dldEpTT05Gcm9tQXJ0aWNsZU9iamVjdChhcnRpY2xlOiBBcnRpY2xlUXVhbnRpdHkpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MgPSBuZXcgQ29uZmlndXJhdG9yU3RhdGlzdGljc0Vudmlyb25tZW50KCk7XG4gICAgY29uZmlndXJhdG9yU3RhdGlzdGljcy51c2VyVHlwZSA9ICdpT25lUHJvZHVjdFBhZ2UnO1xuICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MudHJhbnNhY3Rpb25UeXBlID0gJ1NhbGVzJztcbiAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzLmFjdGlvbkRvbWFpbiA9ICdidW5kbGUnO1xuICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3Muc2Vzc2lvbklkID0gdGhpcy5fc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlc3Npb24gPyB0aGlzLl9zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2Vzc2lvbi5zZXNzaW9uSWQgOiAndW5rbm93bic7XG4gICAgY29uZmlndXJhdG9yU3RhdGlzdGljcy53ZWJIb3N0ID0gd2luZG93LmxvY2F0aW9uLmhvc3Q7XG4gICAgY29uZmlndXJhdG9yU3RhdGlzdGljcy5idW5kbGVIb3N0ID0gd2luZG93LmxvY2F0aW9uLmhvc3Q7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX2lvbmVDb250cm9sbGVyU2VydmljZS5nZXRKc29uQXJ0aWNsZUZsYXRUcmVlKFxuICAgICAgICBhcnRpY2xlLmFydGljbGUuZ29vZElkLCBhcnRpY2xlLmFydGljbGUuZ29vZFR5cGUsIGFydGljbGUucXVhbnRpdHksICEhdGhpcy5leHRlcm5hbFNvdXJjZSwgdHJ1ZSwgY29uZmlndXJhdG9yU3RhdGlzdGljcyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9nZXRHZW5lcmF0ZWRBcnREaXJlY3RseShnb29kSWQ6IG51bWJlcik6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX2lvbmVDb250cm9sbGVyU2VydmljZS5nZXRHZW5lcmF0ZWRBcnREaXJlY3RseShnb29kSWQsIHRydWUpO1xuICB9XG59XG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1hZGR0b2NhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Byb2R1Y3QtYWRkdG9jYXJ0L3Byb2R1Y3QtYWRkdG9jYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWhELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTFFLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ3ZILE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBd0M5RSxNQUFNLE9BQU8seUJBQXlCO0lBaUVwQyxZQUNTLFNBQTJCLEVBQzFCLHNCQUErQyxFQUMvQyxnQkFBcUMsRUFDckMsZ0JBQXdDO1FBSHpDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzFCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBeUI7UUFDL0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQUNyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBbkVsQyxTQUFJLEdBQW9CLFFBQVEsQ0FBQztRQVkxQyx3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFHcEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFHOUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHN0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFHL0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUkxQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBb0I1Qix1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdsRSxtQkFBYyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBR2xFLG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHbkUscUJBQWdCLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUE7UUFFckUsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFaEMsY0FBUyxHQUFHLENBQUMsQ0FBQztJQU9oQixDQUFDO0lBdENQLElBQ1csUUFBUSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDckI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUE7YUFDdkI7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUF5QkQsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVZLG9CQUFvQixDQUFDLFFBQWdCOztZQUNoRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDNUIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxHQUFHLEVBQUU7b0JBQ2pDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7b0JBQ2xHLElBQUksT0FBTyxFQUFFO3dCQUNYLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztxQkFDaEY7aUJBQ0Y7cUJBQU07b0JBQ0wsSUFBSSxPQUEyQyxDQUFDO29CQUNoRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO3dCQUN6QixPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMseUJBQXlCLENBQUMsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztxQkFDN0Y7eUJBQU07d0JBQ0wsT0FBTyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx5Q0FBeUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7cUJBQy9GO29CQUNELElBQUksT0FBTyxFQUFFO3dCQUNYLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztxQkFDaEY7aUJBQ0Y7YUFDRjtpQkFBTTtnQkFDTCxNQUFNLE9BQU8sR0FBOEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHlDQUF5QyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDL0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQ2xGO1FBQ0gsQ0FBQztLQUFBO0lBRVkscUJBQXFCLENBQUMsUUFBZ0I7O1lBQ2pELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUM3SCxDQUFDO0tBQUE7SUFFYSx5QkFBeUIsQ0FBQyxPQUF3Qjs7WUFDOUQsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGlDQUFpQyxFQUFFLENBQUM7WUFDdkUsc0JBQXNCLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDO1lBQ3BELHNCQUFzQixDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUM7WUFDakQsc0JBQXNCLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztZQUMvQyxzQkFBc0IsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pJLHNCQUFzQixDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUN0RCxzQkFBc0IsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDekQsT0FBTyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxzQkFBc0IsQ0FDM0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUMvSCxDQUFDO0tBQUE7OztZQXhKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4QlQ7O2FBRUY7OztZQTlDUSxnQkFBZ0I7WUFHaEIsdUJBQXVCO1lBQ3ZCLG1CQUFtQjtZQUdwQixzQkFBc0I7Ozs4QkE0QzNCLFNBQVMsU0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7c0JBR2pELEtBQUs7NkJBR0wsS0FBSztrQ0FHTCxLQUFLOzJCQUdMLEtBQUs7MEJBR0wsS0FBSzs0QkFHTCxLQUFLO3VCQUdMLEtBQUs7eUJBR0wsV0FBVyxTQUFDLG1CQUFtQixjQUMvQixLQUFLO3VCQUdMLEtBQUs7aUNBaUJMLE1BQU07NkJBR04sTUFBTTs4QkFHTixNQUFNOytCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25DYWNoZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XG5pbXBvcnQgeyBJY29uRW51bSB9IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcbmltcG9ydCB7IEFydGljbGVRdWFudGl0eSB9IGZyb20gJy4uLy4uL21vZGVsL2FydGljbGUtcXVhbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgUHJvZHVjdENvbm5lY3RvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdEV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHJvZHVjdC1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFydGljbGVGdWxsT2JqZWN0IH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mdWxsLW9iamVjdCc7XG5pbXBvcnQge0NvbmZpZ3VyYXRvclN0YXRpc3RpY3NFbnZpcm9ubWVudH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvY29uZmlndXJhdG9yLXN0YXRpc3RpY3MtZW52aXJvbm1lbnQnO1xuaW1wb3J0IHtQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QtZXh0ZW5kZWQuYm8nO1xuaW1wb3J0IHtFeHRlcm5hbFNvdXJjZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtc291cmNlLmJvJztcbmltcG9ydCB7UHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LWFkZHRvY2FydCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImF0Yy13cmFwcGVyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNSZXR1cm5cIj5cbiAgICAgICAgPGNvLW51bWJlci1waWNrZXIgKm5nSWY9XCIhY29uZmlndXJhYmxlICYmICFjb25maWd1cmluZ1wiIGNsYXNzPVwicXVhbnRpdHktc2VsZWN0XCIgWyhtb2RlbCldPVwicXVhbnRpdHlcIiBbbWluXT1cIi0xMDBcIiBob3Jpem9udGFsPjwvY28tbnVtYmVyLXBpY2tlcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzUmV0dXJuXCI+XG4gICAgICAgIDxjby1udW1iZXItcGlja2VyICpuZ0lmPVwiIWNvbmZpZ3VyYWJsZSAmJiAhY29uZmlndXJpbmdcIiBjbGFzcz1cInF1YW50aXR5LXNlbGVjdFwiIFsobW9kZWwpXT1cInF1YW50aXR5XCIgW21pbl09XCIxXCIgaG9yaXpvbnRhbD48L2NvLW51bWJlci1waWNrZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi13cmFwcGVyXCIgKm5nSWY9XCJjb25maWd1cmFibGVcIj5cbiAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNvbmZpZ3VyZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGUuZ2V0SWNvbihpY29uLk1hZ2ljV2FuZClcIlxuICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQ09ORklHVVJFJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJzdGFydENvbmZpZ3VyYXRpb24uZW1pdCgpXCJcbiAgICAgICAgPjwvY28tYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXdyYXBwZXJcIiAqbmdJZj1cInNob3dBZGRUb0NhcnQgJiYgIWNvbmZpZ3VyYWJsZVwiPlxuICAgICAgICA8Y28tYnV0dG9uICNhZGR0b2NhcnRidXR0b24gY2xhc3M9XCJjYXJ0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZS5nZXRJY29uKGljb24uQWRkVG9DYXJ0RHJvcClcIlxuICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInU0hPUFBJTkdfQ0FSVF9JTicgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQWRkVG9DYXJ0Q2xpY2socXVhbnRpdHkpXCJcbiAgICAgICAgPjwvY28tYnV0dG9uPlxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2FydC1idXR0b24gcXVvdGVcIiAqbmdJZj1cInNob3dRdW90ZUJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZS5nZXRJY29uKGljb24uUXVvdGUpXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1FVT1RBVElPTicgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQWRkVG9RdW90ZUNsaWNrKHF1YW50aXR5KVwiXG4gICAgICAgID48L2NvLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LWFkZHRvY2FydC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RBZGR0b2NhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGljb246IHR5cGVvZiBJY29uRW51bSA9IEljb25FbnVtO1xuXG4gIEBWaWV3Q2hpbGQoJ2FkZHRvY2FydGJ1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgYWRkVG9DYXJ0QnV0dG9uOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlRnVsbE9iamVjdDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZXh0ZXJuYWxTb3VyY2U6IEV4dGVybmFsU291cmNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjcmVhdGVGcm96ZW5BcnRpY2xlOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29uZmlndXJhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbmZpZ3VyaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dBZGRUb0NhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNSZXR1cm46IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZ1bGwtc2NyZWVuJylcbiAgQElucHV0KClcbiAgcHVibGljIGZ1bGxzY3JlZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHF1YW50aXR5KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5pc1JldHVybikge1xuICAgICAgaWYgKHRoaXMuX3F1YW50aXR5ID09PSAxKSB7XG4gICAgICAgIHRoaXMuX3F1YW50aXR5ID0gLTE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9xdWFudGl0eSA9IHZhbHVlXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3F1YW50aXR5ID0gTWF0aC5tYXgoMSwgdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVhbnRpdHkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcXVhbnRpdHk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIHN0YXJ0Q29uZmlndXJhdGlvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWRkVG9DYXJ0Q2xpY2s6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhZGRUb1F1b3RlQ2xpY2s6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzaG93UmVsYXRlZFBvcHVwOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcblxuICBwdWJsaWMgc2hvd1F1b3RlQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfcXVhbnRpdHkgPSAxO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpY29uQ2FjaGU6IEljb25DYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfaW9uZUNvbnRyb2xsZXJTZXJ2aWNlOiBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSxcbiAgICBwcml2YXRlIF9hcHBFdmVudFNlcnZpY2U6IFByb2R1Y3RFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfc2V0dGluZ3NTZXJ2aWNlOiBQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlXG4gICAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYWRkVG9DYXJ0QnV0dG9uID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhhbmRsZUFkZFRvQ2FydENsaWNrKHF1YW50aXR5OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5jcmVhdGVGcm96ZW5BcnRpY2xlKSB7XG4gICAgICBpZiAodGhpcy5hcnRpY2xlLmdvb2RUeXBlID09PSAnQicpIHtcbiAgICAgICAgY29uc3QgYXJ0aWNsZSA9IGF3YWl0IHRoaXMuX2dldEpTT05Gcm9tQXJ0aWNsZU9iamVjdCh7YXJ0aWNsZTogdGhpcy5hcnRpY2xlLCBxdWFudGl0eTogcXVhbnRpdHl9KTtcbiAgICAgICAgaWYgKGFydGljbGUpIHtcbiAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQubmV4dCh7YXJ0aWNsZTogYXJ0aWNsZSwgcXVhbnRpdHk6IHF1YW50aXR5fSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBhcnRpY2xlOiBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkIHwgc3RyaW5nO1xuICAgICAgICBpZiAoISF0aGlzLmV4dGVybmFsU291cmNlKSB7XG4gICAgICAgICAgYXJ0aWNsZSA9IGF3YWl0IHRoaXMuX2dldEpTT05Gcm9tQXJ0aWNsZU9iamVjdCh7YXJ0aWNsZTogdGhpcy5hcnRpY2xlLCBxdWFudGl0eTogcXVhbnRpdHl9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhcnRpY2xlID0gdGhpcy5faW9uZUNvbnRyb2xsZXJTZXJ2aWNlLmNvbnZlcnRBcnRpY2xlRnVsbE9iamVjdFRvQXJ0aWNsZUV4dGVuZGVkKHRoaXMuYXJ0aWNsZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFydGljbGUpIHtcbiAgICAgICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb0NhcnQubmV4dCh7YXJ0aWNsZTogYXJ0aWNsZSwgcXVhbnRpdHk6IHF1YW50aXR5fSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYXJ0aWNsZTogQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCA9IHRoaXMuX2lvbmVDb250cm9sbGVyU2VydmljZS5jb252ZXJ0QXJ0aWNsZUZ1bGxPYmplY3RUb0FydGljbGVFeHRlbmRlZCh0aGlzLmFydGljbGUpO1xuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWRkVG9DYXJ0Lm5leHQoeyBhcnRpY2xlOiBhcnRpY2xlLCBxdWFudGl0eTogcXVhbnRpdHkgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGhhbmRsZUFkZFRvUXVvdGVDbGljayhxdWFudGl0eTogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWRkVG9RdW90ZS5uZXh0KGF3YWl0IHRoaXMuX2dldEpTT05Gcm9tQXJ0aWNsZU9iamVjdCh7YXJ0aWNsZTogdGhpcy5hcnRpY2xlLCBxdWFudGl0eTogcXVhbnRpdHl9KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9nZXRKU09ORnJvbUFydGljbGVPYmplY3QoYXJ0aWNsZTogQXJ0aWNsZVF1YW50aXR5KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBjb25maWd1cmF0b3JTdGF0aXN0aWNzID0gbmV3IENvbmZpZ3VyYXRvclN0YXRpc3RpY3NFbnZpcm9ubWVudCgpO1xuICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MudXNlclR5cGUgPSAnaU9uZVByb2R1Y3RQYWdlJztcbiAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzLnRyYW5zYWN0aW9uVHlwZSA9ICdTYWxlcyc7XG4gICAgY29uZmlndXJhdG9yU3RhdGlzdGljcy5hY3Rpb25Eb21haW4gPSAnYnVuZGxlJztcbiAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzLnNlc3Npb25JZCA9IHRoaXMuX3NldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZXNzaW9uID8gdGhpcy5fc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlc3Npb24uc2Vzc2lvbklkIDogJ3Vua25vd24nO1xuICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3Mud2ViSG9zdCA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xuICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MuYnVuZGxlSG9zdCA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xuICAgIHJldHVybiBhd2FpdCB0aGlzLl9pb25lQ29udHJvbGxlclNlcnZpY2UuZ2V0SnNvbkFydGljbGVGbGF0VHJlZShcbiAgICAgICAgYXJ0aWNsZS5hcnRpY2xlLmdvb2RJZCwgYXJ0aWNsZS5hcnRpY2xlLmdvb2RUeXBlLCBhcnRpY2xlLnF1YW50aXR5LCAhIXRoaXMuZXh0ZXJuYWxTb3VyY2UsIHRydWUsIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MpO1xuICB9XG59XG4iXX0=
@@ -148,8 +148,7 @@ export class ProductPageComponent {
148
148
  this._ione.getFullArticle(this._sku).then((article) => {
149
149
  this.article = article;
150
150
  if (this.article) {
151
- this.configurable = this.article.goodType === 'B' && (this.article.isConfigurable || this.article.isConfigurable === undefined);
152
- // this.configurable = this.article.goodType === 'B';
151
+ this.configurable = this.article.goodType === 'B';
153
152
  if (this.configurable) {
154
153
  this.showAddToCart = false;
155
154
  this.currentView = SelectorType.TwoD;
@@ -182,7 +181,7 @@ export class ProductPageComponent {
182
181
  ProductPageComponent.decorators = [
183
182
  { type: Component, args: [{
184
183
  selector: 'app-product-page',
185
- template: "<ng-container *ngIf=\"settingsLoaded\">\r\n <div class=\"page-wrapper\">\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <div class=\"product-image-container\">\r\n <div class=\"product-page-block-selector-type\">\r\n <app-product-selector-type class=\"default-padding\"\r\n [(currentType)]=\"currentView\"\r\n [show2D]=\"configurable\"\r\n [show3D]=\"threeD\"\r\n ></app-product-selector-type>\r\n </div>\r\n <div class=\"product-page-block-image default-padding\" [class.full]=\"fullScreen\">\r\n\r\n <app-image-carousel\r\n *ngIf=\"!enableRenderCarousel\"\r\n [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\"\r\n [images]=\"article?.images\"\r\n [showRefresh]=\"configurable && threeD\">\r\n </app-image-carousel>\r\n\r\n <app-render-carousel\r\n *ngIf=\"enableRenderCarousel\"\r\n [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\"\r\n [article]=\"article\">\r\n </app-render-carousel>\r\n\r\n <ng-container *ngIf=\"settingsLoaded && this.configurable\">\r\n <threed-configurator\r\n #configurator\r\n class=\"threed-configurator\"\r\n [class.configurator-full-screen]=\"fullScreen\"\r\n [@toggleVisibilityByState]=\"show3D ? 'show' : 'hide'\"\r\n [@toggleFullScreen]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n </threed-configurator>\r\n </ng-container>\r\n\r\n <co-icon #fullscreenbutton class=\"fullscreen-button\" *ngIf=\"show3D\"\r\n [@toggleTopLeft]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [iconData]=\"iconCache.getIcon(fullScreenIcon)\"\r\n (click)=\"showFullScreen()\"></co-icon>\r\n <co-icon class=\"threed-watermark\" *ngIf=\"show3D && fullScreen\"\r\n [iconData]=\"iconCache.getIcon(icon.Logo)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-description\">\r\n <app-product-description class=\"default-padding\" [article]=\"article\"></app-product-description>\r\n </div>\r\n <div class=\"product-page-block-additional\">\r\n <div class=\"product-page-block-additional-description\">\r\n <app-product-additional-description class=\"default-padding\" [article]=\"article\"></app-product-additional-description>\r\n </div>\r\n <div class=\"product-page-block-price\" [class.full]=\"configuring\">\r\n <app-product-price class=\"s-padding\" *ngIf=\"!configuring\"\r\n [pricing]=\"article?.pricing\"\r\n [configurable]=\"configurable\"\r\n ></app-product-price>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-selections #selections class=\"threed-selections\"\r\n [class.show-selections]=\"configuring\"\r\n [@toggleFullScreenRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [class.default-padding]=\"!fullScreen\"\r\n [class.show-full-screen]=\"fullScreen\"\r\n [class.mini-scrollbar]=\"fullScreen\"\r\n [sku]=\"sku\"\r\n [settings]=\"settings\"\r\n (onUserActionFromThreeD)=\"configuring = true\"\r\n (instanceSet)=\"setInstance($event)\"\r\n (onImageReceived)=\"appEventService.onImageReceived.next($event)\"\r\n (onRenderStarted)=\"appEventService.onRenderStarted.next()\"\r\n (onDraftRenderImageReceived)=\"appEventService.onDraftRenderImageReceived.next($event)\"\r\n (onArticleReceived)=\"appEventService.onArticleReceived.next($event.detail)\"\r\n (onSelectionsReceived)=\"appEventService.onSelectionsReceived.next($event.detail)\"\r\n (onArticleInfoReceived)=\"appEventService.onArticleInfoReceived.next($event.detail)\"\r\n (onAnswersAvailable)=\"appEventService.onAnswersAvailable.next($event.detail)\"\r\n (onReadyToRender)=\"appEventService.onReadyToRender.next($event.detail)\"\r\n (onRenderImageReceived)=\"appEventService.onRenderImageReceived.next($event.detail)\"\r\n ></threed-selections>\r\n </ng-container>\r\n </div>\r\n <div class=\"product-page-block-addtocart no-padding product-action-buttons\" *ngIf=\"!configuring\" [@toggleTopRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n <app-product-addtocart\r\n [configurable]=\"configurable\"\r\n [createFrozenArticle]=\"createFrozenArticle\"\r\n [configuring]=\"configuring\"\r\n [showAddToCart]=\"showAddToCart\"\r\n [article]=\"article\"\r\n [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n (showRelatedPopup)=\"handlePopUpChange($event)\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"addtocart-reserved product-action-buttons\" *ngIf=\"configuring\" [class.full-screen]=\"fullScreen\">\r\n <app-product-addtocart class=\"default-padding\"\r\n [configurable]=\"false\"\r\n [fullscreen]=\"fullScreen\"\r\n [showAddToCart]=\"showAddToCart\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"product-page-block-variants\">\r\n <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>\r\n </div>\r\n <div class=\"product-page-block-stock\">\r\n <app-product-stock class=\"no-padding\" [goodId]=\"article?.goodId\" (openStockEvent)=\"openStock()\"></app-product-stock>\r\n </div>\r\n <div class=\"product-page-block-delivery\">\r\n <app-product-delivery class=\"no-padding\" [stockAndDelivery]=\"stockAndDelivery\"></app-product-delivery>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <app-product-info-tabs class=\"no-padding\" [article]=\"article\"></app-product-info-tabs>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-related s-padding\">\r\n <app-product-related\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"1\"\r\n [label]=\"'RELATED_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content no-top-margin\">\r\n <div class=\"page-wrapper-full\">\r\n <div class=\"product-page-block-alternatives s-padding\">\r\n <app-product-related\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"4\"\r\n [isSmallModus]=\"false\"\r\n [label]=\"'ALTERNATIVE_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"showRelatedProductsPopup\">\r\n <co-product-dialog\r\n [mainArticle]=\"article\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"1\"\r\n (closeRelatedPopup)=\"handlePopUpChange($event)\"\r\n >\r\n </co-product-dialog>\r\n\r\n <!-- <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"-->\r\n <!-- [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>-->\r\n </div>\r\n\r\n\r\n </div>\r\n</ng-container>\r\n",
184
+ template: "<ng-container *ngIf=\"settingsLoaded\">\r\n <div class=\"page-wrapper\">\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <div class=\"product-image-container\">\r\n <div class=\"product-page-block-selector-type\">\r\n <app-product-selector-type class=\"default-padding\"\r\n [(currentType)]=\"currentView\"\r\n [show2D]=\"configurable\"\r\n [show3D]=\"threeD\"\r\n ></app-product-selector-type>\r\n </div>\r\n <div class=\"product-page-block-image default-padding\" [class.full]=\"fullScreen\">\r\n\r\n <app-image-carousel\r\n *ngIf=\"!enableRenderCarousel\"\r\n [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\"\r\n [images]=\"article?.images\"\r\n [showRefresh]=\"configurable && threeD\">\r\n </app-image-carousel>\r\n\r\n <app-render-carousel\r\n *ngIf=\"enableRenderCarousel\"\r\n [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\"\r\n [article]=\"article\">\r\n </app-render-carousel>\r\n\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-configurator\r\n #configurator\r\n class=\"threed-configurator\"\r\n [class.configurator-full-screen]=\"fullScreen\"\r\n [@toggleVisibilityByState]=\"show3D ? 'show' : 'hide'\"\r\n [@toggleFullScreen]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n </threed-configurator>\r\n </ng-container>\r\n\r\n <co-icon #fullscreenbutton class=\"fullscreen-button\" *ngIf=\"show3D\"\r\n [@toggleTopLeft]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [iconData]=\"iconCache.getIcon(fullScreenIcon)\"\r\n (click)=\"showFullScreen()\"></co-icon>\r\n <co-icon class=\"threed-watermark\" *ngIf=\"show3D && fullScreen\"\r\n [iconData]=\"iconCache.getIcon(icon.Logo)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-description\">\r\n <app-product-description class=\"default-padding\" [article]=\"article\"></app-product-description>\r\n </div>\r\n <div class=\"product-page-block-additional\">\r\n <div class=\"product-page-block-additional-description\">\r\n <app-product-additional-description class=\"default-padding\" [article]=\"article\"></app-product-additional-description>\r\n </div>\r\n <div class=\"product-page-block-price\" [class.full]=\"configuring\">\r\n <app-product-price class=\"s-padding\" *ngIf=\"!configuring\"\r\n [pricing]=\"article?.pricing\"\r\n [configurable]=\"configurable\"\r\n ></app-product-price>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-selections #selections class=\"threed-selections\"\r\n [class.show-selections]=\"configuring\"\r\n [@toggleFullScreenRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [class.default-padding]=\"!fullScreen\"\r\n [class.show-full-screen]=\"fullScreen\"\r\n [class.mini-scrollbar]=\"fullScreen\"\r\n [sku]=\"sku\"\r\n [settings]=\"settings\"\r\n (onUserActionFromThreeD)=\"configuring = true\"\r\n (instanceSet)=\"setInstance($event)\"\r\n (onImageReceived)=\"appEventService.onImageReceived.next($event)\"\r\n (onRenderStarted)=\"appEventService.onRenderStarted.next()\"\r\n (onDraftRenderImageReceived)=\"appEventService.onDraftRenderImageReceived.next($event)\"\r\n (onArticleReceived)=\"appEventService.onArticleReceived.next($event.detail)\"\r\n (onSelectionsReceived)=\"appEventService.onSelectionsReceived.next($event.detail)\"\r\n (onArticleInfoReceived)=\"appEventService.onArticleInfoReceived.next($event.detail)\"\r\n (onAnswersAvailable)=\"appEventService.onAnswersAvailable.next($event.detail)\"\r\n (onReadyToRender)=\"appEventService.onReadyToRender.next($event.detail)\"\r\n (onRenderImageReceived)=\"appEventService.onRenderImageReceived.next($event.detail)\"\r\n ></threed-selections>\r\n </ng-container>\r\n </div>\r\n <div class=\"product-page-block-addtocart no-padding product-action-buttons\" *ngIf=\"!configuring\" [@toggleTopRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n <app-product-addtocart\r\n [configurable]=\"configurable\"\r\n [createFrozenArticle]=\"createFrozenArticle\"\r\n [configuring]=\"configuring\"\r\n [showAddToCart]=\"showAddToCart\"\r\n [article]=\"article\"\r\n [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n (showRelatedPopup)=\"handlePopUpChange($event)\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"addtocart-reserved product-action-buttons\" *ngIf=\"configuring\" [class.full-screen]=\"fullScreen\">\r\n <app-product-addtocart class=\"default-padding\"\r\n [configurable]=\"false\"\r\n [fullscreen]=\"fullScreen\"\r\n [showAddToCart]=\"showAddToCart\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"product-page-block-variants\">\r\n <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>\r\n </div>\r\n <div class=\"product-page-block-stock\">\r\n <app-product-stock class=\"no-padding\" [goodId]=\"article?.goodId\" (openStockEvent)=\"openStock()\"></app-product-stock>\r\n </div>\r\n <div class=\"product-page-block-delivery\">\r\n <app-product-delivery class=\"no-padding\" [stockAndDelivery]=\"stockAndDelivery\"></app-product-delivery>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <app-product-info-tabs class=\"no-padding\" [article]=\"article\"></app-product-info-tabs>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-related s-padding\">\r\n <app-product-related\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"1\"\r\n [label]=\"'RELATED_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content no-top-margin\">\r\n <div class=\"page-wrapper-full\">\r\n <div class=\"product-page-block-alternatives s-padding\">\r\n <app-product-related\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"4\"\r\n [isSmallModus]=\"false\"\r\n [label]=\"'ALTERNATIVE_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"showRelatedProductsPopup\">\r\n <co-product-dialog\r\n [mainArticle]=\"article\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"1\"\r\n (closeRelatedPopup)=\"handlePopUpChange($event)\"\r\n >\r\n </co-product-dialog>\r\n\r\n <!-- <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"-->\r\n <!-- [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>-->\r\n </div>\r\n\r\n\r\n </div>\r\n</ng-container>\r\n",
186
185
  animations: [
187
186
  trigger('toggleFullScreen', [
188
187
  state('fullscreen', style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
@@ -239,4 +238,4 @@ ProductPageComponent.propDecorators = {
239
238
  enableRenderCarousel: [{ type: Input }],
240
239
  openStockEvent: [{ type: Output }]
241
240
  };
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXBhZ2UvcHJvZHVjdC1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUFFLFlBQVksRUFDeEIsS0FBSyxFQUVHLE1BQU0sRUFDZCxTQUFTLEVBQ1QsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBR2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQTBDMUUsTUFBTSxPQUFPLG9CQUFvQjtJQStHL0IsWUFBb0IsS0FBOEIsRUFDOUIsU0FBb0IsRUFDcEIsZUFBa0MsRUFDbkMsU0FBMkIsRUFDM0IsZUFBdUMsRUFDdkMsZUFBb0M7UUFMbkMsVUFBSyxHQUFMLEtBQUssQ0FBeUI7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Is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QUFFLElBQUksRUFBRSxVQUFVLEVBQUU7K0JBRzVDLFNBQVMsU0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7a0JBR2xELEtBQUs7dUJBa0JMLEtBQUs7NkJBV0wsS0FBSztrQ0FHTCxLQUFLO3VCQUdMLEtBQUs7dUNBR0wsS0FBSzttQ0FHTCxLQUFLOzZCQUdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci5zZXJ2aWNlJztcbmltcG9ydCB7IEFydGljbGVGdWxsT2JqZWN0IH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mdWxsLW9iamVjdCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b2NrQW5kRGVsaXZlcnkgfSBmcm9tICcuLi8uLi9tb2RlbC9zdG9jay1hbmQtZGVsaXZlcnknO1xuaW1wb3J0IHsgU2VsZWN0b3JUeXBlIH0gZnJvbSAnLi4vLi4vZW51bS9zZWxlY3Rvci10eXBlLmVudW0nO1xuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBJY29uRW51bSB9IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcbmltcG9ydCB7IEljb25DYWNoZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdEV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHJvZHVjdC1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IERlbGl2ZXJ5UHJvZ25vc2lzIH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZGVsaXZlcnktcHJvZ25vc2lzJztcbmltcG9ydCB7RXh0ZXJuYWxTb3VyY2V9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2V4dGVybmFsLXNvdXJjZS5ibyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LXBhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdC1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC1wYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCd0b2dnbGVGdWxsU2NyZWVuJywgW1xuICAgICAgc3RhdGUoJ2Z1bGxzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJ2ZpeGVkJywgJ3RvcCc6ICcwJywgJ2xlZnQnOiAnMCcsICd3aWR0aCc6ICcxMDAlJywgJ2hlaWdodCc6ICcxMDAlJ30pKSxcbiAgICAgIHN0YXRlKCdoYWxmc2NyZWVuJywgc3R5bGUoeydwb3NpdGlvbic6ICcqJywgJ3RvcCc6ICcqJywgJ2xlZnQnOiAnKicsICd3aWR0aCc6ICcqJywgJ2hlaWdodCc6ICcqJ30pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2hhbGZzY3JlZW4gPD0+IGZ1bGxzY3JlZW4nLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCd0b2dnbGVUb3BMZWZ0JywgW1xuICAgICAgc3RhdGUoJ2Z1bGxzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJ2ZpeGVkJywgJ3RvcCc6ICcwJywgJ2xlZnQnOiAnMCd9KSksXG4gICAgICBzdGF0ZSgnaGFsZnNjcmVlbicsIHN0eWxlKHsncG9zaXRpb24nOiAnYWJzb2x1dGUnLCAndG9wJzogJyonLCAnbGVmdCc6ICcqJ30pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2hhbGZzY3JlZW4gPD0+IGZ1bGxzY3JlZW4nLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCd0b2dnbGVUb3BSaWdodCcsIFtcbiAgICAgIHN0YXRlKCdmdWxsc2NyZWVuJywgc3R5bGUoeydwb3NpdGlvbic6ICdmaXhlZCcsICd0b3AnOiAnMCcsICdyaWdodCc6ICcwJ30pKSxcbiAgICAgIHN0YXRlKCdoYWxmc2NyZWVuJywgc3R5bGUoeydwb3NpdGlvbic6ICcqJywgJ3RvcCc6ICcqJywgJ3JpZ2h0JzogJyonfSkpLFxuICAgICAgdHJhbnNpdGlvbignaGFsZnNjcmVlbiA8PT4gZnVsbHNjcmVlbicsIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4tb3V0JykpLFxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ3RvZ2dsZUZ1bGxTY3JlZW5SaWdodCcsIFtcbiAgICAgIHN0YXRlKCdmdWxsc2NyZWVuJywgc3R5bGUoeydwb3NpdGlvbic6ICdmaXhlZCcsICd3aWR0aCc6ICc0MDBweCcsICd0b3AnOiAnMCcsICdyaWdodCc6ICcwJ30pKSxcbiAgICAgIHN0YXRlKCdoYWxmc2NyZWVuJywgc3R5bGUoeydwb3NpdGlvbic6ICcqJywgJ3dpZHRoJzogJyonLCAndG9wJzogJyonLCAncmlnaHQnOiAnKid9KSksXG4gICAgICB0cmFuc2l0aW9uKCdoYWxmc2NyZWVuIDw9PiBmdWxsc2NyZWVuJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1pbi1vdXQnKSksXG4gICAgXSksXG4gICAgdHJpZ2dlcigndG9nZ2xlVmlzaWJpbGl0eUJ5U3RhdGUnLCBbXG4gICAgICBzdGF0ZSgnaGlkZScsIHN0eWxlKHsnb3BhY2l0eSc6ICcwJywgJ2Rpc3BsYXknOiAnbm9uZSd9KSksXG4gICAgICBzdGF0ZSgnc2hvdycsIHN0eWxlKHsnZGlzcGxheSc6ICdibG9jaycsICdvcGFjaXR5JzogJzEnfSkpLFxuICAgICAgdHJhbnNpdGlvbignaGlkZSA8PT4gc2hvdycsIGFuaW1hdGUoJzIwMG1zIDEwMG1zIGVhc2UtaW4tb3V0JykpLFxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ3RvZ2dsZVZpc2liaWxpdHknLCBbXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHsnb3BhY2l0eSc6ICcwJ30pKSxcbiAgICAgIHN0YXRlKCcqJywgc3R5bGUoeydvcGFjaXR5JzogJzEnfSkpLFxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1pbi1vdXQnKSksXG4gICAgXSlcbiAgXSxcblxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0UGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIHJlYWRvbmx5IGljb246IHR5cGVvZiBJY29uRW51bSA9IEljb25FbnVtO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbmZpZ3VyYXRvcicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgY29uZmlndXJhdG9yOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdGlvbnMnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIHNlbGVjdGlvbnM6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnZnVsbHNjcmVlbmJ1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgZnVsbHNjcmVlbmJ1dHRvbjogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNrdSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5jb25maWd1cmluZykge1xuICAgICAgICB0aGlzLnNob3czRCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZ1bGxTY3JlZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb25maWd1cmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9za3UgPSB2YWx1ZTtcbiAgICAgIHRoaXMuX2dldEFydGljbGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNrdSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9za3U7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNldHRpbmdzKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuX3NldHRpbmdzID0gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBleHRlcm5hbFNvdXJjZTogRXh0ZXJuYWxTb3VyY2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNyZWF0ZUZyb3plbkFydGljbGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc1JldHVybjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93UmVsYXRlZFByb2R1Y3RzUG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZW5hYmxlUmVuZGVyQ2Fyb3VzZWw6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvcGVuU3RvY2tFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3MoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fc2V0dGluZ3M7XG4gIH1cblxuICBwdWJsaWMgc2V0IGZ1bGxTY3JlZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9mdWxsU2NyZWVuID0gdmFsdWU7XG4gICAgdGhpcy5mdWxsc2NyZWVuQW5pbWF0aW9uRW5kID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgLy8gICB0aGlzLmZ1bGxzY3JlZW5BbmltYXRpb25FbmQgPSB0cnVlO1xuICAgIC8vIH0sIDQwMClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZnVsbFNjcmVlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZnVsbFNjcmVlbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZnVsbFNjcmVlbkljb24oKTogSWNvbkVudW0ge1xuICAgIHJldHVybiB0aGlzLmZ1bGxTY3JlZW4gPyB0aGlzLmljb24uTm9ybWFsU2NyZWVuIDogdGhpcy5pY29uLkZ1bGxTY3JlZW47XG4gIH1cblxuICBwdWJsaWMgc2V0IGN1cnJlbnRWaWV3KHZhbHVlOiBTZWxlY3RvclR5cGUpIHtcbiAgICB0aGlzLl9jdXJyZW50VmlldyA9IHZhbHVlO1xuICAgIHRoaXMuc2hvdzJEID0gdGhpcy5fY3VycmVudFZpZXcgPT09IFNlbGVjdG9yVHlwZS5Ud29EO1xuICAgIHRoaXMuc2hvdzNEID0gdGhpcy5fY3VycmVudFZpZXcgPT09IFNlbGVjdG9yVHlwZS5UaHJlZUQ7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIGdldCBjdXJyZW50VmlldygpOiBTZWxlY3RvclR5cGUge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50VmlldztcbiAgfVxuXG5cblxuICBwdWJsaWMgYXJ0aWNsZTogQXJ0aWNsZUZ1bGxPYmplY3Q7XG4gIHB1YmxpYyBzdG9ja0FuZERlbGl2ZXJ5OiBTdG9ja0FuZERlbGl2ZXJ5O1xuICBwdWJsaWMgY29uZmlndXJhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyB0aHJlZUQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNlbGVjdG9yVHlwZTogU2VsZWN0b3JUeXBlO1xuICBwdWJsaWMgc2hvdzJEOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIHNob3czRDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgY29uZmlndXJpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNob3dBZGRUb0NhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGZ1bGxzY3JlZW5BbmltYXRpb25FbmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNldHRpbmdzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3NrdTogc3RyaW5nO1xuICBwcml2YXRlIF9pbml0aWFsaXplZFN1YjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9mdWxsU2NyZWVuOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2N1cnJlbnRWaWV3OiBTZWxlY3RvclR5cGU7XG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgX3NldHRpbmdzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaW9uZTogUHJvZHVjdENvbm5lY3RvclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgcHVibGljIGljb25DYWNoZTogSWNvbkNhY2hlU2VydmljZSxcbiAgICAgICAgICAgICAgcHVibGljIHNldHRpbmdzU2VydmljZTogUHJvZHVjdFNldHRpbmdzU2VydmljZSxcbiAgICAgICAgICAgICAgcHVibGljIGFwcEV2ZW50U2VydmljZTogUHJvZHVjdEV2ZW50U2VydmljZVxuICApIHtcbiAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICB0aGlzLmFwcEV2ZW50U2VydmljZS5vbkZvcmNlUmVuZGVySW1hZ2Uuc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbnMubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0aW9ucy5uYXRpdmVFbGVtZW50LmZvcmNlUmVuZGVySW1hZ2UoKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5nc0xvYWRlZC5zdWJzY3JpYmUobG9hZGVkID0+IHRoaXMuX2hhbmRsZVNldHRpbmdzTG9hZGVkKGxvYWRlZCkpLFxuICAgICAgdGhpcy5faW9uZS5jb250cm9sbGVySW5pdGlhbGl6ZWQuc3Vic2NyaWJlKChpbml0aWFsaXplZDogYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLnNldHRpbmdzTG9hZGVkID0gaW5pdGlhbGl6ZWQ7XG4gICAgICB9KSxcbiAgICAgIHRoaXMuYXBwRXZlbnRTZXJ2aWNlLm9uQW5zd2Vyc0F2YWlsYWJsZS5zdWJzY3JpYmUoKGFuc3dlcnMpID0+IHtcbiAgICAgICAgaWYgKGFuc3dlcnMgJiYgdGhpcy5jb25maWd1cmFibGUpIHtcbiAgICAgICAgICB0aGlzLnNob3dBZGRUb0NhcnQgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNob3dBZGRUb0NhcnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRoaXMuYXBwRXZlbnRTZXJ2aWNlLm9uR2V0UmVuZGVyRm9yUmVuZGVyQ2Fyb3VzZWwuc3Vic2NyaWJlKChyZW5kZXJQYXJhbWV0ZXJzOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9ucy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3Rpb25zLm5hdGl2ZUVsZW1lbnQuZ2V0UmVuZGVyRm9yUmVuZGVyQ2Fyb3VzZWwocmVuZGVyUGFyYW1ldGVycyk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuX3NldHRpbmdzKSB7XG4gICAgICB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncyA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmNyZWF0ZVNldHRpbmdzRnJvbU9iamVjdCh0aGlzLl9zZXR0aW5ncyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NldHRpbmdzID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3M7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWRTdWIpIHtcbiAgICAgIHRoaXMuX2luaXRpYWxpemVkU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuY29uZmlndXJhdG9yID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuc2VsZWN0aW9ucyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmZ1bGxzY3JlZW5idXR0b24gPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0SW5zdGFuY2UoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmRldGFpbCkge1xuICAgICAgdGhpcy5faW9uZS5zZXRJbnN0YW5jZShldmVudC5kZXRhaWwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVTdGFydENvbmZpZ3VyYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWd1cmluZyA9IHRydWU7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIHNob3dGdWxsU2NyZWVuKCk6IHZvaWQge1xuICAgIHRoaXMuZnVsbFNjcmVlbiA9ICF0aGlzLmZ1bGxTY3JlZW47XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTZXR0aW5nc0xvYWRlZChsb2FkZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAobG9hZGVkKSB7XG4gICAgICB0aGlzLl9pb25lLmluaXRDb25uZWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZ2V0QXJ0aWNsZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWRTdWIpIHtcbiAgICAgIHRoaXMuX2luaXRpYWxpemVkU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuX2luaXRpYWxpemVkU3ViID0gdGhpcy5faW9uZS5jb250cm9sbGVySW5pdGlhbGl6ZWQuc3Vic2NyaWJlKGFzeW5jIChpbml0OiBib29sZWFuKSA9PiB7XG4gICAgICBpZiAoaW5pdCkge1xuICAgICAgICB0aGlzLl9pb25lLmdldEZ1bGxBcnRpY2xlKHRoaXMuX3NrdSkudGhlbigoYXJ0aWNsZTogQXJ0aWNsZUZ1bGxPYmplY3QpID0+IHtcbiAgICAgICAgICB0aGlzLmFydGljbGUgPSBhcnRpY2xlO1xuICAgICAgICAgIGlmICh0aGlzLmFydGljbGUpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhYmxlID0gdGhpcy5hcnRpY2xlLmdvb2RUeXBlID09PSAnQicgJiYgKHRoaXMuYXJ0aWNsZS5pc0NvbmZpZ3VyYWJsZSB8fCB0aGlzLmFydGljbGUuaXNDb25maWd1cmFibGUgPT09IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAvLyB0aGlzLmNvbmZpZ3VyYWJsZSA9IHRoaXMuYXJ0aWNsZS5nb29kVHlwZSA9PT0gJ0InO1xuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhYmxlKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2hvd0FkZFRvQ2FydCA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRWaWV3ID0gU2VsZWN0b3JUeXBlLlR3b0Q7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLnNob3dBZGRUb0NhcnQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy50aHJlZUQgPSB0aGlzLmFydGljbGUuaXMzRDtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0b3JUeXBlID0gdGhpcy5hcnRpY2xlLnNlbGVjdG9yVHlwZUN1c3RvbWVyO1xuICAgICAgICAgICAgdGhpcy5faW9uZS5nZXREZWxpdmVyeVByb2dub3Npcyh0aGlzLmFydGljbGUuZ29vZElkKS50aGVuKChzdG9ja0luZm86IERlbGl2ZXJ5UHJvZ25vc2lzKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHN0b2NrQW5kRGVsaXZlcnk6IERlbGl2ZXJ5UHJvZ25vc2lzID0gc3RvY2tJbmZvO1xuICAgICAgICAgICAgICB0aGlzLnN0b2NrQW5kRGVsaXZlcnkgPSBuZXcgU3RvY2tBbmREZWxpdmVyeSgwLCBzdG9ja0FuZERlbGl2ZXJ5LnJldHVyblZhbHVlID8gc3RvY2tBbmREZWxpdmVyeS5yZXR1cm5WYWx1ZSA6ICcgJyk7XG4gICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zaG93UmVsYXRlZFByb2R1Y3RzUG9wdXAgPSBmYWxzZTtcbiAgfVxuICBwdWJsaWMgb3BlblN0b2NrKCkge1xuICAgIHRoaXMub3BlblN0b2NrRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZVBvcFVwQ2hhbmdlKGV2ZW50OiBib29sZWFuKXtcbiAgICB0aGlzLnNob3dSZWxhdGVkUHJvZHVjdHNQb3B1cCA9IGV2ZW50O1xuICB9XG59XG4iXX0=
241
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wcm9kdWN0LXBhZ2UvcHJvZHVjdC1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUFFLFlBQVksRUFDeEIsS0FBSyxFQUVHLE1BQU0sRUFDZCxTQUFTLEVBQ1QsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBR2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQTBDMUUsTUFBTSxPQUFPLG9CQUFvQjtJQStHL0IsWUFBb0IsS0FBOEIsRUFDOUIsU0FBb0IsRUFDcEIsZUFBa0MsRUFDbkMsU0FBMkIsRUFDM0IsZUFBdUMsRUFDdkMsZUFBb0M7UUFMbkMsVUFBSyxHQUFMLEtBQUssQ0FBeUI7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFDbkMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Is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QkwsS0FBSzs2QkFXTCxLQUFLO2tDQUdMLEtBQUs7dUJBR0wsS0FBSzt1Q0FHTCxLQUFLO21DQUdMLEtBQUs7NkJBR0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LCBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjdENvbm5lY3RvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXJ0aWNsZUZ1bGxPYmplY3QgfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZ1bGwtb2JqZWN0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RvY2tBbmREZWxpdmVyeSB9IGZyb20gJy4uLy4uL21vZGVsL3N0b2NrLWFuZC1kZWxpdmVyeSc7XG5pbXBvcnQgeyBTZWxlY3RvclR5cGUgfSBmcm9tICcuLi8uLi9lbnVtL3NlbGVjdG9yLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEljb25FbnVtIH0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xuaW1wb3J0IHsgSWNvbkNhY2hlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1Y3RTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0RXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9wcm9kdWN0LWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVsaXZlcnlQcm9nbm9zaXMgfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9kZWxpdmVyeS1wcm9nbm9zaXMnO1xuaW1wb3J0IHtFeHRlcm5hbFNvdXJjZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtc291cmNlLmJvJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3RvZ2dsZUZ1bGxTY3JlZW4nLCBbXG4gICAgICBzdGF0ZSgnZnVsbHNjcmVlbicsIHN0eWxlKHsncG9zaXRpb24nOiAnZml4ZWQnLCAndG9wJzogJzAnLCAnbGVmdCc6ICcwJywgJ3dpZHRoJzogJzEwMCUnLCAnaGVpZ2h0JzogJzEwMCUnfSkpLFxuICAgICAgc3RhdGUoJ2hhbGZzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJyonLCAndG9wJzogJyonLCAnbGVmdCc6ICcqJywgJ3dpZHRoJzogJyonLCAnaGVpZ2h0JzogJyonfSkpLFxuICAgICAgdHJhbnNpdGlvbignaGFsZnNjcmVlbiA8PT4gZnVsbHNjcmVlbicsIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4tb3V0JykpLFxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ3RvZ2dsZVRvcExlZnQnLCBbXG4gICAgICBzdGF0ZSgnZnVsbHNjcmVlbicsIHN0eWxlKHsncG9zaXRpb24nOiAnZml4ZWQnLCAndG9wJzogJzAnLCAnbGVmdCc6ICcwJ30pKSxcbiAgICAgIHN0YXRlKCdoYWxmc2NyZWVuJywgc3R5bGUoeydwb3NpdGlvbic6ICdhYnNvbHV0ZScsICd0b3AnOiAnKicsICdsZWZ0JzogJyonfSkpLFxuICAgICAgdHJhbnNpdGlvbignaGFsZnNjcmVlbiA8PT4gZnVsbHNjcmVlbicsIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4tb3V0JykpLFxuICAgIF0pLFxuICAgIHRyaWdnZXIoJ3RvZ2dsZVRvcFJpZ2h0JywgW1xuICAgICAgc3RhdGUoJ2Z1bGxzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJ2ZpeGVkJywgJ3RvcCc6ICcwJywgJ3JpZ2h0JzogJzAnfSkpLFxuICAgICAgc3RhdGUoJ2hhbGZzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJyonLCAndG9wJzogJyonLCAncmlnaHQnOiAnKid9KSksXG4gICAgICB0cmFuc2l0aW9uKCdoYWxmc2NyZWVuIDw9PiBmdWxsc2NyZWVuJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1pbi1vdXQnKSksXG4gICAgXSksXG4gICAgdHJpZ2dlcigndG9nZ2xlRnVsbFNjcmVlblJpZ2h0JywgW1xuICAgICAgc3RhdGUoJ2Z1bGxzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJ2ZpeGVkJywgJ3dpZHRoJzogJzQwMHB4JywgJ3RvcCc6ICcwJywgJ3JpZ2h0JzogJzAnfSkpLFxuICAgICAgc3RhdGUoJ2hhbGZzY3JlZW4nLCBzdHlsZSh7J3Bvc2l0aW9uJzogJyonLCAnd2lkdGgnOiAnKicsICd0b3AnOiAnKicsICdyaWdodCc6ICcqJ30pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2hhbGZzY3JlZW4gPD0+IGZ1bGxzY3JlZW4nLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCd0b2dnbGVWaXNpYmlsaXR5QnlTdGF0ZScsIFtcbiAgICAgIHN0YXRlKCdoaWRlJywgc3R5bGUoeydvcGFjaXR5JzogJzAnLCAnZGlzcGxheSc6ICdub25lJ30pKSxcbiAgICAgIHN0YXRlKCdzaG93Jywgc3R5bGUoeydkaXNwbGF5JzogJ2Jsb2NrJywgJ29wYWNpdHknOiAnMSd9KSksXG4gICAgICB0cmFuc2l0aW9uKCdoaWRlIDw9PiBzaG93JywgYW5pbWF0ZSgnMjAwbXMgMTAwbXMgZWFzZS1pbi1vdXQnKSksXG4gICAgXSksXG4gICAgdHJpZ2dlcigndG9nZ2xlVmlzaWJpbGl0eScsIFtcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeydvcGFjaXR5JzogJzAnfSkpLFxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7J29wYWNpdHknOiAnMSd9KSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICBdKVxuICBdLFxuXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgcmVhZG9ubHkgaWNvbjogdHlwZW9mIEljb25FbnVtID0gSWNvbkVudW07XG5cbiAgQFZpZXdDaGlsZCgnY29uZmlndXJhdG9yJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHB1YmxpYyBjb25maWd1cmF0b3I6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0aW9ucycsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgc2VsZWN0aW9uczogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdmdWxsc2NyZWVuYnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHB1YmxpYyBmdWxsc2NyZWVuYnV0dG9uOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2t1KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZ3VyaW5nKSB7XG4gICAgICAgIHRoaXMuc2hvdzNEID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZnVsbFNjcmVlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvbmZpZ3VyaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3NrdSA9IHZhbHVlO1xuICAgICAgdGhpcy5fZ2V0QXJ0aWNsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2t1KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NrdTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2V0dGluZ3ModmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MgPSBKU09OLnBhcnNlKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIGV4dGVybmFsU291cmNlOiBFeHRlcm5hbFNvdXJjZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY3JlYXRlRnJvemVuQXJ0aWNsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzUmV0dXJuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dSZWxhdGVkUHJvZHVjdHNQb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbmFibGVSZW5kZXJDYXJvdXNlbDogYm9vbGVhbjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9wZW5TdG9ja0V2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIGdldCBzZXR0aW5ncygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9zZXR0aW5ncztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZnVsbFNjcmVlbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Z1bGxTY3JlZW4gPSB2YWx1ZTtcbiAgICB0aGlzLmZ1bGxzY3JlZW5BbmltYXRpb25FbmQgPSB0cnVlO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAvLyAgIHRoaXMuZnVsbHNjcmVlbkFuaW1hdGlvbkVuZCA9IHRydWU7XG4gICAgLy8gfSwgNDAwKVxuICB9XG5cbiAgcHVibGljIGdldCBmdWxsU2NyZWVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mdWxsU2NyZWVuO1xuICB9XG5cbiAgcHVibGljIGdldCBmdWxsU2NyZWVuSWNvbigpOiBJY29uRW51bSB7XG4gICAgcmV0dXJuIHRoaXMuZnVsbFNjcmVlbiA/IHRoaXMuaWNvbi5Ob3JtYWxTY3JlZW4gOiB0aGlzLmljb24uRnVsbFNjcmVlbjtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgY3VycmVudFZpZXcodmFsdWU6IFNlbGVjdG9yVHlwZSkge1xuICAgIHRoaXMuX2N1cnJlbnRWaWV3ID0gdmFsdWU7XG4gICAgdGhpcy5zaG93MkQgPSB0aGlzLl9jdXJyZW50VmlldyA9PT0gU2VsZWN0b3JUeXBlLlR3b0Q7XG4gICAgdGhpcy5zaG93M0QgPSB0aGlzLl9jdXJyZW50VmlldyA9PT0gU2VsZWN0b3JUeXBlLlRocmVlRDtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1cnJlbnRWaWV3KCk6IFNlbGVjdG9yVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWaWV3O1xuICB9XG5cblxuXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlRnVsbE9iamVjdDtcbiAgcHVibGljIHN0b2NrQW5kRGVsaXZlcnk6IFN0b2NrQW5kRGVsaXZlcnk7XG4gIHB1YmxpYyBjb25maWd1cmFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHRocmVlRDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2VsZWN0b3JUeXBlOiBTZWxlY3RvclR5cGU7XG4gIHB1YmxpYyBzaG93MkQ6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgc2hvdzNEOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjb25maWd1cmluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd0FkZFRvQ2FydDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgZnVsbHNjcmVlbkFuaW1hdGlvbkVuZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2V0dGluZ3NMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc2t1OiBzdHJpbmc7XG4gIHByaXZhdGUgX2luaXRpYWxpemVkU3ViOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgX2Z1bGxTY3JlZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY3VycmVudFZpZXc6IFNlbGVjdG9yVHlwZTtcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBfc2V0dGluZ3M6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pb25lOiBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICBwdWJsaWMgaWNvbkNhY2hlOiBJY29uQ2FjaGVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwdWJsaWMgc2V0dGluZ3NTZXJ2aWNlOiBQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlLFxuICAgICAgICAgICAgICBwdWJsaWMgYXBwRXZlbnRTZXJ2aWNlOiBQcm9kdWN0RXZlbnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgIHRoaXMuYXBwRXZlbnRTZXJ2aWNlLm9uRm9yY2VSZW5kZXJJbWFnZS5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9ucy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3Rpb25zLm5hdGl2ZUVsZW1lbnQuZm9yY2VSZW5kZXJJbWFnZSgpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzTG9hZGVkLnN1YnNjcmliZShsb2FkZWQgPT4gdGhpcy5faGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkKSksXG4gICAgICB0aGlzLl9pb25lLmNvbnRyb2xsZXJJbml0aWFsaXplZC5zdWJzY3JpYmUoKGluaXRpYWxpemVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0dGluZ3NMb2FkZWQgPSBpbml0aWFsaXplZDtcbiAgICAgIH0pLFxuICAgICAgdGhpcy5hcHBFdmVudFNlcnZpY2Uub25BbnN3ZXJzQXZhaWxhYmxlLnN1YnNjcmliZSgoYW5zd2VycykgPT4ge1xuICAgICAgICBpZiAoYW5zd2VycyAmJiB0aGlzLmNvbmZpZ3VyYWJsZSkge1xuICAgICAgICAgIHRoaXMuc2hvd0FkZFRvQ2FydCA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2hvd0FkZFRvQ2FydCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgdGhpcy5hcHBFdmVudFNlcnZpY2Uub25HZXRSZW5kZXJGb3JSZW5kZXJDYXJvdXNlbC5zdWJzY3JpYmUoKHJlbmRlclBhcmFtZXRlcnM6IGFueSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb25zLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGlvbnMubmF0aXZlRWxlbWVudC5nZXRSZW5kZXJGb3JSZW5kZXJDYXJvdXNlbChyZW5kZXJQYXJhbWV0ZXJzKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5fc2V0dGluZ3MpIHtcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UuY3JlYXRlU2V0dGluZ3NGcm9tT2JqZWN0KHRoaXMuX3NldHRpbmdzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2V0dGluZ3MgPSB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncztcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICAgIGlmICh0aGlzLl9pbml0aWFsaXplZFN1Yikge1xuICAgICAgdGhpcy5faW5pdGlhbGl6ZWRTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5jb25maWd1cmF0b3IgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zZWxlY3Rpb25zID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuZnVsbHNjcmVlbmJ1dHRvbiA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJbnN0YW5jZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuZGV0YWlsKSB7XG4gICAgICB0aGlzLl9pb25lLnNldEluc3RhbmNlKGV2ZW50LmRldGFpbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZVN0YXJ0Q29uZmlndXJhdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZ3VyaW5nID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0Z1bGxTY3JlZW4oKTogdm9pZCB7XG4gICAgdGhpcy5mdWxsU2NyZWVuID0gIXRoaXMuZnVsbFNjcmVlbjtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNldHRpbmdzTG9hZGVkKGxvYWRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChsb2FkZWQpIHtcbiAgICAgIHRoaXMuX2lvbmUuaW5pdENvbm5lY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9nZXRBcnRpY2xlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLl9pbml0aWFsaXplZFN1Yikge1xuICAgICAgdGhpcy5faW5pdGlhbGl6ZWRTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5faW5pdGlhbGl6ZWRTdWIgPSB0aGlzLl9pb25lLmNvbnRyb2xsZXJJbml0aWFsaXplZC5zdWJzY3JpYmUoYXN5bmMgKGluaXQ6IGJvb2xlYW4pID0+IHtcbiAgICAgIGlmIChpbml0KSB7XG4gICAgICAgIHRoaXMuX2lvbmUuZ2V0RnVsbEFydGljbGUodGhpcy5fc2t1KS50aGVuKChhcnRpY2xlOiBBcnRpY2xlRnVsbE9iamVjdCkgPT4ge1xuICAgICAgICAgIHRoaXMuYXJ0aWNsZSA9IGFydGljbGU7XG4gICAgICAgICAgaWYgKHRoaXMuYXJ0aWNsZSkge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmFibGUgPSB0aGlzLmFydGljbGUuZ29vZFR5cGUgPT09ICdCJztcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYWJsZSkge1xuICAgICAgICAgICAgICB0aGlzLnNob3dBZGRUb0NhcnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy5jdXJyZW50VmlldyA9IFNlbGVjdG9yVHlwZS5Ud29EO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5zaG93QWRkVG9DYXJ0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudGhyZWVEID0gdGhpcy5hcnRpY2xlLmlzM0Q7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdG9yVHlwZSA9IHRoaXMuYXJ0aWNsZS5zZWxlY3RvclR5cGVDdXN0b21lcjtcbiAgICAgICAgICAgIHRoaXMuX2lvbmUuZ2V0RGVsaXZlcnlQcm9nbm9zaXModGhpcy5hcnRpY2xlLmdvb2RJZCkudGhlbigoc3RvY2tJbmZvOiBEZWxpdmVyeVByb2dub3NpcykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzdG9ja0FuZERlbGl2ZXJ5OiBEZWxpdmVyeVByb2dub3NpcyA9IHN0b2NrSW5mbztcbiAgICAgICAgICAgICAgdGhpcy5zdG9ja0FuZERlbGl2ZXJ5ID0gbmV3IFN0b2NrQW5kRGVsaXZlcnkoMCwgc3RvY2tBbmREZWxpdmVyeS5yZXR1cm5WYWx1ZSA/IHN0b2NrQW5kRGVsaXZlcnkucmV0dXJuVmFsdWUgOiAnICcpO1xuICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc2hvd1JlbGF0ZWRQcm9kdWN0c1BvcHVwID0gZmFsc2U7XG4gIH1cbiAgcHVibGljIG9wZW5TdG9jaygpIHtcbiAgICB0aGlzLm9wZW5TdG9ja0V2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVQb3BVcENoYW5nZShldmVudDogYm9vbGVhbil7XG4gICAgdGhpcy5zaG93UmVsYXRlZFByb2R1Y3RzUG9wdXAgPSBldmVudDtcbiAgfVxufVxuIl19
@@ -1,11 +1,12 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
3
+ import { ProductConnectorService } from './service/product-connector.service';
3
4
  import { ProductEventService } from './service/product-event.service';
4
5
  import { ProductSettingsService } from './service/product-settings.service';
5
- import { ProductConnectorService } from './service/product-connector.service';
6
6
  import { ProductConnectorAdapterService } from './service/product-connector-adapter.service';
7
+ import { LocalStorageService } from "./bundle/service/local-storage.service";
7
8
  export class IoneProductComponent {
8
- constructor(_appEventService, _settingsService) {
9
+ constructor(_appEventService, _settingsService, _productConnectorService, _localStorageService) {
9
10
  // this.sku = 'CF-HILL';
10
11
  // this.sku = 'CF-ALMADA';
11
12
  // this.sku = 'CF-39904ANT';
@@ -23,8 +24,11 @@ export class IoneProductComponent {
23
24
  // this.sku = "1000612725";
24
25
  this._appEventService = _appEventService;
25
26
  this._settingsService = _settingsService;
27
+ this._productConnectorService = _productConnectorService;
28
+ this._localStorageService = _localStorageService;
26
29
  this.enableRenderCarousel = false;
27
30
  this.handleAddArticleInternally = true;
31
+ this.handleAddToCartInternally = false;
28
32
  this.onAddToCart = new EventEmitter();
29
33
  this.forceRenderImage = new EventEmitter();
30
34
  this.getRenderForRenderCarousel = new EventEmitter();
@@ -76,7 +80,31 @@ export class IoneProductComponent {
76
80
  }
77
81
  _handleAddToCart(data) {
78
82
  return __awaiter(this, void 0, void 0, function* () {
79
- this.onAddToCart.emit(data);
83
+ if (this.handleAddToCartInternally) {
84
+ if (data && data.article) {
85
+ if (typeof data.article === 'string') {
86
+ const article = JSON.parse(data.article);
87
+ if (article.selectorData && article.selectorData.compositions) { // configured (frozen) article
88
+ const transactionId = yield this._productConnectorService.addWebSessionTransactionLine(this._localStorageService.id, article.selectorData.compositions[0].compositionArticleNo, data.quantity);
89
+ if (transactionId) {
90
+ this._localStorageService.id = transactionId;
91
+ }
92
+ }
93
+ }
94
+ else { // flat (simple) article
95
+ if (data.article.hasOwnProperty('articleNr')) {
96
+ const transactionId = yield this._productConnectorService.addWebSessionTransactionLine(this._localStorageService.id, data.article['articleNr'], data.quantity);
97
+ if (transactionId) {
98
+ this._localStorageService.id = transactionId;
99
+ }
100
+ }
101
+ }
102
+ this.onAddToCart.next(data);
103
+ }
104
+ }
105
+ else {
106
+ this.onAddToCart.emit(data);
107
+ }
80
108
  });
81
109
  }
82
110
  openStock() {
@@ -110,7 +138,9 @@ IoneProductComponent.decorators = [
110
138
  ];
111
139
  IoneProductComponent.ctorParameters = () => [
112
140
  { type: ProductEventService },
113
- { type: ProductSettingsService }
141
+ { type: ProductSettingsService },
142
+ { type: ProductConnectorService },
143
+ { type: LocalStorageService }
114
144
  ];
115
145
  IoneProductComponent.propDecorators = {
116
146
  sku: [{ type: Input }],
@@ -119,6 +149,7 @@ IoneProductComponent.propDecorators = {
119
149
  enableRenderCarousel: [{ type: Input }],
120
150
  settings: [{ type: Input }],
121
151
  handleAddArticleInternally: [{ type: Input }],
152
+ handleAddToCartInternally: [{ type: Input }],
122
153
  onAddToCart: [{ type: Output }],
123
154
  forceRenderImage: [{ type: Output }],
124
155
  getRenderForRenderCarousel: [{ type: Output }],
@@ -130,4 +161,4 @@ IoneProductComponent.propDecorators = {
130
161
  openStockEvent: [{ type: Output }],
131
162
  onAnswersAvailable: [{ type: Output }]
132
163
  };
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uZS1wcm9kdWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvaW9uZS1wcm9kdWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0csT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFcEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFJMUUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUF5QjNGLE1BQU0sT0FBTyxvQkFBb0I7SUFvRS9CLFlBQ1UsZ0JBQXFDLEVBQ3JDLGdCQUF3QztRQUVoRCx3QkFBd0I7UUFDeEIsMEJBQTBCO1FBQzFCLDRCQUE0QjtRQUM1Qiw0QkFBNEI7UUFDNUIsb0JBQW9CO1FBQ3BCLDJCQUEyQjtRQUMzQiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIseUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2QiwyQkFBMkI7UUFDM0IscUJBQXFCO1FBQ3JCLDJCQUEyQjtRQWpCbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtRQUNyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBMUQzQyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFrQnRDLCtCQUEwQixHQUFZLElBQUksQ0FBQztRQUczQyxnQkFBVyxHQUFvRixJQUFJLFlBQVksRUFBcUUsQ0FBQztRQUdyTCxxQkFBZ0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdoRSwrQkFBMEIsR0FBc0IsSUFBSSxZQUFZLEVBQVEsQ0FBQztR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eSwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7UHJvZHVjdEV2ZW50U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3QtZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpc3Qtb2JqZWN0JztcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQge1NlbGVjdGlvbn0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc2VsZWN0aW9uJztcbmltcG9ydCB7QXJ0aWNsZVF1aWNrU2VsfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXF1aWNrLXNlbCc7XG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QtZXh0ZW5kZWQuYm8nO1xuaW1wb3J0IHtQcm9kdWN0Q29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtQcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2V9IGZyb20gJy4vc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci1hZGFwdGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW9uZS1wcm9kdWN0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YXBwLXByb2R1Y3QtcGFnZSAqbmdJZj1cInNldHRpbmdzTG9hZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY3JlYXRlRnJvemVuQXJ0aWNsZV09XCJoYW5kbGVBZGRBcnRpY2xlSW50ZXJuYWxseVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2lzUmV0dXJuXT1cImlzUmV0dXJuXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2t1XT1cInNrdVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dSZWxhdGVkUHJvZHVjdHNQb3B1cF09XCJzaG93UmVsYXRlZFByb2R1Y3RzUG9wdXBcIlxuICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGVSZW5kZXJDYXJvdXNlbF09XCJlbmFibGVSZW5kZXJDYXJvdXNlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgKG9wZW5TdG9ja0V2ZW50KT1cIm9wZW5TdG9jaygpXCJcbiAgICA+PC9hcHAtcHJvZHVjdC1wYWdlPlxuICAgIDwhLS0gIDxjby1idXR0b24gW2xhYmVsXT1cIidjbGljaydcIiAoY2xpY2spPVwic2hvd0hEID0gIXNob3dIRFwiPjwvY28tYnV0dG9uPlxuICAgICAgPGNvLXByb2R1Y3QtaGQgW3NrdV09XCInNjU3OTQ2Y2EtZTFlMS00MWZkLTdhZTAtMDhkYmY3ZGYwY2VmJ1wiICpuZ0lmPVwic2hvd0hEXCI+PC9jby1wcm9kdWN0LWhkPi0tPlxuICBgLFxuICBwcm92aWRlcnM6IFtcbiAgICBQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlLFxuICAgIFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlLFxuICAgIFByb2R1Y3RFdmVudFNlcnZpY2UsXG4gICAgUHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICBzdHlsZVVybHM6IFsnLi9pb25lLXByb2R1Y3QuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIElvbmVQcm9kdWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBza3U6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNSZXR1cm46IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dSZWxhdGVkUHJvZHVjdHNQb3B1cDogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZW5hYmxlUmVuZGVyQ2Fyb3VzZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNldHRpbmdzKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuX3NldHRpbmdzID0gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3MoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fc2V0dGluZ3M7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHk6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25BZGRUb0NhcnQ6IEV2ZW50RW1pdHRlcjx7IGFydGljbGU6IHN0cmluZyB8IEFydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWQsIHF1YW50aXR5OiBudW1iZXIgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgYXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlciB9PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZm9yY2VSZW5kZXJJbWFnZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0UmVuZGVyRm9yUmVuZGVyQ2Fyb3VzZWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25BbHRlcm5hdGl2ZUNsaWNrOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZUxpc3RPYmplY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnRpY2xlTGlzdE9iamVjdD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQXJ0aWNsZUluZm9SZWNlaXZlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQXJ0aWNsZVJlY2VpdmVkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZVF1aWNrU2VsPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZVF1aWNrU2VsPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25TZWxlY3Rpb25zUmVjZWl2ZWQ6IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25bXT4gPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGlvbltdPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25BZGRUb1F1b3RlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3BlblN0b2NrRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQW5zd2Vyc0F2YWlsYWJsZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBzZXR0aW5nc0xvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd0hEOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfc2V0dGluZ3M6IGFueTtcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvciAoXG4gICAgcHJpdmF0ZSBfYXBwRXZlbnRTZXJ2aWNlOiBQcm9kdWN0RXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3NldHRpbmdzU2VydmljZTogUHJvZHVjdFNldHRpbmdzU2VydmljZVxuICApIHtcbiAgICAvLyB0aGlzLnNrdSA9ICdDRi1ISUxMJztcbiAgICAvLyB0aGlzLnNrdSA9ICdDRi1BTE1BREEnO1xuICAgIC8vIHRoaXMuc2t1ID0gJ0NGLTM5OTA0QU5UJztcbiAgICAvLyB0aGlzLnNrdSA9ICdDRi0yMjM0NjAwMSc7XG4gICAgLy8gdGhpcy5za3UgPSAnMTA0JztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDAwNTYxOTg2JztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDAwNTY3NzY4JztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDAwNTY3NzY3JztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDY2JztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDQnO1xuICAgIC8vIHRoaXMuc2t1ID0gXCI3MDAwMDEwN1wiO1xuICAgIC8vIHRoaXMuc2t1ID0gXCJncm92ZXJcIjtcbiAgICAvLyB0aGlzLnNrdSA9IFwiMTAwMDYxMDk1MlwiO1xuICAgIC8vIHRoaXMuc2t1ID0gXCI0Mzg3XCI7XG4gICAgLy8gdGhpcy5za3UgPSBcIjEwMDA2MTI3MjVcIjtcblxuICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFkZFRvQ2FydC5zdWJzY3JpYmUoKGRhdGE6IHsgYXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlciB9KSA9PiB7XG4gICAgICAgIHRoaXMuX2hhbmRsZUFkZFRvQ2FydChkYXRhKTtcbiAgICAgIH0pLFxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWRkVG9RdW90ZS5zdWJzY3JpYmUoanNvbiA9PiB0aGlzLm9uQWRkVG9RdW90ZS5lbWl0KGpzb24pKSxcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFsdGVybmF0aXZlQ2xpY2suc3Vic2NyaWJlKGFydGljbGUgPT4gdGhpcy5vbkFsdGVybmF0aXZlQ2xpY2suZW1pdChhcnRpY2xlKSksXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BcnRpY2xlSW5mb1JlY2VpdmVkLnN1YnNjcmliZShpbmZvID0+IHRoaXMuX2hhbmRsZUFuc3dlckluZm9SZWNlaXZlZChpbmZvKSksXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BcnRpY2xlUmVjZWl2ZWQuc3Vic2NyaWJlKGFydGljbGUgPT4gdGhpcy5vbkFydGljbGVSZWNlaXZlZC5lbWl0KGFydGljbGUpKSxcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vblNlbGVjdGlvbnNSZWNlaXZlZC5zdWJzY3JpYmUoc2VsZWN0aW9ucyA9PiB0aGlzLm9uU2VsZWN0aW9uc1JlY2VpdmVkLmVtaXQoc2VsZWN0aW9ucykpLFxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQW5zd2Vyc0F2YWlsYWJsZS5zdWJzY3JpYmUoYW5zd2VycyA9PiB0aGlzLl9oYW5kbGVBbnN3ZXJzQXZhaWxhYmxlKGFuc3dlcnMpKSxcbiAgICAgIHRoaXMuX3NldHRpbmdzU2VydmljZS5zZXR0aW5nc0xvYWRlZC5zdWJzY3JpYmUobG9hZGVkID0+IHtcbiAgICAgICAgdGhpcy5zZXR0aW5nc0xvYWRlZCA9IGxvYWRlZDtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLl9zZXR0aW5nc1NlcnZpY2UuaW5pdGlhbGl6ZVNldHRpbmdzKHRoaXMuX3NldHRpbmdzID09PSB1bmRlZmluZWQpO1xuICAgIGlmICh0aGlzLl9zZXR0aW5ncykge1xuICAgICAgdGhpcy5fc2V0dGluZ3NTZXJ2aWNlLmNyZWF0ZVNldHRpbmdzRnJvbU9iamVjdCh0aGlzLl9zZXR0aW5ncyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUFuc3dlckluZm9SZWNlaXZlZChpbmZvOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm9uQXJ0aWNsZUluZm9SZWNlaXZlZC5uZXh0KGluZm8pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQW5zd2Vyc0F2YWlsYWJsZShhbnN3ZXJzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5vbkFuc3dlcnNBdmFpbGFibGUubmV4dChhbnN3ZXJzKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZUFkZFRvQ2FydChkYXRhOiB7IGFydGljbGU6IHN0cmluZyB8IEFydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWQsIHF1YW50aXR5OiBudW1iZXIgfSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMub25BZGRUb0NhcnQuZW1pdChkYXRhKTtcbiAgfVxuICBwdWJsaWMgb3BlblN0b2NrKCkge1xuICAgIHRoaXMub3BlblN0b2NrRXZlbnQuZW1pdCgpO1xuICB9XG59XG4iXX0=
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uZS1wcm9kdWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvaW9uZS1wcm9kdWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFNUUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFcEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFJMUUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDM0YsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUF5QjNFLE1BQU0sT0FBTyxvQkFBb0I7SUF1RS9CLFlBQ1UsZ0JBQXFDLEVBQ3JDLGdCQUF3QyxFQUN4Qyx3QkFBaUQsRUFDakQsb0JBQXlDO1FBRWpELHdCQUF3QjtRQUN4QiwwQkFBMEI7UUFDMUIsNEJBQTRCO1FBQzVCLDRCQUE0QjtRQUM1QixvQkFBb0I7UUFDcEIsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQiwyQkFBMkI7UUFDM0IscUJBQXFCO1FBQ3JCLG9CQUFvQjtRQUNwQix5QkFBeUI7UUFDekIsdUJBQXVCO1FBQ3ZCLDJCQUEyQjtRQUMzQixxQkFBcUI7UUFDckIsMkJBQTJCO1FBbkJuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBQ3JDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUFDeEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQUNqRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBL0Q1Qyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFrQnRDLCtCQUEw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SzttQ0FHTCxLQUFLO3VCQUdMLEtBQUs7eUNBZUwsS0FBSzt3Q0FHTCxLQUFLOzBCQUdMLE1BQU07K0JBR04sTUFBTTt5Q0FHTixNQUFNO2lDQUdOLE1BQU07b0NBR04sTUFBTTtnQ0FHTixNQUFNO21DQUdOLE1BQU07MkJBR04sTUFBTTs2QkFHTixNQUFNO2lDQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQcm9kdWN0Q29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQcm9kdWN0RXZlbnRTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvcHJvZHVjdC1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7QXJ0aWNsZUxpc3RPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QnO1xuaW1wb3J0IHtQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2UvcHJvZHVjdC1zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7U2VsZWN0aW9ufSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zZWxlY3Rpb24nO1xuaW1wb3J0IHtBcnRpY2xlUXVpY2tTZWx9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtcXVpY2stc2VsJztcbmltcG9ydCB7QXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1saXN0LW9iamVjdC1leHRlbmRlZC5ibyc7XG5pbXBvcnQge1Byb2R1Y3RDb25uZWN0b3JBZGFwdGVyU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQge0xvY2FsU3RvcmFnZVNlcnZpY2V9IGZyb20gXCIuL2J1bmRsZS9zZXJ2aWNlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW9uZS1wcm9kdWN0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YXBwLXByb2R1Y3QtcGFnZSAqbmdJZj1cInNldHRpbmdzTG9hZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY3JlYXRlRnJvemVuQXJ0aWNsZV09XCJoYW5kbGVBZGRBcnRpY2xlSW50ZXJuYWxseVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2lzUmV0dXJuXT1cImlzUmV0dXJuXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2t1XT1cInNrdVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dSZWxhdGVkUHJvZHVjdHNQb3B1cF09XCJzaG93UmVsYXRlZFByb2R1Y3RzUG9wdXBcIlxuICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGVSZW5kZXJDYXJvdXNlbF09XCJlbmFibGVSZW5kZXJDYXJvdXNlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgKG9wZW5TdG9ja0V2ZW50KT1cIm9wZW5TdG9jaygpXCJcbiAgICA+PC9hcHAtcHJvZHVjdC1wYWdlPlxuICAgIDwhLS0gIDxjby1idXR0b24gW2xhYmVsXT1cIidjbGljaydcIiAoY2xpY2spPVwic2hvd0hEID0gIXNob3dIRFwiPjwvY28tYnV0dG9uPlxuICAgICAgPGNvLXByb2R1Y3QtaGQgW3NrdV09XCInNjU3OTQ2Y2EtZTFlMS00MWZkLTdhZTAtMDhkYmY3ZGYwY2VmJ1wiICpuZ0lmPVwic2hvd0hEXCI+PC9jby1wcm9kdWN0LWhkPi0tPlxuICBgLFxuICBwcm92aWRlcnM6IFtcbiAgICBQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlLFxuICAgIFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlLFxuICAgIFByb2R1Y3RFdmVudFNlcnZpY2UsXG4gICAgUHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICBzdHlsZVVybHM6IFsnLi9pb25lLXByb2R1Y3QuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIElvbmVQcm9kdWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBza3U6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNSZXR1cm46IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dSZWxhdGVkUHJvZHVjdHNQb3B1cDogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZW5hYmxlUmVuZGVyQ2Fyb3VzZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNldHRpbmdzKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuX3NldHRpbmdzID0gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3MoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fc2V0dGluZ3M7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGFuZGxlQWRkQXJ0aWNsZUludGVybmFsbHk6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoYW5kbGVBZGRUb0NhcnRJbnRlcm5hbGx5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFkZFRvQ2FydDogRXZlbnRFbWl0dGVyPHsgYXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlciB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmb3JjZVJlbmRlckltYWdlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXRSZW5kZXJGb3JSZW5kZXJDYXJvdXNlbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFsdGVybmF0aXZlQ2xpY2s6IEV2ZW50RW1pdHRlcjxBcnRpY2xlTGlzdE9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFydGljbGVMaXN0T2JqZWN0PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25BcnRpY2xlSW5mb1JlY2VpdmVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25BcnRpY2xlUmVjZWl2ZWQ6IEV2ZW50RW1pdHRlcjxBcnRpY2xlUXVpY2tTZWw+ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnRpY2xlUXVpY2tTZWw+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvblNlbGVjdGlvbnNSZWNlaXZlZDogRXZlbnRFbWl0dGVyPFNlbGVjdGlvbltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0aW9uW10+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFkZFRvUXVvdGU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvcGVuU3RvY2tFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25BbnN3ZXJzQXZhaWxhYmxlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIHNldHRpbmdzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93SEQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9zZXR0aW5nczogYW55O1xuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yIChcbiAgICBwcml2YXRlIF9hcHBFdmVudFNlcnZpY2U6IFByb2R1Y3RFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfc2V0dGluZ3NTZXJ2aWNlOiBQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3Byb2R1Y3RDb25uZWN0b3JTZXJ2aWNlOiBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSxcbiAgICBwcml2YXRlIF9sb2NhbFN0b3JhZ2VTZXJ2aWNlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlXG4gICkge1xuICAgIC8vIHRoaXMuc2t1ID0gJ0NGLUhJTEwnO1xuICAgIC8vIHRoaXMuc2t1ID0gJ0NGLUFMTUFEQSc7XG4gICAgLy8gdGhpcy5za3UgPSAnQ0YtMzk5MDRBTlQnO1xuICAgIC8vIHRoaXMuc2t1ID0gJ0NGLTIyMzQ2MDAxJztcbiAgICAvLyB0aGlzLnNrdSA9ICcxMDQnO1xuICAgIC8vIHRoaXMuc2t1ID0gJzEwMDA1NjE5ODYnO1xuICAgIC8vIHRoaXMuc2t1ID0gJzEwMDA1Njc3NjgnO1xuICAgIC8vIHRoaXMuc2t1ID0gJzEwMDA1Njc3NjcnO1xuICAgIC8vIHRoaXMuc2t1ID0gJzEwNjYnO1xuICAgIC8vIHRoaXMuc2t1ID0gJzEwNCc7XG4gICAgLy8gdGhpcy5za3UgPSBcIjcwMDAwMTA3XCI7XG4gICAgLy8gdGhpcy5za3UgPSBcImdyb3ZlclwiO1xuICAgIC8vIHRoaXMuc2t1ID0gXCIxMDAwNjEwOTUyXCI7XG4gICAgLy8gdGhpcy5za3UgPSBcIjQzODdcIjtcbiAgICAvLyB0aGlzLnNrdSA9IFwiMTAwMDYxMjcyNVwiO1xuXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWRkVG9DYXJ0LnN1YnNjcmliZSgoZGF0YTogeyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgdGhpcy5faGFuZGxlQWRkVG9DYXJ0KGRhdGEpO1xuICAgICAgfSksXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BZGRUb1F1b3RlLnN1YnNjcmliZShqc29uID0+IHRoaXMub25BZGRUb1F1b3RlLmVtaXQoanNvbikpLFxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uQWx0ZXJuYXRpdmVDbGljay5zdWJzY3JpYmUoYXJ0aWNsZSA9PiB0aGlzLm9uQWx0ZXJuYXRpdmVDbGljay5lbWl0KGFydGljbGUpKSxcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFydGljbGVJbmZvUmVjZWl2ZWQuc3Vic2NyaWJlKGluZm8gPT4gdGhpcy5faGFuZGxlQW5zd2VySW5mb1JlY2VpdmVkKGluZm8pKSxcbiAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5vbkFydGljbGVSZWNlaXZlZC5zdWJzY3JpYmUoYXJ0aWNsZSA9PiB0aGlzLm9uQXJ0aWNsZVJlY2VpdmVkLmVtaXQoYXJ0aWNsZSkpLFxuICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLm9uU2VsZWN0aW9uc1JlY2VpdmVkLnN1YnNjcmliZShzZWxlY3Rpb25zID0+IHRoaXMub25TZWxlY3Rpb25zUmVjZWl2ZWQuZW1pdChzZWxlY3Rpb25zKSksXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2Uub25BbnN3ZXJzQXZhaWxhYmxlLnN1YnNjcmliZShhbnN3ZXJzID0+IHRoaXMuX2hhbmRsZUFuc3dlcnNBdmFpbGFibGUoYW5zd2VycykpLFxuICAgICAgdGhpcy5fc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzTG9hZGVkLnN1YnNjcmliZShsb2FkZWQgPT4ge1xuICAgICAgICB0aGlzLnNldHRpbmdzTG9hZGVkID0gbG9hZGVkO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuX3NldHRpbmdzU2VydmljZS5pbml0aWFsaXplU2V0dGluZ3ModGhpcy5fc2V0dGluZ3MgPT09IHVuZGVmaW5lZCk7XG4gICAgaWYgKHRoaXMuX3NldHRpbmdzKSB7XG4gICAgICB0aGlzLl9zZXR0aW5nc1NlcnZpY2UuY3JlYXRlU2V0dGluZ3NGcm9tT2JqZWN0KHRoaXMuX3NldHRpbmdzKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQW5zd2VySW5mb1JlY2VpdmVkKGluZm86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMub25BcnRpY2xlSW5mb1JlY2VpdmVkLm5leHQoaW5mbyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVBbnN3ZXJzQXZhaWxhYmxlKGFuc3dlcnM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLm9uQW5zd2Vyc0F2YWlsYWJsZS5uZXh0KGFuc3dlcnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlQWRkVG9DYXJ0KGRhdGE6IHsgYXJ0aWNsZTogc3RyaW5nIHwgQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCwgcXVhbnRpdHk6IG51bWJlciB9KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuaGFuZGxlQWRkVG9DYXJ0SW50ZXJuYWxseSkge1xuICAgICAgaWYgKGRhdGEgJiYgZGF0YS5hcnRpY2xlKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZGF0YS5hcnRpY2xlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGNvbnN0IGFydGljbGUgPSBKU09OLnBhcnNlKGRhdGEuYXJ0aWNsZSBhcyBzdHJpbmcpO1xuICAgICAgICAgIGlmIChhcnRpY2xlLnNlbGVjdG9yRGF0YSAmJiBhcnRpY2xlLnNlbGVjdG9yRGF0YS5jb21wb3NpdGlvbnMpIHsgLy8gY29uZmlndXJlZCAoZnJvemVuKSBhcnRpY2xlXG4gICAgICAgICAgICBjb25zdCB0cmFuc2FjdGlvbklkOiBzdHJpbmcgPVxuICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9wcm9kdWN0Q29ubmVjdG9yU2VydmljZS5hZGRXZWJTZXNzaW9uVHJhbnNhY3Rpb25MaW5lKFxuICAgICAgICAgICAgICAgIHRoaXMuX2xvY2FsU3RvcmFnZVNlcnZpY2UuaWQsIGFydGljbGUuc2VsZWN0b3JEYXRhLmNvbXBvc2l0aW9uc1swXS5jb21wb3NpdGlvbkFydGljbGVObywgZGF0YS5xdWFudGl0eSk7XG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb25JZCkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2NhbFN0b3JhZ2VTZXJ2aWNlLmlkID0gdHJhbnNhY3Rpb25JZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7IC8vIGZsYXQgKHNpbXBsZSkgYXJ0aWNsZVxuICAgICAgICAgIGlmIChkYXRhLmFydGljbGUuaGFzT3duUHJvcGVydHkoJ2FydGljbGVOcicpKSB7XG4gICAgICAgICAgICBjb25zdCB0cmFuc2FjdGlvbklkOiBzdHJpbmcgPVxuICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9wcm9kdWN0Q29ubmVjdG9yU2VydmljZS5hZGRXZWJTZXNzaW9uVHJhbnNhY3Rpb25MaW5lKHRoaXMuX2xvY2FsU3RvcmFnZVNlcnZpY2UuaWQsIGRhdGEuYXJ0aWNsZVsnYXJ0aWNsZU5yJ10sIGRhdGEucXVhbnRpdHkpO1xuICAgICAgICAgICAgaWYgKHRyYW5zYWN0aW9uSWQpIHtcbiAgICAgICAgICAgICAgdGhpcy5fbG9jYWxTdG9yYWdlU2VydmljZS5pZCA9IHRyYW5zYWN0aW9uSWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMub25BZGRUb0NhcnQubmV4dChkYXRhKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkFkZFRvQ2FydC5lbWl0KGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvcGVuU3RvY2soKSB7XG4gICAgdGhpcy5vcGVuU3RvY2tFdmVudC5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -3,8 +3,8 @@ export class Version {
3
3
  constructor() {
4
4
  this.name = "@colijnit/product";
5
5
  this.description = "Product detail page project for iOne";
6
- this.symVer = "258.1.4";
7
- this.publishDate = "23-6-2025 16:38:29";
6
+ this.symVer = "258.1.5";
7
+ this.publishDate = "9-7-2025 14:07:55";
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9wcm9kdWN0LXZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE1BQU0sT0FBTyxPQUFPO0lBQXBCO1FBQ1MsU0FBSSxHQUFHLG1CQUFtQixDQUFDO1FBQzNCLGdCQUFXLEdBQUcsc0NBQXNDLENBQUM7UUFDckQsV0FBTSxHQUFHLFNBQVMsQ0FBQztRQUNuQixnQkFBVyxHQUFHLG9CQUFvQixDQUFDO0lBQzVDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRoaXMgZmlsZSBpcyBkeW5hbWljYWxseSBjcmVhdGVkLCBkbyBub3QgY2hhbmdlIHRoaXNcbmV4cG9ydCBjbGFzcyBWZXJzaW9uIHtcbiAgcHVibGljIG5hbWUgPSBcIkBjb2xpam5pdC9wcm9kdWN0XCI7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbiA9IFwiUHJvZHVjdCBkZXRhaWwgcGFnZSBwcm9qZWN0IGZvciBpT25lXCI7XG4gIHB1YmxpYyBzeW1WZXIgPSBcIjI1OC4xLjRcIjtcbiAgcHVibGljIHB1Ymxpc2hEYXRlID0gXCIyMy02LTIwMjUgMTY6Mzg6MjlcIjtcbn0iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC12ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9wcm9kdWN0LXZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE1BQU0sT0FBTyxPQUFPO0lBQXBCO1FBQ1MsU0FBSSxHQUFHLG1CQUFtQixDQUFDO1FBQzNCLGdCQUFXLEdBQUcsc0NBQXNDLENBQUM7UUFDckQsV0FBTSxHQUFHLFNBQVMsQ0FBQztRQUNuQixnQkFBVyxHQUFHLG1CQUFtQixDQUFDO0lBQzNDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRoaXMgZmlsZSBpcyBkeW5hbWljYWxseSBjcmVhdGVkLCBkbyBub3QgY2hhbmdlIHRoaXNcbmV4cG9ydCBjbGFzcyBWZXJzaW9uIHtcbiAgcHVibGljIG5hbWUgPSBcIkBjb2xpam5pdC9wcm9kdWN0XCI7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbiA9IFwiUHJvZHVjdCBkZXRhaWwgcGFnZSBwcm9qZWN0IGZvciBpT25lXCI7XG4gIHB1YmxpYyBzeW1WZXIgPSBcIjI1OC4xLjVcIjtcbiAgcHVibGljIHB1Ymxpc2hEYXRlID0gXCI5LTctMjAyNSAxNDowNzo1NVwiO1xufSJdfQ==