@colijnit/transaction 12.1.17 → 12.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/bundles/colijnit-transaction.umd.js +390 -198
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +106 -104
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +107 -105
  6. package/esm2015/lib/assets/dictionary/text.properties.js +16 -1
  7. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +2 -2
  8. package/esm2015/lib/component/transaction-search/service/filter-request.service.js +5 -20
  9. package/esm2015/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.component.js +43 -20
  10. package/esm2015/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.component.js +41 -55
  11. package/esm2015/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.module.js +6 -3
  12. package/esm2015/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.component.js +30 -15
  13. package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.js +60 -0
  14. package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.js +24 -0
  15. package/esm2015/lib/enum/icon.enum.js +2 -1
  16. package/esm2015/lib/model/icon-svg.js +2 -1
  17. package/esm2015/lib/service/article-connector.service.js +54 -1
  18. package/esm2015/lib/service/pending-reason.service.js +8 -4
  19. package/esm2015/lib/service/transaction-connector.service.js +2 -1
  20. package/esm2015/lib/service/transaction-mapping.service.js +2 -2
  21. package/esm2015/lib/service/transaction.service.js +13 -2
  22. package/fesm2015/colijnit-transaction.js +332 -162
  23. package/fesm2015/colijnit-transaction.js.map +1 -1
  24. package/lib/component/transaction-line-side-panel/style/_layout.scss +6 -4
  25. package/lib/component/transaction-line-side-panel/style/_material-definition.scss +1 -1
  26. package/lib/component/transaction-line-side-panel-default/style/_layout.scss +3 -0
  27. package/lib/component/transaction-search/service/filter-request.service.d.ts +2 -4
  28. package/lib/component/transaction-search/style/_material-definition.scss +1 -1
  29. package/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.component.d.ts +14 -1
  30. package/lib/component/transaction-search/transaction-filter-content-logistics/style/material.scss +1 -0
  31. package/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.component.d.ts +1 -0
  32. package/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.component.d.ts +2 -0
  33. package/lib/component/transaction-search/transaction-filter-historic-state/style/_layout.scss +9 -0
  34. package/lib/component/transaction-search/transaction-filter-historic-state/style/_material-definition.scss +0 -0
  35. package/lib/component/transaction-search/transaction-filter-historic-state/style/_theme.scss +4 -0
  36. package/lib/component/transaction-search/transaction-filter-historic-state/style/material.scss +4 -0
  37. package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.d.ts +22 -0
  38. package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.d.ts +2 -0
  39. package/lib/component/transaction-search/transaction-search-result/style/_layout.scss +2 -2
  40. package/lib/enum/icon.enum.d.ts +1 -0
  41. package/lib/service/article-connector.service.d.ts +7 -0
  42. package/lib/service/pending-reason.service.d.ts +3 -1
  43. package/lib/service/transaction.service.d.ts +7 -0
  44. package/lib/style/_variables.scss +2 -0
  45. package/package.json +3 -3
@@ -5,6 +5,9 @@ import { CollectionCacheService } from "./collection-cache.service";
5
5
  import { Articles } from "@colijnit/articleapi/build/articles";
6
6
  import { BusinessObjectFactory } from "../factory/business-object-factory";
7
7
  import { StockLocation } from "@colijnit/articleapi/build/model/stock-location.bo";
8
+ import { ArticleLight } from "@colijnit/articleapi/build/model/article-light.bo";
9
+ import { TurnoverGroupImage } from "@colijnit/articleapi/build/model/turnover-group-image.bo";
10
+ import { MainArticle } from "@colijnit/articleapi/build/model/main-article.bo";
8
11
  import * as i0 from "@angular/core";
9
12
  import * as i1 from "./options.service";
10
13
  import * as i2 from "./collection-cache.service";
@@ -46,6 +49,56 @@ export class ArticleConnectorService {
46
49
  });
47
50
  });
48
51
  }
52
+ searchArticles(request) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ return new Promise((resolve, reject) => {
55
+ return this.connector.searchArticlesLight(request).then((response) => {
56
+ if (response && response.validationResult && response.validationResult.success) {
57
+ const collection = this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleLight, response.resultObjects);
58
+ resolve(collection);
59
+ }
60
+ else {
61
+ reject(response.validationMessagesAsString);
62
+ }
63
+ });
64
+ });
65
+ });
66
+ }
67
+ getMainArticles() {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ return new Promise((resolve, reject) => {
70
+ return this.connector.getMainArticles().then((response) => {
71
+ if (response && response.validationResult && response.validationResult.success) {
72
+ const collection = this._boFactory.makeBOArrayFromRawBackendDataArray(MainArticle, response.resultObjects);
73
+ resolve(collection);
74
+ }
75
+ else {
76
+ reject(response.validationMessagesAsString);
77
+ }
78
+ });
79
+ });
80
+ });
81
+ }
82
+ getTurnoverGroups(category) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ return new Promise((resolve, reject) => {
85
+ const collection = this._collectionService.getCollection(TurnoverGroupImage.name);
86
+ if (collection) {
87
+ return resolve(collection);
88
+ }
89
+ return this.connector.getTurnoverGroups(category).then((result) => {
90
+ if (result.validationResult && result.validationResult.success) {
91
+ const collection = this._boFactory.makeBOArrayFromRawBackendDataArray(TurnoverGroupImage, result.resultObjects);
92
+ this._collectionService.cacheCollection(TurnoverGroupImage.name, collection);
93
+ resolve(collection);
94
+ }
95
+ else {
96
+ reject(result.validationMessagesAsString);
97
+ }
98
+ });
99
+ });
100
+ });
101
+ }
49
102
  }
50
103
  ArticleConnectorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ArticleConnectorService_Factory() { return new ArticleConnectorService(i0.ɵɵinject(i1.OptionsService), i0.ɵɵinject(i2.CollectionCacheService)); }, token: ArticleConnectorService, providedIn: "root" });
51
104
  ArticleConnectorService.decorators = [
@@ -57,4 +110,4 @@ ArticleConnectorService.ctorParameters = () => [
57
110
  { type: OptionsService },
58
111
  { type: CollectionCacheService }
59
112
  ];
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS1jb25uZWN0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS9hcnRpY2xlLWNvbm5lY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9EQUFvRCxDQUFDOzs7O0FBS2pGLE1BQU0sT0FBTyx1QkFBdUI7SUFLbEMsWUFDVSxlQUErQixFQUMvQixrQkFBMEM7UUFEMUMsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBd0I7UUFKNUMsZUFBVSxHQUEwQixJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFNdEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFvQixFQUFFLEVBQUU7WUFDekUsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2hCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRVksT0FBTzs7WUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlELENBQUM7S0FBQTtJQUVZLHFCQUFxQixDQUFDLFdBQW1COztZQUNwRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUM1RixJQUFJLFVBQVUsRUFBRTtvQkFDZCxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3JCO3FCQUFNO29CQUNMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTt3QkFDL0UsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7NEJBQzlFLE1BQU0sVUFBVSxHQUFvQixJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYSxDQUErQixDQUFDOzRCQUM1SixJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzs0QkFDdkYsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO3lCQUNyQjs2QkFBTTs0QkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLDBCQUEwQixDQUFDLENBQUM7eUJBQzdDO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO1lBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDO0tBQUE7Ozs7WUF4Q0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFSTyxjQUFjO1lBQ2Qsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tIFwiLi9vcHRpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtDb2xsZWN0aW9uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi9jb2xsZWN0aW9uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBcnRpY2xlc30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2FydGljbGVzXCI7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RGYWN0b3J5fSBmcm9tIFwiLi4vZmFjdG9yeS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeVwiO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb259IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1sb2NhdGlvbi5ib1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcnRpY2xlQ29ubmVjdG9yU2VydmljZSB7XHJcbiAgcHVibGljIGNvbm5lY3RvcjogQXJ0aWNsZXM7XHJcblxyXG4gIHByaXZhdGUgX2JvRmFjdG9yeTogQnVzaW5lc3NPYmplY3RGYWN0b3J5ID0gbmV3IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NvbGxlY3Rpb25TZXJ2aWNlOiBDb2xsZWN0aW9uQ2FjaGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zSW5pdGlhbGl6ZWQuc3Vic2NyaWJlKChpbml0aWFsaXplZDogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAoaW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICB0aGlzLmNvbm5lY3QoKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5jb25uZWN0b3IgPSBuZXcgQXJ0aWNsZXModGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0V2FyZWhvdXNlTG9jYXRpb25zKHdhcmVob3VzZU5yOiBudW1iZXIpOiBQcm9taXNlPFN0b2NrTG9jYXRpb25bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuX2NvbGxlY3Rpb25TZXJ2aWNlLmdldENvbGxlY3Rpb24oU3RvY2tMb2NhdGlvbi5uYW1lLCBbd2FyZWhvdXNlTnJdKTtcclxuICAgICAgaWYgKGNvbGxlY3Rpb24pIHtcclxuICAgICAgICByZXNvbHZlKGNvbGxlY3Rpb24pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMod2FyZWhvdXNlTnIpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgY29uc3QgY29sbGVjdGlvbjogU3RvY2tMb2NhdGlvbltdID0gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU3RvY2tMb2NhdGlvbiwgcmVzcG9uc2UucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBTdG9ja0xvY2F0aW9uW107XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbGxlY3Rpb25TZXJ2aWNlLmNhY2hlQ29sbGVjdGlvbihTdG9ja0xvY2F0aW9uLm5hbWUsIGNvbGxlY3Rpb24sIFt3YXJlaG91c2VOcl0pO1xyXG4gICAgICAgICAgICByZXNvbHZlKGNvbGxlY3Rpb24pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS1jb25uZWN0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS9hcnRpY2xlLWNvbm5lY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBRWpGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUMvRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUU1RixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sa0RBQWtELENBQUM7Ozs7QUFLN0UsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxZQUNVLGVBQStCLEVBQy9CLGtCQUEwQztRQUQxQyxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF3QjtRQUo1QyxlQUFVLEdBQTBCLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQU10RSxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQW9CLEVBQUUsRUFBRTtZQUN6RSxJQUFJLFdBQVcsRUFBRTtnQkFDZixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDaEI7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFWSxPQUFPOztZ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LENBQUMsUUFBaUI7O1lBQzlDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLE1BQWdCLEVBQUUsRUFBRTtnQkFDekQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbEYsSUFBSSxVQUFVLEVBQUU7b0JBQ2QsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQzVCO2dCQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQ3pGLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELE1BQU0sVUFBVSxHQUF5QixJQUFJLENBQUMsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQW9DLENBQUM7d0JBQ3pLLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO3dCQUM3RSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7cUJBQ3JCO3lCQUFNO3dCQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztxQkFDM0M7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTs7OztZQXBGRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQWJPLGNBQWM7WUFDZCxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7T3B0aW9uc1NlcnZpY2V9IGZyb20gXCIuL29wdGlvbnMuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvbGxlY3Rpb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuL2NvbGxlY3Rpb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0FydGljbGVzfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvYXJ0aWNsZXNcIjtcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gXCIuLi9mYWN0b3J5L2J1c2luZXNzLW9iamVjdC1mYWN0b3J5XCI7XHJcbmltcG9ydCB7U3RvY2tMb2NhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWxvY2F0aW9uLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZUV4dGVuZGVkUmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQtcmVxdWVzdFwiO1xyXG5pbXBvcnQge0FydGljbGVMaWdodH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlnaHQuYm9cIjtcclxuaW1wb3J0IHtUdXJub3Zlckdyb3VwSW1hZ2V9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC90dXJub3Zlci1ncm91cC1pbWFnZS5ib1wiO1xyXG5pbXBvcnQge0RhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZGF0YS1zZXJ2aWNlLXJlc3BvbnNlLWRhdGFcIjtcclxuaW1wb3J0IHtNYWluQXJ0aWNsZX0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL21haW4tYXJ0aWNsZS5ib1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcnRpY2xlQ29ubmVjdG9yU2VydmljZSB7XHJcbiAgcHVibGljIGNvbm5lY3RvcjogQXJ0aWNsZXM7XHJcblxyXG4gIHByaXZhdGUgX2JvRmFjdG9yeTogQnVzaW5lc3NPYmplY3RGYWN0b3J5ID0gbmV3IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NvbGxlY3Rpb25TZXJ2aWNlOiBDb2xsZWN0aW9uQ2FjaGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zSW5pdGlhbGl6ZWQuc3Vic2NyaWJlKChpbml0aWFsaXplZDogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAoaW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICB0aGlzLmNvbm5lY3QoKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5jb25uZWN0b3IgPSBuZXcgQXJ0aWNsZXModGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0V2FyZWhvdXNlTG9jYXRpb25zKHdhcmVob3VzZU5yOiBudW1iZXIpOiBQcm9taXNlPFN0b2NrTG9jYXRpb25bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuX2NvbGxlY3Rpb25TZXJ2aWNlLmdldENvbGxlY3Rpb24oU3RvY2tMb2NhdGlvbi5uYW1lLCBbd2FyZWhvdXNlTnJdKTtcclxuICAgICAgaWYgKGNvbGxlY3Rpb24pIHtcclxuICAgICAgICByZXNvbHZlKGNvbGxlY3Rpb24pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMod2FyZWhvdXNlTnIpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgY29uc3QgY29sbGVjdGlvbjogU3RvY2tMb2NhdGlvbltdID0gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU3RvY2tMb2NhdGlvbiwgcmVzcG9uc2UucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBTdG9ja0xvY2F0aW9uW107XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbGxlY3Rpb25TZXJ2aWNlLmNhY2hlQ29sbGVjdGlvbihTdG9ja0xvY2F0aW9uLm5hbWUsIGNvbGxlY3Rpb24sIFt3YXJlaG91c2VOcl0pO1xyXG4gICAgICAgICAgICByZXNvbHZlKGNvbGxlY3Rpb24pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBzZWFyY2hBcnRpY2xlcyhyZXF1ZXN0OiBBcnRpY2xlRXh0ZW5kZWRSZXF1ZXN0KTogUHJvbWlzZTxBcnRpY2xlTGlnaHRbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLnNlYXJjaEFydGljbGVzTGlnaHQocmVxdWVzdCkudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb246IEFydGljbGVMaWdodFtdID0gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQXJ0aWNsZUxpZ2h0LCByZXNwb25zZS5yZXN1bHRPYmplY3RzKSBhcyB1bmtub3duIGFzIEFydGljbGVMaWdodFtdO1xyXG4gICAgICAgICAgcmVzb2x2ZShjb2xsZWN0aW9uKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3BvbnNlLnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0TWFpbkFydGljbGVzKCk6IFByb21pc2U8TWFpbkFydGljbGVbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmdldE1haW5BcnRpY2xlcygpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uOiBNYWluQXJ0aWNsZVtdID0gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoTWFpbkFydGljbGUsIHJlc3BvbnNlLnJlc3VsdE9iamVjdHMpIGFzIHVua25vd24gYXMgTWFpbkFydGljbGVbXTtcclxuICAgICAgICAgIHJlc29sdmUoY29sbGVjdGlvbik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXNwb25zZS52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFR1cm5vdmVyR3JvdXBzKGNhdGVnb3J5Pzogc3RyaW5nKTogUHJvbWlzZTxUdXJub3Zlckdyb3VwSW1hZ2VbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5fY29sbGVjdGlvblNlcnZpY2UuZ2V0Q29sbGVjdGlvbihUdXJub3Zlckdyb3VwSW1hZ2UubmFtZSk7XHJcbiAgICAgIGlmIChjb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlc29sdmUoY29sbGVjdGlvbik7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmdldFR1cm5vdmVyR3JvdXBzKGNhdGVnb3J5KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb246IFR1cm5vdmVyR3JvdXBJbWFnZVtdID0gdGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoVHVybm92ZXJHcm91cEltYWdlLCByZXN1bHQucmVzdWx0T2JqZWN0cykgYXMgdW5rbm93biBhcyBUdXJub3Zlckdyb3VwSW1hZ2VbXTtcclxuICAgICAgICAgIHRoaXMuX2NvbGxlY3Rpb25TZXJ2aWNlLmNhY2hlQ29sbGVjdGlvbihUdXJub3Zlckdyb3VwSW1hZ2UubmFtZSwgY29sbGVjdGlvbik7XHJcbiAgICAgICAgICByZXNvbHZlKGNvbGxlY3Rpb24pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -10,15 +10,18 @@ import { TransactionLineType } from "@colijnit/transactionapi/build/enum/transac
10
10
  import { RelationStatus } from "@colijnit/transactionapi/build/enum/relation-status.enum";
11
11
  import { DialogService } from "./dialog.service";
12
12
  import { ResolveLinePendingReasonRequest } from "@colijnit/transactionapi/build/model/resolve-pending-reason-request.bo";
13
+ import { ArticleConnectorService } from "./article-connector.service";
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "./dialog.service";
15
16
  import * as i2 from "./options.service";
16
17
  import * as i3 from "./transaction-connector.service";
18
+ import * as i4 from "./article-connector.service";
17
19
  export class PendingReasonService {
18
- constructor(dialogService, options, connector) {
20
+ constructor(dialogService, options, connector, articleConnector) {
19
21
  this.dialogService = dialogService;
20
22
  this.options = options;
21
23
  this.connector = connector;
24
+ this.articleConnector = articleConnector;
22
25
  this.transactionUpdated = new BehaviorSubject(undefined);
23
26
  this.applicationUser = false;
24
27
  this.currentTransaction = new TransactionInfoResponse();
@@ -149,7 +152,7 @@ export class PendingReasonService {
149
152
  });
150
153
  }
151
154
  }
152
- PendingReasonService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PendingReasonService_Factory() { return new PendingReasonService(i0.ɵɵinject(i1.DialogService), i0.ɵɵinject(i2.OptionsService), i0.ɵɵinject(i3.TransactionConnectorService)); }, token: PendingReasonService, providedIn: "root" });
155
+ PendingReasonService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PendingReasonService_Factory() { return new PendingReasonService(i0.ɵɵinject(i1.DialogService), i0.ɵɵinject(i2.OptionsService), i0.ɵɵinject(i3.TransactionConnectorService), i0.ɵɵinject(i4.ArticleConnectorService)); }, token: PendingReasonService, providedIn: "root" });
153
156
  PendingReasonService.decorators = [
154
157
  { type: Injectable, args: [{
155
158
  providedIn: "root"
@@ -158,6 +161,7 @@ PendingReasonService.decorators = [
158
161
  PendingReasonService.ctorParameters = () => [
159
162
  { type: DialogService },
160
163
  { type: OptionsService },
161
- { type: TransactionConnectorService }
164
+ { type: TransactionConnectorService },
165
+ { type: ArticleConnectorService }
162
166
  ];
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1yZWFzb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS9wZW5kaW5nLXJlYXNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBRTFHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBRy9GLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ25HLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN4RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sd0VBQXdFLENBQUM7Ozs7O0FBS3ZILE1BQU0sT0FBTyxvQkFBb0I7SUFTL0IsWUFDWSxhQUE0QixFQUM1QixPQUF1QixFQUN2QixTQUFzQztRQUZ0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUE2QjtRQVgzQyx1QkFBa0IsR0FBNkMsSUFBSSxlQUFlLENBQTBCLFNBQVMsQ0FBQyxDQUFDO1FBRXZILG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLHVCQUFrQixH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TUFBTTthQUNuQjs7O1lBTE8sYUFBYTtZQU5iLGNBQWM7WUFDZCwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ib1wiO1xyXG5pbXBvcnQge0xpbmVPcGVyYXRpb25TdGF0dXN9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbGluZS1vcGVyYXRpb24tc3RhdHVzLmJvXCI7XHJcbmltcG9ydCB7UGVuZGluZ1JlYXNvblR5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9wZW5kaW5nLXJlYXNvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ib1wiO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25SZXN1bHR9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1yZXN1bHRcIjtcclxuaW1wb3J0IHtPcHRpb25zU2VydmljZX0gZnJvbSBcIi4vb3B0aW9ucy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlfSBmcm9tIFwiLi90cmFuc2FjdGlvbi1jb25uZWN0b3Iuc2VydmljZVwiO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtDdXN0b21lckZ1bGxPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3VzdG9tZXItZnVsbC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vdHJhbnNhY3Rpb24tbGluZS10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtSZWxhdGlvblN0YXR1c30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLXN0YXR1cy5lbnVtXCI7XHJcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSBcIi4vZGlhbG9nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtSZXNvbHZlTGluZVBlbmRpbmdSZWFzb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3Jlc29sdmUtcGVuZGluZy1yZWFzb24tcmVxdWVzdC5ib1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZW5kaW5nUmVhc29uU2VydmljZSB7XHJcbiAgcHVibGljIHRyYW5zYWN0aW9uVXBkYXRlZDogQmVoYXZpb3JTdWJqZWN0PFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+KHVuZGVmaW5lZCk7XHJcblxyXG4gIHB1YmxpYyBhcHBsaWNhdGlvblVzZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY3VycmVudFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IG5ldyBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSgpO1xyXG4gIHB1YmxpYyByZWxhdGlvbjogQ3VzdG9tZXJGdWxsT2JqZWN0ID0gbmV3IEN1c3RvbWVyRnVsbE9iamVjdCgpO1xyXG5cclxuICBwdWJsaWMgYXJ0aWNsZUFtb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBvcHRpb25zOiBPcHRpb25zU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjb25uZWN0b3I6IFRyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGluaXQob3B0aW9uczogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLm9wdGlvbnMuaW5pdGlhbGl6ZShvcHRpb25zKTtcclxuICAgIHRoaXMuY29ubmVjdG9yLmNvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjYW5jZWxBZGRUcmFuc2FjdGlvbkxpbmUobGluZVV1aWQ6IHN0cmluZywgcmVtZW1iZXI6IGJvb2xlYW4gPSB0cnVlKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMuY29ubmVjdG9yLmNhbmNlbEFkZFRyYW5zYWN0aW9uTGluZShsaW5lVXVpZClcclxuICAgICAgICAudGhlbihhc3luYyAocmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVtZW1iZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5fcmVtZW1iZXJDdXJyZW50VHJhbnNhY3Rpb24ocmVzcG9uc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLmlzU3VjY2Vzcykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlamVjdChyZXNwb25zZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goKHJlYXNvbjogVmFsaWRhdGlvblJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgcmVzb2x2ZShudWxsKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXNlcyhyZXNwb25zZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGlmICghcmVzcG9uc2UubGluZU9wZXJhdGlvblN0YXR1c2VzIHx8IHJlc3BvbnNlLmxpbmVPcGVyYXRpb25TdGF0dXNlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBsZXQgc3VjY2VzczogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgcmVzcG9uc2UubGluZU9wZXJhdGlvblN0YXR1c2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IHN0YXR1czogTGluZU9wZXJhdGlvblN0YXR1cyA9IHJlc3BvbnNlLmxpbmVPcGVyYXRpb25TdGF0dXNlc1tpXTtcclxuICAgICAgY29uc3QgdHJhbnNMaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvID0gcmVzcG9uc2UudHJhbnNhY3Rpb25MaW5lcy5maW5kKHQgPT4gdC5saW5lTnIgPT09IHN0YXR1cy5saW5lTnIpO1xyXG4gICAgICBzdWNjZXNzID0gc3VjY2VzcyAmJiBhd2FpdCB0aGlzLl9oYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzKHN0YXR1cywgdHJhbnNMaW5lKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdWNjZXNzO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIF9yZW1lbWJlckN1cnJlbnRUcmFuc2FjdGlvbih2YWx1ZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuY3VycmVudFRyYW5zYWN0aW9uID0gdmFsdWU7XHJcbiAgICB0aGlzLl9zZXRBbW91bnQoKTtcclxuICAgIHRoaXMuX2luaXRpYWxpemVUcmFuc2FjdGlvbigpO1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblVwZGF0ZWQubmV4dCh0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9oYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzKG9wZXJhdGlvblN0YXR1czogTGluZU9wZXJhdGlvblN0YXR1cywgdHJhbnNhY3Rpb25MaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBzd2l0Y2ggKG9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uVHlwZSkge1xyXG4gICAgICBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLkFCT1JURUQ6XHJcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQ0FOQ0VMTEVEOlxyXG4gICAgICAgIGlmIChvcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvbiA9PT0gJ1VTRVJfREVDSVNJT04nKSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLl9jYW5jZWxBcnRpY2xlKG9wZXJhdGlvblN0YXR1cy51dWlkKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fc2hvd1JlYXNvbkRpYWxvZyhvcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5DT05GSVJNQVRJT05fTkVFREVEOlxyXG4gICAgICAgIGF3YWl0IHRoaXMuX2NvbmZpcm1BY3Rpb24odHJhbnNhY3Rpb25MaW5lLnV1aWQsIG9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uLCBvcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvblR5cGUpO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgLy8gY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5JTlZBTElEX0xPR0lTVElDUzpcclxuICAgICAgLy8gICBhd2FpdCB0aGlzLnNob3dTdG9ja01hbmFnZXIodGhpcy5jdXJyZW50UGVuZGluZ0xpbmUpO1xyXG4gICAgICAvLyAgIGJyZWFrO1xyXG4gICAgICAvLyBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLk5PTl9DUklUSUNBTF9ESVNDT05USU5VQVRJT046XHJcbiAgICAgIC8vICAgYXdhaXQgdGhpcy5fc2hvd0luZm9ybWF0aW9uKCk7XHJcbiAgICAgIC8vICAgYnJlYWs7XHJcbiAgICAgIC8vIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQ0hBUkFDVEVSSVNUSUNTX0FOU1dFUl9ORUVERUQ6XHJcbiAgICAgIC8vICAgdGhpcy5DaGFyYWN0ZXJpc3RpY3NBbnN3ZXJOZWVkZWQoKTtcclxuICAgICAgLy8gICBicmVhaztcclxuICAgICAgY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5OT05FOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHJlc29sdmVQZW5kaW5nTGluZVJlYXNvbihwZW5kaW5nTGluZVZhbHVlczogUmVzb2x2ZUxpbmVQZW5kaW5nUmVhc29uUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlID0gYXdhaXQgdGhpcy5jb25uZWN0b3IucmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uKHBlbmRpbmdMaW5lVmFsdWVzKTtcclxuICAgIHRoaXMuX3JlbWVtYmVyQ3VycmVudFRyYW5zYWN0aW9uKHJlc3BvbnNlKTtcclxuICAgIHRoaXMuaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1c2VzKHJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2NvbmZpcm1BY3Rpb24odXVpZDogc3RyaW5nLCByZWFzb246IHN0cmluZywgdHlwZTogUGVuZGluZ1JlYXNvblR5cGUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlYXNvblJlcXVlc3QgPSBuZXcgUmVzb2x2ZUxpbmVQZW5kaW5nUmVhc29uUmVxdWVzdCh1dWlkLCByZWFzb24sIHR5cGUpO1xyXG4gICAgLy8gY29uc3QgcGVuZGluZ1JlYXNvblRleHQ6IHN0cmluZyA9IGF3YWl0IHRoaXMuX2dldFBlbmRpbmdSZWFzb25UZXh0KHRoaXMuY3VycmVudE9wZXJhdGlvblN0YXR1cy5wZW5kaW5nUmVhc29uKTtcclxuICAgIHJlYXNvblJlcXVlc3QuY29uZmlybWF0aW9uID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dZZXNObygnQWN0aW9uJywgcmVhc29uKTtcclxuICAgIGF3YWl0IHRoaXMucmVzb2x2ZVBlbmRpbmdMaW5lUmVhc29uKHJlYXNvblJlcXVlc3QpO1xyXG4gICAgLy8gdGhpcy5faGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cygpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9zaG93UmVhc29uRGlhbG9nKHJlYXNvbjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd0luZm9ybWF0aW9uKHJlYXNvbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRBbW91bnQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50VHJhbnNhY3Rpb24gJiYgdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcykge1xyXG4gICAgICB0aGlzLmFydGljbGVBbW91bnQgPSB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzLmZpbHRlcih0ID0+IHQubGluZVR5cGUgPT09IFRyYW5zYWN0aW9uTGluZVR5cGUuQXJ0aWNsZUxpbmUpLmxlbmd0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXRpYWxpemVUcmFuc2FjdGlvbigpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5yZWxhdGlvbikge1xyXG4gICAgICB0aGlzLnJlbGF0aW9uID0gbmV3IEN1c3RvbWVyRnVsbE9iamVjdCgpO1xyXG4gICAgICB0aGlzLnJlbGF0aW9uLnJlbGF0aW9uU3RhdHVzID0gUmVsYXRpb25TdGF0dXMuUmVndWxhckN1c3RvbWVyO1xyXG4gICAgICB0aGlzLnJlbGF0aW9uLnN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnByZWZlcnJlZERlbGl2ZXJ5RGF0ZTIgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucHJlZmVycmVkRGVsaXZlcnlEYXRlMiA9IFwiPVwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfY2FuY2VsQXJ0aWNsZSh1dWlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuY2FuY2VsQWRkVHJhbnNhY3Rpb25MaW5lKHV1aWQsIGZhbHNlKVxyXG4gICAgICAudGhlbigocmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9yZW1lbWJlckN1cnJlbnRUcmFuc2FjdGlvbihyZXNwb25zZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1yZWFzb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvc2VydmljZS9wZW5kaW5nLXJlYXNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBRTFHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBRy9GLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ25HLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN4RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDdkgsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7Ozs7OztBQUtwRSxNQUFNLE9BQU8sb0JBQW9CO0lBUy9CLFlBQ1ksYUFBNEIsRUFDNUIsT0FBdUIsRUFDdkIsU0FBc0MsRUFDdEMsZ0JBQXlDO1FBSHpDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQTZCO1FBQ3RDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7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Q0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QyxDQUFDLENBQ0YsQ0FBQztRQUNOLENBQUM7S0FBQTs7OztZQXJJRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQU5PLGFBQWE7WUFOYixjQUFjO1lBQ2QsMkJBQTJCO1lBTzNCLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7TGluZU9wZXJhdGlvblN0YXR1c30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9saW5lLW9wZXJhdGlvbi1zdGF0dXMuYm9cIjtcclxuaW1wb3J0IHtQZW5kaW5nUmVhc29uVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3BlbmRpbmctcmVhc29uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvXCI7XHJcbmltcG9ydCB7VmFsaWRhdGlvblJlc3VsdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC92YWxpZGF0aW9uLXJlc3VsdFwiO1xyXG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tIFwiLi9vcHRpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2V9IGZyb20gXCIuL3RyYW5zYWN0aW9uLWNvbm5lY3Rvci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0N1c3RvbWVyRnVsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1mdWxsLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZVR5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1saW5lLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge1JlbGF0aW9uU3RhdHVzfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24tc3RhdHVzLmVudW1cIjtcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiLi9kaWFsb2cuc2VydmljZVwiO1xyXG5pbXBvcnQge1Jlc29sdmVMaW5lUGVuZGluZ1JlYXNvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVzb2x2ZS1wZW5kaW5nLXJlYXNvbi1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZUNvbm5lY3RvclNlcnZpY2V9IGZyb20gXCIuL2FydGljbGUtY29ubmVjdG9yLnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVuZGluZ1JlYXNvblNlcnZpY2Uge1xyXG4gIHB1YmxpYyB0cmFuc2FjdGlvblVwZGF0ZWQ6IEJlaGF2aW9yU3ViamVjdDxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlPih1bmRlZmluZWQpO1xyXG5cclxuICBwdWJsaWMgYXBwbGljYXRpb25Vc2VyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGN1cnJlbnRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UgPSBuZXcgVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UoKTtcclxuICBwdWJsaWMgcmVsYXRpb246IEN1c3RvbWVyRnVsbE9iamVjdCA9IG5ldyBDdXN0b21lckZ1bGxPYmplY3QoKTtcclxuXHJcbiAgcHVibGljIGFydGljbGVBbW91bnQ6IG51bWJlciA9IDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgb3B0aW9uczogT3B0aW9uc1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY29ubmVjdG9yOiBUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgYXJ0aWNsZUNvbm5lY3RvcjogQXJ0aWNsZUNvbm5lY3RvclNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbml0KG9wdGlvbnM6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5vcHRpb25zLmluaXRpYWxpemUob3B0aW9ucyk7XHJcbiAgICB0aGlzLmNvbm5lY3Rvci5jb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY2FuY2VsQWRkVHJhbnNhY3Rpb25MaW5lKGxpbmVVdWlkOiBzdHJpbmcsIHJlbWVtYmVyOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9SZXNwb25zZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbm5lY3Rvci5jYW5jZWxBZGRUcmFuc2FjdGlvbkxpbmUobGluZVV1aWQpXHJcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlbWVtYmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbWVtYmVyQ3VycmVudFRyYW5zYWN0aW9uKHJlc3BvbnNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChyZXNwb25zZS5pc1N1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZWplY3QocmVzcG9uc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKChyZWFzb246IFZhbGlkYXRpb25SZXN1bHQpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUobnVsbCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVMaW5lT3BlcmF0aW9uU3RhdHVzZXMocmVzcG9uc2U6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAoIXJlc3BvbnNlLmxpbmVPcGVyYXRpb25TdGF0dXNlcyB8fCByZXNwb25zZS5saW5lT3BlcmF0aW9uU3RhdHVzZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgbGV0IHN1Y2Nlc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IHJlc3BvbnNlLmxpbmVPcGVyYXRpb25TdGF0dXNlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBzdGF0dXM6IExpbmVPcGVyYXRpb25TdGF0dXMgPSByZXNwb25zZS5saW5lT3BlcmF0aW9uU3RhdHVzZXNbaV07XHJcbiAgICAgIGNvbnN0IHRyYW5zTGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyA9IHJlc3BvbnNlLnRyYW5zYWN0aW9uTGluZXMuZmluZCh0ID0+IHQubGluZU5yID09PSBzdGF0dXMubGluZU5yKTtcclxuICAgICAgc3VjY2VzcyA9IHN1Y2Nlc3MgJiYgYXdhaXQgdGhpcy5faGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cyhzdGF0dXMsIHRyYW5zTGluZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3VjY2VzcztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBfcmVtZW1iZXJDdXJyZW50VHJhbnNhY3Rpb24odmFsdWU6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvbiA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2V0QW1vdW50KCk7XHJcbiAgICB0aGlzLl9pbml0aWFsaXplVHJhbnNhY3Rpb24oKTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25VcGRhdGVkLm5leHQodGhpcy5jdXJyZW50VHJhbnNhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlTGluZU9wZXJhdGlvblN0YXR1cyhvcGVyYXRpb25TdGF0dXM6IExpbmVPcGVyYXRpb25TdGF0dXMsIHRyYW5zYWN0aW9uTGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgc3dpdGNoIChvcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvblR5cGUpIHtcclxuICAgICAgY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5BQk9SVEVEOlxyXG4gICAgICBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLkNBTkNFTExFRDpcclxuICAgICAgICBpZiAob3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb24gPT09ICdVU0VSX0RFQ0lTSU9OJykge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5fY2FuY2VsQXJ0aWNsZShvcGVyYXRpb25TdGF0dXMudXVpZCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX3Nob3dSZWFzb25EaWFsb2cob3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuQ09ORklSTUFUSU9OX05FRURFRDpcclxuICAgICAgICBhd2FpdCB0aGlzLl9jb25maXJtQWN0aW9uKHRyYW5zYWN0aW9uTGluZS51dWlkLCBvcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvbiwgb3BlcmF0aW9uU3RhdHVzLnBlbmRpbmdSZWFzb25UeXBlKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIC8vIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuSU5WQUxJRF9MT0dJU1RJQ1M6XHJcbiAgICAgIC8vICAgYXdhaXQgdGhpcy5zaG93U3RvY2tNYW5hZ2VyKHRoaXMuY3VycmVudFBlbmRpbmdMaW5lKTtcclxuICAgICAgLy8gICBicmVhaztcclxuICAgICAgLy8gY2FzZSBQZW5kaW5nUmVhc29uVHlwZS5OT05fQ1JJVElDQUxfRElTQ09OVElOVUFUSU9OOlxyXG4gICAgICAvLyAgIGF3YWl0IHRoaXMuX3Nob3dJbmZvcm1hdGlvbigpO1xyXG4gICAgICAvLyAgIGJyZWFrO1xyXG4gICAgICAvLyBjYXNlIFBlbmRpbmdSZWFzb25UeXBlLkNIQVJBQ1RFUklTVElDU19BTlNXRVJfTkVFREVEOlxyXG4gICAgICAvLyAgIHRoaXMuQ2hhcmFjdGVyaXN0aWNzQW5zd2VyTmVlZGVkKCk7XHJcbiAgICAgIC8vICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgUGVuZGluZ1JlYXNvblR5cGUuTk9ORTpcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyByZXNvbHZlUGVuZGluZ0xpbmVSZWFzb24ocGVuZGluZ0xpbmVWYWx1ZXM6IFJlc29sdmVMaW5lUGVuZGluZ1JlYXNvblJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLnJlc29sdmVQZW5kaW5nTGluZVJlYXNvbihwZW5kaW5nTGluZVZhbHVlcyk7XHJcbiAgICB0aGlzLl9yZW1lbWJlckN1cnJlbnRUcmFuc2FjdGlvbihyZXNwb25zZSk7XHJcbiAgICB0aGlzLmhhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXNlcyhyZXNwb25zZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9jb25maXJtQWN0aW9uKHV1aWQ6IHN0cmluZywgcmVhc29uOiBzdHJpbmcsIHR5cGU6IFBlbmRpbmdSZWFzb25UeXBlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCByZWFzb25SZXF1ZXN0ID0gbmV3IFJlc29sdmVMaW5lUGVuZGluZ1JlYXNvblJlcXVlc3QodXVpZCwgcmVhc29uLCB0eXBlKTtcclxuICAgIC8vIGNvbnN0IHBlbmRpbmdSZWFzb25UZXh0OiBzdHJpbmcgPSBhd2FpdCB0aGlzLl9nZXRQZW5kaW5nUmVhc29uVGV4dCh0aGlzLmN1cnJlbnRPcGVyYXRpb25TdGF0dXMucGVuZGluZ1JlYXNvbik7XHJcbiAgICByZWFzb25SZXF1ZXN0LmNvbmZpcm1hdGlvbiA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5zaG93WWVzTm8oJ0FjdGlvbicsIHJlYXNvbik7XHJcbiAgICBhd2FpdCB0aGlzLnJlc29sdmVQZW5kaW5nTGluZVJlYXNvbihyZWFzb25SZXF1ZXN0KTtcclxuICAgIC8vIHRoaXMuX2hhbmRsZUxpbmVPcGVyYXRpb25TdGF0dXMoKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2hvd1JlYXNvbkRpYWxvZyhyZWFzb246IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dJbmZvcm1hdGlvbihyZWFzb24pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0QW1vdW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFRyYW5zYWN0aW9uICYmIHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXMpIHtcclxuICAgICAgdGhpcy5hcnRpY2xlQW1vdW50ID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcy5maWx0ZXIodCA9PiB0LmxpbmVUeXBlID09PSBUcmFuc2FjdGlvbkxpbmVUeXBlLkFydGljbGVMaW5lKS5sZW5ndGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0aWFsaXplVHJhbnNhY3Rpb24oKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMucmVsYXRpb24pIHtcclxuICAgICAgdGhpcy5yZWxhdGlvbiA9IG5ldyBDdXN0b21lckZ1bGxPYmplY3QoKTtcclxuICAgICAgdGhpcy5yZWxhdGlvbi5yZWxhdGlvblN0YXR1cyA9IFJlbGF0aW9uU3RhdHVzLlJlZ3VsYXJDdXN0b21lcjtcclxuICAgICAgdGhpcy5yZWxhdGlvbi5zdGFydERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5wcmVmZXJyZWREZWxpdmVyeURhdGUyID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnByZWZlcnJlZERlbGl2ZXJ5RGF0ZTIgPSBcIj1cIjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2NhbmNlbEFydGljbGUodXVpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLmNhbmNlbEFkZFRyYW5zYWN0aW9uTGluZSh1dWlkLCBmYWxzZSlcclxuICAgICAgLnRoZW4oKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fcmVtZW1iZXJDdXJyZW50VHJhbnNhY3Rpb24ocmVzcG9uc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcbn1cclxuIl19