@colijnit/transaction 12.1.2 → 12.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/app/component/checkout/{retail-transaction-checkout/retail-transaction-checkout.component.d.ts → checkout-transaction/checkout-transaction.component.d.ts} +1 -1
  2. package/app/component/checkout/ione-checkout.component.d.ts +0 -2
  3. package/app/component/core/base/transaction-base.component.d.ts +10 -0
  4. package/app/component/{shopping-cart → core}/characteristic-answer/characteristic-answer.component.d.ts +0 -0
  5. package/app/component/{common → core}/icon/icon.component.d.ts +0 -0
  6. package/app/component/{common → core}/image-display/image-display.component.d.ts +0 -0
  7. package/app/component/{common → core}/no-image-display/no-image-display.component.d.ts +0 -0
  8. package/app/component/service-order/service-order.component.d.ts +13 -9
  9. package/app/component/service-order/transaction-article-text/transaction-article-text.component.d.ts +22 -13
  10. package/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +23 -0
  11. package/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.d.ts +19 -0
  12. package/app/component/service-order/transaction-manager/transaction-manager.component.d.ts +64 -0
  13. package/app/component/service-order/warehouse/warehouse.component.d.ts +35 -0
  14. package/app/component/shopping-cart/ione-shopping-cart.component.d.ts +1 -1
  15. package/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.d.ts +2 -2
  16. package/{enum → app/enum}/position-grid-row.enum.d.ts +0 -0
  17. package/app/model/standard-text.d.ts +5 -0
  18. package/app/model/transaction-add-text-line-request.d.ts +9 -0
  19. package/app/service/dictionary.service.d.ts +1 -0
  20. package/app/service/ione-connector-adapter.service.d.ts +3 -0
  21. package/app/service/transaction-event.service.d.ts +1 -1
  22. package/app/service/transaction.service.d.ts +18 -8
  23. package/bundles/colijnit-transaction.umd.js +1535 -533
  24. package/bundles/colijnit-transaction.umd.js.map +1 -1
  25. package/colijnit-transaction.d.ts +45 -41
  26. package/colijnit-transaction.metadata.json +1 -1
  27. package/esm2015/app/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +2 -2
  28. package/esm2015/app/component/checkout/checkout-transaction/checkout-transaction.component.js +53 -0
  29. package/esm2015/app/component/checkout/ione-checkout.component.js +2 -4
  30. package/esm2015/app/component/checkout/ione-checkout.module.js +5 -3
  31. package/esm2015/app/component/core/base/transaction-base.component.js +35 -12
  32. package/esm2015/app/component/core/characteristic-answer/characteristic-answer.component.js +100 -0
  33. package/esm2015/app/component/core/core.module.js +4 -4
  34. package/esm2015/app/component/{common → core}/icon/icon.component.js +1 -1
  35. package/esm2015/app/component/core/image-display/image-display.component.js +41 -0
  36. package/esm2015/app/component/core/no-image-display/no-image-display.component.js +26 -0
  37. package/esm2015/app/component/service-order/ione-service-order-module.js +15 -4
  38. package/esm2015/app/component/service-order/service-order.component.js +53 -20
  39. package/esm2015/app/component/service-order/transaction-article-text/transaction-article-text.component.js +107 -150
  40. package/esm2015/app/component/service-order/transaction-article-text-overview/transaction-article-text-overview.component.js +105 -0
  41. package/esm2015/app/component/service-order/transaction-edit-article-text/transaction-edit-article-text.component.js +73 -0
  42. package/esm2015/app/component/service-order/transaction-manager/transaction-manager.component.js +314 -0
  43. package/esm2015/app/component/service-order/transaction-order-lines/transaction-order-lines.component.js +2 -2
  44. package/esm2015/app/component/service-order/warehouse/warehouse.component.js +133 -0
  45. package/esm2015/app/component/shopping-cart/ione-shopping-cart.component.js +2 -2
  46. package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +3 -3
  47. package/esm2015/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +3 -3
  48. package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +1 -1
  49. package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +3 -3
  50. package/esm2015/app/enum/position-grid-row.enum.js +6 -0
  51. package/esm2015/app/model/standard-text.js +3 -0
  52. package/esm2015/app/model/transaction-add-text-line-request.js +11 -0
  53. package/esm2015/app/service/dictionary.service.js +20 -9
  54. package/esm2015/app/service/ione-connector-adapter.service.js +30 -1
  55. package/esm2015/app/service/transaction-event.service.js +1 -1
  56. package/esm2015/app/service/transaction.service.js +98 -23
  57. package/esm2015/assets/dictionary/text.properties.js +13 -1
  58. package/esm2015/colijnit-transaction.js +46 -42
  59. package/fesm2015/colijnit-transaction.js +1512 -757
  60. package/fesm2015/colijnit-transaction.js.map +1 -1
  61. package/package.json +4 -3
  62. package/esm2015/app/component/checkout/retail-transaction-checkout/retail-transaction-checkout.component.js +0 -53
  63. package/esm2015/app/component/common/image-display/image-display.component.js +0 -41
  64. package/esm2015/app/component/common/no-image-display/no-image-display.component.js +0 -26
  65. package/esm2015/app/component/shopping-cart/characteristic-answer/characteristic-answer.component.js +0 -99
  66. package/esm2015/enum/position-grid-row.enum.js +0 -6
@@ -1,59 +1,59 @@
1
- import { Component, Input } from "@angular/core";
1
+ import { __awaiter } from "tslib";
2
+ import { Component, EventEmitter, Input, Output, ViewChild } from "@angular/core";
2
3
  import { TransactionService } from "../../../service/transaction.service";
3
4
  import { TransactionBaseComponent } from "../../core/base/transaction-base.component";
5
+ import { ToolbarService, LinkService, ImageService, HtmlEditorService } from '@syncfusion/ej2-angular-richtexteditor';
6
+ import { TransactionAddTextLineRequest } from "../../../model/transaction-add-text-line-request";
4
7
  export class TransactionArticleTextComponent extends TransactionBaseComponent {
5
8
  constructor(service) {
6
9
  super(service);
7
10
  this.service = service;
11
+ this.addTextLine = new EventEmitter();
12
+ this.transactionAddTextLineRequest = new TransactionAddTextLineRequest();
13
+ this.textTitle = "";
8
14
  this.visible = false;
9
- this.floatButtonSelected = false;
10
- this.overviewSelected = false;
11
- this.editArtikelText = false;
12
- this.collection = [
13
- { id: 1, name: "Standaardtekst 1" },
14
- { id: 2, name: "Standaardtekst 1" },
15
- { id: 3, name: "Standaardtekst 1" },
16
- { id: 4, name: "Standaardtekst 1" },
17
- { id: 5, name: "Standaardtekst 1" }
18
- ];
19
- this.articleTexts = [
20
- { title: "title 1", description: "Omschrijving 1" },
21
- { title: "title 2", description: "Omschrijving 2" },
22
- { title: "title 3", description: "Omschrijving 3" },
23
- { title: "title 4", description: "Omschrijving 4" },
24
- { title: "title 5", description: "Omschrijving 5" },
25
- ];
26
- this.fields = { text: "name", value: "id" };
15
+ this.collection = [];
16
+ this.fields = { text: "description", value: "textId" };
17
+ this.transactionAddTextLineRequest.text = "";
18
+ }
19
+ ngOnInit() {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ this.collection = yield this.service.getStandardTexts("NL");
22
+ });
27
23
  }
28
24
  onOkClick() {
25
+ if (this.selectedLine) {
26
+ this.transactionAddTextLineRequest.refArticleLineNr = this.selectedLine.lineNr;
27
+ }
28
+ this.addTextLine.emit(this.transactionAddTextLineRequest);
29
29
  this.hide();
30
30
  }
31
- onPopupClose() {
31
+ onCancelClick() {
32
32
  this.hide();
33
- this.hideOverview();
34
- this.hideEditArtikelText();
35
- }
36
- hide() {
37
- // TODO: throw hide event
38
- this.visible = false;
39
33
  }
40
- onOverview() {
41
- this.overviewSelected = true;
34
+ onOverviewClick() {
35
+ this.articleTextOverview.open();
42
36
  }
43
- onOkOverviewClick() {
44
- this.hideOverview();
37
+ open() {
38
+ if (this.articleTextDialog) {
39
+ this.articleTextDialog.open();
40
+ }
45
41
  }
46
- hideOverview() {
47
- this.overviewSelected = false;
42
+ onPopupClose() {
43
+ this.hide();
48
44
  }
49
- onDetailLinkClick(bo) {
50
- this.editArtikelText = true;
45
+ hide() {
46
+ if (this.articleTextDialog) {
47
+ this.articleTextDialog.close();
48
+ }
51
49
  }
52
- hideEditArtikelText() {
53
- this.editArtikelText = false;
50
+ onChangeText(event) {
51
+ if (this.editor) {
52
+ this.transactionAddTextLineRequest.text = this.editor.getText();
53
+ }
54
54
  }
55
- onOkEditArtikelTextClick() {
56
- this.editArtikelText = false;
55
+ onSelectStandardText(value) {
56
+ this.transactionAddTextLineRequest.text = (this.collection.find(x => x.textId === value)).text;
57
57
  }
58
58
  }
59
59
  TransactionArticleTextComponent.decorators = [
@@ -61,123 +61,80 @@ TransactionArticleTextComponent.decorators = [
61
61
  // eslint-disable-next-line @angular-eslint/component-selector
62
62
  selector: "transaction-article-text",
63
63
  template: `
64
- <co-dialog [visible]="visible" (close)="onPopupClose()">
65
- <ng-container header>{{ subHeader }}</ng-container>
66
- <ng-container content>
67
- <div class="tags-join-content" fxLayout fxLayoutGap="10px">
68
- <div class="column-separator">
69
- <co-input-text placeholder="Titel"></co-input-text>
70
- <!--transactiontransaction-->
71
- <!-- label="Artikeltekst"-->
72
- <!-- ></co-text-editor>-->
73
- </div>
74
- <div style="margin-left:5px;">
75
- <div style="margin-top:16px;">
76
- <ejs-dropdownlist
77
- [dataSource]="collection"
78
- [fields]="fields"
79
- placeholder="Standaardteksten"
80
- ></ejs-dropdownlist>
81
- </div>
82
- <div style="margin-top:20px;">
83
- <co-input-checkbox
84
- label="Artikelgebonden tekst"
85
- name="articleBoundText">
86
- </co-input-checkbox>
87
- </div>
88
- <div style="margin-top:20px;">
89
- <label>Bestemd voor documenten</label>
90
- <ejs-chiplist id="chip-default">
91
- <e-chips>
92
- <e-chip text="Apple" cssClass="e-primary"></e-chip>
93
- <e-chip text="Microsoft" cssClass="e-info"></e-chip>
94
- <e-chip text="Google" cssClass="e-success"></e-chip>
95
- <e-chip text="Tesla" cssClass="e-warning"></e-chip>
96
- <e-chip text="Intel" cssClass="e-danger"></e-chip>
97
- </e-chips>
98
- </ejs-chiplist>
99
- </div>
100
- </div>
101
- </div>
102
- </ng-container>
103
- <ng-container footer>
104
- <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
105
- <co-button label="OK" (click)="onOkClick()"></co-button>
106
- <co-button label="CANCEL" (click)="hide()"></co-button>
107
- <co-button label="OVERVIEW" (click)="onOverview()"></co-button>
108
- </div>
109
- </ng-container>
110
- </co-dialog>
111
-
112
- <co-dialog [visible]="overviewSelected" (close)="hideOverview()">
113
- <ng-container header>Artikelgebonden teksten {{ subHeader }}</ng-container>
114
- <ng-container content>
115
- <div class="tags-join-content" fxLayout fxLayoutGap="10px">
116
- <div class="column-separator" style="width:75%">
117
- <!-- <grid [data]="articleTexts" detailLink (detailLinkClick)="onDetailLinkClick($event)">-->
118
- <!-- <grid-column key="title" header="TITLE" width="100px;"></grid-column>-->
119
- <!-- <grid-column key="description" header="DESCRIPTION" width="200px"></grid-column>-->
120
- <!-- </grid>-->
121
- </div>
122
- <div style="margin-left:5px;">
123
- <div style="margin-top:20px;">
124
-
125
- <co-input-checkbox
126
- label="Artikelgebonden tekst"
127
- name="articleBoundText"
128
- value="true"
129
- ></co-input-checkbox>
130
- </div>
131
- <div style="margin-top:20px;">
132
- <label>Bestemd voor documenten</label>
133
- <ejs-chiplist id="chip-default">
134
- <e-chips>
135
- <e-chip text="Apple" cssClass="e-primary"></e-chip>
136
- <e-chip text="Microsoft" cssClass="e-info"></e-chip>
137
- <e-chip text="Google" cssClass="e-success"></e-chip>
138
- <e-chip text="Tesla" cssClass="e-warning"></e-chip>
139
- <e-chip text="Intel" cssClass="e-danger"></e-chip>
140
- </e-chips>
141
- </ejs-chiplist>
142
- </div>
143
- </div>
144
- </div>
145
- </ng-container>
146
- <ng-container footer>
147
- <div class="footer" fxLayout fxPosition="row" fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
148
- <co-button label="OK" (click)="onOkOverviewClick()"></co-button>
149
- <co-button label="CANCEL" (click)="hideOverview()"></co-button>
150
- </div>
151
- </ng-container>
152
- </co-dialog>
64
+ <co-dialog #articleTextDialog (close)="onPopupClose()">
65
+ <ng-container header>{{ subHeader }}</ng-container>
66
+ <ng-container content>
67
+ <div class="tags-join-content" fxLayout fxLayoutGap="10px">
68
+ <div>
69
+ <co-rich-text-editor
70
+ #rte
71
+ id="rte"
72
+ [model]="transactionAddTextLineRequest.text"
73
+ (onChangeEvent)="onChangeText($event)"
74
+ ></co-rich-text-editor>
75
+ </div>
76
+ <div style="margin-left:5px;">
77
+ <div style="margin-top:16px;">
78
+ <ejs-dropdownlist
79
+ [dataSource]="collection"
80
+ [fields]="fields"
81
+ [placeholder]="'STANDARD_TEXTS' | localize"
82
+ (valueChange)="onSelectStandardText($event)"
83
+ ></ejs-dropdownlist>
84
+ <!-- <co-drop-down-list [-->
85
+ <!-- [collection]="collection"-->
86
+ <!-- [fields]="fields"-->
87
+ <!-- [placeHolder]="'STANDARD_TEXTS' | localize"-->
88
+ <!-- (valueChange)="onSelectStandardText($event)"-->
89
+ <!-- ></co-drop-down-list>-->
90
+ </div>
91
+ <div style="margin-top:20px;">
92
+ <co-input-checkbox
93
+ [(model)]="transactionAddTextLineRequest.articleBound"
94
+ [label]="'ARTICLE_BOUND_TEXT' | localize"
95
+ name="articleBoundText">
96
+ </co-input-checkbox>
97
+ </div>
98
+ <div style="margin-top:20px;">
99
+ <label [textContent]="'FOR_DOCUMENTS' | localize"></label>
100
+ <ejs-chiplist id="chip-default">
101
+ <e-chips>
102
+ <e-chip text="Apple" cssClass="e-primary"></e-chip>
103
+ <e-chip text="Microsoft" cssClass="e-info"></e-chip>
104
+ <e-chip text="Google" cssClass="e-success"></e-chip>
105
+ <e-chip text="Tesla" cssClass="e-warning"></e-chip>
106
+ <e-chip text="Intel" cssClass="e-danger"></e-chip>
107
+ </e-chips>
108
+ </ejs-chiplist>
109
+ </div>
110
+ </div>
111
+ </div>
112
+ </ng-container>
113
+ <ng-container footer>
114
+ <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
115
+ <co-button [label]="'OK' | localize" (click)="onOkClick()"></co-button>
116
+ <co-button [label]="'CANCEL' | localize " (click)="onCancelClick()"></co-button>
117
+ <co-button [label]="'OVERVIEW' | localize" (click)="onOverviewClick()"></co-button>
118
+ </div>
119
+ </ng-container>
120
+ </co-dialog>
153
121
 
154
- <co-dialog [visible]="editArtikelText" (close)="hideEditArtikelText()">
155
- <ng-container header>{{ subHeader }}</ng-container>
156
- <ng-container content>
157
- <div class="tags-join-content" fxLayout fxLayoutGap="10px">
158
- <div class="column-separator">
159
- <co-input-text placeholder="Titel"></co-input-text>
160
- <!-- <co-text-editor-->
161
- <!-- label="Artikeltekst"-->
162
- <!-- ></co-text-editor>-->
163
- </div>
164
- </div>
165
- </ng-container>
166
- <ng-container footer>
167
- <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
168
- <co-button label="OK" (click)="onOkEditArtikelTextClick()"></co-button>
169
- <co-button label="CANCEL" (click)="hideEditArtikelText()"></co-button>
170
- </div>
171
- </ng-container>
172
- </co-dialog>
173
- `,
174
- styles: [""]
122
+ <transaction-article-text-overview
123
+ #articleTextOverview>
124
+ </transaction-article-text-overview>
125
+ `,
126
+ providers: [ToolbarService, LinkService, ImageService, HtmlEditorService],
127
+ styles: [":host .e-toolbar-wrapper{height:50px}\n"]
175
128
  },] }
176
129
  ];
177
130
  TransactionArticleTextComponent.ctorParameters = () => [
178
131
  { type: TransactionService }
179
132
  ];
180
133
  TransactionArticleTextComponent.propDecorators = {
181
- subHeader: [{ type: Input }]
134
+ articleTextDialog: [{ type: ViewChild, args: ["articleTextDialog",] }],
135
+ articleTextOverview: [{ type: ViewChild, args: ["articleTextOverview",] }],
136
+ editor: [{ type: ViewChild, args: ["rte",] }],
137
+ subHeader: [{ type: Input }],
138
+ addTextLine: [{ type: Output }]
182
139
  };
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50L3NlcnZpY2Utb3JkZXIvdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0L3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBSTdFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBUXhFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBd0hwRixNQUFNLE9BQU8sK0JBQWdDLFNBQVEsd0JBQXdCO0lBNEIzRSxZQUNTLE9BQTJCO1FBRWxDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUZSLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBekI3QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBRXpCLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUNyQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFakMsZUFBVSxHQUFhO1lBQzVCLEVBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUM7WUFDakMsRUFBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBQztZQUNqQyxFQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFDO1lBQ2pDLEVBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUM7WUFDakMsRUFBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBQztTQUNsQyxDQUFDO1FBRUssaUJBQVksR0FBYTtZQUM5QixFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFDO1lBQ2pELEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUM7WUFDakQsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBQztZQUNqRCxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFDO1lBQ2pELEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUM7U0FDbEQsQ0FBQztRQUVLLFdBQU0sR0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO0lBTXRELENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxJQUFJO1FBQ1QseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFrQjtRQUN6QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFTSx3QkFBd0I7UUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQzs7O1lBN0xGLFNBQVMsU0FBQztnQkFDVCw4REFBOEQ7Z0JBQzlELFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E4R1A7O2FBSUo7OztZQS9ITyxrQkFBa0I7Ozt3QkFpSXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7YW5pbWF0ZSwgQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7U2Nyb2xsfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYnVzaW5lc3Mtb2JqZWN0XCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvXCI7XHJcbmltcG9ydCB7Q29udGVudFZpZXdNb2RlfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9jb250ZW50LXZpZXctbW9kZS5lbnVtXCI7XHJcbmltcG9ydCB7Q29yZUNvbXBvbmVudHNJY29uLCBJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0NvbnRleHRNZW51SXRlbU1vZGVsfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZ3JpZHNcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gXCIuLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6IFwidHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8Y28tZGlhbG9nIFt2aXNpYmxlXT1cInZpc2libGVcIiAoY2xvc2UpPVwib25Qb3B1cENsb3NlKClcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgaGVhZGVyPnt7IHN1YkhlYWRlciB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBjb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ3Mtam9pbi1jb250ZW50XCIgZnhMYXlvdXQgZnhMYXlvdXRHYXA9XCIxMHB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1zZXBhcmF0b3JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgcGxhY2Vob2xkZXI9XCJUaXRlbFwiPjwvY28taW5wdXQtdGV4dD5cclxuPCEtLXRyYW5zYWN0aW9udHJhbnNhY3Rpb24tLT5cclxuPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJBcnRpa2VsdGVrc3RcIi0tPlxyXG48IS0tICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tdGV4dC1lZGl0b3I+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1sZWZ0OjVweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6MTZweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlanMtZHJvcGRvd25saXN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImNvbGxlY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU3RhbmRhYXJkdGVrc3RlblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9lanMtZHJvcGRvd25saXN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6MjBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIkFydGlrZWxnZWJvbmRlbiB0ZWtzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJhcnRpY2xlQm91bmRUZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6MjBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5CZXN0ZW1kIHZvb3IgZG9jdW1lbnRlbjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWpzLWNoaXBsaXN0IGlkPVwiY2hpcC1kZWZhdWx0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGUtY2hpcHM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlLWNoaXAgdGV4dD1cIkFwcGxlXCIgY3NzQ2xhc3M9XCJlLXByaW1hcnlcIj48L2UtY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGUtY2hpcCB0ZXh0PVwiTWljcm9zb2Z0XCIgY3NzQ2xhc3M9XCJlLWluZm9cIj48L2UtY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGUtY2hpcCB0ZXh0PVwiR29vZ2xlXCIgY3NzQ2xhc3M9XCJlLXN1Y2Nlc3NcIj48L2UtY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGUtY2hpcCB0ZXh0PVwiVGVzbGFcIiBjc3NDbGFzcz1cImUtd2FybmluZ1wiPjwvZS1jaGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZS1jaGlwIHRleHQ9XCJJbnRlbFwiIGNzc0NsYXNzPVwiZS1kYW5nZXJcIj48L2UtY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2UtY2hpcHM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Vqcy1jaGlwbGlzdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGZvb3Rlcj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIiBmeExheW91dCBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIHN0eWxlPVwibWFyZ2luLXRvcDozMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gbGFiZWw9XCJPS1wiIChjbGljayk9XCJvbk9rQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gbGFiZWw9XCJDQU5DRUxcIiAoY2xpY2spPVwiaGlkZSgpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBsYWJlbD1cIk9WRVJWSUVXXCIgKGNsaWNrKT1cIm9uT3ZlcnZpZXcoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9jby1kaWFsb2c+XHJcblxyXG4gICAgICAgIDxjby1kaWFsb2cgW3Zpc2libGVdPVwib3ZlcnZpZXdTZWxlY3RlZFwiIChjbG9zZSk9XCJoaWRlT3ZlcnZpZXcoKVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBoZWFkZXI+QXJ0aWtlbGdlYm9uZGVuIHRla3N0ZW4ge3sgc3ViSGVhZGVyIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyIGNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFncy1qb2luLWNvbnRlbnRcIiBmeExheW91dCBmeExheW91dEdhcD1cIjEwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLXNlcGFyYXRvclwiIHN0eWxlPVwid2lkdGg6NzUlXCI+XHJcbjwhLS0gICAgICAgICAgICAgICAgICAgICAgICA8Z3JpZCBbZGF0YV09XCJhcnRpY2xlVGV4dHNcIiBkZXRhaWxMaW5rIChkZXRhaWxMaW5rQ2xpY2spPVwib25EZXRhaWxMaW5rQ2xpY2soJGV2ZW50KVwiPi0tPlxyXG48IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxncmlkLWNvbHVtbiBrZXk9XCJ0aXRsZVwiIGhlYWRlcj1cIlRJVExFXCIgd2lkdGg9XCIxMDBweDtcIj48L2dyaWQtY29sdW1uPi0tPlxyXG48IS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxncmlkLWNvbHVtbiBrZXk9XCJkZXNjcmlwdGlvblwiIGhlYWRlcj1cIkRFU0NSSVBUSU9OXCIgd2lkdGg9XCIyMDBweFwiPjwvZ3JpZC1jb2x1bW4+LS0+XHJcbjwhLS0gICAgICAgICAgICAgICAgICAgICAgICA8L2dyaWQ+LS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1sZWZ0OjVweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6MjBweDtcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJBcnRpa2VsZ2Vib25kZW4gdGVrc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiYXJ0aWNsZUJvdW5kVGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOjIwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+QmVzdGVtZCB2b29yIGRvY3VtZW50ZW48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVqcy1jaGlwbGlzdCBpZD1cImNoaXAtZGVmYXVsdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlLWNoaXBzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZS1jaGlwIHRleHQ9XCJBcHBsZVwiIGNzc0NsYXNzPVwiZS1wcmltYXJ5XCI+PC9lLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlLWNoaXAgdGV4dD1cIk1pY3Jvc29mdFwiIGNzc0NsYXNzPVwiZS1pbmZvXCI+PC9lLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlLWNoaXAgdGV4dD1cIkdvb2dsZVwiIGNzc0NsYXNzPVwiZS1zdWNjZXNzXCI+PC9lLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlLWNoaXAgdGV4dD1cIlRlc2xhXCIgY3NzQ2xhc3M9XCJlLXdhcm5pbmdcIj48L2UtY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGUtY2hpcCB0ZXh0PVwiSW50ZWxcIiBjc3NDbGFzcz1cImUtZGFuZ2VyXCI+PC9lLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lLWNoaXBzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lanMtY2hpcGxpc3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgZm9vdGVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiIGZ4TGF5b3V0IGZ4UG9zaXRpb249XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIHN0eWxlPVwibWFyZ2luLXRvcDozMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gbGFiZWw9XCJPS1wiIChjbGljayk9XCJvbk9rT3ZlcnZpZXdDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBsYWJlbD1cIkNBTkNFTFwiIChjbGljayk9XCJoaWRlT3ZlcnZpZXcoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2NvLWRpYWxvZz5cclxuXHJcbiAgICAgICAgPGNvLWRpYWxvZyBbdmlzaWJsZV09XCJlZGl0QXJ0aWtlbFRleHRcIiAgKGNsb3NlKT1cImhpZGVFZGl0QXJ0aWtlbFRleHQoKVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBoZWFkZXI+e3sgc3ViSGVhZGVyIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyIGNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFncy1qb2luLWNvbnRlbnRcIiBmeExheW91dCBmeExheW91dEdhcD1cIjEwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLXNlcGFyYXRvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBwbGFjZWhvbGRlcj1cIlRpdGVsXCI+PC9jby1pbnB1dC10ZXh0PlxyXG48IS0tICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXRleHQtZWRpdG9yLS0+XHJcbjwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiQXJ0aWtlbHRla3N0XCItLT5cclxuPCEtLSAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRleHQtZWRpdG9yPi0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgZm9vdGVyPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIiBmeExheW91dCBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIHN0eWxlPVwibWFyZ2luLXRvcDozMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIGxhYmVsPVwiT0tcIiAoY2xpY2spPVwib25Pa0VkaXRBcnRpa2VsVGV4dENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBsYWJlbD1cIkNBTkNFTFwiIChjbGljayk9XCJoaWRlRWRpdEFydGlrZWxUZXh0KClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvY28tZGlhbG9nPlxyXG4gICAgYCxcclxuICBzdHlsZVVybHM6IFtcclxuICAgIFwiLi90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQuY29tcG9uZW50LnNjc3NcIlxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQXJ0aWNsZVRleHRDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3ViSGVhZGVyOiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyB2aXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBmbG9hdEJ1dHRvblNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIG92ZXJ2aWV3U2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZWRpdEFydGlrZWxUZXh0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBjb2xsZWN0aW9uOiBPYmplY3RbXSA9IFtcclxuICAgIHtpZDogMSwgbmFtZTogXCJTdGFuZGFhcmR0ZWtzdCAxXCJ9LFxyXG4gICAge2lkOiAyLCBuYW1lOiBcIlN0YW5kYWFyZHRla3N0IDFcIn0sXHJcbiAgICB7aWQ6IDMsIG5hbWU6IFwiU3RhbmRhYXJkdGVrc3QgMVwifSxcclxuICAgIHtpZDogNCwgbmFtZTogXCJTdGFuZGFhcmR0ZWtzdCAxXCJ9LFxyXG4gICAge2lkOiA1LCBuYW1lOiBcIlN0YW5kYWFyZHRla3N0IDFcIn1cclxuICBdO1xyXG5cclxuICBwdWJsaWMgYXJ0aWNsZVRleHRzOiBPYmplY3RbXSA9IFtcclxuICAgIHt0aXRsZTogXCJ0aXRsZSAxXCIsIGRlc2NyaXB0aW9uOiBcIk9tc2NocmlqdmluZyAxXCJ9LFxyXG4gICAge3RpdGxlOiBcInRpdGxlIDJcIiwgZGVzY3JpcHRpb246IFwiT21zY2hyaWp2aW5nIDJcIn0sXHJcbiAgICB7dGl0bGU6IFwidGl0bGUgM1wiLCBkZXNjcmlwdGlvbjogXCJPbXNjaHJpanZpbmcgM1wifSxcclxuICAgIHt0aXRsZTogXCJ0aXRsZSA0XCIsIGRlc2NyaXB0aW9uOiBcIk9tc2NocmlqdmluZyA0XCJ9LFxyXG4gICAge3RpdGxlOiBcInRpdGxlIDVcIiwgZGVzY3JpcHRpb246IFwiT21zY2hyaWp2aW5nIDVcIn0sXHJcbiAgXTtcclxuXHJcbiAgcHVibGljIGZpZWxkczogT2JqZWN0ID0geyB0ZXh0OiBcIm5hbWVcIiwgdmFsdWU6IFwiaWRcIiB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihzZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk9rQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblBvcHVwQ2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICAgIHRoaXMuaGlkZU92ZXJ2aWV3KCk7XHJcbiAgICB0aGlzLmhpZGVFZGl0QXJ0aWtlbFRleHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xyXG4gICAgLy8gVE9ETzogdGhyb3cgaGlkZSBldmVudFxyXG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25PdmVydmlldygpOiB2b2lkIHtcclxuICAgIHRoaXMub3ZlcnZpZXdTZWxlY3RlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Pa092ZXJ2aWV3Q2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmhpZGVPdmVydmlldygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhpZGVPdmVydmlldygpOiB2b2lkIHtcclxuICAgIHRoaXMub3ZlcnZpZXdTZWxlY3RlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRGV0YWlsTGlua0NsaWNrKGJvOiBCdXNpbmVzc09iamVjdCk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0QXJ0aWtlbFRleHQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhpZGVFZGl0QXJ0aWtlbFRleHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRBcnRpa2VsVGV4dCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uT2tFZGl0QXJ0aWtlbFRleHRDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdEFydGlrZWxUZXh0ID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50L3NlcnZpY2Utb3JkZXIvdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0L3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFDWCxZQUFZLEVBQ1osaUJBQWlCLEVBRWxCLE1BQU0sd0NBQXdDLENBQUM7QUFFaEQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUE2RS9GLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSx3QkFBd0I7SUEwQjNFLFlBQ1MsT0FBMkI7UUFFbEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRlIsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFicEIsZ0JBQVcsR0FBZ0QsSUFBSSxZQUFZLEVBQWlDLENBQUM7UUFFdEgsa0NBQTZCLEdBQWtDLElBQUksNkJBQTZCLEVBQUUsQ0FBQztRQUluRyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBRXZCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsZUFBVSxHQUFtQixFQUFFLENBQUM7UUFDaEMsV0FBTSxHQUFXLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFLL0QsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVLLFFBQVE7O1lBQ1osSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUQsQ0FBQztLQUFBO0lBRU0sU0FBUztRQUNkLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsNkJBQTZCLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7U0FDaEY7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFTSxZQUFZLENBQUMsS0FBc0I7UUFDeEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztJQUVNLG9CQUFvQixDQUFDLEtBQVU7UUFDcEMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqRyxDQUFDOzs7WUFySkYsU0FBUyxTQUFDO2dCQUNULDhEQUE4RDtnQkFDOUQsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThEVDtnQkFJRCxTQUFTLEVBQUUsQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsQ0FBQzs7YUFDMUU7OztZQXRGTyxrQkFBa0I7OztnQ0F3RnZCLFNBQVMsU0FBRSxtQkFBbUI7a0NBRzlCLFNBQVMsU0FBRSxxQkFBcUI7cUJBR2hDLFNBQVMsU0FBRSxLQUFLO3dCQUdoQixLQUFLOzBCQUdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2J1c2luZXNzLW9iamVjdFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1xyXG4gIFRvb2xiYXJTZXJ2aWNlLFxyXG4gIExpbmtTZXJ2aWNlLFxyXG4gIEltYWdlU2VydmljZSxcclxuICBIdG1sRWRpdG9yU2VydmljZSxcclxuICBSaWNoVGV4dEVkaXRvciwgQ2hhbmdlRXZlbnRBcmdzXHJcbn0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItcmljaHRleHRlZGl0b3InO1xyXG5cclxuaW1wb3J0IHtUcmFuc2FjdGlvbkFkZFRleHRMaW5lUmVxdWVzdH0gZnJvbSBcIi4uLy4uLy4uL21vZGVsL3RyYW5zYWN0aW9uLWFkZC10ZXh0LWxpbmUtcmVxdWVzdFwiO1xyXG5pbXBvcnQge0NvRGlhbG9nQ29tcG9uZW50LCBDb1JpY2hUZXh0RWRpdG9yQ29tcG9uZW50fSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvXCI7XHJcbmltcG9ydCB7U3RhbmRhcmRUZXh0fSBmcm9tIFwiLi4vLi4vLi4vbW9kZWwvc3RhbmRhcmQtdGV4dFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQXJ0aWNsZVRleHRPdmVydmlld0NvbXBvbmVudH0gZnJvbSBcIi4uL3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC1vdmVydmlldy90cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQtb3ZlcnZpZXcuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiBcInRyYW5zYWN0aW9uLWFydGljbGUtdGV4dFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nICNhcnRpY2xlVGV4dERpYWxvZyAoY2xvc2UpPVwib25Qb3B1cENsb3NlKClcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciBoZWFkZXI+e3sgc3ViSGVhZGVyIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgY29udGVudD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFncy1qb2luLWNvbnRlbnRcIiBmeExheW91dCBmeExheW91dEdhcD1cIjEwcHhcIj5cclxuICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxjby1yaWNoLXRleHQtZWRpdG9yXHJcbiAgICAgICAgICAgICAgI3J0ZVxyXG4gICAgICAgICAgICAgIGlkPVwicnRlXCJcclxuICAgICAgICAgICAgICBbbW9kZWxdPVwidHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3QudGV4dFwiXHJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlRXZlbnQpPVwib25DaGFuZ2VUZXh0KCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9jby1yaWNoLXRleHQtZWRpdG9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWxlZnQ6NXB4O1wiPlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDoxNnB4O1wiPlxyXG4gICAgICAgICAgICAgIDxlanMtZHJvcGRvd25saXN0XHJcbiAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJjb2xsZWN0aW9uXCJcclxuICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiZmllbGRzXCJcclxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU1RBTkRBUkRfVEVYVFMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uU2VsZWN0U3RhbmRhcmRUZXh0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgID48L2Vqcy1kcm9wZG93bmxpc3Q+XHJcbjwhLS0gICAgICAgICAgICAgIDxjby1kcm9wLWRvd24tbGlzdCBbLS0+XHJcbjwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJjb2xsZWN0aW9uXCItLT5cclxuPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiZmllbGRzXCItLT5cclxuPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZUhvbGRlcl09XCInU1RBTkRBUkRfVEVYVFMnIHwgbG9jYWxpemVcIi0tPlxyXG48IS0tICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25TZWxlY3RTdGFuZGFyZFRleHQoJGV2ZW50KVwiLS0+XHJcbiAgICAgICAgICAgICAgPCEtLSAgICAgICAgICAgICAgPjwvY28tZHJvcC1kb3duLWxpc3Q+LS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDoyMHB4O1wiPlxyXG4gICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgWyhtb2RlbCldPVwidHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3QuYXJ0aWNsZUJvdW5kXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQVJUSUNMRV9CT1VORF9URVhUJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgIG5hbWU9XCJhcnRpY2xlQm91bmRUZXh0XCI+XHJcbiAgICAgICAgICAgICAgPC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOjIwcHg7XCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInRk9SX0RPQ1VNRU5UUycgfCBsb2NhbGl6ZVwiPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGVqcy1jaGlwbGlzdCBpZD1cImNoaXAtZGVmYXVsdFwiPlxyXG4gICAgICAgICAgICAgICAgPGUtY2hpcHM+XHJcbiAgICAgICAgICAgICAgICAgIDxlLWNoaXAgdGV4dD1cIkFwcGxlXCIgY3NzQ2xhc3M9XCJlLXByaW1hcnlcIj48L2UtY2hpcD5cclxuICAgICAgICAgICAgICAgICAgPGUtY2hpcCB0ZXh0PVwiTWljcm9zb2Z0XCIgY3NzQ2xhc3M9XCJlLWluZm9cIj48L2UtY2hpcD5cclxuICAgICAgICAgICAgICAgICAgPGUtY2hpcCB0ZXh0PVwiR29vZ2xlXCIgY3NzQ2xhc3M9XCJlLXN1Y2Nlc3NcIj48L2UtY2hpcD5cclxuICAgICAgICAgICAgICAgICAgPGUtY2hpcCB0ZXh0PVwiVGVzbGFcIiBjc3NDbGFzcz1cImUtd2FybmluZ1wiPjwvZS1jaGlwPlxyXG4gICAgICAgICAgICAgICAgICA8ZS1jaGlwIHRleHQ9XCJJbnRlbFwiIGNzc0NsYXNzPVwiZS1kYW5nZXJcIj48L2UtY2hpcD5cclxuICAgICAgICAgICAgICAgIDwvZS1jaGlwcz5cclxuICAgICAgICAgICAgICA8L2Vqcy1jaGlwbGlzdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgZm9vdGVyPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIiBmeExheW91dCBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIHN0eWxlPVwibWFyZ2luLXRvcDozMHB4O1wiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBbbGFiZWxdPVwiJ09LJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cIm9uT2tDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInQ0FOQ0VMJyB8IGxvY2FsaXplIFwiIChjbGljayk9XCJvbkNhbmNlbENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidPVkVSVklFVycgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJvbk92ZXJ2aWV3Q2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvY28tZGlhbG9nPlxyXG5cclxuICAgIDx0cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQtb3ZlcnZpZXdcclxuICAgICAgI2FydGljbGVUZXh0T3ZlcnZpZXc+XHJcbiAgICA8L3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC1vdmVydmlldz5cclxuICBgLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgXCIuL3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC5jb21wb25lbnQuc2Nzc1wiXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtUb29sYmFyU2VydmljZSwgTGlua1NlcnZpY2UsIEltYWdlU2VydmljZSwgSHRtbEVkaXRvclNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25BcnRpY2xlVGV4dENvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCAoXCJhcnRpY2xlVGV4dERpYWxvZ1wiKVxyXG4gIHB1YmxpYyBhcnRpY2xlVGV4dERpYWxvZzogQ29EaWFsb2dDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQgKFwiYXJ0aWNsZVRleHRPdmVydmlld1wiKVxyXG4gIHB1YmxpYyBhcnRpY2xlVGV4dE92ZXJ2aWV3OiBUcmFuc2FjdGlvbkFydGljbGVUZXh0T3ZlcnZpZXdDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQgKFwicnRlXCIpXHJcbiAgcHVibGljIGVkaXRvcjogQ29SaWNoVGV4dEVkaXRvckNvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3ViSGVhZGVyOiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBhZGRUZXh0TGluZTogRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uQWRkVGV4dExpbmVSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3Q+KCk7XHJcblxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbkFkZFRleHRMaW5lUmVxdWVzdDogVHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3QgPSBuZXcgVHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3QoKTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkTGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbztcclxuXHJcbiAgcHVibGljIHRleHRUaXRsZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHVibGljIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGNvbGxlY3Rpb246IFN0YW5kYXJkVGV4dFtdID0gW107XHJcbiAgcHVibGljIGZpZWxkczogT2JqZWN0ID0geyB0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcInRleHRJZFwiIH07XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoc2VydmljZSk7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uQWRkVGV4dExpbmVSZXF1ZXN0LnRleHQgPSBcIlwiO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmNvbGxlY3Rpb24gPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0U3RhbmRhcmRUZXh0cyhcIk5MXCIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uT2tDbGljaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkTGluZSkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uQWRkVGV4dExpbmVSZXF1ZXN0LnJlZkFydGljbGVMaW5lTnIgPSB0aGlzLnNlbGVjdGVkTGluZS5saW5lTnI7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFkZFRleHRMaW5lLmVtaXQodGhpcy50cmFuc2FjdGlvbkFkZFRleHRMaW5lUmVxdWVzdCk7XHJcblxyXG4gICAgdGhpcy5oaWRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DYW5jZWxDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uT3ZlcnZpZXdDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuYXJ0aWNsZVRleHRPdmVydmlldy5vcGVuKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbigpIHtcclxuICAgIGlmICh0aGlzLmFydGljbGVUZXh0RGlhbG9nKSB7XHJcbiAgICAgIHRoaXMuYXJ0aWNsZVRleHREaWFsb2cub3BlbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUG9wdXBDbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhpZGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hcnRpY2xlVGV4dERpYWxvZykge1xyXG4gICAgICB0aGlzLmFydGljbGVUZXh0RGlhbG9nLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DaGFuZ2VUZXh0KGV2ZW50OiBDaGFuZ2VFdmVudEFyZ3MpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uQWRkVGV4dExpbmVSZXF1ZXN0LnRleHQgPSB0aGlzLmVkaXRvci5nZXRUZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TZWxlY3RTdGFuZGFyZFRleHQodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkFkZFRleHRMaW5lUmVxdWVzdC50ZXh0ID0gKHRoaXMuY29sbGVjdGlvbi5maW5kKHggPT4geC50ZXh0SWQgPT09IHZhbHVlKSkudGV4dDtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,105 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, Input, ViewChild } from "@angular/core";
3
+ import { TransactionService } from "../../../service/transaction.service";
4
+ import { TransactionBaseComponent } from "../../core/base/transaction-base.component";
5
+ import { DictionaryService } from "../../../service/dictionary.service";
6
+ export class TransactionArticleTextOverviewComponent extends TransactionBaseComponent {
7
+ constructor(service, _dictionaryService) {
8
+ super(service);
9
+ this.service = service;
10
+ this._dictionaryService = _dictionaryService;
11
+ this.articleTexts = [
12
+ { title: "title 1", description: "Omschrijving 1" },
13
+ { title: "title 2", description: "Omschrijving 2" },
14
+ { title: "title 3", description: "Omschrijving 3" },
15
+ { title: "title 4", description: "Omschrijving 4" },
16
+ { title: "title 5", description: "Omschrijving 5" },
17
+ ];
18
+ this.columns = [];
19
+ }
20
+ ngOnInit() {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ this.columns.push({ field: "title", headerText: this._dictionaryService.get("TITLE"), allowFiltering: false }, { field: "description", headerText: this._dictionaryService.get("DESCRIPTION") });
23
+ });
24
+ }
25
+ open() {
26
+ if (this.articleTextOverviewDialog) {
27
+ this.articleTextOverviewDialog.open();
28
+ }
29
+ }
30
+ onPopupClose() {
31
+ this.hide();
32
+ }
33
+ hide() {
34
+ if (this.articleTextOverviewDialog) {
35
+ this.articleTextOverviewDialog.close();
36
+ }
37
+ }
38
+ onOkClick() {
39
+ this.hide();
40
+ }
41
+ onCancelClick() {
42
+ this.hide();
43
+ }
44
+ handleRowsSelected(rows) {
45
+ this.editArticleText.subHeader = this._dictionaryService.get("CHANGE_ARTICLE_TEXT");
46
+ this.editArticleText.title = (rows.find(x => x !== undefined)).title;
47
+ this.editArticleText.text = (rows.find(x => x !== undefined)).description;
48
+ this.editArticleText.open();
49
+ }
50
+ }
51
+ TransactionArticleTextOverviewComponent.decorators = [
52
+ { type: Component, args: [{
53
+ // eslint-disable-next-line @angular-eslint/component-selector
54
+ selector: "transaction-article-text-overview",
55
+ template: `
56
+ <co-dialog #articleTextOverviewDialog (close)="hide()">
57
+ <ng-container header>Artikelgebonden teksten {{ subHeader }}</ng-container>
58
+ <ng-container content>
59
+ <div class="tags-join-content" fxLayout fxLayoutGap="10px">
60
+ <div class="column-separator" style="width:75%">
61
+ <co-grid #warehouseGrid
62
+ [data]="articleTexts"
63
+ [columns]="columns"
64
+ [pagingEnabled]="'true'"
65
+ [maxNumberOfRows]="'10'"
66
+ (rowsSelected)="handleRowsSelected($event)"
67
+ ></co-grid>
68
+ </div>
69
+ <div style="margin-left:5px;">
70
+ <label [textContent]="'FOR_DOCUMENTS' | localize"></label>
71
+ <ejs-chiplist id="chip-default">
72
+ <e-chips>
73
+ <e-chip text="Apple" cssClass="e-primary"></e-chip>
74
+ <e-chip text="Microsoft" cssClass="e-info"></e-chip>
75
+ <e-chip text="Google" cssClass="e-success"></e-chip>
76
+ <e-chip text="Tesla" cssClass="e-warning"></e-chip>
77
+ <e-chip text="Intel" cssClass="e-danger"></e-chip>
78
+ </e-chips>
79
+ </ejs-chiplist>
80
+ </div>
81
+ </div>
82
+ </ng-container>
83
+ <ng-container footer>
84
+ <div class="footer" fxLayout fxPosition="row" fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
85
+ <co-button [label]="'OK' | localize" (click)="onOkClick()"></co-button>
86
+ <co-button [label]="'CANCEL' | localize" (click)="onCancelClick()"></co-button>
87
+ </div>
88
+ </ng-container>
89
+ </co-dialog>
90
+
91
+ <transaction-edit-article-text #editArticleText></transaction-edit-article-text>
92
+ `,
93
+ styles: [""]
94
+ },] }
95
+ ];
96
+ TransactionArticleTextOverviewComponent.ctorParameters = () => [
97
+ { type: TransactionService },
98
+ { type: DictionaryService }
99
+ ];
100
+ TransactionArticleTextOverviewComponent.propDecorators = {
101
+ articleTextOverviewDialog: [{ type: ViewChild, args: ["articleTextOverviewDialog",] }],
102
+ editArticleText: [{ type: ViewChild, args: ["editArticleText",] }],
103
+ subHeader: [{ type: Input }]
104
+ };
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50L3NlcnZpY2Utb3JkZXIvdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3L3RyYW5zYWN0aW9uLWFydGljbGUtdGV4dC1vdmVydmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVwRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQWdEdEUsTUFBTSxPQUFPLHVDQUF3QyxTQUFRLHdCQUF3QjtJQXFCbkYsWUFDUyxPQUEyQixFQUMxQixrQkFBcUM7UUFFN0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBSFIsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDMUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQWJ4QyxpQkFBWSxHQUFhO1lBQzlCLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUM7WUFDakQsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBQztZQUNqRCxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFDO1lBQ2pELEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUM7WUFDakQsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBQztTQUNsRCxDQUFDO1FBRUssWUFBTyxHQUFVLEVBQUUsQ0FBQztJQVEzQixDQUFDO0lBRUssUUFBUTs7WUFFWixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDZixFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBQyxFQUN6RixFQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUMsQ0FDL0UsQ0FBQztRQUNKLENBQUM7S0FBQTtJQUVNLElBQUk7UUFDVCxJQUFJLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtZQUNsQyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ2xDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGtCQUFrQixDQUFDLElBQVM7UUFDakMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNyRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDMUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDOzs7WUE5R0YsU0FBUyxTQUFDO2dCQUNULDhEQUE4RDtnQkFDOUQsUUFBUSxFQUFFLG1DQUFtQztnQkFDN0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBcUNQOzthQUlKOzs7WUFsRE8sa0JBQWtCO1lBR2xCLGlCQUFpQjs7O3dDQWlEdEIsU0FBUyxTQUFDLDJCQUEyQjs4QkFHckMsU0FBUyxTQUFDLGlCQUFpQjt3QkFHM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q29EaWFsb2dDb21wb25lbnR9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRWRpdEFydGljbGVUZXh0Q29tcG9uZW50fSBmcm9tIFwiLi4vdHJhbnNhY3Rpb24tZWRpdC1hcnRpY2xlLXRleHQvdHJhbnNhY3Rpb24tZWRpdC1hcnRpY2xlLXRleHQuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiBcInRyYW5zYWN0aW9uLWFydGljbGUtdGV4dC1vdmVydmlld1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGNvLWRpYWxvZyAjYXJ0aWNsZVRleHRPdmVydmlld0RpYWxvZyAoY2xvc2UpPVwiaGlkZSgpXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyIGhlYWRlcj5BcnRpa2VsZ2Vib25kZW4gdGVrc3RlbiB7eyBzdWJIZWFkZXIgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWdzLWpvaW4tY29udGVudFwiIGZ4TGF5b3V0IGZ4TGF5b3V0R2FwPVwiMTBweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tc2VwYXJhdG9yXCIgc3R5bGU9XCJ3aWR0aDo3NSVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1ncmlkICN3YXJlaG91c2VHcmlkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJhcnRpY2xlVGV4dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFnaW5nRW5hYmxlZF09XCIndHJ1ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21heE51bWJlck9mUm93c109XCInMTAnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyb3dzU2VsZWN0ZWQpPVwiaGFuZGxlUm93c1NlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgPjwvY28tZ3JpZD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWxlZnQ6NXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInRk9SX0RPQ1VNRU5UUycgfCBsb2NhbGl6ZVwiPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGVqcy1jaGlwbGlzdCBpZD1cImNoaXAtZGVmYXVsdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZS1jaGlwcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlLWNoaXAgdGV4dD1cIkFwcGxlXCIgY3NzQ2xhc3M9XCJlLXByaW1hcnlcIj48L2UtY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlLWNoaXAgdGV4dD1cIk1pY3Jvc29mdFwiIGNzc0NsYXNzPVwiZS1pbmZvXCI+PC9lLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZS1jaGlwIHRleHQ9XCJHb29nbGVcIiBjc3NDbGFzcz1cImUtc3VjY2Vzc1wiPjwvZS1jaGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGUtY2hpcCB0ZXh0PVwiVGVzbGFcIiBjc3NDbGFzcz1cImUtd2FybmluZ1wiPjwvZS1jaGlwPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGUtY2hpcCB0ZXh0PVwiSW50ZWxcIiBjc3NDbGFzcz1cImUtZGFuZ2VyXCI+PC9lLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZS1jaGlwcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Vqcy1jaGlwbGlzdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyIGZvb3Rlcj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIiBmeExheW91dCBmeFBvc2l0aW9uPVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeExheW91dEdhcD1cIjEwcHhcIiBzdHlsZT1cIm1hcmdpbi10b3A6MzBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInT0snIHwgbG9jYWxpemVcIiAoY2xpY2spPVwib25Pa0NsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInQ0FOQ0VMJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cIm9uQ2FuY2VsQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2NvLWRpYWxvZz5cclxuXHJcbiAgICAgICAgPHRyYW5zYWN0aW9uLWVkaXQtYXJ0aWNsZS10ZXh0ICNlZGl0QXJ0aWNsZVRleHQ+PC90cmFuc2FjdGlvbi1lZGl0LWFydGljbGUtdGV4dD5cclxuICAgIGAsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICBcIi4vdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3LmNvbXBvbmVudC5zY3NzXCJcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkFydGljbGVUZXh0T3ZlcnZpZXdDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoXCJhcnRpY2xlVGV4dE92ZXJ2aWV3RGlhbG9nXCIpXHJcbiAgcHVibGljIGFydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2c6IENvRGlhbG9nQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKFwiZWRpdEFydGljbGVUZXh0XCIpXHJcbiAgcHVibGljIGVkaXRBcnRpY2xlVGV4dDogVHJhbnNhY3Rpb25FZGl0QXJ0aWNsZVRleHRDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN1YkhlYWRlcjogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgYXJ0aWNsZVRleHRzOiBPYmplY3RbXSA9IFtcclxuICAgIHt0aXRsZTogXCJ0aXRsZSAxXCIsIGRlc2NyaXB0aW9uOiBcIk9tc2NocmlqdmluZyAxXCJ9LFxyXG4gICAge3RpdGxlOiBcInRpdGxlIDJcIiwgZGVzY3JpcHRpb246IFwiT21zY2hyaWp2aW5nIDJcIn0sXHJcbiAgICB7dGl0bGU6IFwidGl0bGUgM1wiLCBkZXNjcmlwdGlvbjogXCJPbXNjaHJpanZpbmcgM1wifSxcclxuICAgIHt0aXRsZTogXCJ0aXRsZSA0XCIsIGRlc2NyaXB0aW9uOiBcIk9tc2NocmlqdmluZyA0XCJ9LFxyXG4gICAge3RpdGxlOiBcInRpdGxlIDVcIiwgZGVzY3JpcHRpb246IFwiT21zY2hyaWp2aW5nIDVcIn0sXHJcbiAgXTtcclxuXHJcbiAgcHVibGljIGNvbHVtbnM6IGFueVtdID0gW107XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihzZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuICAgIHRoaXMuY29sdW1ucy5wdXNoKFxyXG4gICAgICB7ZmllbGQ6IFwidGl0bGVcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiVElUTEVcIiksIGFsbG93RmlsdGVyaW5nOiBmYWxzZX0sXHJcbiAgICAgIHtmaWVsZDogXCJkZXNjcmlwdGlvblwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJERVNDUklQVElPTlwiKX0sXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW4oKSB7XHJcbiAgICBpZiAodGhpcy5hcnRpY2xlVGV4dE92ZXJ2aWV3RGlhbG9nKSB7XHJcbiAgICAgIHRoaXMuYXJ0aWNsZVRleHRPdmVydmlld0RpYWxvZy5vcGVuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Qb3B1cENsb3NlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5oaWRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGlkZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2cpIHtcclxuICAgICAgdGhpcy5hcnRpY2xlVGV4dE92ZXJ2aWV3RGlhbG9nLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Pa0NsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5oaWRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DYW5jZWxDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVJvd3NTZWxlY3RlZChyb3dzOiBhbnkpIHtcclxuICAgIHRoaXMuZWRpdEFydGljbGVUZXh0LnN1YkhlYWRlciA9IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChcIkNIQU5HRV9BUlRJQ0xFX1RFWFRcIik7XHJcbiAgICB0aGlzLmVkaXRBcnRpY2xlVGV4dC50aXRsZSA9IChyb3dzLmZpbmQoeCA9PiB4ICE9PSB1bmRlZmluZWQpKS50aXRsZTtcclxuICAgIHRoaXMuZWRpdEFydGljbGVUZXh0LnRleHQgPSAocm93cy5maW5kKHggPT4geCAhPT0gdW5kZWZpbmVkKSkuZGVzY3JpcHRpb247XHJcbiAgICB0aGlzLmVkaXRBcnRpY2xlVGV4dC5vcGVuKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,73 @@
1
+ import { Component, Input, ViewChild } from "@angular/core";
2
+ import { TransactionService } from "../../../service/transaction.service";
3
+ import { TransactionBaseComponent } from "../../core/base/transaction-base.component";
4
+ import { ToolbarService, LinkService, ImageService, HtmlEditorService } from '@syncfusion/ej2-angular-richtexteditor';
5
+ export class TransactionEditArticleTextComponent extends TransactionBaseComponent {
6
+ constructor(service) {
7
+ super(service);
8
+ this.service = service;
9
+ }
10
+ open() {
11
+ if (this.editArticleTextDialog) {
12
+ this.editArticleTextDialog.open();
13
+ }
14
+ }
15
+ onPopupClose() {
16
+ this.hide();
17
+ }
18
+ hide() {
19
+ if (this.editArticleTextDialog) {
20
+ this.editArticleTextDialog.close();
21
+ }
22
+ }
23
+ onOkClick() {
24
+ this.hide();
25
+ }
26
+ onCancelClick() {
27
+ this.hide();
28
+ }
29
+ onChangeText(event) {
30
+ this.text = this.editor.getText();
31
+ }
32
+ }
33
+ TransactionEditArticleTextComponent.decorators = [
34
+ { type: Component, args: [{
35
+ // eslint-disable-next-line @angular-eslint/component-selector
36
+ selector: "transaction-edit-article-text",
37
+ template: `
38
+ <co-dialog #editArticleTextDialog (close)="hide()">
39
+ <ng-container header>{{ subHeader }}</ng-container>
40
+ <ng-container content>
41
+ <div class="column-separator">
42
+ <co-input-text [placeholder]="'TITLE' | localize" [(model)]="title"></co-input-text>
43
+ <co-rich-text-editor
44
+ #rte
45
+ id="rte"
46
+ [model]="text"
47
+ (onChangeEvent)="onChangeText($event)"
48
+ ></co-rich-text-editor>
49
+ </div>
50
+ </ng-container>
51
+ <ng-container footer>
52
+ <div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
53
+ <co-button [label]="'OK' | localize" (click)="onOkClick()"></co-button>
54
+ <co-button [label]="'CANCEL' | localize" (click)="onCancelClick()"></co-button>
55
+ </div>
56
+ </ng-container>
57
+ </co-dialog>
58
+ `,
59
+ providers: [ToolbarService, LinkService, ImageService, HtmlEditorService],
60
+ styles: [""]
61
+ },] }
62
+ ];
63
+ TransactionEditArticleTextComponent.ctorParameters = () => [
64
+ { type: TransactionService }
65
+ ];
66
+ TransactionEditArticleTextComponent.propDecorators = {
67
+ editArticleTextDialog: [{ type: ViewChild, args: ["editArticleTextDialog",] }],
68
+ editor: [{ type: ViewChild, args: ["rte",] }],
69
+ subHeader: [{ type: Input }],
70
+ title: [{ type: Input }],
71
+ text: [{ type: Input }]
72
+ };
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZWRpdC1hcnRpY2xlLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnQvc2VydmljZS1vcmRlci90cmFuc2FjdGlvbi1lZGl0LWFydGljbGUtdGV4dC90cmFuc2FjdGlvbi1lZGl0LWFydGljbGUtdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBZ0IsS0FBSyxFQUE2QixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUNMLGNBQWMsRUFDZCxXQUFXLEVBQ1gsWUFBWSxFQUNaLGlCQUFpQixFQUVsQixNQUFNLHdDQUF3QyxDQUFDO0FBa0NoRCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsd0JBQXdCO0lBZ0IvRSxZQUNTLE9BQTJCO1FBRWxDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUZSLFlBQU8sR0FBUCxPQUFPLENBQW9CO0lBR3BDLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDOUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRU0sU0FBUztRQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBc0I7UUFDeEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRXBDLENBQUM7OztZQS9FRixTQUFTLFNBQUM7Z0JBQ1QsOERBQThEO2dCQUM5RCxRQUFRLEVBQUUsK0JBQStCO2dCQUN6QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXFCUDtnQkFJSCxTQUFTLEVBQUUsQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsQ0FBQzs7YUFDMUU7OztZQXpDTyxrQkFBa0I7OztvQ0EyQ3ZCLFNBQVMsU0FBQyx1QkFBdUI7cUJBR2pDLFNBQVMsU0FBRSxLQUFLO3dCQUdoQixLQUFLO29CQUdMLEtBQUs7bUJBR0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgVG9vbGJhclNlcnZpY2UsXHJcbiAgTGlua1NlcnZpY2UsXHJcbiAgSW1hZ2VTZXJ2aWNlLFxyXG4gIEh0bWxFZGl0b3JTZXJ2aWNlLFxyXG4gIFJpY2hUZXh0RWRpdG9yLCBDaGFuZ2VFdmVudEFyZ3NcclxufSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1yaWNodGV4dGVkaXRvcic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3R9IGZyb20gXCIuLi8uLi8uLi9tb2RlbC90cmFuc2FjdGlvbi1hZGQtdGV4dC1saW5lLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtDb0RpYWxvZ0NvbXBvbmVudCwgQ29SaWNoVGV4dEVkaXRvckNvbXBvbmVudH0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6IFwidHJhbnNhY3Rpb24tZWRpdC1hcnRpY2xlLXRleHRcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxjby1kaWFsb2cgI2VkaXRBcnRpY2xlVGV4dERpYWxvZyAgKGNsb3NlKT1cImhpZGUoKVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBoZWFkZXI+e3sgc3ViSGVhZGVyIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyIGNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1zZXBhcmF0b3JcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgW3BsYWNlaG9sZGVyXT1cIidUSVRMRScgfCBsb2NhbGl6ZVwiIFsobW9kZWwpXT1cInRpdGxlXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgICAgPGNvLXJpY2gtdGV4dC1lZGl0b3JcclxuICAgICAgICAgICAgICAgICAgI3J0ZVxyXG4gICAgICAgICAgICAgICAgICBpZD1cInJ0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgKG9uQ2hhbmdlRXZlbnQpPVwib25DaGFuZ2VUZXh0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvY28tcmljaC10ZXh0LWVkaXRvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBmb290ZXI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3RlclwiIGZ4TGF5b3V0IGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxMHB4XCIgc3R5bGU9XCJtYXJnaW4tdG9wOjMwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidPSycgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJvbk9rQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInQ0FOQ0VMJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cIm9uQ2FuY2VsQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9jby1kaWFsb2c+XHJcbiAgICBgLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgXCIuL3RyYW5zYWN0aW9uLWVkaXQtYXJ0aWNsZS10ZXh0LmNvbXBvbmVudC5zY3NzXCJcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1Rvb2xiYXJTZXJ2aWNlLCBMaW5rU2VydmljZSwgSW1hZ2VTZXJ2aWNlLCBIdG1sRWRpdG9yU2VydmljZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkVkaXRBcnRpY2xlVGV4dENvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudHtcclxuICBAVmlld0NoaWxkKFwiZWRpdEFydGljbGVUZXh0RGlhbG9nXCIpXHJcbiAgcHVibGljIGVkaXRBcnRpY2xlVGV4dERpYWxvZzogQ29EaWFsb2dDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQgKFwicnRlXCIpXHJcbiAgcHVibGljIGVkaXRvcjogQ29SaWNoVGV4dEVkaXRvckNvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3ViSGVhZGVyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRleHQ6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoc2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbigpIHtcclxuICAgIGlmICh0aGlzLmVkaXRBcnRpY2xlVGV4dERpYWxvZykge1xyXG4gICAgICB0aGlzLmVkaXRBcnRpY2xlVGV4dERpYWxvZy5vcGVuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Qb3B1cENsb3NlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5oaWRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGlkZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmVkaXRBcnRpY2xlVGV4dERpYWxvZykge1xyXG4gICAgICB0aGlzLmVkaXRBcnRpY2xlVGV4dERpYWxvZy5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uT2tDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2FuY2VsQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZVRleHQoZXZlbnQ6IENoYW5nZUV2ZW50QXJncykge1xyXG4gICAgdGhpcy50ZXh0ID0gdGhpcy5lZGl0b3IuZ2V0VGV4dCgpO1xyXG5cclxuICB9XHJcbn1cclxuIl19