@colijnit/transaction 256.1.27 → 256.1.29
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.
- package/bundles/colijnit-transaction.umd.js +555 -218
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +11 -9
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +12 -10
- package/esm2015/lib/component/core/base/service/transaction-header.service.js +13 -1
- package/esm2015/lib/component/core/base/transaction-base.component.js +1 -5
- package/esm2015/lib/component/core/base/transaction-header-base.component.js +7 -1
- package/esm2015/lib/component/core/base/transaction-line-base.component.js +7 -1
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/delivery-planning-overview-tile-line.component.js +4 -15
- package/esm2015/lib/component/dialog/dialog-branch/dialog-branch.component.js +131 -0
- package/esm2015/lib/component/dialog/dialog-branch/dialog-branch.module.js +26 -0
- package/esm2015/lib/component/transaction-card/transaction-card-invoice/transaction-card-invoice.component.js +2 -2
- package/esm2015/lib/component/transaction-create-wizard/transaction-create-wizard.component.js +50 -28
- package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +15 -4
- package/esm2015/lib/component/transaction-internal/transaction-internal.module.js +4 -4
- package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line-base.component.js +31 -11
- package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line.component.js +4 -4
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line-base.component.js +31 -12
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +4 -4
- package/esm2015/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.js +38 -3
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.component.js +2 -2
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +2 -2
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-sales-quotation/transaction-quick-access-sales-quotation.component.js +2 -3
- package/esm2015/lib/enum/icon.enum.js +3 -1
- package/esm2015/lib/model/icon-svg.js +3 -1
- package/esm2015/lib/service/dialog.service.js +6 -9
- package/esm2015/lib/service/transaction-base.service.js +1 -2
- package/esm2015/lib/service/transaction-connector-adapter.service.js +19 -1
- package/esm2015/lib/service/transaction-connector.service.js +6 -1
- package/esm2015/lib/service/transaction-mapping.service.js +2 -2
- package/esm2015/lib/service/transaction.service.js +14 -2
- package/esm2015/lib/transaction-version.js +3 -3
- package/fesm2015/colijnit-transaction.js +547 -256
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/core/base/service/transaction-header.service.d.ts +4 -0
- package/lib/component/core/base/transaction-base.component.d.ts +0 -4
- package/lib/component/core/base/transaction-header-base.component.d.ts +2 -0
- package/lib/component/core/base/transaction-line-base.component.d.ts +2 -0
- package/lib/component/delivery-planning/style/_layout.scss +5 -0
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/style/_layout.scss +11 -10
- package/lib/component/dialog/dialog-branch/dialog-branch.component.d.ts +48 -0
- package/lib/component/dialog/dialog-branch/dialog-branch.module.d.ts +2 -0
- package/lib/component/dialog/dialog-branch/style/_layout.scss +11 -0
- package/lib/component/dialog/dialog-branch/style/_material-definition.scss +2 -0
- package/lib/component/dialog/dialog-branch/style/_theme.scss +4 -0
- package/lib/component/dialog/dialog-branch/style/material.scss +4 -0
- package/lib/component/transaction-create-wizard/transaction-create-wizard.component.d.ts +8 -3
- package/lib/component/transaction-internal/style/_layout.scss +3 -0
- package/lib/component/transaction-internal/transaction-internal.component.d.ts +4 -2
- package/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line-base.component.d.ts +3 -1
- package/lib/component/transaction-line/transaction-line/style/_layout.scss +8 -0
- package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line-base.component.d.ts +3 -1
- package/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.d.ts +2 -1
- package/lib/component/transaction-service-overview/style/_layout.scss +28 -3
- package/lib/enum/icon.enum.d.ts +2 -0
- package/lib/service/dialog.service.d.ts +1 -1
- package/lib/service/transaction-connector-adapter.service.d.ts +1 -0
- package/lib/service/transaction-connector.service.d.ts +1 -0
- package/lib/service/transaction.service.d.ts +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, HostBinding, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { IconCacheService } from '../../../service/icon-cache.service';
|
|
4
|
+
import { Icon } from '../../../enum/icon.enum';
|
|
5
|
+
import { AppPopupButtonType } from '../../core/enum/app-popup-button-type.enum';
|
|
6
|
+
import { TransactionRelationService } from '../../../service/transaction-relation.service';
|
|
7
|
+
export class DialogBranchComponent {
|
|
8
|
+
constructor(iconCacheService, _relationService) {
|
|
9
|
+
this.iconCacheService = iconCacheService;
|
|
10
|
+
this._relationService = _relationService;
|
|
11
|
+
this.icons = Icon;
|
|
12
|
+
this.buttonType = AppPopupButtonType;
|
|
13
|
+
this.fields = { text: "description", value: "relationId" };
|
|
14
|
+
this.viewModels = [];
|
|
15
|
+
this.viewModelsFiltered = [];
|
|
16
|
+
this.codeField = 'branchNo';
|
|
17
|
+
this.checkField = 'relationNr';
|
|
18
|
+
this.propsForLabel = [{ label: 'branchNo' }, { label: 'description' }];
|
|
19
|
+
}
|
|
20
|
+
showClass() {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
set searchText(value) {
|
|
24
|
+
if (value !== undefined && value !== null) {
|
|
25
|
+
this._searchText = value;
|
|
26
|
+
this._doSearch();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
get searchText() {
|
|
30
|
+
return this._searchText;
|
|
31
|
+
}
|
|
32
|
+
ngOnInit() {
|
|
33
|
+
this._getCollection();
|
|
34
|
+
}
|
|
35
|
+
onClose(eventType, output) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
handleSearch(text) {
|
|
39
|
+
this.searchText = text;
|
|
40
|
+
}
|
|
41
|
+
handleOkClick() {
|
|
42
|
+
this.onClose(AppPopupButtonType.Save, this.value);
|
|
43
|
+
}
|
|
44
|
+
handleCloseDialog(event, type) {
|
|
45
|
+
if (event) {
|
|
46
|
+
event.preventDefault();
|
|
47
|
+
event.stopPropagation();
|
|
48
|
+
}
|
|
49
|
+
this.onClose(type);
|
|
50
|
+
}
|
|
51
|
+
handleChecked(row) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
row.checked = true;
|
|
54
|
+
const currentModel = this.viewModels.find(v => v.value === row.value);
|
|
55
|
+
if (currentModel) {
|
|
56
|
+
currentModel.checked = true;
|
|
57
|
+
}
|
|
58
|
+
for (let i = 0; i < this.viewModels.length; i++) {
|
|
59
|
+
if (this.viewModels[i].value !== row.value) {
|
|
60
|
+
this.viewModels[i].checked = false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
this.value = row.value;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
_getCollection() {
|
|
67
|
+
this._relationService.getBranches().then((branches) => {
|
|
68
|
+
this._collection = branches;
|
|
69
|
+
this._prepareViewModels();
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
_prepareViewModels() {
|
|
73
|
+
this.viewModels.length = 0;
|
|
74
|
+
this._collection.forEach((d, index) => {
|
|
75
|
+
const labels = JSON.parse(JSON.stringify(this.propsForLabel));
|
|
76
|
+
labels.forEach(l => l.label = d[l.label]);
|
|
77
|
+
this.viewModels.push({
|
|
78
|
+
value: d[this.codeField],
|
|
79
|
+
propsForLabel: labels,
|
|
80
|
+
checked: (this.value ? this.value === d[this.codeField] : index === 0)
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
this.viewModelsFiltered = this.viewModels.slice();
|
|
84
|
+
if (this.viewModels.length > 0) {
|
|
85
|
+
// this.valueChange.next(this.value ? this.value : this.viewModels[0].value);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
_doSearch() {
|
|
89
|
+
this.viewModelsFiltered = JSON.parse(JSON.stringify(this.viewModels));
|
|
90
|
+
if (this.searchText) {
|
|
91
|
+
this.viewModelsFiltered = this.viewModelsFiltered.filter(vmf => {
|
|
92
|
+
return vmf.propsForLabel.find((p) => p.label && p.label.toString().match(new RegExp(this.searchText, 'gi')));
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
DialogBranchComponent.decorators = [
|
|
98
|
+
{ type: Component, args: [{
|
|
99
|
+
selector: 'co-dialog-branch',
|
|
100
|
+
template: `
|
|
101
|
+
<co-dialog [headerTemplate]="dialogHeader" [footerTemplate]="footerTemplate" (closeClick)="handleCloseDialog($event, buttonType.Cancel)">
|
|
102
|
+
<co-transaction-line-checkbox-list
|
|
103
|
+
[collection]="viewModelsFiltered"
|
|
104
|
+
(checked)="handleChecked($event)"
|
|
105
|
+
></co-transaction-line-checkbox-list>
|
|
106
|
+
</co-dialog>
|
|
107
|
+
<ng-template #dialogHeader>
|
|
108
|
+
<co-dialog-header-search [title]="'BRANCH'" (search)="handleSearch($event)"></co-dialog-header-search>
|
|
109
|
+
</ng-template>
|
|
110
|
+
<ng-template #footerTemplate>
|
|
111
|
+
<div class="co-dialog-footer-button-wrapper">
|
|
112
|
+
<co-button class="save-button"
|
|
113
|
+
[iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
|
|
114
|
+
(click)="handleOkClick()"></co-button>
|
|
115
|
+
<co-button class="close-button"
|
|
116
|
+
[iconData]="iconCacheService.getIcon(icons.Crossskinny)"
|
|
117
|
+
(click)="handleCloseDialog($event, buttonType.Cancel)"></co-button>
|
|
118
|
+
</div>
|
|
119
|
+
</ng-template>
|
|
120
|
+
`,
|
|
121
|
+
encapsulation: ViewEncapsulation.None
|
|
122
|
+
},] }
|
|
123
|
+
];
|
|
124
|
+
DialogBranchComponent.ctorParameters = () => [
|
|
125
|
+
{ type: IconCacheService },
|
|
126
|
+
{ type: TransactionRelationService }
|
|
127
|
+
];
|
|
128
|
+
DialogBranchComponent.propDecorators = {
|
|
129
|
+
showClass: [{ type: HostBinding, args: ['class.co-dialog-branch',] }]
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWJyYW5jaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9kaWFsb2cvZGlhbG9nLWJyYW5jaC9kaWFsb2ctYnJhbmNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQVUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRzlFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBMkJ6RixNQUFNLE9BQU8scUJBQXFCO0lBaUNoQyxZQUNTLGdCQUFrQyxFQUNqQyxnQkFBNEM7UUFEN0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTRCO1FBbEN0QyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUMxQixlQUFVLEdBQThCLGtCQUFrQixDQUFDO1FBbUJwRSxXQUFNLEdBQVcsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQztRQUU1RCxlQUFVLEdBQXFGLEVBQUUsQ0FBQztRQUNsRyx1QkFBa0IsR0FBcUYsRUFBRSxDQUFDO1FBRXZHLGNBQVMsR0FBVyxVQUFVLENBQUM7UUFDL0IsZUFBVSxHQUFXLFlBQVksQ0FBQztRQUNsQyxrQkFBYSxHQUFvQyxDQUFDLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxFQUFFLEVBQUMsS0FBSyxFQUFFLGFBQWEsRUFBQyxDQUFDLENBQUM7SUFTekcsQ0FB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QUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQS9CTyxnQkFBZ0I7WUFLaEIsMEJBQTBCOzs7d0JBK0IvQixXQUFXLFNBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0FwcFBvcHVwQnV0dG9uVHlwZX0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2FwcC1wb3B1cC1idXR0b24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHtCcmFuY2hMb3Z9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9icmFuY2gtbG92LmJvJztcclxuaW1wb3J0IHtDaGVja2JveExpc3RQcm9wZXJ0eUludGVyZmFjZX0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL2NoZWNrYm94LWxpc3QtcHJvcGVydHkuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblJlbGF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1yZWxhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tZGlhbG9nLWJyYW5jaCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGNvLWRpYWxvZyBbaGVhZGVyVGVtcGxhdGVdPVwiZGlhbG9nSGVhZGVyXCIgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCIgKGNsb3NlQ2xpY2spPVwiaGFuZGxlQ2xvc2VEaWFsb2coJGV2ZW50LCBidXR0b25UeXBlLkNhbmNlbClcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWNoZWNrYm94LWxpc3RcclxuICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwidmlld01vZGVsc0ZpbHRlcmVkXCJcclxuICAgICAgICAgICAgICAgICAgKGNoZWNrZWQpPVwiaGFuZGxlQ2hlY2tlZCgkZXZlbnQpXCJcclxuICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtY2hlY2tib3gtbGlzdD5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGlhbG9nSGVhZGVyPlxyXG4gICAgICAgICAgPGNvLWRpYWxvZy1oZWFkZXItc2VhcmNoIFt0aXRsZV09XCInQlJBTkNIJ1wiIChzZWFyY2gpPVwiaGFuZGxlU2VhcmNoKCRldmVudClcIj48L2NvLWRpYWxvZy1oZWFkZXItc2VhcmNoPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVPa0NsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3Nza2lubnkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDbG9zZURpYWxvZygkZXZlbnQsIGJ1dHRvblR5cGUuQ2FuY2VsKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dCcmFuY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBidXR0b25UeXBlOiB0eXBlb2YgQXBwUG9wdXBCdXR0b25UeXBlID0gQXBwUG9wdXBCdXR0b25UeXBlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWRpYWxvZy1icmFuY2gnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgc2VhcmNoVGV4dCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLl9zZWFyY2hUZXh0ID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuX2RvU2VhcmNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNlYXJjaFRleHQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hUZXh0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHZhbHVlOiBzdHJpbmc7XHJcbiAgcHVibGljIGZpZWxkczogT2JqZWN0ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwicmVsYXRpb25JZFwifTtcclxuICBwdWJsaWMgYnJhbmNoTW9kZWw6IEJyYW5jaExvdjtcclxuICBwdWJsaWMgdmlld01vZGVsczoge3ZhbHVlOiBhbnksIHByb3BzRm9yTGFiZWw6IENoZWNrYm94TGlzdFByb3BlcnR5SW50ZXJmYWNlW10sIGNoZWNrZWQ6IGJvb2xlYW59W10gPSBbXTtcclxuICBwdWJsaWMgdmlld01vZGVsc0ZpbHRlcmVkOiB7dmFsdWU6IGFueSwgcHJvcHNGb3JMYWJlbDogQ2hlY2tib3hMaXN0UHJvcGVydHlJbnRlcmZhY2VbXSwgY2hlY2tlZDogYm9vbGVhbn1bXSA9IFtdO1xyXG5cclxuICBwcm90ZWN0ZWQgY29kZUZpZWxkOiBzdHJpbmcgPSAnYnJhbmNoTm8nO1xyXG4gIHByb3RlY3RlZCBjaGVja0ZpZWxkOiBzdHJpbmcgPSAncmVsYXRpb25Ocic7XHJcbiAgcHJvdGVjdGVkIHByb3BzRm9yTGFiZWw6IENoZWNrYm94TGlzdFByb3BlcnR5SW50ZXJmYWNlW10gPSBbe2xhYmVsOiAnYnJhbmNoTm8nfSwge2xhYmVsOiAnZGVzY3JpcHRpb24nfV07XHJcblxyXG4gIHByaXZhdGUgX2NvbGxlY3Rpb246IEJyYW5jaExvdltdO1xyXG4gIHByaXZhdGUgX3NlYXJjaFRleHQ6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3JlbGF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25SZWxhdGlvblNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2dldENvbGxlY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIG9uQ2xvc2UoZXZlbnRUeXBlOiBBcHBQb3B1cEJ1dHRvblR5cGUsIG91dHB1dD86IGFueSk6IHZvaWQge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlYXJjaCh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHRleHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlT2tDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMub25DbG9zZShBcHBQb3B1cEJ1dHRvblR5cGUuU2F2ZSwgdGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2xvc2VEaWFsb2coZXZlbnQ6IE1vdXNlRXZlbnQsIHR5cGU6IEFwcFBvcHVwQnV0dG9uVHlwZSk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbkNsb3NlKHR5cGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUNoZWNrZWQocm93OiB7dmFsdWU6IHN0cmluZywgdGV4dDogc3RyaW5nLCBjaGVja2VkOiBib29sZWFufSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICByb3cuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRNb2RlbCA9IHRoaXMudmlld01vZGVscy5maW5kKHYgPT4gdi52YWx1ZSA9PT0gcm93LnZhbHVlKTtcclxuICAgICAgaWYgKGN1cnJlbnRNb2RlbCkge1xyXG4gICAgICAgIGN1cnJlbnRNb2RlbC5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudmlld01vZGVscy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodGhpcy52aWV3TW9kZWxzW2ldLnZhbHVlICE9PSByb3cudmFsdWUpIHtcclxuICAgICAgICB0aGlzLnZpZXdNb2RlbHNbaV0uY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gcm93LnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0Q29sbGVjdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuX3JlbGF0aW9uU2VydmljZS5nZXRCcmFuY2hlcygpLnRoZW4oKGJyYW5jaGVzOiBCcmFuY2hMb3ZbXSkgPT4ge1xyXG4gICAgICB0aGlzLl9jb2xsZWN0aW9uID0gYnJhbmNoZXM7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVWaWV3TW9kZWxzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVWaWV3TW9kZWxzKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3TW9kZWxzLmxlbmd0aCA9IDA7XHJcbiAgICB0aGlzLl9jb2xsZWN0aW9uLmZvckVhY2goKGQsIGluZGV4KSA9PiB7XHJcbiAgICAgIGNvbnN0IGxhYmVsczogQ2hlY2tib3hMaXN0UHJvcGVydHlJbnRlcmZhY2VbXSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5wcm9wc0ZvckxhYmVsKSk7XHJcbiAgICAgIGxhYmVscy5mb3JFYWNoKGwgPT4gbC5sYWJlbCA9IGRbbC5sYWJlbF0pO1xyXG4gICAgICB0aGlzLnZpZXdNb2RlbHMucHVzaChcclxuICAgICAgICB7XHJcbiAgICAgICAgICB2YWx1ZTogZFt0aGlzLmNvZGVGaWVsZF0sXHJcbiAgICAgICAgICBwcm9wc0ZvckxhYmVsOiBsYWJlbHMsXHJcbiAgICAgICAgICBjaGVja2VkOiAodGhpcy52YWx1ZSA/IHRoaXMudmFsdWUgPT09IGRbdGhpcy5jb2RlRmllbGRdIDogaW5kZXggPT09IDApXHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudmlld01vZGVsc0ZpbHRlcmVkID0gdGhpcy52aWV3TW9kZWxzLnNsaWNlKCk7XHJcbiAgICBpZiAodGhpcy52aWV3TW9kZWxzLmxlbmd0aCA+IDApIHtcclxuICAgICAgLy8gdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogdGhpcy52aWV3TW9kZWxzWzBdLnZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RvU2VhcmNoKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3TW9kZWxzRmlsdGVyZWQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMudmlld01vZGVscykpO1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoVGV4dCkge1xyXG4gICAgICB0aGlzLnZpZXdNb2RlbHNGaWx0ZXJlZCA9IHRoaXMudmlld01vZGVsc0ZpbHRlcmVkLmZpbHRlcih2bWYgPT4ge1xyXG4gICAgICAgIHJldHVybiB2bWYucHJvcHNGb3JMYWJlbC5maW5kKChwOiBDaGVja2JveExpc3RQcm9wZXJ0eUludGVyZmFjZSkgPT4gcC5sYWJlbCAmJiBwLmxhYmVsLnRvU3RyaW5nKCkubWF0Y2gobmV3IFJlZ0V4cCh0aGlzLnNlYXJjaFRleHQsICdnaScpKSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { DialogBranchComponent } from './dialog-branch.component';
|
|
4
|
+
import { ButtonModule, CoDialogModule } from '@colijnit/corecomponents_v12';
|
|
5
|
+
import { DialogHeaderSearchModule } from '../dialog-header-search/dialog-header-search.module';
|
|
6
|
+
import { TransactionLineCheckboxModule } from '../../transaction-line-checkbox-list/transaction-line-checkbox-list.module';
|
|
7
|
+
export class DialogBranchModule {
|
|
8
|
+
}
|
|
9
|
+
DialogBranchModule.decorators = [
|
|
10
|
+
{ type: NgModule, args: [{
|
|
11
|
+
imports: [
|
|
12
|
+
CommonModule,
|
|
13
|
+
CoDialogModule,
|
|
14
|
+
DialogHeaderSearchModule,
|
|
15
|
+
ButtonModule,
|
|
16
|
+
TransactionLineCheckboxModule
|
|
17
|
+
],
|
|
18
|
+
declarations: [
|
|
19
|
+
DialogBranchComponent
|
|
20
|
+
],
|
|
21
|
+
exports: [
|
|
22
|
+
DialogBranchComponent
|
|
23
|
+
]
|
|
24
|
+
},] }
|
|
25
|
+
];
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWJyYW5jaC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9kaWFsb2cvZGlhbG9nLWJyYW5jaC9kaWFsb2ctYnJhbmNoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDRFQUE0RSxDQUFDO0FBaUJ6SCxNQUFNLE9BQU8sa0JBQWtCOzs7WUFmOUIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGNBQWM7b0JBQ2Qsd0JBQXdCO29CQUN4QixZQUFZO29CQUNaLDZCQUE2QjtpQkFDOUI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHFCQUFxQjtpQkFDdEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtEaWFsb2dCcmFuY2hDb21wb25lbnR9IGZyb20gJy4vZGlhbG9nLWJyYW5jaC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0J1dHRvbk1vZHVsZSwgQ29EaWFsb2dNb2R1bGV9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge0RpYWxvZ0hlYWRlclNlYXJjaE1vZHVsZX0gZnJvbSAnLi4vZGlhbG9nLWhlYWRlci1zZWFyY2gvZGlhbG9nLWhlYWRlci1zZWFyY2gubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVDaGVja2JveE1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS1jaGVja2JveC1saXN0L3RyYW5zYWN0aW9uLWxpbmUtY2hlY2tib3gtbGlzdC5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBDb0RpYWxvZ01vZHVsZSxcclxuICAgIERpYWxvZ0hlYWRlclNlYXJjaE1vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIFRyYW5zYWN0aW9uTGluZUNoZWNrYm94TW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIERpYWxvZ0JyYW5jaENvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRGlhbG9nQnJhbmNoQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nQnJhbmNoTW9kdWxlIHtcclxufVxyXG4iXX0=
|
|
@@ -45,7 +45,7 @@ TransactionCardInvoiceComponent.decorators = [
|
|
|
45
45
|
[min]="1"
|
|
46
46
|
[max]="transactionLine.amount"
|
|
47
47
|
[readonly]="readonly"
|
|
48
|
-
(modelChange)="updateSelectedQuantity()">
|
|
48
|
+
(modelChange)="updateSelectedQuantity(transactionLine.amountSelected)">
|
|
49
49
|
</co-input-number-picker>
|
|
50
50
|
</div>
|
|
51
51
|
</co-transaction-card-header>
|
|
@@ -139,4 +139,4 @@ TransactionCardInvoiceComponent.decorators = [
|
|
|
139
139
|
TransactionCardInvoiceComponent.propDecorators = {
|
|
140
140
|
showClass: [{ type: HostBinding, args: ["class.co-transaction-card-invoice",] }]
|
|
141
141
|
};
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FyZC1pbnZvaWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC1pbnZvaWNlL3RyYW5zYWN0aW9uLWNhcmQtaW52b2ljZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQVMsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0seUZBQXlGLENBQUM7QUFpSDVJLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxtQ0FBbUM7SUE1R3hGOztRQWtIUyx3QkFBbUIsR0FBeUI7WUFDakQsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYTtZQUMxQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQjtZQUNwRCxzQkFBc0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQjtZQUM1RCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQjtZQUN0RCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQjtTQUN2RCxDQUFBO1FBRU0seUJBQW9CLEdBQXNCO1lBQy9DLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1NBQ3ZDLENBQUE7SUFDSCxDQUFDO0lBdkJRLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OztZQWhIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUdUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7d0JBRUUsV0FBVyxTQUFDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkludm9pY2VMaW5lQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1pbnZvaWNlLWxpbmUvdHJhbnNhY3Rpb24taW52b2ljZS1saW5lLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvJztcclxuaW1wb3J0IHtTdGF0dXNCYXJDZmdOYW1lc30gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL3N0YXR1cy1iYXItY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7TGluZURpc2NvdW50Q2ZnTmFtZXN9IGZyb20gXCIuLi8uLi8uLi9pbnRlcmZhY2UvbGluZS1kaXNjb3VudC1jZmctbmFtZXMuaW50ZXJmYWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1jYXJkLWludm9pY2VcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tY2FyZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tY2FyZC1oZWFkZXJcclxuICAgICAgICAgICAgICAgICAgW3Nob3dBY3Rpb25CdXR0b25zXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbc2hvd0NoZWNrYm94XT1cInNob3dDaGVja2JveCAmJiB0cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25EZWZpbml0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgW3Nob3dUaHVtYm5haWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAoY2hlY2tib3hWYWx1ZUNoYW5nZWQpPVwiaGFuZGxlU2VsZWN0Q2hlY2tib3hDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgKGV4cGFuZENsaWNrZWQpPVwiZXhwYW5kZWQgPSAhZXhwYW5kZWRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS10b3RhbHMtYW1vdW50IGNhcmQtYnV0dG9uXCIgKm5nSWY9XCJsaW5lUXVhbnRpdHlUb0ludm9pY2UgIT09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXIgY2xhc3M9XCJhbW91bnQtbnVtYmVyLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInRyYW5zYWN0aW9uTGluZS5hbW91bnRTZWxlY3RlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsc109XCJkZWNpbWFsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXhdPVwidHJhbnNhY3Rpb25MaW5lLmFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJ1cGRhdGVTZWxlY3RlZFF1YW50aXR5KClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1jYXJkLWhlYWRlcj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1jYXJkLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJhc2UgdG9wLWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXIgc3RhdHVzLWJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlN0YXR1c0JhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJzdGF0dXNCYXJDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJjYXRlZ29yeS5TYWxlc09yZGVyRGVsaXZlcnlOb3RlXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2Jhcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidXQVJFSE9VU0UnXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZS1idXR0b24+PC9jby10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidERUxJVkVSWV9NRVRIT0QnXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWJ1dHRvbj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJhc2UgYm90dG9tLWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ1BSSUNFJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1wcmljZSBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzLXByaWNlIHByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lUHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0RWRpdE1vZGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtcHJpY2U+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidESVNDT1VOVCdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uICpuZ0lmPVwiIXByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lRGlzY291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnTmFtZXNdPVwiZGlzY291bnRDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidRVUFOVElUWSdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtYW1vdW50IGNsYXNzPVwiYW1vdW50LW51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWFtb3VudD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ1RPVEFMJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tZWRpdGFibGUtbGFiZWwgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy10b3RhbCBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUuZGlzcGxheU5ldExpbmVUb3RhbCB8IGNvQ3VycmVuY3k6IHRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdE1vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5kaXNwbGF5TmV0TGluZVRvdGFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLWVkaXRhYmxlLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWV4cGFuZGVkXCIgKm5nSWY9XCJleHBhbmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWxhYmVsIFtpbnNpZGVMYWJlbF09XCInREVMSVZFUllfTUVUSE9EJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVEZWxpdmVyeU1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidERUxJVkVSWV9EQVRFJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1kYXRlLWJ1dHRvbj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktZGF0ZS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tY2FyZC1mb290ZXJcclxuICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5XT1cImNhdGVnb3J5LlNhbGVzT3JkZXJJbnZvaWNlXCJcclxuICAgICAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cImV4cGFuZGVkXCJcclxuICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWNhcmQtZm9vdGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ2FyZEludm9pY2VDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkludm9pY2VMaW5lQmFzZUNvbXBvbmVudCB7XHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tY2FyZC1pbnZvaWNlXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2NvdW50Q29uZmlnTmFtZXM6IExpbmVEaXNjb3VudENmZ05hbWVzID0ge1xyXG4gICAgbGluZVByaWNlTGlzdDogdGhpcy5jZmdOYW1lcy5MaW5lUHJpY2VMaXN0LFxyXG4gICAgbGluZURpc2NvdW50QW1vdW50OiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudEFtb3VudCxcclxuICAgIGxpbmVEaXNjb3VudFBlcmNlbnRhZ2U6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UGVyY2VudGFnZSxcclxuICAgIGxpbmVEaXNjb3VudFNwZWNpYWw6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50U3BlY2lhbCxcclxuICAgIGxpbmVEaXNjb3VudFF1YW50dW06IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UXVhbnR1bVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhckJUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJULFxyXG4gICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICBzdGF0dXNCYXJQQTogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQQSxcclxuICAgIHN0YXR1c0JhclBWOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBWLFxyXG4gICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICBzdGF0dXNCYXJHVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHVCxcclxuICAgIHN0YXR1c0JhckdQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdQLFxyXG4gICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICBzdGF0dXNCYXJHRjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHRlxyXG4gIH1cclxufVxyXG4iXX0=
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FyZC1pbnZvaWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWNhcmQvdHJhbnNhY3Rpb24tY2FyZC1pbnZvaWNlL3RyYW5zYWN0aW9uLWNhcmQtaW52b2ljZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQVMsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0seUZBQXlGLENBQUM7QUFpSDVJLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxtQ0FBbUM7SUE1R3hGOztRQWtIUyx3QkFBbUIsR0FBeUI7WUFDakQsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYTtZQUMxQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQjtZQUNwRCxzQkFBc0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQjtZQUM1RCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQjtZQUN0RCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQjtTQUN2RCxDQUFBO1FBRU0seUJBQW9CLEdBQXNCO1lBQy9DLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1NBQ3ZDLENBQUE7SUFDSCxDQUFDO0lBdkJRLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OztZQWhIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUdUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7d0JBRUUsV0FBVyxTQUFDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkludm9pY2VMaW5lQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1pbnZvaWNlLWxpbmUvdHJhbnNhY3Rpb24taW52b2ljZS1saW5lLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvJztcclxuaW1wb3J0IHtTdGF0dXNCYXJDZmdOYW1lc30gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL3N0YXR1cy1iYXItY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7TGluZURpc2NvdW50Q2ZnTmFtZXN9IGZyb20gXCIuLi8uLi8uLi9pbnRlcmZhY2UvbGluZS1kaXNjb3VudC1jZmctbmFtZXMuaW50ZXJmYWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1jYXJkLWludm9pY2VcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tY2FyZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tY2FyZC1oZWFkZXJcclxuICAgICAgICAgICAgICAgICAgW3Nob3dBY3Rpb25CdXR0b25zXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbc2hvd0NoZWNrYm94XT1cInNob3dDaGVja2JveCAmJiB0cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25EZWZpbml0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgW3Nob3dUaHVtYm5haWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAoY2hlY2tib3hWYWx1ZUNoYW5nZWQpPVwiaGFuZGxlU2VsZWN0Q2hlY2tib3hDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgKGV4cGFuZENsaWNrZWQpPVwiZXhwYW5kZWQgPSAhZXhwYW5kZWRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS10b3RhbHMtYW1vdW50IGNhcmQtYnV0dG9uXCIgKm5nSWY9XCJsaW5lUXVhbnRpdHlUb0ludm9pY2UgIT09IDBcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXIgY2xhc3M9XCJhbW91bnQtbnVtYmVyLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInRyYW5zYWN0aW9uTGluZS5hbW91bnRTZWxlY3RlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsc109XCJkZWNpbWFsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXhdPVwidHJhbnNhY3Rpb25MaW5lLmFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJ1cGRhdGVTZWxlY3RlZFF1YW50aXR5KHRyYW5zYWN0aW9uTGluZS5hbW91bnRTZWxlY3RlZClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1jYXJkLWhlYWRlcj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1jYXJkLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJhc2UgdG9wLWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXIgc3RhdHVzLWJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlN0YXR1c0JhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJzdGF0dXNCYXJDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJjYXRlZ29yeS5TYWxlc09yZGVyRGVsaXZlcnlOb3RlXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2Jhcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidXQVJFSE9VU0UnXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZS1idXR0b24+PC9jby10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidERUxJVkVSWV9NRVRIT0QnXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWJ1dHRvbj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJhc2UgYm90dG9tLWJhc2VcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ1BSSUNFJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1wcmljZSBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzLXByaWNlIHByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lUHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0RWRpdE1vZGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtcHJpY2U+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidESVNDT1VOVCdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uICpuZ0lmPVwiIXByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lRGlzY291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnTmFtZXNdPVwiZGlzY291bnRDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidRVUFOVElUWSdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtYW1vdW50IGNsYXNzPVwiYW1vdW50LW51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWFtb3VudD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnNpZGUtZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbCBbaW5zaWRlTGFiZWxdPVwiJ1RPVEFMJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tZWRpdGFibGUtbGFiZWwgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy10b3RhbCBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUuZGlzcGxheU5ldExpbmVUb3RhbCB8IGNvQ3VycmVuY3k6IHRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdE1vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5kaXNwbGF5TmV0TGluZVRvdGFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLWVkaXRhYmxlLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWV4cGFuZGVkXCIgKm5nSWY9XCJleHBhbmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluc2lkZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWxhYmVsIFtpbnNpZGVMYWJlbF09XCInREVMSVZFUllfTUVUSE9EJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVEZWxpdmVyeU1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5zaWRlLWZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtbGFiZWwgW2luc2lkZUxhYmVsXT1cIidERUxJVkVSWV9EQVRFJ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1kYXRlLWJ1dHRvbj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktZGF0ZS1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tY2FyZC1mb290ZXJcclxuICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5XT1cImNhdGVnb3J5LlNhbGVzT3JkZXJJbnZvaWNlXCJcclxuICAgICAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cImV4cGFuZGVkXCJcclxuICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWNhcmQtZm9vdGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ2FyZEludm9pY2VDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkludm9pY2VMaW5lQmFzZUNvbXBvbmVudCB7XHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tY2FyZC1pbnZvaWNlXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2NvdW50Q29uZmlnTmFtZXM6IExpbmVEaXNjb3VudENmZ05hbWVzID0ge1xyXG4gICAgbGluZVByaWNlTGlzdDogdGhpcy5jZmdOYW1lcy5MaW5lUHJpY2VMaXN0LFxyXG4gICAgbGluZURpc2NvdW50QW1vdW50OiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudEFtb3VudCxcclxuICAgIGxpbmVEaXNjb3VudFBlcmNlbnRhZ2U6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UGVyY2VudGFnZSxcclxuICAgIGxpbmVEaXNjb3VudFNwZWNpYWw6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50U3BlY2lhbCxcclxuICAgIGxpbmVEaXNjb3VudFF1YW50dW06IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UXVhbnR1bVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhckJUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJULFxyXG4gICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICBzdGF0dXNCYXJQQTogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQQSxcclxuICAgIHN0YXR1c0JhclBWOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBWLFxyXG4gICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICBzdGF0dXNCYXJHVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHVCxcclxuICAgIHN0YXR1c0JhckdQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdQLFxyXG4gICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICBzdGF0dXNCYXJHRjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHRlxyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2015/lib/component/transaction-create-wizard/transaction-create-wizard.component.js
CHANGED
|
@@ -6,20 +6,25 @@ import { TransactionCreateService } from "../../service/transaction-create.servi
|
|
|
6
6
|
import { TransactionInfoResponse } from "@colijnit/transactionapi/build/model/transaction-info-response.bo";
|
|
7
7
|
import { TransactionRelationService } from "../../service/transaction-relation.service";
|
|
8
8
|
import { Icon } from "../../enum/icon.enum";
|
|
9
|
+
import { CustomerFullObject } from "@colijnit/relationapi/build/model/customer-full-object.bo";
|
|
10
|
+
import { TransactionHeaderService } from "../core/base/service/transaction-header.service";
|
|
9
11
|
export class TransactionCreateWizardComponent {
|
|
10
|
-
constructor(createService, relationService, transactionScreenConfigurationService) {
|
|
12
|
+
constructor(createService, relationService, transactionScreenConfigurationService, _headerService) {
|
|
11
13
|
this.createService = createService;
|
|
12
14
|
this.relationService = relationService;
|
|
13
15
|
this.transactionScreenConfigurationService = transactionScreenConfigurationService;
|
|
16
|
+
this._headerService = _headerService;
|
|
14
17
|
this.transKind = TransactionKind;
|
|
15
18
|
this.Icon = Icon;
|
|
16
19
|
this.transactionFinished = new EventEmitter();
|
|
17
20
|
//This can be an input once the component is adjusted to work to create more transactions.
|
|
18
21
|
this.transactionType = TransactionKind.ServiceOrder;
|
|
19
22
|
this.noLockOnCustomerSet = false;
|
|
23
|
+
this.isReady = false;
|
|
20
24
|
this._externallyProvidedTransaction = null;
|
|
21
25
|
//for bundle puroses where an new, non transaction based, service should always start with the customer already set
|
|
22
26
|
this._externallyProvidedCustomer = null;
|
|
27
|
+
this._subs = [];
|
|
23
28
|
}
|
|
24
29
|
set externallyProvidedTransaction(transaction) {
|
|
25
30
|
this._externallyProvidedTransaction = transaction;
|
|
@@ -35,6 +40,11 @@ export class TransactionCreateWizardComponent {
|
|
|
35
40
|
}
|
|
36
41
|
ngOnInit() {
|
|
37
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
this._subs.push(this.createService.transactionUpdated.subscribe((transaction) => {
|
|
44
|
+
if (transaction) {
|
|
45
|
+
this._headerService.transaction = transaction;
|
|
46
|
+
}
|
|
47
|
+
}));
|
|
38
48
|
yield this.createService.prepareAfterSalesSystemParam();
|
|
39
49
|
if (this.createService.afterSalesSystemParam) {
|
|
40
50
|
this.skipWizard();
|
|
@@ -43,6 +53,14 @@ export class TransactionCreateWizardComponent {
|
|
|
43
53
|
this.createService.transactionKind = this.transactionType;
|
|
44
54
|
this.createService.createNewRelation();
|
|
45
55
|
this._processExternalSettings();
|
|
56
|
+
this._headerService.relation = new CustomerFullObject();
|
|
57
|
+
this._headerService.createCloneRelation();
|
|
58
|
+
this.isReady = true;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
ngOnDestroy() {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
this._subs.forEach(s => s.unsubscribe());
|
|
46
64
|
});
|
|
47
65
|
}
|
|
48
66
|
handleRelationValidation() {
|
|
@@ -180,40 +198,44 @@ TransactionCreateWizardComponent.decorators = [
|
|
|
180
198
|
selector: "co-transaction-create-wizard",
|
|
181
199
|
template: `
|
|
182
200
|
<co-click-block></co-click-block>
|
|
183
|
-
<
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
<co-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
201
|
+
<ng-container *ngIf="isReady">
|
|
202
|
+
<co-simple-vertical-stepper [stepButtonLabels]="['Volgende', 'Volgende', 'Volgende', 'Volgende', 'Afronden']"
|
|
203
|
+
#stepper [titleIcon]="Icon.ServiceCartRegular" [title]="'CREATE_SERVICE' | localize" [doNotShowOKOnSteps]="[3]">
|
|
204
|
+
<co-stepper-step #stepRelationSection [index]="1" [label]="'PERSONAL_DATA' | localize" (validateStep)="handleRelationValidation()">
|
|
205
|
+
|
|
206
|
+
<co-transaction-header-popup-relation #relationSection [noLockOnCustomerSet]="noLockOnCustomerSet" [forceReadonly]="noLockOnCustomerSet"
|
|
207
|
+
*ngIf="stepRelationSection.show"
|
|
208
|
+
class="category-content"
|
|
209
|
+
[forceReadonly]="(createService.currentTransaction.transactionInfo.uuid !== undefined)"
|
|
210
|
+
[showInvoiceAddress]="false" [showPrivacy]="false" [showMessageForChangeCustomer]="true"
|
|
211
|
+
(changeCustomerRequested)="resetWizard()"
|
|
212
|
+
></co-transaction-header-popup-relation>
|
|
213
|
+
</co-stepper-step>
|
|
214
|
+
<co-stepper-step #stepTransactionSection [index]="2" [label]="'HOW_TO_CREATE_SERVICE' | localize" (validateStep)="handleTransactionValidation()">
|
|
215
|
+
<co-transaction-header-popup-create-service #transactionSection [relation]="createService.relation" [forceReadonly]="(createService.currentTransaction.transactionInfo.uuid !== undefined)"
|
|
216
|
+
[afterSalesSystem]="createService.afterSalesSystemParam"></co-transaction-header-popup-create-service>
|
|
217
|
+
</co-stepper-step>
|
|
218
|
+
<co-stepper-step #stepWizardSection [index]="3" [label]="'SERVICE_WIZARD' | localize" (validateStep)="handleWizardValidation()">
|
|
219
|
+
<co-transaction-header-popup-service-wizard #wizardSection (wizardFinished)="wizardFinished()" (skipWizard)="skipWizard()"></co-transaction-header-popup-service-wizard>
|
|
220
|
+
</co-stepper-step>
|
|
221
|
+
<co-stepper-step #stepServiceFieldsSection [index]="4" [label]="'SERVICE_INFO' | localize" (validateStep)="handleServiceInfoValidation()">
|
|
222
|
+
<co-transaction-header-popup-service-fields #serviceFieldsSection></co-transaction-header-popup-service-fields>
|
|
223
|
+
</co-stepper-step>
|
|
224
|
+
<co-stepper-step [index]="5" [label]="'FINISH' | localize">
|
|
225
|
+
</co-stepper-step>
|
|
226
|
+
</co-simple-vertical-stepper>
|
|
227
|
+
</ng-container>
|
|
207
228
|
|
|
208
229
|
`,
|
|
209
|
-
providers: [TransactionCreateService],
|
|
230
|
+
providers: [TransactionCreateService, TransactionHeaderService],
|
|
210
231
|
encapsulation: ViewEncapsulation.None
|
|
211
232
|
},] }
|
|
212
233
|
];
|
|
213
234
|
TransactionCreateWizardComponent.ctorParameters = () => [
|
|
214
235
|
{ type: TransactionCreateService },
|
|
215
236
|
{ type: TransactionRelationService },
|
|
216
|
-
{ type: TransactionScreenConfigurationService }
|
|
237
|
+
{ type: TransactionScreenConfigurationService },
|
|
238
|
+
{ type: TransactionHeaderService }
|
|
217
239
|
];
|
|
218
240
|
TransactionCreateWizardComponent.propDecorators = {
|
|
219
241
|
stepper: [{ type: ViewChild, args: ["stepper",] }],
|
|
@@ -231,4 +253,4 @@ TransactionCreateWizardComponent.propDecorators = {
|
|
|
231
253
|
transactionFinished: [{ type: Output }],
|
|
232
254
|
showClass: [{ type: HostBinding, args: ["class.co-transaction-create-wizard",] }]
|
|
233
255
|
};
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY3JlYXRlLXdpemFyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jcmVhdGUtd2l6YXJkL3RyYW5zYWN0aW9uLWNyZWF0ZS13aXphcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBSTFGLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQzdHLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBV2xGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQzFHLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBRXRGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQXFDMUMsTUFBTSxPQUFPLGdDQUFnQztJQW1FM0MsWUFBbUIsYUFBdUMsRUFDdkMsZUFBMkMsRUFDM0MscUNBQTRFO1FBRjVFLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2QyxvQkFBZSxHQUFmLGVBQWUsQ0FBNEI7UUFDM0MsMENBQXFDLEdBQXJDLHFDQUFxQyxDQUF1QztRQXBFL0UsY0FBUyxHQUEyQixlQUFlLENBQUM7UUFDcEQsU0FBSSxHQUFnQixJQUFJLENBQUM7UUFnRGxDLHdCQUFtQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTlFLDBGQUEwRjtRQUNuRixvQkFBZSxHQUFvQixlQUFlLENBQUMsWUFB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RixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtnQkFDeEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQlQ7Z0JBQ0QsU0FBUyxFQUFDLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3BDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFsRE8sd0JBQXdCO1lBWXhCLDBCQUEwQjtZQWIxQixxQ0FBcUM7OztzQkF3RDFDLFNBQVMsU0FBQyxTQUFTO2tDQUduQixTQUFTLFNBQUMscUJBQXFCOzhCQUcvQixTQUFTLFNBQUMsaUJBQWlCO3FDQUczQixTQUFTLFNBQUMsd0JBQXdCO2lDQUdsQyxTQUFTLFNBQUMsb0JBQW9CO2dDQUc5QixTQUFTLFNBQUMsbUJBQW1COzRCQUc3QixTQUFTLFNBQUMsZUFBZTt1Q0FHekIsU0FBUyxTQUFDLDBCQUEwQjttQ0FHcEMsU0FBUyxTQUFDLHNCQUFzQjs0Q0FFaEMsS0FBSzt1Q0FNTCxLQUFLO3lDQU1MLEtBQUs7a0NBT0wsTUFBTTt3QkFPTixXQUFXLFNBQUMsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25LaW5kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBSZWxhdGlvbkNvbXBvbmVudFxyXG59IGZyb20gXCIuLi90cmFuc2FjdGlvbi1oZWFkZXIvdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1yZWxhdGlvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DcmVhdGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1jcmVhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBDcmVhdGVTZXJ2aWNlQ29tcG9uZW50XHJcbn0gZnJvbSBcIi4uL3RyYW5zYWN0aW9uLWhlYWRlci90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAvdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLWNyZWF0ZS1zZXJ2aWNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBTZXJ2aWNlV2l6YXJkQ29tcG9uZW50XHJcbn0gZnJvbSBcIi4uL3RyYW5zYWN0aW9uLWhlYWRlci90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAvdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlcnZpY2Utd2l6YXJkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBTZXJ2aWNlRmllbGRzQ29tcG9uZW50XHJcbn0gZnJvbSBcIi4uL3RyYW5zYWN0aW9uLWhlYWRlci90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAvdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlcnZpY2UtZmllbGRzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1N0ZXBwZXJTdGVwQ29tcG9uZW50fSBmcm9tIFwiLi4vc3RlcHBlci1zdGVwL3N0ZXBwZXItc3RlcC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZWxhdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXJlbGF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTaW1wbGVWZXJ0aWNhbFN0ZXBwZXJDb21wb25lbnR9IGZyb20gXCIuLi9zaW1wbGUtdmVydGljYWwtc3RlcHBlci9jby1zaW1wbGUtdmVydGljYWwtc3RlcHBlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtRYVJlc3VsdH0gZnJvbSBcIi4uL3NlcnZpY2Utd2l6YXJkLXFhL3F1ZXN0aW9uLWFuc3dlci1pdGVtL3F1ZXN0aW9uLWFuc3dlci1pdGVtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0N1c3RvbWVyRnVsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1mdWxsLW9iamVjdC5ib1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tY3JlYXRlLXdpemFyZFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tY2xpY2stYmxvY2s+PC9jby1jbGljay1ibG9jaz5cclxuICAgIDxjby1zaW1wbGUtdmVydGljYWwtc3RlcHBlciBbc3RlcEJ1dHRvbkxhYmVsc109XCJbJ1ZvbGdlbmRlJywgJ1ZvbGdlbmRlJywgJ1ZvbGdlbmRlJywgJ1ZvbGdlbmRlJywgJ0Fmcm9uZGVuJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNzdGVwcGVyIFt0aXRsZUljb25dPVwiSWNvbi5TZXJ2aWNlQ2FydFJlZ3VsYXJcIiBbdGl0bGVdPVwiJ0NSRUFURV9TRVJWSUNFJyB8IGxvY2FsaXplXCIgW2RvTm90U2hvd09LT25TdGVwc109XCJbM11cIj5cclxuICAgICAgPGNvLXN0ZXBwZXItc3RlcCAgI3N0ZXBSZWxhdGlvblNlY3Rpb24gW2luZGV4XT1cIjFcIiBbbGFiZWxdPVwiJ1BFUlNPTkFMX0RBVEEnIHwgbG9jYWxpemVcIiAodmFsaWRhdGVTdGVwKT1cImhhbmRsZVJlbGF0aW9uVmFsaWRhdGlvbigpXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1yZWxhdGlvbiAjcmVsYXRpb25TZWN0aW9uIFtub0xvY2tPbkN1c3RvbWVyU2V0XT1cIm5vTG9ja09uQ3VzdG9tZXJTZXRcIiBbZm9yY2VSZWFkb25seV09XCJub0xvY2tPbkN1c3RvbWVyU2V0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3RlcFJlbGF0aW9uU2VjdGlvbi5zaG93XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZWdvcnktY29udGVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yY2VSZWFkb25seV09XCIoY3JlYXRlU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQgIT09IHVuZGVmaW5lZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dJbnZvaWNlQWRkcmVzc109XCJmYWxzZVwiIFtzaG93UHJpdmFjeV09XCJmYWxzZVwiIFtzaG93TWVzc2FnZUZvckNoYW5nZUN1c3RvbWVyXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZUN1c3RvbWVyUmVxdWVzdGVkKT1cInJlc2V0V2l6YXJkKClcIlxyXG4gICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1yZWxhdGlvbj5cclxuICAgICAgPC9jby1zdGVwcGVyLXN0ZXA+XHJcbiAgICAgIDxjby1zdGVwcGVyLXN0ZXAgICNzdGVwVHJhbnNhY3Rpb25TZWN0aW9uIFtpbmRleF09XCIyXCIgW2xhYmVsXT1cIidIT1dfVE9fQ1JFQVRFX1NFUlZJQ0UnIHwgbG9jYWxpemVcIiAodmFsaWRhdGVTdGVwKT1cImhhbmRsZVRyYW5zYWN0aW9uVmFsaWRhdGlvbigpXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1jcmVhdGUtc2VydmljZSAjdHJhbnNhY3Rpb25TZWN0aW9uIFtyZWxhdGlvbl09XCJjcmVhdGVTZXJ2aWNlLnJlbGF0aW9uXCIgW2ZvcmNlUmVhZG9ubHldPVwiKGNyZWF0ZVNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkICE9PSB1bmRlZmluZWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZnRlclNhbGVzU3lzdGVtXT1cImNyZWF0ZVNlcnZpY2UuYWZ0ZXJTYWxlc1N5c3RlbVBhcmFtXCI+PC9jby10cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtY3JlYXRlLXNlcnZpY2U+XHJcbiAgICAgIDwvY28tc3RlcHBlci1zdGVwPlxyXG4gICAgICA8Y28tc3RlcHBlci1zdGVwICAjc3RlcFdpemFyZFNlY3Rpb24gW2luZGV4XT1cIjNcIiBbbGFiZWxdPVwiJ1NFUlZJQ0VfV0laQVJEJyB8IGxvY2FsaXplXCIgKHZhbGlkYXRlU3RlcCk9XCJoYW5kbGVXaXphcmRWYWxpZGF0aW9uKClcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlcnZpY2Utd2l6YXJkICN3aXphcmRTZWN0aW9uICh3aXphcmRGaW5pc2hlZCk9XCJ3aXphcmRGaW5pc2hlZCgpXCIgKHNraXBXaXphcmQpPVwic2tpcFdpemFyZCgpXCI+PC9jby10cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VydmljZS13aXphcmQ+XHJcbiAgICAgIDwvY28tc3RlcHBlci1zdGVwPlxyXG4gICAgICA8Y28tc3RlcHBlci1zdGVwICNzdGVwU2VydmljZUZpZWxkc1NlY3Rpb24gW2luZGV4XT1cIjRcIiBbbGFiZWxdPVwiJ1NFUlZJQ0VfSU5GTycgfCBsb2NhbGl6ZVwiICh2YWxpZGF0ZVN0ZXApPVwiaGFuZGxlU2VydmljZUluZm9WYWxpZGF0aW9uKClcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlcnZpY2UtZmllbGRzICNzZXJ2aWNlRmllbGRzU2VjdGlvbj48L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1zZXJ2aWNlLWZpZWxkcz5cclxuICAgICAgPC9jby1zdGVwcGVyLXN0ZXA+XHJcbiAgICAgIDxjby1zdGVwcGVyLXN0ZXAgIFtpbmRleF09XCI1XCIgW2xhYmVsXT1cIidGSU5JU0gnIHwgbG9jYWxpemVcIj5cclxuICAgICAgPC9jby1zdGVwcGVyLXN0ZXA+XHJcbiAgICA8L2NvLXNpbXBsZS12ZXJ0aWNhbC1zdGVwcGVyPlxyXG5cclxuICBgLFxyXG4gIHByb3ZpZGVyczpbVHJhbnNhY3Rpb25DcmVhdGVTZXJ2aWNlXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNyZWF0ZVdpemFyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zS2luZDogdHlwZW9mIFRyYW5zYWN0aW9uS2luZCA9IFRyYW5zYWN0aW9uS2luZDtcclxuICBwdWJsaWMgcmVhZG9ubHkgSWNvbjogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKFwic3RlcHBlclwiKVxyXG4gIHB1YmxpYyBzdGVwcGVyOiBTaW1wbGVWZXJ0aWNhbFN0ZXBwZXJDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJzdGVwUmVsYXRpb25TZWN0aW9uXCIpXHJcbiAgcHVibGljIHN0ZXBSZWxhdGlvblNlY3Rpb246IFN0ZXBwZXJTdGVwQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKFwicmVsYXRpb25TZWN0aW9uXCIpXHJcbiAgcHVibGljIHJlbGF0aW9uU2VjdGlvbjogVHJhbnNhY3Rpb25IZWFkZXJQb3B1cFJlbGF0aW9uQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKFwic3RlcFRyYW5zYWN0aW9uU2VjdGlvblwiKVxyXG4gIHB1YmxpYyBzdGVwVHJhbnNhY3Rpb25TZWN0aW9uOiBTdGVwcGVyU3RlcENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcInRyYW5zYWN0aW9uU2VjdGlvblwiKVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvblNlY3Rpb246IFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBDcmVhdGVTZXJ2aWNlQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKFwic3RlcFdpemFyZFNlY3Rpb25cIilcclxuICBwdWJsaWMgc3RlcFdpemFyZFNlY3Rpb246IFN0ZXBwZXJTdGVwQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKFwid2l6YXJkU2VjdGlvblwiKVxyXG4gIHB1YmxpYyB3aXphcmRTZWN0aW9uOiBUcmFuc2FjdGlvbkhlYWRlclBvcHVwU2VydmljZVdpemFyZENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcInN0ZXBTZXJ2aWNlRmllbGRzU2VjdGlvblwiKVxyXG4gIHB1YmxpYyBzdGVwU2VydmljZUZpZWxkc1NlY3Rpb246IFN0ZXBwZXJTdGVwQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKFwic2VydmljZUZpZWxkc1NlY3Rpb25cIilcclxuICBwdWJsaWMgc2VydmljZUZpZWxkc1NlY3Rpb246IFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBTZXJ2aWNlRmllbGRzQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBleHRlcm5hbGx5UHJvdmlkZWRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpXHJcbiAge1xyXG4gICAgdGhpcy5fZXh0ZXJuYWxseVByb3ZpZGVkVHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBleHRlcm5hbGx5UHJvdmlkZWRMaW5lTnIobGluZU5yOiBudW1iZXIpXHJcbiAge1xyXG4gICAgdGhpcy5fZXh0ZXJuYWxseVByb3ZpZGVkTGluZU5yID0gbGluZU5yO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGV4dGVybmFsbHlQcm92aWRlZEN1c3RvbWVyKGN1c3RvbWVyOiBDdXN0b21lckZ1bGxPYmplY3QpXHJcbiAge1xyXG4gICAgdGhpcy5fZXh0ZXJuYWxseVByb3ZpZGVkQ3VzdG9tZXIgPSBjdXN0b21lcjtcclxuICB9XHJcblxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25GaW5pc2hlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgLy9UaGlzIGNhbiBiZSBhbiBpbnB1dCBvbmNlIHRoZSBjb21wb25lbnQgaXMgYWRqdXN0ZWQgdG8gd29yayB0byBjcmVhdGUgbW9yZSB0cmFuc2FjdGlvbnMuXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kLlNlcnZpY2VPcmRlcjtcclxuXHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWNyZWF0ZS13aXphcmRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbm9Mb2NrT25DdXN0b21lclNldDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2V4dGVybmFsbHlQcm92aWRlZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZXh0ZXJuYWxseVByb3ZpZGVkTGluZU5yOiBudW1iZXI7XHJcbiAgLy9mb3IgYnVuZGxlIHB1cm9zZXMgd2hlcmUgYW4gbmV3LCBub24gdHJhbnNhY3Rpb24gYmFzZWQsIHNlcnZpY2Ugc2hvdWxkIGFsd2F5cyBzdGFydCB3aXRoIHRoZSBjdXN0b21lciBhbHJlYWR5IHNldFxyXG4gIHByaXZhdGUgX2V4dGVybmFsbHlQcm92aWRlZEN1c3RvbWVyOiBDdXN0b21lckZ1bGxPYmplY3QgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY3JlYXRlU2VydmljZTogVHJhbnNhY3Rpb25DcmVhdGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyByZWxhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uUmVsYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG5cclxuICApIHtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5jcmVhdGVTZXJ2aWNlLnByZXBhcmVBZnRlclNhbGVzU3lzdGVtUGFyYW0oKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZVNlcnZpY2UuYWZ0ZXJTYWxlc1N5c3RlbVBhcmFtKSB7XHJcbiAgICAgdGhpcy5za2lwV2l6YXJkKCk7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UubG9hZENvbmZpZyhbJ1MnXSlcclxuICAgIHRoaXMuY3JlYXRlU2VydmljZS50cmFuc2FjdGlvbktpbmQgPSB0aGlzLnRyYW5zYWN0aW9uVHlwZTtcclxuICAgIHRoaXMuY3JlYXRlU2VydmljZS5jcmVhdGVOZXdSZWxhdGlvbigpO1xyXG4gICAgdGhpcy5fcHJvY2Vzc0V4dGVybmFsU2V0dGluZ3MoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVSZWxhdGlvblZhbGlkYXRpb24oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBsZXQgdmFsaWQ6IGJvb2xlYW4gPSB0aGlzLnJlbGF0aW9uU2VjdGlvbi5zdWJtaXQoKTtcclxuICAgIGlmICh2YWxpZCkge1xyXG4gICAgICB0aGlzLnN0ZXBSZWxhdGlvblNlY3Rpb24uY29tcGxldGVkID0gYXdhaXQgdGhpcy5jcmVhdGVTZXJ2aWNlLnNhdmVSZWxhdGlvbih0cnVlLCBmYWxzZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsaWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlVHJhbnNhY3Rpb25WYWxpZGF0aW9uKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgbGV0IHZhbGlkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpZighdGhpcy5jcmVhdGVTZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZCkge1xyXG4gICAgICBpZih0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5leGlzdGluZ1RyYW5zYWN0aW9uKSB7XHJcbiAgICAgICAgICB0aGlzLnN0ZXBUcmFuc2FjdGlvblNlY3Rpb24uY29tcGxldGVkID0gYXdhaXQgdGhpcy5jcmVhdGVTZXJ2aWNlLmNyZWF0ZVNlcnZpY2VPcmRlcldpdGhUcmFuc2FjdGlvbkxpbmUoTnVtYmVyKHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLmV4aXN0aW5nVHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmlkKSwgTnVtYmVyKHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLmV4aXN0aW5nVHJhbnNhY3Rpb25MaW5lLmxpbmVOcikpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50cmFuc2FjdGlvblNlY3Rpb24uY2hvc2VuVHJhbnNhY3Rpb25MaW5lKSB7XHJcbiAgICAgICAgICB0aGlzLnN0ZXBUcmFuc2FjdGlvblNlY3Rpb24uY29tcGxldGVkID0gYXdhaXQgdGhpcy5jcmVhdGVTZXJ2aWNlLmNyZWF0ZVNlcnZpY2VPcmRlcldpdGhUcmFuc2FjdGlvbkxpbmUodGhpcy50cmFuc2FjdGlvblNlY3Rpb24uY2hvc2VuVHJhbnNhY3Rpb25MaW5lLnRyYW5zYWN0aW9uSWQsIHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLmNob3NlblRyYW5zYWN0aW9uTGluZS5saW5lTnVtYmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLmNob3NlbkFydGljbGUpICB7XHJcbiAgICAgICAgdmFsaWQgPSBhd2FpdCB0aGlzLl92YWxpZGF0ZUZvckFydGljbGVUcmFuc2FjdGlvbigpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLm9sZE9yZGVySWQgJiYgdGhpcy50cmFuc2FjdGlvblNlY3Rpb24ub2xkR29vZElkKSB7XHJcbiAgICAgICAgdGhpcy5zdGVwVHJhbnNhY3Rpb25TZWN0aW9uLmNvbXBsZXRlZCA9ICBhd2FpdCB0aGlzLmNyZWF0ZVNlcnZpY2UuY3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZU9yZGVyTnJBbmRBcnRpY2xlRGVzY3JpcHRpb24odGhpcy50cmFuc2FjdGlvblNlY3Rpb24ub2xkT3JkZXJJZCwgdGhpcy50cmFuc2FjdGlvblNlY3Rpb24ub2xkR29vZElkKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5zbGFQcm9kdWN0TmFtZSkge1xyXG4gICAgICAgIHRoaXMuc3RlcFRyYW5zYWN0aW9uU2VjdGlvbi5jb21wbGV0ZWQgPSAgYXdhaXQgdGhpcy5jcmVhdGVTZXJ2aWNlLmNyZWF0ZVNlcnZpY2VPcmRlcldpdGhTTEEodGhpcy50cmFuc2FjdGlvblNlY3Rpb24uc2xhUHJvZHVjdE5hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YWxpZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuc3RlcFRyYW5zYWN0aW9uU2VjdGlvbi5jb21wbGV0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbGlkXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlV2l6YXJkVmFsaWRhdGlvbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGxldCB2YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMud2l6YXJkU2VjdGlvbi5nZXRRdWFSZXN1bHQoKS5sZW5ndGggIT0gMCkge1xyXG4gICAgICB2YWxpZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuc3RlcFdpemFyZFNlY3Rpb24uY29tcGxldGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWxpZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVTZXJ2aWNlSW5mb1ZhbGlkYXRpb24oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAvL1RPRE8gYWRkIHByb3BlciB2YWxpZGF0aW9uIGhlcmUgc2hvdWxkIHRoYXQgYmUgbmVjZXNzYXJ5XHJcbiAgICBsZXQgdmFsaWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgaWYodmFsaWQgJiYgdGhpcy5jcmVhdGVTZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZCkge1xyXG4gICAgICB0aGlzLnN0ZXBTZXJ2aWNlRmllbGRzU2VjdGlvbi5jb21wbGV0ZWQgPSBhd2FpdCB0aGlzLmNyZWF0ZVNlcnZpY2UudXBkYXRlU2VydmljZUhlYWRlclJlcG9ydE1lc3NhZ2UodGhpcy5zZXJ2aWNlRmllbGRzU2VjdGlvbi5zZXJ2aWNlTWVzc2FnZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVNlcnZpY2Uuc2F2ZVRyYW5zYWN0aW9uKCk7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uRmluaXNoZWQubmV4dCh0aGlzLmNyZWF0ZVNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbk5yKTtcclxuICAgIHJldHVybiB2YWxpZDtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgYXN5bmMgd2l6YXJkRmluaXNoZWQoKTogIFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IHFhUmVzdWx0OiBRYVJlc3VsdFtdID0gdGhpcy53aXphcmRTZWN0aW9uLmdldFF1YVJlc3VsdCgpO1xyXG4gICAgaWYgKHFhUmVzdWx0ICYmIHFhUmVzdWx0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IHFhVGV4dDogc3RyaW5nID0gXCJcIjtcclxuICAgICAgbGV0IHFhQ2F1c2VDb2RlOiBzdHJpbmc7XHJcbiAgICAgIGxldCBxYVNlcnZpY2VUeXBlOiBzdHJpbmc7XHJcbiAgICAgIHFhUmVzdWx0LmZvckVhY2gocWEgPT4ge1xyXG4gICAgICAgIGlmIChxYS5jYXVzZUNvZGUgIT0gbnVsbCAmJiBxYS5jYXVzZUNvZGUgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBxYUNhdXNlQ29kZSA9IHFhLmNhdXNlQ29kZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHFhLnNlcnZpY2VUeXBlICE9IG51bGwgJiYgcWEuc2VydmljZVR5cGUgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBxYVNlcnZpY2VUeXBlID0gcWEuc2VydmljZVR5cGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHFhVGV4dCArPSAocWEucXVlc3Rpb25UZXh0ICsgXCJcXG5cIik7XHJcbiAgICAgICAgcWFUZXh0ICs9IChxYS5hbnN3ZXJUZXh0ICsgXCJcXG5cIik7XHJcbiAgICAgIH0pXHJcbiAgICAgIGF3YWl0IHRoaXMuY3JlYXRlU2VydmljZS51cGRhdGVTZXJ2aWNlSGVhZGVyV2l6YXJkRGF0YShxYUNhdXNlQ29kZSwgcWFTZXJ2aWNlVHlwZSwgcWFUZXh0LCB0cnVlKTtcclxuICAgIH1cclxuICAgIHRoaXMuc3RlcHBlci5jb250aW51ZVJlcXVlc3RlZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNraXBXaXphcmQoKTogIHZvaWQge1xyXG4gICAgdGhpcy5zdGVwcGVyLnNraXBTdGVwcyA9IFszXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXNldFdpemFyZCgpOiB2b2lkIHtcclxuICAgIHRoaXMubm9Mb2NrT25DdXN0b21lclNldCA9IHRydWU7XHJcbiAgICB0aGlzLmNyZWF0ZVNlcnZpY2UuY3JlYXRlTmV3UmVsYXRpb24oKTtcclxuICAgIHRoaXMuY3JlYXRlU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UoKTtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLmNsZWFyKCk7XHJcbiAgICB0aGlzLnN0ZXBwZXIub3BlblRvSW5kZXgoMSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF92YWxpZGF0ZUZvckFydGljbGVUcmFuc2FjdGlvbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGxldCB2YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLmNob3NlbkFydGljbGUpIHtcclxuICAgICAgdmFsaWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnN0ZXBUcmFuc2FjdGlvblNlY3Rpb24uY29tcGxldGVkID0gYXdhaXQgdGhpcy5jcmVhdGVTZXJ2aWNlLmNyZWF0ZVNlcnZpY2VPcmRlcldpdGhTb3VyY2VHb29kKHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLmNob3NlbkFydGljbGUuZ29vZElkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHZhbGlkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsaWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9wcm9jZXNzRXh0ZXJuYWxTZXR0aW5ncygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmKHRoaXMuX2V4dGVybmFsbHlQcm92aWRlZFRyYW5zYWN0aW9uICYmICFpc05hTih0aGlzLl9leHRlcm5hbGx5UHJvdmlkZWRMaW5lTnIpKSB7XHJcbiAgICAgIC8vZmV0Y2ggcmVsYXRpb24gYW5kIGNyZWF0ZSBuZWVkZWQgdHJhbnNhY3Rpb24gZmlyc3QuXHJcbiAgICAgIHRoaXMubm9Mb2NrT25DdXN0b21lclNldCA9IHRydWU7XHJcbiAgICAgIC8vdGhpcy5jcmVhdGVTZXJ2aWNlLnJlbGF0aW9uID0gYXdhaXQgdGhpcy5yZWxhdGlvblNlcnZpY2UuZ2V0Q3VzdG9tZXJGdWxsT2JqZWN0KHBhcnNlSW50KHRoaXMuX2V4dGVybmFsbHlQcm92aWRlZFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5yZWxhdGlvbi5yZWxhdGlvbk5yKSk7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLmV4aXN0aW5nVHJhbnNhY3Rpb24gPSAgdGhpcy5fZXh0ZXJuYWxseVByb3ZpZGVkVHJhbnNhY3Rpb247XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLmV4aXN0aW5nVHJhbnNhY3Rpb25MaW5lID0gIHRoaXMuX2V4dGVybmFsbHlQcm92aWRlZFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXMuZmluZChsID0+IGwubGluZU5yID09PSB0aGlzLl9leHRlcm5hbGx5UHJvdmlkZWRMaW5lTnIpO1xyXG4gICAgICAvL3RoaXMudHJhbnNhY3Rpb25TZWN0aW9uLmNyZWF0ZU9yZGVyV2l0aFRyYW5zYWN0aW9uTGluZUNsaWNrZWQoZmFsc2UpO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5idXR0b25zVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNyZWF0ZVNlcnZpY2UucmVsYXRpb24gPSBhd2FpdCB0aGlzLnJlbGF0aW9uU2VydmljZS5nZXRDdXN0b21lckZ1bGxPYmplY3QocGFyc2VJbnQodGhpcy5fZXh0ZXJuYWxseVByb3ZpZGVkVHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uLnJlbGF0aW9uTnIpKTtcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMuY3JlYXRlU2VydmljZS5jcmVhdGVTZXJ2aWNlT3JkZXJXaXRoVHJhbnNhY3Rpb25MaW5lKE51bWJlcih0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5leGlzdGluZ1RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5pZCksIE51bWJlcih0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5leGlzdGluZ1RyYW5zYWN0aW9uTGluZS5saW5lTnIpKTtcclxuICAgICAgaWYodGhpcy5zdGVwcGVyLnNraXBTdGVwcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5zdGVwcGVyLm9wZW5Ub0luZGV4KDQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc3RlcHBlci5vcGVuVG9JbmRleCgzKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLl9leHRlcm5hbGx5UHJvdmlkZWRDdXN0b21lcikge1xyXG4gICAgICB0aGlzLm5vTG9ja09uQ3VzdG9tZXJTZXQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNyZWF0ZVNlcnZpY2UucmVsYXRpb24gPSB0aGlzLl9leHRlcm5hbGx5UHJvdmlkZWRDdXN0b21lcjtcclxuICAgICAgdGhpcy5zdGVwcGVyLm9wZW5Ub0luZGV4KDIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY3JlYXRlLXdpemFyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jcmVhdGUtd2l6YXJkL3RyYW5zYWN0aW9uLWNyZWF0ZS13aXphcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUkxRixPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM3RyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQVdsRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUMxRyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUV0RixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFMUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDN0YsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0saURBQWlELENBQUM7QUF1Q3pGLE1BQU0sT0FBTyxnQ0FBZ0M7SUFxRTNDLFlBQW1CLGFBQXVDLEVBQ3ZDLGVBQTJDLEVBQzNDLHFDQUE0RSxFQUMzRSxjQUF3QztRQUh6QyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDdkMsb0JBQWUsR0FBZixlQUFlLENBQTRCO1FBQzNDLDBDQUFxQyxHQUFyQyxxQ0FBcUMsQ0FBdUM7UUFDM0UsbUJBQWMsR0FBZCxjQUFjLENBQTBCO1FBdkU1Qyxj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LHFCQUFxQjs4QkFHL0IsU0FBUyxTQUFDLGlCQUFpQjtxQ0FHM0IsU0FBUyxTQUFDLHdCQUF3QjtpQ0FHbEMsU0FBUyxTQUFDLG9CQUFvQjtnQ0FHOUIsU0FBUyxTQUFDLG1CQUFtQjs0QkFHN0IsU0FBUyxTQUFDLGVBQWU7dUNBR3pCLFNBQVMsU0FBQywwQkFBMEI7bUNBR3BDLFNBQVMsU0FBQyxzQkFBc0I7NENBRWhDLEtBQUs7dUNBTUwsS0FBSzt5Q0FNTCxLQUFLO2tDQU9MLE1BQU07d0JBT04sV0FBVyxTQUFDLG9DQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbktpbmR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWtpbmQuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cFJlbGF0aW9uQ29tcG9uZW50XHJcbn0gZnJvbSBcIi4uL3RyYW5zYWN0aW9uLWhlYWRlci90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAvdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXJlbGF0aW9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNyZWF0ZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWNyZWF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cENyZWF0ZVNlcnZpY2VDb21wb25lbnRcclxufSBmcm9tIFwiLi4vdHJhbnNhY3Rpb24taGVhZGVyL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtY3JlYXRlLXNlcnZpY2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cFNlcnZpY2VXaXphcmRDb21wb25lbnRcclxufSBmcm9tIFwiLi4vdHJhbnNhY3Rpb24taGVhZGVyL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VydmljZS13aXphcmQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cFNlcnZpY2VGaWVsZHNDb21wb25lbnRcclxufSBmcm9tIFwiLi4vdHJhbnNhY3Rpb24taGVhZGVyL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VydmljZS1maWVsZHMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U3RlcHBlclN0ZXBDb21wb25lbnR9IGZyb20gXCIuLi9zdGVwcGVyLXN0ZXAvc3RlcHBlci1zdGVwLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWluZm8tcmVzcG9uc2UuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblJlbGF0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tcmVsYXRpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1NpbXBsZVZlcnRpY2FsU3RlcHBlckNvbXBvbmVudH0gZnJvbSBcIi4uL3NpbXBsZS12ZXJ0aWNhbC1zdGVwcGVyL2NvLXNpbXBsZS12ZXJ0aWNhbC1zdGVwcGVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge1FhUmVzdWx0fSBmcm9tIFwiLi4vc2VydmljZS13aXphcmQtcWEvcXVlc3Rpb24tYW5zd2VyLWl0ZW0vcXVlc3Rpb24tYW5zd2VyLWl0ZW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q3VzdG9tZXJGdWxsT2JqZWN0fSBmcm9tIFwiQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWZ1bGwtb2JqZWN0LmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJTZXJ2aWNlfSBmcm9tIFwiLi4vY29yZS9iYXNlL3NlcnZpY2UvdHJhbnNhY3Rpb24taGVhZGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1jcmVhdGUtd2l6YXJkXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1jbGljay1ibG9jaz48L2NvLWNsaWNrLWJsb2NrPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUmVhZHlcIj5cclxuICAgICAgPGNvLXNpbXBsZS12ZXJ0aWNhbC1zdGVwcGVyIFtzdGVwQnV0dG9uTGFiZWxzXT1cIlsnVm9sZ2VuZGUnLCAnVm9sZ2VuZGUnLCAnVm9sZ2VuZGUnLCAnVm9sZ2VuZGUnLCAnQWZyb25kZW4nXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjc3RlcHBlciBbdGl0bGVJY29uXT1cIkljb24uU2VydmljZUNhcnRSZWd1bGFyXCIgW3RpdGxlXT1cIidDUkVBVEVfU0VSVklDRScgfCBsb2NhbGl6ZVwiIFtkb05vdFNob3dPS09uU3RlcHNdPVwiWzNdXCI+XHJcbiAgICAgICAgPGNvLXN0ZXBwZXItc3RlcCAgI3N0ZXBSZWxhdGlvblNlY3Rpb24gW2luZGV4XT1cIjFcIiBbbGFiZWxdPVwiJ1BFUlNPTkFMX0RBVEEnIHwgbG9jYWxpemVcIiAodmFsaWRhdGVTdGVwKT1cImhhbmRsZVJlbGF0aW9uVmFsaWRhdGlvbigpXCI+XHJcblxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1yZWxhdGlvbiAjcmVsYXRpb25TZWN0aW9uIFtub0xvY2tPbkN1c3RvbWVyU2V0XT1cIm5vTG9ja09uQ3VzdG9tZXJTZXRcIiBbZm9yY2VSZWFkb25seV09XCJub0xvY2tPbkN1c3RvbWVyU2V0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGVwUmVsYXRpb25TZWN0aW9uLnNob3dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGVnb3J5LWNvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yY2VSZWFkb25seV09XCIoY3JlYXRlU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQgIT09IHVuZGVmaW5lZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0ludm9pY2VBZGRyZXNzXT1cImZhbHNlXCIgW3Nob3dQcml2YWN5XT1cImZhbHNlXCIgW3Nob3dNZXNzYWdlRm9yQ2hhbmdlQ3VzdG9tZXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2VDdXN0b21lclJlcXVlc3RlZCk9XCJyZXNldFdpemFyZCgpXCJcclxuICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1yZWxhdGlvbj5cclxuICAgICAgICA8L2NvLXN0ZXBwZXItc3RlcD5cclxuICAgICAgICA8Y28tc3RlcHBlci1zdGVwICAjc3RlcFRyYW5zYWN0aW9uU2VjdGlvbiBbaW5kZXhdPVwiMlwiIFtsYWJlbF09XCInSE9XX1RPX0NSRUFURV9TRVJWSUNFJyB8IGxvY2FsaXplXCIgKHZhbGlkYXRlU3RlcCk9XCJoYW5kbGVUcmFuc2FjdGlvblZhbGlkYXRpb24oKVwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1jcmVhdGUtc2VydmljZSAjdHJhbnNhY3Rpb25TZWN0aW9uIFtyZWxhdGlvbl09XCJjcmVhdGVTZXJ2aWNlLnJlbGF0aW9uXCIgW2ZvcmNlUmVhZG9ubHldPVwiKGNyZWF0ZVNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkICE9PSB1bmRlZmluZWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FmdGVyU2FsZXNTeXN0ZW1dPVwiY3JlYXRlU2VydmljZS5hZnRlclNhbGVzU3lzdGVtUGFyYW1cIj48L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1jcmVhdGUtc2VydmljZT5cclxuICAgICAgICA8L2NvLXN0ZXBwZXItc3RlcD5cclxuICAgICAgICA8Y28tc3RlcHBlci1zdGVwICAjc3RlcFdpemFyZFNlY3Rpb24gW2luZGV4XT1cIjNcIiBbbGFiZWxdPVwiJ1NFUlZJQ0VfV0laQVJEJyB8IGxvY2FsaXplXCIgKHZhbGlkYXRlU3RlcCk9XCJoYW5kbGVXaXphcmRWYWxpZGF0aW9uKClcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VydmljZS13aXphcmQgI3dpemFyZFNlY3Rpb24gKHdpemFyZEZpbmlzaGVkKT1cIndpemFyZEZpbmlzaGVkKClcIiAoc2tpcFdpemFyZCk9XCJza2lwV2l6YXJkKClcIj48L2NvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1zZXJ2aWNlLXdpemFyZD5cclxuICAgICAgICA8L2NvLXN0ZXBwZXItc3RlcD5cclxuICAgICAgICA8Y28tc3RlcHBlci1zdGVwICNzdGVwU2VydmljZUZpZWxkc1NlY3Rpb24gW2luZGV4XT1cIjRcIiBbbGFiZWxdPVwiJ1NFUlZJQ0VfSU5GTycgfCBsb2NhbGl6ZVwiICh2YWxpZGF0ZVN0ZXApPVwiaGFuZGxlU2VydmljZUluZm9WYWxpZGF0aW9uKClcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VydmljZS1maWVsZHMgI3NlcnZpY2VGaWVsZHNTZWN0aW9uPjwvY28tdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlcnZpY2UtZmllbGRzPlxyXG4gICAgICAgIDwvY28tc3RlcHBlci1zdGVwPlxyXG4gICAgICAgIDxjby1zdGVwcGVyLXN0ZXAgIFtpbmRleF09XCI1XCIgW2xhYmVsXT1cIidGSU5JU0gnIHwgbG9jYWxpemVcIj5cclxuICAgICAgICA8L2NvLXN0ZXBwZXItc3RlcD5cclxuICAgICAgPC9jby1zaW1wbGUtdmVydGljYWwtc3RlcHBlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICBgLFxyXG4gIHByb3ZpZGVyczpbVHJhbnNhY3Rpb25DcmVhdGVTZXJ2aWNlLCBUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2VdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ3JlYXRlV2l6YXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc0tpbmQ6IHR5cGVvZiBUcmFuc2FjdGlvbktpbmQgPSBUcmFuc2FjdGlvbktpbmQ7XHJcbiAgcHVibGljIHJlYWRvbmx5IEljb246IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQFZpZXdDaGlsZChcInN0ZXBwZXJcIilcclxuICBwdWJsaWMgc3RlcHBlcjogU2ltcGxlVmVydGljYWxTdGVwcGVyQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKFwic3RlcFJlbGF0aW9uU2VjdGlvblwiKVxyXG4gIHB1YmxpYyBzdGVwUmVsYXRpb25TZWN0aW9uOiBTdGVwcGVyU3RlcENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcInJlbGF0aW9uU2VjdGlvblwiKVxyXG4gIHB1YmxpYyByZWxhdGlvblNlY3Rpb246IFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBSZWxhdGlvbkNvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcInN0ZXBUcmFuc2FjdGlvblNlY3Rpb25cIilcclxuICBwdWJsaWMgc3RlcFRyYW5zYWN0aW9uU2VjdGlvbjogU3RlcHBlclN0ZXBDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJ0cmFuc2FjdGlvblNlY3Rpb25cIilcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25TZWN0aW9uOiBUcmFuc2FjdGlvbkhlYWRlclBvcHVwQ3JlYXRlU2VydmljZUNvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcInN0ZXBXaXphcmRTZWN0aW9uXCIpXHJcbiAgcHVibGljIHN0ZXBXaXphcmRTZWN0aW9uOiBTdGVwcGVyU3RlcENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcIndpemFyZFNlY3Rpb25cIilcclxuICBwdWJsaWMgd2l6YXJkU2VjdGlvbjogVHJhbnNhY3Rpb25IZWFkZXJQb3B1cFNlcnZpY2VXaXphcmRDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJzdGVwU2VydmljZUZpZWxkc1NlY3Rpb25cIilcclxuICBwdWJsaWMgc3RlcFNlcnZpY2VGaWVsZHNTZWN0aW9uOiBTdGVwcGVyU3RlcENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcInNlcnZpY2VGaWVsZHNTZWN0aW9uXCIpXHJcbiAgcHVibGljIHNlcnZpY2VGaWVsZHNTZWN0aW9uOiBUcmFuc2FjdGlvbkhlYWRlclBvcHVwU2VydmljZUZpZWxkc0NvbXBvbmVudDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgZXh0ZXJuYWxseVByb3ZpZGVkVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKVxyXG4gIHtcclxuICAgIHRoaXMuX2V4dGVybmFsbHlQcm92aWRlZFRyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgZXh0ZXJuYWxseVByb3ZpZGVkTGluZU5yKGxpbmVOcjogbnVtYmVyKVxyXG4gIHtcclxuICAgIHRoaXMuX2V4dGVybmFsbHlQcm92aWRlZExpbmVOciA9IGxpbmVOcjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBleHRlcm5hbGx5UHJvdmlkZWRDdXN0b21lcihjdXN0b21lcjogQ3VzdG9tZXJGdWxsT2JqZWN0KVxyXG4gIHtcclxuICAgIHRoaXMuX2V4dGVybmFsbHlQcm92aWRlZEN1c3RvbWVyID0gY3VzdG9tZXI7XHJcbiAgfVxyXG5cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uRmluaXNoZWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIC8vVGhpcyBjYW4gYmUgYW4gaW5wdXQgb25jZSB0aGUgY29tcG9uZW50IGlzIGFkanVzdGVkIHRvIHdvcmsgdG8gY3JlYXRlIG1vcmUgdHJhbnNhY3Rpb25zLlxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvblR5cGU6IFRyYW5zYWN0aW9uS2luZCA9IFRyYW5zYWN0aW9uS2luZC5TZXJ2aWNlT3JkZXI7XHJcblxyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1jcmVhdGUtd2l6YXJkXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5vTG9ja09uQ3VzdG9tZXJTZXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgaXNSZWFkeTpib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfZXh0ZXJuYWxseVByb3ZpZGVkVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlID0gbnVsbDtcclxuICBwcml2YXRlIF9leHRlcm5hbGx5UHJvdmlkZWRMaW5lTnI6IG51bWJlcjtcclxuICAvL2ZvciBidW5kbGUgcHVyb3NlcyB3aGVyZSBhbiBuZXcsIG5vbiB0cmFuc2FjdGlvbiBiYXNlZCwgc2VydmljZSBzaG91bGQgYWx3YXlzIHN0YXJ0IHdpdGggdGhlIGN1c3RvbWVyIGFscmVhZHkgc2V0XHJcbiAgcHJpdmF0ZSBfZXh0ZXJuYWxseVByb3ZpZGVkQ3VzdG9tZXI6IEN1c3RvbWVyRnVsbE9iamVjdCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGNyZWF0ZVNlcnZpY2U6IFRyYW5zYWN0aW9uQ3JlYXRlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgcmVsYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblJlbGF0aW9uU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgdHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9oZWFkZXJTZXJ2aWNlOiBUcmFuc2FjdGlvbkhlYWRlclNlcnZpY2VcclxuXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy5jcmVhdGVTZXJ2aWNlLnRyYW5zYWN0aW9uVXBkYXRlZC5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRyYW5zYWN0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hlYWRlclNlcnZpY2UudHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgICBhd2FpdCB0aGlzLmNyZWF0ZVNlcnZpY2UucHJlcGFyZUFmdGVyU2FsZXNTeXN0ZW1QYXJhbSgpO1xyXG4gICAgaWYgKHRoaXMuY3JlYXRlU2VydmljZS5hZnRlclNhbGVzU3lzdGVtUGFyYW0pIHtcclxuICAgICB0aGlzLnNraXBXaXphcmQoKTtcclxuICAgIH1cclxuICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZS5sb2FkQ29uZmlnKFsnUyddKVxyXG4gICAgdGhpcy5jcmVhdGVTZXJ2aWNlLnRyYW5zYWN0aW9uS2luZCA9IHRoaXMudHJhbnNhY3Rpb25UeXBlO1xyXG4gICAgdGhpcy5jcmVhdGVTZXJ2aWNlLmNyZWF0ZU5ld1JlbGF0aW9uKCk7XHJcbiAgICB0aGlzLl9wcm9jZXNzRXh0ZXJuYWxTZXR0aW5ncygpO1xyXG5cclxuICAgIHRoaXMuX2hlYWRlclNlcnZpY2UucmVsYXRpb24gPSBuZXcgQ3VzdG9tZXJGdWxsT2JqZWN0KCk7XHJcbiAgICB0aGlzLl9oZWFkZXJTZXJ2aWNlLmNyZWF0ZUNsb25lUmVsYXRpb24oKTtcclxuICAgIHRoaXMuaXNSZWFkeSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uRGVzdHJveSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlUmVsYXRpb25WYWxpZGF0aW9uKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgbGV0IHZhbGlkOiBib29sZWFuID0gdGhpcy5yZWxhdGlvblNlY3Rpb24uc3VibWl0KCk7XHJcbiAgICBpZiAodmFsaWQpIHtcclxuICAgICAgdGhpcy5zdGVwUmVsYXRpb25TZWN0aW9uLmNvbXBsZXRlZCA9IGF3YWl0IHRoaXMuY3JlYXRlU2VydmljZS5zYXZlUmVsYXRpb24odHJ1ZSwgZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbGlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVRyYW5zYWN0aW9uVmFsaWRhdGlvbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGxldCB2YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgaWYoIXRoaXMuY3JlYXRlU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQpIHtcclxuICAgICAgaWYodGhpcy50cmFuc2FjdGlvblNlY3Rpb24uZXhpc3RpbmdUcmFuc2FjdGlvbikge1xyXG4gICAgICAgICAgdGhpcy5zdGVwVHJhbnNhY3Rpb25TZWN0aW9uLmNvbXBsZXRlZCA9IGF3YWl0IHRoaXMuY3JlYXRlU2VydmljZS5jcmVhdGVTZXJ2aWNlT3JkZXJXaXRoVHJhbnNhY3Rpb25MaW5lKE51bWJlcih0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5leGlzdGluZ1RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5pZCksIE51bWJlcih0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5leGlzdGluZ1RyYW5zYWN0aW9uTGluZS5saW5lTnIpKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLmNob3NlblRyYW5zYWN0aW9uTGluZSkge1xyXG4gICAgICAgICAgdGhpcy5zdGVwVHJhbnNhY3Rpb25TZWN0aW9uLmNvbXBsZXRlZCA9IGF3YWl0IHRoaXMuY3JlYXRlU2VydmljZS5jcmVhdGVTZXJ2aWNlT3JkZXJXaXRoVHJhbnNhY3Rpb25MaW5lKHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLmNob3NlblRyYW5zYWN0aW9uTGluZS50cmFuc2FjdGlvbklkLCB0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5jaG9zZW5UcmFuc2FjdGlvbkxpbmUubGluZU51bWJlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5jaG9zZW5BcnRpY2xlKSAge1xyXG4gICAgICAgIHZhbGlkID0gYXdhaXQgdGhpcy5fdmFsaWRhdGVGb3JBcnRpY2xlVHJhbnNhY3Rpb24oKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5vbGRPcmRlcklkICYmIHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLm9sZEdvb2RJZCkge1xyXG4gICAgICAgIHRoaXMuc3RlcFRyYW5zYWN0aW9uU2VjdGlvbi5jb21wbGV0ZWQgPSAgYXdhaXQgdGhpcy5jcmVhdGVTZXJ2aWNlLmNyZWF0ZVNlcnZpY2VPcmRlcldpdGhTb3VyY2VPcmRlck5yQW5kQXJ0aWNsZURlc2NyaXB0aW9uKHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLm9sZE9yZGVySWQsIHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLm9sZEdvb2RJZCk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50cmFuc2FjdGlvblNlY3Rpb24uc2xhUHJvZHVjdE5hbWUpIHtcclxuICAgICAgICB0aGlzLnN0ZXBUcmFuc2FjdGlvblNlY3Rpb24uY29tcGxldGVkID0gIGF3YWl0IHRoaXMuY3JlYXRlU2VydmljZS5jcmVhdGVTZXJ2aWNlT3JkZXJXaXRoU0xBKHRoaXMudHJhbnNhY3Rpb25TZWN0aW9uLnNsYVByb2R1Y3ROYW1lKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdmFsaWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnN0ZXBUcmFuc2FjdGlvblNlY3Rpb24uY29tcGxldGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWxpZFxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVdpemFyZFZhbGlkYXRpb24oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBsZXQgdmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLndpemFyZFNlY3Rpb24uZ2V0UXVhUmVzdWx0KCkubGVuZ3RoICE9IDApIHtcclxuICAgICAgdmFsaWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnN0ZXBXaXphcmRTZWN0aW9uLmNvbXBsZXRlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsaWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2VydmljZUluZm9WYWxpZGF0aW9uKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgLy9UT0RPIGFkZCBwcm9wZXIgdmFsaWRhdGlvbiBoZXJlIHNob3VsZCB0aGF0IGJlIG5lY2Vzc2FyeVxyXG4gICAgbGV0IHZhbGlkOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIGlmKHZhbGlkICYmIHRoaXMuY3JlYXRlU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQpIHtcclxuICAgICAgdGhpcy5zdGVwU2VydmljZUZpZWxkc1NlY3Rpb24uY29tcGxldGVkID0gYXdhaXQgdGhpcy5jcmVhdGVTZXJ2aWNlLnVwZGF0ZVNlcnZpY2VIZWFkZXJSZXBvcnRNZXNzYWdlKHRoaXMuc2VydmljZUZpZWxkc1NlY3Rpb24uc2VydmljZU1lc3NhZ2UsIHRydWUpO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5jcmVhdGVTZXJ2aWNlLnNhdmVUcmFuc2FjdGlvbigpO1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkZpbmlzaGVkLm5leHQodGhpcy5jcmVhdGVTZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25Ocik7XHJcbiAgICByZXR1cm4gdmFsaWQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGFzeW5jIHdpemFyZEZpbmlzaGVkKCk6ICBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBxYVJlc3VsdDogUWFSZXN1bHRbXSA9IHRoaXMud2l6YXJkU2VjdGlvbi5nZXRRdWFSZXN1bHQoKTtcclxuICAgIGlmIChxYVJlc3VsdCAmJiBxYVJlc3VsdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBxYVRleHQ6IHN0cmluZyA9IFwiXCI7XHJcbiAgICAgIGxldCBxYUNhdXNlQ29kZTogc3RyaW5nO1xyXG4gICAgICBsZXQgcWFTZXJ2aWNlVHlwZTogc3RyaW5nO1xyXG4gICAgICBxYVJlc3VsdC5mb3JFYWNoKHFhID0+IHtcclxuICAgICAgICBpZiAocWEuY2F1c2VDb2RlICE9IG51bGwgJiYgcWEuY2F1c2VDb2RlICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgcWFDYXVzZUNvZGUgPSBxYS5jYXVzZUNvZGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChxYS5zZXJ2aWNlVHlwZSAhPSBudWxsICYmIHFhLnNlcnZpY2VUeXBlICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgcWFTZXJ2aWNlVHlwZSA9IHFhLnNlcnZpY2VUeXBlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBxYVRleHQgKz0gKHFhLnF1ZXN0aW9uVGV4dCArIFwiXFxuXCIpO1xyXG4gICAgICAgIHFhVGV4dCArPSAocWEuYW5zd2VyVGV4dCArIFwiXFxuXCIpO1xyXG4gICAgICB9KVxyXG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZVNlcnZpY2UudXBkYXRlU2VydmljZUhlYWRlcldpemFyZERhdGEocWFDYXVzZUNvZGUsIHFhU2VydmljZVR5cGUsIHFhVGV4dCwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnN0ZXBwZXIuY29udGludWVSZXF1ZXN0ZWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBza2lwV2l6YXJkKCk6ICB2b2lkIHtcclxuICAgIHRoaXMuc3RlcHBlci5za2lwU3RlcHMgPSBbM107XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVzZXRXaXphcmQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm5vTG9ja09uQ3VzdG9tZXJTZXQgPSB0cnVlO1xyXG4gICAgdGhpcy5jcmVhdGVTZXJ2aWNlLmNyZWF0ZU5ld1JlbGF0aW9uKCk7XHJcbiAgICB0aGlzLmNyZWF0ZVNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKCk7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5jbGVhcigpO1xyXG4gICAgdGhpcy5zdGVwcGVyLm9wZW5Ub0luZGV4KDEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfdmFsaWRhdGVGb3JBcnRpY2xlVHJhbnNhY3Rpb24oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBsZXQgdmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5jaG9zZW5BcnRpY2xlKSB7XHJcbiAgICAgIHZhbGlkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zdGVwVHJhbnNhY3Rpb25TZWN0aW9uLmNvbXBsZXRlZCA9IGF3YWl0IHRoaXMuY3JlYXRlU2VydmljZS5jcmVhdGVTZXJ2aWNlT3JkZXJXaXRoU291cmNlR29vZCh0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5jaG9zZW5BcnRpY2xlLmdvb2RJZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YWxpZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbGlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfcHJvY2Vzc0V4dGVybmFsU2V0dGluZ3MoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZih0aGlzLl9leHRlcm5hbGx5UHJvdmlkZWRUcmFuc2FjdGlvbiAmJiAhaXNOYU4odGhpcy5fZXh0ZXJuYWxseVByb3ZpZGVkTGluZU5yKSkge1xyXG4gICAgICAvL2ZldGNoIHJlbGF0aW9uIGFuZCBjcmVhdGUgbmVlZGVkIHRyYW5zYWN0aW9uIGZpcnN0LlxyXG4gICAgICB0aGlzLm5vTG9ja09uQ3VzdG9tZXJTZXQgPSB0cnVlO1xyXG4gICAgICAvL3RoaXMuY3JlYXRlU2VydmljZS5yZWxhdGlvbiA9IGF3YWl0IHRoaXMucmVsYXRpb25TZXJ2aWNlLmdldEN1c3RvbWVyRnVsbE9iamVjdChwYXJzZUludCh0aGlzLl9leHRlcm5hbGx5UHJvdmlkZWRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucmVsYXRpb24ucmVsYXRpb25OcikpO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5leGlzdGluZ1RyYW5zYWN0aW9uID0gIHRoaXMuX2V4dGVybmFsbHlQcm92aWRlZFRyYW5zYWN0aW9uO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5leGlzdGluZ1RyYW5zYWN0aW9uTGluZSA9ICB0aGlzLl9leHRlcm5hbGx5UHJvdmlkZWRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzLmZpbmQobCA9PiBsLmxpbmVOciA9PT0gdGhpcy5fZXh0ZXJuYWxseVByb3ZpZGVkTGluZU5yKTtcclxuICAgICAgLy90aGlzLnRyYW5zYWN0aW9uU2VjdGlvbi5jcmVhdGVPcmRlcldpdGhUcmFuc2FjdGlvbkxpbmVDbGlja2VkKGZhbHNlKTtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvblNlY3Rpb24uYnV0dG9uc1Zpc2libGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jcmVhdGVTZXJ2aWNlLnJlbGF0aW9uID0gYXdhaXQgdGhpcy5yZWxhdGlvblNlcnZpY2UuZ2V0Q3VzdG9tZXJGdWxsT2JqZWN0KHBhcnNlSW50KHRoaXMuX2V4dGVybmFsbHlQcm92aWRlZFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5yZWxhdGlvbi5yZWxhdGlvbk5yKSk7XHJcblxyXG4gICAgICBhd2FpdCB0aGlzLmNyZWF0ZVNlcnZpY2UuY3JlYXRlU2VydmljZU9yZGVyV2l0aFRyYW5zYWN0aW9uTGluZShOdW1iZXIodGhpcy50cmFuc2FjdGlvblNlY3Rpb24uZXhpc3RpbmdUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uaWQpLCBOdW1iZXIodGhpcy50cmFuc2FjdGlvblNlY3Rpb24uZXhpc3RpbmdUcmFuc2FjdGlvbkxpbmUubGluZU5yKSk7XHJcbiAgICAgIGlmKHRoaXMuc3RlcHBlci5za2lwU3RlcHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuc3RlcHBlci5vcGVuVG9JbmRleCg0KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnN0ZXBwZXIub3BlblRvSW5kZXgoMyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5fZXh0ZXJuYWxseVByb3ZpZGVkQ3VzdG9tZXIpIHtcclxuICAgICAgdGhpcy5ub0xvY2tPbkN1c3RvbWVyU2V0ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jcmVhdGVTZXJ2aWNlLnJlbGF0aW9uID0gdGhpcy5fZXh0ZXJuYWxseVByb3ZpZGVkQ3VzdG9tZXI7XHJcbiAgICAgIHRoaXMuc3RlcHBlci5vcGVuVG9JbmRleCgyKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|