@gravitee/ui-particles-angular 8.0.0 → 9.0.0-renovate-all-devdependencies-minor-patch-64f2e64

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 (192) hide show
  1. package/README.md +1 -1
  2. package/esm2020/lib/gio-asciidoctor/gio-asciidoctor.component.mjs +5 -5
  3. package/esm2020/lib/gio-asciidoctor/gio-asciidoctor.module.mjs +5 -5
  4. package/esm2020/lib/gio-asciidoctor/gio-asciidoctor.service.mjs +4 -4
  5. package/esm2020/lib/gio-avatar/gio-avatar.component.mjs +7 -7
  6. package/esm2020/lib/gio-avatar/gio-avatar.module.mjs +5 -5
  7. package/esm2020/lib/gio-banner/gio-banner.component.mjs +27 -27
  8. package/esm2020/lib/gio-banner/gio-banner.module.mjs +5 -5
  9. package/esm2020/lib/gio-breadcrumb/gio-breadcrumb-item.directive.mjs +4 -4
  10. package/esm2020/lib/gio-breadcrumb/gio-breadcrumb.component.mjs +4 -4
  11. package/esm2020/lib/gio-breadcrumb/gio-breadcrumb.module.mjs +5 -5
  12. package/esm2020/lib/gio-clipboard/gio-clipboard-copy-icon.component.mjs +6 -6
  13. package/esm2020/lib/gio-clipboard/gio-clipboard-copy-wrapper.component.mjs +4 -4
  14. package/esm2020/lib/gio-clipboard/gio-clipboard.base.component.mjs +4 -4
  15. package/esm2020/lib/gio-clipboard/gio-clipboard.module.mjs +5 -5
  16. package/esm2020/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.mjs +12 -13
  17. package/esm2020/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.mjs +5 -5
  18. package/esm2020/lib/gio-confirm-dialog/gio-confirm-dialog.component.mjs +4 -4
  19. package/esm2020/lib/gio-confirm-dialog/gio-confirm-dialog.module.mjs +5 -5
  20. package/esm2020/lib/gio-form-cron/gio-form-cron-hint.component.mjs +4 -4
  21. package/esm2020/lib/gio-form-cron/gio-form-cron-label.component.mjs +4 -4
  22. package/esm2020/lib/gio-form-cron/gio-form-cron.component.mjs +6 -6
  23. package/esm2020/lib/gio-form-cron/gio-form-cron.module.mjs +5 -5
  24. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.mjs +5 -5
  25. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.mjs +4 -4
  26. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.mjs +4 -4
  27. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker.component.mjs +9 -9
  28. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker.module.mjs +5 -5
  29. package/esm2020/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid-ignore.directive.mjs +4 -4
  30. package/esm2020/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.directive.mjs +10 -10
  31. package/esm2020/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.module.mjs +5 -5
  32. package/esm2020/lib/gio-form-headers/gio-form-headers-label.component.mjs +4 -4
  33. package/esm2020/lib/gio-form-headers/gio-form-headers.component.mjs +8 -8
  34. package/esm2020/lib/gio-form-headers/gio-form-headers.harness.mjs +2 -2
  35. package/esm2020/lib/gio-form-headers/gio-form-headers.module.mjs +5 -5
  36. package/esm2020/lib/gio-form-json-schema/gio-form-json-schema.component.mjs +13 -13
  37. package/esm2020/lib/gio-form-json-schema/gio-form-json-schema.module.mjs +5 -5
  38. package/esm2020/lib/gio-form-json-schema/gio-formly-json-schema.service.mjs +4 -4
  39. package/esm2020/lib/gio-form-json-schema/type-component/array-type.component.mjs +6 -6
  40. package/esm2020/lib/gio-form-json-schema/type-component/code-editor-type.component.mjs +4 -4
  41. package/esm2020/lib/gio-form-json-schema/type-component/headers-type.component.mjs +6 -6
  42. package/esm2020/lib/gio-form-json-schema/type-component/multischema-type.component.mjs +6 -6
  43. package/esm2020/lib/gio-form-json-schema/type-component/null-type.component.mjs +4 -4
  44. package/esm2020/lib/gio-form-json-schema/type-component/object-type.component.mjs +6 -6
  45. package/esm2020/lib/gio-form-json-schema/type-component/toggle-type.component.mjs +4 -4
  46. package/esm2020/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.mjs +5 -5
  47. package/esm2020/lib/gio-form-json-schema/wrappers/gio-password-eye.component.mjs +10 -9
  48. package/esm2020/lib/gio-form-slide-toggle/gio-form-label.directive.mjs +10 -10
  49. package/esm2020/lib/gio-form-slide-toggle/gio-form-slide-toggle.component.mjs +5 -5
  50. package/esm2020/lib/gio-form-slide-toggle/gio-form-slide-toggle.module.mjs +5 -5
  51. package/esm2020/lib/gio-form-tags-input/gio-form-tags-input.component.mjs +61 -61
  52. package/esm2020/lib/gio-form-tags-input/gio-form-tags-input.harness.mjs +14 -11
  53. package/esm2020/lib/gio-form-tags-input/gio-form-tags-input.module.mjs +5 -5
  54. package/esm2020/lib/gio-icons/gio-icons.module.mjs +5 -5
  55. package/esm2020/lib/gio-license/gio-license-dialog/gio-license-dialog.component.mjs +5 -5
  56. package/esm2020/lib/gio-license/gio-license-dialog/gio-license-dialog.module.mjs +5 -5
  57. package/esm2020/lib/gio-license/gio-license.directive.mjs +4 -4
  58. package/esm2020/lib/gio-license/gio-license.module.mjs +5 -5
  59. package/esm2020/lib/gio-license/gio-license.service.mjs +4 -4
  60. package/esm2020/lib/gio-license/gio-license.testing.module.mjs +5 -5
  61. package/esm2020/lib/gio-license-expiration-notification/gio-license-expiration-notification.component.mjs +5 -5
  62. package/esm2020/lib/gio-license-expiration-notification/gio-license-expiration-notification.module.mjs +5 -5
  63. package/esm2020/lib/gio-loader/gio-loader.component.mjs +4 -4
  64. package/esm2020/lib/gio-loader/gio-loader.module.mjs +5 -5
  65. package/esm2020/lib/gio-mat-config/gio-mat-config.module.mjs +13 -6
  66. package/esm2020/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.mjs +24 -24
  67. package/esm2020/lib/gio-monaco-editor/gio-monaco-editor.component.mjs +4 -4
  68. package/esm2020/lib/gio-monaco-editor/gio-monaco-editor.module.mjs +5 -5
  69. package/esm2020/lib/gio-monaco-editor/gio-monaco-editor.testing.component.mjs +4 -4
  70. package/esm2020/lib/gio-monaco-editor/services/gio-language-json.service.mjs +4 -4
  71. package/esm2020/lib/gio-monaco-editor/services/gio-monaco-editor.service.mjs +4 -4
  72. package/esm2020/lib/gio-pipe/gio.pipe.module.mjs +5 -5
  73. package/esm2020/lib/gio-pipe/safe.pipe.mjs +4 -4
  74. package/esm2020/lib/gio-prismjs/gio-prismjs.service.mjs +4 -4
  75. package/esm2020/lib/gio-radio-button/gio-radio-button-content.component.mjs +10 -10
  76. package/esm2020/lib/gio-radio-button/gio-radio-button.module.mjs +5 -5
  77. package/esm2020/lib/gio-save-bar/gio-save-bar.component.mjs +5 -5
  78. package/esm2020/lib/gio-save-bar/gio-save-bar.module.mjs +5 -5
  79. package/esm2020/lib/oem-theme/gio-menu/gio-menu-footer/gio-menu-footer.component.mjs +4 -4
  80. package/esm2020/lib/oem-theme/gio-menu/gio-menu-header/gio-menu-header.component.mjs +4 -4
  81. package/esm2020/lib/oem-theme/gio-menu/gio-menu-item/gio-menu-item.component.mjs +4 -4
  82. package/esm2020/lib/oem-theme/gio-menu/gio-menu-license-expiration-notification/gio-menu-license-expiration-notification.component.mjs +4 -4
  83. package/esm2020/lib/oem-theme/gio-menu/gio-menu-list/gio-menu-list.component.mjs +4 -4
  84. package/esm2020/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.component.mjs +7 -8
  85. package/esm2020/lib/oem-theme/gio-menu/gio-menu.component.mjs +4 -4
  86. package/esm2020/lib/oem-theme/gio-menu/gio-menu.module.mjs +5 -5
  87. package/esm2020/lib/oem-theme/gio-menu/gio-menu.service.mjs +4 -4
  88. package/esm2020/lib/oem-theme/gio-submenu/gio-submenu-group/gio-submenu-group.component.mjs +4 -4
  89. package/esm2020/lib/oem-theme/gio-submenu/gio-submenu-item/gio-submenu-item.component.mjs +4 -4
  90. package/esm2020/lib/oem-theme/gio-submenu/gio-submenu.component.mjs +7 -7
  91. package/esm2020/lib/oem-theme/gio-submenu/gio-submenu.module.mjs +5 -5
  92. package/esm2020/lib/oem-theme/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.mjs +5 -5
  93. package/esm2020/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.mjs +5 -5
  94. package/esm2020/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.mjs +5 -5
  95. package/esm2020/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.mjs +4 -4
  96. package/esm2020/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.mjs +5 -5
  97. package/esm2020/lib/oem-theme/gio-top-bar/gio-top-bar.component.mjs +5 -5
  98. package/esm2020/lib/oem-theme/gio-top-bar/gio-top-bar.module.mjs +5 -5
  99. package/esm2020/lib/oem-theme/oem-theme.service.mjs +2 -2
  100. package/fesm2015/gravitee-ui-particles-angular-testing.mjs.map +1 -1
  101. package/fesm2015/gravitee-ui-particles-angular.mjs +544 -529
  102. package/fesm2015/gravitee-ui-particles-angular.mjs.map +1 -1
  103. package/fesm2020/gravitee-ui-particles-angular-testing.mjs.map +1 -1
  104. package/fesm2020/gravitee-ui-particles-angular.mjs +544 -529
  105. package/fesm2020/gravitee-ui-particles-angular.mjs.map +1 -1
  106. package/lib/gio-asciidoctor/gio-asciidoctor.component.d.ts +1 -1
  107. package/lib/gio-asciidoctor/gio-asciidoctor.service.d.ts +1 -1
  108. package/lib/gio-avatar/gio-avatar.component.d.ts +1 -1
  109. package/lib/gio-banner/gio-banner.component.d.ts +8 -8
  110. package/lib/gio-breadcrumb/gio-breadcrumb-item.directive.d.ts +1 -1
  111. package/lib/gio-breadcrumb/gio-breadcrumb.component.d.ts +1 -1
  112. package/lib/gio-clipboard/gio-clipboard-copy-icon.component.d.ts +1 -1
  113. package/lib/gio-clipboard/gio-clipboard-copy-wrapper.component.d.ts +1 -1
  114. package/lib/gio-clipboard/gio-clipboard.base.component.d.ts +1 -1
  115. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.d.ts +3 -5
  116. package/lib/gio-confirm-dialog/gio-confirm-dialog.component.d.ts +2 -2
  117. package/lib/gio-form-cron/gio-form-cron-hint.component.d.ts +1 -1
  118. package/lib/gio-form-cron/gio-form-cron-label.component.d.ts +1 -1
  119. package/lib/gio-form-cron/gio-form-cron.adapter.d.ts +1 -1
  120. package/lib/gio-form-cron/gio-form-cron.component.d.ts +1 -1
  121. package/lib/gio-form-cron/gio-form-cron.harness.d.ts +1 -1
  122. package/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.d.ts +1 -1
  123. package/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.d.ts +1 -1
  124. package/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.d.ts +1 -1
  125. package/lib/gio-form-file-picker/gio-form-file-picker.component.d.ts +2 -2
  126. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid-ignore.directive.d.ts +1 -1
  127. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.directive.d.ts +3 -3
  128. package/lib/gio-form-headers/gio-form-headers-label.component.d.ts +1 -1
  129. package/lib/gio-form-headers/gio-form-headers.component.d.ts +3 -3
  130. package/lib/gio-form-json-schema/gio-form-json-schema.component.d.ts +1 -1
  131. package/lib/gio-form-json-schema/model/GioJsonSchema.d.ts +3 -3
  132. package/lib/gio-form-json-schema/type-component/array-type.component.d.ts +1 -1
  133. package/lib/gio-form-json-schema/type-component/code-editor-type.component.d.ts +3 -3
  134. package/lib/gio-form-json-schema/type-component/headers-type.component.d.ts +2 -2
  135. package/lib/gio-form-json-schema/type-component/multischema-type.component.d.ts +1 -1
  136. package/lib/gio-form-json-schema/type-component/null-type.component.d.ts +1 -1
  137. package/lib/gio-form-json-schema/type-component/object-type.component.d.ts +1 -1
  138. package/lib/gio-form-json-schema/type-component/toggle-type.component.d.ts +2 -2
  139. package/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.d.ts +1 -1
  140. package/lib/gio-form-json-schema/wrappers/gio-password-eye.component.d.ts +1 -1
  141. package/lib/gio-form-slide-toggle/gio-form-label.directive.d.ts +3 -3
  142. package/lib/gio-form-slide-toggle/gio-form-slide-toggle.component.d.ts +2 -2
  143. package/lib/gio-form-tags-input/gio-form-tags-input.component.d.ts +4 -4
  144. package/lib/gio-form-tags-input/gio-form-tags-input.harness.d.ts +3 -3
  145. package/lib/gio-license/gio-license-dialog/gio-license-dialog.component.d.ts +2 -2
  146. package/lib/gio-license/gio-license.directive.d.ts +1 -1
  147. package/lib/gio-license/gio-license.service.d.ts +1 -1
  148. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.component.d.ts +1 -1
  149. package/lib/gio-loader/gio-loader.component.d.ts +1 -1
  150. package/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.d.ts +1 -1
  151. package/lib/gio-monaco-editor/gio-monaco-editor.component.d.ts +2 -2
  152. package/lib/gio-monaco-editor/gio-monaco-editor.harness.d.ts +1 -1
  153. package/lib/gio-monaco-editor/gio-monaco-editor.testing.component.d.ts +1 -1
  154. package/lib/gio-monaco-editor/models/GioMonacoEditorConfig.d.ts +1 -1
  155. package/lib/gio-monaco-editor/models/MonacoEditorTheme.d.ts +1 -1
  156. package/lib/gio-radio-button/gio-radio-button-content.component.d.ts +3 -3
  157. package/lib/gio-save-bar/gio-save-bar.component.d.ts +1 -1
  158. package/lib/oem-theme/gio-menu/gio-menu-footer/gio-menu-footer.component.d.ts +1 -1
  159. package/lib/oem-theme/gio-menu/gio-menu-header/gio-menu-header.component.d.ts +1 -1
  160. package/lib/oem-theme/gio-menu/gio-menu-item/gio-menu-item.component.d.ts +1 -1
  161. package/lib/oem-theme/gio-menu/gio-menu-license-expiration-notification/gio-menu-license-expiration-notification.component.d.ts +1 -1
  162. package/lib/oem-theme/gio-menu/gio-menu-list/gio-menu-list.component.d.ts +1 -1
  163. package/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.component.d.ts +2 -2
  164. package/lib/oem-theme/gio-menu/gio-menu.component.d.ts +1 -1
  165. package/lib/oem-theme/gio-submenu/gio-submenu-group/gio-submenu-group.component.d.ts +1 -1
  166. package/lib/oem-theme/gio-submenu/gio-submenu-item/gio-submenu-item.component.d.ts +1 -1
  167. package/lib/oem-theme/gio-submenu/gio-submenu.component.d.ts +3 -3
  168. package/lib/oem-theme/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.d.ts +2 -2
  169. package/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.d.ts +1 -1
  170. package/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.d.ts +1 -1
  171. package/lib/oem-theme/gio-top-bar/gio-top-bar.component.d.ts +2 -2
  172. package/lib/oem-theme/oem-theme.service.d.ts +1 -1
  173. package/package.json +12 -11
  174. package/src/lib/gio-button-toggle-group/gio-button-toggle-group.scss +1 -1
  175. package/src/lib/gio-radio-button/gio-radio-button.scss +23 -2
  176. package/src/lib/gio-table-light/gio-table-light.scss +2 -2
  177. package/src/scss/gio-mat-legacy-theme-variable.scss +100 -0
  178. package/src/scss/gio-mat-theme-variable.scss +12 -11
  179. package/src/scss/gio-mat-theme.scss +35 -2
  180. package/src/scss/index.scss +1 -0
  181. package/src/scss/mat-override/mat-button.scss +13 -0
  182. package/src/scss/mat-override/mat-card.scss +6 -0
  183. package/src/scss/mat-override/mat-form-field.scss +11 -0
  184. package/src/scss/mat-override/mat-list.scss +13 -0
  185. package/src/scss/mat-override/mat-option.scss +10 -2
  186. package/src/scss/mat-override/mat-table.scss +8 -0
  187. package/src/scss/mat-override/mat-tabs.scss +1 -0
  188. package/testing/harnesses/div.harness.d.ts +1 -1
  189. package/testing/harnesses/span.harness.d.ts +1 -1
  190. package/testing/package.json +0 -10
  191. /package/{gravitee-ui-particles-angular.d.ts → index.d.ts} +0 -0
  192. /package/testing/{gravitee-ui-particles-angular-testing.d.ts → index.d.ts} +0 -0
@@ -14,61 +14,6 @@ import * as i6 from "@angular/material/autocomplete";
14
14
  import * as i7 from "@angular/material/core";
15
15
  import * as i8 from "../gio-loader/gio-loader.component";
16
16
  export class GioFormTagsInputComponent {
17
- constructor(
18
- // From ControlValueAccessor interface
19
- ngControl, elRef, fm, changeDetectorRef) {
20
- this.ngControl = ngControl;
21
- this.elRef = elRef;
22
- this.fm = fm;
23
- this.changeDetectorRef = changeDetectorRef;
24
- this._onChange = () => ({});
25
- this._onTouched = () => ({});
26
- this.touched = false;
27
- this.ariaLabel = '';
28
- this.addOnBlur = true;
29
- /**
30
- * Function called each time a tag is added, it can be used to hook inside the
31
- * addition process to, for instance, have custom validation in the components
32
- * using `gio-form-tags-input`.
33
- *
34
- * Parameters are:
35
- * - `tag`: The value of the tag to add
36
- * - `validationCb`: The callback function to call when validation is done. If
37
- * called with `true` it will add the tag, otherwise it will just ignore it
38
- */
39
- this.tagValidationHook = undefined;
40
- /**
41
- * Set to true to force the chip to be part of the autocomplete options.
42
- */
43
- this.useAutocompleteOptionValueOnly = false;
44
- this._tagInput = null;
45
- this.displayValueCache = {};
46
- this.loading = false;
47
- this._value = null;
48
- // From MatFormFieldControl interface
49
- this.stateChanges = new Subject();
50
- // From MatFormFieldControl interface
51
- this.id = `gio-form-tags-input-${GioFormTagsInputComponent.nextId++}`;
52
- this._placeholder = '';
53
- // From MatFormFieldControl interface
54
- this.focused = false;
55
- this._required = false;
56
- this._disabled = false;
57
- // From MatFormFieldControl interface
58
- this.describedBy = '';
59
- // Replace the provider from above with this.
60
- if (this.ngControl != null) {
61
- // Setting the value accessor directly (instead of using
62
- // the providers) to avoid running into a circular import.
63
- this.ngControl.valueAccessor = this;
64
- }
65
- fm.monitor(elRef.nativeElement, true).subscribe(origin => {
66
- this.focused = !!origin;
67
- this._onTouched();
68
- this.touched = true;
69
- this.stateChanges.next();
70
- });
71
- }
72
17
  set autocompleteOptions(v) {
73
18
  this._autocompleteOptions = v;
74
19
  }
@@ -149,6 +94,61 @@ export class GioFormTagsInputComponent {
149
94
  // if there is a touched control check if there is an error
150
95
  (this.ngControl && this.ngControl.touched === true && !!this.ngControl.errors)));
151
96
  }
97
+ constructor(
98
+ // From ControlValueAccessor interface
99
+ ngControl, elRef, fm, changeDetectorRef) {
100
+ this.ngControl = ngControl;
101
+ this.elRef = elRef;
102
+ this.fm = fm;
103
+ this.changeDetectorRef = changeDetectorRef;
104
+ this._onChange = () => ({});
105
+ this._onTouched = () => ({});
106
+ this.touched = false;
107
+ this.ariaLabel = '';
108
+ this.addOnBlur = true;
109
+ /**
110
+ * Function called each time a tag is added, it can be used to hook inside the
111
+ * addition process to, for instance, have custom validation in the components
112
+ * using `gio-form-tags-input`.
113
+ *
114
+ * Parameters are:
115
+ * - `tag`: The value of the tag to add
116
+ * - `validationCb`: The callback function to call when validation is done. If
117
+ * called with `true` it will add the tag, otherwise it will just ignore it
118
+ */
119
+ this.tagValidationHook = undefined;
120
+ /**
121
+ * Set to true to force the chip to be part of the autocomplete options.
122
+ */
123
+ this.useAutocompleteOptionValueOnly = false;
124
+ this._tagInput = null;
125
+ this.displayValueCache = {};
126
+ this.loading = false;
127
+ this._value = null;
128
+ // From MatFormFieldControl interface
129
+ this.stateChanges = new Subject();
130
+ // From MatFormFieldControl interface
131
+ this.id = `gio-form-tags-input-${GioFormTagsInputComponent.nextId++}`;
132
+ this._placeholder = '';
133
+ // From MatFormFieldControl interface
134
+ this.focused = false;
135
+ this._required = false;
136
+ this._disabled = false;
137
+ // From MatFormFieldControl interface
138
+ this.describedBy = '';
139
+ // Replace the provider from above with this.
140
+ if (this.ngControl != null) {
141
+ // Setting the value accessor directly (instead of using
142
+ // the providers) to avoid running into a circular import.
143
+ this.ngControl.valueAccessor = this;
144
+ }
145
+ fm.monitor(elRef.nativeElement, true).subscribe(origin => {
146
+ this.focused = !!origin;
147
+ this._onTouched();
148
+ this.touched = true;
149
+ this.stateChanges.next();
150
+ });
151
+ }
152
152
  ngDoCheck() {
153
153
  // sync control touched with local touched
154
154
  if (this.ngControl != null && this.touched !== this.ngControl.touched) {
@@ -248,21 +248,21 @@ export class GioFormTagsInputComponent {
248
248
  }
249
249
  }
250
250
  GioFormTagsInputComponent.nextId = 0;
251
- GioFormTagsInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GioFormTagsInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2.FocusMonitor }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
252
- GioFormTagsInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GioFormTagsInputComponent, selector: "gio-form-tags-input", inputs: { ariaLabel: ["aria-label", "ariaLabel"], addOnBlur: "addOnBlur", tagValidationHook: "tagValidationHook", autocompleteOptions: "autocompleteOptions", displayValueWith: "displayValueWith", useAutocompleteOptionValueOnly: "useAutocompleteOptionValueOnly", placeholder: "placeholder", required: "required", disabled: "disabled" }, host: { properties: { "id": "this.id", "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy" } }, providers: [
251
+ GioFormTagsInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioFormTagsInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2.FocusMonitor }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
252
+ GioFormTagsInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: GioFormTagsInputComponent, selector: "gio-form-tags-input", inputs: { ariaLabel: ["aria-label", "ariaLabel"], addOnBlur: "addOnBlur", tagValidationHook: "tagValidationHook", autocompleteOptions: "autocompleteOptions", displayValueWith: "displayValueWith", useAutocompleteOptionValueOnly: "useAutocompleteOptionValueOnly", placeholder: "placeholder", required: "required", disabled: "disabled" }, host: { properties: { "id": "this.id", "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy" } }, providers: [
253
253
  {
254
254
  provide: MatFormFieldControl,
255
255
  useExisting: GioFormTagsInputComponent,
256
256
  },
257
- ], viewQueries: [{ propertyName: "tagInput", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<mat-chip-list #tagChipList [attr.aria-label]=\"ariaLabel\" multiple [disabled]=\"disabled\">\n <mat-chip\n *ngFor=\"let tag of value\"\n [selectable]=\"false\"\n [removable]=\"!disabled\"\n (removed)=\"removeChipToFormControl(tag)\"\n [disabled]=\"disabled\"\n >\n {{ _displayValueWith ? (_displayValueWith(tag) | async) : tag }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input\n *ngIf=\"!disabled\"\n #tagInput\n [matAutocompleteDisabled]=\"!_autocompleteOptions || disabled\"\n [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\"\n [matChipInputFor]=\"tagChipList\"\n [matChipInputAddOnBlur]=\"addOnBlur\"\n (matChipInputTokenEnd)=\"onMatChipTokenEnd()\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteSelect($event)\">\n <mat-option *ngIf=\"loading\" disabled id=\"loader\">\n <div class=\"loader-option\"><gio-loader></gio-loader></div>\n </mat-option>\n <mat-option *ngFor=\"let option of autocompleteFilteredOptions$ | async\" [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n</mat-chip-list>\n", styles: [".loader-option{display:flex}.loader-option gio-loader{width:24px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i4.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i8.GioLoaderComponent, selector: "gio-loader" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GioFormTagsInputComponent, decorators: [{
257
+ ], viewQueries: [{ propertyName: "tagInput", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<mat-chip-grid #tagChipList [attr.aria-label]=\"ariaLabel\" multiple [disabled]=\"disabled\">\n <mat-chip-row *ngFor=\"let tag of value\" [removable]=\"!disabled\" (removed)=\"removeChipToFormControl(tag)\" [disabled]=\"disabled\">\n {{ _displayValueWith ? (_displayValueWith(tag) | async) : tag }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n <input\n #tagInput\n [matAutocompleteDisabled]=\"!_autocompleteOptions || disabled\"\n [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\"\n [matChipInputFor]=\"tagChipList\"\n [matChipInputAddOnBlur]=\"addOnBlur\"\n (matChipInputTokenEnd)=\"onMatChipTokenEnd()\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteSelect($event)\">\n <mat-option *ngIf=\"loading\" disabled id=\"loader\">\n <div class=\"loader-option\"><gio-loader></gio-loader></div>\n </mat-option>\n <mat-option *ngFor=\"let option of autocompleteFilteredOptions$ | async\" [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n</mat-chip-grid>\n", styles: [".loader-option{display:flex}.loader-option gio-loader{width:24px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "editable"], outputs: ["edited"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i8.GioLoaderComponent, selector: "gio-loader" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioFormTagsInputComponent, decorators: [{
259
259
  type: Component,
260
260
  args: [{ selector: 'gio-form-tags-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
261
261
  {
262
262
  provide: MatFormFieldControl,
263
263
  useExisting: GioFormTagsInputComponent,
264
264
  },
265
- ], template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<mat-chip-list #tagChipList [attr.aria-label]=\"ariaLabel\" multiple [disabled]=\"disabled\">\n <mat-chip\n *ngFor=\"let tag of value\"\n [selectable]=\"false\"\n [removable]=\"!disabled\"\n (removed)=\"removeChipToFormControl(tag)\"\n [disabled]=\"disabled\"\n >\n {{ _displayValueWith ? (_displayValueWith(tag) | async) : tag }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input\n *ngIf=\"!disabled\"\n #tagInput\n [matAutocompleteDisabled]=\"!_autocompleteOptions || disabled\"\n [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\"\n [matChipInputFor]=\"tagChipList\"\n [matChipInputAddOnBlur]=\"addOnBlur\"\n (matChipInputTokenEnd)=\"onMatChipTokenEnd()\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteSelect($event)\">\n <mat-option *ngIf=\"loading\" disabled id=\"loader\">\n <div class=\"loader-option\"><gio-loader></gio-loader></div>\n </mat-option>\n <mat-option *ngFor=\"let option of autocompleteFilteredOptions$ | async\" [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n</mat-chip-list>\n", styles: [".loader-option{display:flex}.loader-option gio-loader{width:24px}\n"] }]
265
+ ], template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<mat-chip-grid #tagChipList [attr.aria-label]=\"ariaLabel\" multiple [disabled]=\"disabled\">\n <mat-chip-row *ngFor=\"let tag of value\" [removable]=\"!disabled\" (removed)=\"removeChipToFormControl(tag)\" [disabled]=\"disabled\">\n {{ _displayValueWith ? (_displayValueWith(tag) | async) : tag }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n <input\n #tagInput\n [matAutocompleteDisabled]=\"!_autocompleteOptions || disabled\"\n [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\"\n [matChipInputFor]=\"tagChipList\"\n [matChipInputAddOnBlur]=\"addOnBlur\"\n (matChipInputTokenEnd)=\"onMatChipTokenEnd()\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteSelect($event)\">\n <mat-option *ngIf=\"loading\" disabled id=\"loader\">\n <div class=\"loader-option\"><gio-loader></gio-loader></div>\n </mat-option>\n <mat-option *ngFor=\"let option of autocompleteFilteredOptions$ | async\" [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n</mat-chip-grid>\n", styles: [".loader-option{display:flex}.loader-option gio-loader{width:24px}\n"] }]
266
266
  }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
267
267
  type: Optional
268
268
  }, {
@@ -311,4 +311,4 @@ const sanitizeAutocompleteOptions = (options) => {
311
311
  return { value: option, label: option };
312
312
  });
313
313
  };
314
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tdGFncy1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLXRhZ3MtaW5wdXQvZ2lvLWZvcm0tdGFncy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLXRhZ3MtaW5wdXQvZ2lvLWZvcm0tdGFncy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBR1QsV0FBVyxFQUNYLEtBQUssRUFFTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFvQnRGLE1BQU0sT0FBTyx5QkFBeUI7SUErS3BDO0lBQ0Usc0NBQXNDO0lBQ0YsU0FBb0IsRUFDdkMsS0FBaUIsRUFDakIsRUFBZ0IsRUFDekIsaUJBQW9DO1FBSFIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUN2QyxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFDekIsc0JBQWlCLEdBQWpC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dUJBQUMsSUFBSTtnQkFLTixXQUFXO3NCQURyQixLQUFLO2dCQXNCSyxnQkFBZ0I7c0JBRDFCLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU9sQixRQUFRO3NCQURsQixLQUFLO2dCQWNLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBK0ZDLFdBQVc7c0JBRGpCLFdBQVc7dUJBQUMsdUJBQXVCOztBQTBGdEMsTUFBTSx5QkFBeUIsR0FBRyxDQUNoQyxPQUE0QixFQUM1QixNQUFjLEVBSVosRUFBRTtJQUNKLE9BQU8sMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUNoRCxhQUFhLENBQUMsRUFBRSxDQUNkLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hFLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQzNFLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLDJCQUEyQixHQUFHLENBQ2xDLE9BQTRCLEVBSTFCLEVBQUU7SUFDSixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDMUIsSUFBSSxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sSUFBSSxNQUFNLElBQUksT0FBTyxJQUFJLE1BQU0sRUFBRTtZQUNsRixPQUFPLE1BQU0sQ0FBQztTQUNmO1FBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbWVtYmVyLWFjY2Vzc2liaWxpdHlcblxuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCB0eXBlIFRhZ3MgPSBBcnJheTxzdHJpbmc+O1xuXG5leHBvcnQgdHlwZSBBdXRvY29tcGxldGVPcHRpb25zID0gKHN0cmluZyB8IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9KVtdO1xuXG5leHBvcnQgdHlwZSBEaXNwbGF5VmFsdWVXaXRoRm4gPSAodmFsdWU6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnaW8tZm9ybS10YWdzLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1mb3JtLXRhZ3MtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9naW8tZm9ybS10YWdzLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLFxuICAgICAgdXNlRXhpc3Rpbmc6IEdpb0Zvcm1UYWdzSW5wdXRDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvRm9ybVRhZ3NJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE1hdEZvcm1GaWVsZENvbnRyb2w8VGFncz4sIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBEb0NoZWNrLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xuXG4gIHB1YmxpYyBfb25DaGFuZ2U6IChfdGFnczogVGFncyB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuXG4gIHB1YmxpYyBfb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcbiAgcHJpdmF0ZSB0b3VjaGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCdhcmlhLWxhYmVsJylcbiAgcHVibGljIGFyaWFMYWJlbCA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZGRPbkJsdXIgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiBjYWxsZWQgZWFjaCB0aW1lIGEgdGFnIGlzIGFkZGVkLCBpdCBjYW4gYmUgdXNlZCB0byBob29rIGluc2lkZSB0aGVcbiAgICogYWRkaXRpb24gcHJvY2VzcyB0bywgZm9yIGluc3RhbmNlLCBoYXZlIGN1c3RvbSB2YWxpZGF0aW9uIGluIHRoZSBjb21wb25lbnRzXG4gICAqIHVzaW5nIGBnaW8tZm9ybS10YWdzLWlucHV0YC5cbiAgICpcbiAgICogUGFyYW1ldGVycyBhcmU6XG4gICAqIC0gYHRhZ2A6IFRoZSB2YWx1ZSBvZiB0aGUgdGFnIHRvIGFkZFxuICAgKiAtIGB2YWxpZGF0aW9uQ2JgOiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHZhbGlkYXRpb24gaXMgZG9uZS4gSWZcbiAgICogY2FsbGVkIHdpdGggYHRydWVgIGl0IHdpbGwgYWRkIHRoZSB0YWcsIG90aGVyd2lzZSBpdCB3aWxsIGp1c3QgaWdub3JlIGl0XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGFnVmFsaWRhdGlvbkhvb2s6ICgodGFnOiBzdHJpbmcsIHZhbGlkYXRpb25DYjogKHNob3VsZEFkZFRhZzogYm9vbGVhbikgPT4gdm9pZCkgPT4gdm9pZCkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhdXRvY29tcGxldGVPcHRpb25zKHY6IEF1dG9jb21wbGV0ZU9wdGlvbnMgfCAoKHNlYXJjaDogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPEF1dG9jb21wbGV0ZU9wdGlvbnM+KSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2F1dG9jb21wbGV0ZU9wdGlvbnMgPSB2O1xuICB9XG4gIHB1YmxpYyBfYXV0b2NvbXBsZXRlT3B0aW9ucz86IEF1dG9jb21wbGV0ZU9wdGlvbnMgfCAoKHNlYXJjaDogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPEF1dG9jb21wbGV0ZU9wdGlvbnM+KTtcblxuICAvKipcbiAgICogR2V0IHRoZSBsYWJlbCBvZiBhbiBvcHRpb24gdmFsdWUuXG4gICAqIFRvIHVzZSB3aXRoIGF1dG9jb21wbGV0ZU9wdGlvbnMgbGFiZWwgJiB2YWx1ZSBtb2RlLlxuICAgKiBGdW5jdGlvbiBjYWxsZWQgZWFjaCB0aW1lIGEgdGFnIG5lZWRzIHRvIGJlIGRpc3BsYXllZCBpZCBkZWZpbmVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNwbGF5VmFsdWVXaXRoKGRpc3BsYXlWYWx1ZVdpdGg6IERpc3BsYXlWYWx1ZVdpdGhGbikge1xuICAgIHRoaXMuX2Rpc3BsYXlWYWx1ZVdpdGggPSAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKHRoaXMuZGlzcGxheVZhbHVlQ2FjaGVbdmFsdWVdKSB7XG4gICAgICAgIHJldHVybiBvZih0aGlzLmRpc3BsYXlWYWx1ZUNhY2hlW3ZhbHVlXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZGlzcGxheVZhbHVlV2l0aCh2YWx1ZSkucGlwZShcbiAgICAgICAgdGFwKGxhYmVsID0+IHtcbiAgICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZUNhY2hlW3ZhbHVlXSA9IGxhYmVsO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdG8gdHJ1ZSB0byBmb3JjZSB0aGUgY2hpcCB0byBiZSBwYXJ0IG9mIHRoZSBhdXRvY29tcGxldGUgb3B0aW9ucy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB1c2VBdXRvY29tcGxldGVPcHRpb25WYWx1ZU9ubHkgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCd0YWdJbnB1dCcpXG4gIHB1YmxpYyBzZXQgdGFnSW5wdXQodjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB8IG51bGwpIHtcbiAgICBpZiAodikge1xuICAgICAgdGhpcy5mbS5tb25pdG9yKHYubmF0aXZlRWxlbWVudCkuc3Vic2NyaWJlKG9yaWdpbiA9PiB7XG4gICAgICAgIGlmIChvcmlnaW4pIHtcbiAgICAgICAgICB0aGlzLmluaXRBdXRvY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl90YWdJbnB1dCkge1xuICAgICAgdGhpcy5mbS5zdG9wTW9uaXRvcmluZyh0aGlzLl90YWdJbnB1dC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLl90YWdJbnB1dCA9IHY7XG4gIH1cbiAgcHJpdmF0ZSBfdGFnSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4gfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgYXV0b2NvbXBsZXRlRmlsdGVyZWRPcHRpb25zJD86IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgc3RyaW5nPltdPjtcblxuICBwdWJsaWMgX2Rpc3BsYXlWYWx1ZVdpdGg/OiAodmFsdWU6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIHByaXZhdGUgZGlzcGxheVZhbHVlQ2FjaGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuXG4gIC8vIEZyb20gTWF0Rm9ybUZpZWxkQ29udHJvbCBpbnRlcmZhY2VcbiAgcHVibGljIGdldCB2YWx1ZSgpOiBUYWdzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgcHVibGljIHNldCB2YWx1ZShfdGFnczogVGFncyB8IG51bGwpIHtcbiAgICB0aGlzLl92YWx1ZSA9IF90YWdzO1xuICAgIHRoaXMuX29uQ2hhbmdlKF90YWdzKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIF92YWx1ZTogVGFncyB8IG51bGwgPSBudWxsO1xuXG4gIC8vIEZyb20gTWF0Rm9ybUZpZWxkQ29udHJvbCBpbnRlcmZhY2VcbiAgcHVibGljIHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLy8gRnJvbSBNYXRGb3JtRmllbGRDb250cm9sIGludGVyZmFjZVxuICBASG9zdEJpbmRpbmcoJ2lkJylcbiAgcHVibGljIGlkID0gYGdpby1mb3JtLXRhZ3MtaW5wdXQtJHtHaW9Gb3JtVGFnc0lucHV0Q29tcG9uZW50Lm5leHRJZCsrfWA7XG5cbiAgLy8gRnJvbSBNYXRGb3JtRmllbGRDb250cm9sIGludGVyZmFjZVxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xuICB9XG5cbiAgcHVibGljIHNldCBwbGFjZWhvbGRlcihwbGg6IHN0cmluZykge1xuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gcGxoO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyID0gJyc7XG5cbiAgLy8gRnJvbSBNYXRGb3JtRmllbGRDb250cm9sIGludGVyZmFjZVxuICBwdWJsaWMgZm9jdXNlZCA9IGZhbHNlO1xuXG4gIC8vIEZyb20gTWF0Rm9ybUZpZWxkQ29udHJvbCBpbnRlcmZhY2VcbiAgcHVibGljIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNFbXB0eSh0aGlzLnZhbHVlKSAmJiBpc0VtcHR5KHRoaXMuX3RhZ0lucHV0Py5uYXRpdmVFbGVtZW50Py52YWx1ZSk7XG4gIH1cblxuICAvLyBGcm9tIE1hdEZvcm1GaWVsZENvbnRyb2wgaW50ZXJmYWNlXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmxvYXRpbmcnKVxuICBwdWJsaWMgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZm9jdXNlZCB8fCAhdGhpcy5lbXB0eTtcbiAgfVxuXG4gIC8vIEZyb20gTWF0Rm9ybUZpZWxkQ29udHJvbCBpbnRlcmZhY2VcbiAgQElucHV0KClcbiAgcHVibGljIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IHJlcXVpcmVkKHJlcTogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHJlcSk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcblxuICAvLyBGcm9tIE1hdEZvcm1GaWVsZENvbnRyb2wgaW50ZXJmYWNlXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8ICh0aGlzLm5nQ29udHJvbCAmJiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZCA9PT0gdHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRpc2FibGVkKGRpczogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGRpcyk7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvLyBGcm9tIE1hdEZvcm1GaWVsZENvbnRyb2wgaW50ZXJmYWNlXG4gIHB1YmxpYyBnZXQgZXJyb3JTdGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy50b3VjaGVkICYmXG4gICAgICAvLyBpZiByZXF1aXJlZCBjaGVjayBpZiBpcyBlbXB0eVxuICAgICAgKCh0aGlzLnJlcXVpcmVkICYmIHRoaXMuZW1wdHkpIHx8XG4gICAgICAgIC8vIGlmIHRoZXJlIGlzIGEgdG91Y2hlZCBjb250cm9sIGNoZWNrIGlmIHRoZXJlIGlzIGFuIGVycm9yXG4gICAgICAgICh0aGlzLm5nQ29udHJvbCAmJiB0aGlzLm5nQ29udHJvbC50b3VjaGVkID09PSB0cnVlICYmICEhdGhpcy5uZ0NvbnRyb2wuZXJyb3JzKSlcbiAgICApO1xuICB9XG5cbiAgLy8gRnJvbSBNYXRGb3JtRmllbGRDb250cm9sIGludGVyZmFjZVxuICBwdWJsaWMgY29udHJvbFR5cGU/OiBzdHJpbmc7XG5cbiAgLy8gRnJvbSBNYXRGb3JtRmllbGRDb250cm9sIGludGVyZmFjZVxuICBwdWJsaWMgYXV0b2ZpbGxlZD86IGJvb2xlYW47XG5cbiAgLy8gRnJvbSBNYXRGb3JtRmllbGRDb250cm9sIGludGVyZmFjZVxuICBwdWJsaWMgdXNlckFyaWFEZXNjcmliZWRCeT86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvLyBGcm9tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIHJlYWRvbmx5IG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmbTogRm9jdXNNb25pdG9yLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICAvLyBSZXBsYWNlIHRoZSBwcm92aWRlciBmcm9tIGFib3ZlIHdpdGggdGhpcy5cbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xuICAgICAgLy8gU2V0dGluZyB0aGUgdmFsdWUgYWNjZXNzb3IgZGlyZWN0bHkgKGluc3RlYWQgb2YgdXNpbmdcbiAgICAgIC8vIHRoZSBwcm92aWRlcnMpIHRvIGF2b2lkIHJ1bm5pbmcgaW50byBhIGNpcmN1bGFyIGltcG9ydC5cbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cblxuICAgIGZtLm1vbml0b3IoZWxSZWYubmF0aXZlRWxlbWVudCwgdHJ1ZSkuc3Vic2NyaWJlKG9yaWdpbiA9PiB7XG4gICAgICB0aGlzLmZvY3VzZWQgPSAhIW9yaWdpbjtcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgLy8gc3luYyBjb250cm9sIHRvdWNoZWQgd2l0aCBsb2NhbCB0b3VjaGVkXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwgJiYgdGhpcy50b3VjaGVkICE9PSB0aGlzLm5nQ29udHJvbC50b3VjaGVkKSB7XG4gICAgICB0aGlzLnRvdWNoZWQgPSB0aGlzLm5nQ29udHJvbC50b3VjaGVkID09PSB0cnVlO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuZm0uc3RvcE1vbml0b3JpbmcodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICBpZiAodGhpcy5fdGFnSW5wdXQpIHtcbiAgICAgIHRoaXMuZm0uc3RvcE1vbml0b3JpbmcodGhpcy5fdGFnSW5wdXQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3MgaW50ZXJmYWNlXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICAvLyBGcm9tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHRhZ3M6IFRhZ3MgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLy8gRnJvbSBNYXRGb3JtRmllbGRDb250cm9sIGludGVyZmFjZVxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpXG4gIHB1YmxpYyBkZXNjcmliZWRCeSA9ICcnO1xuXG4gIHB1YmxpYyBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5kZXNjcmliZWRCeSA9IGlkcy5qb2luKCcgJyk7XG4gIH1cblxuICAvLyBGcm9tIE1hdEZvcm1GaWVsZENvbnRyb2wgaW50ZXJmYWNlXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBwdWJsaWMgb25Db250YWluZXJDbGljayhfZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHt9XG5cbiAgcHVibGljIGFkZENoaXBUb0Zvcm1Db250cm9sKGV2ZW50OiB7IHZhbHVlOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5fdGFnSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgdGFnVG9BZGQgPSAoZXZlbnQudmFsdWUgPz8gJycpLnRyaW0oKTtcblxuICAgIGlmIChpc0VtcHR5KHRhZ1RvQWRkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgdGFnIG9ubHkgaWYgc2hvdWxkQWRkVGFnIGluIHZhbGlkYXRpb25DYiByZXR1cm4gdHJ1ZVxuICAgIC8vIFNldCBkZWZhdWx0IGNhbGxiYWNrIGlmIG5vdCBkZWZpbmVkXG4gICAgY29uc3QgdGFnVmFsaWRhdGlvbkhvb2sgPSB0aGlzLnRhZ1ZhbGlkYXRpb25Ib29rID8/ICgoXywgdmFsaWRhdGlvbkNiKSA9PiB2YWxpZGF0aW9uQ2IodHJ1ZSkpO1xuXG4gICAgY29uc3QgdmFsaWRhdGlvbkNiID0gKHNob3VsZEFkZFRhZzogYm9vbGVhbikgPT4ge1xuICAgICAgLy8gQWRkIG5ldyBUYWcgaW4gZm9ybSBjb250cm9sXG4gICAgICBpZiAoc2hvdWxkQWRkVGFnKSB7XG4gICAgICAgIC8vIERlbGV0ZSBUYWcgaWYgYWxyZWFkeSBleGlzdGluZ1xuICAgICAgICBjb25zdCBmb3JtQ29udHJvbFZhbHVlID0gWy4uLih0aGlzLnZhbHVlID8/IFtdKV0uZmlsdGVyKHYgPT4gdiAhPT0gdGFnVG9BZGQpO1xuXG4gICAgICAgIHRoaXMudmFsdWUgPSBbLi4uZm9ybUNvbnRyb2xWYWx1ZSwgdGFnVG9BZGRdO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvLyBSZXNldCB0aGUgaW5wdXQgdmFsdWVcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIGlucHV0LnZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgdGFnVmFsaWRhdGlvbkhvb2sodGFnVG9BZGQsIHZhbGlkYXRpb25DYik7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQ2hpcFRvRm9ybUNvbnRyb2wodGFnOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gWy4uLih0aGlzLnZhbHVlID8/IFtdKV0uZmlsdGVyKHYgPT4gdiAhPT0gdGFnKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkF1dG9jb21wbGV0ZVNlbGVjdChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuYWRkQ2hpcFRvRm9ybUNvbnRyb2woeyB2YWx1ZTogZXZlbnQub3B0aW9uLnZhbHVlIH0pO1xuICB9XG5cbiAgcHVibGljIG9uTWF0Q2hpcFRva2VuRW5kKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnVzZUF1dG9jb21wbGV0ZU9wdGlvblZhbHVlT25seSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBHaXZlIHByaW9yaXR5IHRvIHRoZSBgb25BdXRvY29tcGxldGVTZWxlY3RgIHdoZW4gdmFsaWRhdGluZyB3aXRoIHRoZSBibHVyIGV2ZW50XG4gICAgdGhpcy5hZGRDaGlwVG9Gb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLl90YWdJbnB1dD8ubmF0aXZlRWxlbWVudC52YWx1ZSA/PyAnJyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEF1dG9jb21wbGV0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYXV0b2NvbXBsZXRlT3B0aW9ucyAmJiB0aGlzLl90YWdJbnB1dD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVGaWx0ZXJlZE9wdGlvbnMkID0gZnJvbUV2ZW50KHRoaXMuX3RhZ0lucHV0Lm5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aChbXSBhcyBzdHJpbmdbXSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgfSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLl9hdXRvY29tcGxldGVPcHRpb25zID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlT3B0aW9ucyh0aGlzLl90YWdJbnB1dD8ubmF0aXZlRWxlbWVudC52YWx1ZSA/PyAnJykucGlwZShcbiAgICAgICAgICAgICAgbWFwKG9wdGlvbnMgPT4gc2FuaXRpemVBdXRvY29tcGxldGVPcHRpb25zKG9wdGlvbnMpKSxcbiAgICAgICAgICAgICAgLy8gQWRkIG9wdGlvbnMgdG8gZGlzcGxheVZhbHVlQ2FjaGUgdG8gYXZvaWQgY2FsbCBvbiBzZWxlY3RcbiAgICAgICAgICAgICAgdGFwKG9wdGlvbnMgPT4ge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWVDYWNoZVtvcHRpb24udmFsdWVdID0gb3B0aW9uLmxhYmVsO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvZihkZWZhdWx0QXV0b2NvbXBsZXRlRmlsdGVyKHRoaXMuX2F1dG9jb21wbGV0ZU9wdGlvbnMgPz8gW10sIHRoaXMuX3RhZ0lucHV0Py5uYXRpdmVFbGVtZW50LnZhbHVlID8/ICcnKSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9KSxcblxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBkZWZhdWx0QXV0b2NvbXBsZXRlRmlsdGVyID0gKFxuICBvcHRpb25zOiBBdXRvY29tcGxldGVPcHRpb25zLFxuICBzZWFyY2g6IHN0cmluZyxcbik6IHtcbiAgdmFsdWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbn1bXSA9PiB7XG4gIHJldHVybiBzYW5pdGl6ZUF1dG9jb21wbGV0ZU9wdGlvbnMob3B0aW9ucykuZmlsdGVyKFxuICAgIGRlZmF1bHRIZWFkZXIgPT5cbiAgICAgIGRlZmF1bHRIZWFkZXIubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygoc2VhcmNoID8/ICcnKS50b0xvd2VyQ2FzZSgpKSB8fFxuICAgICAgZGVmYXVsdEhlYWRlci52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKChzZWFyY2ggPz8gJycpLnRvTG93ZXJDYXNlKCkpLFxuICApO1xufTtcblxuY29uc3Qgc2FuaXRpemVBdXRvY29tcGxldGVPcHRpb25zID0gKFxuICBvcHRpb25zOiBBdXRvY29tcGxldGVPcHRpb25zLFxuKToge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xufVtdID0+IHtcbiAgcmV0dXJuIG9wdGlvbnMubWFwKG9wdGlvbiA9PiB7XG4gICAgaWYgKG9wdGlvbiAmJiB0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiAndmFsdWUnIGluIG9wdGlvbiAmJiAnbGFiZWwnIGluIG9wdGlvbikge1xuICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICB9XG4gICAgcmV0dXJuIHsgdmFsdWU6IG9wdGlvbiwgbGFiZWw6IG9wdGlvbiB9O1xuICB9KTtcbn07XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cbjxtYXQtY2hpcC1saXN0ICN0YWdDaGlwTGlzdCBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiIG11bHRpcGxlIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8bWF0LWNoaXBcbiAgICAqbmdGb3I9XCJsZXQgdGFnIG9mIHZhbHVlXCJcbiAgICBbc2VsZWN0YWJsZV09XCJmYWxzZVwiXG4gICAgW3JlbW92YWJsZV09XCIhZGlzYWJsZWRcIlxuICAgIChyZW1vdmVkKT1cInJlbW92ZUNoaXBUb0Zvcm1Db250cm9sKHRhZylcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gID5cbiAgICB7eyBfZGlzcGxheVZhbHVlV2l0aCA/IChfZGlzcGxheVZhbHVlV2l0aCh0YWcpIHwgYXN5bmMpIDogdGFnIH19XG4gICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgPC9tYXQtY2hpcD5cbiAgPGlucHV0XG4gICAgKm5nSWY9XCIhZGlzYWJsZWRcIlxuICAgICN0YWdJbnB1dFxuICAgIFttYXRBdXRvY29tcGxldGVEaXNhYmxlZF09XCIhX2F1dG9jb21wbGV0ZU9wdGlvbnMgfHwgZGlzYWJsZWRcIlxuICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbbWF0Q2hpcElucHV0Rm9yXT1cInRhZ0NoaXBMaXN0XCJcbiAgICBbbWF0Q2hpcElucHV0QWRkT25CbHVyXT1cImFkZE9uQmx1clwiXG4gICAgKG1hdENoaXBJbnB1dFRva2VuRW5kKT1cIm9uTWF0Q2hpcFRva2VuRW5kKClcIlxuICAvPlxuICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJvbkF1dG9jb21wbGV0ZVNlbGVjdCgkZXZlbnQpXCI+XG4gICAgPG1hdC1vcHRpb24gKm5nSWY9XCJsb2FkaW5nXCIgZGlzYWJsZWQgaWQ9XCJsb2FkZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsb2FkZXItb3B0aW9uXCI+PGdpby1sb2FkZXI+PC9naW8tbG9hZGVyPjwvZGl2PlxuICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGF1dG9jb21wbGV0ZUZpbHRlcmVkT3B0aW9ucyQgfCBhc3luY1wiIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cbiAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxuICAgIDwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuPC9tYXQtY2hpcC1saXN0PlxuIl19
314
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tdGFncy1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLXRhZ3MtaW5wdXQvZ2lvLWZvcm0tdGFncy1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLXRhZ3MtaW5wdXQvZ2lvLWZvcm0tdGFncy1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBR1QsV0FBVyxFQUNYLEtBQUssRUFFTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFvQnRGLE1BQU0sT0FBTyx5QkFBeUI7SUEyQnBDLElBQ1csbUJBQW1CLENBQUMsQ0FBMEY7UUFDdkgsSUFBSSxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBR0Q7Ozs7T0FJRztJQUNILElBQ1csZ0JBQWdCLENBQUMsZ0JBQW9DO1FBQzlELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLEtBQWEsRUFB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QkFBQyxJQUFJO2dCQUtOLFdBQVc7c0JBRHJCLEtBQUs7Z0JBc0JLLGdCQUFnQjtzQkFEMUIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBT2xCLFFBQVE7c0JBRGxCLEtBQUs7Z0JBY0ssUUFBUTtzQkFEbEIsS0FBSztnQkErRkMsV0FBVztzQkFEakIsV0FBVzt1QkFBQyx1QkFBdUI7O0FBMEZ0QyxNQUFNLHlCQUF5QixHQUFHLENBQ2hDLE9BQTRCLEVBQzVCLE1BQWMsRUFJWixFQUFFO0lBQ0osT0FBTywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQ2hELGFBQWEsQ0FBQyxFQUFFLENBQ2QsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEUsYUFBYSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDM0UsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sMkJBQTJCLEdBQUcsQ0FDbEMsT0FBNEIsRUFJMUIsRUFBRTtJQUNKLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUMxQixJQUFJLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLE1BQU0sSUFBSSxPQUFPLElBQUksTUFBTSxFQUFFO1lBQ2xGLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDMUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tZW1iZXItYWNjZXNzaWJpbGl0eVxuXG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgU2VsZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IHR5cGUgVGFncyA9IEFycmF5PHN0cmluZz47XG5cbmV4cG9ydCB0eXBlIEF1dG9jb21wbGV0ZU9wdGlvbnMgPSAoc3RyaW5nIHwgeyB2YWx1ZTogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH0pW107XG5cbmV4cG9ydCB0eXBlIERpc3BsYXlWYWx1ZVdpdGhGbiA9ICh2YWx1ZTogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1mb3JtLXRhZ3MtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2lvLWZvcm0tdGFncy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dpby1mb3JtLXRhZ3MtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsXG4gICAgICB1c2VFeGlzdGluZzogR2lvRm9ybVRhZ3NJbnB1dENvbXBvbmVudCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9Gb3JtVGFnc0lucHV0Q29tcG9uZW50IGltcGxlbWVudHMgTWF0Rm9ybUZpZWxkQ29udHJvbDxUYWdzPiwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIERvQ2hlY2ssIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgcHVibGljIF9vbkNoYW5nZTogKF90YWdzOiBUYWdzIHwgbnVsbCkgPT4gdm9pZCA9ICgpID0+ICh7fSk7XG5cbiAgcHVibGljIF9vblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuICBwcml2YXRlIHRvdWNoZWQgPSBmYWxzZTtcblxuICBASW5wdXQoJ2FyaWEtbGFiZWwnKVxuICBwdWJsaWMgYXJpYUxhYmVsID0gJyc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFkZE9uQmx1ciA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIGNhbGxlZCBlYWNoIHRpbWUgYSB0YWcgaXMgYWRkZWQsIGl0IGNhbiBiZSB1c2VkIHRvIGhvb2sgaW5zaWRlIHRoZVxuICAgKiBhZGRpdGlvbiBwcm9jZXNzIHRvLCBmb3IgaW5zdGFuY2UsIGhhdmUgY3VzdG9tIHZhbGlkYXRpb24gaW4gdGhlIGNvbXBvbmVudHNcbiAgICogdXNpbmcgYGdpby1mb3JtLXRhZ3MtaW5wdXRgLlxuICAgKlxuICAgKiBQYXJhbWV0ZXJzIGFyZTpcbiAgICogLSBgdGFnYDogVGhlIHZhbHVlIG9mIHRoZSB0YWcgdG8gYWRkXG4gICAqIC0gYHZhbGlkYXRpb25DYmA6IFRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBjYWxsIHdoZW4gdmFsaWRhdGlvbiBpcyBkb25lLiBJZlxuICAgKiBjYWxsZWQgd2l0aCBgdHJ1ZWAgaXQgd2lsbCBhZGQgdGhlIHRhZywgb3RoZXJ3aXNlIGl0IHdpbGwganVzdCBpZ25vcmUgaXRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWdWYWxpZGF0aW9uSG9vazogKCh0YWc6IHN0cmluZywgdmFsaWRhdGlvbkNiOiAoc2hvdWxkQWRkVGFnOiBib29sZWFuKSA9PiB2b2lkKSA9PiB2b2lkKSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGF1dG9jb21wbGV0ZU9wdGlvbnModjogQXV0b2NvbXBsZXRlT3B0aW9ucyB8ICgoc2VhcmNoOiBzdHJpbmcpID0+IE9ic2VydmFibGU8QXV0b2NvbXBsZXRlT3B0aW9ucz4pIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fYXV0b2NvbXBsZXRlT3B0aW9ucyA9IHY7XG4gIH1cbiAgcHVibGljIF9hdXRvY29tcGxldGVPcHRpb25zPzogQXV0b2NvbXBsZXRlT3B0aW9ucyB8ICgoc2VhcmNoOiBzdHJpbmcpID0+IE9ic2VydmFibGU8QXV0b2NvbXBsZXRlT3B0aW9ucz4pO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxhYmVsIG9mIGFuIG9wdGlvbiB2YWx1ZS5cbiAgICogVG8gdXNlIHdpdGggYXV0b2NvbXBsZXRlT3B0aW9ucyBsYWJlbCAmIHZhbHVlIG1vZGUuXG4gICAqIEZ1bmN0aW9uIGNhbGxlZCBlYWNoIHRpbWUgYSB0YWcgbmVlZHMgdG8gYmUgZGlzcGxheWVkIGlkIGRlZmluZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc3BsYXlWYWx1ZVdpdGgoZGlzcGxheVZhbHVlV2l0aDogRGlzcGxheVZhbHVlV2l0aEZuKSB7XG4gICAgdGhpcy5fZGlzcGxheVZhbHVlV2l0aCA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAodGhpcy5kaXNwbGF5VmFsdWVDYWNoZVt2YWx1ZV0pIHtcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMuZGlzcGxheVZhbHVlQ2FjaGVbdmFsdWVdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkaXNwbGF5VmFsdWVXaXRoKHZhbHVlKS5waXBlKFxuICAgICAgICB0YXAobGFiZWwgPT4ge1xuICAgICAgICAgIHRoaXMuZGlzcGxheVZhbHVlQ2FjaGVbdmFsdWVdID0gbGFiZWw7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIHRvIGZvcmNlIHRoZSBjaGlwIHRvIGJlIHBhcnQgb2YgdGhlIGF1dG9jb21wbGV0ZSBvcHRpb25zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHVzZUF1dG9jb21wbGV0ZU9wdGlvblZhbHVlT25seSA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhZ0lucHV0JylcbiAgcHVibGljIHNldCB0YWdJbnB1dCh2OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+IHwgbnVsbCkge1xuICAgIGlmICh2KSB7XG4gICAgICB0aGlzLmZtLm1vbml0b3Iodi5uYXRpdmVFbGVtZW50KS5zdWJzY3JpYmUob3JpZ2luID0+IHtcbiAgICAgICAgaWYgKG9yaWdpbikge1xuICAgICAgICAgIHRoaXMuaW5pdEF1dG9jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3RhZ0lucHV0KSB7XG4gICAgICB0aGlzLmZtLnN0b3BNb25pdG9yaW5nKHRoaXMuX3RhZ0lucHV0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuX3RhZ0lucHV0ID0gdjtcbiAgfVxuICBwcml2YXRlIF90YWdJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBhdXRvY29tcGxldGVGaWx0ZXJlZE9wdGlvbnMkPzogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+W10+O1xuXG4gIHB1YmxpYyBfZGlzcGxheVZhbHVlV2l0aD86ICh2YWx1ZTogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgcHJpdmF0ZSBkaXNwbGF5VmFsdWVDYWNoZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG5cbiAgLy8gRnJvbSBNYXRGb3JtRmllbGRDb250cm9sIGludGVyZmFjZVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFRhZ3MgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0IHZhbHVlKF90YWdzOiBUYWdzIHwgbnVsbCkge1xuICAgIHRoaXMuX3ZhbHVlID0gX3RhZ3M7XG4gICAgdGhpcy5fb25DaGFuZ2UoX3RhZ3MpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbHVlOiBUYWdzIHwgbnVsbCA9IG51bGw7XG5cbiAgLy8gRnJvbSBNYXRGb3JtRmllbGRDb250cm9sIGludGVyZmFjZVxuICBwdWJsaWMgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvLyBGcm9tIE1hdEZvcm1GaWVsZENvbnRyb2wgaW50ZXJmYWNlXG4gIEBIb3N0QmluZGluZygnaWQnKVxuICBwdWJsaWMgaWQgPSBgZ2lvLWZvcm0tdGFncy1pbnB1dC0ke0dpb0Zvcm1UYWdzSW5wdXRDb21wb25lbnQubmV4dElkKyt9YDtcblxuICAvLyBGcm9tIE1hdEZvcm1GaWVsZENvbnRyb2wgaW50ZXJmYWNlXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7XG4gIH1cblxuICBwdWJsaWMgc2V0IHBsYWNlaG9sZGVyKHBsaDogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGxhY2Vob2xkZXIgPSBwbGg7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcGxhY2Vob2xkZXIgPSAnJztcblxuICAvLyBGcm9tIE1hdEZvcm1GaWVsZENvbnRyb2wgaW50ZXJmYWNlXG4gIHB1YmxpYyBmb2N1c2VkID0gZmFsc2U7XG5cbiAgLy8gRnJvbSBNYXRGb3JtRmllbGRDb250cm9sIGludGVyZmFjZVxuICBwdWJsaWMgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0VtcHR5KHRoaXMudmFsdWUpICYmIGlzRW1wdHkodGhpcy5fdGFnSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LnZhbHVlKTtcbiAgfVxuXG4gIC8vIEZyb20gTWF0Rm9ybUZpZWxkQ29udHJvbCBpbnRlcmZhY2VcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mbG9hdGluZycpXG4gIHB1YmxpYyBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb2N1c2VkIHx8ICF0aGlzLmVtcHR5O1xuICB9XG5cbiAgLy8gRnJvbSBNYXRGb3JtRmllbGRDb250cm9sIGludGVyZmFjZVxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgcmVxdWlyZWQocmVxOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkocmVxKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIF9yZXF1aXJlZCA9IGZhbHNlO1xuXG4gIC8vIEZyb20gTWF0Rm9ybUZpZWxkQ29udHJvbCBpbnRlcmZhY2VcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQgfHwgKHRoaXMubmdDb250cm9sICYmIHRoaXMubmdDb250cm9sLmRpc2FibGVkID09PSB0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQoZGlzOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoZGlzKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8vIEZyb20gTWF0Rm9ybUZpZWxkQ29udHJvbCBpbnRlcmZhY2VcbiAgcHVibGljIGdldCBlcnJvclN0YXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnRvdWNoZWQgJiZcbiAgICAgIC8vIGlmIHJlcXVpcmVkIGNoZWNrIGlmIGlzIGVtcHR5XG4gICAgICAoKHRoaXMucmVxdWlyZWQgJiYgdGhpcy5lbXB0eSkgfHxcbiAgICAgICAgLy8gaWYgdGhlcmUgaXMgYSB0b3VjaGVkIGNvbnRyb2wgY2hlY2sgaWYgdGhlcmUgaXMgYW4gZXJyb3JcbiAgICAgICAgKHRoaXMubmdDb250cm9sICYmIHRoaXMubmdDb250cm9sLnRvdWNoZWQgPT09IHRydWUgJiYgISF0aGlzLm5nQ29udHJvbC5lcnJvcnMpKVxuICAgICk7XG4gIH1cblxuICAvLyBGcm9tIE1hdEZvcm1GaWVsZENvbnRyb2wgaW50ZXJmYWNlXG4gIHB1YmxpYyBjb250cm9sVHlwZT86IHN0cmluZztcblxuICAvLyBGcm9tIE1hdEZvcm1GaWVsZENvbnRyb2wgaW50ZXJmYWNlXG4gIHB1YmxpYyBhdXRvZmlsbGVkPzogYm9vbGVhbjtcblxuICAvLyBGcm9tIE1hdEZvcm1GaWVsZENvbnRyb2wgaW50ZXJmYWNlXG4gIHB1YmxpYyB1c2VyQXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgcmVhZG9ubHkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZtOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIC8vIFJlcGxhY2UgdGhlIHByb3ZpZGVyIGZyb20gYWJvdmUgd2l0aCB0aGlzLlxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XG4gICAgICAvLyBTZXR0aW5nIHRoZSB2YWx1ZSBhY2Nlc3NvciBkaXJlY3RseSAoaW5zdGVhZCBvZiB1c2luZ1xuICAgICAgLy8gdGhlIHByb3ZpZGVycykgdG8gYXZvaWQgcnVubmluZyBpbnRvIGEgY2lyY3VsYXIgaW1wb3J0LlxuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuXG4gICAgZm0ubW9uaXRvcihlbFJlZi5uYXRpdmVFbGVtZW50LCB0cnVlKS5zdWJzY3JpYmUob3JpZ2luID0+IHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9ICEhb3JpZ2luO1xuICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICAvLyBzeW5jIGNvbnRyb2wgdG91Y2hlZCB3aXRoIGxvY2FsIHRvdWNoZWRcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCAmJiB0aGlzLnRvdWNoZWQgIT09IHRoaXMubmdDb250cm9sLnRvdWNoZWQpIHtcbiAgICAgIHRoaXMudG91Y2hlZCA9IHRoaXMubmdDb250cm9sLnRvdWNoZWQgPT09IHRydWU7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5mbS5zdG9wTW9uaXRvcmluZyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIGlmICh0aGlzLl90YWdJbnB1dCkge1xuICAgICAgdGhpcy5mbS5zdG9wTW9uaXRvcmluZyh0aGlzLl90YWdJbnB1dC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBGcm9tIENvbnRyb2xWYWx1ZUFjY2VzcyBpbnRlcmZhY2VcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodGFnczogVGFncyB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICAvLyBGcm9tIE1hdEZvcm1GaWVsZENvbnRyb2wgaW50ZXJmYWNlXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JylcbiAgcHVibGljIGRlc2NyaWJlZEJ5ID0gJyc7XG5cbiAgcHVibGljIHNldERlc2NyaWJlZEJ5SWRzKGlkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLmRlc2NyaWJlZEJ5ID0gaWRzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIC8vIEZyb20gTWF0Rm9ybUZpZWxkQ29udHJvbCBpbnRlcmZhY2VcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHB1YmxpYyBvbkNvbnRhaW5lckNsaWNrKF9ldmVudDogTW91c2VFdmVudCk6IHZvaWQge31cblxuICBwdWJsaWMgYWRkQ2hpcFRvRm9ybUNvbnRyb2woZXZlbnQ6IHsgdmFsdWU6IHN0cmluZyB9KTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLl90YWdJbnB1dD8ubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCB0YWdUb0FkZCA9IChldmVudC52YWx1ZSA/PyAnJykudHJpbSgpO1xuXG4gICAgaWYgKGlzRW1wdHkodGFnVG9BZGQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSB0YWcgb25seSBpZiBzaG91bGRBZGRUYWcgaW4gdmFsaWRhdGlvbkNiIHJldHVybiB0cnVlXG4gICAgLy8gU2V0IGRlZmF1bHQgY2FsbGJhY2sgaWYgbm90IGRlZmluZWRcbiAgICBjb25zdCB0YWdWYWxpZGF0aW9uSG9vayA9IHRoaXMudGFnVmFsaWRhdGlvbkhvb2sgPz8gKChfLCB2YWxpZGF0aW9uQ2IpID0+IHZhbGlkYXRpb25DYih0cnVlKSk7XG5cbiAgICBjb25zdCB2YWxpZGF0aW9uQ2IgPSAoc2hvdWxkQWRkVGFnOiBib29sZWFuKSA9PiB7XG4gICAgICAvLyBBZGQgbmV3IFRhZyBpbiBmb3JtIGNvbnRyb2xcbiAgICAgIGlmIChzaG91bGRBZGRUYWcpIHtcbiAgICAgICAgLy8gRGVsZXRlIFRhZyBpZiBhbHJlYWR5IGV4aXN0aW5nXG4gICAgICAgIGNvbnN0IGZvcm1Db250cm9sVmFsdWUgPSBbLi4uKHRoaXMudmFsdWUgPz8gW10pXS5maWx0ZXIodiA9PiB2ICE9PSB0YWdUb0FkZCk7XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IFsuLi5mb3JtQ29udHJvbFZhbHVlLCB0YWdUb0FkZF07XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIFJlc2V0IHRoZSBpbnB1dCB2YWx1ZVxuICAgIGlmIChpbnB1dCkge1xuICAgICAgaW5wdXQudmFsdWUgPSAnJztcbiAgICB9XG5cbiAgICB0YWdWYWxpZGF0aW9uSG9vayh0YWdUb0FkZCwgdmFsaWRhdGlvbkNiKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVDaGlwVG9Gb3JtQ29udHJvbCh0YWc6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBbLi4uKHRoaXMudmFsdWUgPz8gW10pXS5maWx0ZXIodiA9PiB2ICE9PSB0YWcpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIG9uQXV0b2NvbXBsZXRlU2VsZWN0KGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5hZGRDaGlwVG9Gb3JtQ29udHJvbCh7IHZhbHVlOiBldmVudC5vcHRpb24udmFsdWUgfSk7XG4gIH1cblxuICBwdWJsaWMgb25NYXRDaGlwVG9rZW5FbmQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudXNlQXV0b2NvbXBsZXRlT3B0aW9uVmFsdWVPbmx5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIEdpdmUgcHJpb3JpdHkgdG8gdGhlIGBvbkF1dG9jb21wbGV0ZVNlbGVjdGAgd2hlbiB2YWxpZGF0aW5nIHdpdGggdGhlIGJsdXIgZXZlbnRcbiAgICB0aGlzLmFkZENoaXBUb0Zvcm1Db250cm9sKHsgdmFsdWU6IHRoaXMuX3RhZ0lucHV0Py5uYXRpdmVFbGVtZW50LnZhbHVlID8/ICcnIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0QXV0b2NvbXBsZXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hdXRvY29tcGxldGVPcHRpb25zICYmIHRoaXMuX3RhZ0lucHV0Py5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZUZpbHRlcmVkT3B0aW9ucyQgPSBmcm9tRXZlbnQodGhpcy5fdGFnSW5wdXQubmF0aXZlRWxlbWVudCwgJ2tleXVwJykucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKFtdIGFzIHN0cmluZ1tdKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB9KSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuX2F1dG9jb21wbGV0ZU9wdGlvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGVPcHRpb25zKHRoaXMuX3RhZ0lucHV0Py5uYXRpdmVFbGVtZW50LnZhbHVlID8/ICcnKS5waXBlKFxuICAgICAgICAgICAgICBtYXAob3B0aW9ucyA9PiBzYW5pdGl6ZUF1dG9jb21wbGV0ZU9wdGlvbnMob3B0aW9ucykpLFxuICAgICAgICAgICAgICAvLyBBZGQgb3B0aW9ucyB0byBkaXNwbGF5VmFsdWVDYWNoZSB0byBhdm9pZCBjYWxsIG9uIHNlbGVjdFxuICAgICAgICAgICAgICB0YXAob3B0aW9ucyA9PiB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5mb3JFYWNoKG9wdGlvbiA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZUNhY2hlW29wdGlvbi52YWx1ZV0gPSBvcHRpb24ubGFiZWw7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG9mKGRlZmF1bHRBdXRvY29tcGxldGVGaWx0ZXIodGhpcy5fYXV0b2NvbXBsZXRlT3B0aW9ucyA/PyBbXSwgdGhpcy5fdGFnSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPz8gJycpKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIH0pLFxuXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICApO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG59XG5cbmNvbnN0IGRlZmF1bHRBdXRvY29tcGxldGVGaWx0ZXIgPSAoXG4gIG9wdGlvbnM6IEF1dG9jb21wbGV0ZU9wdGlvbnMsXG4gIHNlYXJjaDogc3RyaW5nLFxuKToge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xufVtdID0+IHtcbiAgcmV0dXJuIHNhbml0aXplQXV0b2NvbXBsZXRlT3B0aW9ucyhvcHRpb25zKS5maWx0ZXIoXG4gICAgZGVmYXVsdEhlYWRlciA9PlxuICAgICAgZGVmYXVsdEhlYWRlci5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKChzZWFyY2ggPz8gJycpLnRvTG93ZXJDYXNlKCkpIHx8XG4gICAgICBkZWZhdWx0SGVhZGVyLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoKHNlYXJjaCA/PyAnJykudG9Mb3dlckNhc2UoKSksXG4gICk7XG59O1xuXG5jb25zdCBzYW5pdGl6ZUF1dG9jb21wbGV0ZU9wdGlvbnMgPSAoXG4gIG9wdGlvbnM6IEF1dG9jb21wbGV0ZU9wdGlvbnMsXG4pOiB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG59W10gPT4ge1xuICByZXR1cm4gb3B0aW9ucy5tYXAob3B0aW9uID0+IHtcbiAgICBpZiAob3B0aW9uICYmIHR5cGVvZiBvcHRpb24gIT09ICdzdHJpbmcnICYmICd2YWx1ZScgaW4gb3B0aW9uICYmICdsYWJlbCcgaW4gb3B0aW9uKSB7XG4gICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH1cbiAgICByZXR1cm4geyB2YWx1ZTogb3B0aW9uLCBsYWJlbDogb3B0aW9uIH07XG4gIH0pO1xufTtcbiIsIjwhLS1cblxuICAgIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG5cbi0tPlxuPG1hdC1jaGlwLWdyaWQgI3RhZ0NoaXBMaXN0IFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCIgbXVsdGlwbGUgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gIDxtYXQtY2hpcC1yb3cgKm5nRm9yPVwibGV0IHRhZyBvZiB2YWx1ZVwiIFtyZW1vdmFibGVdPVwiIWRpc2FibGVkXCIgKHJlbW92ZWQpPVwicmVtb3ZlQ2hpcFRvRm9ybUNvbnRyb2wodGFnKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgIHt7IF9kaXNwbGF5VmFsdWVXaXRoID8gKF9kaXNwbGF5VmFsdWVXaXRoKHRhZykgfCBhc3luYykgOiB0YWcgfX1cbiAgICA8bWF0LWljb24gbWF0Q2hpcFJlbW92ZT5jYW5jZWw8L21hdC1pY29uPlxuICA8L21hdC1jaGlwLXJvdz5cbiAgPGlucHV0XG4gICAgI3RhZ0lucHV0XG4gICAgW21hdEF1dG9jb21wbGV0ZURpc2FibGVkXT1cIiFfYXV0b2NvbXBsZXRlT3B0aW9ucyB8fCBkaXNhYmxlZFwiXG4gICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFttYXRDaGlwSW5wdXRGb3JdPVwidGFnQ2hpcExpc3RcIlxuICAgIFttYXRDaGlwSW5wdXRBZGRPbkJsdXJdPVwiYWRkT25CbHVyXCJcbiAgICAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwib25NYXRDaGlwVG9rZW5FbmQoKVwiXG4gIC8+XG4gIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgKG9wdGlvblNlbGVjdGVkKT1cIm9uQXV0b2NvbXBsZXRlU2VsZWN0KCRldmVudClcIj5cbiAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImxvYWRpbmdcIiBkaXNhYmxlZCBpZD1cImxvYWRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImxvYWRlci1vcHRpb25cIj48Z2lvLWxvYWRlcj48L2dpby1sb2FkZXI+PC9kaXY+XG4gICAgPC9tYXQtb3B0aW9uPlxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgYXV0b2NvbXBsZXRlRmlsdGVyZWRPcHRpb25zJCB8IGFzeW5jXCIgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPlxuICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1hdXRvY29tcGxldGU+XG48L21hdC1jaGlwLWdyaWQ+XG4iXX0=
@@ -15,11 +15,11 @@
15
15
  */
16
16
  import { ComponentHarness, HarnessPredicate, parallel, TestKey } from '@angular/cdk/testing';
17
17
  import { MatAutocompleteHarness } from '@angular/material/autocomplete/testing';
18
- import { MatChipHarness, MatChipListHarness } from '@angular/material/chips/testing';
18
+ import { MatChipHarness, MatChipGridHarness } from '@angular/material/chips/testing';
19
19
  export class GioFormTagsInputHarness extends ComponentHarness {
20
20
  constructor() {
21
21
  super(...arguments);
22
- this.getMatChipListHarness = this.locatorFor(MatChipListHarness);
22
+ this.getMatChipGridHarness = this.locatorFor(MatChipGridHarness);
23
23
  this.getMatChipsHarness = this.locatorForAll(MatChipHarness);
24
24
  }
25
25
  /**
@@ -33,20 +33,23 @@ export class GioFormTagsInputHarness extends ComponentHarness {
33
33
  return new HarnessPredicate(GioFormTagsInputHarness, options);
34
34
  }
35
35
  async isDisabled() {
36
- const matChipList = await this.getMatChipListHarness();
36
+ const matChipGrid = await this.getMatChipGridHarness();
37
37
  const matChips = await this.getMatChipsHarness();
38
- const chipListDisabled = await matChipList.isDisabled();
38
+ const chipListDisabled = await matChipGrid.isDisabled();
39
39
  const chipsDisabled = await parallel(() => matChips.map(async (matChip) => await matChip.isDisabled()));
40
40
  return chipListDisabled && chipsDisabled.every(chipDisabled => chipDisabled);
41
41
  }
42
42
  async getTags() {
43
- const matChipList = await this.getMatChipListHarness();
44
- const chips = await matChipList.getChips();
43
+ const matChipGrid = await this.getMatChipGridHarness();
44
+ const chips = await matChipGrid.getRows();
45
45
  return parallel(() => chips.map(async (chip) => await chip.getText()));
46
46
  }
47
47
  async addTag(tag, separatorKey = TestKey.ENTER) {
48
- const matChipList = await this.getMatChipListHarness();
49
- const chipInput = await matChipList.getInput();
48
+ const matChipGrid = await this.getMatChipGridHarness();
49
+ const chipInput = await matChipGrid.getInput();
50
+ if (!chipInput) {
51
+ throw new Error('No tags input found!');
52
+ }
50
53
  await chipInput.setValue(tag);
51
54
  if (separatorKey === 'blur') {
52
55
  await chipInput.blur();
@@ -56,8 +59,8 @@ export class GioFormTagsInputHarness extends ComponentHarness {
56
59
  }
57
60
  }
58
61
  async removeTag(tag) {
59
- const matChipList = await this.getMatChipListHarness();
60
- const chips = await matChipList.getChips({ text: tag });
62
+ const matChipGrid = await this.getMatChipGridHarness();
63
+ const chips = await matChipGrid.getRows({ text: tag });
61
64
  if (chips[0]) {
62
65
  await chips[0].remove();
63
66
  }
@@ -68,4 +71,4 @@ export class GioFormTagsInputHarness extends ComponentHarness {
68
71
  }
69
72
  }
70
73
  GioFormTagsInputHarness.hostSelector = 'gio-form-tags-input';
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tdGFncy1pbnB1dC5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS10YWdzLWlucHV0L2dpby1mb3JtLXRhZ3MtaW5wdXQuaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBc0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUlyRixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZ0JBQWdCO0lBQTdEOztRQWNZLDBCQUFxQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM1RCx1QkFBa0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBOENwRSxDQUFDO0lBMURDOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBMEMsRUFBRTtRQUM3RCxPQUFPLElBQUksZ0JBQWdCLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUtNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDdkQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUVqRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hELE1BQU0sYUFBYSxHQUFHLE1BQU0sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLE9BQU8sRUFBQyxFQUFFLENBQUMsTUFBTSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXRHLE9BQU8sZ0JBQWdCLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTztRQUNsQixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXZELE1BQU0sS0FBSyxHQUFHLE1BQU0sV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTNDLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQVcsRUFBRSxlQUFpQyxPQUFPLENBQUMsS0FBSztRQUM3RSxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXZELE1BQU0sU0FBUyxHQUFHLE1BQU0sV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9DLE1BQU0sU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLFlBQVksS0FBSyxNQUFNLEVBQUU7WUFDM0IsTUFBTSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDeEI7YUFBTTtZQUNMLE1BQU0sU0FBUyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBVztRQUNoQyxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXZELE1BQU0sS0FBSyxHQUFHLE1BQU0sV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1osTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLHlCQUF5QjtRQUNwQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztRQUV2RixPQUFPLHNCQUFzQixDQUFDO0lBQ2hDLENBQUM7O0FBM0RhLG9DQUFZLEdBQUcscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBCYXNlSGFybmVzc0ZpbHRlcnMsIENvbXBvbmVudEhhcm5lc3MsIEhhcm5lc3NQcmVkaWNhdGUsIHBhcmFsbGVsLCBUZXN0S2V5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZS90ZXN0aW5nJztcbmltcG9ydCB7IE1hdENoaXBIYXJuZXNzLCBNYXRDaGlwTGlzdEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcy90ZXN0aW5nJztcblxuZXhwb3J0IHR5cGUgR2lvRm9ybVRhZ3NJbnB1dEhhcm5lc3NGaWx0ZXJzID0gQmFzZUhhcm5lc3NGaWx0ZXJzO1xuXG5leHBvcnQgY2xhc3MgR2lvRm9ybVRhZ3NJbnB1dEhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnZ2lvLWZvcm0tdGFncy1pbnB1dCc7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGEgYEdpb0Zvcm1Db2xvcklucHV0SGFybmVzc2AgdGhhdCBtZWV0c1xuICAgKiBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBmaWx0ZXJpbmcgd2hpY2ggaW5wdXQgaW5zdGFuY2VzIGFyZSBjb25zaWRlcmVkIGEgbWF0Y2guXG4gICAqIEByZXR1cm4gYSBgSGFybmVzc1ByZWRpY2F0ZWAgY29uZmlndXJlZCB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKG9wdGlvbnM6IEdpb0Zvcm1UYWdzSW5wdXRIYXJuZXNzRmlsdGVycyA9IHt9KTogSGFybmVzc1ByZWRpY2F0ZTxHaW9Gb3JtVGFnc0lucHV0SGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShHaW9Gb3JtVGFnc0lucHV0SGFybmVzcywgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0TWF0Q2hpcExpc3RIYXJuZXNzID0gdGhpcy5sb2NhdG9yRm9yKE1hdENoaXBMaXN0SGFybmVzcyk7XG4gIHByb3RlY3RlZCBnZXRNYXRDaGlwc0hhcm5lc3MgPSB0aGlzLmxvY2F0b3JGb3JBbGwoTWF0Q2hpcEhhcm5lc3MpO1xuXG4gIHB1YmxpYyBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IG1hdENoaXBMaXN0ID0gYXdhaXQgdGhpcy5nZXRNYXRDaGlwTGlzdEhhcm5lc3MoKTtcbiAgICBjb25zdCBtYXRDaGlwcyA9IGF3YWl0IHRoaXMuZ2V0TWF0Q2hpcHNIYXJuZXNzKCk7XG5cbiAgICBjb25zdCBjaGlwTGlzdERpc2FibGVkID0gYXdhaXQgbWF0Q2hpcExpc3QuaXNEaXNhYmxlZCgpO1xuICAgIGNvbnN0IGNoaXBzRGlzYWJsZWQgPSBhd2FpdCBwYXJhbGxlbCgoKSA9PiBtYXRDaGlwcy5tYXAoYXN5bmMgbWF0Q2hpcCA9PiBhd2FpdCBtYXRDaGlwLmlzRGlzYWJsZWQoKSkpO1xuXG4gICAgcmV0dXJuIGNoaXBMaXN0RGlzYWJsZWQgJiYgY2hpcHNEaXNhYmxlZC5ldmVyeShjaGlwRGlzYWJsZWQgPT4gY2hpcERpc2FibGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRUYWdzKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBtYXRDaGlwTGlzdCA9IGF3YWl0IHRoaXMuZ2V0TWF0Q2hpcExpc3RIYXJuZXNzKCk7XG5cbiAgICBjb25zdCBjaGlwcyA9IGF3YWl0IG1hdENoaXBMaXN0LmdldENoaXBzKCk7XG5cbiAgICByZXR1cm4gcGFyYWxsZWwoKCkgPT4gY2hpcHMubWFwKGFzeW5jIGNoaXAgPT4gYXdhaXQgY2hpcC5nZXRUZXh0KCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBhZGRUYWcodGFnOiBzdHJpbmcsIHNlcGFyYXRvcktleTogVGVzdEtleSB8ICdibHVyJyA9IFRlc3RLZXkuRU5URVIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBtYXRDaGlwTGlzdCA9IGF3YWl0IHRoaXMuZ2V0TWF0Q2hpcExpc3RIYXJuZXNzKCk7XG5cbiAgICBjb25zdCBjaGlwSW5wdXQgPSBhd2FpdCBtYXRDaGlwTGlzdC5nZXRJbnB1dCgpO1xuICAgIGF3YWl0IGNoaXBJbnB1dC5zZXRWYWx1ZSh0YWcpO1xuICAgIGlmIChzZXBhcmF0b3JLZXkgPT09ICdibHVyJykge1xuICAgICAgYXdhaXQgY2hpcElucHV0LmJsdXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgY2hpcElucHV0LnNlbmRTZXBhcmF0b3JLZXkoc2VwYXJhdG9yS2V5KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVtb3ZlVGFnKHRhZzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbWF0Q2hpcExpc3QgPSBhd2FpdCB0aGlzLmdldE1hdENoaXBMaXN0SGFybmVzcygpO1xuXG4gICAgY29uc3QgY2hpcHMgPSBhd2FpdCBtYXRDaGlwTGlzdC5nZXRDaGlwcyh7IHRleHQ6IHRhZyB9KTtcbiAgICBpZiAoY2hpcHNbMF0pIHtcbiAgICAgIGF3YWl0IGNoaXBzWzBdLnJlbW92ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRNYXRBdXRvY29tcGxldGVIYXJuZXNzKCk6IFByb21pc2U8TWF0QXV0b2NvbXBsZXRlSGFybmVzcyB8IG51bGw+IHtcbiAgICBjb25zdCBtYXRBdXRvY29tcGxldGVIYXJuZXNzID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoTWF0QXV0b2NvbXBsZXRlSGFybmVzcykoKTtcblxuICAgIHJldHVybiBtYXRBdXRvY29tcGxldGVIYXJuZXNzO1xuICB9XG59XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tdGFncy1pbnB1dC5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tZm9ybS10YWdzLWlucHV0L2dpby1mb3JtLXRhZ3MtaW5wdXQuaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBc0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUlyRixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZ0JBQWdCO0lBQTdEOztRQWNZLDBCQUFxQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM1RCx1QkFBa0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBaURwRSxDQUFDO0lBN0RDOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBMEMsRUFBRTtRQUM3RCxPQUFPLElBQUksZ0JBQWdCLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUtNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDdkQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUVqRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hELE1BQU0sYUFBYSxHQUFHLE1BQU0sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLE9BQU8sRUFBQyxFQUFFLENBQUMsTUFBTSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXRHLE9BQU8sZ0JBQWdCLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTztRQUNsQixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXZELE1BQU0sS0FBSyxHQUFHLE1BQU0sV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRTFDLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQVcsRUFBRSxlQUFpQyxPQUFPLENBQUMsS0FBSztRQUM3RSxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXZELE1BQU0sU0FBUyxHQUFHLE1BQU0sV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDekM7UUFDRCxNQUFNLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxZQUFZLEtBQUssTUFBTSxFQUFFO1lBQzNCLE1BQU0sU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3hCO2FBQU07WUFDTCxNQUFNLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQVc7UUFDaEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUV2RCxNQUFNLEtBQUssR0FBRyxNQUFNLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN2RCxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNaLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyx5QkFBeUI7UUFDcEMsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7UUFFdkYsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDOztBQTlEYSxvQ0FBWSxHQUFHLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQmFzZUhhcm5lc3NGaWx0ZXJzLCBDb21wb25lbnRIYXJuZXNzLCBIYXJuZXNzUHJlZGljYXRlLCBwYXJhbGxlbCwgVGVzdEtleSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZUhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUvdGVzdGluZyc7XG5pbXBvcnQgeyBNYXRDaGlwSGFybmVzcywgTWF0Q2hpcEdyaWRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMvdGVzdGluZyc7XG5cbmV4cG9ydCB0eXBlIEdpb0Zvcm1UYWdzSW5wdXRIYXJuZXNzRmlsdGVycyA9IEJhc2VIYXJuZXNzRmlsdGVycztcblxuZXhwb3J0IGNsYXNzIEdpb0Zvcm1UYWdzSW5wdXRIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1mb3JtLXRhZ3MtaW5wdXQnO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhIGBHaW9Gb3JtQ29sb3JJbnB1dEhhcm5lc3NgIHRoYXQgbWVldHNcbiAgICogY2VydGFpbiBjcml0ZXJpYS5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgZmlsdGVyaW5nIHdoaWNoIGlucHV0IGluc3RhbmNlcyBhcmUgY29uc2lkZXJlZCBhIG1hdGNoLlxuICAgKiBAcmV0dXJuIGEgYEhhcm5lc3NQcmVkaWNhdGVgIGNvbmZpZ3VyZWQgd2l0aCB0aGUgZ2l2ZW4gb3B0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChvcHRpb25zOiBHaW9Gb3JtVGFnc0lucHV0SGFybmVzc0ZpbHRlcnMgPSB7fSk6IEhhcm5lc3NQcmVkaWNhdGU8R2lvRm9ybVRhZ3NJbnB1dEhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoR2lvRm9ybVRhZ3NJbnB1dEhhcm5lc3MsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE1hdENoaXBHcmlkSGFybmVzcyA9IHRoaXMubG9jYXRvckZvcihNYXRDaGlwR3JpZEhhcm5lc3MpO1xuICBwcm90ZWN0ZWQgZ2V0TWF0Q2hpcHNIYXJuZXNzID0gdGhpcy5sb2NhdG9yRm9yQWxsKE1hdENoaXBIYXJuZXNzKTtcblxuICBwdWJsaWMgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBtYXRDaGlwR3JpZCA9IGF3YWl0IHRoaXMuZ2V0TWF0Q2hpcEdyaWRIYXJuZXNzKCk7XG4gICAgY29uc3QgbWF0Q2hpcHMgPSBhd2FpdCB0aGlzLmdldE1hdENoaXBzSGFybmVzcygpO1xuXG4gICAgY29uc3QgY2hpcExpc3REaXNhYmxlZCA9IGF3YWl0IG1hdENoaXBHcmlkLmlzRGlzYWJsZWQoKTtcbiAgICBjb25zdCBjaGlwc0Rpc2FibGVkID0gYXdhaXQgcGFyYWxsZWwoKCkgPT4gbWF0Q2hpcHMubWFwKGFzeW5jIG1hdENoaXAgPT4gYXdhaXQgbWF0Q2hpcC5pc0Rpc2FibGVkKCkpKTtcblxuICAgIHJldHVybiBjaGlwTGlzdERpc2FibGVkICYmIGNoaXBzRGlzYWJsZWQuZXZlcnkoY2hpcERpc2FibGVkID0+IGNoaXBEaXNhYmxlZCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0VGFncygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3QgbWF0Q2hpcEdyaWQgPSBhd2FpdCB0aGlzLmdldE1hdENoaXBHcmlkSGFybmVzcygpO1xuXG4gICAgY29uc3QgY2hpcHMgPSBhd2FpdCBtYXRDaGlwR3JpZC5nZXRSb3dzKCk7XG5cbiAgICByZXR1cm4gcGFyYWxsZWwoKCkgPT4gY2hpcHMubWFwKGFzeW5jIGNoaXAgPT4gYXdhaXQgY2hpcC5nZXRUZXh0KCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBhZGRUYWcodGFnOiBzdHJpbmcsIHNlcGFyYXRvcktleTogVGVzdEtleSB8ICdibHVyJyA9IFRlc3RLZXkuRU5URVIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBtYXRDaGlwR3JpZCA9IGF3YWl0IHRoaXMuZ2V0TWF0Q2hpcEdyaWRIYXJuZXNzKCk7XG5cbiAgICBjb25zdCBjaGlwSW5wdXQgPSBhd2FpdCBtYXRDaGlwR3JpZC5nZXRJbnB1dCgpO1xuICAgIGlmICghY2hpcElucHV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHRhZ3MgaW5wdXQgZm91bmQhJyk7XG4gICAgfVxuICAgIGF3YWl0IGNoaXBJbnB1dC5zZXRWYWx1ZSh0YWcpO1xuICAgIGlmIChzZXBhcmF0b3JLZXkgPT09ICdibHVyJykge1xuICAgICAgYXdhaXQgY2hpcElucHV0LmJsdXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgY2hpcElucHV0LnNlbmRTZXBhcmF0b3JLZXkoc2VwYXJhdG9yS2V5KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVtb3ZlVGFnKHRhZzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbWF0Q2hpcEdyaWQgPSBhd2FpdCB0aGlzLmdldE1hdENoaXBHcmlkSGFybmVzcygpO1xuXG4gICAgY29uc3QgY2hpcHMgPSBhd2FpdCBtYXRDaGlwR3JpZC5nZXRSb3dzKHsgdGV4dDogdGFnIH0pO1xuICAgIGlmIChjaGlwc1swXSkge1xuICAgICAgYXdhaXQgY2hpcHNbMF0ucmVtb3ZlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldE1hdEF1dG9jb21wbGV0ZUhhcm5lc3MoKTogUHJvbWlzZTxNYXRBdXRvY29tcGxldGVIYXJuZXNzIHwgbnVsbD4ge1xuICAgIGNvbnN0IG1hdEF1dG9jb21wbGV0ZUhhcm5lc3MgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChNYXRBdXRvY29tcGxldGVIYXJuZXNzKSgpO1xuXG4gICAgcmV0dXJuIG1hdEF1dG9jb21wbGV0ZUhhcm5lc3M7XG4gIH1cbn1cbiJdfQ==
@@ -27,8 +27,8 @@ import { GioFormTagsInputComponent } from './gio-form-tags-input.component';
27
27
  import * as i0 from "@angular/core";
28
28
  export class GioFormTagsInputModule {
29
29
  }
30
- GioFormTagsInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GioFormTagsInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
31
- GioFormTagsInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: GioFormTagsInputModule, declarations: [GioFormTagsInputComponent], imports: [CommonModule,
30
+ GioFormTagsInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioFormTagsInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
31
+ GioFormTagsInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: GioFormTagsInputModule, declarations: [GioFormTagsInputComponent], imports: [CommonModule,
32
32
  A11yModule,
33
33
  MatChipsModule,
34
34
  MatInputModule,
@@ -37,7 +37,7 @@ GioFormTagsInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
37
37
  MatAutocompleteModule,
38
38
  MatSelectModule,
39
39
  GioLoaderModule], exports: [GioFormTagsInputComponent] });
40
- GioFormTagsInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GioFormTagsInputModule, imports: [CommonModule,
40
+ GioFormTagsInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioFormTagsInputModule, imports: [CommonModule,
41
41
  A11yModule,
42
42
  MatChipsModule,
43
43
  MatInputModule,
@@ -46,7 +46,7 @@ GioFormTagsInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
46
46
  MatAutocompleteModule,
47
47
  MatSelectModule,
48
48
  GioLoaderModule] });
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GioFormTagsInputModule, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioFormTagsInputModule, decorators: [{
50
50
  type: NgModule,
51
51
  args: [{
52
52
  imports: [
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
64
64
  exports: [GioFormTagsInputComponent],
65
65
  }]
66
66
  }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tdGFncy1pbnB1dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLXRhZ3MtaW5wdXQvZ2lvLWZvcm0tdGFncy1pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBaUI1RSxNQUFNLE9BQU8sc0JBQXNCOzttSEFBdEIsc0JBQXNCO29IQUF0QixzQkFBc0IsaUJBSGxCLHlCQUF5QixhQVZ0QyxZQUFZO1FBQ1osVUFBVTtRQUNWLGNBQWM7UUFDZCxjQUFjO1FBQ2QsV0FBVztRQUNYLGFBQWE7UUFDYixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLGVBQWUsYUFHUCx5QkFBeUI7b0hBRXhCLHNCQUFzQixZQWIvQixZQUFZO1FBQ1osVUFBVTtRQUNWLGNBQWM7UUFDZCxjQUFjO1FBQ2QsV0FBVztRQUNYLGFBQWE7UUFDYixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLGVBQWU7MkZBS04sc0JBQXNCO2tCQWZsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEI7b0JBQ0QsWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcblxuaW1wb3J0IHsgR2lvTG9hZGVyTW9kdWxlIH0gZnJvbSAnLi4vZ2lvLWxvYWRlci9naW8tbG9hZGVyLm1vZHVsZSc7XG5cbmltcG9ydCB7IEdpb0Zvcm1UYWdzSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2dpby1mb3JtLXRhZ3MtaW5wdXQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBMTF5TW9kdWxlLFxuICAgIE1hdENoaXBzTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBHaW9Mb2FkZXJNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW0dpb0Zvcm1UYWdzSW5wdXRDb21wb25lbnRdLFxuICBleHBvcnRzOiBbR2lvRm9ybVRhZ3NJbnB1dENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEdpb0Zvcm1UYWdzSW5wdXRNb2R1bGUge31cbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWZvcm0tdGFncy1pbnB1dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1mb3JtLXRhZ3MtaW5wdXQvZ2lvLWZvcm0tdGFncy1pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBaUI1RSxNQUFNLE9BQU8sc0JBQXNCOztvSEFBdEIsc0JBQXNCO3FIQUF0QixzQkFBc0IsaUJBSGxCLHlCQUF5QixhQVZ0QyxZQUFZO1FBQ1osVUFBVTtRQUNWLGNBQWM7UUFDZCxjQUFjO1FBQ2QsV0FBVztRQUNYLGFBQWE7UUFDYixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLGVBQWUsYUFHUCx5QkFBeUI7cUhBRXhCLHNCQUFzQixZQWIvQixZQUFZO1FBQ1osVUFBVTtRQUNWLGNBQWM7UUFDZCxjQUFjO1FBQ2QsV0FBVztRQUNYLGFBQWE7UUFDYixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLGVBQWU7NEZBS04sc0JBQXNCO2tCQWZsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEI7b0JBQ0QsWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcblxuaW1wb3J0IHsgR2lvTG9hZGVyTW9kdWxlIH0gZnJvbSAnLi4vZ2lvLWxvYWRlci9naW8tbG9hZGVyLm1vZHVsZSc7XG5cbmltcG9ydCB7IEdpb0Zvcm1UYWdzSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2dpby1mb3JtLXRhZ3MtaW5wdXQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBMTF5TW9kdWxlLFxuICAgIE1hdENoaXBzTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBHaW9Mb2FkZXJNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW0dpb0Zvcm1UYWdzSW5wdXRDb21wb25lbnRdLFxuICBleHBvcnRzOiBbR2lvRm9ybVRhZ3NJbnB1dENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEdpb0Zvcm1UYWdzSW5wdXRNb2R1bGUge31cbiJdfQ==
@@ -24,14 +24,14 @@ export class GioIconsModule {
24
24
  matIconRegistry.addSvgIconSetInNamespace('gio', sanitizer.bypassSecurityTrustResourceUrl('assets/gio-icons.svg'));
25
25
  }
26
26
  }
27
- GioIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GioIconsModule, deps: [{ token: i1.MatIconRegistry }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.NgModule });
28
- GioIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: GioIconsModule, imports: [CommonModule, MatIconModule], exports: [MatIconModule] });
29
- GioIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GioIconsModule, imports: [CommonModule, MatIconModule, MatIconModule] });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GioIconsModule, decorators: [{
27
+ GioIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioIconsModule, deps: [{ token: i1.MatIconRegistry }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.NgModule });
28
+ GioIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: GioIconsModule, imports: [CommonModule, MatIconModule], exports: [MatIconModule] });
29
+ GioIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioIconsModule, imports: [CommonModule, MatIconModule, MatIconModule] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioIconsModule, decorators: [{
31
31
  type: NgModule,
32
32
  args: [{
33
33
  imports: [CommonModule, MatIconModule],
34
34
  exports: [MatIconModule],
35
35
  }]
36
36
  }], ctorParameters: function () { return [{ type: i1.MatIconRegistry }, { type: i2.DomSanitizer }]; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWljb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWljb25zL2dpby1pY29ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFtQixNQUFNLHdCQUF3QixDQUFDOzs7O0FBT3hFLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQVksZUFBZ0MsRUFBRSxTQUF1QjtRQUNuRSxlQUFlLENBQUMsd0JBQXdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7SUFDcEgsQ0FBQzs7MkdBSFUsY0FBYzs0R0FBZCxjQUFjLFlBSGYsWUFBWSxFQUFFLGFBQWEsYUFDM0IsYUFBYTs0R0FFWixjQUFjLFlBSGYsWUFBWSxFQUFFLGFBQWEsRUFDM0IsYUFBYTsyRkFFWixjQUFjO2tCQUoxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlLCBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgZXhwb3J0czogW01hdEljb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9JY29uc01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKG1hdEljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgIG1hdEljb25SZWdpc3RyeS5hZGRTdmdJY29uU2V0SW5OYW1lc3BhY2UoJ2dpbycsIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoJ2Fzc2V0cy9naW8taWNvbnMuc3ZnJykpO1xuICB9XG59XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWljb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWljb25zL2dpby1pY29ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFtQixNQUFNLHdCQUF3QixDQUFDOzs7O0FBT3hFLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQVksZUFBZ0MsRUFBRSxTQUF1QjtRQUNuRSxlQUFlLENBQUMsd0JBQXdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7SUFDcEgsQ0FBQzs7NEdBSFUsY0FBYzs2R0FBZCxjQUFjLFlBSGYsWUFBWSxFQUFFLGFBQWEsYUFDM0IsYUFBYTs2R0FFWixjQUFjLFlBSGYsWUFBWSxFQUFFLGFBQWEsRUFDM0IsYUFBYTs0RkFFWixjQUFjO2tCQUoxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlLCBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgZXhwb3J0czogW01hdEljb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9JY29uc01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKG1hdEljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LCBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgIG1hdEljb25SZWdpc3RyeS5hZGRTdmdJY29uU2V0SW5OYW1lc3BhY2UoJ2dpbycsIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoJ2Fzc2V0cy9naW8taWNvbnMuc3ZnJykpO1xuICB9XG59XG4iXX0=
@@ -31,13 +31,13 @@ export class GioLicenseDialogComponent {
31
31
  this.dialogRef.close();
32
32
  }
33
33
  }
34
- GioLicenseDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GioLicenseDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
35
- GioLicenseDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GioLicenseDialogComponent, selector: "gio-license-dialog", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-license-dialog__title\">\n <mat-icon class=\"gio-license-dialog__title__cancel\"></mat-icon>\n <button mat-icon-button [attr.aria-label]=\"'Close'\" (click)=\"onClose()\">\n <mat-icon class=\"gio-license-dialog__title__cancel\" svgIcon=\"gio:cancel\"> </mat-icon>\n </button>\n</div>\n\n<mat-dialog-content class=\"gio-license-dialog__content\">\n <img class=\"gio-license-dialog__content__image\" [src]=\"featureInfo.image\" [alt]=\"featureInfo.title || 'Unlock Gravitee Enterprise'\" />\n <h2 class=\"gio-license-dialog__content__title\" [innerHTML]=\"featureInfo.title || 'Unlock Gravitee Enterprise' | safe : 'html'\"></h2>\n <div class=\"gio-license-dialog__content__description\" [innerHTML]=\"featureInfo.description | safe : 'html'\"></div>\n <div class=\"gio-license-dialog__content__action\">\n <a class=\"gio-license-dialog__content__action__button\" mat-stroked-button color=\"accent\" target=\"_blank\" [href]=\"trialURL\">\n {{ featureInfo.trialButtonLabel || 'Request an enterprise license' }} <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </a>\n <div *ngIf=\"!featureInfo.hideDays\" class=\"gio-license-dialog__content__action__info\">14 days trial</div>\n </div>\n</mat-dialog-content>\n", styles: [".gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}.gio-license-dialog__title{display:flex;justify-content:space-between}.gio-license-dialog__title__cancel{width:24px;height:24px;color:#8e8f9c}.gio-license-dialog__content{display:flex;width:600px;flex-direction:column;align-items:center;justify-content:center;padding:0}.gio-license-dialog__content__title{margin:0 0 24px;font:600 26px/36px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.gio-license-dialog__content__description{padding:0 50px 32px;color:#606274;font-weight:500;line-height:24px;text-align:center}.gio-license-dialog__content__action{display:flex;flex-direction:column;align-items:center;padding:0 40px}.gio-license-dialog__content__action__button{width:250px}.gio-license-dialog__content__action__info{margin-top:10px;color:#606274;text-align:center}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i5.SafePipe, name: "safe" }] });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GioLicenseDialogComponent, decorators: [{
34
+ GioLicenseDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioLicenseDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
35
+ GioLicenseDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: GioLicenseDialogComponent, selector: "gio-license-dialog", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-license-dialog__title\">\n <mat-icon class=\"gio-license-dialog__title__cancel\"></mat-icon>\n <button mat-icon-button [attr.aria-label]=\"'Close'\" (click)=\"onClose()\">\n <mat-icon class=\"gio-license-dialog__title__cancel\" svgIcon=\"gio:cancel\"> </mat-icon>\n </button>\n</div>\n\n<mat-dialog-content class=\"gio-license-dialog__content\">\n <img class=\"gio-license-dialog__content__image\" [src]=\"featureInfo.image\" [alt]=\"featureInfo.title || 'Unlock Gravitee Enterprise'\" />\n <h2 class=\"gio-license-dialog__content__title\" [innerHTML]=\"featureInfo.title || 'Unlock Gravitee Enterprise' | safe : 'html'\"></h2>\n <div class=\"gio-license-dialog__content__description\" [innerHTML]=\"featureInfo.description | safe : 'html'\"></div>\n <div class=\"gio-license-dialog__content__action\">\n <a class=\"gio-license-dialog__content__action__button\" mat-stroked-button color=\"accent\" target=\"_blank\" [href]=\"trialURL\">\n {{ featureInfo.trialButtonLabel || 'Request an enterprise license' }} <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </a>\n <div *ngIf=\"!featureInfo.hideDays\" class=\"gio-license-dialog__content__action__info\">14 days trial</div>\n </div>\n</mat-dialog-content>\n", styles: [".gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}.gio-license-dialog__title{display:flex;justify-content:space-between}.gio-license-dialog__title__cancel{width:24px;height:24px;color:#8e8f9c}.gio-license-dialog__content{display:flex;width:600px;flex-direction:column;align-items:center;justify-content:center;padding:0}.gio-license-dialog__content__title{margin:0 0 24px;font-size:26px;font-weight:600;line-height:36px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.gio-license-dialog__content__description{padding:0 50px 32px;color:#606274;font-weight:500;line-height:24px;text-align:center}.gio-license-dialog__content__action{display:flex;flex-direction:column;align-items:center;padding:0 40px 16px}.gio-license-dialog__content__action__button{width:250px}.gio-license-dialog__content__action__info{margin-top:10px;color:#606274;text-align:center}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i5.SafePipe, name: "safe" }] });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GioLicenseDialogComponent, decorators: [{
37
37
  type: Component,
38
- args: [{ selector: 'gio-license-dialog', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-license-dialog__title\">\n <mat-icon class=\"gio-license-dialog__title__cancel\"></mat-icon>\n <button mat-icon-button [attr.aria-label]=\"'Close'\" (click)=\"onClose()\">\n <mat-icon class=\"gio-license-dialog__title__cancel\" svgIcon=\"gio:cancel\"> </mat-icon>\n </button>\n</div>\n\n<mat-dialog-content class=\"gio-license-dialog__content\">\n <img class=\"gio-license-dialog__content__image\" [src]=\"featureInfo.image\" [alt]=\"featureInfo.title || 'Unlock Gravitee Enterprise'\" />\n <h2 class=\"gio-license-dialog__content__title\" [innerHTML]=\"featureInfo.title || 'Unlock Gravitee Enterprise' | safe : 'html'\"></h2>\n <div class=\"gio-license-dialog__content__description\" [innerHTML]=\"featureInfo.description | safe : 'html'\"></div>\n <div class=\"gio-license-dialog__content__action\">\n <a class=\"gio-license-dialog__content__action__button\" mat-stroked-button color=\"accent\" target=\"_blank\" [href]=\"trialURL\">\n {{ featureInfo.trialButtonLabel || 'Request an enterprise license' }} <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </a>\n <div *ngIf=\"!featureInfo.hideDays\" class=\"gio-license-dialog__content__action__info\">14 days trial</div>\n </div>\n</mat-dialog-content>\n", styles: [".gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}.gio-license-dialog__title{display:flex;justify-content:space-between}.gio-license-dialog__title__cancel{width:24px;height:24px;color:#8e8f9c}.gio-license-dialog__content{display:flex;width:600px;flex-direction:column;align-items:center;justify-content:center;padding:0}.gio-license-dialog__content__title{margin:0 0 24px;font:600 26px/36px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.gio-license-dialog__content__description{padding:0 50px 32px;color:#606274;font-weight:500;line-height:24px;text-align:center}.gio-license-dialog__content__action{display:flex;flex-direction:column;align-items:center;padding:0 40px}.gio-license-dialog__content__action__button{width:250px}.gio-license-dialog__content__action__info{margin-top:10px;color:#606274;text-align:center}\n"] }]
38
+ args: [{ selector: 'gio-license-dialog', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-license-dialog__title\">\n <mat-icon class=\"gio-license-dialog__title__cancel\"></mat-icon>\n <button mat-icon-button [attr.aria-label]=\"'Close'\" (click)=\"onClose()\">\n <mat-icon class=\"gio-license-dialog__title__cancel\" svgIcon=\"gio:cancel\"> </mat-icon>\n </button>\n</div>\n\n<mat-dialog-content class=\"gio-license-dialog__content\">\n <img class=\"gio-license-dialog__content__image\" [src]=\"featureInfo.image\" [alt]=\"featureInfo.title || 'Unlock Gravitee Enterprise'\" />\n <h2 class=\"gio-license-dialog__content__title\" [innerHTML]=\"featureInfo.title || 'Unlock Gravitee Enterprise' | safe : 'html'\"></h2>\n <div class=\"gio-license-dialog__content__description\" [innerHTML]=\"featureInfo.description | safe : 'html'\"></div>\n <div class=\"gio-license-dialog__content__action\">\n <a class=\"gio-license-dialog__content__action__button\" mat-stroked-button color=\"accent\" target=\"_blank\" [href]=\"trialURL\">\n {{ featureInfo.trialButtonLabel || 'Request an enterprise license' }} <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </a>\n <div *ngIf=\"!featureInfo.hideDays\" class=\"gio-license-dialog__content__action__info\">14 days trial</div>\n </div>\n</mat-dialog-content>\n", styles: [".gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}.gio-license-dialog__title{display:flex;justify-content:space-between}.gio-license-dialog__title__cancel{width:24px;height:24px;color:#8e8f9c}.gio-license-dialog__content{display:flex;width:600px;flex-direction:column;align-items:center;justify-content:center;padding:0}.gio-license-dialog__content__title{margin:0 0 24px;font-size:26px;font-weight:600;line-height:36px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.gio-license-dialog__content__description{padding:0 50px 32px;color:#606274;font-weight:500;line-height:24px;text-align:center}.gio-license-dialog__content__action{display:flex;flex-direction:column;align-items:center;padding:0 40px 16px}.gio-license-dialog__content__action__button{width:250px}.gio-license-dialog__content__action__info{margin-top:10px;color:#606274;text-align:center}\n"] }]
39
39
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
40
40
  type: Inject,
41
41
  args: [MAT_DIALOG_DATA]
42
42
  }] }]; } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2UtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWxpY2Vuc2UvZ2lvLWxpY2Vuc2UtZGlhbG9nL2dpby1saWNlbnNlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1saWNlbnNlL2dpby1saWNlbnNlLWRpYWxvZy9naW8tbGljZW5zZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBY3pFLE1BQU0sT0FBTyx5QkFBeUI7SUFJcEMsWUFBNkIsU0FBNkMsRUFBMkIsVUFBZ0M7UUFBeEcsY0FBUyxHQUFULFNBQVMsQ0FBb0M7UUFDeEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLEVBQUUsV0FBVyxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxFQUFFLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQzs7c0hBWFUseUJBQXlCLDhDQUlnRCxlQUFlOzBHQUp4Rix5QkFBeUIsMERDOUJ0QywyM0RBbUNBOzJGRExhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxvQkFBb0I7OzBCQVErQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgRmVhdHVyZUluZm8gfSBmcm9tICcuLi9naW8tbGljZW5zZS5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgR2lvTGljZW5zZURpYWxvZ0RhdGEgPSB7XG4gIGZlYXR1cmVJbmZvOiBGZWF0dXJlSW5mbztcbiAgdHJpYWxVUkw6IHN0cmluZztcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1saWNlbnNlLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9naW8tbGljZW5zZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9naW8tbGljZW5zZS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvTGljZW5zZURpYWxvZ0NvbXBvbmVudCB7XG4gIHB1YmxpYyBmZWF0dXJlSW5mbzogRmVhdHVyZUluZm87XG4gIHB1YmxpYyB0cmlhbFVSTDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8R2lvTGljZW5zZURpYWxvZ0RhdGE+LCBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgZGlhbG9nRGF0YTogR2lvTGljZW5zZURpYWxvZ0RhdGEpIHtcbiAgICB0aGlzLmZlYXR1cmVJbmZvID0gZGlhbG9nRGF0YT8uZmVhdHVyZUluZm87XG4gICAgdGhpcy50cmlhbFVSTCA9IGRpYWxvZ0RhdGE/LnRyaWFsVVJMO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxufVxuIiwiPCEtLVxuXG4gICAgQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cblxuLS0+XG48ZGl2IGNsYXNzPVwiZ2lvLWxpY2Vuc2UtZGlhbG9nX190aXRsZVwiPlxuICA8bWF0LWljb24gY2xhc3M9XCJnaW8tbGljZW5zZS1kaWFsb2dfX3RpdGxlX19jYW5jZWxcIj48L21hdC1pY29uPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIidDbG9zZSdcIiAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwiZ2lvLWxpY2Vuc2UtZGlhbG9nX190aXRsZV9fY2FuY2VsXCIgc3ZnSWNvbj1cImdpbzpjYW5jZWxcIj4gPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImdpby1saWNlbnNlLWRpYWxvZ19fY29udGVudFwiPlxuICA8aW1nIGNsYXNzPVwiZ2lvLWxpY2Vuc2UtZGlhbG9nX19jb250ZW50X19pbWFnZVwiIFtzcmNdPVwiZmVhdHVyZUluZm8uaW1hZ2VcIiBbYWx0XT1cImZlYXR1cmVJbmZvLnRpdGxlIHx8ICdVbmxvY2sgR3Jhdml0ZWUgRW50ZXJwcmlzZSdcIiAvPlxuICA8aDIgY2xhc3M9XCJnaW8tbGljZW5zZS1kaWFsb2dfX2NvbnRlbnRfX3RpdGxlXCIgW2lubmVySFRNTF09XCJmZWF0dXJlSW5mby50aXRsZSB8fCAnVW5sb2NrIEdyYXZpdGVlIEVudGVycHJpc2UnIHwgc2FmZSA6ICdodG1sJ1wiPjwvaDI+XG4gIDxkaXYgY2xhc3M9XCJnaW8tbGljZW5zZS1kaWFsb2dfX2NvbnRlbnRfX2Rlc2NyaXB0aW9uXCIgW2lubmVySFRNTF09XCJmZWF0dXJlSW5mby5kZXNjcmlwdGlvbiB8IHNhZmUgOiAnaHRtbCdcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdpby1saWNlbnNlLWRpYWxvZ19fY29udGVudF9fYWN0aW9uXCI+XG4gICAgPGEgY2xhc3M9XCJnaW8tbGljZW5zZS1kaWFsb2dfX2NvbnRlbnRfX2FjdGlvbl9fYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgdGFyZ2V0PVwiX2JsYW5rXCIgW2hyZWZdPVwidHJpYWxVUkxcIj5cbiAgICAgIHt7IGZlYXR1cmVJbmZvLnRyaWFsQnV0dG9uTGFiZWwgfHwgJ1JlcXVlc3QgYW4gZW50ZXJwcmlzZSBsaWNlbnNlJyB9fSA8bWF0LWljb24gc3ZnSWNvbj1cImdpbzpleHRlcm5hbC1saW5rXCI+PC9tYXQtaWNvbj5cbiAgICA8L2E+XG4gICAgPGRpdiAqbmdJZj1cIiFmZWF0dXJlSW5mby5oaWRlRGF5c1wiIGNsYXNzPVwiZ2lvLWxpY2Vuc2UtZGlhbG9nX19jb250ZW50X19hY3Rpb25fX2luZm9cIj4xNCBkYXlzIHRyaWFsPC9kaXY+XG4gIDwvZGl2PlxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWxpY2Vuc2UtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3NyYy9saWIvZ2lvLWxpY2Vuc2UvZ2lvLWxpY2Vuc2UtZGlhbG9nL2dpby1saWNlbnNlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1saWNlbnNlL2dpby1saWNlbnNlLWRpYWxvZy9naW8tbGljZW5zZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBY3pFLE1BQU0sT0FBTyx5QkFBeUI7SUFJcEMsWUFBNkIsU0FBNkMsRUFBMkIsVUFBZ0M7UUFBeEcsY0FBUyxHQUFULFNBQVMsQ0FBb0M7UUFDeEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLEVBQUUsV0FBVyxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxFQUFFLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQzs7dUhBWFUseUJBQXlCLDhDQUlnRCxlQUFlOzJHQUp4Rix5QkFBeUIsMERDOUJ0QywyM0RBbUNBOzRGRExhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxvQkFBb0I7OzBCQVErQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgRmVhdHVyZUluZm8gfSBmcm9tICcuLi9naW8tbGljZW5zZS5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgR2lvTGljZW5zZURpYWxvZ0RhdGEgPSB7XG4gIGZlYXR1cmVJbmZvOiBGZWF0dXJlSW5mbztcbiAgdHJpYWxVUkw6IHN0cmluZztcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1saWNlbnNlLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9naW8tbGljZW5zZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9naW8tbGljZW5zZS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvTGljZW5zZURpYWxvZ0NvbXBvbmVudCB7XG4gIHB1YmxpYyBmZWF0dXJlSW5mbzogRmVhdHVyZUluZm87XG4gIHB1YmxpYyB0cmlhbFVSTDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8R2lvTGljZW5zZURpYWxvZ0RhdGE+LCBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgZGlhbG9nRGF0YTogR2lvTGljZW5zZURpYWxvZ0RhdGEpIHtcbiAgICB0aGlzLmZlYXR1cmVJbmZvID0gZGlhbG9nRGF0YT8uZmVhdHVyZUluZm87XG4gICAgdGhpcy50cmlhbFVSTCA9IGRpYWxvZ0RhdGE/LnRyaWFsVVJMO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxufVxuIiwiPCEtLVxuXG4gICAgQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cblxuLS0+XG48ZGl2IGNsYXNzPVwiZ2lvLWxpY2Vuc2UtZGlhbG9nX190aXRsZVwiPlxuICA8bWF0LWljb24gY2xhc3M9XCJnaW8tbGljZW5zZS1kaWFsb2dfX3RpdGxlX19jYW5jZWxcIj48L21hdC1pY29uPlxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIidDbG9zZSdcIiAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwiZ2lvLWxpY2Vuc2UtZGlhbG9nX190aXRsZV9fY2FuY2VsXCIgc3ZnSWNvbj1cImdpbzpjYW5jZWxcIj4gPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImdpby1saWNlbnNlLWRpYWxvZ19fY29udGVudFwiPlxuICA8aW1nIGNsYXNzPVwiZ2lvLWxpY2Vuc2UtZGlhbG9nX19jb250ZW50X19pbWFnZVwiIFtzcmNdPVwiZmVhdHVyZUluZm8uaW1hZ2VcIiBbYWx0XT1cImZlYXR1cmVJbmZvLnRpdGxlIHx8ICdVbmxvY2sgR3Jhdml0ZWUgRW50ZXJwcmlzZSdcIiAvPlxuICA8aDIgY2xhc3M9XCJnaW8tbGljZW5zZS1kaWFsb2dfX2NvbnRlbnRfX3RpdGxlXCIgW2lubmVySFRNTF09XCJmZWF0dXJlSW5mby50aXRsZSB8fCAnVW5sb2NrIEdyYXZpdGVlIEVudGVycHJpc2UnIHwgc2FmZSA6ICdodG1sJ1wiPjwvaDI+XG4gIDxkaXYgY2xhc3M9XCJnaW8tbGljZW5zZS1kaWFsb2dfX2NvbnRlbnRfX2Rlc2NyaXB0aW9uXCIgW2lubmVySFRNTF09XCJmZWF0dXJlSW5mby5kZXNjcmlwdGlvbiB8IHNhZmUgOiAnaHRtbCdcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdpby1saWNlbnNlLWRpYWxvZ19fY29udGVudF9fYWN0aW9uXCI+XG4gICAgPGEgY2xhc3M9XCJnaW8tbGljZW5zZS1kaWFsb2dfX2NvbnRlbnRfX2FjdGlvbl9fYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgdGFyZ2V0PVwiX2JsYW5rXCIgW2hyZWZdPVwidHJpYWxVUkxcIj5cbiAgICAgIHt7IGZlYXR1cmVJbmZvLnRyaWFsQnV0dG9uTGFiZWwgfHwgJ1JlcXVlc3QgYW4gZW50ZXJwcmlzZSBsaWNlbnNlJyB9fSA8bWF0LWljb24gc3ZnSWNvbj1cImdpbzpleHRlcm5hbC1saW5rXCI+PC9tYXQtaWNvbj5cbiAgICA8L2E+XG4gICAgPGRpdiAqbmdJZj1cIiFmZWF0dXJlSW5mby5oaWRlRGF5c1wiIGNsYXNzPVwiZ2lvLWxpY2Vuc2UtZGlhbG9nX19jb250ZW50X19hY3Rpb25fX2luZm9cIj4xNCBkYXlzIHRyaWFsPC9kaXY+XG4gIDwvZGl2PlxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4iXX0=