@colijnit/transaction 12.1.133 → 12.1.134

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 (46) hide show
  1. package/bundles/colijnit-transaction.umd.js +372 -145
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.metadata.json +1 -1
  4. package/esm2015/lib/component/digital-signature/digital-signature.component.js +5 -2
  5. package/esm2015/lib/component/payment/payment.component.js +18 -12
  6. package/esm2015/lib/component/transaction/transaction.component.js +4 -1
  7. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.component.js +9 -7
  8. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +15 -9
  9. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +39 -37
  10. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.js +4 -1
  11. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.js +19 -24
  12. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.js +51 -73
  13. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +42 -71
  14. package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.js +9 -2
  15. package/esm2015/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.js +9 -3
  16. package/esm2015/lib/component/transaction-tags/transaction-tags.component.js +66 -6
  17. package/esm2015/lib/component/transaction-tags/transaction-tags.module.js +8 -2
  18. package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
  19. package/esm2015/lib/service/transaction-connector-adapter.service.js +62 -8
  20. package/esm2015/lib/service/transaction-connector.service.js +11 -1
  21. package/esm2015/lib/service/transaction.service.js +47 -25
  22. package/esm2015/lib/transaction-version.js +3 -3
  23. package/fesm2015/colijnit-transaction.js +392 -270
  24. package/fesm2015/colijnit-transaction.js.map +1 -1
  25. package/lib/component/digital-signature/digital-signature.component.d.ts +2 -0
  26. package/lib/component/payment/payment.component.d.ts +1 -0
  27. package/lib/component/transaction/style/material.scss +2 -0
  28. package/lib/component/transaction-document-text-dialog/style/_layout.scss +32 -0
  29. package/lib/component/transaction-document-text-dialog/style/_material-definition.scss +17 -0
  30. package/lib/component/transaction-document-text-dialog/style/_theme.scss +5 -0
  31. package/lib/component/transaction-document-text-dialog/style/material.scss +4 -0
  32. package/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.d.ts +1 -0
  33. package/lib/component/transaction-search/transaction-filter-categories/style/_layout.scss +1 -1
  34. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.d.ts +2 -1
  35. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.d.ts +2 -1
  36. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.d.ts +2 -1
  37. package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.d.ts +4 -0
  38. package/lib/component/transaction-search/transaction-filter-item/transaction-filter-item.component.d.ts +4 -0
  39. package/lib/component/transaction-tags/style/_layout.scss +18 -0
  40. package/lib/component/transaction-tags/style/_material-definition.scss +4 -0
  41. package/lib/component/transaction-tags/transaction-tags.component.d.ts +12 -1
  42. package/lib/res/dictionary/dictionaries.d.ts +2 -0
  43. package/lib/service/transaction-connector-adapter.service.d.ts +9 -6
  44. package/lib/service/transaction-connector.service.d.ts +9 -6
  45. package/lib/service/transaction.service.d.ts +10 -6
  46. package/package.json +9 -9
@@ -1,5 +1,5 @@
1
1
  import { Component, HostBinding } from '@angular/core';
2
- import { FilterViewmodel } from '@colijnit/corecomponents_v12';
2
+ import { FilterItemMode, FilterViewmodel } from '@colijnit/corecomponents_v12';
3
3
  import { TransactionService } from '../../../../../service/transaction.service';
4
4
  import { TransactionFilterContentBaseComponent } from '../../../../core/base/transaction-filter-content-base.component';
5
5
  import { FilterRequestService } from '../../../service/filter-request.service';
@@ -10,6 +10,7 @@ export class TransactionSalesOrderFilterContentLogisticsComponent extends Transa
10
10
  this.searchService = searchService;
11
11
  this.filterRequestService = filterRequestService;
12
12
  this.transactionService = transactionService;
13
+ this.modes = FilterItemMode;
13
14
  this.deliveryMethods = [];
14
15
  this.deliveryMethodFields = { text: "description", value: "code" };
15
16
  this.warehouseFields = { text: "description", value: "warehouseNo" };
@@ -57,22 +58,19 @@ TransactionSalesOrderFilterContentLogisticsComponent.decorators = [
57
58
 
58
59
  <!--Levermethode-->
59
60
  <div class="filter-item-wrapper">
60
- <co-transaction-filter-item
61
- [placeholder]="'DELIVERY_METHOD'"
61
+ <co-transaction-filter-item [placeholder]="'DELIVERY_METHOD'"
62
62
  [collection]="deliveryMethods"
63
- [searchCollectionPlaceholder]="searchPlaceholder.DeliveryMethod"
64
- (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeDeliveryMethod')"
63
+ [(model)]="searchRequest.rangeDeliveryMethod"
64
+ [mode]="modes.Filterlist"
65
65
  >
66
66
  </co-transaction-filter-item>
67
67
  </div>
68
68
 
69
69
  <!--Leverdatum definitief-->
70
70
  <div class="filter-item-wrapper">
71
- <co-transaction-filter-item [placeholder]="'DELIVERY_DATE_FINAL'" [customContent]="true">
72
- <co-input-checkbox
73
- [model]="searchRequest.deliveryDateDefinitive === 'J'"
74
- (modelChange)="filterRequestService.handleCheckboxValueChangeForString($event, 'deliveryDateDefinitive')"
75
- [label]="'DELIVERY_DATE_FINAL' | localize"></co-input-checkbox>
71
+ <co-transaction-filter-item [placeholder]="'DELIVERY_DATE_FINAL'"
72
+ [(model)]="searchRequest.deliveryDateDefinitive"
73
+ [mode]="modes.CheckboxToText">
76
74
  </co-transaction-filter-item>
77
75
  </div>
78
76
 
@@ -80,129 +78,109 @@ TransactionSalesOrderFilterContentLogisticsComponent.decorators = [
80
78
  <div class="filter-item-wrapper">
81
79
  <co-transaction-filter-historic-state
82
80
  [label]="'ALLOCATED'"
83
- (collectionChange)="filterRequestService.handleCollectionChangeForArray($event, 'quantityAllocated')"
81
+ [(model)]="searchRequest.quantityAllocated"
82
+ [mode]="modes.SelectListWithStringCollectionOutput">
84
83
  ></co-transaction-filter-historic-state>
85
84
  </div>
86
85
 
87
86
  <!--Geleverd-->
88
87
  <div class="filter-item-wrapper">
89
- <co-transaction-filter-historic-state
90
- [label]="'DELIVERED'"
91
- (collectionChange)="filterRequestService.handleCollectionChangeForArray($event, 'quantityDelivered')"
88
+ <co-transaction-filter-historic-state [label]="'DELIVERED'"
89
+ [(model)]="searchRequest.quantityDelivered"
90
+ [mode]="modes.SelectListWithStringCollectionOutput">
92
91
  ></co-transaction-filter-historic-state>
93
92
  </div>
94
93
 
95
94
  <!--Gefactureerd-->
96
95
  <div class="filter-item-wrapper">
97
- <co-transaction-filter-historic-state
98
- [label]="'INVOICED'"
99
- (collectionChange)="filterRequestService.handleCollectionChangeForArray($event, 'quantityInvoiced')"
96
+ <co-transaction-filter-historic-state [label]="'INVOICED'"
97
+ [(model)]="searchRequest.quantityInvoiced"
98
+ [mode]="modes.SelectListWithStringCollectionOutput">
100
99
  ></co-transaction-filter-historic-state>
101
100
  </div>
102
101
 
103
102
  <!--Te picken-->
104
103
  <div class="filter-item-wrapper">
105
- <co-transaction-filter-historic-state
106
- [label]="'TO_BE_PICKED'"
107
- (collectionChange)="filterRequestService.handleCollectionChangeForArray($event, 'quantityToBePicked')"
104
+ <co-transaction-filter-historic-state [label]="'TO_BE_PICKED'"
105
+ [(model)]="searchRequest.quantityToBePicked"
106
+ [mode]="modes.SelectListWithStringCollectionOutput">
108
107
  ></co-transaction-filter-historic-state>
109
108
  </div>
110
109
 
111
110
  <!--Gepicked-->
112
111
  <div class="filter-item-wrapper">
113
- <co-transaction-filter-historic-state
114
- [label]="'PICKED'"
115
- (collectionChange)="filterRequestService.handleCollectionChangeForArray($event, 'quantityPicked')"
112
+ <co-transaction-filter-historic-state [label]="'PICKED'"
113
+ [(model)]="searchRequest.quantityPicked"
114
+ [mode]="modes.SelectListWithStringCollectionOutput">
116
115
  ></co-transaction-filter-historic-state>
117
116
  </div>
118
117
 
119
118
  <!--Bevestigde leverdatum-->
120
119
  <div class="filter-item-wrapper">
121
- <co-transaction-filter-item [placeholder]="'CONFIRMED_DELIVERY_DATE'" [customContent]="true">
122
- <co-input-date-range
123
- [model]="[confirmedDeliveryStartDate, confirmedDeliveryEndDate]"
124
- (modelChange)="onDateRangeChange($event, 'confirmedDeliveryDateRange')"
125
- (cleared)="onClearedDateRangeChange('confirmedDeliveryDateRange')"
126
- [placeholder]="'SELECT_DATE' | localize">
127
- </co-input-date-range>
120
+ <co-transaction-filter-item [placeholder]="'CONFIRMED_DELIVERY_DATE'"
121
+ [(model)]="searchRequest.confirmedDeliveryDateRange"
122
+ [mode]="modes.DateRangeField">
128
123
  </co-transaction-filter-item>
129
124
  </div>
130
125
 
131
126
  <!--Aankomstdatum-->
132
127
  <div class="filter-item-wrapper">
133
- <co-transaction-filter-item [placeholder]="'ARRIVAL_DATE'" [customContent]="true">
134
- <co-input-date-range
135
- [model]="[arrivalStartDate, arrivalEndDate]"
136
- (modelChange)="onDateRangeChange($event, 'arrivalDateRange')"
137
- (cleared)="onClearedDateRangeChange('arrivalDateRange')"
138
- [placeholder]="'SELECT_DATE' | localize">
139
- </co-input-date-range>
128
+ <co-transaction-filter-item [placeholder]="'ARRIVAL_DATE'"
129
+ [(model)]="searchRequest.arrivalDateRange"
130
+ [mode]="modes.DateRangeField">
140
131
  </co-transaction-filter-item>
141
132
  </div>
142
133
 
143
134
  <!--Deellevering-->
144
135
  <div class="filter-item-wrapper">
145
- <co-transaction-filter-item [placeholder]="'PART_DELIVERY'" [customContent]="true">
146
- <co-input-checkbox
147
- [model]="searchRequest.partialDelivery === 'J'"
148
- (modelChange)="filterRequestService.handleCheckboxValueChangeForString($event, 'partialDelivery')"
149
- [label]="'PART_DELIVERY' | localize">
150
- </co-input-checkbox>
151
- </co-transaction-filter-item>
136
+ <co-transaction-filter-historic-state [label]="'PART_DELIVERY'"
137
+ [(model)]="searchRequest.partialDelivery"
138
+ [mode]="modes.CheckboxToText">
139
+ ></co-transaction-filter-historic-state>
152
140
  </div>
153
141
 
154
142
  <!--Magazijn -->
155
143
  <div class="filter-item-wrapper">
156
- <co-transaction-filter-item
157
- [placeholder]="'WAREHOUSE'"
158
- [singleSelect]="true"
144
+ <co-transaction-filter-item [placeholder]="'WAREHOUSE'"
159
145
  [collection]="warehouses"
160
- [searchCollectionPlaceholder]="searchPlaceholder.Warehouse"
161
- (collectionChange)="filterRequestService.handleCollectionChangeForSingleSelect($event, 'warehouse')">
146
+ [(model)]="searchRequest.warehouse"
147
+ [mode]="modes.SingleSelectList">
162
148
  </co-transaction-filter-item>
163
149
  </div>
164
150
 
165
151
  <!--Bron magazijn-->
166
152
  <div class="filter-item-wrapper">
167
- <co-transaction-filter-item
168
- [placeholder]="'SOURCE_WAREHOUSE'"
169
- [singleSelect]="true"
153
+ <co-transaction-filter-item [placeholder]="'SOURCE_WAREHOUSE'"
170
154
  [collection]="sourceWarehouses"
171
- [searchCollectionPlaceholder]="searchPlaceholder.SourceWarehouse"
172
- (collectionChange)="filterRequestService.handleCollectionChangeForSingleSelect($event, 'sourceWarehouse')">
155
+ [(model)]="searchRequest.sourceWarehouse"
156
+ [mode]="modes.SingleSelectList">
173
157
  </co-transaction-filter-item>
174
158
  </div>
175
159
 
176
160
  <!--Serienummer -->
177
161
  <div class="filter-item-wrapper">
178
- <co-transaction-filter-item
179
- [placeholder]="'SERIAL_NUMBER'"
180
- [customContent]="true">
181
- <co-input-text [(model)]="searchRequest.serialNumber"
182
- [placeholder]="searchPlaceholder.SerialNumber | localize"></co-input-text>
162
+ <co-transaction-filter-item [placeholder]="'SERIAL_NUMBER'"
163
+ [(model)]="searchRequest.serialNumber"
164
+ [mode]="modes.TextField"
165
+ >
183
166
  </co-transaction-filter-item>
184
167
  </div>
185
168
 
186
169
  <!--Batchnummer -->
187
170
  <div class="filter-item-wrapper">
188
- <co-transaction-filter-item
189
- [placeholder]="'BATCH_NUMBER'"
190
- [customContent]="true">
191
- <co-input-text [(model)]="searchRequest.batchNumber"
192
- [placeholder]="searchPlaceholder.BatchNumber | localize"></co-input-text>
171
+ <co-transaction-filter-item [placeholder]="'BATCH_NUMBER'"
172
+ [(model)]="searchRequest.batchNumber"
173
+ [mode]="modes.TextField"
174
+ >
193
175
  </co-transaction-filter-item>
194
176
  </div>
195
177
 
196
178
  <!--Inclusief retouren-->
197
179
  <div class="filter-item-wrapper">
198
- <co-transaction-filter-item [placeholder]="'INCLUDING_RETURNS'" [customContent]="true">
199
- <co-input-checkbox
200
- [label]="'INCLUDING_RETURNS' | localize"
201
- [model]="searchRequest.includingReturns === 1"
202
- (modelChange)="filterRequestService.handleCheckboxValueChangeForNumber($event, 'includingReturns')"
203
- >
204
- </co-input-checkbox>
205
- </co-transaction-filter-item>
180
+ <co-transaction-filter-item [placeholder]="'PICKED'"
181
+ [(model)]="searchRequest.includingReturns"
182
+ [mode]="modes.CheckboxToBinary">
183
+ ></co-transaction-filter-item>
206
184
  </div>
207
185
 
208
186
  <!--Levermethode op (regel/header): todo: nog uitzoeken welke filter dit is-->
@@ -218,4 +196,4 @@ TransactionSalesOrderFilterContentLogisticsComponent.ctorParameters = () => [
218
196
  TransactionSalesOrderFilterContentLogisticsComponent.propDecorators = {
219
197
  showClass: [{ type: HostBinding, args: ["class.co-transaction-search-filter-content",] }]
220
198
  };
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC9zYWxlcy1vcmRlci1maWx0ZXItY29udGVudC90cmFuc2FjdGlvbi1zYWxlcy1vcmRlci1maWx0ZXItY29udGVudC1sb2dpc3RpY3MvdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQXNCLGVBQWUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3RILE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBaUtyRixNQUFNLE9BQU8sb0RBQXFELFNBQVEscUNBQXFDO0lBc0I3RyxZQUNTLGFBQXVDLEVBQ3ZDLG9CQUEwQyxFQUMxQyxrQkFBc0M7UUFFN0MsS0FBSyxDQUFDLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO1FBSnZELGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFsQnhDLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLHlCQUFvQixHQUFvQixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDO1FBRzdFLG9CQUFlLEdBQW9CLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFDLENBQUM7UUFHL0UsMEJBQXFCLEdBQW9CLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFDLENBQUM7SUFjNUYsQ0FBQztJQXpCTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBeUJNLFFBQVE7UUFDYixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1SSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUksSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEgsQ0FBQztJQUVELGtCQUFrQjtJQUNWLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFpQyxFQUFFLEVBQUU7WUFDdEYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3JHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVk7SUFDSixjQUFjO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUF1QixFQUFFLEVBQUU7WUFDdkUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUN0RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUI7SUFDWCxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQXVCLEVBQUUsRUFBRTtZQUN2RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNsRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQTlORixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFEQUFxRDtnQkFDL0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJKVDthQUNGOzs7WUFoS08sd0JBQXdCO1lBRHhCLG9CQUFvQjtZQUZwQixrQkFBa0I7Ozt3QkFzS3ZCLFdBQVcsU0FBQyw0Q0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmd9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RlbGl2ZXJ5TWV0aG9kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZGVsaXZlcnktbWV0aG9kLmJvJztcclxuaW1wb3J0IHtXYXJlaG91c2V9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC93YXJlaG91c2UuYm8nO1xyXG5pbXBvcnQge0ZpbHRlckl0ZW1WaWV3bW9kZWwsIEZpbHRlclZpZXdtb2RlbH0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RmlsdGVyUmVxdWVzdFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZmlsdGVyLXJlcXVlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNlYXJjaC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LWxvZ2lzdGljcy13cmFwcGVyIHRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LXdyYXBwZXJcIj5cclxuXHJcbiAgICAgIDwhLS1MZXZlcm1ldGhvZGUtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidERUxJVkVSWV9NRVRIT0QnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiZGVsaXZlcnlNZXRob2RzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaENvbGxlY3Rpb25QbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5EZWxpdmVyeU1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JSYW5nZSgkZXZlbnQsICdyYW5nZURlbGl2ZXJ5TWV0aG9kJylcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1MZXZlcmRhdHVtIGRlZmluaXRpZWYtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidERUxJVkVSWV9EQVRFX0ZJTkFMJ1wiIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICBbbW9kZWxdPVwic2VhcmNoUmVxdWVzdC5kZWxpdmVyeURhdGVEZWZpbml0aXZlID09PSAnSidcIlxyXG4gICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ2hlY2tib3hWYWx1ZUNoYW5nZUZvclN0cmluZygkZXZlbnQsICdkZWxpdmVyeURhdGVEZWZpbml0aXZlJylcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ0RFTElWRVJZX0RBVEVfRklOQUwnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLVRvZWdld2V6ZW4tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FMTE9DQVRFRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvckFycmF5KCRldmVudCwgJ3F1YW50aXR5QWxsb2NhdGVkJylcIlxyXG4gICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tR2VsZXZlcmQtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0RFTElWRVJFRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvckFycmF5KCRldmVudCwgJ3F1YW50aXR5RGVsaXZlcmVkJylcIlxyXG4gICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tR2VmYWN0dXJlZXJkLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidJTlZPSUNFRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvckFycmF5KCRldmVudCwgJ3F1YW50aXR5SW52b2ljZWQnKVwiXHJcbiAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1UZSBwaWNrZW4tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1RPX0JFX1BJQ0tFRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvckFycmF5KCRldmVudCwgJ3F1YW50aXR5VG9CZVBpY2tlZCcpXCJcclxuICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUdlcGlja2VkLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidQSUNLRUQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JBcnJheSgkZXZlbnQsICdxdWFudGl0eVBpY2tlZCcpXCJcclxuICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUJldmVzdGlnZGUgbGV2ZXJkYXR1bS0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0NPTkZJUk1FRF9ERUxJVkVSWV9EQVRFJ1wiIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC1kYXRlLXJhbmdlXHJcbiAgICAgICAgICAgIFttb2RlbF09XCJbY29uZmlybWVkRGVsaXZlcnlTdGFydERhdGUsIGNvbmZpcm1lZERlbGl2ZXJ5RW5kRGF0ZV1cIlxyXG4gICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwib25EYXRlUmFuZ2VDaGFuZ2UoJGV2ZW50LCAnY29uZmlybWVkRGVsaXZlcnlEYXRlUmFuZ2UnKVwiXHJcbiAgICAgICAgICAgIChjbGVhcmVkKT1cIm9uQ2xlYXJlZERhdGVSYW5nZUNoYW5nZSgnY29uZmlybWVkRGVsaXZlcnlEYXRlUmFuZ2UnKVwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VMRUNUX0RBVEUnIHwgbG9jYWxpemVcIj5cclxuICAgICAgICAgIDwvY28taW5wdXQtZGF0ZS1yYW5nZT5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1BYW5rb21zdGRhdHVtLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInQVJSSVZBTF9EQVRFJ1wiIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC1kYXRlLXJhbmdlXHJcbiAgICAgICAgICAgIFttb2RlbF09XCJbYXJyaXZhbFN0YXJ0RGF0ZSwgYXJyaXZhbEVuZERhdGVdXCJcclxuICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKCRldmVudCwgJ2Fycml2YWxEYXRlUmFuZ2UnKVwiXHJcbiAgICAgICAgICAgIChjbGVhcmVkKT1cIm9uQ2xlYXJlZERhdGVSYW5nZUNoYW5nZSgnYXJyaXZhbERhdGVSYW5nZScpXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUxFQ1RfREFURScgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgPC9jby1pbnB1dC1kYXRlLXJhbmdlPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLURlZWxsZXZlcmluZy0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1BBUlRfREVMSVZFUlknXCIgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgIFttb2RlbF09XCJzZWFyY2hSZXF1ZXN0LnBhcnRpYWxEZWxpdmVyeSA9PT0gJ0onXCJcclxuICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNoZWNrYm94VmFsdWVDaGFuZ2VGb3JTdHJpbmcoJGV2ZW50LCAncGFydGlhbERlbGl2ZXJ5JylcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ1BBUlRfREVMSVZFUlknIHwgbG9jYWxpemVcIj5cclxuICAgICAgICAgIDwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tTWFnYXppam4gLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInV0FSRUhPVVNFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaW5nbGVTZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLldhcmVob3VzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JTaW5nbGVTZWxlY3QoJGV2ZW50LCAnd2FyZWhvdXNlJylcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1Ccm9uIG1hZ2F6aWpuLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU09VUkNFX1dBUkVIT1VTRSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2luZ2xlU2VsZWN0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJzb3VyY2VXYXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaENvbGxlY3Rpb25QbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5Tb3VyY2VXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yU2luZ2xlU2VsZWN0KCRldmVudCwgJ3NvdXJjZVdhcmVob3VzZScpXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tU2VyaWVudW1tZXIgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VSSUFMX05VTUJFUidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnNlcmlhbE51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuU2VyaWFsTnVtYmVyIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tQmF0Y2hudW1tZXIgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQkFUQ0hfTlVNQkVSJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QuYmF0Y2hOdW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLkJhdGNoTnVtYmVyIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tSW5jbHVzaWVmIHJldG91cmVuLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInSU5DTFVESU5HX1JFVFVSTlMnXCIgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgIFtsYWJlbF09XCInSU5DTFVESU5HX1JFVFVSTlMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICBbbW9kZWxdPVwic2VhcmNoUmVxdWVzdC5pbmNsdWRpbmdSZXR1cm5zID09PSAxXCJcclxuICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNoZWNrYm94VmFsdWVDaGFuZ2VGb3JOdW1iZXIoJGV2ZW50LCAnaW5jbHVkaW5nUmV0dXJucycpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tTGV2ZXJtZXRob2RlIG9wIChyZWdlbC9oZWFkZXIpOiB0b2RvOiBub2cgdWl0em9la2VuIHdlbGtlIGZpbHRlciBkaXQgaXMtLT5cclxuICAgIDwvZGl2PlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2FsZXNPcmRlckZpbHRlckNvbnRlbnRMb2dpc3RpY3NDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRCYXNlQ29tcG9uZW50IHtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tc2VhcmNoLWZpbHRlci1jb250ZW50XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRlbGl2ZXJ5TWV0aG9kcyA9IFtdO1xyXG4gIHB1YmxpYyBkZWxpdmVyeU1ldGhvZEZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29kZVwifTtcclxuXHJcbiAgcHVibGljIHdhcmVob3VzZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgd2FyZWhvdXNlRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJ3YXJlaG91c2VOb1wifTtcclxuXHJcbiAgcHVibGljIHNvdXJjZVdhcmVob3VzZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgc291cmNlV2FyZWhvdXNlRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJ3YXJlaG91c2VOb1wifTtcclxuXHJcbiAgcHVibGljIGNvbmZpcm1lZERlbGl2ZXJ5U3RhcnREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBjb25maXJtZWREZWxpdmVyeUVuZERhdGU6IERhdGU7XHJcblxyXG4gIHB1YmxpYyBhcnJpdmFsU3RhcnREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBhcnJpdmFsRW5kRGF0ZTogRGF0ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc2VhcmNoU2VydmljZTogVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZpbHRlclJlcXVlc3RTZXJ2aWNlOiBGaWx0ZXJSZXF1ZXN0U2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKHNlYXJjaFNlcnZpY2UsIGZpbHRlclJlcXVlc3RTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZXRSYW5nZURhdGVzKCk7XHJcbiAgICB0aGlzLl9zZXREZWxpdmVyeU1ldGhvZHMoKTtcclxuICAgIHRoaXMuX3NldFdhcmVob3VzZXMoKTtcclxuICAgIHRoaXMuX3NldFNvdXJjZVdhcmVob3VzZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldFJhbmdlRGF0ZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpcm1lZERlbGl2ZXJ5U3RhcnREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QuY29uZmlybWVkRGVsaXZlcnlEYXRlUmFuZ2UsIDApO1xyXG4gICAgdGhpcy5jb25maXJtZWREZWxpdmVyeUVuZERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5jb25maXJtZWREZWxpdmVyeURhdGVSYW5nZSwgMSk7XHJcbiAgICB0aGlzLmFycml2YWxTdGFydERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5hcnJpdmFsRGF0ZVJhbmdlLCAwKTtcclxuICAgIHRoaXMuYXJyaXZhbEVuZERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5hcnJpdmFsRGF0ZVJhbmdlLCAxKTtcclxuICB9XHJcblxyXG4gIC8vRGVsaXZlcnkgTWV0aG9kc1xyXG4gIHByaXZhdGUgX3NldERlbGl2ZXJ5TWV0aG9kcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldERlbGl2ZXJ5TWV0aG9kcygpLnRoZW4oKGRlbGl2ZXJ5TWV0aG9kczogRGVsaXZlcnlNZXRob2RbXSkgPT4ge1xyXG4gICAgICB0aGlzLmRlbGl2ZXJ5TWV0aG9kcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoZGVsaXZlcnlNZXRob2RzLCB0aGlzLmRlbGl2ZXJ5TWV0aG9kRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9XYXJlaG91c2VzXHJcbiAgcHJpdmF0ZSBfc2V0V2FyZWhvdXNlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFdhcmVob3VzZXMoKS50aGVuKCh3YXJlaG91c2VzOiBXYXJlaG91c2VbXSkgPT4ge1xyXG4gICAgICB0aGlzLndhcmVob3VzZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKHdhcmVob3VzZXMsIHRoaXMud2FyZWhvdXNlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9Tb3VyY2UgV2FyZWhvdXNlc1xyXG4gIHByaXZhdGUgX3NldFNvdXJjZVdhcmVob3VzZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRXYXJlaG91c2VzKCkudGhlbigod2FyZWhvdXNlczogV2FyZWhvdXNlW10pID0+IHtcclxuICAgICAgdGhpcy5zb3VyY2VXYXJlaG91c2VzID0gbmV3IEZpbHRlclZpZXdtb2RlbCh3YXJlaG91c2VzLCB0aGlzLnNvdXJjZVdhcmVob3VzZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC9zYWxlcy1vcmRlci1maWx0ZXItY29udGVudC90cmFuc2FjdGlvbi1zYWxlcy1vcmRlci1maWx0ZXItY29udGVudC1sb2dpc3RpY3MvdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUMsY0FBYyxFQUF1QixlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQTBJckYsTUFBTSxPQUFPLG9EQUFxRCxTQUFRLHFDQUFxQztJQXVCN0csWUFDUyxhQUF1QyxFQUN2QyxvQkFBMEMsRUFDMUMsa0JBQXNDO1FBRTdDLEtBQUssQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtRQUp2RCxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDdkMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FB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QUFrQjs7O3dCQWdKdkIsV0FBVyxTQUFDLDRDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZ30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RGVsaXZlcnlNZXRob2R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kZWxpdmVyeS1tZXRob2QuYm8nO1xyXG5pbXBvcnQge1dhcmVob3VzZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3dhcmVob3VzZS5ibyc7XHJcbmltcG9ydCB7RmlsdGVySXRlbU1vZGUsIEZpbHRlckl0ZW1WaWV3bW9kZWwsIEZpbHRlclZpZXdtb2RlbH0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RmlsdGVyUmVxdWVzdFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZmlsdGVyLXJlcXVlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNlYXJjaC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LWxvZ2lzdGljcy13cmFwcGVyIHRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LXdyYXBwZXJcIj5cclxuXHJcbiAgICAgIDwhLS1MZXZlcm1ldGhvZGUtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidERUxJVkVSWV9NRVRIT0QnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiZGVsaXZlcnlNZXRob2RzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5yYW5nZURlbGl2ZXJ5TWV0aG9kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRmlsdGVybGlzdFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUxldmVyZGF0dW0gZGVmaW5pdGllZi0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJZX0RBVEVfRklOQUwnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5kZWxpdmVyeURhdGVEZWZpbml0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuQ2hlY2tib3hUb1RleHRcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1Ub2VnZXdlemVuLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidBTExPQ0FURUQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QucXVhbnRpdHlBbGxvY2F0ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuU2VsZWN0TGlzdFdpdGhTdHJpbmdDb2xsZWN0aW9uT3V0cHV0XCI+XHJcbiAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1HZWxldmVyZC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUgW2xhYmVsXT1cIidERUxJVkVSRUQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QucXVhbnRpdHlEZWxpdmVyZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuU2VsZWN0TGlzdFdpdGhTdHJpbmdDb2xsZWN0aW9uT3V0cHV0XCI+XHJcbiAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1HZWZhY3R1cmVlcmQtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlIFtsYWJlbF09XCInSU5WT0lDRUQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QucXVhbnRpdHlJbnZvaWNlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5TZWxlY3RMaXN0V2l0aFN0cmluZ0NvbGxlY3Rpb25PdXRwdXRcIj5cclxuICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLVRlIHBpY2tlbi0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUgW2xhYmVsXT1cIidUT19CRV9QSUNLRUQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QucXVhbnRpdHlUb0JlUGlja2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLlNlbGVjdExpc3RXaXRoU3RyaW5nQ29sbGVjdGlvbk91dHB1dFwiPlxyXG4gICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tR2VwaWNrZWQtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlIFtsYWJlbF09XCInUElDS0VEJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnF1YW50aXR5UGlja2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLlNlbGVjdExpc3RXaXRoU3RyaW5nQ29sbGVjdGlvbk91dHB1dFwiPlxyXG4gICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tQmV2ZXN0aWdkZSBsZXZlcmRhdHVtLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInQ09ORklSTUVEX0RFTElWRVJZX0RBVEUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5jb25maXJtZWREZWxpdmVyeURhdGVSYW5nZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkRhdGVSYW5nZUZpZWxkXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tQWFua29tc3RkYXR1bS0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0FSUklWQUxfREFURSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LmFycml2YWxEYXRlUmFuZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5EYXRlUmFuZ2VGaWVsZFwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLURlZWxsZXZlcmluZy0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZSBbbGFiZWxdPVwiJ1BBUlRfREVMSVZFUlknXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5wYXJ0aWFsRGVsaXZlcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5DaGVja2JveFRvVGV4dFwiPlxyXG4gICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLU1hZ2F6aWpuIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1dBUkVIT1VTRSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC53YXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5TaW5nbGVTZWxlY3RMaXN0XCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tQnJvbiBtYWdhemlqbi0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1NPVVJDRV9XQVJFSE9VU0UnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwic291cmNlV2FyZWhvdXNlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3Quc291cmNlV2FyZWhvdXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuU2luZ2xlU2VsZWN0TGlzdFwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLVNlcmllbnVtbWVyIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1NFUklBTF9OVU1CRVInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5zZXJpYWxOdW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5UZXh0RmllbGRcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1CYXRjaG51bW1lciAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidCQVRDSF9OVU1CRVInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5iYXRjaE51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLlRleHRGaWVsZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUluY2x1c2llZiByZXRvdXJlbi0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1BJQ0tFRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LmluY2x1ZGluZ1JldHVybnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5DaGVja2JveFRvQmluYXJ5XCI+XHJcbiAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tTGV2ZXJtZXRob2RlIG9wIChyZWdlbC9oZWFkZXIpOiB0b2RvOiBub2cgdWl0em9la2VuIHdlbGtlIGZpbHRlciBkaXQgaXMtLT5cclxuICAgIDwvZGl2PlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2FsZXNPcmRlckZpbHRlckNvbnRlbnRMb2dpc3RpY3NDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRCYXNlQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgbW9kZXM6IHR5cGVvZiBGaWx0ZXJJdGVtTW9kZSA9IEZpbHRlckl0ZW1Nb2RlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1zZWFyY2gtZmlsdGVyLWNvbnRlbnRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsaXZlcnlNZXRob2RzID0gW107XHJcbiAgcHVibGljIGRlbGl2ZXJ5TWV0aG9kRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgd2FyZWhvdXNlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyB3YXJlaG91c2VGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcIndhcmVob3VzZU5vXCJ9O1xyXG5cclxuICBwdWJsaWMgc291cmNlV2FyZWhvdXNlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBzb3VyY2VXYXJlaG91c2VGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcIndhcmVob3VzZU5vXCJ9O1xyXG5cclxuICBwdWJsaWMgY29uZmlybWVkRGVsaXZlcnlTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGNvbmZpcm1lZERlbGl2ZXJ5RW5kRGF0ZTogRGF0ZTtcclxuXHJcbiAgcHVibGljIGFycml2YWxTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGFycml2YWxFbmREYXRlOiBEYXRlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZWFyY2hTZXJ2aWNlOiBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZmlsdGVyUmVxdWVzdFNlcnZpY2U6IEZpbHRlclJlcXVlc3RTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoc2VhcmNoU2VydmljZSwgZmlsdGVyUmVxdWVzdFNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldFJhbmdlRGF0ZXMoKTtcclxuICAgIHRoaXMuX3NldERlbGl2ZXJ5TWV0aG9kcygpO1xyXG4gICAgdGhpcy5fc2V0V2FyZWhvdXNlcygpO1xyXG4gICAgdGhpcy5fc2V0U291cmNlV2FyZWhvdXNlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0UmFuZ2VEYXRlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlybWVkRGVsaXZlcnlTdGFydERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5jb25maXJtZWREZWxpdmVyeURhdGVSYW5nZSwgMCk7XHJcbiAgICB0aGlzLmNvbmZpcm1lZERlbGl2ZXJ5RW5kRGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmNvbmZpcm1lZERlbGl2ZXJ5RGF0ZVJhbmdlLCAxKTtcclxuICAgIHRoaXMuYXJyaXZhbFN0YXJ0RGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmFycml2YWxEYXRlUmFuZ2UsIDApO1xyXG4gICAgdGhpcy5hcnJpdmFsRW5kRGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmFycml2YWxEYXRlUmFuZ2UsIDEpO1xyXG4gIH1cclxuXHJcbiAgLy9EZWxpdmVyeSBNZXRob2RzXHJcbiAgcHJpdmF0ZSBfc2V0RGVsaXZlcnlNZXRob2RzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0RGVsaXZlcnlNZXRob2RzKCkudGhlbigoZGVsaXZlcnlNZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdKSA9PiB7XHJcbiAgICAgIHRoaXMuZGVsaXZlcnlNZXRob2RzID0gbmV3IEZpbHRlclZpZXdtb2RlbChkZWxpdmVyeU1ldGhvZHMsIHRoaXMuZGVsaXZlcnlNZXRob2RGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL1dhcmVob3VzZXNcclxuICBwcml2YXRlIF9zZXRXYXJlaG91c2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0V2FyZWhvdXNlcygpLnRoZW4oKHdhcmVob3VzZXM6IFdhcmVob3VzZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMud2FyZWhvdXNlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwod2FyZWhvdXNlcywgdGhpcy53YXJlaG91c2VGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL1NvdXJjZSBXYXJlaG91c2VzXHJcbiAgcHJpdmF0ZSBfc2V0U291cmNlV2FyZWhvdXNlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFdhcmVob3VzZXMoKS50aGVuKCh3YXJlaG91c2VzOiBXYXJlaG91c2VbXSkgPT4ge1xyXG4gICAgICB0aGlzLnNvdXJjZVdhcmVob3VzZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKHdhcmVob3VzZXMsIHRoaXMuc291cmNlV2FyZWhvdXNlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { Component, HostBinding } from '@angular/core';
3
3
  import { RelationRequest } from '@colijnit/relationapi/build/model/relation-request';
4
- import { FilterViewmodel } from '@colijnit/corecomponents_v12';
4
+ import { FilterItemMode, FilterViewmodel } from '@colijnit/corecomponents_v12';
5
5
  import { TransactionService } from '../../../../../service/transaction.service';
6
6
  import { TransactionFilterContentBaseComponent } from '../../../../core/base/transaction-filter-content-base.component';
7
7
  import { FilterRequestService } from '../../../service/filter-request.service';
@@ -15,6 +15,7 @@ export class TransactionSalesOrderFilterContentOrderComponent extends Transactio
15
15
  this.filterRequestService = filterRequestService;
16
16
  this.transactionService = transactionService;
17
17
  this.relationService = relationService;
18
+ this.modes = FilterItemMode;
18
19
  this.salesPersonsFields = { text: "name", value: "relationId" };
19
20
  this.tagsFields = { text: "description", value: "tagValueId" };
20
21
  this.branchFields = { text: "familyName", value: "relationId" };
@@ -94,136 +95,106 @@ TransactionSalesOrderFilterContentOrderComponent.decorators = [
94
95
 
95
96
  <!--Orderdatum-->
96
97
  <div class="filter-item-wrapper">
97
- <co-transaction-filter-item [placeholder]="'ORDER_DATE'" [customContent]="true">
98
- <co-input-date-range
99
- [model]="[transStartDate, transEndDate]"
100
- (modelChange)="onDateRangeChange($event, 'rangeTransDate')"
101
- (cleared)="onClearedDateRangeChange('rangeTransDate')"
102
- [placeholder]="'SELECT_DATE' | localize">
103
- </co-input-date-range>
98
+ <co-transaction-filter-item [placeholder]="'ORDER_DATE'"
99
+ [(model)]="searchRequest.rangeTransDate"
100
+ [mode]="modes.DateRangeField">
104
101
  </co-transaction-filter-item>
105
102
  </div>
106
103
 
107
- <!--Leverdatum-->
108
104
  <div class="filter-item-wrapper">
109
- <co-transaction-filter-item [placeholder]="'DELIVERY_DATE'" [customContent]="true">
110
- <co-input-date-range
111
- [model]="[deliveryStartDate, deliveryEndDate]"
112
- (modelChange)="onDateRangeChange($event, 'deliveryDateRange')"
113
- (cleared)="onClearedDateRangeChange('deliveryDateRange')"
114
- [placeholder]="'SELECT_DATE' | localize">
115
- </co-input-date-range>
105
+ <co-transaction-filter-item [placeholder]="'DELIVERY_DATE'"
106
+ [(model)]="searchRequest.deliveryDateRange"
107
+ [mode]="modes.DateRangeField">
116
108
  </co-transaction-filter-item>
117
109
  </div>
118
110
 
119
- <!--Filiaal-->
120
111
  <div class="filter-item-wrapper">
121
- <co-transaction-filter-item
122
- [placeholder]="'BRANCH'"
123
- [searchCollectionPlaceholder]="searchPlaceholder.Branch"
112
+ <co-transaction-filter-item [placeholder]="'BRANCH'"
124
113
  [collection]="branches"
125
- (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeBranchId')">
114
+ [(model)]="searchRequest.rangeBranchId"
115
+ [mode]="modes.Filterlist">
126
116
  </co-transaction-filter-item>
127
117
  </div>
128
118
 
129
119
  <!--Verkoper-->
130
120
  <div class="filter-item-wrapper">
131
- <co-transaction-filter-item
132
- [placeholder]="'HANDLED_BY'"
133
- [searchCollectionPlaceholder]="searchPlaceholder.SalesPerson"
121
+ <co-transaction-filter-item [placeholder]="'HANDLED_BY'"
134
122
  [collection]="salesPersons"
135
- (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeSalesPerson')"
123
+ [(model)]="searchRequest.rangeSalesPerson"
124
+ [mode]="modes.Filterlist"
136
125
  >
137
126
  </co-transaction-filter-item>
138
127
  </div>
139
128
 
140
129
  <!--Eigen referentie-->
141
130
  <div class="filter-item-wrapper">
142
- <co-transaction-filter-item
143
- [placeholder]="'OWN_REFERENCE'"
144
- [customContent]="true">
145
- <co-input-text [(model)]="searchRequest.userReference"
146
- [placeholder]="searchPlaceholder.OwnReference | localize"></co-input-text>
131
+ <co-transaction-filter-item [placeholder]="'OWN_REFERENCE'"
132
+ [(model)]="searchRequest.userReference"
133
+ [mode]="modes.TextField"
134
+ >
147
135
  </co-transaction-filter-item>
148
136
  </div>
149
137
 
150
138
  <!--Tags-->
151
139
  <div class="filter-item-wrapper">
152
- <co-transaction-filter-item
153
- [placeholder]="'TAGS'"
154
- [searchCollectionPlaceholder]="searchPlaceholder.Tags"
140
+ <co-transaction-filter-item [placeholder]="'TAGS'"
155
141
  [collection]="tags"
156
- (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'tagRange')">
157
- <co-input-text [(model)]="searchRequest.tagRange" [placeholder]="searchPlaceholder.Tags | localize"></co-input-text>
142
+ [(model)]="searchRequest.tagRange"
143
+ [mode]="modes.Filterlist">
158
144
  </co-transaction-filter-item>
159
145
  </div>
160
146
 
161
147
  <!--On hold codes-->
162
148
  <div class="filter-item-wrapper">
163
- <co-transaction-filter-item
164
- [placeholder]="'ON_HOLD'"
149
+ <co-transaction-filter-item [placeholder]="'ON_HOLD'"
165
150
  [collection]="onHoldCodes"
166
- (collectionChange)="filterRequestService.handleCollectionChangeForRange($event,'rangeOnHoldCodes')">
167
- <co-input-text [(model)]="searchRequest.tagRange" [placeholder]="searchPlaceholder.OnHold | localize"></co-input-text>
151
+ [(model)]="searchRequest.rangeOnHoldCodes"
152
+ [mode]="modes.Filterlist">
168
153
  </co-transaction-filter-item>
169
154
  </div>
170
155
 
171
156
  <!--Order definitief-->
172
157
  <div class="filter-item-wrapper">
173
- <co-transaction-filter-item
174
- [placeholder]="'ORDER_DEFINITIVE'"
175
- [customContent]="true">
176
- <co-input-checkbox
177
- [model]="searchRequest.transactionDefinitive === 'J'"
178
- (modelChange)="filterRequestService.handleCheckboxValueChangeForString($event, 'transactionDefinitive')"
179
- [label]="'ORDER_DEFINITIVE' | localize"></co-input-checkbox>
158
+ <co-transaction-filter-item [placeholder]="'ORDER_DEFINITIVE'"
159
+ [(model)]="searchRequest.transactionDefinitive"
160
+ [mode]="modes.CheckboxToText">
180
161
  </co-transaction-filter-item>
181
162
  </div>
182
163
 
183
164
  <!--Commissiecode-->
184
165
  <div class="filter-item-wrapper">
185
- <co-transaction-filter-item
186
- [placeholder]="'COMMISSION_CODE'"
187
- [searchCollectionPlaceholder]="searchPlaceholder.CommissionCode"
166
+ <co-transaction-filter-item [placeholder]="'COMMISSION_CODE'"
188
167
  [collection]="commissionCodes"
189
- (collectionChange)="filterRequestService.handleCollectionChangeForArray($event, 'commissionCodes')"
168
+ [(model)]="searchRequest.commissionCodes"
169
+ [mode]="modes.SelectListWithStringCollectionOutput">
190
170
  >
191
171
  </co-transaction-filter-item>
192
172
  </div>
193
173
 
194
- <!--Inactieve transacties-->
195
174
  <div class="filter-item-wrapper">
196
- <co-transaction-filter-item
197
- [placeholder]="'INACTIVE_TRANSACTIONS'"
198
- [customContent]="true">
199
- <co-input-checkbox
200
- [model]="searchRequest.active === false"
201
- (modelChange)="searchRequest.active = !$event"
202
- [label]="'INACTIVE_TRANSACTIONS' | localize"
203
- ></co-input-checkbox>
175
+ <co-transaction-filter-item [placeholder]="'INACTIVE_TRANSACTIONS'"
176
+ [(model)]="searchRequest.active"
177
+ [mode]="modes.Checkbox">
204
178
  </co-transaction-filter-item>
205
179
  </div>
206
180
 
207
181
  <!--Klantnaam-->
208
182
  <div class="filter-item-wrapper">
209
- <co-transaction-filter-item
210
- [placeholder]="'CUSTOMER_NAME'"
183
+ <co-transaction-filter-item [placeholder]="'CUSTOMER_NAME'"
211
184
  [searchCollectionPlaceholder]="searchPlaceholder.CustomerName"
212
- [singleSelect]="true"
185
+ [mode]="modes.SingleSelectList"
186
+ [(model)]="searchRequest.relationName"
213
187
  [minSearchCharsToLoadCollection]="3"
214
- [collectionLoadFn]="loadCustomers"
215
- (collectionChange)="filterRequestService.handleCollectionChangeForSingleSelect($event, 'relationName' )">
188
+ [collectionLoadFn]="loadCustomers">
216
189
  </co-transaction-filter-item>
217
190
  </div>
218
191
 
219
192
  <!--Klantgroep-->
220
193
  <div class="filter-item-wrapper">
221
- <co-transaction-filter-item
222
- [placeholder]="'CUSTOMER_GROUP'"
223
- [searchCollectionPlaceholder]="searchPlaceholder.CustomerGroup"
224
- [singleSelect]="true"
225
- [collection]="customerGroups"
226
- (collectionChange)="filterRequestService.handleCollectionChangeForSingleSelect($event, 'customerGroupId')">
194
+ <co-transaction-filter-item [placeholder]="'CUSTOMER_GROUP'"
195
+ [(model)]="searchRequest.customerGroupId"
196
+ [mode]="modes.SingleSelectList"
197
+ [collection]="customerGroups">
227
198
  </co-transaction-filter-item>
228
199
  </div>
229
200
  </div>
@@ -239,4 +210,4 @@ TransactionSalesOrderFilterContentOrderComponent.ctorParameters = () => [
239
210
  TransactionSalesOrderFilterContentOrderComponent.propDecorators = {
240
211
  showClass: [{ type: HostBinding, args: ["class.co-transaction-search-filter-content",] }]
241
212
  };
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLWNvbnRlbnQtb3JkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50L3NhbGVzLW9yZGVyLWZpbHRlci1jb250ZW50L3RyYW5zYWN0aW9uLXNhbGVzLW9yZGVyLWZpbHRlci1jb250ZW50LW9yZGVyL3RyYW5zYWN0aW9uLXNhbGVzLW9yZGVyLWZpbHRlci1jb250ZW50LW9yZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ25GLE9BQU8sRUFBc0IsZUFBZSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDdEgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDN0UsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFJckYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQWdKakYsTUFBTSxPQUFPLGdEQUFpRCxTQUFRLHFDQUFxQztJQThCekcsWUFDUyxhQUF1QyxFQUN2QyxvQkFBMEMsRUFDMUMsa0JBQXNDLEVBQ3RDLGVBQWdDO1FBRXZDLEtBQUssQ0FBQyxhQUFhLEVBQUUsb0JB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ZUFBZ0MsRUFBRSxFQUFFO1lBQ3pGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNyRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0I7SUFDUixrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBK0IsRUFBRSxFQUFFO1lBQ25GLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNsRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQXpQRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlEQUFpRDtnQkFDM0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwSVQ7YUFDRjs7O1lBcEpPLHdCQUF3QjtZQUR4QixvQkFBb0I7WUFGcEIsa0JBQWtCO1lBT2xCLGVBQWU7Ozt3QkFtSnBCLFdBQVcsU0FBQyw0Q0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmd9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvRG9tYWluVmFsdWV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvbWFpbi12YWx1ZS5ibyc7XHJcbmltcG9ydCB7Q3VzdG9tZXJHcm91cH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWdyb3VwLmJvJztcclxuaW1wb3J0IHtPbkhvbGRDb2RlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb24taG9sZC1jb2RlLmJvJztcclxuaW1wb3J0IHtSZWxhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtGaWx0ZXJJdGVtVmlld21vZGVsLCBGaWx0ZXJWaWV3bW9kZWx9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0ZpbHRlclJlcXVlc3RTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2ZpbHRlci1yZXF1ZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zZWFyY2guc2VydmljZSc7XHJcbmltcG9ydCB7VGFnfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC90YWcnO1xyXG5pbXBvcnQge1NhbGVzUGVyc29ufSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvc2FsZXMtcGVyc29uLmJvJztcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ibyc7XHJcbmltcG9ydCB7UmVsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1JlbGF0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24ta2luZC5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLWNvbnRlbnQtb3JkZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXItd3JhcHBlciB0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC13cmFwcGVyXCI+XHJcblxyXG4gICAgICA8IS0tT3JkZXJkYXR1bS0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0RBVEUnXCIgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LWRhdGUtcmFuZ2VcclxuICAgICAgICAgICAgW21vZGVsXT1cIlt0cmFuc1N0YXJ0RGF0ZSwgdHJhbnNFbmREYXRlXVwiXHJcbiAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJvbkRhdGVSYW5nZUNoYW5nZSgkZXZlbnQsICdyYW5nZVRyYW5zRGF0ZScpXCJcclxuICAgICAgICAgICAgKGNsZWFyZWQpPVwib25DbGVhcmVkRGF0ZVJhbmdlQ2hhbmdlKCdyYW5nZVRyYW5zRGF0ZScpXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUxFQ1RfREFURScgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgICAgPC9jby1pbnB1dC1kYXRlLXJhbmdlPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUxldmVyZGF0dW0tLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidERUxJVkVSWV9EQVRFJ1wiIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC1kYXRlLXJhbmdlXHJcbiAgICAgICAgICAgIFttb2RlbF09XCJbZGVsaXZlcnlTdGFydERhdGUsIGRlbGl2ZXJ5RW5kRGF0ZV1cIlxyXG4gICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwib25EYXRlUmFuZ2VDaGFuZ2UoJGV2ZW50LCAnZGVsaXZlcnlEYXRlUmFuZ2UnKVwiXHJcbiAgICAgICAgICAgIChjbGVhcmVkKT1cIm9uQ2xlYXJlZERhdGVSYW5nZUNoYW5nZSgnZGVsaXZlcnlEYXRlUmFuZ2UnKVwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VMRUNUX0RBVEUnIHwgbG9jYWxpemVcIj5cclxuICAgICAgICAgIDwvY28taW5wdXQtZGF0ZS1yYW5nZT5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1GaWxpYWFsLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQlJBTkNIJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuQnJhbmNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiYnJhbmNoZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCAncmFuZ2VCcmFuY2hJZCcpXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tVmVya29wZXItLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidIQU5ETEVEX0JZJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuU2FsZXNQZXJzb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJzYWxlc1BlcnNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCAncmFuZ2VTYWxlc1BlcnNvbicpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tRWlnZW4gcmVmZXJlbnRpZS0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09XTl9SRUZFUkVOQ0UnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC51c2VyUmVmZXJlbmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5Pd25SZWZlcmVuY2UgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1UYWdzLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVEFHUydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLlRhZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJ0YWdzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclJhbmdlKCRldmVudCwgJ3RhZ1JhbmdlJylcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QudGFnUmFuZ2VcIiBbcGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuVGFncyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLU9uIGhvbGQgY29kZXMtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidPTl9IT0xEJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cIm9uSG9sZENvZGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclJhbmdlKCRldmVudCwncmFuZ2VPbkhvbGRDb2RlcycpXCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnRhZ1JhbmdlXCIgW3BsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLk9uSG9sZCB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLU9yZGVyIGRlZmluaXRpZWYtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidPUkRFUl9ERUZJTklUSVZFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICBbbW9kZWxdPVwic2VhcmNoUmVxdWVzdC50cmFuc2FjdGlvbkRlZmluaXRpdmUgPT09ICdKJ1wiXHJcbiAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDaGVja2JveFZhbHVlQ2hhbmdlRm9yU3RyaW5nKCRldmVudCwgJ3RyYW5zYWN0aW9uRGVmaW5pdGl2ZScpXCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cIidPUkRFUl9ERUZJTklUSVZFJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1Db21taXNzaWVjb2RlLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ09NTUlTU0lPTl9DT0RFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuQ29tbWlzc2lvbkNvZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJjb21taXNzaW9uQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yQXJyYXkoJGV2ZW50LCAnY29tbWlzc2lvbkNvZGVzJylcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1JbmFjdGlldmUgdHJhbnNhY3RpZXMtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidJTkFDVElWRV9UUkFOU0FDVElPTlMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgIFttb2RlbF09XCJzZWFyY2hSZXF1ZXN0LmFjdGl2ZSA9PT0gZmFsc2VcIlxyXG4gICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwic2VhcmNoUmVxdWVzdC5hY3RpdmUgPSAhJGV2ZW50XCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cIidJTkFDVElWRV9UUkFOU0FDVElPTlMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tS2xhbnRuYWFtLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ1VTVE9NRVJfTkFNRSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLkN1c3RvbWVyTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaW5nbGVTZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5TZWFyY2hDaGFyc1RvTG9hZENvbGxlY3Rpb25dPVwiM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uTG9hZEZuXT1cImxvYWRDdXN0b21lcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yU2luZ2xlU2VsZWN0KCRldmVudCwgJ3JlbGF0aW9uTmFtZScgKVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUtsYW50Z3JvZXAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDVVNUT01FUl9HUk9VUCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLkN1c3RvbWVyR3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2luZ2xlU2VsZWN0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJjdXN0b21lckdyb3Vwc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JTaW5nbGVTZWxlY3QoJGV2ZW50LCAnY3VzdG9tZXJHcm91cElkJylcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2FsZXNPcmRlckZpbHRlckNvbnRlbnRPcmRlckNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1zZWFyY2gtZmlsdGVyLWNvbnRlbnRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2FsZXNQZXJzb25zOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHNhbGVzUGVyc29uc0ZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwibmFtZVwiLCB2YWx1ZTogXCJyZWxhdGlvbklkXCJ9O1xyXG5cclxuICBwdWJsaWMgdGFnczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyB0YWdzRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJ0YWdWYWx1ZUlkXCJ9O1xyXG5cclxuICBwdWJsaWMgYnJhbmNoZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgYnJhbmNoRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJmYW1pbHlOYW1lXCIsIHZhbHVlOiBcInJlbGF0aW9uSWRcIn07XHJcblxyXG4gIHB1YmxpYyBvbkhvbGRDb2RlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBvbkhvbGRDb2RlRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJvbkhvbGRDb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgY29tbWlzc2lvbkNvZGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGNvbW1pc3Npb25Db2RlRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgY3VzdG9tZXJHcm91cHM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgY3VzdG9tZXJHcm91cEZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwibmFhbVwiLCB2YWx1ZTogXCJncm9lcHNudW1tZXJcIn07XHJcblxyXG4gIHB1YmxpYyB0cmFuc1N0YXJ0RGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgdHJhbnNFbmREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBkZWxpdmVyeVN0YXJ0RGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgZGVsaXZlcnlFbmREYXRlOiBEYXRlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZWFyY2hTZXJ2aWNlOiBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZmlsdGVyUmVxdWVzdFNlcnZpY2U6IEZpbHRlclJlcXVlc3RTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIHJlbGF0aW9uU2VydmljZTogUmVsYXRpb25TZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoc2VhcmNoU2VydmljZSwgZmlsdGVyUmVxdWVzdFNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldFJhbmdlRGF0ZXMoKTtcclxuICAgIHRoaXMuX3NldFNhbGVzUGVyc29ucygpO1xyXG4gICAgdGhpcy5fc2V0VGFncygpO1xyXG4gICAgdGhpcy5fc2V0QnJhbmNoZXMoKTtcclxuICAgIHRoaXMuX3NldE9uSG9sZENvZGVzKCk7XHJcbiAgICB0aGlzLl9zZXRDb21taXNzaW9uQ29kZXMoKTtcclxuICAgIHRoaXMuX3NldEN1c3RvbWVyR3JvdXBzKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGxvYWRDdXN0b21lcnMgPSBhc3luYyAobmFtZUZpbHRlcjogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBSZWxhdGlvblJlcXVlc3QgPSBuZXcgUmVsYXRpb25SZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LmZhbWlseU5hbWUgPSBuYW1lRmlsdGVyO1xyXG4gICAgcmV0dXJuIHRoaXMucmVsYXRpb25TZXJ2aWNlLmdldFJlbGF0aW9uTGlzdE9iamVjdHMocmVxdWVzdCkudGhlbigocmVsYXRpb25zOiBSZWxhdGlvbkxpc3RPYmplY3RbXSkgPT4ge1xyXG4gICAgICByZXR1cm4gbmV3IEZpbHRlclZpZXdtb2RlbChyZWxhdGlvbnMsIHt0ZXh0OiAnZmFtaWx5TmFtZScsIHZhbHVlOiAnZmFtaWx5TmFtZSd9KS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0UmFuZ2VEYXRlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNTdGFydERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5yYW5nZVRyYW5zRGF0ZSwgMCk7XHJcbiAgICB0aGlzLnRyYW5zRW5kRGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LnJhbmdlVHJhbnNEYXRlLCAxKTtcclxuICAgIHRoaXMuZGVsaXZlcnlTdGFydERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5kZWxpdmVyeURhdGVSYW5nZSwgMCk7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5RW5kRGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmRlbGl2ZXJ5RGF0ZVJhbmdlLCAxKTtcclxuICB9XHJcblxyXG4gIC8vVmVya29wZXJcclxuICBwcml2YXRlIF9zZXRTYWxlc1BlcnNvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRTYWxlc1BlcnNvbnMoKS50aGVuKChzYWxlc1BlcnNvbnM6IFNhbGVzUGVyc29uW10pID0+IHtcclxuICAgICAgdGhpcy5zYWxlc1BlcnNvbnMgPSBuZXcgRmlsdGVyVmlld21vZGVsKHNhbGVzUGVyc29ucywgdGhpcy5zYWxlc1BlcnNvbnNGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBUYWdzXHJcbiAgcHJpdmF0ZSBfc2V0VGFncygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFRhZ3MoMSkudGhlbigodGFnczogVGFnW10pID0+IHtcclxuICAgICAgdGhpcy50YWdzID0gbmV3IEZpbHRlclZpZXdtb2RlbCh0YWdzLCB0aGlzLnRhZ3NGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0JyYW5jaGVzXHJcbiAgcHJpdmF0ZSBfc2V0QnJhbmNoZXMoKTogdm9pZCB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBSZWxhdGlvblJlcXVlc3QgPSBuZXcgUmVsYXRpb25SZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LnJlbGF0aW9uVHlwZSA9IFJlbGF0aW9uS2luZC5CcmFuY2g7XHJcbiAgICB0aGlzLnJlbGF0aW9uU2VydmljZS5nZXRSZWxhdGlvbkxpc3RPYmplY3RzKHJlcXVlc3QpLnRoZW4oKGJyYW5jaGVzOiBSZWxhdGlvbkxpc3RPYmplY3RbXSkgPT4ge1xyXG4gICAgICB0aGlzLmJyYW5jaGVzID0gbmV3IEZpbHRlclZpZXdtb2RlbChicmFuY2hlcywgdGhpcy5icmFuY2hGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL09uSG9sZENvZGVzXHJcbiAgcHJpdmF0ZSBfc2V0T25Ib2xkQ29kZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRPbkhvbGRDb2RlcygpLnRoZW4oKG9uSG9sZENvZGVzOiBPbkhvbGRDb2RlW10pID0+IHtcclxuICAgICAgdGhpcy5vbkhvbGRDb2RlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwob25Ib2xkQ29kZXMsIHRoaXMub25Ib2xkQ29kZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vQ29tbWlzc2lvbkNvZGVzXHJcbiAgcHJpdmF0ZSBfc2V0Q29tbWlzc2lvbkNvZGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0Q29tbWlzc2lvbkNvZGVzKFwiTkxcIikudGhlbigoY29tbWlzc2lvbkNvZGVzOiBDb0RvbWFpblZhbHVlW10pID0+IHtcclxuICAgICAgdGhpcy5jb21taXNzaW9uQ29kZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKGNvbW1pc3Npb25Db2RlcywgdGhpcy5jb21taXNzaW9uQ29kZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vQ3VzdG9tZXJHcm91cHNcclxuICBwcml2YXRlIF9zZXRDdXN0b21lckdyb3VwcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldEN1c3RvbWVyR3JvdXBzKCkudGhlbigoY3VzdG9tZXJHcm91cHM6IEN1c3RvbWVyR3JvdXBbXSkgPT4ge1xyXG4gICAgICB0aGlzLmN1c3RvbWVyR3JvdXBzID0gbmV3IEZpbHRlclZpZXdtb2RlbChjdXN0b21lckdyb3VwcywgdGhpcy5jdXN0b21lckdyb3VwRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2FsZXMtb3JkZXItZmlsdGVyLWNvbnRlbnQtb3JkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50L3NhbGVzLW9yZGVyLWZpbHRlci1jb250ZW50L3RyYW5zYWN0aW9uLXNhbGVzLW9yZGVyLWZpbHRlci1jb250ZW50LW9yZGVyL3RyYW5zYWN0aW9uLXNhbGVzLW9yZGVyLWZpbHRlci1jb250ZW50LW9yZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ25GLE9BQU8sRUFBQyxjQUFjLEVBQXVCLGVBQWUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2xHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3RILE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBSXJGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFrSGpGLE1BQU0sT0FBTyxnREFBaUQsU0FBUSxxQ0FBcUM7SUErQnpHLFlBQ1MsYUFBdUMsRUFDdkMsb0JBQTBDLEVBQzFDLGtCQUFzQyxFQUN0QyxlQUFnQztRQUV2QyxLQUFLLENBQUMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixDQUFDLENBQUE7UUFMdkQsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBQ3ZDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFsQ3pCLFVBQUssR0FBMEIsY0FBYyxDQUFDO1FBUXZELHVCQUFrQixHQUFvQixFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDO1FBRzFFLGVBQVUsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQztRQUd6RSxpQkFBWSxHQUFvQixFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDO1FBRzFFLHFCQUFnQixHQUFvQixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBQyxDQUFDO1FBRy9FLHlCQUFvQixHQUFvQixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDO1FBRzdFLHdCQUFtQixHQUFvQixFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBQyxDQUFDO1FBMkI3RSxrQkFBYSxHQUFHLENBQU8sVUFBa0IsRUFBRSxFQUFFO1lBQ2xELE1BQU0sT0FBTyxHQUFvQixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3ZELE9BQU8sQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUErQixFQUFFLEVBQUU7Z0JBQ25HLE9BQU8sSUFBSSxlQUFlLENBQUMsU0FBUyxFQUFFLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDL0YsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUEsQ0FBQTtJQW5CRCxDQUFDO0lBbENNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFrQ00sUUFBUTtRQUNiLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBV08sY0FBYztRQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUgsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDO0lBRUQsVUFBVTtJQUNGLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBMkIsRUFBRSxFQUFFO1lBQzdFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUM3RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO0lBQ0MsUUFBUTtRQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBVyxFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVO0lBQ0YsWUFBWTtRQUNsQixNQUFNLE9BQU8sR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUN2RCxPQUFPLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUE4QixFQUFFLEVBQUU7WUFDM0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhO0lBQ0wsZUFBZTtRQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBeUIsRUFBRSxFQUFFO1lBQzFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUN6RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUI7SUFDVCxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWdDLEVBQUUsRUFBRTtZQUN6RixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDckcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ1Isa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQStCLEVBQUUsRUFBRTtZQUNuRixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksZUFBZSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDbEcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE1TkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpREFBaUQ7Z0JBQzNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEdUO2FBQ0Y7OztZQXRITyx3QkFBd0I7WUFEeEIsb0JBQW9CO1lBRnBCLGtCQUFrQjtZQU9sQixlQUFlOzs7d0JBc0hwQixXQUFXLFNBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb0RvbWFpblZhbHVlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb21haW4tdmFsdWUuYm8nO1xyXG5pbXBvcnQge0N1c3RvbWVyR3JvdXB9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1ncm91cC5ibyc7XHJcbmltcG9ydCB7T25Ib2xkQ29kZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29uLWhvbGQtY29kZS5ibyc7XHJcbmltcG9ydCB7UmVsYXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7RmlsdGVySXRlbU1vZGUsIEZpbHRlckl0ZW1WaWV3bW9kZWwsIEZpbHRlclZpZXdtb2RlbH0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RmlsdGVyUmVxdWVzdFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZmlsdGVyLXJlcXVlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNlYXJjaC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUYWd9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3RhZyc7XHJcbmltcG9ydCB7U2FsZXNQZXJzb259IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9zYWxlcy1wZXJzb24uYm8nO1xyXG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLWxpc3Qtb2JqZWN0LmJvJztcclxuaW1wb3J0IHtSZWxhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2UvcmVsYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1zYWxlcy1vcmRlci1maWx0ZXItY29udGVudC1vcmRlcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1vcmRlci13cmFwcGVyIHRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LXdyYXBwZXJcIj5cclxuXHJcbiAgICAgIDwhLS1PcmRlcmRhdHVtLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInT1JERVJfREFURSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnJhbmdlVHJhbnNEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRGF0ZVJhbmdlRmllbGRcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInREVMSVZFUllfREFURSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LmRlbGl2ZXJ5RGF0ZVJhbmdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRGF0ZVJhbmdlRmllbGRcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInQlJBTkNIJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImJyYW5jaGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5yYW5nZUJyYW5jaElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRmlsdGVybGlzdFwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLVZlcmtvcGVyLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInSEFORExFRF9CWSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJzYWxlc1BlcnNvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnJhbmdlU2FsZXNQZXJzb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5GaWx0ZXJsaXN0XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tRWlnZW4gcmVmZXJlbnRpZS0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ09XTl9SRUZFUkVOQ0UnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC51c2VyUmVmZXJlbmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuVGV4dEZpZWxkXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tVGFncy0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1RBR1MnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwidGFnc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QudGFnUmFuZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5GaWx0ZXJsaXN0XCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tT24gaG9sZCBjb2Rlcy0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ09OX0hPTEQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwib25Ib2xkQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnJhbmdlT25Ib2xkQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5GaWx0ZXJsaXN0XCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tT3JkZXIgZGVmaW5pdGllZi0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0RFRklOSVRJVkUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC50cmFuc2FjdGlvbkRlZmluaXRpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5DaGVja2JveFRvVGV4dFwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLUNvbW1pc3NpZWNvZGUtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidDT01NSVNTSU9OX0NPREUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiY29tbWlzc2lvbkNvZGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5jb21taXNzaW9uQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5TZWxlY3RMaXN0V2l0aFN0cmluZ0NvbGxlY3Rpb25PdXRwdXRcIj5cclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0lOQUNUSVZFX1RSQU5TQUNUSU9OUydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LmFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkNoZWNrYm94XCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tS2xhbnRuYWFtLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInQ1VTVE9NRVJfTkFNRSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLkN1c3RvbWVyTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLlNpbmdsZVNlbGVjdExpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnJlbGF0aW9uTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5TZWFyY2hDaGFyc1RvTG9hZENvbGxlY3Rpb25dPVwiM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uTG9hZEZuXT1cImxvYWRDdXN0b21lcnNcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS1LbGFudGdyb2VwLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInQ1VTVE9NRVJfR1JPVVAnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5jdXN0b21lckdyb3VwSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5TaW5nbGVTZWxlY3RMaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiY3VzdG9tZXJHcm91cHNcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2FsZXNPcmRlckZpbHRlckNvbnRlbnRPcmRlckNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBtb2RlczogdHlwZW9mIEZpbHRlckl0ZW1Nb2RlID0gRmlsdGVySXRlbU1vZGU7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLXNlYXJjaC1maWx0ZXItY29udGVudFwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYWxlc1BlcnNvbnM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgc2FsZXNQZXJzb25zRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJuYW1lXCIsIHZhbHVlOiBcInJlbGF0aW9uSWRcIn07XHJcblxyXG4gIHB1YmxpYyB0YWdzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHRhZ3NGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcInRhZ1ZhbHVlSWRcIn07XHJcblxyXG4gIHB1YmxpYyBicmFuY2hlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBicmFuY2hGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImZhbWlseU5hbWVcIiwgdmFsdWU6IFwicmVsYXRpb25JZFwifTtcclxuXHJcbiAgcHVibGljIG9uSG9sZENvZGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIG9uSG9sZENvZGVGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcIm9uSG9sZENvZGVcIn07XHJcblxyXG4gIHB1YmxpYyBjb21taXNzaW9uQ29kZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgY29tbWlzc2lvbkNvZGVGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XHJcblxyXG4gIHB1YmxpYyBjdXN0b21lckdyb3VwczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBjdXN0b21lckdyb3VwRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJuYWFtXCIsIHZhbHVlOiBcImdyb2Vwc251bW1lclwifTtcclxuXHJcbiAgcHVibGljIHRyYW5zU3RhcnREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyB0cmFuc0VuZERhdGU6IERhdGU7XHJcbiAgcHVibGljIGRlbGl2ZXJ5U3RhcnREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBkZWxpdmVyeUVuZERhdGU6IERhdGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHNlYXJjaFNlcnZpY2U6IFRyYW5zYWN0aW9uU2VhcmNoU2VydmljZSxcclxuICAgIHB1YmxpYyBmaWx0ZXJSZXF1ZXN0U2VydmljZTogRmlsdGVyUmVxdWVzdFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVsYXRpb25TZXJ2aWNlOiBSZWxhdGlvblNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihzZWFyY2hTZXJ2aWNlLCBmaWx0ZXJSZXF1ZXN0U2VydmljZSwgdHJhbnNhY3Rpb25TZXJ2aWNlKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2V0UmFuZ2VEYXRlcygpO1xyXG4gICAgdGhpcy5fc2V0U2FsZXNQZXJzb25zKCk7XHJcbiAgICB0aGlzLl9zZXRUYWdzKCk7XHJcbiAgICB0aGlzLl9zZXRCcmFuY2hlcygpO1xyXG4gICAgdGhpcy5fc2V0T25Ib2xkQ29kZXMoKTtcclxuICAgIHRoaXMuX3NldENvbW1pc3Npb25Db2RlcygpO1xyXG4gICAgdGhpcy5fc2V0Q3VzdG9tZXJHcm91cHMoKTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgbG9hZEN1c3RvbWVycyA9IGFzeW5jIChuYW1lRmlsdGVyOiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IFJlbGF0aW9uUmVxdWVzdCA9IG5ldyBSZWxhdGlvblJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuZmFtaWx5TmFtZSA9IG5hbWVGaWx0ZXI7XHJcbiAgICByZXR1cm4gdGhpcy5yZWxhdGlvblNlcnZpY2UuZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZXF1ZXN0KS50aGVuKChyZWxhdGlvbnM6IFJlbGF0aW9uTGlzdE9iamVjdFtdKSA9PiB7XHJcbiAgICAgIHJldHVybiBuZXcgRmlsdGVyVmlld21vZGVsKHJlbGF0aW9ucywge3RleHQ6ICdmYW1pbHlOYW1lJywgdmFsdWU6ICdmYW1pbHlOYW1lJ30pLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRSYW5nZURhdGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc1N0YXJ0RGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LnJhbmdlVHJhbnNEYXRlLCAwKTtcclxuICAgIHRoaXMudHJhbnNFbmREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QucmFuZ2VUcmFuc0RhdGUsIDEpO1xyXG4gICAgdGhpcy5kZWxpdmVyeVN0YXJ0RGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmRlbGl2ZXJ5RGF0ZVJhbmdlLCAwKTtcclxuICAgIHRoaXMuZGVsaXZlcnlFbmREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QuZGVsaXZlcnlEYXRlUmFuZ2UsIDEpO1xyXG4gIH1cclxuXHJcbiAgLy9WZXJrb3BlclxyXG4gIHByaXZhdGUgX3NldFNhbGVzUGVyc29ucygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFNhbGVzUGVyc29ucygpLnRoZW4oKHNhbGVzUGVyc29uczogU2FsZXNQZXJzb25bXSkgPT4ge1xyXG4gICAgICB0aGlzLnNhbGVzUGVyc29ucyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoc2FsZXNQZXJzb25zLCB0aGlzLnNhbGVzUGVyc29uc0ZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIFRhZ3NcclxuICBwcml2YXRlIF9zZXRUYWdzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0VGFncygxKS50aGVuKCh0YWdzOiBUYWdbXSkgPT4ge1xyXG4gICAgICB0aGlzLnRhZ3MgPSBuZXcgRmlsdGVyVmlld21vZGVsKHRhZ3MsIHRoaXMudGFnc0ZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vQnJhbmNoZXNcclxuICBwcml2YXRlIF9zZXRCcmFuY2hlcygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IFJlbGF0aW9uUmVxdWVzdCA9IG5ldyBSZWxhdGlvblJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QucmVsYXRpb25UeXBlID0gUmVsYXRpb25LaW5kLkJyYW5jaDtcclxuICAgIHRoaXMucmVsYXRpb25TZXJ2aWNlLmdldFJlbGF0aW9uTGlzdE9iamVjdHMocmVxdWVzdCkudGhlbigoYnJhbmNoZXM6IFJlbGF0aW9uTGlzdE9iamVjdFtdKSA9PiB7XHJcbiAgICAgIHRoaXMuYnJhbmNoZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKGJyYW5jaGVzLCB0aGlzLmJyYW5jaEZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vT25Ib2xkQ29kZXNcclxuICBwcml2YXRlIF9zZXRPbkhvbGRDb2RlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldE9uSG9sZENvZGVzKCkudGhlbigob25Ib2xkQ29kZXM6IE9uSG9sZENvZGVbXSkgPT4ge1xyXG4gICAgICB0aGlzLm9uSG9sZENvZGVzID0gbmV3IEZpbHRlclZpZXdtb2RlbChvbkhvbGRDb2RlcywgdGhpcy5vbkhvbGRDb2RlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9Db21taXNzaW9uQ29kZXNcclxuICBwcml2YXRlIF9zZXRDb21taXNzaW9uQ29kZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRDb21taXNzaW9uQ29kZXMoXCJOTFwiKS50aGVuKChjb21taXNzaW9uQ29kZXM6IENvRG9tYWluVmFsdWVbXSkgPT4ge1xyXG4gICAgICB0aGlzLmNvbW1pc3Npb25Db2RlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoY29tbWlzc2lvbkNvZGVzLCB0aGlzLmNvbW1pc3Npb25Db2RlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9DdXN0b21lckdyb3Vwc1xyXG4gIHByaXZhdGUgX3NldEN1c3RvbWVyR3JvdXBzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0Q3VzdG9tZXJHcm91cHMoKS50aGVuKChjdXN0b21lckdyb3VwczogQ3VzdG9tZXJHcm91cFtdKSA9PiB7XHJcbiAgICAgIHRoaXMuY3VzdG9tZXJHcm91cHMgPSBuZXcgRmlsdGVyVmlld21vZGVsKGN1c3RvbWVyR3JvdXBzLCB0aGlzLmN1c3RvbWVyR3JvdXBGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==