@norwegian/core-components 6.54.2 → 6.55.0

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 (227) hide show
  1. package/assets/icons/medium/cloud--light.svg +6 -0
  2. package/assets/icons/medium/cloud.svg +6 -0
  3. package/assets/icons/medium/download--light.svg +3 -0
  4. package/assets/icons/medium/download.svg +3 -0
  5. package/assets/icons/medium/humidity--light.svg +6 -0
  6. package/assets/icons/medium/humidity.svg +6 -0
  7. package/assets/icons/medium/night--light.svg +6 -0
  8. package/assets/icons/medium/night.svg +6 -0
  9. package/assets/icons/medium/rain--light.svg +6 -0
  10. package/assets/icons/medium/rain-sun--light.svg +6 -0
  11. package/assets/icons/medium/rain-sun.svg +6 -0
  12. package/assets/icons/medium/rain.svg +6 -0
  13. package/assets/icons/medium/storm--light.svg +6 -0
  14. package/assets/icons/medium/storm.svg +6 -0
  15. package/assets/icons/medium/sun--light.svg +6 -0
  16. package/assets/icons/medium/sun-cloud--light.svg +6 -0
  17. package/assets/icons/medium/sun-cloud.svg +6 -0
  18. package/assets/icons/medium/sun.svg +6 -0
  19. package/assets/icons/medium/sunrise--light.svg +6 -0
  20. package/assets/icons/medium/sunrise.svg +6 -0
  21. package/assets/icons/medium/sunset--light.svg +6 -0
  22. package/assets/icons/medium/sunset.svg +6 -0
  23. package/assets/icons/medium/temperature--light.svg +6 -0
  24. package/assets/icons/medium/temperature.svg +6 -0
  25. package/assets/icons/medium/water--light.svg +8 -0
  26. package/assets/icons/medium/water.svg +8 -0
  27. package/assets/icons/small/download--light.svg +3 -0
  28. package/assets/icons/small/download.svg +3 -0
  29. package/assets/icons/small/rain--light.svg +1 -1
  30. package/assets/icons/small/rain-sun--light.svg +1 -1
  31. package/assets/icons/small/rain-sun.svg +1 -1
  32. package/assets/icons/small/rain.svg +1 -1
  33. package/assets/icons/small/storm--light.svg +1 -1
  34. package/assets/icons/small/storm.svg +1 -1
  35. package/assets/icons/small/sun-cloud--light.svg +1 -1
  36. package/assets/icons/small/sun-cloud.svg +1 -1
  37. package/assets/icons/xsmall/close--light.svg +7 -0
  38. package/assets/icons/xsmall/cloud--light.svg +6 -0
  39. package/assets/icons/xsmall/cloud.svg +6 -0
  40. package/assets/icons/xsmall/download--light.svg +3 -0
  41. package/assets/icons/xsmall/download.svg +3 -0
  42. package/assets/icons/xsmall/humidity--light.svg +6 -0
  43. package/assets/icons/xsmall/humidity.svg +6 -0
  44. package/assets/icons/xsmall/night--light.svg +6 -0
  45. package/assets/icons/xsmall/night.svg +6 -0
  46. package/assets/icons/xsmall/rain--light.svg +6 -0
  47. package/assets/icons/xsmall/rain-sun--light.svg +6 -0
  48. package/assets/icons/xsmall/rain-sun.svg +6 -0
  49. package/assets/icons/xsmall/rain.svg +6 -0
  50. package/assets/icons/xsmall/storm--light.svg +6 -0
  51. package/assets/icons/xsmall/storm.svg +6 -0
  52. package/assets/icons/xsmall/sun--light.svg +6 -0
  53. package/assets/icons/xsmall/sun-cloud--light.svg +6 -0
  54. package/assets/icons/xsmall/sun-cloud.svg +6 -0
  55. package/assets/icons/xsmall/sun.svg +6 -0
  56. package/assets/icons/xsmall/sunrise--light.svg +6 -0
  57. package/assets/icons/xsmall/sunrise.svg +6 -0
  58. package/assets/icons/xsmall/sunset--light.svg +6 -0
  59. package/assets/icons/xsmall/sunset.svg +6 -0
  60. package/assets/icons/xsmall/temperature--light.svg +6 -0
  61. package/assets/icons/xsmall/temperature.svg +6 -0
  62. package/assets/icons/xsmall/water--light.svg +8 -0
  63. package/assets/icons/xsmall/water.svg +8 -0
  64. package/esm2022/lib/components/accordion/accordion.module.mjs +1 -1
  65. package/esm2022/lib/components/airport-select/airport-select.component.mjs +2 -2
  66. package/esm2022/lib/components/airport-select/airport-select.module.mjs +3 -3
  67. package/esm2022/lib/components/airport-select/models/results-labels.model.mjs +1 -1
  68. package/esm2022/lib/components/airport-select/services/airport-select-dropdown.service.mjs +2 -2
  69. package/esm2022/lib/components/airport-select/services/airport-select.service.mjs +3 -3
  70. package/esm2022/lib/components/alert/alert.module.mjs +6 -16
  71. package/esm2022/lib/components/alert/models/alert.model.mjs +1 -1
  72. package/esm2022/lib/components/autocomplete/autocomplete.module.mjs +3 -3
  73. package/esm2022/lib/components/autocomplete-new/autocomplete-new.component.mjs +2 -2
  74. package/esm2022/lib/components/backdrop/backdrop.component.mjs +1 -1
  75. package/esm2022/lib/components/backdrop/backdrop.module.mjs +5 -10
  76. package/esm2022/lib/components/box/box.component.mjs +4 -6
  77. package/esm2022/lib/components/button/button.module.mjs +1 -1
  78. package/esm2022/lib/components/button-new/button-new.component.mjs +2 -2
  79. package/esm2022/lib/components/button-new/button-new.module.mjs +1 -1
  80. package/esm2022/lib/components/campaign-header/campaign-header.component.mjs +2 -2
  81. package/esm2022/lib/components/campaign-header/campaign-header.module.mjs +6 -16
  82. package/esm2022/lib/components/checkbox/checkbox.module.mjs +1 -1
  83. package/esm2022/lib/components/checkbox-new/checkbox-new.module.mjs +1 -1
  84. package/esm2022/lib/components/chip/chip.module.mjs +5 -10
  85. package/esm2022/lib/components/container/container.component.mjs +5 -5
  86. package/esm2022/lib/components/continue/continue.module.mjs +5 -16
  87. package/esm2022/lib/components/cover/cover.module.mjs +2 -2
  88. package/esm2022/lib/components/datepicker/calendar/calendar.component.mjs +1 -1
  89. package/esm2022/lib/components/datepicker/calendar/models/day.model.mjs +1 -1
  90. package/esm2022/lib/components/datepicker/calendar/models/select-option.model.mjs +1 -1
  91. package/esm2022/lib/components/datepicker/calendar/models/week.model.mjs +1 -1
  92. package/esm2022/lib/components/datepicker/datepicker.component.mjs +4 -4
  93. package/esm2022/lib/components/datepicker/datepicker.module.mjs +3 -3
  94. package/esm2022/lib/components/datepicker-combo/datepicker-combo.module.mjs +5 -13
  95. package/esm2022/lib/components/datepicker-new/calendar-new/calendar-new.component.mjs +4 -4
  96. package/esm2022/lib/components/datepicker-new/datepicker-new.component.mjs +3 -3
  97. package/esm2022/lib/components/divider/divider.component.mjs +5 -7
  98. package/esm2022/lib/components/divider/divider.module.mjs +12 -4
  99. package/esm2022/lib/components/dropdown/dropdown.module.mjs +5 -16
  100. package/esm2022/lib/components/filter/filter.component.mjs +2 -2
  101. package/esm2022/lib/components/filter/filter.module.mjs +3 -3
  102. package/esm2022/lib/components/filter-new/filter-new.component.mjs +2 -2
  103. package/esm2022/lib/components/grid/grid.component.mjs +2 -2
  104. package/esm2022/lib/components/icon/icon.component.mjs +2 -2
  105. package/esm2022/lib/components/icon/icon.module.mjs +5 -10
  106. package/esm2022/lib/components/info/info.module.mjs +3 -3
  107. package/esm2022/lib/components/info/models/info.model.mjs +1 -1
  108. package/esm2022/lib/components/input/input.module.mjs +18 -4
  109. package/esm2022/lib/components/input-text/index.mjs +1 -1
  110. package/esm2022/lib/components/input-text/input-text.module.mjs +18 -4
  111. package/esm2022/lib/components/journey/journey.module.mjs +5 -13
  112. package/esm2022/lib/components/journey/models/journey-flight.model.mjs +1 -1
  113. package/esm2022/lib/components/journey/models/journey.model.mjs +1 -1
  114. package/esm2022/lib/components/journey-availability/journey-availability.component.mjs +2 -2
  115. package/esm2022/lib/components/journey-availability/journey-availability.module.mjs +3 -3
  116. package/esm2022/lib/components/journey-availability-list/journey-availability-list.module.mjs +3 -3
  117. package/esm2022/lib/components/journey-selection/journey-selection.component.mjs +2 -2
  118. package/esm2022/lib/components/journey-selection/journey-selection.module.mjs +5 -16
  119. package/esm2022/lib/components/journey-selection/models/journey-selection-collapsed.model.mjs +1 -1
  120. package/esm2022/lib/components/journey-selection/models/journey-selection-common.model.mjs +1 -1
  121. package/esm2022/lib/components/journey-selection/models/journey-selection-expanded.model.mjs +1 -1
  122. package/esm2022/lib/components/journey-selection/models/journey-selection.model.mjs +1 -1
  123. package/esm2022/lib/components/journey-stopover/journey-stopover.component.mjs +2 -2
  124. package/esm2022/lib/components/journey-stopover/journey-stopover.module.mjs +5 -13
  125. package/esm2022/lib/components/journey-stopover/models/stopover-time.model.mjs +1 -1
  126. package/esm2022/lib/components/list/list.module.mjs +2 -2
  127. package/esm2022/lib/components/micro-button/micro-button.component.mjs +2 -2
  128. package/esm2022/lib/components/micro-button/micro-button.module.mjs +5 -13
  129. package/esm2022/lib/components/modal/modal.module.mjs +3 -3
  130. package/esm2022/lib/components/number-field/models/number-field.model.mjs +1 -1
  131. package/esm2022/lib/components/number-field/number-field.module.mjs +3 -3
  132. package/esm2022/lib/components/number-field-new/models/number-field-new.model.mjs +1 -1
  133. package/esm2022/lib/components/number-field-new/number-field-new.module.mjs +3 -3
  134. package/esm2022/lib/components/page-footer/page-footer.module.mjs +1 -1
  135. package/esm2022/lib/components/page-header/models/wallet.model.mjs +1 -1
  136. package/esm2022/lib/components/page-header/page-header.module.mjs +36 -5
  137. package/esm2022/lib/components/page-header/wallet/wallet.component.mjs +2 -2
  138. package/esm2022/lib/components/page-header-old/page-header-old.module.mjs +25 -5
  139. package/esm2022/lib/components/passenger-select/enums/passenger-type.enum.mjs +1 -1
  140. package/esm2022/lib/components/passenger-select/passenger-select.component.mjs +1 -1
  141. package/esm2022/lib/components/passenger-select/passenger-select.module.mjs +5 -13
  142. package/esm2022/lib/components/passenger-select-new/passenger-select-new.component.mjs +2 -2
  143. package/esm2022/lib/components/phone-number/phone-number.component.mjs +1 -1
  144. package/esm2022/lib/components/phone-number/phone-number.module.mjs +2 -2
  145. package/esm2022/lib/components/premium-toggle/premium-toggle.component.mjs +6 -6
  146. package/esm2022/lib/components/premium-toggle/premium-toggle.module.mjs +5 -13
  147. package/esm2022/lib/components/select/models/select-option.model.mjs +1 -1
  148. package/esm2022/lib/components/select/select.component.mjs +21 -19
  149. package/esm2022/lib/components/select/select.module.mjs +5 -13
  150. package/esm2022/lib/components/simple-list/simple-list.component.mjs +1 -1
  151. package/esm2022/lib/components/simple-list/simple-list.module.mjs +1 -1
  152. package/esm2022/lib/components/slide-toggle/slide-toggle.module.mjs +5 -16
  153. package/esm2022/lib/components/slide-toggle-new/slide-toggle-new.component.mjs +1 -1
  154. package/esm2022/lib/components/slide-toggle-new/slide-toggle-new.module.mjs +5 -16
  155. package/esm2022/lib/components/slider/slider.module.mjs +5 -13
  156. package/esm2022/lib/components/sort/sort.component.mjs +7 -6
  157. package/esm2022/lib/components/sort/sort.module.mjs +3 -3
  158. package/esm2022/lib/components/status-box/status-box.component.mjs +29 -9
  159. package/esm2022/lib/components/status-box/status-box.module.mjs +1 -1
  160. package/esm2022/lib/components/subsidy-discount/models/subsidy-discount.model.mjs +1 -1
  161. package/esm2022/lib/components/subsidy-discount/subsidy-discount.component.mjs +1 -1
  162. package/esm2022/lib/components/subsidy-discount/subsidy-discount.module.mjs +3 -3
  163. package/esm2022/lib/components/suggestions/suggestions.component.mjs +4 -4
  164. package/esm2022/lib/components/suggestions/suggestions.module.mjs +5 -13
  165. package/esm2022/lib/components/tab-group/tab-group.module.mjs +5 -13
  166. package/esm2022/lib/components/table/column/column.component.mjs +1 -1
  167. package/esm2022/lib/components/table/services/table.service.mjs +6 -3
  168. package/esm2022/lib/components/table/table-row/table-data/table-data.component.mjs +1 -1
  169. package/esm2022/lib/components/table/table-row/table-header/table-header.component.mjs +1 -1
  170. package/esm2022/lib/components/table/table.component.mjs +3 -3
  171. package/esm2022/lib/components/table/table.module.mjs +7 -12
  172. package/esm2022/lib/components/tag/tag.component.mjs +7 -9
  173. package/esm2022/lib/components/tag/tag.module.mjs +4 -6
  174. package/esm2022/lib/components/textarea/textarea.module.mjs +5 -16
  175. package/esm2022/lib/components/toggle/toggle.module.mjs +3 -3
  176. package/esm2022/lib/components/trip-summary/trip-summary.component.mjs +15 -13
  177. package/esm2022/lib/components/trip-summary/trip-summary.module.mjs +3 -3
  178. package/esm2022/lib/components/weather-icon/weather-icon.component.mjs +5 -5
  179. package/esm2022/lib/core/base/nas-component.base.mjs +6 -5
  180. package/esm2022/lib/core/decorators/debounce.decorator.mjs +1 -1
  181. package/esm2022/lib/core/directives/nas-class/nas-class.module.mjs +3 -5
  182. package/esm2022/lib/core/models/abandoned-basket-item.model.mjs +1 -1
  183. package/esm2022/lib/core/models/animate.model.mjs +1 -1
  184. package/esm2022/lib/core/models/class.model.mjs +1 -1
  185. package/esm2022/lib/core/models/position.model.mjs +1 -1
  186. package/esm2022/lib/core/services/bem-helper/bem-helper.service.mjs +6 -6
  187. package/esm2022/lib/core/services/geolocation/geolocation.service.mjs +5 -5
  188. package/esm2022/lib/core/services/sort/sort.service.mjs +2 -2
  189. package/esm2022/lib/core/services/viewport/viewport.service.mjs +4 -3
  190. package/esm2022/lib/services/get-position.service.mjs +1 -1
  191. package/esm2022/lib/shared/models/journey-availability-sort.model.mjs +1 -1
  192. package/esm2022/lib/shared/models/journey-duration.model.mjs +1 -1
  193. package/esm2022/lib/shared/models/journey-stopover.model.mjs +1 -1
  194. package/esm2022/lib/shared/models/journey-transit-info.model.mjs +1 -1
  195. package/esm2022/lib/shared/models/operating-carrier.model.mjs +1 -1
  196. package/esm2022/lib/shared/models/sort-option.model.mjs +1 -1
  197. package/esm2022/lib/shared/models/sort.model.mjs +1 -1
  198. package/esm2022/lib/shared/models/trip-item-details.model.mjs +1 -1
  199. package/esm2022/lib/shared/models/trip-summary-details.model.mjs +1 -1
  200. package/esm2022/lib/shared/models/trip-summary.model.mjs +1 -1
  201. package/fesm2022/norwegian-core-components.mjs +387 -467
  202. package/fesm2022/norwegian-core-components.mjs.map +1 -1
  203. package/lib/components/container/container.component.d.ts +3 -3
  204. package/lib/components/premium-toggle/premium-toggle.component.d.ts +5 -5
  205. package/lib/components/select/select.component.d.ts +13 -13
  206. package/lib/components/simple-list/simple-list.component.d.ts +8 -8
  207. package/lib/components/sort/sort.component.d.ts +5 -5
  208. package/lib/components/status-box/status-box.component.d.ts +24 -1
  209. package/lib/components/suggestions/suggestions.component.d.ts +3 -3
  210. package/lib/components/table/table.component.d.ts +3 -3
  211. package/lib/components/tag/tag.component.d.ts +16 -16
  212. package/lib/components/trip-summary/trip-summary.component.d.ts +16 -16
  213. package/lib/components/weather-icon/weather-icon.component.d.ts +7 -7
  214. package/package.json +1 -1
  215. package/assets/icons/small/my-profile-female--dark.svg +0 -48
  216. package/assets/icons/small/my-profile-male--dark.svg +0 -49
  217. package/assets/icons/weather/humidity.svg +0 -1
  218. package/assets/icons/weather/sun.svg +0 -1
  219. package/assets/icons/weather/sunrise.svg +0 -1
  220. package/assets/icons/weather/sunset.svg +0 -1
  221. package/assets/icons/weather/temperature.svg +0 -1
  222. package/assets/icons/weather/weather--cloud.svg +0 -1
  223. package/assets/icons/weather/weather--rain-sun.svg +0 -1
  224. package/assets/icons/weather/weather--rain.svg +0 -1
  225. package/assets/icons/weather/weather--storm.svg +0 -1
  226. package/assets/icons/weather/weather--sun-cloud.svg +0 -1
  227. package/assets/icons/weather/weather--sun.svg +0 -1
@@ -3,7 +3,7 @@ import { __decorate } from "tslib";
3
3
  * @license
4
4
  * Copyright Norwegian Air Shuttle. All Rights Reserved.
5
5
  */
6
- import { Component, Input, Output, EventEmitter, ViewEncapsulation, ViewChild, ContentChildren, } from '@angular/core';
6
+ import { Component, Input, Output, EventEmitter, ViewEncapsulation, ViewChild, ContentChildren } from '@angular/core';
7
7
  import { FormControl } from '@angular/forms';
8
8
  import { NasComponentBase } from '../../core';
9
9
  import { OptionComponent } from './option/option.component';
@@ -21,8 +21,8 @@ let nextId = 0;
21
21
  export class SelectComponent extends NasComponentBase {
22
22
  /**
23
23
  * @property Input
24
- * @description
25
- * Add options to the selector.
24
+ * @description
25
+ * Add options to the selector.
26
26
  */
27
27
  get options() {
28
28
  return this.optionsValue;
@@ -43,7 +43,7 @@ export class SelectComponent extends NasComponentBase {
43
43
  * @property Input
44
44
  * @description
45
45
  * Gets or sets the selected value.
46
- */
46
+ */
47
47
  get selected() {
48
48
  return this.selectedValue;
49
49
  }
@@ -67,14 +67,14 @@ export class SelectComponent extends NasComponentBase {
67
67
  * @property Output
68
68
  * @description
69
69
  * An event that is fired every time a selection is done.
70
- */
70
+ */
71
71
  this.selectedChange = new EventEmitter();
72
72
  /**
73
73
  * @property Output
74
74
  * @description
75
75
  * An events that fires every type a keydown event has been pressed on the select element.
76
76
  */
77
- this.keydown = new EventEmitter();
77
+ this.keyDownEvent = new EventEmitter();
78
78
  this.open = false;
79
79
  this.componentId = nextId++;
80
80
  }
@@ -84,8 +84,8 @@ export class SelectComponent extends NasComponentBase {
84
84
  }
85
85
  }
86
86
  ngAfterContentInit() {
87
- if (this.optionComponents && this.optionComponents.length > 0
88
- || this.optgroupComponents && this.optgroupComponents.length > 0) {
87
+ if ((this.optionComponents && this.optionComponents.length > 0) ||
88
+ (this.optgroupComponents && this.optgroupComponents.length > 0)) {
89
89
  this.hasContent = true;
90
90
  }
91
91
  if (this.selectedValue) {
@@ -120,35 +120,37 @@ export class SelectComponent extends NasComponentBase {
120
120
  return this.id ? this.id : `nas-select-${this.componentId}`;
121
121
  }
122
122
  get errorId() {
123
- return this.id ? this.id + '__error' : `nas-select-${this.componentId}__error`;
123
+ return this.id
124
+ ? this.id + '__error'
125
+ : `nas-select-${this.componentId}__error`;
124
126
  }
125
127
  toggleSelect(event, keydown) {
126
128
  if ((event && event.key === 'Enter') || !event || !event.key) {
127
129
  this.open = !this.open;
128
130
  if (keydown) {
129
- this.keydown.emit(event);
131
+ this.keyDownEvent.emit(event);
130
132
  }
131
133
  if (!event) {
132
134
  return;
133
135
  }
134
136
  const target = event.target;
135
137
  if (this.options) {
136
- const selected = this.options.find(x => x.value === target.value);
138
+ const selected = this.options.find((x) => x.value === target.value);
137
139
  if (selected && (!this.selected || selected.value !== this.selected.value)) {
138
140
  this.setSelectedAndEmitChange(selected);
139
141
  }
140
142
  }
141
143
  if (this.optionComponents && this.optionComponents.length > 0) {
142
- const selected = this.optionComponents.find(x => x.option.value === target.value);
144
+ const selected = this.optionComponents.find((x) => x.option.value === target.value);
143
145
  if (selected && (!this.selected || selected.option.value !== this.selected.value)) {
144
146
  this.setSelectedAndEmitChange(selected.option);
145
147
  return;
146
148
  }
147
149
  }
148
150
  if (this.optgroupComponents && this.optgroupComponents.length > 0) {
149
- this.optgroupComponents.forEach(optgroupComponent => {
151
+ this.optgroupComponents.forEach((optgroupComponent) => {
150
152
  if (optgroupComponent.optionComponents) {
151
- const selected = optgroupComponent.optionComponents.find(x => x.option.value === target.value);
153
+ const selected = optgroupComponent.optionComponents.find((x) => x.option.value === target.value);
152
154
  if (selected && (!this.selected || selected.option.value !== this.selected.value)) {
153
155
  this.setSelectedAndEmitChange(selected.option);
154
156
  return;
@@ -177,7 +179,7 @@ export class SelectComponent extends NasComponentBase {
177
179
  this.exists(this.error) && 'error',
178
180
  this.exists(this.disabled) && 'disabled',
179
181
  this.open && 'rotate'
180
- ])
182
+ ]),
181
183
  ];
182
184
  if (this.cssClass) {
183
185
  classes.push(this.cssClass);
@@ -287,14 +289,14 @@ export class SelectComponent extends NasComponentBase {
287
289
  selectTitleWrapper.style.display = 'none';
288
290
  }
289
291
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
290
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: SelectComponent, selector: "nas-select", inputs: { id: "id", inline: "inline", label: "label", block: "block", spaceless: "spaceless", stretch: "stretch", compact: "compact", simple: "simple", light: "light", fill: "fill", error: "error", errorMessage: "errorMessage", disabled: "disabled", autogrow: "autogrow", cssClass: "cssClass", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup", options: "options", selectedValue: "selectedValue", selected: "selected" }, outputs: { selectedChange: "selectedChange", keydown: "keydown" }, queries: [{ propertyName: "optionComponents", predicate: OptionComponent }, { propertyName: "optgroupComponents", predicate: OptgroupComponent }], viewQueries: [{ propertyName: "selectTitleWrapper", first: true, predicate: ["selectTitleWrapper"], descendants: true, static: true }, { propertyName: "errorMessageWrapper", first: true, predicate: ["errorMessageWrapper"], descendants: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label for=\"getSelectId()\"\n *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select\n [id]=\"selectId\"\n [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\"\n [attr.aria-labelledby]=\"getSelectId()\"\n [style.width.px]=\"labelWidth\"\n [formControl]=\"selectControl\"\n (mousedown)=\"toggleSelect($event)\"\n (keydown)=\"toggleSelect($event, true)\"\n (blur)=\"blurSelect()\"\n (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\"\n [value]=\"option?.value\"\n [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select\n [formControlName]=\"nasFormControlName\"\n [id]=\"selectId\"\n [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\"\n [attr.aria-labelledby]=\"getSelectId()\"\n [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\"\n (keydown)=\"toggleSelect($event, true)\"\n (blur)=\"blurSelect()\"\n (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\"\n [value]=\"option?.value\"\n [attr.aria-label]=\"option?.title\">{{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <p [nasClass]=\"getClass('error')\"\n #errorMessageWrapper\n *ngIf=\"exists(error) && errorMessage\" [id]=\"errorId\">{{errorMessage}}</p>\n <div #selectTitleWrapper\n [style.display]=\"'none'\"\n aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:3px solid #c3c3c3;outline:0;font-size:16px;color:#002a3a;background-color:transparent}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.nas-select select:hover,.nas-select select:focus{border-color:#15273f}.nas-select select:active{border-color:#15273f}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#c3c3c3}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#c3c3c3}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{background-color:#6f6f6f}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23909090%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:inherit;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #c3c3c3;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline option,.nas-select--simple option{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d}.nas-select--error:after{top:24px;bottom:auto}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:block;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#e5212d}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }], encapsulation: i0.ViewEncapsulation.None }); }
292
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: SelectComponent, selector: "nas-select", inputs: { id: "id", inline: "inline", label: "label", block: "block", spaceless: "spaceless", stretch: "stretch", compact: "compact", simple: "simple", light: "light", fill: "fill", error: "error", errorMessage: "errorMessage", disabled: "disabled", autogrow: "autogrow", cssClass: "cssClass", nasFormControlName: "nasFormControlName", nasFormGroup: "nasFormGroup", options: "options", selectedValue: "selectedValue", selected: "selected" }, outputs: { selectedChange: "selectedChange", keyDownEvent: "keyDownEvent" }, queries: [{ propertyName: "optionComponents", predicate: OptionComponent }, { propertyName: "optgroupComponents", predicate: OptgroupComponent }], viewQueries: [{ propertyName: "selectTitleWrapper", first: true, predicate: ["selectTitleWrapper"], descendants: true, static: true }, { propertyName: "errorMessageWrapper", first: true, predicate: ["errorMessageWrapper"], descendants: true }, { propertyName: "select", first: true, predicate: ["select"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label for=\"getSelectId()\" *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select [id]=\"selectId\" [attr.disabled]=\"disabled\" [attr.aria-label]=\"'select'\"\n [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\" [formControl]=\"selectControl\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select [formControlName]=\"nasFormControlName\" [id]=\"selectId\" [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\" [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <p [nasClass]=\"getClass('error')\" #errorMessageWrapper *ngIf=\"exists(error) && errorMessage\" [id]=\"errorId\">\n {{errorMessage}}</p>\n <div #selectTitleWrapper [style.display]=\"'none'\" aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:3px solid #c3c3c3;outline:0;font-size:16px;color:#002a3a;background-color:transparent}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.nas-select select:hover,.nas-select select:focus{border-color:#15273f}.nas-select select:active{border-color:#15273f}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#c3c3c3}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#c3c3c3}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{background-color:#6f6f6f}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23909090%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:inherit;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #c3c3c3;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline option,.nas-select--simple option{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d}.nas-select--error:after{top:24px;bottom:auto}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:block;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#e5212d}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }], encapsulation: i0.ViewEncapsulation.None }); }
291
293
  }
292
294
  __decorate([
293
295
  Debounce(150)
294
296
  ], SelectComponent.prototype, "setSelectedAndEmitChange", null);
295
297
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SelectComponent, decorators: [{
296
298
  type: Component,
297
- args: [{ selector: 'nas-select', encapsulation: ViewEncapsulation.None, template: "<label for=\"getSelectId()\"\n *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select\n [id]=\"selectId\"\n [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\"\n [attr.aria-labelledby]=\"getSelectId()\"\n [style.width.px]=\"labelWidth\"\n [formControl]=\"selectControl\"\n (mousedown)=\"toggleSelect($event)\"\n (keydown)=\"toggleSelect($event, true)\"\n (blur)=\"blurSelect()\"\n (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\"\n [value]=\"option?.value\"\n [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select\n [formControlName]=\"nasFormControlName\"\n [id]=\"selectId\"\n [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\"\n [attr.aria-labelledby]=\"getSelectId()\"\n [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\"\n (keydown)=\"toggleSelect($event, true)\"\n (blur)=\"blurSelect()\"\n (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\"\n [value]=\"option?.value\"\n [attr.aria-label]=\"option?.title\">{{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <p [nasClass]=\"getClass('error')\"\n #errorMessageWrapper\n *ngIf=\"exists(error) && errorMessage\" [id]=\"errorId\">{{errorMessage}}</p>\n <div #selectTitleWrapper\n [style.display]=\"'none'\"\n aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:3px solid #c3c3c3;outline:0;font-size:16px;color:#002a3a;background-color:transparent}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.nas-select select:hover,.nas-select select:focus{border-color:#15273f}.nas-select select:active{border-color:#15273f}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#c3c3c3}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#c3c3c3}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{background-color:#6f6f6f}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23909090%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:inherit;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #c3c3c3;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline option,.nas-select--simple option{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d}.nas-select--error:after{top:24px;bottom:auto}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:block;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#e5212d}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\n"] }]
299
+ args: [{ selector: 'nas-select', encapsulation: ViewEncapsulation.None, template: "<label for=\"getSelectId()\" *ngIf=\"label && !inline\">\n <span [nasClass]=\"getClass('label')\">{{label}}</span>\n</label>\n<div [nasClass]=\"getClasses()\">\n <ng-container *ngIf=\"!nasFormGroup || !nasFormControlName; else reactiveForm\">\n <select #select [id]=\"selectId\" [attr.disabled]=\"disabled\" [attr.aria-label]=\"'select'\"\n [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\" [formControl]=\"selectControl\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n <ng-template #reactiveForm>\n <ng-container [formGroup]=\"nasFormGroup\">\n <select #select [formControlName]=\"nasFormControlName\" [id]=\"selectId\" [attr.disabled]=\"disabled\"\n [attr.aria-label]=\"'select'\" [attr.aria-labelledby]=\"getSelectId()\" [style.width.px]=\"labelWidth\"\n (mousedown)=\"toggleSelect($event)\" (keydown)=\"toggleSelect($event, true)\" (blur)=\"blurSelect()\"\n (change)=\"toggleSelect($event)\">\n <ng-container *ngIf=\"!hasContent\">\n <option *ngFor=\"let option of options\" [value]=\"option?.value\" [attr.aria-label]=\"option?.title\">\n {{option?.title}}</option>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"contentOptions\"></ng-container>\n </select>\n </ng-container>\n </ng-template>\n <p [nasClass]=\"getClass('error')\" #errorMessageWrapper *ngIf=\"exists(error) && errorMessage\" [id]=\"errorId\">\n {{errorMessage}}</p>\n <div #selectTitleWrapper [style.display]=\"'none'\" aria-hidden=\"true\">\n <span>{{selectTitle}}</span>\n </div>\n <ng-template #contentOptions>\n <ng-content></ng-content>\n </ng-template>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-select{position:relative;display:inline-block;vertical-align:top;max-width:100%;margin-bottom:24px;z-index:0}.nas-select__label{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;display:block;margin-bottom:6px}.nas-select select{-webkit-appearance:none;-moz-appearance:none;display:inline-block;cursor:pointer;margin:0;padding:12px 34px 12px 12px;padding-right:34px!important;width:100%;border-radius:0;border:3px solid #c3c3c3;outline:0;font-size:16px;color:#002a3a;background-color:transparent}.nas-select select:focus:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.nas-select select:hover,.nas-select select:focus{border-color:#15273f}.nas-select select:active{border-color:#15273f}.nas-select select::-ms-expand{display:none}.nas-select select[disabled]{color:#6f6f6f;cursor:default}.nas-select select[disabled]:hover,.nas-select select[disabled]:focus{border-color:#c3c3c3}.nas-select:after{content:\"\";position:absolute;display:inline-block;pointer-events:none;z-index:3;bottom:18px;right:12px;width:12px;height:12px;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%2315273F%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat;transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--block{display:block}.nas-select--block select{display:block;width:100%}.nas-select--light:after{background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23FFFFFF%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--light select{color:#fff;border-color:#fff}.nas-select--light select:hover,.nas-select--light select:focus{border-color:#c3c3c3}.nas-select--light select:focus{color:#000;background-color:#fff}.nas-select--disabled select{background-color:#6f6f6f}.nas-select--disabled:after{background-color:#6f6f6f;background:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 18.1.0%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3C!DOCTYPE svg PUBLIC %22-%2F%2FW3C%2F%2FDTD SVG 1.1%2F%2FEN%22 %22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg version%3D%221.1%22 id%3D%22Layer_1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 x%3D%220px%22 y%3D%220px%22%09 width%3D%2212px%22 height%3D%2212px%22 viewBox%3D%22-414 589.5 12 12%22 enable-background%3D%22new -414 589.5 12 12%22 xml%3Aspace%3D%22preserve%22%3E%3Cpolygon fill%3D%22%23909090%22 points%3D%22-402%2C593.5 -404%2C591.5 -407.9%2C595 -408%2C595 -411.9%2C591.5 -413.9%2C593.5 -408.5%2C598.4 -408%2C598.6 %09-407.4%2C598.4 %22%2F%3E%3C%2Fsvg%3E\") 0 0 no-repeat}.nas-select--inline,.nas-select--simple{display:inline-block;max-width:100%;overflow:hidden;line-height:inherit;padding:0;font-size:inherit;color:inherit;margin-bottom:0;border-bottom:inherit}.nas-select--inline:after,.nas-select--simple:after{top:50%;margin-top:-7px;right:0}.nas-select--inline select,.nas-select--simple select{font-size:inherit;color:inherit;padding:0;padding-right:18px!important;border:0;padding-bottom:3px;border-bottom:3px solid #c3c3c3;width:auto;transition:width .3s cubic-bezier(0,0,.1,1)}.nas-select--inline option,.nas-select--simple option{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.nas-select--stretch{display:block}.nas-select--stretch select{width:100%!important}.nas-select--error select{border-color:#e5212d}.nas-select--error:after{top:24px;bottom:auto}.nas-select__text{padding-right:40px;background-repeat:no-repeat;background-position:right 9px center}.nas-select__error{display:block;font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:#e5212d}.nas-select--inline.nas-select--error:after{top:50%!important}.nas-select--simple select{border-color:transparent}.nas-select--simple option{font-family:Apercu,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700}.nas-select--compact select{padding-top:9px;padding-bottom:9px}.nas-select--compact:after{bottom:16px}.nas-select--spaceless{margin-bottom:0}.nas-select--fill select{background-color:#fff;border-color:#fff}.nas-select--rotate:after{transform:rotate(180deg);transition:transform .2s cubic-bezier(0,0,.1,1);transform-origin:45% 55%}.nas-select--rotate::after-enter,.nas-select--rotate::after-leave-active{transform-origin:center top;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.nas-select--rotate::after-enter{animation:flip-in .55s ease both}.nas-select--rotate::after-leave-active{animation:flip-out .2s ease-out both}@-moz-document url-prefix(){.select select{text-indent:.01px;text-overflow:\"\";padding-right:1rem}.select option{background-color:#fff}}\n"] }]
298
300
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selectTitleWrapper: [{
299
301
  type: ViewChild,
300
302
  args: ['selectTitleWrapper', { static: true }]
@@ -352,7 +354,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
352
354
  type: Input
353
355
  }], selectedChange: [{
354
356
  type: Output
355
- }], keydown: [{
357
+ }], keyDownEvent: [{
356
358
  type: Output
357
359
  }], setSelectedAndEmitChange: [] } });
358
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBRWpCLFNBQVMsRUFHVCxlQUFlLEdBSWhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7QUFFcEUsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQWdCO0lBNkluRDs7OztNQUlFO0lBQ0YsSUFDVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBVyxPQUFPLENBQUMsS0FBK0I7UUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFFMUIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFD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R0FRYyxrQkFBa0I7c0JBQXBFLFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNmLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBQ1gsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNlLGdCQUFnQjtzQkFBakQsZUFBZTt1QkFBQyxlQUFlO2dCQUNJLGtCQUFrQjtzQkFBckQsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBU3pCLEVBQUU7c0JBQVYsS0FBSztnQkFPRyxNQUFNO3NCQUFkLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csTUFBTTtzQkFBZCxLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBV0csa0JBQWtCO3NCQUExQixLQUFLO2dCQVdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUUssT0FBTztzQkFEakIsS0FBSztnQkEwQkcsYUFBYTtzQkFBckIsS0FBSztnQkFRRixRQUFRO3NCQURYLEtBQUs7Z0JBd0JJLGNBQWM7c0JBQXZCLE1BQU07Z0JBT0csT0FBTztzQkFBaEIsTUFBTTtnQkEwSUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IE5vcndlZ2lhbiBBaXIgU2h1dHRsZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0NoZWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTmFzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQ2xhc3NNb2RlbCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcbmltcG9ydCB7IFNlbGVjdE9wdGlvbk1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvc2VsZWN0LW9wdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL29wdGlvbi9vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9vcHRncm91cC9vcHRncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVib3VuY2UgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMvZGVib3VuY2UuZGVjb3JhdG9yJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBOb3J3ZWdpYW4gU2VsZWN0IENvbXBvbmVudCB8IEZvcm0gQ29udHJvbHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmFzLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIHNlbGVjdENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgbGFiZWxXaWR0aDogbnVtYmVyO1xuICBzZWxlY3RUaXRsZTogc3RyaW5nO1xuICBoYXNDb250ZW50ID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0VGl0bGVXcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSkgc2VsZWN0VGl0bGVXcmFwcGVyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdlcnJvck1lc3NhZ2VXcmFwcGVyJykgZXJyb3JNZXNzYWdlV3JhcHBlcjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0Jykgc2VsZWN0OiBFbGVtZW50UmVmPEhUTUxTZWxlY3RFbGVtZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihPcHRpb25Db21wb25lbnQpIG9wdGlvbkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKE9wdGdyb3VwQ29tcG9uZW50KSBvcHRncm91cENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxPcHRncm91cENvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBvcHRpb25zVmFsdWU6IEFycmF5PFNlbGVjdE9wdGlvbk1vZGVsPjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgSUQgb2YgdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50XG4gICovXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkIGN1c3RvbSBpbmxpbmUgc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgaW5saW5lPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGQgY3VzdG9tIGxhYmVsIHN0eWxpbmcuXG4gICovXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBibG9jayBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBibG9jaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBzcGFjZWxlc3Mgc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgc3BhY2VsZXNzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIHN0cmV0Y2ggc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgc3RyZXRjaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBjb21wYWN0IHN0eWxpbmcuXG4gICovXG4gIEBJbnB1dCgpIGNvbXBhY3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgc2ltcGxlIHN0eWxpbmcuXG4gICovXG4gIEBJbnB1dCgpIHNpbXBsZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBsaWdodCBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBsaWdodD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBmaWxsIHN0eWxpbmcuXG4gICovXG4gIEBJbnB1dCgpIGZpbGw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgZXJyb3Igc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgZXJyb3I/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiBlcnJvciBvY2N1ci4gRXJyb3IgYXR0cmlidXRlIG5lZWQgdG8gYmUgdHJ1ZS5cbiAgKi9cbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgZGlzYWJsZWQgc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIE1ha2VzIHRoZSBzZWxlY3QgY29tcG9uZW50IGF1dG9ncm93LlxuICAqL1xuICBASW5wdXQoKSBhdXRvZ3Jvdz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkIGN1c3RvbSBDU1MgY2xhc3MgdG8gdGhlIHNlbGVjdG9yLlxuICAqL1xuICBASW5wdXQoKSBjc3NDbGFzczogQ2xhc3NNb2RlbDtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGEgZm9ybUNvbnRyb2xOYW1lIGRpcmVjdGl2ZSB0byB0aGUgc2VsZWN0LlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCByZXF1aWVycyB0aGF0IHRoZSBuYXNGb3JtR3JvdXAgaW5wdXQgaXMgZmlsbGVkLlxuICAgKiBAZXhhbXBsZVxuICAgKiA8bmFzLXNlbGVjdCBbbmFzRm9ybUNvbnRyb2xOYW1lXT1cIidmYXJlQ2xhc3MnXCI+PC9uYXMtc2VsZWN0PlxuICAqL1xuICBASW5wdXQoKSBuYXNGb3JtQ29udHJvbE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGRzIHRoZSBwYXJlbnQncyBmb3JtIGdyb3VwLlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCBpcyByZXF1aWVyZWQgdG8gYmUgZmlsbGVkIGlmIG5hc0Zvcm1Db250cm9sTmFtZSBhZGRlZC5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1zZWxlY3QgW25hc0Zvcm1Hcm91cF09XCJjbGFzc0dyb3VwXCI+PC9uYXMtc2VsZWN0PlxuICAqL1xuICBASW5wdXQoKSBuYXNGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGQgb3B0aW9ucyB0byB0aGUgc2VsZWN0b3IuXG4gICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgb3B0aW9ucygpOiBBcnJheTxTZWxlY3RPcHRpb25Nb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnNWYWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IG9wdGlvbnModmFsdWU6IEFycmF5PFNlbGVjdE9wdGlvbk1vZGVsPikge1xuICAgIHRoaXMub3B0aW9uc1ZhbHVlID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAwICYmICF0aGlzLnNlbGVjdGVkKSB7XG4gICAgICBjb25zdCBvcHRpb24gPSB0aGlzLm9wdGlvbnNbMF07XG5cbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRUaXRsZShvcHRpb24pO1xuXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlID09PSBvcHRpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBvcHRpb247XG4gICAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgZGVmYXVsdCBzZWxlY3RlZCB2YWx1ZS5cbiAgKi9cbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogU2VsZWN0T3B0aW9uTW9kZWw7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogR2V0cyBvciBzZXRzIHRoZSBzZWxlY3RlZCB2YWx1ZS5cbiAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHNlbGVjdGVkKCk6IFNlbGVjdE9wdGlvbk1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFZhbHVlO1xuICB9XG4gIHNldCBzZWxlY3RlZChvcHRpb246IFNlbGVjdE9wdGlvbk1vZGVsKSB7XG4gICAgaWYgKCFvcHRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldFNlbGVjdGVkVGl0bGUob3B0aW9uKTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUgPT09IG9wdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG9wdGlvbjtcbiAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBldmVudCB0aGF0IGlzIGZpcmVkIGV2ZXJ5IHRpbWUgYSBzZWxlY3Rpb24gaXMgZG9uZS5cbiAgKi9cbiAgQE91dHB1dCgpIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RPcHRpb25Nb2RlbD4oKTtcblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gZXZlbnRzIHRoYXQgZmlyZXMgZXZlcnkgdHlwZSBhIGtleWRvd24gZXZlbnQgaGFzIGJlZW4gcHJlc3NlZCBvbiB0aGUgc2VsZWN0IGVsZW1lbnQuXG4gICovXG4gIEBPdXRwdXQoKSBrZXlkb3duID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gIHByaXZhdGUgb3BlbiA9IGZhbHNlO1xuICBwcml2YXRlIGNvbXBvbmVudElkOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2U6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoJ25hcy1zZWxlY3QnKTtcbiAgICB0aGlzLmNvbXBvbmVudElkID0gbmV4dElkKys7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3B0aW9uQ29tcG9uZW50cyAmJiB0aGlzLm9wdGlvbkNvbXBvbmVudHMubGVuZ3RoID4gMFxuICAgICAgfHwgdGhpcy5vcHRncm91cENvbXBvbmVudHMgJiYgdGhpcy5vcHRncm91cENvbXBvbmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5oYXNDb250ZW50ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9uQ29tcG9uZW50cyAmJiB0aGlzLm9wdGlvbkNvbXBvbmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZXRGaXJzdE9wdGlvblNlbGVjdGVkKHRoaXMub3B0aW9uQ29tcG9uZW50cyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm9wdGdyb3VwQ29tcG9uZW50cyAmJiB0aGlzLm9wdGdyb3VwQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaXJzdE9wdGdyb3VwQ29tcG9uZW50ID0gdGhpcy5vcHRncm91cENvbXBvbmVudHMuZmlyc3Q7XG5cbiAgICAgIGlmIChmaXJzdE9wdGdyb3VwQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuc2V0Rmlyc3RPcHRpb25TZWxlY3RlZChmaXJzdE9wdGdyb3VwQ29tcG9uZW50Lm9wdGlvbkNvbXBvbmVudHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICBpZiAoIXRoaXMuaGFzQ29udGVudCAmJiAhdGhpcy5zZWxlY3RlZFZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRUaXRsZSh0aGlzLm9wdGlvbnNbMF0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0Q29udHJvbC5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWUpO1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZFRpdGxlKHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U2VsZWN0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYG5hcy1zZWxlY3QtJHt0aGlzLmNvbXBvbmVudElkfWA7XG4gIH1cblxuICBnZXQgc2VsZWN0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZCA/IHRoaXMuaWQgOiBgbmFzLXNlbGVjdC0ke3RoaXMuY29tcG9uZW50SWR9YDtcbiAgfVxuXG4gIGdldCBlcnJvcklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWQgPyB0aGlzLmlkICsgJ19fZXJyb3InIDogYG5hcy1zZWxlY3QtJHt0aGlzLmNvbXBvbmVudElkfV9fZXJyb3JgO1xuICB9XG5cbiAgdG9nZ2xlU2VsZWN0KGV2ZW50OiBhbnksIGtleWRvd24/OiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKChldmVudCAmJiBldmVudC5rZXkgPT09ICdFbnRlcicpIHx8ICFldmVudCB8fCAhZXZlbnQua2V5KSB7XG4gICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuXG4gICAgICBpZiAoa2V5ZG93bikge1xuICAgICAgICB0aGlzLmtleWRvd24uZW1pdChldmVudCk7XG4gICAgICB9XG5cbiAgICAgIGlmICghZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQ7XG5cbiAgICAgIGlmICh0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLm9wdGlvbnMuZmluZCh4ID0+IHgudmFsdWUgPT09IHRhcmdldC52YWx1ZSk7XG4gICAgICAgIGlmIChzZWxlY3RlZCAmJiAoIXRoaXMuc2VsZWN0ZWQgfHwgc2VsZWN0ZWQudmFsdWUgIT09IHRoaXMuc2VsZWN0ZWQudmFsdWUpKSB7XG4gICAgICAgICAgdGhpcy5zZXRTZWxlY3RlZEFuZEVtaXRDaGFuZ2Uoc2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm9wdGlvbkNvbXBvbmVudHMgJiYgdGhpcy5vcHRpb25Db21wb25lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLm9wdGlvbkNvbXBvbmVudHMuZmluZCh4ID0+IHgub3B0aW9uLnZhbHVlID09PSB0YXJnZXQudmFsdWUpO1xuICAgICAgICBpZiAoc2VsZWN0ZWQgJiYgKCF0aGlzLnNlbGVjdGVkIHx8IHNlbGVjdGVkLm9wdGlvbi52YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZC52YWx1ZSkpIHtcbiAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkQW5kRW1pdENoYW5nZShzZWxlY3RlZC5vcHRpb24pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5vcHRncm91cENvbXBvbmVudHMgJiYgdGhpcy5vcHRncm91cENvbXBvbmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLm9wdGdyb3VwQ29tcG9uZW50cy5mb3JFYWNoKG9wdGdyb3VwQ29tcG9uZW50ID0+IHtcbiAgICAgICAgICBpZiAob3B0Z3JvdXBDb21wb25lbnQub3B0aW9uQ29tcG9uZW50cykge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBvcHRncm91cENvbXBvbmVudC5vcHRpb25Db21wb25lbnRzLmZpbmQoeCA9PiB4Lm9wdGlvbi52YWx1ZSA9PT0gdGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZCAmJiAoIXRoaXMuc2VsZWN0ZWQgfHwgc2VsZWN0ZWQub3B0aW9uLnZhbHVlICE9PSB0aGlzLnNlbGVjdGVkLnZhbHVlKSkge1xuICAgICAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkQW5kRW1pdENoYW5nZShzZWxlY3RlZC5vcHRpb24pO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy51cGRhdGVTaGFkb3codGFyZ2V0LCB0YXJnZXQudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGJsdXJTZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gIH1cblxuICBnZXRDbGFzc2VzKCk6IEFycmF5PENsYXNzTW9kZWw+IHtcbiAgICBjb25zdCBjbGFzc2VzOiBBcnJheTxDbGFzc01vZGVsPiA9IFtcbiAgICAgIHRoaXMuZ2V0Q2xhc3MoJycsIFtcbiAgICAgICAgdGhpcy5sYWJlbCxcbiAgICAgICAgdGhpcy5leGlzdHModGhpcy5pbmxpbmUpICYmICdpbmxpbmUnLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmJsb2NrKSAmJiAnYmxvY2snLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLnNwYWNlbGVzcykgJiYgJ3NwYWNlbGVzcycsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuc3RyZXRjaCkgJiYgJ3N0cmV0Y2gnLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmNvbXBhY3QpICYmICdjb21wYWN0JyxcbiAgICAgICAgdGhpcy5leGlzdHModGhpcy5zaW1wbGUpICYmICdzaW1wbGUnLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmxpZ2h0KSAmJiAnbGlnaHQnLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmZpbGwpICYmICdmaWxsJyxcbiAgICAgICAgdGhpcy5leGlzdHModGhpcy5lcnJvcikgJiYgJ2Vycm9yJyxcbiAgICAgICAgdGhpcy5leGlzdHModGhpcy5kaXNhYmxlZCkgJiYgJ2Rpc2FibGVkJyxcbiAgICAgICAgdGhpcy5vcGVuICYmICdyb3RhdGUnXG4gICAgICBdKVxuICAgIF07XG5cbiAgICBpZiAodGhpcy5jc3NDbGFzcykge1xuICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuY3NzQ2xhc3MpO1xuICAgIH1cblxuICAgIHJldHVybiBjbGFzc2VzO1xuICB9XG5cbiAgQERlYm91bmNlKDE1MClcbiAgcHJpdmF0ZSBzZXRTZWxlY3RlZEFuZEVtaXRDaGFuZ2Uoc2VsZWN0ZWQ6IFNlbGVjdE9wdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgaWYgKCFzZWxlY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNlbGVjdGVkICE9PSBzZWxlY3RlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gIH1cblxuICBwcml2YXRlIHNldEZpcnN0T3B0aW9uU2VsZWN0ZWQob3B0aW9uQ29tcG9uZW50czogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudD4pOiB2b2lkIHtcbiAgICBpZiAoIW9wdGlvbkNvbXBvbmVudHMgfHwgb3B0aW9uQ29tcG9uZW50cy5sZW5ndGggPD0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0T3B0aW9uQ29tcG9uZW50ID0gb3B0aW9uQ29tcG9uZW50cy5maXJzdDtcblxuICAgIGlmIChmaXJzdE9wdGlvbkNvbXBvbmVudCkge1xuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZmlyc3RPcHRpb25Db21wb25lbnQub3B0aW9uO1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZFRpdGxlKHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTaGFkb3codGFyZ2V0OiBhbnksIHRhcmdldFZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5sYWJlbCB8fCB0aGlzLmJsb2NrIHx8ICF0aGlzLmF1dG9ncm93IHx8ICF0YXJnZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgdmFsdWU6IHN0cmluZztcblxuICAgIGlmICh0YXJnZXQuc2VsZWN0ZWRPcHRpb25zICYmIHRhcmdldC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICB2YWx1ZSA9IHRhcmdldC5zZWxlY3RlZE9wdGlvbnNbMF0uaW5uZXJIVE1MO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IHRhcmdldFZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlbGVjdCcpO1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpO1xuICAgIHNoYWRvdy5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgc2hhZG93LnN0eWxlLnRvcCA9ICctMTAwMHB4JztcbiAgICBzaGFkb3cuc3R5bGUubGVmdCA9ICctMTAwMHB4JztcbiAgICBzaGFkb3cuc3R5bGUud2lkdGggPSAnYXV0byc7XG4gICAgc2hhZG93LnN0eWxlLm1heFdpZHRoID0gJ25vbmUnO1xuICAgIHNoYWRvdy5zdHlsZS5mb250U2l6ZSA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1zaXplJyk7XG4gICAgc2hhZG93LnN0eWxlLmZvbnRGYW1pbHkgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtZmFtaWx5Jyk7XG4gICAgc2hhZG93LnN0eWxlLmZvbnRXZWlnaHQgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtd2VpZ2h0Jyk7XG4gICAgc2hhZG93LnN0eWxlLmxldHRlclNwYWNpbmcgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2xldHRlci1zcGFjaW5nJyk7XG4gICAgc2hhZG93LnN0eWxlLnBhZGRpbmdUb3AgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctdG9wJyk7XG4gICAgc2hhZG93LnN0eWxlLnBhZGRpbmdSaWdodCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy1yaWdodCcpO1xuICAgIHNoYWRvdy5zdHlsZS5wYWRkaW5nQm90dG9tID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLWJvdHRvbScpO1xuICAgIHNoYWRvdy5zdHlsZS5wYWRkaW5nTGVmdCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy1sZWZ0Jyk7XG4gICAgc2hhZG93LnN0eWxlLmJvcmRlclRvcCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyLXRvcCcpO1xuICAgIHNoYWRvdy5zdHlsZS5ib3JkZXJSaWdodCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyLXJpZ2h0Jyk7XG4gICAgc2hhZG93LnN0eWxlLmJvcmRlckJvdHRvbSA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyLWJvdHRvbScpO1xuICAgIHNoYWRvdy5zdHlsZS5ib3JkZXJMZWZ0ID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItbGVmdCcpO1xuXG4gICAgY29uc3Qgb3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7XG4gICAgb3B0aW9uLnZhbHVlID0gdmFsdWU7XG4gICAgb3B0aW9uLmlubmVySFRNTCA9IHZhbHVlO1xuICAgIHNoYWRvdy5hcHBlbmRDaGlsZChvcHRpb24pO1xuXG4gICAgdGFyZ2V0LnN0eWxlLndpZHRoID0gYCR7c2hhZG93Lm9mZnNldFdpZHRoICsgNn1weGA7XG4gIH1cblxuICBwcml2YXRlIHNldFNlbGVjdGVkVGl0bGUob3B0aW9uOiBTZWxlY3RPcHRpb25Nb2RlbCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdFRpdGxlV3JhcHBlciA9IHRoaXMuc2VsZWN0VGl0bGVXcmFwcGVyLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoIXNlbGVjdFRpdGxlV3JhcHBlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghb3B0aW9uKSB7XG4gICAgICBzZWxlY3RUaXRsZVdyYXBwZXIuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdFRpdGxlID0gb3B0aW9uLnRpdGxlO1xuICAgIHNlbGVjdFRpdGxlV3JhcHBlci5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICBzZWxlY3RUaXRsZVdyYXBwZXIuc3R5bGUud2hpdGVTcGFjZSA9ICdub3dyYXAnO1xuXG4gICAgaWYgKCF0aGlzLnNlbGVjdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdEVsZW1lbnQgPSB0aGlzLnNlbGVjdC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKCFzZWxlY3RFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0U3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzZWxlY3RFbGVtZW50KTtcbiAgICBsZXQgc2VsZWN0UGFkZGluZ0xlZnQgPSAwO1xuICAgIGxldCBzZWxlY3RQYWRkaW5nUmlnaHQgPSAwO1xuICAgIGxldCBzZWxlY3RCb3JkZXJMZWZ0ID0gMDtcbiAgICBsZXQgc2VsZWN0Qm9yZGVyUmlnaHQgPSAwO1xuXG4gICAgaWYgKHNlbGVjdFN0eWxlKSB7XG4gICAgICBzZWxlY3RQYWRkaW5nTGVmdCA9IHBhcnNlSW50KHNlbGVjdFN0eWxlLnBhZGRpbmdMZWZ0LCAxMCk7XG4gICAgICBzZWxlY3RQYWRkaW5nUmlnaHQgPSBwYXJzZUludChzZWxlY3RTdHlsZS5wYWRkaW5nUmlnaHQsIDEwKTtcbiAgICAgIHNlbGVjdEJvcmRlckxlZnQgPSBwYXJzZUludChzZWxlY3RTdHlsZS5ib3JkZXJMZWZ0LCAxMCk7XG4gICAgICBzZWxlY3RCb3JkZXJSaWdodCA9IHBhcnNlSW50KHNlbGVjdFN0eWxlLmJvcmRlclJpZ2h0LCAxMCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0VGl0bGVXcmFwcGVyVGl0bGUgPSBzZWxlY3RUaXRsZVdyYXBwZXIubGFzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudDtcbiAgICBsZXQgb2Zmc2V0V2lkdGggPSBzZWxlY3RQYWRkaW5nTGVmdCArIHNlbGVjdFBhZGRpbmdSaWdodCArIHNlbGVjdEJvcmRlckxlZnQgKyBzZWxlY3RCb3JkZXJSaWdodDtcblxuICAgIGlmIChzZWxlY3RUaXRsZVdyYXBwZXJUaXRsZSkge1xuICAgICAgb2Zmc2V0V2lkdGggKz0gc2VsZWN0VGl0bGVXcmFwcGVyVGl0bGUub2Zmc2V0V2lkdGg7XG4gICAgICBpZiAodGhpcy5leGlzdHModGhpcy5lcnJvcikgJiYgdGhpcy5lcnJvck1lc3NhZ2VXcmFwcGVyKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdEVycm9yV2lkdGggPSBwYXJzZUludCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVycm9yTWVzc2FnZVdyYXBwZXIubmF0aXZlRWxlbWVudCkud2lkdGgsIDEwKTtcbiAgICAgICAgaWYgKHNlbGVjdEVycm9yV2lkdGggPiBvZmZzZXRXaWR0aCkge1xuICAgICAgICAgIG9mZnNldFdpZHRoID0gc2VsZWN0RXJyb3JXaWR0aDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChvZmZzZXRXaWR0aCA+IDApIHtcbiAgICAgIHRoaXMubGFiZWxXaWR0aCA9IG9mZnNldFdpZHRoO1xuICAgICAgdGhpcy5jaGFuZ2UuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHNlbGVjdFRpdGxlV3JhcHBlci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9XG59XG4iLCI8bGFiZWwgZm9yPVwiZ2V0U2VsZWN0SWQoKVwiXG4gICpuZ0lmPVwibGFiZWwgJiYgIWlubGluZVwiPlxuICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xhYmVsJylcIj57e2xhYmVsfX08L3NwYW4+XG48L2xhYmVsPlxuPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3NlcygpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbmFzRm9ybUdyb3VwIHx8ICFuYXNGb3JtQ29udHJvbE5hbWU7IGVsc2UgcmVhY3RpdmVGb3JtXCI+XG4gICAgPHNlbGVjdCAjc2VsZWN0XG4gICAgICBbaWRdPVwic2VsZWN0SWRcIlxuICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2VsZWN0J1wiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZ2V0U2VsZWN0SWQoKVwiXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwibGFiZWxXaWR0aFwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwic2VsZWN0Q29udHJvbFwiXG4gICAgICAobW91c2Vkb3duKT1cInRvZ2dsZVNlbGVjdCgkZXZlbnQpXCJcbiAgICAgIChrZXlkb3duKT1cInRvZ2dsZVNlbGVjdCgkZXZlbnQsIHRydWUpXCJcbiAgICAgIChibHVyKT1cImJsdXJTZWxlY3QoKVwiXG4gICAgICAoY2hhbmdlKT1cInRvZ2dsZVNlbGVjdCgkZXZlbnQpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0NvbnRlbnRcIj5cbiAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIlxuICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24/LnZhbHVlXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm9wdGlvbj8udGl0bGVcIj5cbiAgICAgICAgICB7e29wdGlvbj8udGl0bGV9fTwvb3B0aW9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudE9wdGlvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3NlbGVjdD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjcmVhY3RpdmVGb3JtPlxuICAgIDxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJuYXNGb3JtR3JvdXBcIj5cbiAgICAgIDxzZWxlY3QgI3NlbGVjdFxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hc0Zvcm1Db250cm9sTmFtZVwiXG4gICAgICAgIFtpZF09XCJzZWxlY3RJZFwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2VsZWN0J1wiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJnZXRTZWxlY3RJZCgpXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImxhYmVsV2lkdGhcIlxuICAgICAgICAobW91c2Vkb3duKT1cInRvZ2dsZVNlbGVjdCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24pPVwidG9nZ2xlU2VsZWN0KCRldmVudCwgdHJ1ZSlcIlxuICAgICAgICAoYmx1cik9XCJibHVyU2VsZWN0KClcIlxuICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVNlbGVjdCgkZXZlbnQpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzQ29udGVudFwiPlxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24/LnZhbHVlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uPy50aXRsZVwiPnt7b3B0aW9uPy50aXRsZX19PC9vcHRpb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudE9wdGlvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8cCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2Vycm9yJylcIlxuICAgICNlcnJvck1lc3NhZ2VXcmFwcGVyXG4gICAgKm5nSWY9XCJleGlzdHMoZXJyb3IpICYmIGVycm9yTWVzc2FnZVwiIFtpZF09XCJlcnJvcklkXCI+e3tlcnJvck1lc3NhZ2V9fTwvcD5cbiAgPGRpdiAjc2VsZWN0VGl0bGVXcmFwcGVyXG4gICAgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICA8c3Bhbj57e3NlbGVjdFRpdGxlfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnRPcHRpb25zPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PiJdfQ==
360
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBRWpCLFNBQVMsRUFHVCxlQUFlLEVBSWhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7QUFFcEUsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7OztHQUdHO0FBT0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQWdCO0lBOEluRDs7OztNQUlFO0lBQ0YsSUFDVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBVyxPQUFPLENBQUMsS0FBK0I7UUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFFMUIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFD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M0IsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUk7d0dBU3JDLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRWYsbUJBQW1CO3NCQUFwRCxTQUFTO3VCQUFDLHFCQUFxQjtnQkFDWCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBRW5CLGdCQUFnQjtzQkFEZixlQUFlO3VCQUFDLGVBQWU7Z0JBR2hDLGtCQUFrQjtzQkFEakIsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBUXpCLEVBQUU7c0JBQVYsS0FBSztnQkFPRyxNQUFNO3NCQUFkLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csTUFBTTtzQkFBZCxLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBV0csa0JBQWtCO3NCQUExQixLQUFLO2dCQVdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUUssT0FBTztzQkFEakIsS0FBSztnQkEwQkcsYUFBYTtzQkFBckIsS0FBSztnQkFRRixRQUFRO3NCQURYLEtBQUs7Z0JBd0JJLGNBQWM7c0JBQXZCLE1BQU07Z0JBT0csWUFBWTtzQkFBckIsTUFBTTtnQkE0SUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IE5vcndlZ2lhbiBBaXIgU2h1dHRsZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0NoZWNrZWRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBDbGFzc01vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uTW9kZWwgfSBmcm9tICcuL21vZGVscy9zZWxlY3Qtb3B0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0Z3JvdXBDb21wb25lbnQgfSBmcm9tICcuL29wdGdyb3VwL29wdGdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy9kZWJvdW5jZS5kZWNvcmF0b3InO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIE5vcndlZ2lhbiBTZWxlY3QgQ29tcG9uZW50IHwgRm9ybSBDb250cm9sc1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduYXMtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdDaGVja2VkLCBBZnRlckNvbnRlbnRJbml0IHtcbiAgc2VsZWN0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICBsYWJlbFdpZHRoOiBudW1iZXI7XG4gIHNlbGVjdFRpdGxlOiBzdHJpbmc7XG4gIGhhc0NvbnRlbnQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdzZWxlY3RUaXRsZVdyYXBwZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBzZWxlY3RUaXRsZVdyYXBwZXI6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2Vycm9yTWVzc2FnZVdyYXBwZXInKSBlcnJvck1lc3NhZ2VXcmFwcGVyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdzZWxlY3QnKSBzZWxlY3Q6IEVsZW1lbnRSZWY8SFRNTFNlbGVjdEVsZW1lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKE9wdGlvbkNvbXBvbmVudClcbiAgb3B0aW9uQ29tcG9uZW50czogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oT3B0Z3JvdXBDb21wb25lbnQpXG4gIG9wdGdyb3VwQ29tcG9uZW50czogUXVlcnlMaXN0PE9wdGdyb3VwQ29tcG9uZW50PjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgSUQgb2YgdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50XG4gICAqL1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFkZCBjdXN0b20gaW5saW5lIHN0eWxpbmcuXG4gICovXG4gIEBJbnB1dCgpIGlubGluZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkIGN1c3RvbSBsYWJlbCBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBTZXRzIGJsb2NrIHN0eWxpbmcuXG4gICovXG4gIEBJbnB1dCgpIGJsb2NrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFNldHMgc3BhY2VsZXNzIHN0eWxpbmcuXG4gICovXG4gIEBJbnB1dCgpIHNwYWNlbGVzcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBzdHJldGNoIHN0eWxpbmcuXG4gICovXG4gIEBJbnB1dCgpIHN0cmV0Y2g/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgY29tcGFjdCBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBjb21wYWN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIHNpbXBsZSBzdHlsaW5nLlxuICAgICAqL1xuICBASW5wdXQoKSBzaW1wbGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgbGlnaHQgc3R5bGluZy5cbiAgKi9cbiAgQElucHV0KCkgbGlnaHQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgZmlsbCBzdHlsaW5nLlxuICAqL1xuICBASW5wdXQoKSBmaWxsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGVycm9yIHN0eWxpbmcuXG4gICovXG4gIEBJbnB1dCgpIGVycm9yPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gZXJyb3Igb2NjdXIuIEVycm9yIGF0dHJpYnV0ZSBuZWVkIHRvIGJlIHRydWUuXG4gICovXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZT86IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGRpc2FibGVkIHN0eWxpbmcuXG4gICovXG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBNYWtlcyB0aGUgc2VsZWN0IGNvbXBvbmVudCBhdXRvZ3Jvdy5cbiAgKi9cbiAgQElucHV0KCkgYXV0b2dyb3c/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFkZCBjdXN0b20gQ1NTIGNsYXNzIHRvIHRoZSBzZWxlY3Rvci5cbiAgKi9cbiAgQElucHV0KCkgY3NzQ2xhc3M6IENsYXNzTW9kZWw7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBhIGZvcm1Db250cm9sTmFtZSBkaXJlY3RpdmUgdG8gdGhlIHNlbGVjdC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgcmVxdWllcnMgdGhhdCB0aGUgbmFzRm9ybUdyb3VwIGlucHV0IGlzIGZpbGxlZC5cbiAgICogQGV4YW1wbGVcbiAgICAgKiA8bmFzLXNlbGVjdCBbbmFzRm9ybUNvbnRyb2xOYW1lXT1cIidmYXJlQ2xhc3MnXCI+PC9uYXMtc2VsZWN0PlxuICAqL1xuICBASW5wdXQoKSBuYXNGb3JtQ29udHJvbE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGRzIHRoZSBwYXJlbnQncyBmb3JtIGdyb3VwLlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCBpcyByZXF1aWVyZWQgdG8gYmUgZmlsbGVkIGlmIG5hc0Zvcm1Db250cm9sTmFtZSBhZGRlZC5cbiAgICogQGV4YW1wbGVcbiAgICogPG5hcy1zZWxlY3QgW25hc0Zvcm1Hcm91cF09XCJjbGFzc0dyb3VwXCI+PC9uYXMtc2VsZWN0PlxuICAqL1xuICBASW5wdXQoKSBuYXNGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAgKiBAZGVzY3JpcHRpb25cbiAgICAqIEFkZCBvcHRpb25zIHRvIHRoZSBzZWxlY3Rvci5cbiAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBvcHRpb25zKCk6IEFycmF5PFNlbGVjdE9wdGlvbk1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uc1ZhbHVlO1xuICB9XG4gIHB1YmxpYyBzZXQgb3B0aW9ucyh2YWx1ZTogQXJyYXk8U2VsZWN0T3B0aW9uTW9kZWw+KSB7XG4gICAgdGhpcy5vcHRpb25zVmFsdWUgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCA+IDAgJiYgIXRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMub3B0aW9uc1swXTtcblxuICAgICAgdGhpcy5zZXRTZWxlY3RlZFRpdGxlKG9wdGlvbik7XG5cbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUgPT09IG9wdGlvbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG9wdGlvbjtcbiAgICAgIHRoaXMuc2VsZWN0Q29udHJvbC5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSBkZWZhdWx0IHNlbGVjdGVkIHZhbHVlLlxuICAqL1xuICBASW5wdXQoKSBzZWxlY3RlZFZhbHVlOiBTZWxlY3RPcHRpb25Nb2RlbDtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBHZXRzIG9yIHNldHMgdGhlIHNlbGVjdGVkIHZhbHVlLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHNlbGVjdGVkKCk6IFNlbGVjdE9wdGlvbk1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFZhbHVlO1xuICB9XG4gIHNldCBzZWxlY3RlZChvcHRpb246IFNlbGVjdE9wdGlvbk1vZGVsKSB7XG4gICAgaWYgKCFvcHRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldFNlbGVjdGVkVGl0bGUob3B0aW9uKTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUgPT09IG9wdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG9wdGlvbjtcbiAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBbiBldmVudCB0aGF0IGlzIGZpcmVkIGV2ZXJ5IHRpbWUgYSBzZWxlY3Rpb24gaXMgZG9uZS5cbiAgICovXG4gIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0T3B0aW9uTW9kZWw+KCk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBPdXRwdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGV2ZW50cyB0aGF0IGZpcmVzIGV2ZXJ5IHR5cGUgYSBrZXlkb3duIGV2ZW50IGhhcyBiZWVuIHByZXNzZWQgb24gdGhlIHNlbGVjdCBlbGVtZW50LlxuICAqL1xuICBAT3V0cHV0KCkga2V5RG93bkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gIHByaXZhdGUgb3B0aW9uc1ZhbHVlOiBBcnJheTxTZWxlY3RPcHRpb25Nb2RlbD47XG4gIHByaXZhdGUgb3BlbiA9IGZhbHNlO1xuICBwcml2YXRlIGNvbXBvbmVudElkOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2U6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoJ25hcy1zZWxlY3QnKTtcbiAgICB0aGlzLmNvbXBvbmVudElkID0gbmV4dElkKys7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKCh0aGlzLm9wdGlvbkNvbXBvbmVudHMgJiYgdGhpcy5vcHRpb25Db21wb25lbnRzLmxlbmd0aCA+IDApIHx8XG4gICAgICAodGhpcy5vcHRncm91cENvbXBvbmVudHMgJiYgdGhpcy5vcHRncm91cENvbXBvbmVudHMubGVuZ3RoID4gMCkpIHtcbiAgICAgIHRoaXMuaGFzQ29udGVudCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbkNvbXBvbmVudHMgJiYgdGhpcy5vcHRpb25Db21wb25lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc2V0Rmlyc3RPcHRpb25TZWxlY3RlZCh0aGlzLm9wdGlvbkNvbXBvbmVudHMpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5vcHRncm91cENvbXBvbmVudHMgJiYgdGhpcy5vcHRncm91cENvbXBvbmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmlyc3RPcHRncm91cENvbXBvbmVudCA9IHRoaXMub3B0Z3JvdXBDb21wb25lbnRzLmZpcnN0O1xuXG4gICAgICBpZiAoZmlyc3RPcHRncm91cENvbXBvbmVudCkge1xuICAgICAgICB0aGlzLnNldEZpcnN0T3B0aW9uU2VsZWN0ZWQoZmlyc3RPcHRncm91cENvbXBvbmVudC5vcHRpb25Db21wb25lbnRzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgaWYgKCF0aGlzLmhhc0NvbnRlbnQgJiYgIXRoaXMuc2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNldFNlbGVjdGVkVGl0bGUodGhpcy5vcHRpb25zWzBdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdENvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKTtcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRUaXRsZSh0aGlzLnNlbGVjdGVkVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGdldFNlbGVjdElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBuYXMtc2VsZWN0LSR7dGhpcy5jb21wb25lbnRJZH1gO1xuICB9XG5cbiAgZ2V0IHNlbGVjdElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWQgPyB0aGlzLmlkIDogYG5hcy1zZWxlY3QtJHt0aGlzLmNvbXBvbmVudElkfWA7XG4gIH1cblxuICBnZXQgZXJyb3JJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkXG4gICAgICA/IHRoaXMuaWQgKyAnX19lcnJvcidcbiAgICAgIDogYG5hcy1zZWxlY3QtJHt0aGlzLmNvbXBvbmVudElkfV9fZXJyb3JgO1xuICB9XG5cbiAgdG9nZ2xlU2VsZWN0KGV2ZW50OiBhbnksIGtleWRvd24/OiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKChldmVudCAmJiBldmVudC5rZXkgPT09ICdFbnRlcicpIHx8ICFldmVudCB8fCAhZXZlbnQua2V5KSB7XG4gICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuXG4gICAgICBpZiAoa2V5ZG93bikge1xuICAgICAgICB0aGlzLmtleURvd25FdmVudC5lbWl0KGV2ZW50KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFldmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDtcblxuICAgICAgaWYgKHRoaXMub3B0aW9ucykge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMub3B0aW9ucy5maW5kKCh4KSA9PiB4LnZhbHVlID09PSB0YXJnZXQudmFsdWUpO1xuICAgICAgICBpZiAoc2VsZWN0ZWQgJiYgKCF0aGlzLnNlbGVjdGVkIHx8IHNlbGVjdGVkLnZhbHVlICE9PSB0aGlzLnNlbGVjdGVkLnZhbHVlKSkge1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRBbmRFbWl0Q2hhbmdlKHNlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5vcHRpb25Db21wb25lbnRzICYmIHRoaXMub3B0aW9uQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5vcHRpb25Db21wb25lbnRzLmZpbmQoKHgpID0+IHgub3B0aW9uLnZhbHVlID09PSB0YXJnZXQudmFsdWUpO1xuICAgICAgICBpZiAoc2VsZWN0ZWQgJiYgKCF0aGlzLnNlbGVjdGVkIHx8IHNlbGVjdGVkLm9wdGlvbi52YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZC52YWx1ZSkpIHtcbiAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkQW5kRW1pdENoYW5nZShzZWxlY3RlZC5vcHRpb24pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5vcHRncm91cENvbXBvbmVudHMgJiYgdGhpcy5vcHRncm91cENvbXBvbmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLm9wdGdyb3VwQ29tcG9uZW50cy5mb3JFYWNoKChvcHRncm91cENvbXBvbmVudCkgPT4ge1xuICAgICAgICAgIGlmIChvcHRncm91cENvbXBvbmVudC5vcHRpb25Db21wb25lbnRzKSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IG9wdGdyb3VwQ29tcG9uZW50Lm9wdGlvbkNvbXBvbmVudHMuZmluZCgoeCkgPT4geC5vcHRpb24udmFsdWUgPT09IHRhcmdldC52YWx1ZSk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWQgJiYgKCF0aGlzLnNlbGVjdGVkIHx8IHNlbGVjdGVkLm9wdGlvbi52YWx1ZSAhPT0gdGhpcy5zZWxlY3RlZC52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZXRTZWxlY3RlZEFuZEVtaXRDaGFuZ2Uoc2VsZWN0ZWQub3B0aW9uKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZVNoYWRvdyh0YXJnZXQsIHRhcmdldC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgYmx1clNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIGdldENsYXNzZXMoKTogQXJyYXk8Q2xhc3NNb2RlbD4ge1xuICAgIGNvbnN0IGNsYXNzZXM6IEFycmF5PENsYXNzTW9kZWw+ID0gW1xuICAgICAgdGhpcy5nZXRDbGFzcygnJywgW1xuICAgICAgICB0aGlzLmxhYmVsLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmlubGluZSkgJiYgJ2lubGluZScsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuYmxvY2spICYmICdibG9jaycsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuc3BhY2VsZXNzKSAmJiAnc3BhY2VsZXNzJyxcbiAgICAgICAgdGhpcy5leGlzdHModGhpcy5zdHJldGNoKSAmJiAnc3RyZXRjaCcsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuY29tcGFjdCkgJiYgJ2NvbXBhY3QnLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLnNpbXBsZSkgJiYgJ3NpbXBsZScsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMubGlnaHQpICYmICdsaWdodCcsXG4gICAgICAgIHRoaXMuZXhpc3RzKHRoaXMuZmlsbCkgJiYgJ2ZpbGwnLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmVycm9yKSAmJiAnZXJyb3InLFxuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSAmJiAnZGlzYWJsZWQnLFxuICAgICAgICB0aGlzLm9wZW4gJiYgJ3JvdGF0ZSdcbiAgICAgIF0pLFxuICAgIF07XG5cbiAgICBpZiAodGhpcy5jc3NDbGFzcykge1xuICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuY3NzQ2xhc3MpO1xuICAgIH1cblxuICAgIHJldHVybiBjbGFzc2VzO1xuICB9XG5cbiAgQERlYm91bmNlKDE1MClcbiAgcHJpdmF0ZSBzZXRTZWxlY3RlZEFuZEVtaXRDaGFuZ2Uoc2VsZWN0ZWQ6IFNlbGVjdE9wdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgaWYgKCFzZWxlY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNlbGVjdGVkICE9PSBzZWxlY3RlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gIH1cblxuICBwcml2YXRlIHNldEZpcnN0T3B0aW9uU2VsZWN0ZWQob3B0aW9uQ29tcG9uZW50czogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudD4pOiB2b2lkIHtcbiAgICBpZiAoIW9wdGlvbkNvbXBvbmVudHMgfHwgb3B0aW9uQ29tcG9uZW50cy5sZW5ndGggPD0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0T3B0aW9uQ29tcG9uZW50ID0gb3B0aW9uQ29tcG9uZW50cy5maXJzdDtcblxuICAgIGlmIChmaXJzdE9wdGlvbkNvbXBvbmVudCkge1xuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZmlyc3RPcHRpb25Db21wb25lbnQub3B0aW9uO1xuICAgICAgdGhpcy5zZXRTZWxlY3RlZFRpdGxlKHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTaGFkb3codGFyZ2V0OiBhbnksIHRhcmdldFZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5sYWJlbCB8fCB0aGlzLmJsb2NrIHx8ICF0aGlzLmF1dG9ncm93IHx8ICF0YXJnZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgdmFsdWU6IHN0cmluZztcblxuICAgIGlmICh0YXJnZXQuc2VsZWN0ZWRPcHRpb25zICYmIHRhcmdldC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICB2YWx1ZSA9IHRhcmdldC5zZWxlY3RlZE9wdGlvbnNbMF0uaW5uZXJIVE1MO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IHRhcmdldFZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IHNoYWRvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NlbGVjdCcpO1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpO1xuICAgIHNoYWRvdy5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgc2hhZG93LnN0eWxlLnRvcCA9ICctMTAwMHB4JztcbiAgICBzaGFkb3cuc3R5bGUubGVmdCA9ICctMTAwMHB4JztcbiAgICBzaGFkb3cuc3R5bGUud2lkdGggPSAnYXV0byc7XG4gICAgc2hhZG93LnN0eWxlLm1heFdpZHRoID0gJ25vbmUnO1xuICAgIHNoYWRvdy5zdHlsZS5mb250U2l6ZSA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1zaXplJyk7XG4gICAgc2hhZG93LnN0eWxlLmZvbnRGYW1pbHkgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtZmFtaWx5Jyk7XG4gICAgc2hhZG93LnN0eWxlLmZvbnRXZWlnaHQgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtd2VpZ2h0Jyk7XG4gICAgc2hhZG93LnN0eWxlLmxldHRlclNwYWNpbmcgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2xldHRlci1zcGFjaW5nJyk7XG4gICAgc2hhZG93LnN0eWxlLnBhZGRpbmdUb3AgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctdG9wJyk7XG4gICAgc2hhZG93LnN0eWxlLnBhZGRpbmdSaWdodCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy1yaWdodCcpO1xuICAgIHNoYWRvdy5zdHlsZS5wYWRkaW5nQm90dG9tID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLWJvdHRvbScpO1xuICAgIHNoYWRvdy5zdHlsZS5wYWRkaW5nTGVmdCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy1sZWZ0Jyk7XG4gICAgc2hhZG93LnN0eWxlLmJvcmRlclRvcCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyLXRvcCcpO1xuICAgIHNoYWRvdy5zdHlsZS5ib3JkZXJSaWdodCA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyLXJpZ2h0Jyk7XG4gICAgc2hhZG93LnN0eWxlLmJvcmRlckJvdHRvbSA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyLWJvdHRvbScpO1xuICAgIHNoYWRvdy5zdHlsZS5ib3JkZXJMZWZ0ID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdib3JkZXItbGVmdCcpO1xuXG4gICAgY29uc3Qgb3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7XG4gICAgb3B0aW9uLnZhbHVlID0gdmFsdWU7XG4gICAgb3B0aW9uLmlubmVySFRNTCA9IHZhbHVlO1xuICAgIHNoYWRvdy5hcHBlbmRDaGlsZChvcHRpb24pO1xuXG4gICAgdGFyZ2V0LnN0eWxlLndpZHRoID0gYCR7c2hhZG93Lm9mZnNldFdpZHRoICsgNn1weGA7XG4gIH1cblxuICBwcml2YXRlIHNldFNlbGVjdGVkVGl0bGUob3B0aW9uOiBTZWxlY3RPcHRpb25Nb2RlbCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdFRpdGxlV3JhcHBlciA9IHRoaXMuc2VsZWN0VGl0bGVXcmFwcGVyLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoIXNlbGVjdFRpdGxlV3JhcHBlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghb3B0aW9uKSB7XG4gICAgICBzZWxlY3RUaXRsZVdyYXBwZXIuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdFRpdGxlID0gb3B0aW9uLnRpdGxlO1xuICAgIHNlbGVjdFRpdGxlV3JhcHBlci5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICBzZWxlY3RUaXRsZVdyYXBwZXIuc3R5bGUud2hpdGVTcGFjZSA9ICdub3dyYXAnO1xuXG4gICAgaWYgKCF0aGlzLnNlbGVjdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdEVsZW1lbnQgPSB0aGlzLnNlbGVjdC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKCFzZWxlY3RFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0U3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzZWxlY3RFbGVtZW50KTtcbiAgICBsZXQgc2VsZWN0UGFkZGluZ0xlZnQgPSAwO1xuICAgIGxldCBzZWxlY3RQYWRkaW5nUmlnaHQgPSAwO1xuICAgIGxldCBzZWxlY3RCb3JkZXJMZWZ0ID0gMDtcbiAgICBsZXQgc2VsZWN0Qm9yZGVyUmlnaHQgPSAwO1xuXG4gICAgaWYgKHNlbGVjdFN0eWxlKSB7XG4gICAgICBzZWxlY3RQYWRkaW5nTGVmdCA9IHBhcnNlSW50KHNlbGVjdFN0eWxlLnBhZGRpbmdMZWZ0LCAxMCk7XG4gICAgICBzZWxlY3RQYWRkaW5nUmlnaHQgPSBwYXJzZUludChzZWxlY3RTdHlsZS5wYWRkaW5nUmlnaHQsIDEwKTtcbiAgICAgIHNlbGVjdEJvcmRlckxlZnQgPSBwYXJzZUludChzZWxlY3RTdHlsZS5ib3JkZXJMZWZ0LCAxMCk7XG4gICAgICBzZWxlY3RCb3JkZXJSaWdodCA9IHBhcnNlSW50KHNlbGVjdFN0eWxlLmJvcmRlclJpZ2h0LCAxMCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0VGl0bGVXcmFwcGVyVGl0bGUgPVxuICAgICAgc2VsZWN0VGl0bGVXcmFwcGVyLmxhc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgbGV0IG9mZnNldFdpZHRoID0gc2VsZWN0UGFkZGluZ0xlZnQgKyBzZWxlY3RQYWRkaW5nUmlnaHQgKyBzZWxlY3RCb3JkZXJMZWZ0ICsgc2VsZWN0Qm9yZGVyUmlnaHQ7XG5cbiAgICBpZiAoc2VsZWN0VGl0bGVXcmFwcGVyVGl0bGUpIHtcbiAgICAgIG9mZnNldFdpZHRoICs9IHNlbGVjdFRpdGxlV3JhcHBlclRpdGxlLm9mZnNldFdpZHRoO1xuICAgICAgaWYgKHRoaXMuZXhpc3RzKHRoaXMuZXJyb3IpICYmIHRoaXMuZXJyb3JNZXNzYWdlV3JhcHBlcikge1xuICAgICAgICBjb25zdCBzZWxlY3RFcnJvcldpZHRoID0gcGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5lcnJvck1lc3NhZ2VXcmFwcGVyLm5hdGl2ZUVsZW1lbnQpLndpZHRoLCAxMCk7XG4gICAgICAgIGlmIChzZWxlY3RFcnJvcldpZHRoID4gb2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICBvZmZzZXRXaWR0aCA9IHNlbGVjdEVycm9yV2lkdGg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob2Zmc2V0V2lkdGggPiAwKSB7XG4gICAgICB0aGlzLmxhYmVsV2lkdGggPSBvZmZzZXRXaWR0aDtcbiAgICAgIHRoaXMuY2hhbmdlLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBzZWxlY3RUaXRsZVdyYXBwZXIuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgfVxufVxuIiwiPGxhYmVsIGZvcj1cImdldFNlbGVjdElkKClcIiAqbmdJZj1cImxhYmVsICYmICFpbmxpbmVcIj5cbiAgPHNwYW4gW25hc0NsYXNzXT1cImdldENsYXNzKCdsYWJlbCcpXCI+e3tsYWJlbH19PC9zcGFuPlxuPC9sYWJlbD5cbjxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzZXMoKVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW5hc0Zvcm1Hcm91cCB8fCAhbmFzRm9ybUNvbnRyb2xOYW1lOyBlbHNlIHJlYWN0aXZlRm9ybVwiPlxuICAgIDxzZWxlY3QgI3NlbGVjdCBbaWRdPVwic2VsZWN0SWRcIiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NlbGVjdCdcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImdldFNlbGVjdElkKClcIiBbc3R5bGUud2lkdGgucHhdPVwibGFiZWxXaWR0aFwiIFtmb3JtQ29udHJvbF09XCJzZWxlY3RDb250cm9sXCJcbiAgICAgIChtb3VzZWRvd24pPVwidG9nZ2xlU2VsZWN0KCRldmVudClcIiAoa2V5ZG93bik9XCJ0b2dnbGVTZWxlY3QoJGV2ZW50LCB0cnVlKVwiIChibHVyKT1cImJsdXJTZWxlY3QoKVwiXG4gICAgICAoY2hhbmdlKT1cInRvZ2dsZVNlbGVjdCgkZXZlbnQpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0NvbnRlbnRcIj5cbiAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uPy52YWx1ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uPy50aXRsZVwiPlxuICAgICAgICAgIHt7b3B0aW9uPy50aXRsZX19PC9vcHRpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50T3B0aW9uc1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvc2VsZWN0PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNyZWFjdGl2ZUZvcm0+XG4gICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cIm5hc0Zvcm1Hcm91cFwiPlxuICAgICAgPHNlbGVjdCAjc2VsZWN0IFtmb3JtQ29udHJvbE5hbWVdPVwibmFzRm9ybUNvbnRyb2xOYW1lXCIgW2lkXT1cInNlbGVjdElkXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidzZWxlY3QnXCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImdldFNlbGVjdElkKClcIiBbc3R5bGUud2lkdGgucHhdPVwibGFiZWxXaWR0aFwiXG4gICAgICAgIChtb3VzZWRvd24pPVwidG9nZ2xlU2VsZWN0KCRldmVudClcIiAoa2V5ZG93bik9XCJ0b2dnbGVTZWxlY3QoJGV2ZW50LCB0cnVlKVwiIChibHVyKT1cImJsdXJTZWxlY3QoKVwiXG4gICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlU2VsZWN0KCRldmVudClcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNDb250ZW50XCI+XG4gICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uPy52YWx1ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uPy50aXRsZVwiPlxuICAgICAgICAgICAge3tvcHRpb24/LnRpdGxlfX08L29wdGlvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50T3B0aW9uc1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxwIFtuYXNDbGFzc109XCJnZXRDbGFzcygnZXJyb3InKVwiICNlcnJvck1lc3NhZ2VXcmFwcGVyICpuZ0lmPVwiZXhpc3RzKGVycm9yKSAmJiBlcnJvck1lc3NhZ2VcIiBbaWRdPVwiZXJyb3JJZFwiPlxuICAgIHt7ZXJyb3JNZXNzYWdlfX08L3A+XG4gIDxkaXYgI3NlbGVjdFRpdGxlV3JhcHBlciBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICA8c3Bhbj57e3NlbGVjdFRpdGxlfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI2NvbnRlbnRPcHRpb25zPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PiJdfQ==
@@ -8,23 +8,15 @@ import { OptgroupComponent } from './optgroup/optgroup.component';
8
8
  import * as i0 from "@angular/core";
9
9
  export class SelectModule {
10
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: SelectModule, declarations: [SelectComponent, OptionComponent, OptgroupComponent], imports: [CommonModule,
12
- ReactiveFormsModule,
13
- NasClassModule], exports: [SelectComponent, OptionComponent, OptgroupComponent] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SelectModule, imports: [CommonModule,
15
- ReactiveFormsModule,
16
- NasClassModule] }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: SelectModule, declarations: [SelectComponent, OptionComponent, OptgroupComponent], imports: [CommonModule, ReactiveFormsModule, NasClassModule], exports: [SelectComponent, OptionComponent, OptgroupComponent] }); }
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SelectModule, imports: [CommonModule, ReactiveFormsModule, NasClassModule] }); }
17
13
  }
18
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SelectModule, decorators: [{
19
15
  type: NgModule,
20
16
  args: [{
21
- imports: [
22
- CommonModule,
23
- ReactiveFormsModule,
24
- NasClassModule
25
- ],
17
+ imports: [CommonModule, ReactiveFormsModule, NasClassModule],
26
18
  declarations: [SelectComponent, OptionComponent, OptgroupComponent],
27
- exports: [SelectComponent, OptionComponent, OptgroupComponent]
19
+ exports: [SelectComponent, OptionComponent, OptgroupComponent],
28
20
  }]
29
21
  }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBV2xFLE1BQU0sT0FBTyxZQUFZOzhHQUFaLFlBQVk7K0dBQVosWUFBWSxpQkFIUixlQUFlLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixhQUpoRSxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGNBQWMsYUFHTixlQUFlLEVBQUUsZUFBZSxFQUFFLGlCQUFpQjsrR0FFbEQsWUFBWSxZQVByQixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGNBQWM7OzJGQUtMLFlBQVk7a0JBVHhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixjQUFjO3FCQUNmO29CQUNELFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUM7b0JBQ25FLE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUM7aUJBQy9EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmFzQ2xhc3NNb2R1bGUgfSBmcm9tICcuLi8uLi9jb3JlL2RpcmVjdGl2ZXMvbmFzLWNsYXNzL25hcy1jbGFzcy5tb2R1bGUnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcHRncm91cENvbXBvbmVudCB9IGZyb20gJy4vb3B0Z3JvdXAvb3B0Z3JvdXAuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE5hc0NsYXNzTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1NlbGVjdENvbXBvbmVudCwgT3B0aW9uQ29tcG9uZW50LCBPcHRncm91cENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtTZWxlY3RDb21wb25lbnQsIE9wdGlvbkNvbXBvbmVudCwgT3B0Z3JvdXBDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdE1vZHVsZSB7IH1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBT2xFLE1BQU0sT0FBTyxZQUFZOzhHQUFaLFlBQVk7K0dBQVosWUFBWSxpQkFIUixlQUFlLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixhQUR4RCxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxhQUVqRCxlQUFlLEVBQUUsZUFBZSxFQUFFLGlCQUFpQjsrR0FFbEQsWUFBWSxZQUpiLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxjQUFjOzsyRkFJaEQsWUFBWTtrQkFMeEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxDQUFDO29CQUM1RCxZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDO29CQUNuRSxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixDQUFDO2lCQUMvRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IE5hc0NsYXNzTW9kdWxlIH0gZnJvbSAnLi4vLi4vY29yZS9kaXJlY3RpdmVzL25hcy1jbGFzcy9uYXMtY2xhc3MubW9kdWxlJztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0Z3JvdXBDb21wb25lbnQgfSBmcm9tICcuL29wdGdyb3VwL29wdGdyb3VwLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE5hc0NsYXNzTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbU2VsZWN0Q29tcG9uZW50LCBPcHRpb25Db21wb25lbnQsIE9wdGdyb3VwQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1NlbGVjdENvbXBvbmVudCwgT3B0aW9uQ29tcG9uZW50LCBPcHRncm91cENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdE1vZHVsZSB7fVxuIl19
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
45
45
  }], items: [{
46
46
  type: Input
47
47
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zaW1wbGUtbGlzdC9zaW1wbGUtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NpbXBsZS1saXN0L3NpbXBsZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7O0FBRXRFOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBZ0I7SUEwRHZEO1FBQ0UsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVM7WUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTTtZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVO1lBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFVBQVU7WUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTTtZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxXQUFXO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU87U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F4RVUsbUJBQW1CO2tHQUFuQixtQkFBbUIsOE9DZGhDLHlIQUlBOzsyRkRVYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGlCQUdaLGlCQUFpQixDQUFDLElBQUk7MEVBUzVCLE9BQU87c0JBQWYsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLElBQUk7c0JBQVosS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL25hcy1jb21wb25lbnQuYmFzZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBOb3J3ZWdpYW4gU2ltcGxlIExpc3QgQ29tcG9uZW50IHwgTGF5b3V0XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy1zaW1wbGUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaW1wbGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpbXBsZS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNpbXBsZUxpc3RDb21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIHtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBMaXN0IHdpdGggZ3JleSBhbmQgYmx1ZSBjaGVjay1pY29uIG1hcmtlcnNcbiAgKi9cbiAgQElucHV0KCkgbWFya2VyczogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBMaXN0IHdpdGggbm90ZSBtYXJrZXJzXG4gICovXG4gIEBJbnB1dCgpIG5vdGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogTGlzdCB3aXRoIGdyZWVuIGNoZWNrLWljb24gbWFya2Vyc1xuICAqL1xuICBASW5wdXQoKSBwb3NpdGl2ZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBMaXN0IHdpdGggcmVkIHgtaWNvbiBtYXJrZXJzXG4gICovXG4gIEBJbnB1dCgpIG5lZ2F0aXZlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIExpc3Qgd2l0aCBnb3RvIChhcnJvdykgaWNvbiBtYXJrZXJzXG4gICovXG4gIEBJbnB1dCgpIGdvdG86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogTGlzdCBzdHlsZXMgYXMgYSB0YWJsZVxuICAqL1xuICBASW5wdXQoKSB0YWJsZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBMaXN0IHdpdGhvdXQgbWFyZ2luIGF0IGJvdHRvbVxuICAqL1xuICBASW5wdXQoKSBzcGFjZWxlc3M6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIHN0cmluZyBlbGVtZW50cyB3aXRoaW4gdGhlIGxpc3RcbiAgKi9cbiAgQElucHV0KCkgaXRlbXM6IEFycmF5PHN0cmluZz47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ25hcy1zaW1wbGUtbGlzdCcpO1xuICB9XG5cbiAgbWFpbkNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmdldENsYXNzKCcnLCBbXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLm1hcmtlcnMpICYmICdtYXJrZXJzJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMubm90ZSkgJiYgJ25vdGUnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5wb3NpdGl2ZSkgJiYgJ3Bvc2l0aXZlJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMubmVnYXRpdmUpICYmICduZWdhdGl2ZScsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLmdvdG8pICYmICdnb3RvJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuc3BhY2VsZXNzKSAmJiAnc3BhY2VsZXNzJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMudGFibGUpICYmICd0YWJsZScsXG4gICAgXSk7XG4gIH1cbn1cbiIsIjx1bCBbbmFzQ2xhc3NdPVwibWFpbkNsYXNzKClcIj5cbiAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+e3tpdGVtfX08L2xpPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3VsPlxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zaW1wbGUtbGlzdC9zaW1wbGUtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NpbXBsZS1saXN0L3NpbXBsZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7O0FBRXRFOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBZ0I7SUF5RHZEO1FBQ0UsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVM7WUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTTtZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVO1lBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLFVBQVU7WUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTTtZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxXQUFXO1lBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU87U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F2RVUsbUJBQW1CO2tHQUFuQixtQkFBbUIsOE9DZGhDLHlIQUlBOzsyRkRVYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGlCQUdaLGlCQUFpQixDQUFDLElBQUk7MEVBUTVCLE9BQU87c0JBQWYsS0FBSztnQkFPRyxJQUFJO3NCQUFaLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLElBQUk7c0JBQVosS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL25hcy1jb21wb25lbnQuYmFzZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBOb3J3ZWdpYW4gU2ltcGxlIExpc3QgQ29tcG9uZW50IHwgTGF5b3V0XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy1zaW1wbGUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaW1wbGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpbXBsZS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNpbXBsZUxpc3RDb21wb25lbnQgZXh0ZW5kcyBOYXNDb21wb25lbnRCYXNlIHtcbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogTGlzdCB3aXRoIGdyZXkgYW5kIGJsdWUgY2hlY2staWNvbiBtYXJrZXJzXG4gICAqL1xuICBASW5wdXQoKSBtYXJrZXJzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIExpc3Qgd2l0aCBub3RlIG1hcmtlcnNcbiAgICovXG4gIEBJbnB1dCgpIG5vdGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogTGlzdCB3aXRoIGdyZWVuIGNoZWNrLWljb24gbWFya2Vyc1xuICAgKi9cbiAgQElucHV0KCkgcG9zaXRpdmU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogTGlzdCB3aXRoIHJlZCB4LWljb24gbWFya2Vyc1xuICAgKi9cbiAgQElucHV0KCkgbmVnYXRpdmU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogTGlzdCB3aXRoIGdvdG8gKGFycm93KSBpY29uIG1hcmtlcnNcbiAgICovXG4gIEBJbnB1dCgpIGdvdG86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogTGlzdCBzdHlsZXMgYXMgYSB0YWJsZVxuICAgKi9cbiAgQElucHV0KCkgdGFibGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogTGlzdCB3aXRob3V0IG1hcmdpbiBhdCBib3R0b21cbiAgICovXG4gIEBJbnB1dCgpIHNwYWNlbGVzczogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgc3RyaW5nIGVsZW1lbnRzIHdpdGhpbiB0aGUgbGlzdFxuICAgKi9cbiAgQElucHV0KCkgaXRlbXM6IEFycmF5PHN0cmluZz47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ25hcy1zaW1wbGUtbGlzdCcpO1xuICB9XG5cbiAgbWFpbkNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmdldENsYXNzKCcnLCBbXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLm1hcmtlcnMpICYmICdtYXJrZXJzJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMubm90ZSkgJiYgJ25vdGUnLFxuICAgICAgdGhpcy5leGlzdHModGhpcy5wb3NpdGl2ZSkgJiYgJ3Bvc2l0aXZlJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMubmVnYXRpdmUpICYmICduZWdhdGl2ZScsXG4gICAgICB0aGlzLmV4aXN0cyh0aGlzLmdvdG8pICYmICdnb3RvJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMuc3BhY2VsZXNzKSAmJiAnc3BhY2VsZXNzJyxcbiAgICAgIHRoaXMuZXhpc3RzKHRoaXMudGFibGUpICYmICd0YWJsZScsXG4gICAgXSk7XG4gIH1cbn1cbiIsIjx1bCBbbmFzQ2xhc3NdPVwibWFpbkNsYXNzKClcIj5cbiAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+e3tpdGVtfX08L2xpPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3VsPlxuIl19
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
16
16
  exports: [SimpleListComponent],
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zaW1wbGUtbGlzdC9zaW1wbGUtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQU9sRixNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFKWixtQkFBbUIsYUFDeEIsWUFBWSxFQUFFLGNBQWMsYUFDNUIsbUJBQW1COytHQUVsQixnQkFBZ0IsWUFIakIsWUFBWSxFQUFFLGNBQWM7OzJGQUczQixnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBTaW1wbGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaW1wbGUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmFzQ2xhc3NNb2R1bGUgfSBmcm9tICcuLi8uLi9jb3JlL2RpcmVjdGl2ZXMvbmFzLWNsYXNzL25hcy1jbGFzcy5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTaW1wbGVMaXN0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmFzQ2xhc3NNb2R1bGVdLFxuICBleHBvcnRzOiBbU2ltcGxlTGlzdENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNpbXBsZUxpc3RNb2R1bGUgeyB9XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zaW1wbGUtbGlzdC9zaW1wbGUtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQU9sRixNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFKWixtQkFBbUIsYUFDeEIsWUFBWSxFQUFFLGNBQWMsYUFDNUIsbUJBQW1COytHQUVsQixnQkFBZ0IsWUFIakIsWUFBWSxFQUFFLGNBQWM7OzJGQUczQixnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBTaW1wbGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zaW1wbGUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmFzQ2xhc3NNb2R1bGUgfSBmcm9tICcuLi8uLi9jb3JlL2RpcmVjdGl2ZXMvbmFzLWNsYXNzL25hcy1jbGFzcy5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTaW1wbGVMaXN0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmFzQ2xhc3NNb2R1bGVdLFxuICBleHBvcnRzOiBbU2ltcGxlTGlzdENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNpbXBsZUxpc3RNb2R1bGUge31cbiJdfQ==
@@ -6,26 +6,15 @@ import { NasClassModule } from '../../core/directives/nas-class/nas-class.module
6
6
  import * as i0 from "@angular/core";
7
7
  export class SlideToggleModule {
8
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SlideToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: SlideToggleModule, declarations: [SlideToggleComponent], imports: [CommonModule,
10
- NasClassModule,
11
- ReactiveFormsModule,
12
- FormsModule], exports: [SlideToggleComponent] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SlideToggleModule, imports: [CommonModule,
14
- NasClassModule,
15
- ReactiveFormsModule,
16
- FormsModule] }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: SlideToggleModule, declarations: [SlideToggleComponent], imports: [CommonModule, NasClassModule, ReactiveFormsModule, FormsModule], exports: [SlideToggleComponent] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SlideToggleModule, imports: [CommonModule, NasClassModule, ReactiveFormsModule, FormsModule] }); }
17
11
  }
18
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: SlideToggleModule, decorators: [{
19
13
  type: NgModule,
20
14
  args: [{
21
15
  declarations: [SlideToggleComponent],
22
- imports: [
23
- CommonModule,
24
- NasClassModule,
25
- ReactiveFormsModule,
26
- FormsModule
27
- ],
28
- exports: [SlideToggleComponent]
16
+ imports: [CommonModule, NasClassModule, ReactiveFormsModule, FormsModule],
17
+ exports: [SlideToggleComponent],
29
18
  }]
30
19
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtdG9nZ2xlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2xpZGUtdG9nZ2xlL3NsaWRlLXRvZ2dsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFZbEYsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBVGIsb0JBQW9CLGFBRWpDLFlBQVk7WUFDWixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLFdBQVcsYUFFSCxvQkFBb0I7K0dBRW5CLGlCQUFpQixZQVAxQixZQUFZO1lBQ1osY0FBYztZQUNkLG1CQUFtQjtZQUNuQixXQUFXOzsyRkFJRixpQkFBaUI7a0JBVjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixXQUFXO3FCQUNaO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTbGlkZVRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vc2xpZGUtdG9nZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXNDbGFzc01vZHVsZSB9IGZyb20gJy4uLy4uL2NvcmUvZGlyZWN0aXZlcy9uYXMtY2xhc3MvbmFzLWNsYXNzLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NsaWRlVG9nZ2xlQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBOYXNDbGFzc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtTbGlkZVRvZ2dsZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgU2xpZGVUb2dnbGVNb2R1bGUgeyB9XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtdG9nZ2xlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2xpZGUtdG9nZ2xlL3NsaWRlLXRvZ2dsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFPbEYsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBSmIsb0JBQW9CLGFBQ3pCLFlBQVksRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxhQUM5RCxvQkFBb0I7K0dBRW5CLGlCQUFpQixZQUhsQixZQUFZLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLFdBQVc7OzJGQUc3RCxpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxDQUFDO29CQUN6RSxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2xpZGVUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL3NsaWRlLXRvZ2dsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmFzQ2xhc3NNb2R1bGUgfSBmcm9tICcuLi8uLi9jb3JlL2RpcmVjdGl2ZXMvbmFzLWNsYXNzL25hcy1jbGFzcy5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTbGlkZVRvZ2dsZUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5hc0NsYXNzTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtTbGlkZVRvZ2dsZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNsaWRlVG9nZ2xlTW9kdWxlIHt9XG4iXX0=
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
112
112
  }], focusOnPrevious: [{
113
113
  type: Output
114
114
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtdG9nZ2xlLW5ldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NsaWRlLXRvZ2dsZS1uZXcvc2xpZGUtdG9nZ2xlLW5ldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NsaWRlLXRvZ2dsZS1uZXcvc2xpZGUtdG9nZ2xlLW5ldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7QUFJdEUsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHVCQUNYLFNBQVEsZ0JBQWdCO0lBMkJ4Qjs7OztPQUlHO0lBQ0gsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWTtZQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFDbkIsQ0FBQyxDQUFDLDhCQUE4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBZ0JELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFNRDtRQUNFLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBdkJoQzs7OztXQUlHO1FBQ08saUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXJEOzs7O1dBSUc7UUFDTyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBWTVELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ2hELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBRXJFLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ2xCLE9BQU87YUFDUjtZQUVELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzlCLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUN6QjtZQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUVsQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQWMsRUFBRSxFQUFFO2dCQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2lCQUNyQjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVk7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQW9CO1FBQzVCLFFBQVEsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNqQixLQUFLLEtBQUs7Z0JBQ1IsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO29CQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDbEM7U0FDSjtJQUNILENBQUM7OEdBaklVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGtUQ3hCcEMsMGhEQXFDYzs7MkZEYkQsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHNCQUFzQixpQkFHakIsaUJBQWlCLENBQUMsSUFBSTswRUFZNUIsa0JBQWtCO3NCQUExQixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFRRixPQUFPO3NCQURWLEtBQUs7Z0JBZ0JGLE1BQU07c0JBRFQsS0FBSztnQkFnQkksWUFBWTtzQkFBckIsTUFBTTtnQkFPRyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmFzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9uYXMtY29tcG9uZW50LmJhc2UnO1xuaW1wb3J0IHsgQ2xhc3NNb2RlbCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzL2NsYXNzLm1vZGVsJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBOb3J3ZWdpYW4gU2xpZGUgVG9vZ2xlIENvbXBvbmVudCB8IE5ldyBkZXNpZ24gfCBCZXRhXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy1zbGlkZS10b2dnbGUtbmV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlLXRvZ2dsZS1uZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbGlkZS10b2dnbGUtbmV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNsaWRlVG9nZ2xlTmV3Q29tcG9uZW50XG4gIGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZVxuICBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldHMgYSBmb3JtQ29udHJvbE5hbWUgZGlyZWN0aXZlIHRvIHRoZSBpbnB1dC5cbiAgICogSXQgcmVxdWlyZXMgdGhhdCB0aGUgY29uc3VtZXIgaW5jbHVkZWQgUmVhY3RpdmVGb3Jtc01vZHVsZSBpbiBpdCdzIG1vZHVsZS5cbiAgICogSXQgcmVxdWllcnMgdGhhdCB0aGUgbmFzRm9ybUdyb3VwIGlucHV0IGlzIGZpbGxlZC5cbiAgICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Db250cm9sTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFkZHMgdGhlIHBhcmVudCdzIGZvcm0gZ3JvdXAuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IGlzIHJlcXVpZXJlZCB0byBiZSBmaWxsZWQgaWYgbmFzRm9ybUNvbnRyb2xOYW1lIGFkZGVkLlxuICAgKi9cbiAgQElucHV0KCkgbmFzRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQm9vbGVhbiB0byBkaXNhYmxlIHRoZSBzbGlkZSB0b2dnbGUuXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIHRoZSBJZCBvZiB0aGUgbmF0aXZlIGlucHV0IGVsZW1lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgaW5wdXRJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dElkVmFsdWVcbiAgICAgID8gdGhpcy5pbnB1dElkVmFsdWVcbiAgICAgIDogYG5hcy1zbGlkZS10b2dnbGUtbmV3LWlucHV0LSR7dGhpcy5jb21wb25lbnRJZH1gO1xuICB9XG4gIHNldCBpbnB1dElkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlucHV0SWRWYWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0IHRoZSB0b2dnbGUgdmFsdWUuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgdG9nZ2xlKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZVZhbHVlO1xuICB9XG4gIHNldCB0b2dnbGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMudG9nZ2xlVmFsdWUpIHtcbiAgICAgIHRoaXMudG9nZ2xlVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMudG9nZ2xlQ2hhbmdlLmVtaXQodGhpcy50b2dnbGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUb2dnbGUgY2hhbmdlIGV2ZW50cy5cbiAgICovXG4gIEBPdXRwdXQoKSB0b2dnbGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBPdXRwdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEVtaXRzIHdoZW4gdGhlIGZvY3VzIHNob3VsZCBiZSBvbiB0aGUgcHJldmlvdXMgZWxlbWVudC5cbiAgICovXG4gIEBPdXRwdXQoKSBmb2N1c09uUHJldmlvdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgZ2V0IG1haW5DbGFzcygpOiBDbGFzc01vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDbGFzcygnJywgW3RoaXMuZXhpc3RzKHRoaXMuZGlzYWJsZWQpICYmICdkaXNhYmxlZCddKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlVmFsdWU6IGJvb2xlYW47XG4gIHByaXZhdGUgY29tcG9uZW50SWQ6IG51bWJlcjtcbiAgcHJpdmF0ZSBpbnB1dElkVmFsdWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignbmFzLXNsaWRlLXRvZ2dsZS1uZXcnKTtcbiAgICB0aGlzLmNvbXBvbmVudElkID0gbmV4dElkKys7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5uYXNGb3JtR3JvdXAgJiYgdGhpcy5uYXNGb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgIGNvbnN0IHRvZ2dsZUNvbnRyb2wgPSB0aGlzLm5hc0Zvcm1Hcm91cC5nZXQodGhpcy5uYXNGb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICBpZiAoIXRvZ2dsZUNvbnRyb2wpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5leGlzdHModGhpcy5kaXNhYmxlZCkpIHtcbiAgICAgICAgdG9nZ2xlQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMudG9nZ2xlID0gdG9nZ2xlQ29udHJvbC52YWx1ZTtcblxuICAgICAgdG9nZ2xlQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZTogYm9vbGVhbikgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuZXhpc3RzKHRoaXMuZGlzYWJsZWQpKSB7XG4gICAgICAgICAgdGhpcy50b2dnbGUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRDaGFuZ2VkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgaW5wdXRDbGlja2VkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgaWYgKHRoaXMuZXhpc3RzKHRoaXMuZGlzYWJsZWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy50b2dnbGUgPSAhdGhpcy50b2dnbGU7XG4gIH1cblxuICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnVGFiJzpcbiAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgdGhpcy5mb2N1c09uUHJldmlvdXMuZW1pdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhbmFzRm9ybUNvbnRyb2xOYW1lOyBlbHNlIHJlYWN0aXZlRm9ybVwiPlxuICAgIDxsYWJlbCBbbmFzQ2xhc3NdPVwibWFpbkNsYXNzXCI+XG4gICAgICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCd0aHVtYi1jb250YWluZXInLCBleGlzdHModG9nZ2xlKSAmJiAndG9nZ2xlZCcpXCIgdGFiaW5kZXg9XCIwXCI+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICByb2xlPVwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiZXhpc3RzKHRvZ2dsZSlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJleGlzdHModG9nZ2xlKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImV4aXN0cyhkaXNhYmxlZClcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiaW5wdXRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpbnB1dENsaWNrZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3RodW1iJylcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9sYWJlbD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3JlYWN0aXZlRm9ybT5cbiAgICA8bGFiZWwgW25hc0NsYXNzXT1cIm1haW5DbGFzc1wiIFtmb3JtR3JvdXBdPVwibmFzRm9ybUdyb3VwXCI+XG4gICAgICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCd0aHVtYi1jb250YWluZXInLCBleGlzdHModG9nZ2xlKSAmJiAndG9nZ2xlZCcpXCIgdGFiaW5kZXg9XCIwXCI+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICByb2xlPVwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm5hc0Zvcm1Db250cm9sTmFtZVwiXG4gICAgICAgICAgICAgICAgW2lkXT1cImlucHV0SWRcIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImV4aXN0cyh0b2dnbGUpXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiZXhpc3RzKHRvZ2dsZSlcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCI+XG4gICAgICAgICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygndGh1bWInKVwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2xhYmVsPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzcygnY29udGVudCcpXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtdG9nZ2xlLW5ldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NsaWRlLXRvZ2dsZS1uZXcvc2xpZGUtdG9nZ2xlLW5ldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NsaWRlLXRvZ2dsZS1uZXcvc2xpZGUtdG9nZ2xlLW5ldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7QUFJdEUsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFnQjtJQTBCM0Q7Ozs7T0FJRztJQUNILElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVk7WUFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQ25CLENBQUMsQ0FBQyw4QkFBOEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxLQUFjO1FBQ3ZCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQWdCRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBTUQ7UUFDRSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQXZCaEM7Ozs7V0FJRztRQUNPLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVyRDs7OztXQUlHO1FBQ08sb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQVk1RCxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNoRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUVyRSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNsQixPQUFPO2FBQ1I7WUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUM5QixhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDekI7WUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7WUFFbEMsYUFBYSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFjLEVBQUUsRUFBRTtnQkFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztpQkFDckI7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFZO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVk7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDOUIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFvQjtRQUM1QixRQUFRLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDakIsS0FBSyxLQUFLO2dCQUNSLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtvQkFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xDO1NBQ0o7SUFDSCxDQUFDOzhHQS9IVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixrVEN4QnBDLDBoREFxQ2M7OzJGRGJELHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUk7MEVBVTVCLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFTRyxZQUFZO3NCQUFwQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBUUYsT0FBTztzQkFEVixLQUFLO2dCQWdCRixNQUFNO3NCQURULEtBQUs7Z0JBZ0JJLFlBQVk7c0JBQXJCLE1BQU07Z0JBT0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hc0NvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvbmFzLWNvbXBvbmVudC5iYXNlJztcbmltcG9ydCB7IENsYXNzTW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscy9jbGFzcy5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIFNsaWRlIFRvb2dsZSBDb21wb25lbnQgfCBOZXcgZGVzaWduIHwgQmV0YVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduYXMtc2xpZGUtdG9nZ2xlLW5ldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZS10b2dnbGUtbmV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2xpZGUtdG9nZ2xlLW5ldy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTbGlkZVRvZ2dsZU5ld0NvbXBvbmVudCBleHRlbmRzIE5hc0NvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGEgZm9ybUNvbnRyb2xOYW1lIGRpcmVjdGl2ZSB0byB0aGUgaW5wdXQuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IHJlcXVpZXJzIHRoYXQgdGhlIG5hc0Zvcm1Hcm91cCBpbnB1dCBpcyBmaWxsZWQuXG4gICAqL1xuICBASW5wdXQoKSBuYXNGb3JtQ29udHJvbE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGRzIHRoZSBwYXJlbnQncyBmb3JtIGdyb3VwLlxuICAgKiBJdCByZXF1aXJlcyB0aGF0IHRoZSBjb25zdW1lciBpbmNsdWRlZCBSZWFjdGl2ZUZvcm1zTW9kdWxlIGluIGl0J3MgbW9kdWxlLlxuICAgKiBJdCBpcyByZXF1aWVyZWQgdG8gYmUgZmlsbGVkIGlmIG5hc0Zvcm1Db250cm9sTmFtZSBhZGRlZC5cbiAgICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEJvb2xlYW4gdG8gZGlzYWJsZSB0aGUgc2xpZGUgdG9nZ2xlLlxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyB0aGUgSWQgb2YgdGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGlucHV0SWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRJZFZhbHVlXG4gICAgICA/IHRoaXMuaW5wdXRJZFZhbHVlXG4gICAgICA6IGBuYXMtc2xpZGUtdG9nZ2xlLW5ldy1pbnB1dC0ke3RoaXMuY29tcG9uZW50SWR9YDtcbiAgfVxuICBzZXQgaW5wdXRJZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5pbnB1dElkVmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFNldCB0aGUgdG9nZ2xlIHZhbHVlLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IHRvZ2dsZSgpIHtcbiAgICByZXR1cm4gdGhpcy50b2dnbGVWYWx1ZTtcbiAgfVxuICBzZXQgdG9nZ2xlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLnRvZ2dsZVZhbHVlKSB7XG4gICAgICB0aGlzLnRvZ2dsZVZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnRvZ2dsZUNoYW5nZS5lbWl0KHRoaXMudG9nZ2xlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHByb3BlcnR5IE91dHB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVG9nZ2xlIGNoYW5nZSBldmVudHMuXG4gICAqL1xuICBAT3V0cHV0KCkgdG9nZ2xlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgT3V0cHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFbWl0cyB3aGVuIHRoZSBmb2N1cyBzaG91bGQgYmUgb24gdGhlIHByZXZpb3VzIGVsZW1lbnQuXG4gICAqL1xuICBAT3V0cHV0KCkgZm9jdXNPblByZXZpb3VzID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gIGdldCBtYWluQ2xhc3MoKTogQ2xhc3NNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2xhc3MoJycsIFt0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSAmJiAnZGlzYWJsZWQnXSk7XG4gIH1cblxuICBwcml2YXRlIHRvZ2dsZVZhbHVlOiBib29sZWFuO1xuICBwcml2YXRlIGNvbXBvbmVudElkOiBudW1iZXI7XG4gIHByaXZhdGUgaW5wdXRJZFZhbHVlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ25hcy1zbGlkZS10b2dnbGUtbmV3Jyk7XG4gICAgdGhpcy5jb21wb25lbnRJZCA9IG5leHRJZCsrO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMubmFzRm9ybUdyb3VwICYmIHRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICBjb25zdCB0b2dnbGVDb250cm9sID0gdGhpcy5uYXNGb3JtR3JvdXAuZ2V0KHRoaXMubmFzRm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgaWYgKCF0b2dnbGVDb250cm9sKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZXhpc3RzKHRoaXMuZGlzYWJsZWQpKSB7XG4gICAgICAgIHRvZ2dsZUNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnRvZ2dsZSA9IHRvZ2dsZUNvbnRyb2wudmFsdWU7XG5cbiAgICAgIHRvZ2dsZUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSkge1xuICAgICAgICAgIHRoaXMudG9nZ2xlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0Q2hhbmdlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGlucHV0Q2xpY2tlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmV4aXN0cyh0aGlzLmRpc2FibGVkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlID0gIXRoaXMudG9nZ2xlO1xuICB9XG5cbiAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgIHRoaXMuZm9jdXNPblByZXZpb3VzLmVtaXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIW5hc0Zvcm1Db250cm9sTmFtZTsgZWxzZSByZWFjdGl2ZUZvcm1cIj5cbiAgICA8bGFiZWwgW25hc0NsYXNzXT1cIm1haW5DbGFzc1wiPlxuICAgICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygndGh1bWItY29udGFpbmVyJywgZXhpc3RzKHRvZ2dsZSkgJiYgJ3RvZ2dsZWQnKVwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICAgICAgICAgICAgW2lkXT1cImlucHV0SWRcIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImV4aXN0cyh0b2dnbGUpXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiZXhpc3RzKHRvZ2dsZSlcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJleGlzdHMoZGlzYWJsZWQpXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImlucHV0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW5wdXRDbGlja2VkKCRldmVudClcIj5cbiAgICAgICAgICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzKCd0aHVtYicpXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbGFiZWw+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNyZWFjdGl2ZUZvcm0+XG4gICAgPGxhYmVsIFtuYXNDbGFzc109XCJtYWluQ2xhc3NcIiBbZm9ybUdyb3VwXT1cIm5hc0Zvcm1Hcm91cFwiPlxuICAgICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzcygndGh1bWItY29udGFpbmVyJywgZXhpc3RzKHRvZ2dsZSkgJiYgJ3RvZ2dsZWQnKVwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJuYXNGb3JtQ29udHJvbE5hbWVcIlxuICAgICAgICAgICAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJleGlzdHModG9nZ2xlKVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cImV4aXN0cyh0b2dnbGUpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiPlxuICAgICAgICAgICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ3RodW1iJylcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8c3BhbiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2NvbnRlbnQnKVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT4iXX0=