ngx-formly-zorro-antd 18.3.2 → 18.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/README.md +1 -1
  2. package/autocomplete/package.json +3 -0
  3. package/button/package.json +3 -0
  4. package/button-group/package.json +3 -0
  5. package/card/package.json +3 -0
  6. package/card-wrapper/package.json +3 -0
  7. package/cascader/package.json +3 -0
  8. package/checkbox/package.json +3 -0
  9. package/common/package.json +3 -0
  10. package/datepicker/package.json +3 -0
  11. package/esm2022/autocomplete/autocomplete.props.mjs +1 -1
  12. package/esm2022/autocomplete/public_api.mjs +1 -1
  13. package/esm2022/button/button.module.mjs +1 -1
  14. package/esm2022/button/button.type.mjs +119 -119
  15. package/esm2022/button/public_api.mjs +1 -1
  16. package/esm2022/button-group/button-group.module.mjs +1 -1
  17. package/esm2022/button-group/button-group.type.mjs +81 -81
  18. package/esm2022/button-group/public_api.mjs +1 -1
  19. package/esm2022/card/card.module.mjs +1 -1
  20. package/esm2022/card/card.type.mjs +49 -49
  21. package/esm2022/card/public_api.mjs +1 -1
  22. package/esm2022/card-wrapper/card-wrapper.module.mjs +1 -1
  23. package/esm2022/card-wrapper/card-wrapper.props.mjs +1 -1
  24. package/esm2022/card-wrapper/card.wrapper.mjs +39 -39
  25. package/esm2022/card-wrapper/public_api.mjs +1 -1
  26. package/esm2022/cascader/cascader.module.mjs +1 -1
  27. package/esm2022/cascader/cascader.type.mjs +63 -63
  28. package/esm2022/cascader/public_api.mjs +1 -1
  29. package/esm2022/checkbox/checkbox.module.mjs +1 -1
  30. package/esm2022/checkbox/checkbox.type.mjs +45 -45
  31. package/esm2022/checkbox/public_api.mjs +1 -1
  32. package/esm2022/common/common.module.mjs +1 -1
  33. package/esm2022/common/formly-box-templates.directive.mjs +1 -1
  34. package/esm2022/common/formly-utils.mjs +1 -1
  35. package/esm2022/common/interface.mjs +1 -1
  36. package/esm2022/common/public_api.mjs +1 -1
  37. package/esm2022/datepicker/datepicker.module.mjs +1 -1
  38. package/esm2022/datepicker/datepicker.props.mjs +1 -1
  39. package/esm2022/datepicker/datepicker.type.mjs +143 -143
  40. package/esm2022/datepicker/public_api.mjs +1 -1
  41. package/esm2022/extension/public_api.mjs +1 -1
  42. package/esm2022/extension/value-changes-extension.mjs +1 -1
  43. package/esm2022/flex/flex.module.mjs +1 -1
  44. package/esm2022/flex/flex.type.mjs +35 -35
  45. package/esm2022/flex/public_api.mjs +1 -1
  46. package/esm2022/form-field/form-field.module.mjs +1 -1
  47. package/esm2022/form-field/form-field.props.mjs +1 -1
  48. package/esm2022/form-field/form-field.wrapper.mjs +139 -139
  49. package/esm2022/form-field/public_api.mjs +1 -1
  50. package/esm2022/grid/grid.module.mjs +1 -1
  51. package/esm2022/grid/grid.props.mjs +1 -1
  52. package/esm2022/grid/grid.type.mjs +59 -59
  53. package/esm2022/grid/public_api.mjs +1 -1
  54. package/esm2022/helpers/common.mjs +12 -3
  55. package/esm2022/helpers/formly.mjs +14 -14
  56. package/esm2022/helpers/public_api.mjs +1 -1
  57. package/esm2022/index.mjs +1 -1
  58. package/esm2022/input/input.config.mjs +1 -1
  59. package/esm2022/input/input.module.mjs +1 -1
  60. package/esm2022/input/input.props.mjs +1 -1
  61. package/esm2022/input/input.type.mjs +283 -283
  62. package/esm2022/input/public_api.mjs +1 -1
  63. package/esm2022/input-group/input-group.module.mjs +1 -1
  64. package/esm2022/input-group/input-group.props.mjs +1 -1
  65. package/esm2022/input-group/input-group.type.mjs +43 -43
  66. package/esm2022/input-group/public_api.mjs +1 -1
  67. package/esm2022/input-number/input-number.module.mjs +1 -1
  68. package/esm2022/input-number/input-number.props.mjs +1 -1
  69. package/esm2022/input-number/input-number.type.mjs +89 -89
  70. package/esm2022/input-number/public_api.mjs +1 -1
  71. package/esm2022/lib/ui-ng-zorro-antd.mjs +1 -1
  72. package/esm2022/lib/ui-ng-zorro-antd.module.mjs +1 -1
  73. package/esm2022/radio/public_api.mjs +1 -1
  74. package/esm2022/radio/radio.module.mjs +1 -1
  75. package/esm2022/radio/radio.type.mjs +45 -45
  76. package/esm2022/rate/public_api.mjs +1 -1
  77. package/esm2022/rate/rate.module.mjs +1 -1
  78. package/esm2022/rate/rate.type.mjs +31 -31
  79. package/esm2022/ref-template/public_api.mjs +1 -1
  80. package/esm2022/ref-template/ref-template.module.mjs +1 -1
  81. package/esm2022/ref-template/ref-template.type.mjs +9 -9
  82. package/esm2022/select/public_api.mjs +1 -1
  83. package/esm2022/select/select.module.mjs +1 -1
  84. package/esm2022/select/select.props.mjs +1 -1
  85. package/esm2022/select/select.type.mjs +103 -103
  86. package/esm2022/slider/public_api.mjs +1 -1
  87. package/esm2022/slider/slider.module.mjs +1 -1
  88. package/esm2022/slider/slider.type.mjs +31 -31
  89. package/esm2022/space/public_api.mjs +1 -1
  90. package/esm2022/space/space.module.mjs +1 -1
  91. package/esm2022/space/space.type.mjs +25 -25
  92. package/esm2022/switch/public_api.mjs +1 -1
  93. package/esm2022/switch/switch.module.mjs +1 -1
  94. package/esm2022/switch/switch.type.mjs +23 -23
  95. package/esm2022/tabs/public_api.mjs +1 -1
  96. package/esm2022/tabs/tabs.module.mjs +1 -1
  97. package/esm2022/tabs/tabs.props.mjs +1 -1
  98. package/esm2022/tabs/tabs.wrapper.mjs +73 -73
  99. package/esm2022/text-value/public_api.mjs +1 -1
  100. package/esm2022/text-value/text-value.module.mjs +1 -1
  101. package/esm2022/text-value/text-value.type.mjs +9 -9
  102. package/esm2022/textarea/public_api.mjs +1 -1
  103. package/esm2022/textarea/textarea.module.mjs +1 -1
  104. package/esm2022/textarea/textarea.type.mjs +107 -107
  105. package/esm2022/timepicker/public_api.mjs +1 -1
  106. package/esm2022/timepicker/timepicker.module.mjs +1 -1
  107. package/esm2022/timepicker/timepicker.type.mjs +59 -59
  108. package/esm2022/transfer/public_api.mjs +1 -1
  109. package/esm2022/transfer/transfer.component.mjs +49 -49
  110. package/esm2022/transfer/transfer.module.mjs +1 -1
  111. package/esm2022/transfer/transfer.type.mjs +45 -45
  112. package/esm2022/tree-select/public_api.mjs +1 -1
  113. package/esm2022/tree-select/tree-select.module.mjs +1 -1
  114. package/esm2022/tree-select/tree-select.type.mjs +71 -71
  115. package/esm2022/types/public_api.mjs +1 -1
  116. package/esm2022/upload/public_api.mjs +1 -1
  117. package/esm2022/upload/upload.component.mjs +143 -143
  118. package/esm2022/upload/upload.module.mjs +1 -1
  119. package/esm2022/upload/upload.props.mjs +1 -1
  120. package/esm2022/upload/upload.type.mjs +83 -83
  121. package/extension/package.json +3 -0
  122. package/fesm2022/ngx-formly-zorro-antd-button-group.mjs +80 -80
  123. package/fesm2022/ngx-formly-zorro-antd-button-group.mjs.map +1 -1
  124. package/fesm2022/ngx-formly-zorro-antd-button.mjs +118 -118
  125. package/fesm2022/ngx-formly-zorro-antd-button.mjs.map +1 -1
  126. package/fesm2022/ngx-formly-zorro-antd-card-wrapper.mjs +38 -38
  127. package/fesm2022/ngx-formly-zorro-antd-card-wrapper.mjs.map +1 -1
  128. package/fesm2022/ngx-formly-zorro-antd-card.mjs +48 -48
  129. package/fesm2022/ngx-formly-zorro-antd-card.mjs.map +1 -1
  130. package/fesm2022/ngx-formly-zorro-antd-cascader.mjs +62 -62
  131. package/fesm2022/ngx-formly-zorro-antd-cascader.mjs.map +1 -1
  132. package/fesm2022/ngx-formly-zorro-antd-checkbox.mjs +44 -44
  133. package/fesm2022/ngx-formly-zorro-antd-checkbox.mjs.map +1 -1
  134. package/fesm2022/ngx-formly-zorro-antd-common.mjs.map +1 -1
  135. package/fesm2022/ngx-formly-zorro-antd-datepicker.mjs +142 -142
  136. package/fesm2022/ngx-formly-zorro-antd-datepicker.mjs.map +1 -1
  137. package/fesm2022/ngx-formly-zorro-antd-extension.mjs.map +1 -1
  138. package/fesm2022/ngx-formly-zorro-antd-flex.mjs +34 -34
  139. package/fesm2022/ngx-formly-zorro-antd-flex.mjs.map +1 -1
  140. package/fesm2022/ngx-formly-zorro-antd-form-field.mjs +138 -138
  141. package/fesm2022/ngx-formly-zorro-antd-form-field.mjs.map +1 -1
  142. package/fesm2022/ngx-formly-zorro-antd-grid.mjs +58 -58
  143. package/fesm2022/ngx-formly-zorro-antd-grid.mjs.map +1 -1
  144. package/fesm2022/ngx-formly-zorro-antd-helpers.mjs +23 -14
  145. package/fesm2022/ngx-formly-zorro-antd-helpers.mjs.map +1 -1
  146. package/fesm2022/ngx-formly-zorro-antd-input-group.mjs +42 -42
  147. package/fesm2022/ngx-formly-zorro-antd-input-group.mjs.map +1 -1
  148. package/fesm2022/ngx-formly-zorro-antd-input-number.mjs +88 -88
  149. package/fesm2022/ngx-formly-zorro-antd-input-number.mjs.map +1 -1
  150. package/fesm2022/ngx-formly-zorro-antd-input.mjs +282 -282
  151. package/fesm2022/ngx-formly-zorro-antd-input.mjs.map +1 -1
  152. package/fesm2022/ngx-formly-zorro-antd-radio.mjs +44 -44
  153. package/fesm2022/ngx-formly-zorro-antd-radio.mjs.map +1 -1
  154. package/fesm2022/ngx-formly-zorro-antd-rate.mjs +30 -30
  155. package/fesm2022/ngx-formly-zorro-antd-rate.mjs.map +1 -1
  156. package/fesm2022/ngx-formly-zorro-antd-ref-template.mjs +8 -8
  157. package/fesm2022/ngx-formly-zorro-antd-ref-template.mjs.map +1 -1
  158. package/fesm2022/ngx-formly-zorro-antd-select.mjs +102 -102
  159. package/fesm2022/ngx-formly-zorro-antd-select.mjs.map +1 -1
  160. package/fesm2022/ngx-formly-zorro-antd-slider.mjs +30 -30
  161. package/fesm2022/ngx-formly-zorro-antd-slider.mjs.map +1 -1
  162. package/fesm2022/ngx-formly-zorro-antd-space.mjs +24 -24
  163. package/fesm2022/ngx-formly-zorro-antd-space.mjs.map +1 -1
  164. package/fesm2022/ngx-formly-zorro-antd-switch.mjs +22 -22
  165. package/fesm2022/ngx-formly-zorro-antd-switch.mjs.map +1 -1
  166. package/fesm2022/ngx-formly-zorro-antd-tabs.mjs +72 -72
  167. package/fesm2022/ngx-formly-zorro-antd-tabs.mjs.map +1 -1
  168. package/fesm2022/ngx-formly-zorro-antd-text-value.mjs +8 -8
  169. package/fesm2022/ngx-formly-zorro-antd-text-value.mjs.map +1 -1
  170. package/fesm2022/ngx-formly-zorro-antd-textarea.mjs +106 -106
  171. package/fesm2022/ngx-formly-zorro-antd-textarea.mjs.map +1 -1
  172. package/fesm2022/ngx-formly-zorro-antd-timepicker.mjs +58 -58
  173. package/fesm2022/ngx-formly-zorro-antd-timepicker.mjs.map +1 -1
  174. package/fesm2022/ngx-formly-zorro-antd-transfer.mjs +92 -92
  175. package/fesm2022/ngx-formly-zorro-antd-transfer.mjs.map +1 -1
  176. package/fesm2022/ngx-formly-zorro-antd-tree-select.mjs +70 -70
  177. package/fesm2022/ngx-formly-zorro-antd-tree-select.mjs.map +1 -1
  178. package/fesm2022/ngx-formly-zorro-antd-upload.mjs +224 -224
  179. package/fesm2022/ngx-formly-zorro-antd-upload.mjs.map +1 -1
  180. package/fesm2022/ngx-formly-zorro-antd.mjs.map +1 -1
  181. package/flex/package.json +3 -0
  182. package/form-field/package.json +3 -0
  183. package/grid/package.json +3 -0
  184. package/grid/public_api.d.ts +1 -1
  185. package/helpers/common.d.ts +4 -1
  186. package/helpers/formly.d.ts +7 -7
  187. package/helpers/package.json +3 -0
  188. package/input/package.json +3 -0
  189. package/input-group/package.json +3 -0
  190. package/input-number/package.json +3 -0
  191. package/package.json +9 -8
  192. package/radio/package.json +3 -0
  193. package/rate/package.json +3 -0
  194. package/ref-template/package.json +3 -0
  195. package/select/package.json +3 -0
  196. package/slider/package.json +3 -0
  197. package/space/package.json +3 -0
  198. package/switch/package.json +3 -0
  199. package/tabs/package.json +3 -0
  200. package/text-value/package.json +3 -0
  201. package/textarea/package.json +3 -0
  202. package/timepicker/package.json +3 -0
  203. package/transfer/package.json +3 -0
  204. package/tree-select/package.json +3 -0
  205. package/types/package.json +3 -0
  206. package/upload/package.json +3 -0
@@ -37,294 +37,294 @@ export class FormlyFieldInput extends FieldType {
37
37
  return resolveTplName(this.props, this.fieldTemplates, 'addOnAfter');
38
38
  }
39
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormlyFieldInput, deps: [{ token: i1.FormlyBoxTemplates, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: FormlyFieldInput, selector: "formly-field-input", usesInheritance: true, ngImport: i0, template: `
41
- @switch (props.type) {
42
- @case ('password') {
43
- <nz-input-group
44
- [nzPrefixIcon]="props['prefixIcon']"
45
- [nzSuffixIcon]="props['suffixIcon']"
46
- [nzAddOnAfterIcon]="props['addOnAfterIcon']"
47
- [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
48
- [nzAddOnBefore]="addOnBefore"
49
- [nzAddOnAfter]="addOnAfter"
50
- [class]="props['className']"
51
- [style]="props['style']"
52
- [nzPrefix]="props['prefix']"
53
- [nzCompact]="!!props['compact']"
54
- [nzSearch]="!!props['search']"
55
- [nzSize]="props['size']!"
56
- [nzStatus]="props['status']!"
57
- [nzSuffix]="passwordEyeTpl"
58
- >
59
- <input
60
- [type]="passVisible ? 'text' : 'password'"
61
- nz-input
62
- [formControl]="formControl"
63
- [formlyAttributes]="field"
64
- [nzBorderless]="!!props['borderless']"
65
- (ngModelChange)="props['modelChange']?.(field, $event)"
66
- />
67
- </nz-input-group>
68
- }
69
- @case ('autoComplete') {
70
- <nz-input-group
71
- [nzSize]="props['size']"
72
- [nzPrefixIcon]="props['prefixIcon']"
73
- [nzSuffixIcon]="props['suffixIcon']"
74
- [nzAddOnAfterIcon]="props['addOnAfterIcon']"
75
- [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
76
- [nzAddOnBefore]="addOnBefore"
77
- [nzAddOnAfter]="addOnAfter"
78
- [class]="props['className']"
79
- [style]="props['style']"
80
- [nzPrefix]="props['prefix']"
81
- [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
82
- >
83
- <input
84
- nz-input
85
- [nzBorderless]="!!props['borderless']"
86
- [nzAutocomplete]="auto"
87
- [formControl]="formControl"
88
- [formlyAttributes]="field"
89
- />
90
- <nz-autocomplete
91
- [nzBackfill]="props['autocompleteOptions']?.backfill"
92
- [nzDefaultActiveFirstOption]="props['autocompleteOptions']?.defaultActiveFirstOption"
93
- [nzWidth]="props['autocompleteOptions']?.width"
94
- [nzOverlayClassName]="props['autocompleteOptions']?.overlayClassName"
95
- [nzOverlayStyle]="props['autocompleteOptions']?.overlayStyle"
96
- [compareWith]="props['autocompleteOptions']?.compareWith"
97
- #auto
98
- >
99
- @for (option of props['autocompleteOptions'].dataSource; track option) {
100
- <nz-auto-option [nzLabel]="option.label" [nzValue]="option.value" [attr.title]="option.label">
101
- {{ option.label }}
102
- </nz-auto-option>
103
- }
104
- </nz-autocomplete>
105
- </nz-input-group>
106
- }
107
- @case ('group') {
108
- <nz-input-group
109
- [nzPrefixIcon]="props['prefixIcon']"
110
- [nzSuffixIcon]="props['suffixIcon']"
111
- [nzAddOnAfterIcon]="props['addOnAfterIcon']"
112
- [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
113
- [nzAddOnBefore]="addOnBefore"
114
- [nzAddOnAfter]="addOnAfter"
115
- [class]="props['className']"
116
- [style]="props['style']"
117
- [nzPrefix]="props['prefix']"
118
- [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
119
- [nzCompact]="!!props['compact']"
120
- [nzSearch]="!!props['search']"
121
- [nzSize]="props['size']!"
122
- [nzStatus]="props['status']!"
123
- >
124
- <input
125
- nz-input
126
- type="text"
127
- [formControl]="formControl"
128
- [formlyAttributes]="field"
129
- [nzBorderless]="!!props['borderless']"
130
- (ngModelChange)="props['modelChange']?.(field, $event)"
131
- />
132
- </nz-input-group>
133
- }
134
- @default {
135
- <input
136
- nz-input
137
- type="text"
138
- [class]="props['className']"
139
- [style]="props['style']"
140
- [formControl]="formControl"
141
- [formlyAttributes]="field"
142
- [nzSize]="props['size']"
143
- [nzStatus]="props['status']"
144
- [nzBorderless]="!!props['borderless']"
145
- (ngModelChange)="props['modelChange']?.(field, $event)"
146
- />
147
- }
148
- }
149
-
150
- <!-- 查看密码 -->
151
- <ng-template #passwordEyeTpl>
152
- <span
153
- nz-icon
154
- class="cursor-pointer"
155
- [nzType]="passVisible ? 'eye-invisible' : 'eye'"
156
- (click)="passVisible = !passVisible"
157
- ></span>
158
-
159
- @if (formControl.value && props['allowClear']!!) {
160
- <span
161
- nz-icon
162
- class="ant-input-clear-icon"
163
- nzTheme="fill"
164
- nzType="close-circle"
165
- (click)="formControl.setValue(undefined)"
166
- ></span>
167
- }
168
- </ng-template>
169
- <!-- 清除数据 -->
170
- <ng-template #inputClearTpl>
171
- @if (formControl.value && !props['disabled'] && !props['readonly']) {
172
- <span
173
- nz-icon
174
- class="ant-input-clear-icon"
175
- nzTheme="fill"
176
- nzType="close-circle"
177
- (click)="formControl.setValue(undefined)"
178
- ></span>
179
- }
180
- </ng-template>
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: FormlyFieldInput, selector: "formly-field-input", usesInheritance: true, ngImport: i0, template: `
41
+ @switch (props.type) {
42
+ @case ('password') {
43
+ <nz-input-group
44
+ [nzPrefixIcon]="props['prefixIcon']"
45
+ [nzSuffixIcon]="props['suffixIcon']"
46
+ [nzAddOnAfterIcon]="props['addOnAfterIcon']"
47
+ [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
48
+ [nzAddOnBefore]="addOnBefore"
49
+ [nzAddOnAfter]="addOnAfter"
50
+ [class]="props['className']"
51
+ [style]="props['style']"
52
+ [nzPrefix]="props['prefix']"
53
+ [nzCompact]="!!props['compact']"
54
+ [nzSearch]="!!props['search']"
55
+ [nzSize]="props['size']!"
56
+ [nzStatus]="props['status']!"
57
+ [nzSuffix]="passwordEyeTpl"
58
+ >
59
+ <input
60
+ [type]="passVisible ? 'text' : 'password'"
61
+ nz-input
62
+ [formControl]="formControl"
63
+ [formlyAttributes]="field"
64
+ [nzBorderless]="!!props['borderless']"
65
+ (ngModelChange)="props['modelChange']?.(field, $event)"
66
+ />
67
+ </nz-input-group>
68
+ }
69
+ @case ('autoComplete') {
70
+ <nz-input-group
71
+ [nzSize]="props['size']"
72
+ [nzPrefixIcon]="props['prefixIcon']"
73
+ [nzSuffixIcon]="props['suffixIcon']"
74
+ [nzAddOnAfterIcon]="props['addOnAfterIcon']"
75
+ [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
76
+ [nzAddOnBefore]="addOnBefore"
77
+ [nzAddOnAfter]="addOnAfter"
78
+ [class]="props['className']"
79
+ [style]="props['style']"
80
+ [nzPrefix]="props['prefix']"
81
+ [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
82
+ >
83
+ <input
84
+ nz-input
85
+ [nzBorderless]="!!props['borderless']"
86
+ [nzAutocomplete]="auto"
87
+ [formControl]="formControl"
88
+ [formlyAttributes]="field"
89
+ />
90
+ <nz-autocomplete
91
+ [nzBackfill]="props['autocompleteOptions']?.backfill"
92
+ [nzDefaultActiveFirstOption]="props['autocompleteOptions']?.defaultActiveFirstOption"
93
+ [nzWidth]="props['autocompleteOptions']?.width"
94
+ [nzOverlayClassName]="props['autocompleteOptions']?.overlayClassName"
95
+ [nzOverlayStyle]="props['autocompleteOptions']?.overlayStyle"
96
+ [compareWith]="props['autocompleteOptions']?.compareWith"
97
+ #auto
98
+ >
99
+ @for (option of props['autocompleteOptions'].dataSource; track option) {
100
+ <nz-auto-option [nzLabel]="option.label" [nzValue]="option.value" [attr.title]="option.label">
101
+ {{ option.label }}
102
+ </nz-auto-option>
103
+ }
104
+ </nz-autocomplete>
105
+ </nz-input-group>
106
+ }
107
+ @case ('group') {
108
+ <nz-input-group
109
+ [nzPrefixIcon]="props['prefixIcon']"
110
+ [nzSuffixIcon]="props['suffixIcon']"
111
+ [nzAddOnAfterIcon]="props['addOnAfterIcon']"
112
+ [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
113
+ [nzAddOnBefore]="addOnBefore"
114
+ [nzAddOnAfter]="addOnAfter"
115
+ [class]="props['className']"
116
+ [style]="props['style']"
117
+ [nzPrefix]="props['prefix']"
118
+ [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
119
+ [nzCompact]="!!props['compact']"
120
+ [nzSearch]="!!props['search']"
121
+ [nzSize]="props['size']!"
122
+ [nzStatus]="props['status']!"
123
+ >
124
+ <input
125
+ nz-input
126
+ type="text"
127
+ [formControl]="formControl"
128
+ [formlyAttributes]="field"
129
+ [nzBorderless]="!!props['borderless']"
130
+ (ngModelChange)="props['modelChange']?.(field, $event)"
131
+ />
132
+ </nz-input-group>
133
+ }
134
+ @default {
135
+ <input
136
+ nz-input
137
+ type="text"
138
+ [class]="props['className']"
139
+ [style]="props['style']"
140
+ [formControl]="formControl"
141
+ [formlyAttributes]="field"
142
+ [nzSize]="props['size']"
143
+ [nzStatus]="props['status']"
144
+ [nzBorderless]="!!props['borderless']"
145
+ (ngModelChange)="props['modelChange']?.(field, $event)"
146
+ />
147
+ }
148
+ }
149
+
150
+ <!-- 查看密码 -->
151
+ <ng-template #passwordEyeTpl>
152
+ <span
153
+ nz-icon
154
+ class="cursor-pointer"
155
+ [nzType]="passVisible ? 'eye-invisible' : 'eye'"
156
+ (click)="passVisible = !passVisible"
157
+ ></span>
158
+
159
+ @if (formControl.value && props['allowClear']!!) {
160
+ <span
161
+ nz-icon
162
+ class="ant-input-clear-icon"
163
+ nzTheme="fill"
164
+ nzType="close-circle"
165
+ (click)="formControl.setValue(undefined)"
166
+ ></span>
167
+ }
168
+ </ng-template>
169
+ <!-- 清除数据 -->
170
+ <ng-template #inputClearTpl>
171
+ @if (formControl.value && !props['disabled'] && !props['readonly']) {
172
+ <span
173
+ nz-icon
174
+ class="ant-input-clear-icon"
175
+ nzTheme="fill"
176
+ nzType="close-circle"
177
+ (click)="formControl.setValue(undefined)"
178
+ ></span>
179
+ }
180
+ </ng-template>
181
181
  `, isInline: true, dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i3.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i3.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "component", type: i4.NzAutocompleteComponent, selector: "nz-autocomplete", inputs: ["nzWidth", "nzOverlayClassName", "nzOverlayStyle", "nzDefaultActiveFirstOption", "nzBackfill", "compareWith", "nzDataSource"], outputs: ["selectionChange"], exportAs: ["nzAutocomplete"] }, { kind: "component", type: i4.NzAutocompleteOptionComponent, selector: "nz-auto-option", inputs: ["nzValue", "nzLabel", "nzDisabled"], outputs: ["selectionChange", "mouseEntered"], exportAs: ["nzAutoOption"] }, { kind: "directive", type: i4.NzAutocompleteTriggerDirective, selector: "input[nzAutocomplete], textarea[nzAutocomplete]", inputs: ["nzAutocomplete"], exportAs: ["nzAutocompleteTrigger"] }, { kind: "directive", type: i5.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i6.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
182
182
  }
183
183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormlyFieldInput, decorators: [{
184
184
  type: Component,
185
185
  args: [{
186
186
  selector: 'formly-field-input',
187
- template: `
188
- @switch (props.type) {
189
- @case ('password') {
190
- <nz-input-group
191
- [nzPrefixIcon]="props['prefixIcon']"
192
- [nzSuffixIcon]="props['suffixIcon']"
193
- [nzAddOnAfterIcon]="props['addOnAfterIcon']"
194
- [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
195
- [nzAddOnBefore]="addOnBefore"
196
- [nzAddOnAfter]="addOnAfter"
197
- [class]="props['className']"
198
- [style]="props['style']"
199
- [nzPrefix]="props['prefix']"
200
- [nzCompact]="!!props['compact']"
201
- [nzSearch]="!!props['search']"
202
- [nzSize]="props['size']!"
203
- [nzStatus]="props['status']!"
204
- [nzSuffix]="passwordEyeTpl"
205
- >
206
- <input
207
- [type]="passVisible ? 'text' : 'password'"
208
- nz-input
209
- [formControl]="formControl"
210
- [formlyAttributes]="field"
211
- [nzBorderless]="!!props['borderless']"
212
- (ngModelChange)="props['modelChange']?.(field, $event)"
213
- />
214
- </nz-input-group>
215
- }
216
- @case ('autoComplete') {
217
- <nz-input-group
218
- [nzSize]="props['size']"
219
- [nzPrefixIcon]="props['prefixIcon']"
220
- [nzSuffixIcon]="props['suffixIcon']"
221
- [nzAddOnAfterIcon]="props['addOnAfterIcon']"
222
- [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
223
- [nzAddOnBefore]="addOnBefore"
224
- [nzAddOnAfter]="addOnAfter"
225
- [class]="props['className']"
226
- [style]="props['style']"
227
- [nzPrefix]="props['prefix']"
228
- [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
229
- >
230
- <input
231
- nz-input
232
- [nzBorderless]="!!props['borderless']"
233
- [nzAutocomplete]="auto"
234
- [formControl]="formControl"
235
- [formlyAttributes]="field"
236
- />
237
- <nz-autocomplete
238
- [nzBackfill]="props['autocompleteOptions']?.backfill"
239
- [nzDefaultActiveFirstOption]="props['autocompleteOptions']?.defaultActiveFirstOption"
240
- [nzWidth]="props['autocompleteOptions']?.width"
241
- [nzOverlayClassName]="props['autocompleteOptions']?.overlayClassName"
242
- [nzOverlayStyle]="props['autocompleteOptions']?.overlayStyle"
243
- [compareWith]="props['autocompleteOptions']?.compareWith"
244
- #auto
245
- >
246
- @for (option of props['autocompleteOptions'].dataSource; track option) {
247
- <nz-auto-option [nzLabel]="option.label" [nzValue]="option.value" [attr.title]="option.label">
248
- {{ option.label }}
249
- </nz-auto-option>
250
- }
251
- </nz-autocomplete>
252
- </nz-input-group>
253
- }
254
- @case ('group') {
255
- <nz-input-group
256
- [nzPrefixIcon]="props['prefixIcon']"
257
- [nzSuffixIcon]="props['suffixIcon']"
258
- [nzAddOnAfterIcon]="props['addOnAfterIcon']"
259
- [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
260
- [nzAddOnBefore]="addOnBefore"
261
- [nzAddOnAfter]="addOnAfter"
262
- [class]="props['className']"
263
- [style]="props['style']"
264
- [nzPrefix]="props['prefix']"
265
- [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
266
- [nzCompact]="!!props['compact']"
267
- [nzSearch]="!!props['search']"
268
- [nzSize]="props['size']!"
269
- [nzStatus]="props['status']!"
270
- >
271
- <input
272
- nz-input
273
- type="text"
274
- [formControl]="formControl"
275
- [formlyAttributes]="field"
276
- [nzBorderless]="!!props['borderless']"
277
- (ngModelChange)="props['modelChange']?.(field, $event)"
278
- />
279
- </nz-input-group>
280
- }
281
- @default {
282
- <input
283
- nz-input
284
- type="text"
285
- [class]="props['className']"
286
- [style]="props['style']"
287
- [formControl]="formControl"
288
- [formlyAttributes]="field"
289
- [nzSize]="props['size']"
290
- [nzStatus]="props['status']"
291
- [nzBorderless]="!!props['borderless']"
292
- (ngModelChange)="props['modelChange']?.(field, $event)"
293
- />
294
- }
295
- }
296
-
297
- <!-- 查看密码 -->
298
- <ng-template #passwordEyeTpl>
299
- <span
300
- nz-icon
301
- class="cursor-pointer"
302
- [nzType]="passVisible ? 'eye-invisible' : 'eye'"
303
- (click)="passVisible = !passVisible"
304
- ></span>
305
-
306
- @if (formControl.value && props['allowClear']!!) {
307
- <span
308
- nz-icon
309
- class="ant-input-clear-icon"
310
- nzTheme="fill"
311
- nzType="close-circle"
312
- (click)="formControl.setValue(undefined)"
313
- ></span>
314
- }
315
- </ng-template>
316
- <!-- 清除数据 -->
317
- <ng-template #inputClearTpl>
318
- @if (formControl.value && !props['disabled'] && !props['readonly']) {
319
- <span
320
- nz-icon
321
- class="ant-input-clear-icon"
322
- nzTheme="fill"
323
- nzType="close-circle"
324
- (click)="formControl.setValue(undefined)"
325
- ></span>
326
- }
327
- </ng-template>
187
+ template: `
188
+ @switch (props.type) {
189
+ @case ('password') {
190
+ <nz-input-group
191
+ [nzPrefixIcon]="props['prefixIcon']"
192
+ [nzSuffixIcon]="props['suffixIcon']"
193
+ [nzAddOnAfterIcon]="props['addOnAfterIcon']"
194
+ [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
195
+ [nzAddOnBefore]="addOnBefore"
196
+ [nzAddOnAfter]="addOnAfter"
197
+ [class]="props['className']"
198
+ [style]="props['style']"
199
+ [nzPrefix]="props['prefix']"
200
+ [nzCompact]="!!props['compact']"
201
+ [nzSearch]="!!props['search']"
202
+ [nzSize]="props['size']!"
203
+ [nzStatus]="props['status']!"
204
+ [nzSuffix]="passwordEyeTpl"
205
+ >
206
+ <input
207
+ [type]="passVisible ? 'text' : 'password'"
208
+ nz-input
209
+ [formControl]="formControl"
210
+ [formlyAttributes]="field"
211
+ [nzBorderless]="!!props['borderless']"
212
+ (ngModelChange)="props['modelChange']?.(field, $event)"
213
+ />
214
+ </nz-input-group>
215
+ }
216
+ @case ('autoComplete') {
217
+ <nz-input-group
218
+ [nzSize]="props['size']"
219
+ [nzPrefixIcon]="props['prefixIcon']"
220
+ [nzSuffixIcon]="props['suffixIcon']"
221
+ [nzAddOnAfterIcon]="props['addOnAfterIcon']"
222
+ [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
223
+ [nzAddOnBefore]="addOnBefore"
224
+ [nzAddOnAfter]="addOnAfter"
225
+ [class]="props['className']"
226
+ [style]="props['style']"
227
+ [nzPrefix]="props['prefix']"
228
+ [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
229
+ >
230
+ <input
231
+ nz-input
232
+ [nzBorderless]="!!props['borderless']"
233
+ [nzAutocomplete]="auto"
234
+ [formControl]="formControl"
235
+ [formlyAttributes]="field"
236
+ />
237
+ <nz-autocomplete
238
+ [nzBackfill]="props['autocompleteOptions']?.backfill"
239
+ [nzDefaultActiveFirstOption]="props['autocompleteOptions']?.defaultActiveFirstOption"
240
+ [nzWidth]="props['autocompleteOptions']?.width"
241
+ [nzOverlayClassName]="props['autocompleteOptions']?.overlayClassName"
242
+ [nzOverlayStyle]="props['autocompleteOptions']?.overlayStyle"
243
+ [compareWith]="props['autocompleteOptions']?.compareWith"
244
+ #auto
245
+ >
246
+ @for (option of props['autocompleteOptions'].dataSource; track option) {
247
+ <nz-auto-option [nzLabel]="option.label" [nzValue]="option.value" [attr.title]="option.label">
248
+ {{ option.label }}
249
+ </nz-auto-option>
250
+ }
251
+ </nz-autocomplete>
252
+ </nz-input-group>
253
+ }
254
+ @case ('group') {
255
+ <nz-input-group
256
+ [nzPrefixIcon]="props['prefixIcon']"
257
+ [nzSuffixIcon]="props['suffixIcon']"
258
+ [nzAddOnAfterIcon]="props['addOnAfterIcon']"
259
+ [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
260
+ [nzAddOnBefore]="addOnBefore"
261
+ [nzAddOnAfter]="addOnAfter"
262
+ [class]="props['className']"
263
+ [style]="props['style']"
264
+ [nzPrefix]="props['prefix']"
265
+ [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
266
+ [nzCompact]="!!props['compact']"
267
+ [nzSearch]="!!props['search']"
268
+ [nzSize]="props['size']!"
269
+ [nzStatus]="props['status']!"
270
+ >
271
+ <input
272
+ nz-input
273
+ type="text"
274
+ [formControl]="formControl"
275
+ [formlyAttributes]="field"
276
+ [nzBorderless]="!!props['borderless']"
277
+ (ngModelChange)="props['modelChange']?.(field, $event)"
278
+ />
279
+ </nz-input-group>
280
+ }
281
+ @default {
282
+ <input
283
+ nz-input
284
+ type="text"
285
+ [class]="props['className']"
286
+ [style]="props['style']"
287
+ [formControl]="formControl"
288
+ [formlyAttributes]="field"
289
+ [nzSize]="props['size']"
290
+ [nzStatus]="props['status']"
291
+ [nzBorderless]="!!props['borderless']"
292
+ (ngModelChange)="props['modelChange']?.(field, $event)"
293
+ />
294
+ }
295
+ }
296
+
297
+ <!-- 查看密码 -->
298
+ <ng-template #passwordEyeTpl>
299
+ <span
300
+ nz-icon
301
+ class="cursor-pointer"
302
+ [nzType]="passVisible ? 'eye-invisible' : 'eye'"
303
+ (click)="passVisible = !passVisible"
304
+ ></span>
305
+
306
+ @if (formControl.value && props['allowClear']!!) {
307
+ <span
308
+ nz-icon
309
+ class="ant-input-clear-icon"
310
+ nzTheme="fill"
311
+ nzType="close-circle"
312
+ (click)="formControl.setValue(undefined)"
313
+ ></span>
314
+ }
315
+ </ng-template>
316
+ <!-- 清除数据 -->
317
+ <ng-template #inputClearTpl>
318
+ @if (formControl.value && !props['disabled'] && !props['readonly']) {
319
+ <span
320
+ nz-icon
321
+ class="ant-input-clear-icon"
322
+ nzTheme="fill"
323
+ nzType="close-circle"
324
+ (click)="formControl.setValue(undefined)"
325
+ ></span>
326
+ }
327
+ </ng-template>
328
328
  `,
329
329
  changeDetection: ChangeDetectionStrategy.OnPush,
330
330
  standalone: false
@@ -332,4 +332,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
332
332
  }], ctorParameters: () => [{ type: i1.FormlyBoxTemplates, decorators: [{
333
333
  type: Optional
334
334
  }] }] });
335
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zvcm1seWFudGQvaW5wdXQvc3JjL2lucHV0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7O0FBT2xGOztHQUVHO0FBb0pILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxTQUEwQjtJQWdCOUQsWUFBK0IsY0FBa0M7UUFDL0QsS0FBSyxFQUFFLENBQUM7UUFEcUIsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBZnhELG1CQUFjLEdBQUc7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixPQUFPLEVBQUUsS0FBSztnQkFDZCxNQUFNLEVBQUUsS0FBSztnQkFDYixVQUFVLEVBQUUsS0FBSztnQkFDakIsbUJBQW1CLEVBQUU7b0JBQ25CLFFBQVEsRUFBRSxLQUFLO29CQUNmLHdCQUF3QixFQUFFLElBQUk7b0JBQzlCLFdBQVcsRUFBRSxDQUFDLEVBQWEsRUFBRSxFQUFhLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO2lCQUN6RDthQUNGO1NBQ0YsQ0FBQztRQUNGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBSXBCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDOytHQTFCVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixpRkFqSmpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2SVQ7OzRGQUlVLGdCQUFnQjtrQkFuSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2SVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7MEJBaUJjLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9wdGlvbmFsLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZpZWxkVHlwZUNvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xyXG5pbXBvcnQgdHlwZSB7IE56Rm9ybWx5RmllbGRDb25maWcgfSBmcm9tICduZ3gtZm9ybWx5LXpvcnJvLWFudGQvY29tbW9uJztcclxuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xyXG5pbXBvcnQgeyBGb3JtbHlCb3hUZW1wbGF0ZXMsIHJlc29sdmVUcGxOYW1lIH0gZnJvbSAnbmd4LWZvcm1seS16b3Jyby1hbnRkL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgdHlwZSB7IElucHV0UHJvcHMgfSBmcm9tICcuL2lucHV0LnByb3BzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5SW5wdXRGaWVsZENvbmZpZyBleHRlbmRzIE56Rm9ybWx5RmllbGRDb25maWc8SW5wdXRQcm9wcz4ge1xyXG4gIHR5cGU6ICdpbnB1dCcgfCAnc3RyaW5nJyB8ICdwYXNzd29yZCcgfCBUeXBlPEZvcm1seUZpZWxkSW5wdXQ+O1xyXG59XHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmb3JtbHktZmllbGQtaW5wdXQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICBAc3dpdGNoIChwcm9wcy50eXBlKSB7XHJcbiAgICAgIEBjYXNlICgncGFzc3dvcmQnKSB7XHJcbiAgICAgICAgPG56LWlucHV0LWdyb3VwXHJcbiAgICAgICAgICBbbnpQcmVmaXhJY29uXT1cInByb3BzWydwcmVmaXhJY29uJ11cIlxyXG4gICAgICAgICAgW256U3VmZml4SWNvbl09XCJwcm9wc1snc3VmZml4SWNvbiddXCJcclxuICAgICAgICAgIFtuekFkZE9uQWZ0ZXJJY29uXT1cInByb3BzWydhZGRPbkFmdGVySWNvbiddXCJcclxuICAgICAgICAgIFtuekFkZE9uQmVmb3JlSWNvbl09XCJwcm9wc1snYWRkT25CZWZvcmVJY29uJ11cIlxyXG4gICAgICAgICAgW256QWRkT25CZWZvcmVdPVwiYWRkT25CZWZvcmVcIlxyXG4gICAgICAgICAgW256QWRkT25BZnRlcl09XCJhZGRPbkFmdGVyXCJcclxuICAgICAgICAgIFtjbGFzc109XCJwcm9wc1snY2xhc3NOYW1lJ11cIlxyXG4gICAgICAgICAgW3N0eWxlXT1cInByb3BzWydzdHlsZSddXCJcclxuICAgICAgICAgIFtuelByZWZpeF09XCJwcm9wc1sncHJlZml4J11cIlxyXG4gICAgICAgICAgW256Q29tcGFjdF09XCIhIXByb3BzWydjb21wYWN0J11cIlxyXG4gICAgICAgICAgW256U2VhcmNoXT1cIiEhcHJvcHNbJ3NlYXJjaCddXCJcclxuICAgICAgICAgIFtuelNpemVdPVwicHJvcHNbJ3NpemUnXSFcIlxyXG4gICAgICAgICAgW256U3RhdHVzXT1cInByb3BzWydzdGF0dXMnXSFcIlxyXG4gICAgICAgICAgW256U3VmZml4XT1cInBhc3N3b3JkRXllVHBsXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgW3R5cGVdPVwicGFzc1Zpc2libGUgPyAndGV4dCcgOiAncGFzc3dvcmQnXCJcclxuICAgICAgICAgICAgbnotaW5wdXRcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxyXG4gICAgICAgICAgICBbbnpCb3JkZXJsZXNzXT1cIiEhcHJvcHNbJ2JvcmRlcmxlc3MnXVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BzWydtb2RlbENoYW5nZSddPy4oZmllbGQsICRldmVudClcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L256LWlucHV0LWdyb3VwPlxyXG4gICAgICB9XHJcbiAgICAgIEBjYXNlICgnYXV0b0NvbXBsZXRlJykge1xyXG4gICAgICAgIDxuei1pbnB1dC1ncm91cFxyXG4gICAgICAgICAgW256U2l6ZV09XCJwcm9wc1snc2l6ZSddXCJcclxuICAgICAgICAgIFtuelByZWZpeEljb25dPVwicHJvcHNbJ3ByZWZpeEljb24nXVwiXHJcbiAgICAgICAgICBbbnpTdWZmaXhJY29uXT1cInByb3BzWydzdWZmaXhJY29uJ11cIlxyXG4gICAgICAgICAgW256QWRkT25BZnRlckljb25dPVwicHJvcHNbJ2FkZE9uQWZ0ZXJJY29uJ11cIlxyXG4gICAgICAgICAgW256QWRkT25CZWZvcmVJY29uXT1cInByb3BzWydhZGRPbkJlZm9yZUljb24nXVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkJlZm9yZV09XCJhZGRPbkJlZm9yZVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkFmdGVyXT1cImFkZE9uQWZ0ZXJcIlxyXG4gICAgICAgICAgW2NsYXNzXT1cInByb3BzWydjbGFzc05hbWUnXVwiXHJcbiAgICAgICAgICBbc3R5bGVdPVwicHJvcHNbJ3N0eWxlJ11cIlxyXG4gICAgICAgICAgW256UHJlZml4XT1cInByb3BzWydwcmVmaXgnXVwiXHJcbiAgICAgICAgICBbbnpTdWZmaXhdPVwicHJvcHNbJ2FsbG93Q2xlYXInXSA/IGlucHV0Q2xlYXJUcGwgOiBwcm9wc1snc3VmZml4J11cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBuei1pbnB1dFxyXG4gICAgICAgICAgICBbbnpCb3JkZXJsZXNzXT1cIiEhcHJvcHNbJ2JvcmRlcmxlc3MnXVwiXHJcbiAgICAgICAgICAgIFtuekF1dG9jb21wbGV0ZV09XCJhdXRvXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxuei1hdXRvY29tcGxldGVcclxuICAgICAgICAgICAgW256QmFja2ZpbGxdPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8uYmFja2ZpbGxcIlxyXG4gICAgICAgICAgICBbbnpEZWZhdWx0QWN0aXZlRmlyc3RPcHRpb25dPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8uZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uXCJcclxuICAgICAgICAgICAgW256V2lkdGhdPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8ud2lkdGhcIlxyXG4gICAgICAgICAgICBbbnpPdmVybGF5Q2xhc3NOYW1lXT1cInByb3BzWydhdXRvY29tcGxldGVPcHRpb25zJ10/Lm92ZXJsYXlDbGFzc05hbWVcIlxyXG4gICAgICAgICAgICBbbnpPdmVybGF5U3R5bGVdPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8ub3ZlcmxheVN0eWxlXCJcclxuICAgICAgICAgICAgW2NvbXBhcmVXaXRoXT1cInByb3BzWydhdXRvY29tcGxldGVPcHRpb25zJ10/LmNvbXBhcmVXaXRoXCJcclxuICAgICAgICAgICAgI2F1dG9cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIHByb3BzWydhdXRvY29tcGxldGVPcHRpb25zJ10uZGF0YVNvdXJjZTsgdHJhY2sgb3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgPG56LWF1dG8tb3B0aW9uIFtuekxhYmVsXT1cIm9wdGlvbi5sYWJlbFwiIFtuelZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiIFthdHRyLnRpdGxlXT1cIm9wdGlvbi5sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XHJcbiAgICAgICAgICAgICAgPC9uei1hdXRvLW9wdGlvbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9uei1hdXRvY29tcGxldGU+XHJcbiAgICAgICAgPC9uei1pbnB1dC1ncm91cD5cclxuICAgICAgfVxyXG4gICAgICBAY2FzZSAoJ2dyb3VwJykge1xyXG4gICAgICAgIDxuei1pbnB1dC1ncm91cFxyXG4gICAgICAgICAgW256UHJlZml4SWNvbl09XCJwcm9wc1sncHJlZml4SWNvbiddXCJcclxuICAgICAgICAgIFtuelN1ZmZpeEljb25dPVwicHJvcHNbJ3N1ZmZpeEljb24nXVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkFmdGVySWNvbl09XCJwcm9wc1snYWRkT25BZnRlckljb24nXVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkJlZm9yZUljb25dPVwicHJvcHNbJ2FkZE9uQmVmb3JlSWNvbiddXCJcclxuICAgICAgICAgIFtuekFkZE9uQmVmb3JlXT1cImFkZE9uQmVmb3JlXCJcclxuICAgICAgICAgIFtuekFkZE9uQWZ0ZXJdPVwiYWRkT25BZnRlclwiXHJcbiAgICAgICAgICBbY2xhc3NdPVwicHJvcHNbJ2NsYXNzTmFtZSddXCJcclxuICAgICAgICAgIFtzdHlsZV09XCJwcm9wc1snc3R5bGUnXVwiXHJcbiAgICAgICAgICBbbnpQcmVmaXhdPVwicHJvcHNbJ3ByZWZpeCddXCJcclxuICAgICAgICAgIFtuelN1ZmZpeF09XCJwcm9wc1snYWxsb3dDbGVhciddID8gaW5wdXRDbGVhclRwbCA6IHByb3BzWydzdWZmaXgnXVwiXHJcbiAgICAgICAgICBbbnpDb21wYWN0XT1cIiEhcHJvcHNbJ2NvbXBhY3QnXVwiXHJcbiAgICAgICAgICBbbnpTZWFyY2hdPVwiISFwcm9wc1snc2VhcmNoJ11cIlxyXG4gICAgICAgICAgW256U2l6ZV09XCJwcm9wc1snc2l6ZSddIVwiXHJcbiAgICAgICAgICBbbnpTdGF0dXNdPVwicHJvcHNbJ3N0YXR1cyddIVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIG56LWlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxyXG4gICAgICAgICAgICBbbnpCb3JkZXJsZXNzXT1cIiEhcHJvcHNbJ2JvcmRlcmxlc3MnXVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BzWydtb2RlbENoYW5nZSddPy4oZmllbGQsICRldmVudClcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L256LWlucHV0LWdyb3VwPlxyXG4gICAgICB9XHJcbiAgICAgIEBkZWZhdWx0IHtcclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG56LWlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBbY2xhc3NdPVwicHJvcHNbJ2NsYXNzTmFtZSddXCJcclxuICAgICAgICAgIFtzdHlsZV09XCJwcm9wc1snc3R5bGUnXVwiXHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG4gICAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxyXG4gICAgICAgICAgW256U2l6ZV09XCJwcm9wc1snc2l6ZSddXCJcclxuICAgICAgICAgIFtuelN0YXR1c109XCJwcm9wc1snc3RhdHVzJ11cIlxyXG4gICAgICAgICAgW256Qm9yZGVybGVzc109XCIhIXByb3BzWydib3JkZXJsZXNzJ11cIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcHNbJ21vZGVsQ2hhbmdlJ10/LihmaWVsZCwgJGV2ZW50KVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIDwhLS0g5p+l55yL5a+G56CBIC0tPlxyXG4gICAgPG5nLXRlbXBsYXRlICNwYXNzd29yZEV5ZVRwbD5cclxuICAgICAgPHNwYW5cclxuICAgICAgICBuei1pY29uXHJcbiAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgW256VHlwZV09XCJwYXNzVmlzaWJsZSA/ICdleWUtaW52aXNpYmxlJyA6ICdleWUnXCJcclxuICAgICAgICAoY2xpY2spPVwicGFzc1Zpc2libGUgPSAhcGFzc1Zpc2libGVcIlxyXG4gICAgICA+PC9zcGFuPlxyXG5cclxuICAgICAgQGlmIChmb3JtQ29udHJvbC52YWx1ZSAmJiBwcm9wc1snYWxsb3dDbGVhciddISEpIHtcclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgbnotaWNvblxyXG4gICAgICAgICAgY2xhc3M9XCJhbnQtaW5wdXQtY2xlYXItaWNvblwiXHJcbiAgICAgICAgICBuelRoZW1lPVwiZmlsbFwiXHJcbiAgICAgICAgICBuelR5cGU9XCJjbG9zZS1jaXJjbGVcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImZvcm1Db250cm9sLnNldFZhbHVlKHVuZGVmaW5lZClcIlxyXG4gICAgICAgID48L3NwYW4+XHJcbiAgICAgIH1cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8IS0tIOa4hemZpOaVsOaNriAtLT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjaW5wdXRDbGVhclRwbD5cclxuICAgICAgQGlmIChmb3JtQ29udHJvbC52YWx1ZSAmJiAhcHJvcHNbJ2Rpc2FibGVkJ10gJiYgIXByb3BzWydyZWFkb25seSddKSB7XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgIG56LWljb25cclxuICAgICAgICAgIGNsYXNzPVwiYW50LWlucHV0LWNsZWFyLWljb25cIlxyXG4gICAgICAgICAgbnpUaGVtZT1cImZpbGxcIlxyXG4gICAgICAgICAgbnpUeXBlPVwiY2xvc2UtY2lyY2xlXCJcclxuICAgICAgICAgIChjbGljayk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSh1bmRlZmluZWQpXCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkSW5wdXQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPiB7XHJcbiAgb3ZlcnJpZGUgZGVmYXVsdE9wdGlvbnMgPSB7XHJcbiAgICBwcm9wczoge1xyXG4gICAgICBib3JkZXJsZXNzOiBmYWxzZSxcclxuICAgICAgY29tcGFjdDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaDogZmFsc2UsXHJcbiAgICAgIGFsbG93Q2xlYXI6IGZhbHNlLFxyXG4gICAgICBhdXRvY29tcGxldGVPcHRpb25zOiB7XHJcbiAgICAgICAgYmFja2ZpbGw6IGZhbHNlLFxyXG4gICAgICAgIGRlZmF1bHRBY3RpdmVGaXJzdE9wdGlvbjogdHJ1ZSxcclxuICAgICAgICBjb21wYXJlV2l0aDogKG8xOiBOelNhZmVBbnksIG8yOiBOelNhZmVBbnkpID0+IG8xID09PSBvMlxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuICBwYXNzVmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgZmllbGRUZW1wbGF0ZXM6IEZvcm1seUJveFRlbXBsYXRlcykge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRPbkJlZm9yZSgpIHtcclxuICAgIHJldHVybiByZXNvbHZlVHBsTmFtZSh0aGlzLnByb3BzLCB0aGlzLmZpZWxkVGVtcGxhdGVzLCAnYWRkT25CZWZvcmUnKTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRPbkFmdGVyKCkge1xyXG4gICAgcmV0dXJuIHJlc29sdmVUcGxOYW1lKHRoaXMucHJvcHMsIHRoaXMuZmllbGRUZW1wbGF0ZXMsICdhZGRPbkFmdGVyJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
335
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zvcm1seWFudGQvaW5wdXQvc3JjL2lucHV0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7O0FBT2xGOztHQUVHO0FBb0pILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxTQUEwQjtJQWdCOUQsWUFBK0IsY0FBa0M7UUFDL0QsS0FBSyxFQUFFLENBQUM7UUFEcUIsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBZnhELG1CQUFjLEdBQUc7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixPQUFPLEVBQUUsS0FBSztnQkFDZCxNQUFNLEVBQUUsS0FBSztnQkFDYixVQUFVLEVBQUUsS0FBSztnQkFDakIsbUJBQW1CLEVBQUU7b0JBQ25CLFFBQVEsRUFBRSxLQUFLO29CQUNmLHdCQUF3QixFQUFFLElBQUk7b0JBQzlCLFdBQVcsRUFBRSxDQUFDLEVBQWEsRUFBRSxFQUFhLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO2lCQUN6RDthQUNGO1NBQ0YsQ0FBQztRQUNGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBSXBCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDOytHQTFCVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixpRkFqSmpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2SVQ7OzRGQUlVLGdCQUFnQjtrQkFuSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2SVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7MEJBaUJjLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9wdGlvbmFsLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlLCBGaWVsZFR5cGVDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB0eXBlIHsgTnpGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ25neC1mb3JtbHktem9ycm8tYW50ZC9jb21tb24nO1xuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgRm9ybWx5Qm94VGVtcGxhdGVzLCByZXNvbHZlVHBsTmFtZSB9IGZyb20gJ25neC1mb3JtbHktem9ycm8tYW50ZC9jb21tb24nO1xuXG5pbXBvcnQgdHlwZSB7IElucHV0UHJvcHMgfSBmcm9tICcuL2lucHV0LnByb3BzJztcblxuZXhwb3J0IGludGVyZmFjZSBGb3JtbHlJbnB1dEZpZWxkQ29uZmlnIGV4dGVuZHMgTnpGb3JtbHlGaWVsZENvbmZpZzxJbnB1dFByb3BzPiB7XG4gIHR5cGU6ICdpbnB1dCcgfCAnc3RyaW5nJyB8ICdwYXNzd29yZCcgfCBUeXBlPEZvcm1seUZpZWxkSW5wdXQ+O1xufVxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtbHktZmllbGQtaW5wdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBzd2l0Y2ggKHByb3BzLnR5cGUpIHtcbiAgICAgIEBjYXNlICgncGFzc3dvcmQnKSB7XG4gICAgICAgIDxuei1pbnB1dC1ncm91cFxuICAgICAgICAgIFtuelByZWZpeEljb25dPVwicHJvcHNbJ3ByZWZpeEljb24nXVwiXG4gICAgICAgICAgW256U3VmZml4SWNvbl09XCJwcm9wc1snc3VmZml4SWNvbiddXCJcbiAgICAgICAgICBbbnpBZGRPbkFmdGVySWNvbl09XCJwcm9wc1snYWRkT25BZnRlckljb24nXVwiXG4gICAgICAgICAgW256QWRkT25CZWZvcmVJY29uXT1cInByb3BzWydhZGRPbkJlZm9yZUljb24nXVwiXG4gICAgICAgICAgW256QWRkT25CZWZvcmVdPVwiYWRkT25CZWZvcmVcIlxuICAgICAgICAgIFtuekFkZE9uQWZ0ZXJdPVwiYWRkT25BZnRlclwiXG4gICAgICAgICAgW2NsYXNzXT1cInByb3BzWydjbGFzc05hbWUnXVwiXG4gICAgICAgICAgW3N0eWxlXT1cInByb3BzWydzdHlsZSddXCJcbiAgICAgICAgICBbbnpQcmVmaXhdPVwicHJvcHNbJ3ByZWZpeCddXCJcbiAgICAgICAgICBbbnpDb21wYWN0XT1cIiEhcHJvcHNbJ2NvbXBhY3QnXVwiXG4gICAgICAgICAgW256U2VhcmNoXT1cIiEhcHJvcHNbJ3NlYXJjaCddXCJcbiAgICAgICAgICBbbnpTaXplXT1cInByb3BzWydzaXplJ10hXCJcbiAgICAgICAgICBbbnpTdGF0dXNdPVwicHJvcHNbJ3N0YXR1cyddIVwiXG4gICAgICAgICAgW256U3VmZml4XT1cInBhc3N3b3JkRXllVHBsXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgW3R5cGVdPVwicGFzc1Zpc2libGUgPyAndGV4dCcgOiAncGFzc3dvcmQnXCJcbiAgICAgICAgICAgIG56LWlucHV0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgICAgICAgICAgW256Qm9yZGVybGVzc109XCIhIXByb3BzWydib3JkZXJsZXNzJ11cIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcHNbJ21vZGVsQ2hhbmdlJ10/LihmaWVsZCwgJGV2ZW50KVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9uei1pbnB1dC1ncm91cD5cbiAgICAgIH1cbiAgICAgIEBjYXNlICgnYXV0b0NvbXBsZXRlJykge1xuICAgICAgICA8bnotaW5wdXQtZ3JvdXBcbiAgICAgICAgICBbbnpTaXplXT1cInByb3BzWydzaXplJ11cIlxuICAgICAgICAgIFtuelByZWZpeEljb25dPVwicHJvcHNbJ3ByZWZpeEljb24nXVwiXG4gICAgICAgICAgW256U3VmZml4SWNvbl09XCJwcm9wc1snc3VmZml4SWNvbiddXCJcbiAgICAgICAgICBbbnpBZGRPbkFmdGVySWNvbl09XCJwcm9wc1snYWRkT25BZnRlckljb24nXVwiXG4gICAgICAgICAgW256QWRkT25CZWZvcmVJY29uXT1cInByb3BzWydhZGRPbkJlZm9yZUljb24nXVwiXG4gICAgICAgICAgW256QWRkT25CZWZvcmVdPVwiYWRkT25CZWZvcmVcIlxuICAgICAgICAgIFtuekFkZE9uQWZ0ZXJdPVwiYWRkT25BZnRlclwiXG4gICAgICAgICAgW2NsYXNzXT1cInByb3BzWydjbGFzc05hbWUnXVwiXG4gICAgICAgICAgW3N0eWxlXT1cInByb3BzWydzdHlsZSddXCJcbiAgICAgICAgICBbbnpQcmVmaXhdPVwicHJvcHNbJ3ByZWZpeCddXCJcbiAgICAgICAgICBbbnpTdWZmaXhdPVwicHJvcHNbJ2FsbG93Q2xlYXInXSA/IGlucHV0Q2xlYXJUcGwgOiBwcm9wc1snc3VmZml4J11cIlxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBuei1pbnB1dFxuICAgICAgICAgICAgW256Qm9yZGVybGVzc109XCIhIXByb3BzWydib3JkZXJsZXNzJ11cIlxuICAgICAgICAgICAgW256QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxuei1hdXRvY29tcGxldGVcbiAgICAgICAgICAgIFtuekJhY2tmaWxsXT1cInByb3BzWydhdXRvY29tcGxldGVPcHRpb25zJ10/LmJhY2tmaWxsXCJcbiAgICAgICAgICAgIFtuekRlZmF1bHRBY3RpdmVGaXJzdE9wdGlvbl09XCJwcm9wc1snYXV0b2NvbXBsZXRlT3B0aW9ucyddPy5kZWZhdWx0QWN0aXZlRmlyc3RPcHRpb25cIlxuICAgICAgICAgICAgW256V2lkdGhdPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8ud2lkdGhcIlxuICAgICAgICAgICAgW256T3ZlcmxheUNsYXNzTmFtZV09XCJwcm9wc1snYXV0b2NvbXBsZXRlT3B0aW9ucyddPy5vdmVybGF5Q2xhc3NOYW1lXCJcbiAgICAgICAgICAgIFtuek92ZXJsYXlTdHlsZV09XCJwcm9wc1snYXV0b2NvbXBsZXRlT3B0aW9ucyddPy5vdmVybGF5U3R5bGVcIlxuICAgICAgICAgICAgW2NvbXBhcmVXaXRoXT1cInByb3BzWydhdXRvY29tcGxldGVPcHRpb25zJ10/LmNvbXBhcmVXaXRoXCJcbiAgICAgICAgICAgICNhdXRvXG4gICAgICAgICAgPlxuICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIHByb3BzWydhdXRvY29tcGxldGVPcHRpb25zJ10uZGF0YVNvdXJjZTsgdHJhY2sgb3B0aW9uKSB7XG4gICAgICAgICAgICAgIDxuei1hdXRvLW9wdGlvbiBbbnpMYWJlbF09XCJvcHRpb24ubGFiZWxcIiBbbnpWYWx1ZV09XCJvcHRpb24udmFsdWVcIiBbYXR0ci50aXRsZV09XCJvcHRpb24ubGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9uei1hdXRvLW9wdGlvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L256LWF1dG9jb21wbGV0ZT5cbiAgICAgICAgPC9uei1pbnB1dC1ncm91cD5cbiAgICAgIH1cbiAgICAgIEBjYXNlICgnZ3JvdXAnKSB7XG4gICAgICAgIDxuei1pbnB1dC1ncm91cFxuICAgICAgICAgIFtuelByZWZpeEljb25dPVwicHJvcHNbJ3ByZWZpeEljb24nXVwiXG4gICAgICAgICAgW256U3VmZml4SWNvbl09XCJwcm9wc1snc3VmZml4SWNvbiddXCJcbiAgICAgICAgICBbbnpBZGRPbkFmdGVySWNvbl09XCJwcm9wc1snYWRkT25BZnRlckljb24nXVwiXG4gICAgICAgICAgW256QWRkT25CZWZvcmVJY29uXT1cInByb3BzWydhZGRPbkJlZm9yZUljb24nXVwiXG4gICAgICAgICAgW256QWRkT25CZWZvcmVdPVwiYWRkT25CZWZvcmVcIlxuICAgICAgICAgIFtuekFkZE9uQWZ0ZXJdPVwiYWRkT25BZnRlclwiXG4gICAgICAgICAgW2NsYXNzXT1cInByb3BzWydjbGFzc05hbWUnXVwiXG4gICAgICAgICAgW3N0eWxlXT1cInByb3BzWydzdHlsZSddXCJcbiAgICAgICAgICBbbnpQcmVmaXhdPVwicHJvcHNbJ3ByZWZpeCddXCJcbiAgICAgICAgICBbbnpTdWZmaXhdPVwicHJvcHNbJ2FsbG93Q2xlYXInXSA/IGlucHV0Q2xlYXJUcGwgOiBwcm9wc1snc3VmZml4J11cIlxuICAgICAgICAgIFtuekNvbXBhY3RdPVwiISFwcm9wc1snY29tcGFjdCddXCJcbiAgICAgICAgICBbbnpTZWFyY2hdPVwiISFwcm9wc1snc2VhcmNoJ11cIlxuICAgICAgICAgIFtuelNpemVdPVwicHJvcHNbJ3NpemUnXSFcIlxuICAgICAgICAgIFtuelN0YXR1c109XCJwcm9wc1snc3RhdHVzJ10hXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbnotaW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgICAgICBbZm9ybWx5QXR0cmlidXRlc109XCJmaWVsZFwiXG4gICAgICAgICAgICBbbnpCb3JkZXJsZXNzXT1cIiEhcHJvcHNbJ2JvcmRlcmxlc3MnXVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwcm9wc1snbW9kZWxDaGFuZ2UnXT8uKGZpZWxkLCAkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L256LWlucHV0LWdyb3VwPlxuICAgICAgfVxuICAgICAgQGRlZmF1bHQge1xuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBuei1pbnB1dFxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBbY2xhc3NdPVwicHJvcHNbJ2NsYXNzTmFtZSddXCJcbiAgICAgICAgICBbc3R5bGVdPVwicHJvcHNbJ3N0eWxlJ11cIlxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgICAgICAgIFtuelNpemVdPVwicHJvcHNbJ3NpemUnXVwiXG4gICAgICAgICAgW256U3RhdHVzXT1cInByb3BzWydzdGF0dXMnXVwiXG4gICAgICAgICAgW256Qm9yZGVybGVzc109XCIhIXByb3BzWydib3JkZXJsZXNzJ11cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BzWydtb2RlbENoYW5nZSddPy4oZmllbGQsICRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgfVxuICAgIH1cblxuICAgIDwhLS0g5p+l55yL5a+G56CBIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSAjcGFzc3dvcmRFeWVUcGw+XG4gICAgICA8c3BhblxuICAgICAgICBuei1pY29uXG4gICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICBbbnpUeXBlXT1cInBhc3NWaXNpYmxlID8gJ2V5ZS1pbnZpc2libGUnIDogJ2V5ZSdcIlxuICAgICAgICAoY2xpY2spPVwicGFzc1Zpc2libGUgPSAhcGFzc1Zpc2libGVcIlxuICAgICAgPjwvc3Bhbj5cblxuICAgICAgQGlmIChmb3JtQ29udHJvbC52YWx1ZSAmJiBwcm9wc1snYWxsb3dDbGVhciddISEpIHtcbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBuei1pY29uXG4gICAgICAgICAgY2xhc3M9XCJhbnQtaW5wdXQtY2xlYXItaWNvblwiXG4gICAgICAgICAgbnpUaGVtZT1cImZpbGxcIlxuICAgICAgICAgIG56VHlwZT1cImNsb3NlLWNpcmNsZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImZvcm1Db250cm9sLnNldFZhbHVlKHVuZGVmaW5lZClcIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPCEtLSDmuIXpmaTmlbDmja4gLS0+XG4gICAgPG5nLXRlbXBsYXRlICNpbnB1dENsZWFyVHBsPlxuICAgICAgQGlmIChmb3JtQ29udHJvbC52YWx1ZSAmJiAhcHJvcHNbJ2Rpc2FibGVkJ10gJiYgIXByb3BzWydyZWFkb25seSddKSB7XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgbnotaWNvblxuICAgICAgICAgIGNsYXNzPVwiYW50LWlucHV0LWNsZWFyLWljb25cIlxuICAgICAgICAgIG56VGhlbWU9XCJmaWxsXCJcbiAgICAgICAgICBuelR5cGU9XCJjbG9zZS1jaXJjbGVcIlxuICAgICAgICAgIChjbGljayk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSh1bmRlZmluZWQpXCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGRJbnB1dCBleHRlbmRzIEZpZWxkVHlwZTxGaWVsZFR5cGVDb25maWc+IHtcbiAgb3ZlcnJpZGUgZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgcHJvcHM6IHtcbiAgICAgIGJvcmRlcmxlc3M6IGZhbHNlLFxuICAgICAgY29tcGFjdDogZmFsc2UsXG4gICAgICBzZWFyY2g6IGZhbHNlLFxuICAgICAgYWxsb3dDbGVhcjogZmFsc2UsXG4gICAgICBhdXRvY29tcGxldGVPcHRpb25zOiB7XG4gICAgICAgIGJhY2tmaWxsOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uOiB0cnVlLFxuICAgICAgICBjb21wYXJlV2l0aDogKG8xOiBOelNhZmVBbnksIG8yOiBOelNhZmVBbnkpID0+IG8xID09PSBvMlxuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgcGFzc1Zpc2libGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgZmllbGRUZW1wbGF0ZXM6IEZvcm1seUJveFRlbXBsYXRlcykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXQgYWRkT25CZWZvcmUoKSB7XG4gICAgcmV0dXJuIHJlc29sdmVUcGxOYW1lKHRoaXMucHJvcHMsIHRoaXMuZmllbGRUZW1wbGF0ZXMsICdhZGRPbkJlZm9yZScpO1xuICB9XG5cbiAgZ2V0IGFkZE9uQWZ0ZXIoKSB7XG4gICAgcmV0dXJuIHJlc29sdmVUcGxOYW1lKHRoaXMucHJvcHMsIHRoaXMuZmllbGRUZW1wbGF0ZXMsICdhZGRPbkFmdGVyJyk7XG4gIH1cbn1cbiJdfQ==