@colijnit/transaction 12.1.17 → 12.1.20

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 (119) hide show
  1. package/bundles/colijnit-transaction.umd.js +877 -418
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +149 -143
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +150 -144
  6. package/esm2015/lib/assets/dictionary/text.properties.js +24 -1
  7. package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.js +5 -2
  8. package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.module.js +3 -1
  9. package/esm2015/lib/component/transaction-line/transaction-line.component.js +16 -112
  10. package/esm2015/lib/component/transaction-line/transaction-line.module.js +4 -2
  11. package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +162 -0
  12. package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.js +30 -0
  13. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +2 -2
  14. package/esm2015/lib/component/transaction-search/service/filter-request.service.js +5 -20
  15. package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +24 -2
  16. package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter.component.js +6 -2
  17. package/esm2015/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.component.js +43 -20
  18. package/esm2015/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.component.js +41 -55
  19. package/esm2015/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.module.js +6 -3
  20. package/esm2015/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.component.js +30 -15
  21. package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.js +60 -0
  22. package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.js +24 -0
  23. package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.js +86 -0
  24. package/esm2015/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.js +26 -0
  25. package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.js +120 -0
  26. package/esm2015/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.js +26 -0
  27. package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +49 -25
  28. package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.js +9 -5
  29. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.js +77 -0
  30. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.js +28 -0
  31. package/esm2015/lib/component/transaction-search/transaction-search.component.js +52 -12
  32. package/esm2015/lib/enum/direction.enum.js +9 -0
  33. package/esm2015/lib/enum/icon.enum.js +4 -1
  34. package/esm2015/lib/enum/search-view-mode.enum.js +7 -0
  35. package/esm2015/lib/model/icon-svg.js +4 -1
  36. package/esm2015/lib/service/article-connector.service.js +54 -1
  37. package/esm2015/lib/service/pending-reason.service.js +8 -4
  38. package/esm2015/lib/service/transaction-connector.service.js +2 -1
  39. package/esm2015/lib/service/transaction-mapping.service.js +2 -2
  40. package/esm2015/lib/service/transaction.service.js +13 -2
  41. package/fesm2015/colijnit-transaction.js +873 -369
  42. package/fesm2015/colijnit-transaction.js.map +1 -1
  43. package/lib/component/core/base/{style → components/default-ok-cancel-buttons/style}/_layout.scss +0 -0
  44. package/lib/component/core/base/{style → components/default-ok-cancel-buttons/style}/_material-definition.scss +0 -0
  45. package/lib/component/core/base/{style → components/default-ok-cancel-buttons/style}/_theme.scss +0 -0
  46. package/lib/component/core/base/{style → components/default-ok-cancel-buttons/style}/material.scss +0 -0
  47. package/lib/component/tile/style/_material-definition.scss +2 -1
  48. package/lib/component/transaction-grid/transaction-base-grid/style/_layout.scss +4 -0
  49. package/lib/component/transaction-line/style/_layout.scss +0 -47
  50. package/lib/component/transaction-line/style/_theme.scss +0 -17
  51. package/lib/component/transaction-line/transaction-line.component.d.ts +3 -17
  52. package/lib/component/transaction-line-action-buttons/style/_layout.scss +106 -0
  53. package/lib/component/transaction-line-action-buttons/style/_material-definition.scss +7 -0
  54. package/lib/component/transaction-line-action-buttons/style/_theme.scss +7 -0
  55. package/lib/component/transaction-line-action-buttons/style/material.scss +3 -0
  56. package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts +43 -0
  57. package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.module.d.ts +2 -0
  58. package/lib/component/transaction-line-side-panel/style/_layout.scss +6 -4
  59. package/lib/component/transaction-line-side-panel/style/_material-definition.scss +1 -1
  60. package/lib/component/transaction-line-side-panel-default/style/_layout.scss +3 -0
  61. package/lib/component/transaction-search/service/filter-request.service.d.ts +2 -4
  62. package/lib/component/transaction-search/service/transaction-search.service.d.ts +6 -0
  63. package/lib/component/transaction-search/style/_layout.scss +36 -18
  64. package/lib/component/transaction-search/style/_material-definition.scss +32 -15
  65. package/lib/component/transaction-search/style/_theme.scss +4 -0
  66. package/lib/component/transaction-search/style/material.scss +2 -1
  67. package/lib/component/transaction-search/transaction-filter/transaction-filter.component.d.ts +3 -0
  68. package/lib/component/transaction-search/transaction-filter-categories/style/_layout.scss +8 -8
  69. package/lib/component/transaction-search/transaction-filter-categories/style/_theme.scss +3 -3
  70. package/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.component.d.ts +14 -1
  71. package/lib/component/transaction-search/transaction-filter-content-logistics/style/material.scss +1 -0
  72. package/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.component.d.ts +1 -0
  73. package/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.component.d.ts +2 -0
  74. package/lib/component/transaction-search/transaction-filter-historic-state/style/_layout.scss +9 -0
  75. package/lib/component/transaction-search/{transaction-tile → transaction-filter-historic-state}/style/_material-definition.scss +0 -0
  76. package/lib/component/transaction-search/transaction-filter-historic-state/style/_theme.scss +4 -0
  77. package/lib/component/transaction-search/transaction-filter-historic-state/style/material.scss +4 -0
  78. package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.d.ts +22 -0
  79. package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.d.ts +2 -0
  80. package/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_layout.scss +6 -0
  81. package/lib/component/{transaction-search-grid → transaction-search/transaction-search-grid/transaction-search-sales-order-grid}/style/_material-definition.scss +0 -0
  82. package/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/_theme.scss +6 -0
  83. package/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/style/material.scss +7 -0
  84. package/lib/component/{transaction-search-grid/transaction-search-grid.component.d.ts → transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.component.d.ts} +1 -1
  85. package/lib/component/transaction-search/transaction-search-grid/transaction-search-sales-order-grid/transaction-search-sales-order-grid.module.d.ts +2 -0
  86. package/lib/component/transaction-search/transaction-search-header/style/_layout.scss +8 -0
  87. package/lib/component/transaction-search/transaction-search-header/style/_material-definition.scss +0 -0
  88. package/lib/component/transaction-search/transaction-search-header/style/_theme.scss +4 -0
  89. package/lib/component/transaction-search/transaction-search-header/style/material.scss +3 -0
  90. package/lib/component/transaction-search/transaction-search-header/transaction-search-header.component.d.ts +32 -0
  91. package/lib/component/transaction-search/transaction-search-header/transaction-search-header.module.d.ts +2 -0
  92. package/lib/component/transaction-search/transaction-search-result/style/_layout.scss +84 -13
  93. package/lib/component/transaction-search/transaction-search-result/style/_theme.scss +1 -1
  94. package/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.d.ts +14 -6
  95. package/lib/component/transaction-search/{transaction-tile → transaction-search-tile/transaction-search-sales-order-tile}/style/_layout.scss +2 -4
  96. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_material-definition.scss +0 -0
  97. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/style/_theme.scss +48 -0
  98. package/lib/component/transaction-search/{transaction-tile → transaction-search-tile/transaction-search-sales-order-tile}/style/material.scss +0 -0
  99. package/lib/component/transaction-search/{transaction-tile/transaction-tile.component.d.ts → transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.d.ts} +3 -3
  100. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.module.d.ts +2 -0
  101. package/lib/component/transaction-search/transaction-search.component.d.ts +14 -2
  102. package/lib/enum/direction.enum.d.ts +6 -0
  103. package/lib/enum/icon.enum.d.ts +3 -0
  104. package/lib/enum/search-view-mode.enum.d.ts +4 -0
  105. package/lib/service/article-connector.service.d.ts +7 -0
  106. package/lib/service/pending-reason.service.d.ts +3 -1
  107. package/lib/service/transaction.service.d.ts +7 -0
  108. package/lib/style/_variables.scss +2 -0
  109. package/package.json +3 -3
  110. package/esm2015/lib/component/transaction-search/transaction-tile/transaction-tile.component.js +0 -77
  111. package/esm2015/lib/component/transaction-search/transaction-tile/transaction-tile.module.js +0 -28
  112. package/esm2015/lib/component/transaction-search-grid/transaction-search-grid.component.js +0 -86
  113. package/esm2015/lib/component/transaction-search-grid/transaction-search-grid.module.js +0 -26
  114. package/lib/component/transaction-search/transaction-tile/style/_theme.scss +0 -46
  115. package/lib/component/transaction-search/transaction-tile/transaction-tile.module.d.ts +0 -2
  116. package/lib/component/transaction-search-grid/style/_layout.scss +0 -6
  117. package/lib/component/transaction-search-grid/style/_theme.scss +0 -6
  118. package/lib/component/transaction-search-grid/style/material.scss +0 -7
  119. package/lib/component/transaction-search-grid/transaction-search-grid.module.d.ts +0 -2
@@ -27,6 +27,9 @@ export class TransactionFilterContentLogisticsComponent {
27
27
  onFilterButtonClick() {
28
28
  this.searchService.searchTransactions();
29
29
  }
30
+ handleAllocatedChange(value) {
31
+ console.log(value);
32
+ }
30
33
  _setRangeDates() {
31
34
  this.confirmedDeliveryStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.confirmedDeliveryDateRange, 0);
32
35
  this.confirmedDeliveryEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.confirmedDeliveryDateRange, 1);
@@ -60,7 +63,7 @@ TransactionFilterContentLogisticsComponent.decorators = [
60
63
  [searchPlaceholder]="searchPlaceholder | localize"
61
64
  [showMoreLabel]="showMoreLabel | localize"
62
65
  [showLessLabel]="showLessLabel | localize"
63
- (collectionChange)="this.filterRequestService.handleCollectionChangeForRange($event, 'rangeDeliveryMethod')">
66
+ (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeDeliveryMethod')">
64
67
  </co-filter-item>
65
68
 
66
69
 
@@ -71,56 +74,39 @@ TransactionFilterContentLogisticsComponent.decorators = [
71
74
  [expanded]="true">
72
75
  <co-input-checkbox
73
76
  [model]="searchRequest.deliveryDateDefinitive === 'J'"
74
- (modelChange)="this.filterRequestService.handleCheckboxValueChangeForString($event, 'deliveryDateDefinitive')"
77
+ (modelChange)="filterRequestService.handleCheckboxValueChangeForString($event, 'deliveryDateDefinitive')"
75
78
  [label]="'DELIVERY_DATE_FINAL' | localize"></co-input-checkbox>
76
79
  </co-filter-item>
77
80
 
78
- <!--Toegewezen: todo: enum uizoeken en verwerken-->
79
- <co-filter-item
80
- [placeholder]="'ALLOCATED' | localize"
81
- [customContent]="true"
82
- [expanded]="true">
83
- <co-input-text [(model)]="searchRequest.quantityAllocated"
84
- [placeholder]="'ALLOCATED' | localize"></co-input-text>
85
- </co-filter-item>
86
-
87
- <!--Geleverd: todo: enum uizoeken en verwerken-->
88
- <co-filter-item
89
- [placeholder]="'DELIVERED' | localize"
90
- [customContent]="true"
91
- [expanded]="true">
92
- <co-input-text [(model)]="searchRequest.quantityDelivered"
93
- [placeholder]="'DELIVERED' | localize"></co-input-text>
94
- </co-filter-item>
95
-
96
- <!--Gefactureerd: todo: enum uizoeken en verwerken-->
97
- <co-filter-item
98
- [placeholder]="'INVOICED' | localize"
99
- [customContent]="true"
100
- [expanded]="true">
101
- <co-input-text
102
- [(model)]="searchRequest.quantityInvoiced"
103
- [placeholder]="'INVOICED' | localize"></co-input-text>
104
- </co-filter-item>
105
-
106
- <!--Te picken: todo: enum uizoeken en verwerken-->
107
- <co-filter-item
108
- [placeholder]="'TO_BE_PICKED' | localize"
109
- [customContent]="true"
110
- [expanded]="true">
111
- <co-input-text [(model)]="searchRequest.quantityToBePicked"
112
- [placeholder]="'TO_BE_PICKED' | localize"></co-input-text>
113
- </co-filter-item>
114
-
115
- <!--Gepicked: todo: enum uizoeken en verwerken-->
116
- <co-filter-item
117
- [placeholder]="'PICKED' | localize"
118
- [customContent]="true"
119
- [expanded]="true">
120
- <co-input-text
121
- [(model)]="searchRequest.quantityPicked"
122
- [placeholder]="'PICKED' | localize"></co-input-text>
123
- </co-filter-item>
81
+ <!--Toegewezen-->
82
+ <co-transaction-filter-historic-state
83
+ [label]="'ALLOCATED'"
84
+ (filterClicked)="filterRequestService.handleCollectionChangeForSingleNumber($event, 'quantityAllocated')"
85
+ ></co-transaction-filter-historic-state>
86
+
87
+ <!--Geleverd-->
88
+ <co-transaction-filter-historic-state
89
+ [label]="'DELIVERED'"
90
+ (filterClicked)="filterRequestService.handleCollectionChangeForSingleNumber($event, 'quantityDelivered')"
91
+ ></co-transaction-filter-historic-state>
92
+
93
+ <!--Gefactureerd-->
94
+ <co-transaction-filter-historic-state
95
+ [label]="'INVOICED'"
96
+ (filterClicked)="filterRequestService.handleCollectionChangeForSingleNumber($event, 'quantityInvoiced')"
97
+ ></co-transaction-filter-historic-state>
98
+
99
+ <!--Te picken-->
100
+ <co-transaction-filter-historic-state
101
+ [label]="'TO_BE_PICKED'"
102
+ (filterClicked)="filterRequestService.handleCollectionChangeForSingleNumber($event, 'quantityToBePicked')"
103
+ ></co-transaction-filter-historic-state>
104
+
105
+ <!--Gepicked-->
106
+ <co-transaction-filter-historic-state
107
+ [label]="'PICKED'"
108
+ (filterClicked)="filterRequestService.handleCollectionChangeForSingleNumber($event, 'quantityPicked')"
109
+ ></co-transaction-filter-historic-state>
124
110
 
125
111
  <!--Bevestigde leverdatum-->
126
112
  <co-filter-item
@@ -130,7 +116,7 @@ TransactionFilterContentLogisticsComponent.decorators = [
130
116
  <co-input-date-range
131
117
  [startDate]="confirmedDeliveryStartDate"
132
118
  [endDate]="confirmedDeliveryEndDate"
133
- (dateRangeChange)="this.filterRequestService.handleDateRangeChange($event, 'confirmedDeliveryDateRange')"
119
+ (dateRangeChange)="filterRequestService.handleDateRangeChange($event, 'confirmedDeliveryDateRange')"
134
120
  [placeholder]="'SELECT_DATE' | localize">
135
121
  </co-input-date-range>
136
122
  </co-filter-item>
@@ -143,7 +129,7 @@ TransactionFilterContentLogisticsComponent.decorators = [
143
129
  <co-input-date-range
144
130
  [startDate]="arrivalStartDate"
145
131
  [endDate]="arrivalEndDate"
146
- (dateRangeChange)="this.filterRequestService.handleDateRangeChange($event, 'arrivalDateRange')"
132
+ (dateRangeChange)="filterRequestService.handleDateRangeChange($event, 'arrivalDateRange')"
147
133
  [placeholder]="'SELECT_DATE' | localize">
148
134
  </co-input-date-range>
149
135
  </co-filter-item>
@@ -155,7 +141,7 @@ TransactionFilterContentLogisticsComponent.decorators = [
155
141
  [expanded]="true">
156
142
  <co-input-checkbox
157
143
  [model]="searchRequest.partialDelivery === 'J'"
158
- (modelChange)="this.filterRequestService.handleCheckboxValueChangeForString($event, 'partialDelivery')"
144
+ (modelChange)="filterRequestService.handleCheckboxValueChangeForString($event, 'partialDelivery')"
159
145
  [label]="'PART_DELIVERY' | localize">
160
146
  </co-input-checkbox>
161
147
  </co-filter-item>
@@ -168,7 +154,7 @@ TransactionFilterContentLogisticsComponent.decorators = [
168
154
  [searchPlaceholder]="searchPlaceholder | localize"
169
155
  [showMoreLabel]="showMoreLabel | localize"
170
156
  [showLessLabel]="showLessLabel | localize"
171
- (collectionChange)="this.filterRequestService.handleCollectionChangeForSingleNumber($event, 'warehouse')">
157
+ (collectionChange)="filterRequestService.handleCollectionChangeForSingleNumber($event, 'warehouse')">
172
158
  </co-filter-item>
173
159
 
174
160
 
@@ -180,7 +166,7 @@ TransactionFilterContentLogisticsComponent.decorators = [
180
166
  [searchPlaceholder]="searchPlaceholder | localize"
181
167
  [showMoreLabel]="showMoreLabel | localize"
182
168
  [showLessLabel]="showLessLabel | localize"
183
- (collectionChange)="this.filterRequestService.handleCollectionChangeForSingleNumber($event, 'sourceWarehouse')">
169
+ (collectionChange)="filterRequestService.handleCollectionChangeForSingleNumber($event, 'sourceWarehouse')">
184
170
  </co-filter-item>
185
171
 
186
172
 
@@ -209,7 +195,7 @@ TransactionFilterContentLogisticsComponent.decorators = [
209
195
  <co-input-checkbox
210
196
  [label]="'INCLUDING_RETURNS' | localize"
211
197
  [model]="searchRequest.includingReturns === 1"
212
- (modelChange)="this.filterRequestService.handleCheckboxValueChangeForNumber($event, 'includingReturns')"
198
+ (modelChange)="filterRequestService.handleCheckboxValueChangeForNumber($event, 'includingReturns')"
213
199
  >
214
200
  </co-input-checkbox>
215
201
  </co-filter-item>
@@ -239,4 +225,4 @@ TransactionFilterContentLogisticsComponent.ctorParameters = () => [
239
225
  TransactionFilterContentLogisticsComponent.propDecorators = {
240
226
  showClass: [{ type: HostBinding, args: ["class.co-transaction-filter-content-logistics",] }]
241
227
  };
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1sb2dpc3RpY3MvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUsvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUF5TGpGLE1BQU0sT0FBTywwQ0FBMEM7SUF5QnJELFlBQ1MsYUFBdUMsRUFDdkMsb0JBQTBDLEVBQ3pDLG1CQUF1QztRQUZ4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDdkMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUN6Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBckIxQyxrQkFBYSxHQUFpQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUUvRSxzQkFBaUIsR0FBVyxzQkFBc0IsQ0FBQztRQUNuRCxrQkFBYSxHQUFXLFdBQVcsQ0FBQztRQUNwQyxrQkFBYSxHQUFXLFdBQVcsQ0FBQztRQUVwQyxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQix5QkFBb0IsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUc3RSxvQkFBZSxHQUFvQixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBQyxDQUFDO0lBYXRGLENBQUM7SUEzQk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQTJCTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUksSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFJLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4SCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hILENBQUM7SUFFRCxrQkFBa0I7SUFDVixtQkFBbUI7UUFDekIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBaUMsRUFBRSxFQUFFO1lBQ3ZGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNyRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO0lBQ0osY0FBYztRQUNwQixJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBdUIsRUFBRSxFQUFFO1lBQ3hFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDdEYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFwUEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5Q0FBeUM7Z0JBQ25ELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtTFQ7YUFDRjs7O1lBeExRLHdCQUF3QjtZQUR4QixvQkFBb0I7WUFEcEIsa0JBQWtCOzs7d0JBNkx4QixXQUFXLFNBQUMsK0NBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRGVsaXZlcnlNZXRob2QgfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ib1wiO1xyXG5pbXBvcnQgeyBUcmFuc2FjdGlvblNlYXJjaFZpZXdSZXF1ZXN0IH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1zZWFyY2gtdmlldy1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7IFdhcmVob3VzZSB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvd2FyZWhvdXNlLmJvXCI7XHJcbmltcG9ydCB7IEZpbHRlckl0ZW1WaWV3bW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWwvZmlsdGVyLWl0ZW0udmlld21vZGVsXCI7XHJcbmltcG9ydCB7IEZpbHRlclZpZXdtb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbC9maWx0ZXItdmlld21vZGVsXCI7XHJcbmltcG9ydCB7IFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRmlsdGVyUmVxdWVzdFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZS9maWx0ZXItcmVxdWVzdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRyYW5zYWN0aW9uU2VhcmNoU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNlYXJjaC5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LWxvZ2lzdGljcycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1sb2dpc3RpY3Mtd3JhcHBlclwiPlxyXG5cclxuICAgICAgPCEtLUxldmVybWV0aG9kZS0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJZX01FVEhPRCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjb2xsZWN0aW9uXT1cImRlbGl2ZXJ5TWV0aG9kc1wiXHJcbiAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TW9yZUxhYmVsXT1cInNob3dNb3JlTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dMZXNzTGFiZWxdPVwic2hvd0xlc3NMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJ0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JSYW5nZSgkZXZlbnQsICdyYW5nZURlbGl2ZXJ5TWV0aG9kJylcIj5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcblxyXG4gICAgICA8IS0tTGV2ZXJkYXR1bSBkZWZpbml0aWVmLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInREVMSVZFUllfREFURV9GSU5BTCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgIFttb2RlbF09XCJzZWFyY2hSZXF1ZXN0LmRlbGl2ZXJ5RGF0ZURlZmluaXRpdmUgPT09ICdKJ1wiXHJcbiAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwidGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDaGVja2JveFZhbHVlQ2hhbmdlRm9yU3RyaW5nKCRldmVudCwgJ2RlbGl2ZXJ5RGF0ZURlZmluaXRpdmUnKVwiXHJcbiAgICAgICAgICBbbGFiZWxdPVwiJ0RFTElWRVJZX0RBVEVfRklOQUwnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLVRvZWdld2V6ZW46IHRvZG86IGVudW0gdWl6b2VrZW4gZW4gdmVyd2Vya2VuLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInQUxMT0NBVEVEJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QucXVhbnRpdHlBbGxvY2F0ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQUxMT0NBVEVEJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUdlbGV2ZXJkOiB0b2RvOiBlbnVtIHVpem9la2VuIGVuIHZlcndlcmtlbi0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJFRCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnF1YW50aXR5RGVsaXZlcmVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJFRCcgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1HZWZhY3R1cmVlcmQ6IHRvZG86IGVudW0gdWl6b2VrZW4gZW4gdmVyd2Vya2VuLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInSU5WT0lDRUQnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LXRleHRcclxuICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QucXVhbnRpdHlJbnZvaWNlZFwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0lOVk9JQ0VEJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLVRlIHBpY2tlbjogdG9kbzogZW51bSB1aXpvZWtlbiBlbiB2ZXJ3ZXJrZW4tLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidUT19CRV9QSUNLRUQnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5xdWFudGl0eVRvQmVQaWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVE9fQkVfUElDS0VEJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUdlcGlja2VkOiB0b2RvOiBlbnVtIHVpem9la2VuIGVuIHZlcndlcmtlbi0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BJQ0tFRCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5xdWFudGl0eVBpY2tlZFwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1BJQ0tFRCcgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1CZXZlc3RpZ2RlIGxldmVyZGF0dW0tLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDT05GSVJNRURfREVMSVZFUllfREFURScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtZGF0ZS1yYW5nZVxyXG4gICAgICAgICAgW3N0YXJ0RGF0ZV09XCJjb25maXJtZWREZWxpdmVyeVN0YXJ0RGF0ZVwiXHJcbiAgICAgICAgICBbZW5kRGF0ZV09XCJjb25maXJtZWREZWxpdmVyeUVuZERhdGVcIlxyXG4gICAgICAgICAgKGRhdGVSYW5nZUNoYW5nZSk9XCJ0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZURhdGVSYW5nZUNoYW5nZSgkZXZlbnQsICdjb25maXJtZWREZWxpdmVyeURhdGVSYW5nZScpXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VMRUNUX0RBVEUnIHwgbG9jYWxpemVcIj5cclxuICAgICAgICA8L2NvLWlucHV0LWRhdGUtcmFuZ2U+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tQWFua29tc3RkYXR1bS0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0FSUklWQUxfREFURScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtZGF0ZS1yYW5nZVxyXG4gICAgICAgICAgW3N0YXJ0RGF0ZV09XCJhcnJpdmFsU3RhcnREYXRlXCJcclxuICAgICAgICAgIFtlbmREYXRlXT1cImFycml2YWxFbmREYXRlXCJcclxuICAgICAgICAgIChkYXRlUmFuZ2VDaGFuZ2UpPVwidGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVEYXRlUmFuZ2VDaGFuZ2UoJGV2ZW50LCAnYXJyaXZhbERhdGVSYW5nZScpXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VMRUNUX0RBVEUnIHwgbG9jYWxpemVcIj5cclxuICAgICAgICA8L2NvLWlucHV0LWRhdGUtcmFuZ2U+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tRGVlbGxldmVyaW5nLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInUEFSVF9ERUxJVkVSWScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgIFttb2RlbF09XCJzZWFyY2hSZXF1ZXN0LnBhcnRpYWxEZWxpdmVyeSA9PT0gJ0onXCJcclxuICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJ0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNoZWNrYm94VmFsdWVDaGFuZ2VGb3JTdHJpbmcoJGV2ZW50LCAncGFydGlhbERlbGl2ZXJ5JylcIlxyXG4gICAgICAgICAgW2xhYmVsXT1cIidQQVJUX0RFTElWRVJZJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgPC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1NYWdhemlqbiAtLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidXQVJFSE9VU0UnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY29sbGVjdGlvbl09XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dNb3JlTGFiZWxdPVwic2hvd01vcmVMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd0xlc3NMYWJlbF09XCJzaG93TGVzc0xhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cInRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclNpbmdsZU51bWJlcigkZXZlbnQsICd3YXJlaG91c2UnKVwiPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuXHJcbiAgICAgIDwhLS1Ccm9uIG1hZ2F6aWpuLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInU09VUkNFX1dBUkVIT1VTRScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjb2xsZWN0aW9uXT1cIndhcmVob3VzZXNcIlxyXG4gICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlciB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd01vcmVMYWJlbF09XCJzaG93TW9yZUxhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TGVzc0xhYmVsXT1cInNob3dMZXNzTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwidGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yU2luZ2xlTnVtYmVyKCRldmVudCwgJ3NvdXJjZVdhcmVob3VzZScpXCI+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG5cclxuICAgICAgPCEtLVNlcmllbnVtbWVyIC0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFUklBTF9OVU1CRVInIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5zZXJpYWxOdW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VSSUFMX05VTUJFUicgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1CYXRjaG51bW1lciAtLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidCQVRDSF9OVU1CRVInIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5iYXRjaE51bWJlclwiIFtwbGFjZWhvbGRlcl09XCInQkFUQ0hfTlVNQkVSJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUluY2x1c2llZiByZXRvdXJlbi0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0lOQ0xVRElOR19SRVRVUk5TJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgW2xhYmVsXT1cIidJTkNMVURJTkdfUkVUVVJOUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICBbbW9kZWxdPVwic2VhcmNoUmVxdWVzdC5pbmNsdWRpbmdSZXR1cm5zID09PSAxXCJcclxuICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJ0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNoZWNrYm94VmFsdWVDaGFuZ2VGb3JOdW1iZXIoJGV2ZW50LCAnaW5jbHVkaW5nUmV0dXJucycpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1MZXZlcm1ldGhvZGUgb3AgKHJlZ2VsL2hlYWRlcik6IHRvZG86IG5vZyB1aXR6b2VrZW4gd2Vsa2UgZmlsdGVyIGRpdCBpcy0tPlxyXG4gICAgICA8IS0tICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidMZXZlcm1ldGhvZGUgb3AgcmVnZWwvaGVhZGVyJ1wiXHJcbiAgICAgICAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInTGV2ZXJtZXRob2RlIG9wIHJlZ2VsL2hlYWRlcidcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICA8L2NvLWZpbHRlci1pdGVtPi0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWJ1dHRvbi1jb250YWluZXJcIj5cclxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xpY2thYmxlXCIgW2xhYmVsXT1cIidGaWx0ZXInXCIgKGNsaWNrKT1cIm9uRmlsdGVyQnV0dG9uQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudExvZ2lzdGljc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LWxvZ2lzdGljc1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWFyY2hSZXF1ZXN0OiBUcmFuc2FjdGlvblNlYXJjaFZpZXdSZXF1ZXN0ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3Q7XHJcblxyXG4gIHB1YmxpYyBzZWFyY2hQbGFjZWhvbGRlcjogc3RyaW5nID0gXCJTRUFSQ0hfSU5fQ09MTEVDVElPTlwiO1xyXG4gIHB1YmxpYyBzaG93TW9yZUxhYmVsOiBzdHJpbmcgPSBcIlNIT1dfTU9SRVwiO1xyXG4gIHB1YmxpYyBzaG93TGVzc0xhYmVsOiBzdHJpbmcgPSBcIlNIT1dfTEVTU1wiO1xyXG5cclxuICBwdWJsaWMgZGVsaXZlcnlNZXRob2RzID0gW107XHJcbiAgcHVibGljIGRlbGl2ZXJ5TWV0aG9kRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgd2FyZWhvdXNlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyB3YXJlaG91c2VGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcIndhcmVob3VzZU5vXCJ9O1xyXG5cclxuICBwdWJsaWMgY29uZmlybWVkRGVsaXZlcnlTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGNvbmZpcm1lZERlbGl2ZXJ5RW5kRGF0ZTogRGF0ZTtcclxuXHJcbiAgcHVibGljIGFycml2YWxTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGFycml2YWxFbmREYXRlOiBEYXRlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZWFyY2hTZXJ2aWNlOiBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZmlsdGVyUmVxdWVzdFNlcnZpY2U6IEZpbHRlclJlcXVlc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZXRSYW5nZURhdGVzKCk7XHJcbiAgICB0aGlzLl9zZXREZWxpdmVyeU1ldGhvZHMoKTtcclxuICAgIHRoaXMuX3NldFdhcmVob3VzZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkZpbHRlckJ1dHRvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0UmFuZ2VEYXRlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlybWVkRGVsaXZlcnlTdGFydERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5jb25maXJtZWREZWxpdmVyeURhdGVSYW5nZSwgMCk7XHJcbiAgICB0aGlzLmNvbmZpcm1lZERlbGl2ZXJ5RW5kRGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmNvbmZpcm1lZERlbGl2ZXJ5RGF0ZVJhbmdlLCAxKTtcclxuICAgIHRoaXMuYXJyaXZhbFN0YXJ0RGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmFycml2YWxEYXRlUmFuZ2UsIDApO1xyXG4gICAgdGhpcy5hcnJpdmFsRW5kRGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmFycml2YWxEYXRlUmFuZ2UsIDEpO1xyXG4gIH1cclxuXHJcbiAgLy9EZWxpdmVyeSBNZXRob2RzXHJcbiAgcHJpdmF0ZSBfc2V0RGVsaXZlcnlNZXRob2RzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldERlbGl2ZXJ5TWV0aG9kcygpLnRoZW4oKGRlbGl2ZXJ5TWV0aG9kczogRGVsaXZlcnlNZXRob2RbXSkgPT4ge1xyXG4gICAgICB0aGlzLmRlbGl2ZXJ5TWV0aG9kcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoZGVsaXZlcnlNZXRob2RzLCB0aGlzLmRlbGl2ZXJ5TWV0aG9kRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9XYXJlaG91c2VzXHJcbiAgcHJpdmF0ZSBfc2V0V2FyZWhvdXNlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRXYXJlaG91c2VzKCkudGhlbigod2FyZWhvdXNlczogV2FyZWhvdXNlW10pID0+IHtcclxuICAgICAgdGhpcy53YXJlaG91c2VzID0gbmV3IEZpbHRlclZpZXdtb2RlbCh3YXJlaG91c2VzLCB0aGlzLndhcmVob3VzZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1sb2dpc3RpY3MvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUs3RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUF3Sy9FLE1BQU0sT0FBTywwQ0FBMEM7SUF5QnJELFlBQ1MsYUFBdUMsRUFDdkMsb0JBQTBDLEVBQ3pDLG1CQUF1QztRQUZ4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDdkMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUN6Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBckIxQyxrQkFBYSxHQUFpQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUUvRSxzQkFBaUIsR0FBVyxzQkFBc0IsQ0FBQztRQUNuRCxrQkFBYSxHQUFXLFdBQVcsQ0FBQztRQUNwQyxrQkFBYSxHQUFXLFdBQVcsQ0FBQztRQUVwQyxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQix5QkFBb0IsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUc3RSxvQkFBZSxHQUFvQixFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBQyxDQUFDO0lBYXRGLENBQUM7SUEzQk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQTJCTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0scUJBQXFCLENBQUMsS0FBVTtRQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1SSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUksSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEgsQ0FBQztJQUVELGtCQUFrQjtJQUNWLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFpQyxFQUFFLEVBQUU7WUFDdkYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3JHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVk7SUFDSixjQUFjO1FBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUF1QixFQUFFLEVBQUU7WUFDeEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUN0RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQXZPRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlDQUF5QztnQkFDbkQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrS1Q7YUFDRjs7O1lBdktPLHdCQUF3QjtZQUR4QixvQkFBb0I7WUFEcEIsa0JBQWtCOzs7d0JBNEt2QixXQUFXLFNBQUMsK0NBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkluaXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlNZXRob2R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZGVsaXZlcnktbWV0aG9kLmJvXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZWFyY2hWaWV3UmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1zZWFyY2gtdmlldy1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7V2FyZWhvdXNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3dhcmVob3VzZS5ib1wiO1xyXG5pbXBvcnQge0ZpbHRlckl0ZW1WaWV3bW9kZWx9IGZyb20gXCIuLi8uLi8uLi9tb2RlbC9maWx0ZXItaXRlbS52aWV3bW9kZWxcIjtcclxuaW1wb3J0IHtGaWx0ZXJWaWV3bW9kZWx9IGZyb20gXCIuLi8uLi8uLi9tb2RlbC9maWx0ZXItdmlld21vZGVsXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RmlsdGVyUmVxdWVzdFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlL2ZpbHRlci1yZXF1ZXN0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNlYXJjaC5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LWxvZ2lzdGljcycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1sb2dpc3RpY3Mtd3JhcHBlclwiPlxyXG5cclxuICAgICAgPCEtLUxldmVybWV0aG9kZS0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJZX01FVEhPRCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjb2xsZWN0aW9uXT1cImRlbGl2ZXJ5TWV0aG9kc1wiXHJcbiAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TW9yZUxhYmVsXT1cInNob3dNb3JlTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dMZXNzTGFiZWxdPVwic2hvd0xlc3NMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCAncmFuZ2VEZWxpdmVyeU1ldGhvZCcpXCI+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG5cclxuICAgICAgPCEtLUxldmVyZGF0dW0gZGVmaW5pdGllZi0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJZX0RBVEVfRklOQUwnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICBbbW9kZWxdPVwic2VhcmNoUmVxdWVzdC5kZWxpdmVyeURhdGVEZWZpbml0aXZlID09PSAnSidcIlxyXG4gICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNoZWNrYm94VmFsdWVDaGFuZ2VGb3JTdHJpbmcoJGV2ZW50LCAnZGVsaXZlcnlEYXRlRGVmaW5pdGl2ZScpXCJcclxuICAgICAgICAgIFtsYWJlbF09XCInREVMSVZFUllfREFURV9GSU5BTCcgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tVG9lZ2V3ZXplbi0tPlxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlXHJcbiAgICAgICAgW2xhYmVsXT1cIidBTExPQ0FURUQnXCJcclxuICAgICAgICAoZmlsdGVyQ2xpY2tlZCk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yU2luZ2xlTnVtYmVyKCRldmVudCwgJ3F1YW50aXR5QWxsb2NhdGVkJylcIlxyXG4gICAgICA+PC9jby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGU+XHJcblxyXG4gICAgICA8IS0tR2VsZXZlcmQtLT5cclxuICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZVxyXG4gICAgICAgIFtsYWJlbF09XCInREVMSVZFUkVEJ1wiXHJcbiAgICAgICAgKGZpbHRlckNsaWNrZWQpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclNpbmdsZU51bWJlcigkZXZlbnQsICdxdWFudGl0eURlbGl2ZXJlZCcpXCJcclxuICAgICAgPjwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlPlxyXG5cclxuICAgICAgPCEtLUdlZmFjdHVyZWVyZC0tPlxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlXHJcbiAgICAgICAgW2xhYmVsXT1cIidJTlZPSUNFRCdcIlxyXG4gICAgICAgIChmaWx0ZXJDbGlja2VkKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JTaW5nbGVOdW1iZXIoJGV2ZW50LCAncXVhbnRpdHlJbnZvaWNlZCcpXCJcclxuICAgICAgPjwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlPlxyXG5cclxuICAgICAgPCEtLVRlIHBpY2tlbi0tPlxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlXHJcbiAgICAgICAgW2xhYmVsXT1cIidUT19CRV9QSUNLRUQnXCJcclxuICAgICAgICAoZmlsdGVyQ2xpY2tlZCk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yU2luZ2xlTnVtYmVyKCRldmVudCwgJ3F1YW50aXR5VG9CZVBpY2tlZCcpXCJcclxuICAgICAgPjwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlPlxyXG5cclxuICAgICAgPCEtLUdlcGlja2VkLS0+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGVcclxuICAgICAgICBbbGFiZWxdPVwiJ1BJQ0tFRCdcIlxyXG4gICAgICAgIChmaWx0ZXJDbGlja2VkKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JTaW5nbGVOdW1iZXIoJGV2ZW50LCAncXVhbnRpdHlQaWNrZWQnKVwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZT5cclxuXHJcbiAgICAgIDwhLS1CZXZlc3RpZ2RlIGxldmVyZGF0dW0tLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDT05GSVJNRURfREVMSVZFUllfREFURScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtZGF0ZS1yYW5nZVxyXG4gICAgICAgICAgW3N0YXJ0RGF0ZV09XCJjb25maXJtZWREZWxpdmVyeVN0YXJ0RGF0ZVwiXHJcbiAgICAgICAgICBbZW5kRGF0ZV09XCJjb25maXJtZWREZWxpdmVyeUVuZERhdGVcIlxyXG4gICAgICAgICAgKGRhdGVSYW5nZUNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVEYXRlUmFuZ2VDaGFuZ2UoJGV2ZW50LCAnY29uZmlybWVkRGVsaXZlcnlEYXRlUmFuZ2UnKVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFTEVDVF9EQVRFJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgPC9jby1pbnB1dC1kYXRlLXJhbmdlPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUFhbmtvbXN0ZGF0dW0tLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBUlJJVkFMX0RBVEUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LWRhdGUtcmFuZ2VcclxuICAgICAgICAgIFtzdGFydERhdGVdPVwiYXJyaXZhbFN0YXJ0RGF0ZVwiXHJcbiAgICAgICAgICBbZW5kRGF0ZV09XCJhcnJpdmFsRW5kRGF0ZVwiXHJcbiAgICAgICAgICAoZGF0ZVJhbmdlQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZURhdGVSYW5nZUNoYW5nZSgkZXZlbnQsICdhcnJpdmFsRGF0ZVJhbmdlJylcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUxFQ1RfREFURScgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgIDwvY28taW5wdXQtZGF0ZS1yYW5nZT5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1EZWVsbGV2ZXJpbmctLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidQQVJUX0RFTElWRVJZJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgW21vZGVsXT1cInNlYXJjaFJlcXVlc3QucGFydGlhbERlbGl2ZXJ5ID09PSAnSidcIlxyXG4gICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNoZWNrYm94VmFsdWVDaGFuZ2VGb3JTdHJpbmcoJGV2ZW50LCAncGFydGlhbERlbGl2ZXJ5JylcIlxyXG4gICAgICAgICAgW2xhYmVsXT1cIidQQVJUX0RFTElWRVJZJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgPC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1NYWdhemlqbiAtLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidXQVJFSE9VU0UnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY29sbGVjdGlvbl09XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dNb3JlTGFiZWxdPVwic2hvd01vcmVMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd0xlc3NMYWJlbF09XCJzaG93TGVzc0xhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JTaW5nbGVOdW1iZXIoJGV2ZW50LCAnd2FyZWhvdXNlJylcIj5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcblxyXG4gICAgICA8IS0tQnJvbiBtYWdhemlqbi0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NPVVJDRV9XQVJFSE9VU0UnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY29sbGVjdGlvbl09XCJ3YXJlaG91c2VzXCJcclxuICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dNb3JlTGFiZWxdPVwic2hvd01vcmVMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd0xlc3NMYWJlbF09XCJzaG93TGVzc0xhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JTaW5nbGVOdW1iZXIoJGV2ZW50LCAnc291cmNlV2FyZWhvdXNlJylcIj5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcblxyXG4gICAgICA8IS0tU2VyaWVudW1tZXIgLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VSSUFMX05VTUJFUicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnNlcmlhbE51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRVJJQUxfTlVNQkVSJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUJhdGNobnVtbWVyIC0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0JBVENIX05VTUJFUicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LmJhdGNoTnVtYmVyXCIgW3BsYWNlaG9sZGVyXT1cIidCQVRDSF9OVU1CRVInIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tSW5jbHVzaWVmIHJldG91cmVuLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInSU5DTFVESU5HX1JFVFVSTlMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICBbbGFiZWxdPVwiJ0lOQ0xVRElOR19SRVRVUk5TJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgIFttb2RlbF09XCJzZWFyY2hSZXF1ZXN0LmluY2x1ZGluZ1JldHVybnMgPT09IDFcIlxyXG4gICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNoZWNrYm94VmFsdWVDaGFuZ2VGb3JOdW1iZXIoJGV2ZW50LCAnaW5jbHVkaW5nUmV0dXJucycpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1MZXZlcm1ldGhvZGUgb3AgKHJlZ2VsL2hlYWRlcik6IHRvZG86IG5vZyB1aXR6b2VrZW4gd2Vsa2UgZmlsdGVyIGRpdCBpcy0tPlxyXG4gICAgICA8IS0tICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidMZXZlcm1ldGhvZGUgb3AgcmVnZWwvaGVhZGVyJ1wiXHJcbiAgICAgICAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInTGV2ZXJtZXRob2RlIG9wIHJlZ2VsL2hlYWRlcidcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICA8L2NvLWZpbHRlci1pdGVtPi0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWJ1dHRvbi1jb250YWluZXJcIj5cclxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xpY2thYmxlXCIgW2xhYmVsXT1cIidGaWx0ZXInXCIgKGNsaWNrKT1cIm9uRmlsdGVyQnV0dG9uQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudExvZ2lzdGljc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LWxvZ2lzdGljc1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWFyY2hSZXF1ZXN0OiBUcmFuc2FjdGlvblNlYXJjaFZpZXdSZXF1ZXN0ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3Q7XHJcblxyXG4gIHB1YmxpYyBzZWFyY2hQbGFjZWhvbGRlcjogc3RyaW5nID0gXCJTRUFSQ0hfSU5fQ09MTEVDVElPTlwiO1xyXG4gIHB1YmxpYyBzaG93TW9yZUxhYmVsOiBzdHJpbmcgPSBcIlNIT1dfTU9SRVwiO1xyXG4gIHB1YmxpYyBzaG93TGVzc0xhYmVsOiBzdHJpbmcgPSBcIlNIT1dfTEVTU1wiO1xyXG5cclxuICBwdWJsaWMgZGVsaXZlcnlNZXRob2RzID0gW107XHJcbiAgcHVibGljIGRlbGl2ZXJ5TWV0aG9kRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgd2FyZWhvdXNlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyB3YXJlaG91c2VGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcIndhcmVob3VzZU5vXCJ9O1xyXG5cclxuICBwdWJsaWMgY29uZmlybWVkRGVsaXZlcnlTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGNvbmZpcm1lZERlbGl2ZXJ5RW5kRGF0ZTogRGF0ZTtcclxuXHJcbiAgcHVibGljIGFycml2YWxTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGFycml2YWxFbmREYXRlOiBEYXRlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZWFyY2hTZXJ2aWNlOiBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZmlsdGVyUmVxdWVzdFNlcnZpY2U6IEZpbHRlclJlcXVlc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZXRSYW5nZURhdGVzKCk7XHJcbiAgICB0aGlzLl9zZXREZWxpdmVyeU1ldGhvZHMoKTtcclxuICAgIHRoaXMuX3NldFdhcmVob3VzZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkZpbHRlckJ1dHRvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFsbG9jYXRlZENoYW5nZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZyh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRSYW5nZURhdGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maXJtZWREZWxpdmVyeVN0YXJ0RGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmNvbmZpcm1lZERlbGl2ZXJ5RGF0ZVJhbmdlLCAwKTtcclxuICAgIHRoaXMuY29uZmlybWVkRGVsaXZlcnlFbmREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QuY29uZmlybWVkRGVsaXZlcnlEYXRlUmFuZ2UsIDEpO1xyXG4gICAgdGhpcy5hcnJpdmFsU3RhcnREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QuYXJyaXZhbERhdGVSYW5nZSwgMCk7XHJcbiAgICB0aGlzLmFycml2YWxFbmREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QuYXJyaXZhbERhdGVSYW5nZSwgMSk7XHJcbiAgfVxyXG5cclxuICAvL0RlbGl2ZXJ5IE1ldGhvZHNcclxuICBwcml2YXRlIF9zZXREZWxpdmVyeU1ldGhvZHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0RGVsaXZlcnlNZXRob2RzKCkudGhlbigoZGVsaXZlcnlNZXRob2RzOiBEZWxpdmVyeU1ldGhvZFtdKSA9PiB7XHJcbiAgICAgIHRoaXMuZGVsaXZlcnlNZXRob2RzID0gbmV3IEZpbHRlclZpZXdtb2RlbChkZWxpdmVyeU1ldGhvZHMsIHRoaXMuZGVsaXZlcnlNZXRob2RGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL1dhcmVob3VzZXNcclxuICBwcml2YXRlIF9zZXRXYXJlaG91c2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldFdhcmVob3VzZXMoKS50aGVuKCh3YXJlaG91c2VzOiBXYXJlaG91c2VbXSkgPT4ge1xyXG4gICAgICB0aGlzLndhcmVob3VzZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKHdhcmVob3VzZXMsIHRoaXMud2FyZWhvdXNlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,8 +1,9 @@
1
1
  import { NgModule } from "@angular/core";
2
2
  import { CommonModule } from "@angular/common";
3
- import { ButtonModule, FilterItemModule, InputCheckboxModule, InputDatePickerModule, InputDateRangePickerModule, InputTextModule } from "@colijnit/corecomponents_v12";
3
+ import { ButtonModule, FilterItemModule, InputCheckboxModule, InputDatePickerModule, InputDateRangePickerModule, InputRadioButtonModule, InputTextModule } from "@colijnit/corecomponents_v12";
4
4
  import { PipeModule } from "../../../pipe/pipe.module";
5
5
  import { TransactionFilterContentLogisticsComponent } from "./transaction-filter-content-logistics.component";
6
+ import { TransactionFilterHistoricStateModule } from "../transaction-filter-historic-state/transaction-filter-historic-state.module";
6
7
  export class TransactionFilterContentLogisticsModule {
7
8
  }
8
9
  TransactionFilterContentLogisticsModule.decorators = [
@@ -15,7 +16,9 @@ TransactionFilterContentLogisticsModule.decorators = [
15
16
  PipeModule,
16
17
  InputDatePickerModule,
17
18
  ButtonModule,
18
- InputCheckboxModule
19
+ InputCheckboxModule,
20
+ InputRadioButtonModule,
21
+ TransactionFilterHistoricStateModule
19
22
  ],
20
23
  declarations: [
21
24
  TransactionFilterContentLogisticsComponent
@@ -25,4 +28,4 @@ TransactionFilterContentLogisticsModule.decorators = [
25
28
  ]
26
29
  },] }
27
30
  ];
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1sb2dpc3RpY3MvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsWUFBWSxFQUNaLGdCQUFnQixFQUFFLG1CQUFtQixFQUNyQyxxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLGVBQWUsRUFDaEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFDLDBDQUEwQyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFvQjVHLE1BQU0sT0FBTyx1Q0FBdUM7OztZQWxCbkQsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsMEJBQTBCO29CQUMxQixlQUFlO29CQUNmLFVBQVU7b0JBQ1YscUJBQXFCO29CQUNyQixZQUFZO29CQUNaLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLDBDQUEwQztpQkFDM0M7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDBDQUEwQztpQkFDM0M7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7XHJcbiAgQnV0dG9uTW9kdWxlLFxyXG4gIEZpbHRlckl0ZW1Nb2R1bGUsIElucHV0Q2hlY2tib3hNb2R1bGUsXHJcbiAgSW5wdXREYXRlUGlja2VyTW9kdWxlLFxyXG4gIElucHV0RGF0ZVJhbmdlUGlja2VyTW9kdWxlLFxyXG4gIElucHV0VGV4dE1vZHVsZVxyXG59IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7IFBpcGVNb2R1bGUgfSBmcm9tIFwiLi4vLi4vLi4vcGlwZS9waXBlLm1vZHVsZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyQ29udGVudExvZ2lzdGljc0NvbXBvbmVudH0gZnJvbSBcIi4vdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLmNvbXBvbmVudFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGaWx0ZXJJdGVtTW9kdWxlLFxyXG4gICAgSW5wdXREYXRlUmFuZ2VQaWNrZXJNb2R1bGUsXHJcbiAgICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgICBQaXBlTW9kdWxlLFxyXG4gICAgSW5wdXREYXRlUGlja2VyTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgSW5wdXRDaGVja2JveE1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRMb2dpc3RpY3NDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudExvZ2lzdGljc0NvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudExvZ2lzdGljc01vZHVsZSB7XHJcbn1cclxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1sb2dpc3RpY3MvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtbG9naXN0aWNzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLDBCQUEwQixFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzdMLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsMENBQTBDLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM1RyxPQUFPLEVBQUMsb0NBQW9DLEVBQUMsTUFBTSwrRUFBK0UsQ0FBQztBQXNCbkksTUFBTSxPQUFPLHVDQUF1Qzs7O1lBcEJuRCxRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQiwwQkFBMEI7b0JBQzFCLGVBQWU7b0JBQ2YsVUFBVTtvQkFDVixxQkFBcUI7b0JBQ3JCLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixzQkFBc0I7b0JBQ3RCLG9DQUFvQztpQkFDdkM7Z0JBQ0gsWUFBWSxFQUFFO29CQUNaLDBDQUEwQztpQkFDM0M7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDBDQUEwQztpQkFDM0M7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBGaWx0ZXJJdGVtTW9kdWxlLCBJbnB1dENoZWNrYm94TW9kdWxlLCBJbnB1dERhdGVQaWNrZXJNb2R1bGUsIElucHV0RGF0ZVJhbmdlUGlja2VyTW9kdWxlLCBJbnB1dFJhZGlvQnV0dG9uTW9kdWxlLCBJbnB1dFRleHRNb2R1bGV9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSBcIi4uLy4uLy4uL3BpcGUvcGlwZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRMb2dpc3RpY3NDb21wb25lbnR9IGZyb20gXCIuL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LWxvZ2lzdGljcy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkZpbHRlckhpc3RvcmljU3RhdGVNb2R1bGV9IGZyb20gXCIuLi90cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUvdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgRmlsdGVySXRlbU1vZHVsZSxcclxuICAgICAgICBJbnB1dERhdGVSYW5nZVBpY2tlck1vZHVsZSxcclxuICAgICAgICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgICAgICAgUGlwZU1vZHVsZSxcclxuICAgICAgICBJbnB1dERhdGVQaWNrZXJNb2R1bGUsXHJcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIElucHV0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkZpbHRlckhpc3RvcmljU3RhdGVNb2R1bGVcclxuICAgIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRMb2dpc3RpY3NDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudExvZ2lzdGljc0NvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudExvZ2lzdGljc01vZHVsZSB7XHJcbn1cclxuIl19
@@ -1,8 +1,10 @@
1
+ import { __awaiter } from "tslib";
1
2
  import { Component, HostBinding } from "@angular/core";
2
3
  import { FilterViewmodel } from "../../../model/filter-viewmodel";
3
4
  import { TransactionService } from "../../../service/transaction.service";
4
5
  import { FilterRequestService } from "../service/filter-request.service";
5
6
  import { TransactionSearchService } from "../service/transaction-search.service";
7
+ import { RelationRequest } from "@colijnit/transactionapi/build/model/relation-request";
6
8
  export class TransactionFilterContentOrderComponent {
7
9
  constructor(searchService, filterRequestService, _transactionService) {
8
10
  this.searchService = searchService;
@@ -18,6 +20,13 @@ export class TransactionFilterContentOrderComponent {
18
20
  this.onHoldCodeFields = { text: "description", value: "onHoldCode" };
19
21
  this.commissionCodeFields = { text: "description", value: "code" };
20
22
  this.customerGroupFields = { text: "naam", value: "groepsnummer" };
23
+ this.loadCustomers = (nameFilter) => __awaiter(this, void 0, void 0, function* () {
24
+ const request = new RelationRequest();
25
+ request.familyName = nameFilter;
26
+ return this._transactionService.getRelationListObjects(request).then((relations) => {
27
+ return new FilterViewmodel(relations, { text: 'familyName', value: 'familyName' }).filterItems;
28
+ });
29
+ });
21
30
  }
22
31
  showClass() {
23
32
  return true;
@@ -34,6 +43,10 @@ export class TransactionFilterContentOrderComponent {
34
43
  onFilterButtonClick() {
35
44
  this.searchService.searchTransactions();
36
45
  }
46
+ handleCollectionChangeCustomerName(collection) {
47
+ const checkedItem = collection.find(c => c.checked);
48
+ this.filterRequestService.handleCollectionChangeForSingleValue(checkedItem ? checkedItem.code + "" : "", 'relationName');
49
+ }
37
50
  _setRangeDates() {
38
51
  this.transStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.rangeTransDate, 0);
39
52
  this.transEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.rangeTransDate, 1);
@@ -91,7 +104,7 @@ TransactionFilterContentOrderComponent.decorators = [
91
104
  <co-input-date-range
92
105
  [startDate]="transStartDate"
93
106
  [endDate]="transEndDate"
94
- (dateRangeChange)="this.filterRequestService.handleDateRangeChange($event, 'rangeTransDate')"
107
+ (dateRangeChange)="filterRequestService.handleDateRangeChange($event, 'rangeTransDate')"
95
108
  [placeholder]="'SELECT_DATE' | localize">
96
109
  </co-input-date-range>
97
110
  </co-filter-item>
@@ -104,7 +117,7 @@ TransactionFilterContentOrderComponent.decorators = [
104
117
  <co-input-date-range
105
118
  [startDate]="deliveryStartDate"
106
119
  [endDate]="deliveryEndDate"
107
- (dateRangeChange)="this.filterRequestService.handleDateRangeChange($event, 'deliveryDateRange')"
120
+ (dateRangeChange)="filterRequestService.handleDateRangeChange($event, 'deliveryDateRange')"
108
121
  [placeholder]="'SELECT_DATE' | localize">
109
122
  </co-input-date-range>
110
123
  </co-filter-item>
@@ -117,7 +130,7 @@ TransactionFilterContentOrderComponent.decorators = [
117
130
  [searchPlaceholder]="searchPlaceholder | localize"
118
131
  [showMoreLabel]="showMoreLabel | localize"
119
132
  [showLessLabel]="showLessLabel | localize"
120
- (collectionChange)="this.filterRequestService.handleCollectionChangeForRange($event, 'rangeBranchId')"
133
+ (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeBranchId')"
121
134
  >
122
135
  </co-filter-item>
123
136
 
@@ -129,7 +142,7 @@ TransactionFilterContentOrderComponent.decorators = [
129
142
  [searchPlaceholder]="searchPlaceholder | localize"
130
143
  [showMoreLabel]="showMoreLabel | localize"
131
144
  [showLessLabel]="showLessLabel | localize"
132
- (collectionChange)="this.filterRequestService.handleCollectionChangeForRange($event, 'rangeSalesPerson')"
145
+ (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeSalesPerson')"
133
146
  >
134
147
  </co-filter-item>
135
148
 
@@ -150,7 +163,7 @@ TransactionFilterContentOrderComponent.decorators = [
150
163
  [searchPlaceholder]="searchPlaceholder | localize"
151
164
  [showMoreLabel]="showMoreLabel | localize"
152
165
  [showLessLabel]="showLessLabel | localize"
153
- (collectionChange)="this.filterRequestService.handleCollectionChangeForRange($event, 'tagRange')"
166
+ (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'tagRange')"
154
167
  >
155
168
  <co-input-text [(model)]="searchRequest.tagRange" [placeholder]="'TAGS' | localize"></co-input-text>
156
169
  </co-filter-item>
@@ -163,7 +176,7 @@ TransactionFilterContentOrderComponent.decorators = [
163
176
  [searchPlaceholder]="searchPlaceholder | localize"
164
177
  [showMoreLabel]="showMoreLabel | localize"
165
178
  [showLessLabel]="showLessLabel | localize"
166
- (collectionChange)="this.filterRequestService.handleCollectionChangeForRange($event,'rangeOnHoldCodes')"
179
+ (collectionChange)="filterRequestService.handleCollectionChangeForRange($event,'rangeOnHoldCodes')"
167
180
  >
168
181
  <co-input-text [(model)]="searchRequest.tagRange" [placeholder]="'TAGS' | localize"></co-input-text>
169
182
  </co-filter-item>
@@ -175,7 +188,7 @@ TransactionFilterContentOrderComponent.decorators = [
175
188
  [expanded]="true">
176
189
  <co-input-checkbox
177
190
  [model]="searchRequest.transactionDefinitive === 'J'"
178
- (modelChange)="this.filterRequestService.handleCheckboxValueChangeForString($event, 'transactionDefinitive')"
191
+ (modelChange)="filterRequestService.handleCheckboxValueChangeForString($event, 'transactionDefinitive')"
179
192
  [label]="'ORDER_DEFINITIVE' | localize"></co-input-checkbox>
180
193
  </co-filter-item>
181
194
 
@@ -187,7 +200,7 @@ TransactionFilterContentOrderComponent.decorators = [
187
200
  [searchPlaceholder]="searchPlaceholder | localize"
188
201
  [showMoreLabel]="showMoreLabel | localize"
189
202
  [showLessLabel]="showLessLabel | localize"
190
- (collectionChange)="this.filterRequestService.handleCollectionChangeForArray($event, 'commissionCodes')"
203
+ (collectionChange)="filterRequestService.handleCollectionChangeForArray($event, 'commissionCodes')"
191
204
  >
192
205
  </co-filter-item>
193
206
 
@@ -203,13 +216,15 @@ TransactionFilterContentOrderComponent.decorators = [
203
216
  ></co-input-checkbox>
204
217
  </co-filter-item>
205
218
 
206
- <!--Klantnaam: voorlopig met input-text. todo: aanpassen als er een collection API is-->
219
+ <!--Klantnaam-->
207
220
  <co-filter-item
208
221
  [placeholder]="'CUSTOMER_NAME' | localize"
209
- [customContent]="true"
210
- [expanded]="true">
211
- <co-input-text [(model)]="searchRequest.relationName"
212
- [placeholder]="'CUSTOMER_NAME' | localize"></co-input-text>
222
+ [expanded]="true"
223
+ [singleSelect]="true"
224
+ [minSearchCharsToLoadCollection]="3"
225
+ [collectionLoadFn]="loadCustomers"
226
+ (collectionChange)="handleCollectionChangeCustomerName($event)"
227
+ >
213
228
  </co-filter-item>
214
229
 
215
230
  <!--Klantgroep-->
@@ -220,7 +235,7 @@ TransactionFilterContentOrderComponent.decorators = [
220
235
  [searchPlaceholder]="searchPlaceholder | localize"
221
236
  [showMoreLabel]="showMoreLabel | localize"
222
237
  [showLessLabel]="showLessLabel | localize"
223
- (collectionChange)="this.filterRequestService.handleCollectionChangeForSingleValue($event, 'customerGroupId')">
238
+ (collectionChange)="filterRequestService.handleCollectionChangeForSingleValue($event, 'customerGroupId')">
224
239
  </co-filter-item>
225
240
  <div class="filter-button-container">
226
241
  <co-button class="clickable" [label]="'Filter'" (click)="onFilterButtonClick()"></co-button>
@@ -237,4 +252,4 @@ TransactionFilterContentOrderComponent.ctorParameters = () => [
237
252
  TransactionFilterContentOrderComponent.propDecorators = {
238
253
  showClass: [{ type: HostBinding, args: ["class.co-transaction-filter-content-order",] }]
239
254
  };
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQVMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUF3SmpGLE1BQU0sT0FBTyxzQ0FBc0M7SUFvQ2pELFlBQ1MsYUFBdUMsRUFDdkMsb0JBQTBDLEVBQ3pDLG1CQUF1QztRQUZ4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDdkMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUN6Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBaEMxQyxrQkFBYSxHQUFpQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUUvRSxzQkFBaUIsR0FBVyxzQkFBc0IsQ0FBQztRQUNuRCxrQkFBYSxHQUFXLFdBQVcsQ0FBQztRQUNwQyxrQkFBYSxHQUFXLFdBQVcsQ0FBQztRQUdwQyx1QkFBa0IsR0FBb0IsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQztRQUcxRSxlQUFVLEdBQW9CLEVBQUMsSUFBSSxFQUFF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LDJDQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJyYW5jaExvdiB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYnJhbmNoLWxvdi5ib1wiO1xyXG5pbXBvcnQgeyBDb0RvbWFpblZhbHVlIH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jby1kb21haW4tdmFsdWUuYm9cIjtcclxuaW1wb3J0IHsgQ3VzdG9tZXJHcm91cCB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3VzdG9tZXItZ3JvdXAuYm9cIjtcclxuaW1wb3J0IHsgT25Ib2xkQ29kZSB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb24taG9sZC1jb2RlLmJvXCI7XHJcbmltcG9ydCB7IFNhbGVzUGVyc29uIH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9zYWxlcy1wZXJzb24uYm9cIjtcclxuaW1wb3J0IHsgVGFnIH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90YWdcIjtcclxuaW1wb3J0IHsgVHJhbnNhY3Rpb25TZWFyY2hWaWV3UmVxdWVzdCB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tc2VhcmNoLXZpZXctcmVxdWVzdFwiO1xyXG5pbXBvcnQgeyBGaWx0ZXJJdGVtVmlld21vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVsL2ZpbHRlci1pdGVtLnZpZXdtb2RlbFwiO1xyXG5pbXBvcnQgeyBGaWx0ZXJWaWV3bW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWwvZmlsdGVyLXZpZXdtb2RlbFwiO1xyXG5pbXBvcnQgeyBUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEZpbHRlclJlcXVlc3RTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2UvZmlsdGVyLXJlcXVlc3Quc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZS90cmFuc2FjdGlvbi1zZWFyY2guc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1vcmRlcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1vcmRlci13cmFwcGVyXCI+XHJcblxyXG4gICAgICA8IS0tT3JkZXJkYXR1bS0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0RBVEUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LWRhdGUtcmFuZ2VcclxuICAgICAgICAgIFtzdGFydERhdGVdPVwidHJhbnNTdGFydERhdGVcIlxyXG4gICAgICAgICAgW2VuZERhdGVdPVwidHJhbnNFbmREYXRlXCJcclxuICAgICAgICAgIChkYXRlUmFuZ2VDaGFuZ2UpPVwidGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVEYXRlUmFuZ2VDaGFuZ2UoJGV2ZW50LCAncmFuZ2VUcmFuc0RhdGUnKVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFTEVDVF9EQVRFJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgPC9jby1pbnB1dC1kYXRlLXJhbmdlPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUxldmVyZGF0dW0tLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidERUxJVkVSWV9EQVRFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxjby1pbnB1dC1kYXRlLXJhbmdlXHJcbiAgICAgICAgICBbc3RhcnREYXRlXT1cImRlbGl2ZXJ5U3RhcnREYXRlXCJcclxuICAgICAgICAgIFtlbmREYXRlXT1cImRlbGl2ZXJ5RW5kRGF0ZVwiXHJcbiAgICAgICAgICAoZGF0ZVJhbmdlQ2hhbmdlKT1cInRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlRGF0ZVJhbmdlQ2hhbmdlKCRldmVudCwgJ2RlbGl2ZXJ5RGF0ZVJhbmdlJylcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUxFQ1RfREFURScgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgIDwvY28taW5wdXQtZGF0ZS1yYW5nZT5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1GaWxpYWFsLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInQlJBTkNIJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2NvbGxlY3Rpb25dPVwiYnJhbmNoZXNcIlxyXG4gICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlciB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd01vcmVMYWJlbF09XCJzaG93TW9yZUxhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TGVzc0xhYmVsXT1cInNob3dMZXNzTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwidGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCAncmFuZ2VCcmFuY2hJZCcpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLVZlcmtvcGVyLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInSEFORExFRF9CWScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjb2xsZWN0aW9uXT1cInNhbGVzUGVyc29uc1wiXHJcbiAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TW9yZUxhYmVsXT1cInNob3dNb3JlTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dMZXNzTGFiZWxdPVwic2hvd0xlc3NMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJ0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JSYW5nZSgkZXZlbnQsICdyYW5nZVNhbGVzUGVyc29uJylcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tRWlnZW4gcmVmZXJlbnRpZS0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09XTl9SRUZFUkVOQ0UnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC51c2VyUmVmZXJlbmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09XTl9SRUZFUkVOQ0UnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tVGFncy0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1RBR1MnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY29sbGVjdGlvbl09XCJ0YWdzXCJcclxuICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dNb3JlTGFiZWxdPVwic2hvd01vcmVMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd0xlc3NMYWJlbF09XCJzaG93TGVzc0xhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cInRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclJhbmdlKCRldmVudCwgJ3RhZ1JhbmdlJylcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC50YWdSYW5nZVwiIFtwbGFjZWhvbGRlcl09XCInVEFHUycgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1PbiBob2xkIGNvZGVzLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInT05fSE9MRCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjb2xsZWN0aW9uXT1cIm9uSG9sZENvZGVzXCJcclxuICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dNb3JlTGFiZWxdPVwic2hvd01vcmVMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd0xlc3NMYWJlbF09XCJzaG93TGVzc0xhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cInRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclJhbmdlKCRldmVudCwncmFuZ2VPbkhvbGRDb2RlcycpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QudGFnUmFuZ2VcIiBbcGxhY2Vob2xkZXJdPVwiJ1RBR1MnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tT3JkZXIgZGVmaW5pdGllZi0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0RFRklOSVRJVkUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICBbbW9kZWxdPVwic2VhcmNoUmVxdWVzdC50cmFuc2FjdGlvbkRlZmluaXRpdmUgPT09ICdKJ1wiXHJcbiAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwidGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDaGVja2JveFZhbHVlQ2hhbmdlRm9yU3RyaW5nKCRldmVudCwgJ3RyYW5zYWN0aW9uRGVmaW5pdGl2ZScpXCJcclxuICAgICAgICAgIFtsYWJlbF09XCInT1JERVJfREVGSU5JVElWRScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tQ29tbWlzc2llY29kZS0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0NPTU1JU1NJT05fQ09ERScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjb2xsZWN0aW9uXT1cImNvbW1pc3Npb25Db2Rlc1wiXHJcbiAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TW9yZUxhYmVsXT1cInNob3dNb3JlTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dMZXNzTGFiZWxdPVwic2hvd0xlc3NMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJ0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JBcnJheSgkZXZlbnQsICdjb21taXNzaW9uQ29kZXMnKVwiXHJcbiAgICAgID5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1JbmFjdGlldmUgdHJhbnNhY3RpZXMtLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidJTkFDVElWRV9UUkFOU0FDVElPTlMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICBbbW9kZWxdPVwic2VhcmNoUmVxdWVzdC5hY3RpdmUgPT09IGZhbHNlXCJcclxuICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJzZWFyY2hSZXF1ZXN0LmFjdGl2ZSA9ICEkZXZlbnRcIlxyXG4gICAgICAgICAgW2xhYmVsXT1cIidJTkFDVElWRV9UUkFOU0FDVElPTlMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUtsYW50bmFhbTogdm9vcmxvcGlnIG1ldCBpbnB1dC10ZXh0LiB0b2RvOiBhYW5wYXNzZW4gYWxzIGVyIGVlbiBjb2xsZWN0aW9uIEFQSSBpcy0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0NVU1RPTUVSX05BTUUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC5yZWxhdGlvbk5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ1VTVE9NRVJfTkFNRScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1LbGFudGdyb2VwLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ1VTVE9NRVJfR1JPVVAnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY29sbGVjdGlvbl09XCJjdXN0b21lckdyb3Vwc1wiXHJcbiAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TW9yZUxhYmVsXT1cInNob3dNb3JlTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dMZXNzTGFiZWxdPVwic2hvd0xlc3NMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJ0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JTaW5nbGVWYWx1ZSgkZXZlbnQsICdjdXN0b21lckdyb3VwSWQnKVwiPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWJ1dHRvbi1jb250YWluZXJcIj5cclxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xpY2thYmxlXCIgW2xhYmVsXT1cIidGaWx0ZXInXCIgKGNsaWNrKT1cIm9uRmlsdGVyQnV0dG9uQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudE9yZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXJcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VhcmNoUmVxdWVzdDogVHJhbnNhY3Rpb25TZWFyY2hWaWV3UmVxdWVzdCA9IHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0O1xyXG5cclxuICBwdWJsaWMgc2VhcmNoUGxhY2Vob2xkZXI6IHN0cmluZyA9IFwiU0VBUkNIX0lOX0NPTExFQ1RJT05cIjtcclxuICBwdWJsaWMgc2hvd01vcmVMYWJlbDogc3RyaW5nID0gXCJTSE9XX01PUkVcIjtcclxuICBwdWJsaWMgc2hvd0xlc3NMYWJlbDogc3RyaW5nID0gXCJTSE9XX0xFU1NcIjtcclxuXHJcbiAgcHVibGljIHNhbGVzUGVyc29uczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBzYWxlc1BlcnNvbnNGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcIm5hbWVcIiwgdmFsdWU6IFwicmVsYXRpb25JZFwifTtcclxuXHJcbiAgcHVibGljIHRhZ3M6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgdGFnc0ZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwidGFnVmFsdWVJZFwifTtcclxuXHJcbiAgcHVibGljIGJyYW5jaGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGJyYW5jaEZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwicmVsYXRpb25JZFwifTtcclxuXHJcbiAgcHVibGljIG9uSG9sZENvZGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIG9uSG9sZENvZGVGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcIm9uSG9sZENvZGVcIn07XHJcblxyXG4gIHB1YmxpYyBjb21taXNzaW9uQ29kZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgY29tbWlzc2lvbkNvZGVGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XHJcblxyXG4gIHB1YmxpYyBjdXN0b21lckdyb3VwczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBjdXN0b21lckdyb3VwRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJuYWFtXCIsIHZhbHVlOiBcImdyb2Vwc251bW1lclwifTtcclxuXHJcbiAgcHVibGljIHRyYW5zU3RhcnREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyB0cmFuc0VuZERhdGU6IERhdGU7XHJcbiAgcHVibGljIGRlbGl2ZXJ5U3RhcnREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBkZWxpdmVyeUVuZERhdGU6IERhdGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHNlYXJjaFNlcnZpY2U6IFRyYW5zYWN0aW9uU2VhcmNoU2VydmljZSxcclxuICAgIHB1YmxpYyBmaWx0ZXJSZXF1ZXN0U2VydmljZTogRmlsdGVyUmVxdWVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldFJhbmdlRGF0ZXMoKTtcclxuICAgIHRoaXMuX3NldFNhbGVzUGVyc29ucygpO1xyXG4gICAgdGhpcy5fc2V0VGFncygpO1xyXG4gICAgdGhpcy5fc2V0QnJhbmNoZXMoKTtcclxuICAgIHRoaXMuX3NldE9uSG9sZENvZGVzKCk7XHJcbiAgICB0aGlzLl9zZXRDb21taXNzaW9uQ29kZXMoKTtcclxuICAgIHRoaXMuX3NldEN1c3RvbWVyR3JvdXBzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25GaWx0ZXJCdXR0b25DbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hUcmFuc2FjdGlvbnMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldFJhbmdlRGF0ZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zU3RhcnREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QucmFuZ2VUcmFuc0RhdGUsIDApO1xyXG4gICAgdGhpcy50cmFuc0VuZERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5yYW5nZVRyYW5zRGF0ZSwgMSk7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5U3RhcnREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QuZGVsaXZlcnlEYXRlUmFuZ2UsIDApO1xyXG4gICAgdGhpcy5kZWxpdmVyeUVuZERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5kZWxpdmVyeURhdGVSYW5nZSwgMSk7XHJcbiAgfVxyXG5cclxuICAvL1ZlcmtvcGVyXHJcbiAgcHJpdmF0ZSBfc2V0U2FsZXNQZXJzb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldFNhbGVzUGVyc29ucygpLnRoZW4oKHNhbGVzUGVyc29uczogU2FsZXNQZXJzb25bXSkgPT4ge1xyXG4gICAgICB0aGlzLnNhbGVzUGVyc29ucyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoc2FsZXNQZXJzb25zLCB0aGlzLnNhbGVzUGVyc29uc0ZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIFRhZ3NcclxuICBwcml2YXRlIF9zZXRUYWdzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldFRhZ3MoMSkudGhlbigodGFnczogVGFnW10pID0+IHtcclxuICAgICAgdGhpcy50YWdzID0gbmV3IEZpbHRlclZpZXdtb2RlbCh0YWdzLCB0aGlzLnRhZ3NGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0JyYW5jaGVzXHJcbiAgcHJpdmF0ZSBfc2V0QnJhbmNoZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0QnJhbmNoZXMoKS50aGVuKChicmFuY2hlczogQnJhbmNoTG92W10pID0+IHtcclxuICAgICAgdGhpcy5icmFuY2hlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoYnJhbmNoZXMsIHRoaXMuYnJhbmNoRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9PbkhvbGRDb2Rlc1xyXG4gIHByaXZhdGUgX3NldE9uSG9sZENvZGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldE9uSG9sZENvZGVzKCkudGhlbigob25Ib2xkQ29kZXM6IE9uSG9sZENvZGVbXSkgPT4ge1xyXG4gICAgICB0aGlzLm9uSG9sZENvZGVzID0gbmV3IEZpbHRlclZpZXdtb2RlbChvbkhvbGRDb2RlcywgdGhpcy5vbkhvbGRDb2RlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9Db21taXNzaW9uQ29kZXNcclxuICBwcml2YXRlIF9zZXRDb21taXNzaW9uQ29kZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0Q29tbWlzc2lvbkNvZGVzKFwiTkxcIikudGhlbigoY29tbWlzc2lvbkNvZGVzOiBDb0RvbWFpblZhbHVlW10pID0+IHtcclxuICAgICAgdGhpcy5jb21taXNzaW9uQ29kZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKGNvbW1pc3Npb25Db2RlcywgdGhpcy5jb21taXNzaW9uQ29kZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vQ3VzdG9tZXJHcm91cHNcclxuICBwcml2YXRlIF9zZXRDdXN0b21lckdyb3VwcygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRDdXN0b21lckdyb3VwcygpLnRoZW4oKGN1c3RvbWVyR3JvdXBzOiBDdXN0b21lckdyb3VwW10pID0+IHtcclxuICAgICAgdGhpcy5jdXN0b21lckdyb3VwcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoY3VzdG9tZXJHcm91cHMsIHRoaXMuY3VzdG9tZXJHcm91cEZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFTN0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQTJKdEYsTUFBTSxPQUFPLHNDQUFzQztJQW9DakQsWUFDUyxhQUF1QyxFQUN2QyxvQkFBMEMsRUFDekMsbUJBQXVDO1FBRnhDLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQ3pDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFoQzFDLGtCQUFhLEdBQWlDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBRS9FLHNCQUFpQixHQUFXLHNCQUFzQixDQUFDO1FBQ25ELGtCQUFhLEdBQVcsV0FBVyxDQUFDO1FBQ3BDLGtCQUFhLEdBQVcsV0FBVyxDQUFDO1FBR3BDLHVCQUFrQixHQUFvQixFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlB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QUksQ0FBQyxDQUFDLGVBQWdDLEVBQUUsRUFBRTtZQUMxRixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDckcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ1Isa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQStCLEVBQUUsRUFBRTtZQUNwRixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksZUFBZSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDbEcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE3UUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQ0FBcUM7Z0JBQy9DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9KVDthQUNGOzs7WUEzSk8sd0JBQXdCO1lBRHhCLG9CQUFvQjtZQURwQixrQkFBa0I7Ozt3QkFnS3ZCLFdBQVcsU0FBQywyQ0FBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uSW5pdH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtCcmFuY2hMb3Z9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYnJhbmNoLWxvdi5ib1wiO1xyXG5pbXBvcnQge0NvRG9tYWluVmFsdWV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY28tZG9tYWluLXZhbHVlLmJvXCI7XHJcbmltcG9ydCB7Q3VzdG9tZXJHcm91cH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1ncm91cC5ib1wiO1xyXG5pbXBvcnQge09uSG9sZENvZGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb24taG9sZC1jb2RlLmJvXCI7XHJcbmltcG9ydCB7U2FsZXNQZXJzb259IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2FsZXMtcGVyc29uLmJvXCI7XHJcbmltcG9ydCB7VGFnfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RhZ1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VhcmNoVmlld1JlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tc2VhcmNoLXZpZXctcmVxdWVzdFwiO1xyXG5pbXBvcnQge0ZpbHRlckl0ZW1WaWV3bW9kZWx9IGZyb20gXCIuLi8uLi8uLi9tb2RlbC9maWx0ZXItaXRlbS52aWV3bW9kZWxcIjtcclxuaW1wb3J0IHtGaWx0ZXJWaWV3bW9kZWx9IGZyb20gXCIuLi8uLi8uLi9tb2RlbC9maWx0ZXItdmlld21vZGVsXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RmlsdGVyUmVxdWVzdFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlL2ZpbHRlci1yZXF1ZXN0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNlYXJjaC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UmVsYXRpb25SZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXItd3JhcHBlclwiPlxyXG5cclxuICAgICAgPCEtLU9yZGVyZGF0dW0tLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidPUkRFUl9EQVRFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxjby1pbnB1dC1kYXRlLXJhbmdlXHJcbiAgICAgICAgICBbc3RhcnREYXRlXT1cInRyYW5zU3RhcnREYXRlXCJcclxuICAgICAgICAgIFtlbmREYXRlXT1cInRyYW5zRW5kRGF0ZVwiXHJcbiAgICAgICAgICAoZGF0ZVJhbmdlQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZURhdGVSYW5nZUNoYW5nZSgkZXZlbnQsICdyYW5nZVRyYW5zRGF0ZScpXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VMRUNUX0RBVEUnIHwgbG9jYWxpemVcIj5cclxuICAgICAgICA8L2NvLWlucHV0LWRhdGUtcmFuZ2U+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tTGV2ZXJkYXR1bS0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJZX0RBVEUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LWRhdGUtcmFuZ2VcclxuICAgICAgICAgIFtzdGFydERhdGVdPVwiZGVsaXZlcnlTdGFydERhdGVcIlxyXG4gICAgICAgICAgW2VuZERhdGVdPVwiZGVsaXZlcnlFbmREYXRlXCJcclxuICAgICAgICAgIChkYXRlUmFuZ2VDaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlRGF0ZVJhbmdlQ2hhbmdlKCRldmVudCwgJ2RlbGl2ZXJ5RGF0ZVJhbmdlJylcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUxFQ1RfREFURScgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgIDwvY28taW5wdXQtZGF0ZS1yYW5nZT5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1GaWxpYWFsLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInQlJBTkNIJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2NvbGxlY3Rpb25dPVwiYnJhbmNoZXNcIlxyXG4gICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlciB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd01vcmVMYWJlbF09XCJzaG93TW9yZUxhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TGVzc0xhYmVsXT1cInNob3dMZXNzTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclJhbmdlKCRldmVudCwgJ3JhbmdlQnJhbmNoSWQnKVwiXHJcbiAgICAgID5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1WZXJrb3Blci0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0hBTkRMRURfQlknIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY29sbGVjdGlvbl09XCJzYWxlc1BlcnNvbnNcIlxyXG4gICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlciB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd01vcmVMYWJlbF09XCJzaG93TW9yZUxhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TGVzc0xhYmVsXT1cInNob3dMZXNzTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclJhbmdlKCRldmVudCwgJ3JhbmdlU2FsZXNQZXJzb24nKVwiXHJcbiAgICAgID5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1FaWdlbiByZWZlcmVudGllLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInT1dOX1JFRkVSRU5DRScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnVzZXJSZWZlcmVuY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInT1dOX1JFRkVSRU5DRScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1UYWdzLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInVEFHUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjb2xsZWN0aW9uXT1cInRhZ3NcIlxyXG4gICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlciB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd01vcmVMYWJlbF09XCJzaG93TW9yZUxhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TGVzc0xhYmVsXT1cInNob3dMZXNzTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclJhbmdlKCRldmVudCwgJ3RhZ1JhbmdlJylcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC50YWdSYW5nZVwiIFtwbGFjZWhvbGRlcl09XCInVEFHUycgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1PbiBob2xkIGNvZGVzLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInT05fSE9MRCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjb2xsZWN0aW9uXT1cIm9uSG9sZENvZGVzXCJcclxuICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dNb3JlTGFiZWxdPVwic2hvd01vcmVMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd0xlc3NMYWJlbF09XCJzaG93TGVzc0xhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JSYW5nZSgkZXZlbnQsJ3JhbmdlT25Ib2xkQ29kZXMnKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnRhZ1JhbmdlXCIgW3BsYWNlaG9sZGVyXT1cIidUQUdTJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLU9yZGVyIGRlZmluaXRpZWYtLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidPUkRFUl9ERUZJTklUSVZFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgW21vZGVsXT1cInNlYXJjaFJlcXVlc3QudHJhbnNhY3Rpb25EZWZpbml0aXZlID09PSAnSidcIlxyXG4gICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNoZWNrYm94VmFsdWVDaGFuZ2VGb3JTdHJpbmcoJGV2ZW50LCAndHJhbnNhY3Rpb25EZWZpbml0aXZlJylcIlxyXG4gICAgICAgICAgW2xhYmVsXT1cIidPUkRFUl9ERUZJTklUSVZFJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1Db21taXNzaWVjb2RlLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ09NTUlTU0lPTl9DT0RFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2NvbGxlY3Rpb25dPVwiY29tbWlzc2lvbkNvZGVzXCJcclxuICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dNb3JlTGFiZWxdPVwic2hvd01vcmVMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd0xlc3NMYWJlbF09XCJzaG93TGVzc0xhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JBcnJheSgkZXZlbnQsICdjb21taXNzaW9uQ29kZXMnKVwiXHJcbiAgICAgID5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1JbmFjdGlldmUgdHJhbnNhY3RpZXMtLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidJTkFDVElWRV9UUkFOU0FDVElPTlMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICBbbW9kZWxdPVwic2VhcmNoUmVxdWVzdC5hY3RpdmUgPT09IGZhbHNlXCJcclxuICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJzZWFyY2hSZXF1ZXN0LmFjdGl2ZSA9ICEkZXZlbnRcIlxyXG4gICAgICAgICAgW2xhYmVsXT1cIidJTkFDVElWRV9UUkFOU0FDVElPTlMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUtsYW50bmFhbS0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0NVU1RPTUVSX05BTUUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbc2luZ2xlU2VsZWN0XT1cInRydWVcIlxyXG4gICAgICAgIFttaW5TZWFyY2hDaGFyc1RvTG9hZENvbGxlY3Rpb25dPVwiM1wiXHJcbiAgICAgICAgW2NvbGxlY3Rpb25Mb2FkRm5dPVwibG9hZEN1c3RvbWVyc1wiXHJcbiAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUN1c3RvbWVyTmFtZSgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUtsYW50Z3JvZXAtLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDVVNUT01FUl9HUk9VUCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjb2xsZWN0aW9uXT1cImN1c3RvbWVyR3JvdXBzXCJcclxuICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dNb3JlTGFiZWxdPVwic2hvd01vcmVMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd0xlc3NMYWJlbF09XCJzaG93TGVzc0xhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImZpbHRlclJlcXVlc3RTZXJ2aWNlLmhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JTaW5nbGVWYWx1ZSgkZXZlbnQsICdjdXN0b21lckdyb3VwSWQnKVwiPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWJ1dHRvbi1jb250YWluZXJcIj5cclxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xpY2thYmxlXCIgW2xhYmVsXT1cIidGaWx0ZXInXCIgKGNsaWNrKT1cIm9uRmlsdGVyQnV0dG9uQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudE9yZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXJcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VhcmNoUmVxdWVzdDogVHJhbnNhY3Rpb25TZWFyY2hWaWV3UmVxdWVzdCA9IHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0O1xyXG5cclxuICBwdWJsaWMgc2VhcmNoUGxhY2Vob2xkZXI6IHN0cmluZyA9IFwiU0VBUkNIX0lOX0NPTExFQ1RJT05cIjtcclxuICBwdWJsaWMgc2hvd01vcmVMYWJlbDogc3RyaW5nID0gXCJTSE9XX01PUkVcIjtcclxuICBwdWJsaWMgc2hvd0xlc3NMYWJlbDogc3RyaW5nID0gXCJTSE9XX0xFU1NcIjtcclxuXHJcbiAgcHVibGljIHNhbGVzUGVyc29uczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBzYWxlc1BlcnNvbnNGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcIm5hbWVcIiwgdmFsdWU6IFwicmVsYXRpb25JZFwifTtcclxuXHJcbiAgcHVibGljIHRhZ3M6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgdGFnc0ZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwidGFnVmFsdWVJZFwifTtcclxuXHJcbiAgcHVibGljIGJyYW5jaGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGJyYW5jaEZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwicmVsYXRpb25JZFwifTtcclxuXHJcbiAgcHVibGljIG9uSG9sZENvZGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIG9uSG9sZENvZGVGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcIm9uSG9sZENvZGVcIn07XHJcblxyXG4gIHB1YmxpYyBjb21taXNzaW9uQ29kZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgY29tbWlzc2lvbkNvZGVGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XHJcblxyXG4gIHB1YmxpYyBjdXN0b21lckdyb3VwczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBjdXN0b21lckdyb3VwRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJuYWFtXCIsIHZhbHVlOiBcImdyb2Vwc251bW1lclwifTtcclxuXHJcbiAgcHVibGljIHRyYW5zU3RhcnREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyB0cmFuc0VuZERhdGU6IERhdGU7XHJcbiAgcHVibGljIGRlbGl2ZXJ5U3RhcnREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBkZWxpdmVyeUVuZERhdGU6IERhdGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHNlYXJjaFNlcnZpY2U6IFRyYW5zYWN0aW9uU2VhcmNoU2VydmljZSxcclxuICAgIHB1YmxpYyBmaWx0ZXJSZXF1ZXN0U2VydmljZTogRmlsdGVyUmVxdWVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldFJhbmdlRGF0ZXMoKTtcclxuICAgIHRoaXMuX3NldFNhbGVzUGVyc29ucygpO1xyXG4gICAgdGhpcy5fc2V0VGFncygpO1xyXG4gICAgdGhpcy5fc2V0QnJhbmNoZXMoKTtcclxuICAgIHRoaXMuX3NldE9uSG9sZENvZGVzKCk7XHJcbiAgICB0aGlzLl9zZXRDb21taXNzaW9uQ29kZXMoKTtcclxuICAgIHRoaXMuX3NldEN1c3RvbWVyR3JvdXBzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25GaWx0ZXJCdXR0b25DbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hUcmFuc2FjdGlvbnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2FkQ3VzdG9tZXJzID0gYXN5bmMgKG5hbWVGaWx0ZXI6IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgcmVxdWVzdDogUmVsYXRpb25SZXF1ZXN0ID0gbmV3IFJlbGF0aW9uUmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC5mYW1pbHlOYW1lID0gbmFtZUZpbHRlcjtcclxuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZXF1ZXN0KS50aGVuKChyZWxhdGlvbnM6IFJlbGF0aW9uTGlzdE9iamVjdFtdKSA9PiB7XHJcbiAgICAgIHJldHVybiBuZXcgRmlsdGVyVmlld21vZGVsKHJlbGF0aW9ucywge3RleHQ6ICdmYW1pbHlOYW1lJywgdmFsdWU6ICdmYW1pbHlOYW1lJ30pLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUN1c3RvbWVyTmFtZShjb2xsZWN0aW9uOiBGaWx0ZXJJdGVtVmlld21vZGVsW10pOiB2b2lkIHtcclxuICAgIGNvbnN0IGNoZWNrZWRJdGVtOiBGaWx0ZXJJdGVtVmlld21vZGVsID0gY29sbGVjdGlvbi5maW5kKGMgPT4gYy5jaGVja2VkKTtcclxuICAgIHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclNpbmdsZVZhbHVlKGNoZWNrZWRJdGVtID8gY2hlY2tlZEl0ZW0uY29kZSArIFwiXCIgOiBcIlwiLCAncmVsYXRpb25OYW1lJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRSYW5nZURhdGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc1N0YXJ0RGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LnJhbmdlVHJhbnNEYXRlLCAwKTtcclxuICAgIHRoaXMudHJhbnNFbmREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QucmFuZ2VUcmFuc0RhdGUsIDEpO1xyXG4gICAgdGhpcy5kZWxpdmVyeVN0YXJ0RGF0ZSA9IHRoaXMuZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmRlbGl2ZXJ5RGF0ZVJhbmdlLCAwKTtcclxuICAgIHRoaXMuZGVsaXZlcnlFbmREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QuZGVsaXZlcnlEYXRlUmFuZ2UsIDEpO1xyXG4gIH1cclxuXHJcbiAgLy9WZXJrb3BlclxyXG4gIHByaXZhdGUgX3NldFNhbGVzUGVyc29ucygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRTYWxlc1BlcnNvbnMoKS50aGVuKChzYWxlc1BlcnNvbnM6IFNhbGVzUGVyc29uW10pID0+IHtcclxuICAgICAgdGhpcy5zYWxlc1BlcnNvbnMgPSBuZXcgRmlsdGVyVmlld21vZGVsKHNhbGVzUGVyc29ucywgdGhpcy5zYWxlc1BlcnNvbnNGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBUYWdzXHJcbiAgcHJpdmF0ZSBfc2V0VGFncygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRUYWdzKDEpLnRoZW4oKHRhZ3M6IFRhZ1tdKSA9PiB7XHJcbiAgICAgIHRoaXMudGFncyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwodGFncywgdGhpcy50YWdzRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9CcmFuY2hlc1xyXG4gIHByaXZhdGUgX3NldEJyYW5jaGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldEJyYW5jaGVzKCkudGhlbigoYnJhbmNoZXM6IEJyYW5jaExvdltdKSA9PiB7XHJcbiAgICAgIHRoaXMuYnJhbmNoZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKGJyYW5jaGVzLCB0aGlzLmJyYW5jaEZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vT25Ib2xkQ29kZXNcclxuICBwcml2YXRlIF9zZXRPbkhvbGRDb2RlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRPbkhvbGRDb2RlcygpLnRoZW4oKG9uSG9sZENvZGVzOiBPbkhvbGRDb2RlW10pID0+IHtcclxuICAgICAgdGhpcy5vbkhvbGRDb2RlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwob25Ib2xkQ29kZXMsIHRoaXMub25Ib2xkQ29kZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vQ29tbWlzc2lvbkNvZGVzXHJcbiAgcHJpdmF0ZSBfc2V0Q29tbWlzc2lvbkNvZGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldENvbW1pc3Npb25Db2RlcyhcIk5MXCIpLnRoZW4oKGNvbW1pc3Npb25Db2RlczogQ29Eb21haW5WYWx1ZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMuY29tbWlzc2lvbkNvZGVzID0gbmV3IEZpbHRlclZpZXdtb2RlbChjb21taXNzaW9uQ29kZXMsIHRoaXMuY29tbWlzc2lvbkNvZGVGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0N1c3RvbWVyR3JvdXBzXHJcbiAgcHJpdmF0ZSBfc2V0Q3VzdG9tZXJHcm91cHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0Q3VzdG9tZXJHcm91cHMoKS50aGVuKChjdXN0b21lckdyb3VwczogQ3VzdG9tZXJHcm91cFtdKSA9PiB7XHJcbiAgICAgIHRoaXMuY3VzdG9tZXJHcm91cHMgPSBuZXcgRmlsdGVyVmlld21vZGVsKGN1c3RvbWVyR3JvdXBzLCB0aGlzLmN1c3RvbWVyR3JvdXBGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,60 @@
1
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
2
+ import { QuantityInHistoricState } from "@colijnit/transactionapi/build/enum/quantity-in-historic-state.enum";
3
+ export class TransactionFilterHistoricStateComponent {
4
+ constructor() {
5
+ this.expanded = true;
6
+ this.filterClicked = new EventEmitter();
7
+ this.states = [];
8
+ }
9
+ set label(value) {
10
+ this._label = value;
11
+ this.groupName = this._label.toLowerCase() + "_group";
12
+ this.labelNothing = "NOTHING_" + this._label.toUpperCase();
13
+ this.labelPartly = "PARTLY_" + this._label.toUpperCase();
14
+ this.labelFully = "FULLY_" + this._label.toUpperCase();
15
+ this._setStates();
16
+ }
17
+ get label() {
18
+ return this._label;
19
+ }
20
+ showClass() {
21
+ return true;
22
+ }
23
+ handleStateChange(value) {
24
+ this.filterClicked.emit(value);
25
+ }
26
+ _setStates() {
27
+ this.states = [
28
+ { label: this.labelNothing, value: QuantityInHistoricState.Nothing, checked: false },
29
+ { label: this.labelPartly, value: QuantityInHistoricState.Partly, checked: false },
30
+ { label: this.labelFully, value: QuantityInHistoricState.Fully, checked: false }
31
+ ];
32
+ }
33
+ }
34
+ TransactionFilterHistoricStateComponent.decorators = [
35
+ { type: Component, args: [{
36
+ selector: "co-transaction-filter-historic-state",
37
+ template: `
38
+ <co-filter-item
39
+ [placeholder]="label | localize"
40
+ [customContent]="true"
41
+ [expanded]="expanded">
42
+ <co-input-radio-button *ngFor="let state of states"
43
+ [name]="groupName"
44
+ [value]="state.value"
45
+ [model]="state.checked"
46
+ [label]="state.label | localize"
47
+ (modelChange)="handleStateChange($event)"
48
+ ></co-input-radio-button>
49
+ </co-filter-item>
50
+ `,
51
+ encapsulation: ViewEncapsulation.None
52
+ },] }
53
+ ];
54
+ TransactionFilterHistoricStateComponent.propDecorators = {
55
+ label: [{ type: Input }],
56
+ expanded: [{ type: Input }],
57
+ filterClicked: [{ type: Output }],
58
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-filter-historic-state",] }]
59
+ };
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUvdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQTBCNUcsTUFBTSxPQUFPLHVDQUF1QztJQWxCcEQ7UUFtQ1MsYUFBUSxHQUFZLElBQUksQ0FBQztRQUd6QixrQkFBYSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBY2pFLFdBQU0sR0FBcUIsRUFBRSxDQUFDO0lBYXZDLENBQUM7SUE3Q0MsSUFDVyxLQUFLLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEdBQUcsUUFBUSxDQUFDO1FBQ3RELElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFTTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBV00saUJBQWlCLENBQUMsS0FBVTtRQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsdUJBQXVCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUM7WUFDbEYsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUM7WUFDaEYsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUM7U0FDL0UsQ0FBQztJQUNKLENBQUM7OztZQWhFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNDQUFzQztnQkFDaEQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0dBYVQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztvQkFHRSxLQUFLO3VCQWNMLEtBQUs7NEJBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1F1YW50aXR5SW5IaXN0b3JpY1N0YXRlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vcXVhbnRpdHktaW4taGlzdG9yaWMtc3RhdGUuZW51bVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIaXN0b3JpY1N0YXRlcyB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB2YWx1ZTogUXVhbnRpdHlJbkhpc3RvcmljU3RhdGU7XHJcbiAgY2hlY2tlZDogYm9vbGVhbjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwibGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIj5cclxuICAgICAgPGNvLWlucHV0LXJhZGlvLWJ1dHRvbiAqbmdGb3I9XCJsZXQgc3RhdGUgb2Ygc3RhdGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJncm91cE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzdGF0ZS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInN0YXRlLmNoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJzdGF0ZS5sYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU3RhdGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLWlucHV0LXJhZGlvLWJ1dHRvbj5cclxuICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkZpbHRlckhpc3RvcmljU3RhdGVDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgbGFiZWwodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fbGFiZWwgPSB2YWx1ZTtcclxuICAgIHRoaXMuZ3JvdXBOYW1lID0gdGhpcy5fbGFiZWwudG9Mb3dlckNhc2UoKSArIFwiX2dyb3VwXCI7XHJcbiAgICB0aGlzLmxhYmVsTm90aGluZyA9IFwiTk9USElOR19cIiArIHRoaXMuX2xhYmVsLnRvVXBwZXJDYXNlKCk7XHJcbiAgICB0aGlzLmxhYmVsUGFydGx5ID0gXCJQQVJUTFlfXCIgKyB0aGlzLl9sYWJlbC50b1VwcGVyQ2FzZSgpO1xyXG4gICAgdGhpcy5sYWJlbEZ1bGx5ID0gXCJGVUxMWV9cIiArIHRoaXMuX2xhYmVsLnRvVXBwZXJDYXNlKCk7XHJcbiAgICB0aGlzLl9zZXRTdGF0ZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9sYWJlbDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGV4cGFuZGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGZpbHRlckNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xhYmVsOiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBncm91cE5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgbGFiZWxOb3RoaW5nOiBzdHJpbmc7XHJcbiAgcHVibGljIGxhYmVsUGFydGx5OiBzdHJpbmc7XHJcbiAgcHVibGljIGxhYmVsRnVsbHk6IHN0cmluZztcclxuXHJcbiAgcHVibGljIHN0YXRlczogSGlzdG9yaWNTdGF0ZXNbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RhdGVDaGFuZ2UodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJDbGlja2VkLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0U3RhdGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGF0ZXMgPSBbXHJcbiAgICAgIHtsYWJlbDogdGhpcy5sYWJlbE5vdGhpbmcsIHZhbHVlOiBRdWFudGl0eUluSGlzdG9yaWNTdGF0ZS5Ob3RoaW5nLCBjaGVja2VkOiBmYWxzZX0sXHJcbiAgICAgIHtsYWJlbDogdGhpcy5sYWJlbFBhcnRseSwgdmFsdWU6IFF1YW50aXR5SW5IaXN0b3JpY1N0YXRlLlBhcnRseSwgY2hlY2tlZDogZmFsc2V9LFxyXG4gICAgICB7bGFiZWw6IHRoaXMubGFiZWxGdWxseSwgdmFsdWU6IFF1YW50aXR5SW5IaXN0b3JpY1N0YXRlLkZ1bGx5LCBjaGVja2VkOiBmYWxzZX1cclxuICAgIF07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { TransactionFilterHistoricStateComponent } from "./transaction-filter-historic-state.component";
4
+ import { FilterItemModule, InputRadioButtonModule } from "@colijnit/corecomponents_v12";
5
+ import { PipeModule } from "../../../pipe/pipe.module";
6
+ export class TransactionFilterHistoricStateModule {
7
+ }
8
+ TransactionFilterHistoricStateModule.decorators = [
9
+ { type: NgModule, args: [{
10
+ imports: [
11
+ CommonModule,
12
+ FilterItemModule,
13
+ PipeModule,
14
+ InputRadioButtonModule
15
+ ],
16
+ declarations: [
17
+ TransactionFilterHistoricStateComponent
18
+ ],
19
+ exports: [
20
+ TransactionFilterHistoricStateComponent
21
+ ]
22
+ },] }
23
+ ];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUvdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFnQnJELE1BQU0sT0FBTyxvQ0FBb0M7OztZQWRoRCxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixVQUFVO29CQUNWLHNCQUFzQjtpQkFDdkI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHVDQUF1QztpQkFDeEM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHVDQUF1QztpQkFDeEM7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25GaWx0ZXJIaXN0b3JpY1N0YXRlQ29tcG9uZW50fSBmcm9tIFwiLi90cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7RmlsdGVySXRlbU1vZHVsZSwgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtQaXBlTW9kdWxlfSBmcm9tIFwiLi4vLi4vLi4vcGlwZS9waXBlLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGaWx0ZXJJdGVtTW9kdWxlLFxyXG4gICAgUGlwZU1vZHVsZSxcclxuICAgIElucHV0UmFkaW9CdXR0b25Nb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVHJhbnNhY3Rpb25GaWx0ZXJIaXN0b3JpY1N0YXRlQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUcmFuc2FjdGlvbkZpbHRlckhpc3RvcmljU3RhdGVDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkZpbHRlckhpc3RvcmljU3RhdGVNb2R1bGUge1xyXG59XHJcbiJdfQ==