rd-outer-component 0.0.95 → 0.0.97

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 (76) hide show
  1. package/esm2020/lib/modules/custom-checkbox/custom-checkbox.component.mjs +26 -19
  2. package/esm2020/lib/modules/custom-date/custom-date.component.mjs +141 -18
  3. package/esm2020/lib/modules/custom-date/custom-date.module.mjs +19 -4
  4. package/esm2020/lib/modules/custom-filter/custom-filter.component.mjs +2 -2
  5. package/esm2020/lib/modules/custom-input/custom-input.component.mjs +68 -34
  6. package/esm2020/lib/modules/custom-input-amount/custom-input-amount.component.mjs +28 -29
  7. package/esm2020/lib/modules/custom-radio/custom-radio.component.mjs +82 -16
  8. package/esm2020/lib/modules/custom-select/index.mjs +5 -3
  9. package/esm2020/lib/modules/custom-select/industry-cascader/industry-cascader.component.mjs +361 -0
  10. package/esm2020/lib/modules/custom-select/industry-cascader/industry-cascader.module.mjs +60 -0
  11. package/esm2020/lib/modules/custom-select/pure-select-token/pure-select-token.component.mjs +3 -3
  12. package/esm2020/lib/modules/custom-select/rd-select.component.mjs +432 -0
  13. package/esm2020/lib/modules/custom-select/rd-select.module.mjs +67 -0
  14. package/esm2020/lib/modules/custom-textarea/custom-textarea.component.mjs +2 -2
  15. package/esm2020/lib/modules/form-item/form-item.component.mjs +20 -3
  16. package/esm2020/lib/modules/rd-button/index.mjs +3 -0
  17. package/esm2020/lib/modules/rd-button/rd-button.component.mjs +133 -0
  18. package/esm2020/lib/modules/rd-button/rd-button.module.mjs +20 -0
  19. package/esm2020/lib/modules/rd-loading/OPLoading.json +1 -0
  20. package/esm2020/lib/modules/rd-loading/index.mjs +3 -0
  21. package/esm2020/lib/modules/rd-loading/rd-loading.component.mjs +178 -0
  22. package/esm2020/lib/modules/rd-loading/rd-loading.module.mjs +20 -0
  23. package/esm2020/lib/modules/rd-phone/index.mjs +3 -0
  24. package/esm2020/lib/modules/rd-phone/rd-phone.component.mjs +71 -0
  25. package/esm2020/lib/modules/rd-phone/rd-phone.module.mjs +36 -0
  26. package/esm2020/lib/modules/rd-remark-history/index.mjs +3 -0
  27. package/esm2020/lib/modules/rd-remark-history/rd-remark-history.component.mjs +24 -0
  28. package/esm2020/lib/modules/rd-remark-history/rd-remark-history.module.mjs +19 -0
  29. package/esm2020/lib/modules/rd-select-value/index.mjs +3 -0
  30. package/esm2020/lib/modules/rd-select-value/rd-select-value.component.mjs +136 -0
  31. package/esm2020/lib/modules/rd-select-value/rd-select-value.module.mjs +36 -0
  32. package/esm2020/lib/modules/rd-switch/index.mjs +3 -0
  33. package/esm2020/lib/modules/rd-switch/rd-switch.component.mjs +146 -0
  34. package/esm2020/lib/modules/rd-switch/rd-switch.module.mjs +39 -0
  35. package/esm2020/public-api.mjs +7 -1
  36. package/fesm2015/rd-outer-component.mjs +3990 -249
  37. package/fesm2015/rd-outer-component.mjs.map +1 -1
  38. package/fesm2020/rd-outer-component.mjs +3994 -258
  39. package/fesm2020/rd-outer-component.mjs.map +1 -1
  40. package/lib/modules/custom-checkbox/custom-checkbox.component.d.ts +7 -3
  41. package/lib/modules/custom-date/custom-date.component.d.ts +30 -6
  42. package/lib/modules/custom-date/custom-date.module.d.ts +2 -1
  43. package/lib/modules/custom-input/custom-input.component.d.ts +12 -3
  44. package/lib/modules/custom-input-amount/custom-input-amount.component.d.ts +5 -5
  45. package/lib/modules/custom-radio/custom-radio.component.d.ts +21 -7
  46. package/lib/modules/custom-select/index.d.ts +4 -2
  47. package/lib/modules/custom-select/industry-cascader/industry-cascader.component.d.ts +81 -0
  48. package/lib/modules/custom-select/industry-cascader/industry-cascader.module.d.ts +18 -0
  49. package/lib/modules/custom-select/rd-select.component.d.ts +90 -0
  50. package/lib/modules/custom-select/rd-select.module.d.ts +19 -0
  51. package/lib/modules/form-item/form-item.component.d.ts +7 -2
  52. package/lib/modules/rd-button/index.d.ts +2 -0
  53. package/lib/modules/rd-button/rd-button.component.d.ts +53 -0
  54. package/lib/modules/rd-button/rd-button.module.d.ts +10 -0
  55. package/lib/modules/rd-loading/index.d.ts +2 -0
  56. package/lib/modules/rd-loading/rd-loading.component.d.ts +49 -0
  57. package/lib/modules/rd-loading/rd-loading.module.d.ts +10 -0
  58. package/lib/modules/rd-phone/index.d.ts +2 -0
  59. package/lib/modules/rd-phone/rd-phone.component.d.ts +25 -0
  60. package/lib/modules/rd-phone/rd-phone.module.d.ts +12 -0
  61. package/lib/modules/rd-remark-history/index.d.ts +2 -0
  62. package/lib/modules/rd-remark-history/rd-remark-history.component.d.ts +9 -0
  63. package/lib/modules/rd-remark-history/rd-remark-history.module.d.ts +9 -0
  64. package/lib/modules/rd-select-value/index.d.ts +2 -0
  65. package/lib/modules/rd-select-value/rd-select-value.component.d.ts +41 -0
  66. package/lib/modules/rd-select-value/rd-select-value.module.d.ts +12 -0
  67. package/lib/modules/rd-switch/index.d.ts +2 -0
  68. package/lib/modules/rd-switch/rd-switch.component.d.ts +41 -0
  69. package/lib/modules/rd-switch/rd-switch.module.d.ts +12 -0
  70. package/package.json +3 -2
  71. package/public-api.d.ts +6 -0
  72. package/src/lib/assets/scss/form-item.scss +1 -1
  73. package/esm2020/lib/modules/custom-select/custom-select.component.mjs +0 -194
  74. package/esm2020/lib/modules/custom-select/custom-select.module.mjs +0 -39
  75. package/lib/modules/custom-select/custom-select.component.d.ts +0 -53
  76. package/lib/modules/custom-select/custom-select.module.d.ts +0 -12
@@ -0,0 +1,361 @@
1
+ import { Component, HostBinding, HostListener, Input, Output, EventEmitter, forwardRef, ViewChild, } from '@angular/core';
2
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ngx-translate/core";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "ng-zorro-antd/cascader";
8
+ import * as i5 from "ng-zorro-antd/drawer";
9
+ import * as i6 from "ng-zorro-antd/input";
10
+ import * as i7 from "ng-zorro-antd/core/transition-patch";
11
+ import * as i8 from "../../form-item/form-item.component";
12
+ import * as i9 from "ng-zorro-antd/radio";
13
+ export class IndustryCascaderComponent {
14
+ constructor(translate, cdr) {
15
+ this.translate = translate;
16
+ this.cdr = cdr;
17
+ this.disabled = false;
18
+ this.errorMessages = {
19
+ pattern: 'invalid_format',
20
+ custom: 'validation_failed',
21
+ };
22
+ this.valueChange = new EventEmitter();
23
+ this.label = '1st industry nature of business';
24
+ this.name = '';
25
+ this.options = [];
26
+ this.searchInput = '';
27
+ this.value = [];
28
+ this.drawerOpen = false;
29
+ this.view = 'root';
30
+ this.activeParent = null;
31
+ this.isFocus = false;
32
+ this.isOpen = false;
33
+ this.searchTerm = '';
34
+ this.searchChildrenTerm = '';
35
+ this.filteredOptions = [];
36
+ this.filteredChildren = [];
37
+ this.searchTimer = null;
38
+ this.control = null;
39
+ // 添加新属性
40
+ this.isTextOverflow = false;
41
+ // 修改isTextOverflow为对象,记录更详细的信息
42
+ this.textOverflowInfo = {
43
+ isOverflow: false,
44
+ lineCount: 0,
45
+ maxLines: 2,
46
+ exceededLines: 0, // 超过的行数
47
+ };
48
+ this.overflowLineCount = 0; // 实际占用的行数
49
+ this.maxAllowedLines = 2; // 最大允许行数
50
+ this.resizeObserver = null;
51
+ this.onChange = () => { };
52
+ this.onTouched = () => { };
53
+ // 响应式:是否是移动端
54
+ this.isMobile = false;
55
+ this.cascaderSearchFn = (input, path) => {
56
+ const i = input.toLowerCase();
57
+ return path.some((p) => p.labelLower.includes(i));
58
+ };
59
+ }
60
+ get hostThemeLight() {
61
+ return this.theme === 'light';
62
+ }
63
+ get hostThemeDark() {
64
+ return this.theme === 'dark';
65
+ }
66
+ get drawerWrapClassName() {
67
+ const themeClass = this.theme === 'light'
68
+ ? 'theme-light'
69
+ : this.theme === 'dark'
70
+ ? 'theme-dark'
71
+ : '';
72
+ return ['cascader-drawer', themeClass].filter(Boolean).join(' ');
73
+ }
74
+ get showError() {
75
+ return (!!this.control?.invalid && (this.control?.touched || this.control?.dirty));
76
+ }
77
+ get currentErrorMessage() {
78
+ if (!this.control?.errors)
79
+ return '';
80
+ const firstError = Object.keys(this.control?.errors || {})[0];
81
+ const msg = this.errorMessages[firstError];
82
+ switch (firstError) {
83
+ case 'required':
84
+ return (msg ||
85
+ `${this.translate.instant('please_select')}${this.label.toLowerCase()}`);
86
+ case 'custom':
87
+ return (this.control?.errors['custom'] ||
88
+ this.translate.instant('validation_failed'));
89
+ default:
90
+ return (this.translate.instant(this.errorMessages[firstError]) ||
91
+ this.translate.instant('validation_failed'));
92
+ }
93
+ }
94
+ onResize() {
95
+ this.updateIsMobile();
96
+ }
97
+ ngOnInit() {
98
+ this.handleInitOptions();
99
+ this.updateIsMobile();
100
+ const mq = window.matchMedia('(max-width: 997px)');
101
+ if (mq.addEventListener) {
102
+ mq.addEventListener('change', () => this.updateIsMobile());
103
+ }
104
+ else {
105
+ mq.addListener(() => this.updateIsMobile());
106
+ }
107
+ }
108
+ ngOnChanges(changes) {
109
+ if (changes['industryCodes']) {
110
+ this.handleInitOptions();
111
+ }
112
+ }
113
+ ngAfterViewInit() {
114
+ this.setupResizeObserver();
115
+ // 初始检测
116
+ setTimeout(() => this.checkTextOverflow(), 0);
117
+ }
118
+ ngOnDestroy() {
119
+ if (this.resizeObserver) {
120
+ this.resizeObserver.disconnect();
121
+ }
122
+ }
123
+ setupResizeObserver() {
124
+ if (typeof ResizeObserver !== 'undefined') {
125
+ this.resizeObserver = new ResizeObserver(() => {
126
+ this.checkTextOverflow();
127
+ });
128
+ if (this.valueText?.nativeElement) {
129
+ this.resizeObserver.observe(this.valueText.nativeElement);
130
+ }
131
+ if (this.cascaderContainer?.nativeElement) {
132
+ this.resizeObserver.observe(this.cascaderContainer.nativeElement);
133
+ }
134
+ }
135
+ }
136
+ checkTextOverflow() {
137
+ if (!this.valueText?.nativeElement)
138
+ return;
139
+ const textElement = this.valueText.nativeElement;
140
+ // 方法1:计算实际行数
141
+ this.calculateLineCount(textElement);
142
+ // 方法2:备用宽度检测
143
+ this.checkWidthOverflow(textElement);
144
+ }
145
+ calculateLineCount(element) {
146
+ // 获取元素的样式
147
+ const computedStyle = window.getComputedStyle(element);
148
+ const lineHeight = parseFloat(computedStyle.lineHeight);
149
+ const scrollHeight = element.scrollHeight;
150
+ const clientHeight = element.clientHeight;
151
+ // 如果lineHeight为0或NaN,使用默认值
152
+ const actualLineHeight = lineHeight && !isNaN(lineHeight) ? lineHeight : 20; // 默认20px
153
+ // 计算实际行数
154
+ const lineCount = Math.round(scrollHeight / actualLineHeight);
155
+ this.overflowLineCount = lineCount;
156
+ // 检查是否超过最大允许行数
157
+ this.isTextOverflow = lineCount > this.maxAllowedLines;
158
+ // 你也可以记录更多信息
159
+ this.textOverflowInfo = {
160
+ isOverflow: lineCount > this.maxAllowedLines,
161
+ lineCount: lineCount,
162
+ maxLines: this.maxAllowedLines,
163
+ exceededLines: Math.max(0, lineCount - this.maxAllowedLines),
164
+ };
165
+ console.log(`文本行数: ${lineCount}, 是否溢出: ${this.isTextOverflow}`);
166
+ this.cdr.markForCheck();
167
+ }
168
+ checkWidthOverflow(element) {
169
+ // 原有的宽度检测逻辑(作为备用)
170
+ const container = this.cascaderContainer?.nativeElement;
171
+ if (container) {
172
+ const containerStyle = window.getComputedStyle(container);
173
+ const containerWidth = parseFloat(containerStyle.width);
174
+ const textWidth = element.scrollWidth;
175
+ const containerPadding = parseFloat(containerStyle.paddingLeft) +
176
+ parseFloat(containerStyle.paddingRight);
177
+ const availableWidth = containerWidth - containerPadding - 56;
178
+ const isWidthOverflow = textWidth > availableWidth;
179
+ // 结合两种检测结果
180
+ if (isWidthOverflow && !this.isTextOverflow) {
181
+ this.isTextOverflow = true;
182
+ }
183
+ }
184
+ }
185
+ // 修改handleValueChange方法,添加延迟检测
186
+ handleValueChange(value) {
187
+ this.value = value;
188
+ this.onChange(this.value);
189
+ this.valueChange.emit(this.value);
190
+ // 增加延迟,确保DOM完全更新
191
+ setTimeout(() => {
192
+ this.checkTextOverflow();
193
+ // 可能需要多次检测以确保准确
194
+ setTimeout(() => this.checkTextOverflow(), 100);
195
+ }, 50);
196
+ }
197
+ updateIsMobile() {
198
+ this.isMobile = window.matchMedia('(max-width: 997px)').matches;
199
+ }
200
+ validate(control) {
201
+ if (control) {
202
+ this.control = control;
203
+ }
204
+ return null;
205
+ }
206
+ setDisabledState(isDisabled) {
207
+ this.disabled = isDisabled;
208
+ this.cdr.markForCheck();
209
+ }
210
+ writeValue(value) {
211
+ this.value = value;
212
+ }
213
+ registerOnChange(fn) {
214
+ this.onChange = fn;
215
+ }
216
+ registerOnTouched(fn) {
217
+ this.onTouched = fn;
218
+ }
219
+ onVisibleChange(value) {
220
+ this.isOpen = value;
221
+ }
222
+ handleInitOptions() {
223
+ if (this.industryCodes?.length > 0) {
224
+ this.options = this.industryCodes.map((item) => {
225
+ return {
226
+ ...item,
227
+ value: item.objId,
228
+ label: item.annexa,
229
+ isLeaf: false,
230
+ labelLower: item.annexa.toLowerCase(),
231
+ children: item.subList.map((subItem) => {
232
+ return {
233
+ ...subItem,
234
+ value: subItem.objId,
235
+ label: subItem.annexa,
236
+ labelLower: subItem.annexa.toLowerCase(),
237
+ isLeaf: true,
238
+ };
239
+ }),
240
+ };
241
+ });
242
+ this.filteredOptions = this.options;
243
+ }
244
+ else {
245
+ this.options = [];
246
+ this.filteredOptions = [];
247
+ }
248
+ }
249
+ // ---------- 移动端操作 ----------
250
+ openDrawer() {
251
+ if (this.disabled)
252
+ return;
253
+ this.searchTerm = '';
254
+ this.searchChildrenTerm = '';
255
+ this.drawerOpen = true;
256
+ this.view = 'root';
257
+ this.activeParent = null;
258
+ this.filteredOptions = this.options;
259
+ this.filteredChildren = [];
260
+ }
261
+ closeDrawer() {
262
+ this.drawerOpen = false;
263
+ }
264
+ goBackMobile() {
265
+ this.view = 'root';
266
+ this.activeParent = null;
267
+ this.searchChildrenTerm = '';
268
+ }
269
+ selectLeafMobile(option, parent) {
270
+ const parentVal = parent?.value ?? this.activeParent?.value ?? null;
271
+ const value = [String(parentVal), String(option.value)];
272
+ this.handleValueChange(value);
273
+ this.drawerOpen = false;
274
+ this.view = 'root';
275
+ this.activeParent = null;
276
+ }
277
+ openChildrenMobile(opt) {
278
+ if (!opt?.value)
279
+ return;
280
+ this.view = 'children';
281
+ this.activeParent = opt;
282
+ this.filteredChildren = this.activeParent?.children || [];
283
+ this.value = [opt.value];
284
+ }
285
+ doMobileSearch(value) {
286
+ const term = value?.trim().toLowerCase();
287
+ clearTimeout(this.searchTimer);
288
+ this.searchTimer = setTimeout(() => {
289
+ if (!term) {
290
+ // 恢复原数据
291
+ this.filteredOptions = this.options;
292
+ this.filteredChildren = this.activeParent?.children || [];
293
+ return;
294
+ }
295
+ if (this.view === 'root') {
296
+ this.filteredOptions = this.options.filter((opt) => opt.label.toLowerCase().includes(term));
297
+ }
298
+ else {
299
+ this.filteredChildren = this.activeParent?.children.filter((child) => child.label.toLowerCase().includes(term));
300
+ }
301
+ }, 150);
302
+ }
303
+ }
304
+ IndustryCascaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IndustryCascaderComponent, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
305
+ IndustryCascaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: IndustryCascaderComponent, selector: "app-industry-cascader", inputs: { disabled: "disabled", errorMessages: "errorMessages", industryCodes: "industryCodes", label: "label", name: "name", theme: "theme" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "window:resize": "onResize()" }, properties: { "class.theme-light": "this.hostThemeLight", "class.theme-dark": "this.hostThemeDark" } }, providers: [
306
+ {
307
+ provide: NG_VALUE_ACCESSOR,
308
+ useExisting: forwardRef(() => IndustryCascaderComponent),
309
+ multi: true,
310
+ },
311
+ {
312
+ provide: NG_VALIDATORS,
313
+ useExisting: forwardRef(() => IndustryCascaderComponent),
314
+ multi: true,
315
+ },
316
+ ], viewQueries: [{ propertyName: "cascaderContainer", first: true, predicate: ["cascaderContainer"], descendants: true }, { propertyName: "valueText", first: true, predicate: ["valueText"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<app-rd-form-item\n [type]=\"'select'\"\n [label]=\"label\"\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [value]=\"value && value?.length\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n [theme]=\"theme\"\n (click)=\"openDrawer()\"\n [ngClass]=\"{\n 'rd-cascader-overflow-container': isTextOverflow,\n 'rd-cascader-overflow-container-th': overflowLineCount >= 3,\n }\"\n>\n <div #cascaderContainer class=\"cascader-container\">\n <nz-cascader\n [nzOptions]=\"options\"\n [(ngModel)]=\"value\"\n [nzDisabled]=\"disabled\"\n [nzShowSearch]=\"{ filter: cascaderSearchFn }\"\n [nzAllowClear]=\"false\"\n nzExpandTrigger=\"click\"\n (ngModelChange)=\"handleValueChange($event)\"\n [nzLabelRender]=\"renderTpl\"\n [nzOptionRender]=\"optionTpl\"\n [nzExpandIcon]=\"customExpandIcon\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzColumnClassName=\"rd-cascader-colum\"\n class=\"rd-cascader\"\n [ngClass]=\"{\n 'rd-cascader-disabled-open': isMobile,\n 'rd-cascader-is-text-overflow': isTextOverflow,\n }\"\n >\n </nz-cascader>\n </div>\n</app-rd-form-item>\n\n<nz-drawer\n [nzVisible]=\"drawerOpen && isMobile\"\n [nzPlacement]=\"'bottom'\"\n [nzHeight]=\"'70vh'\"\n [nzTitle]=\"''\"\n [nzClosable]=\"false\"\n [nzWrapClassName]=\"drawerWrapClassName\"\n (nzOnClose)=\"closeDrawer()\"\n>\n <div *nzDrawerContent>\n <div class=\"cascader-drawer-header\">\n <div class=\"header-title\">\n {{ \"select_nature_of_business\" | translate }}\n <div class=\"close-btn\" *ngIf=\"view === 'root'\" (click)=\"closeDrawer()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.46967 4.46967C4.76256 4.17678 5.23744 4.17678 5.53033 4.46967L12 10.9393L18.4697 4.46967C18.7626 4.17678 19.2374 4.17678 19.5303 4.46967C19.8232 4.76256 19.8232 5.23744 19.5303 5.53033L13.0607 12L19.5303 18.4697C19.8232 18.7626 19.8232 19.2374 19.5303 19.5303C19.2374 19.8232 18.7626 19.8232 18.4697 19.5303L12 13.0607L5.53033 19.5303C5.23744 19.8232 4.76256 19.8232 4.46967 19.5303C4.17678 19.2374 4.17678 18.7626 4.46967 18.4697L10.9393 12L4.46967 5.53033C4.17678 5.23744 4.17678 4.76256 4.46967 4.46967Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n </div>\n\n <nz-input-group\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n *ngIf=\"view === 'root'\"\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <nz-input-group\n *ngIf=\"view === 'children'\"\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchChildrenTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <div class=\"cascader-drawer-sub-header\" *ngIf=\"view === 'children'\">\n <div class=\"back-btn\" (click)=\"goBackMobile()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.3422 2.18437C11.5626 2.4194 11.5507 2.78856 11.3156 3.0089L6.43623 7.58334L11.3156 12.1578C11.5507 12.3781 11.5626 12.7473 11.3422 12.9823C11.1219 13.2173 10.7527 13.2292 10.5177 13.0089L5.18437 8.0089C5.06674 7.89862 5 7.74457 5 7.58334C5 7.4221 5.06674 7.26805 5.18437 7.15777L10.5177 2.15777C10.7527 1.93743 11.1219 1.94934 11.3422 2.18437Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n <div class=\"children-title\">{{ activeParent?.label }}</div>\n </div>\n </div>\n\n <div *ngIf=\"view === 'root'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredOptions?.length\">\n <div\n *ngFor=\"let opt of filteredOptions\"\n (click)=\"openChildrenMobile(opt)\"\n class=\"cascader-drawer-option cascader-drawer-root-option\"\n [ngClass]=\"{\n 'cascader-drawer-option-active': opt.value === value?.[0],\n }\"\n >\n {{ opt.label }}\n <ng-container *ngTemplateOutlet=\"customExpandIcon\"></ng-container>\n </div>\n </ng-container>\n </div>\n\n <div *ngIf=\"view === 'children'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredChildren?.length\">\n <div\n *ngFor=\"let child of filteredChildren\"\n (click)=\"selectLeafMobile(child)\"\n class=\"cascader-drawer-option cascader-drawer-children-option\"\n >\n <label\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"child.value === value?.[1]\"\n ></label>\n {{ child.label }}\n </div>\n </ng-container>\n </div>\n </div>\n</nz-drawer>\n\n<ng-template\n #renderTpl\n let-labels=\"labels\"\n let-selectedOptions=\"selectedOptions\"\n>\n <ng-container *ngFor=\"let label of labels; let last = last\">\n <ng-container *ngIf=\"last\">\n <span #valueText class=\"cascader-value-text\" [title]=\"label\">\n {{ label }}\n </span></ng-container\n >\n </ng-container>\n</ng-template>\n\n<ng-template #optionTpl let-option>\n <div class=\"rd-cascader-menu-option\">\n <label\n *ngIf=\"option.isLeaf\"\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"option.value === value?.[1]\"\n ></label\n >{{ option.label }}\n </div>\n</ng-template>\n\n<ng-template #customExpandIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.90777 2.60234C5.12811 2.36731 5.49727 2.3554 5.7323 2.57574L11.0656 7.57574C11.1833 7.68602 11.25 7.84007 11.25 8.0013C11.25 8.16254 11.1833 8.31659 11.0656 8.42687L5.7323 13.4269C5.49727 13.6472 5.12811 13.6353 4.90777 13.4003C4.68743 13.1652 4.69934 12.7961 4.93437 12.5757L9.81377 8.0013L4.93437 3.42687C4.69934 3.20652 4.68743 2.83737 4.90777 2.60234Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #prefixIconSearch>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M14.4951 13.6948L11.3962 10.5959C12.3175 9.46902 12.7704 8.03122 12.6613 6.57983C12.5522 5.12844 11.8894 3.77451 10.81 2.79807C9.73066 1.82164 8.3173 1.29741 6.86227 1.33381C5.40723 1.37021 4.02185 1.96445 2.99266 2.99364C1.96348 4.02282 1.36923 5.4082 1.33283 6.86323C1.29643 8.31826 1.82066 9.73162 2.7971 10.811C3.77354 11.8903 5.12747 12.5531 6.57887 12.6622C8.03026 12.7713 9.46807 12.3184 10.5949 11.3972L13.6938 14.5032C13.8027 14.6073 13.9474 14.6656 14.098 14.6663C14.2105 14.6661 14.3204 14.6325 14.4138 14.5697C14.5071 14.5069 14.5796 14.4178 14.6222 14.3136C14.6648 14.2095 14.6754 14.0951 14.6528 13.9849C14.6302 13.8747 14.5753 13.7737 14.4951 13.6948ZM7.00667 11.5461C6.10905 11.5461 5.23158 11.2799 4.48523 10.7812C3.73889 10.2825 3.15718 9.57372 2.81367 8.74443C2.47017 7.91513 2.38029 7.0026 2.55541 6.12223C2.73053 5.24185 3.16277 4.43317 3.79749 3.79846C4.43221 3.16375 5.24088 2.7315 6.12126 2.55638C7.00164 2.38127 7.91417 2.47114 8.74347 2.81465C9.57277 3.15815 10.2816 3.73986 10.7803 4.4862C11.279 5.23255 11.5451 6.11001 11.5451 7.00763C11.5433 8.21073 11.0645 9.36402 10.2138 10.2147C9.36306 11.0655 8.20977 11.5442 7.00667 11.5461Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n", styles: [":host{display:block;width:100%}:host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{transition:none!important}:host ::ng-deep .rd-cascader{width:100%;height:62px}:host ::ng-deep .rd-cascader .ant-select-selector{background-color:var(--rd-input-bg-default);max-width:100%!important;overflow:hidden!important}:host ::ng-deep .rd-cascader.rd-cascader-disabled-open{pointer-events:none}:host ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px;height:52px;border:none;border-radius:initial}:host ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{padding:10px 5px 2px;color:var(--rd-copy-primary);font-size:14px;width:100%;font-weight:500;height:100%}:host ::ng-deep .rd-cascader.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{box-shadow:none}:host ::ng-deep .rd-cascader .ant-select-selection-placeholder{display:none}:host ::ng-deep .rd-cascader .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500}:host ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}:host ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;display:block!important;width:calc(100% - 20px)!important}:host ::ng-deep .rd-cascader.ant-select .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500;font-size:14px;line-height:normal}:host ::ng-deep .rd-cascader .cascader-value-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:pre-line;vertical-align:middle}:host ::ng-deep .rd-cascader.ant-select:not(.ant-select-disabled):hover .ant-select-selector,:host ::ng-deep .rd-cascader.ant-select:not(.ant-select-disabled):focus .ant-select-selector{box-shadow:none;outline:none;border:none}:host ::ng-deep .rd-cascader-is-text-overflow .ant-select-selector{height:auto!important}:host ::ng-deep .rd-cascader-overflow-container .rd-form-item{min-height:85px!important}:host ::ng-deep .rd-cascader-overflow-container-th .rd-form-item{min-height:110px!important}:host(.theme-light) ::ng-deep .rd-cascader{height:auto;min-height:62px}:host(.theme-light) ::ng-deep .rd-cascader .ant-select-arrow{display:none}:host(.theme-light) ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:auto;min-height:52px;padding-right:40px}:host(.theme-light) ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item{width:100%!important;white-space:normal!important}::ng-deep .ant-cascader-dropdown{background-color:var(--rd-bg-website);border-radius:4px;border:1px solid var(--rd-input-fg-default)}::ng-deep .rd-cascader-colum{border-right:none;height:268px!important}::ng-deep .rd-cascader-colum .ant-cascader-menu-item{padding:4px 16px;color:var(--rd-copy-primary)}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover{background-color:transparent;font-weight:400}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active .rd-cascader-menu-option,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover .rd-cascader-menu-option{background-color:#2a7bff4d}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active .rd-cascader-menu-option .ant-radio-inner,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover .rd-cascader-menu-option .ant-radio-inner{border-color:var(--rd-copy-brand)}::ng-deep .rd-cascader-colum .ant-cascader-menu-item .ant-cascader-menu-item-expand-icon{width:16px;height:16px}::ng-deep .rd-cascader-colum .rd-cascader-menu-option{min-height:44px;padding:8px;border-radius:4px;width:100%;line-height:28px;max-width:400px;word-break:normal;white-space:break-spaces;display:flex;align-items:flex-start}::ng-deep .rd-cascader-colum .rd-cascader-menu-option .cascader-option-radio{padding-top:3px}::ng-deep .rd-cascader-colum+.rd-cascader-colum{border-left:1px solid var(--rd-input-fg-default)}::ng-deep .cascader-drawer{background-color:var(--rd-bg-website)}::ng-deep .cascader-drawer .cascader-drawer-header{padding:24px 8px 0;position:sticky;top:0;background-color:var(--rd-bg-website);z-index:1111}::ng-deep .cascader-drawer .cascader-drawer-header .header-title{display:flex;align-items:center;font-size:18px;font-weight:500;line-height:24px;justify-content:space-between}::ng-deep .cascader-drawer .cascader-drawer-sub-header{display:flex;align-items:center;margin-top:16px;gap:16px;font-size:14px;font-weight:500}::ng-deep .cascader-drawer .close-btn{width:24px;height:24px;cursor:pointer}::ng-deep .cascader-drawer .close-btn svg{width:24px}::ng-deep .cascader-drawer .back-btn{width:16px;height:16px;cursor:pointer}::ng-deep .cascader-drawer .ant-drawer-body{padding:0 16px 24px}::ng-deep .cascader-drawer .ant-drawer-content{background-color:transparent;color:var(--rd-copy-primary)}::ng-deep .cascader-drawer .cascader-drawer-search{border-radius:4px;border:1px solid var(--rd-input-fg-default);background:var(--rd-input-bg-default);height:44px;padding:0 16px;margin-top:16px}::ng-deep .cascader-drawer .cascader-drawer-search::placeholder{color:var(--rd-copy-disable)}::ng-deep .cascader-drawer .cascader-drawer-search .ant-input{background:var(--rd-input-bg-default);color:var(--rd-copy-primary)}::ng-deep .cascader-drawer .cascader-drawer-search.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-color:var(--rd-input-fg-hover)}::ng-deep .cascader-drawer .cascader-drawer-list{margin-top:16px}::ng-deep .cascader-drawer .cascader-drawer-option{padding:8px;min-height:44px;display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:14px;font-weight:400;line-height:28px;line-height:1.5}::ng-deep .cascader-drawer .cascader-drawer-option svg{margin-left:auto;flex-shrink:0}::ng-deep .cascader-drawer .cascader-drawer-option-active{border-radius:4px;background:rgba(42,123,255,.3)}::ng-deep .cascader-drawer .cascader-drawer-option.cascader-drawer-root-option{align-items:center}::ng-deep .cascader-drawer.theme-light{background-color:#fff}::ng-deep .cascader-drawer.theme-light .cascader-drawer-header{background-color:#fff}::ng-deep .cascader-drawer.theme-light .ant-drawer-content{color:var(--rd-copy-primary)}::ng-deep .cascader-drawer.theme-light .cascader-drawer-search{border-color:#dfe3ea;background:#fff}::ng-deep .cascader-drawer.theme-light .cascader-drawer-search .ant-input{background:#fff;color:var(--rd-copy-primary)}::ng-deep .cascader-drawer.theme-light .cascader-drawer-option-active{background:var(--rd-blue-100)}::ng-deep .cascader-drawer.theme-light .cascader-option-radio .ant-radio-inner{border-color:#cfd5df;background:#fff}::ng-deep .cascader-drawer.theme-light svg path{fill:var(--rd-copy-primary)}::ng-deep .cascader-option-radio{pointer-events:none}::ng-deep .cascader-option-radio .ant-radio-inner{border-radius:16px;border:1px solid var(--rd-control-border-empty);background:var(--rd-control-input-empty)}::ng-deep .cascader-option-radio .ant-radio-input:focus+.ant-radio-inner{box-shadow:none}::ng-deep .cascader-option-radio .ant-radio-wrapper:hover .ant-radio,::ng-deep .cascader-option-radio .ant-radio:hover .ant-radio-inner,::ng-deep .cascader-option-radio .ant-radio-input:focus+.ant-radio-inner{border-color:var(--rd-copy-brand)}::ng-deep .cascader-data-empty{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--rd-copy-primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NzCascaderComponent, selector: "nz-cascader, [nz-cascader]", inputs: ["nzOptionRender", "nzShowInput", "nzShowArrow", "nzAllowClear", "nzAutoFocus", "nzChangeOnSelect", "nzDisabled", "nzColumnClassName", "nzExpandTrigger", "nzValueProperty", "nzLabelRender", "nzLabelProperty", "nzNotFoundContent", "nzSize", "nzBackdrop", "nzShowSearch", "nzPlaceHolder", "nzMenuClassName", "nzMenuStyle", "nzMouseEnterDelay", "nzMouseLeaveDelay", "nzStatus", "nzTriggerAction", "nzChangeOn", "nzLoadData", "nzSuffixIcon", "nzExpandIcon", "nzOptions"], outputs: ["nzVisibleChange", "nzSelectionChange", "nzSelect", "nzClear"], exportAs: ["nzCascader"] }, { kind: "component", type: i5.NzDrawerComponent, selector: "nz-drawer", inputs: ["nzContent", "nzCloseIcon", "nzClosable", "nzMaskClosable", "nzMask", "nzCloseOnNavigation", "nzNoAnimation", "nzKeyboard", "nzTitle", "nzExtra", "nzFooter", "nzPlacement", "nzSize", "nzMaskStyle", "nzBodyStyle", "nzWrapClassName", "nzWidth", "nzHeight", "nzZIndex", "nzOffsetX", "nzOffsetY", "nzVisible"], outputs: ["nzOnViewInit", "nzOnClose", "nzVisibleChange"], exportAs: ["nzDrawer"] }, { kind: "directive", type: i5.NzDrawerContentDirective, selector: "[nzDrawerContent]", exportAs: ["nzDrawerContent"] }, { kind: "directive", type: i6.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i6.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i6.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "component", type: i8.FormItemComponent, selector: "app-rd-form-item", inputs: ["errorMessage", "disabled", "label", "type", "focus", "value", "size", "theme"] }, { kind: "component", type: i9.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus"], exportAs: ["nzRadio"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
317
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IndustryCascaderComponent, decorators: [{
318
+ type: Component,
319
+ args: [{ selector: 'app-industry-cascader', providers: [
320
+ {
321
+ provide: NG_VALUE_ACCESSOR,
322
+ useExisting: forwardRef(() => IndustryCascaderComponent),
323
+ multi: true,
324
+ },
325
+ {
326
+ provide: NG_VALIDATORS,
327
+ useExisting: forwardRef(() => IndustryCascaderComponent),
328
+ multi: true,
329
+ },
330
+ ], template: "<app-rd-form-item\n [type]=\"'select'\"\n [label]=\"label\"\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [value]=\"value && value?.length\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n [theme]=\"theme\"\n (click)=\"openDrawer()\"\n [ngClass]=\"{\n 'rd-cascader-overflow-container': isTextOverflow,\n 'rd-cascader-overflow-container-th': overflowLineCount >= 3,\n }\"\n>\n <div #cascaderContainer class=\"cascader-container\">\n <nz-cascader\n [nzOptions]=\"options\"\n [(ngModel)]=\"value\"\n [nzDisabled]=\"disabled\"\n [nzShowSearch]=\"{ filter: cascaderSearchFn }\"\n [nzAllowClear]=\"false\"\n nzExpandTrigger=\"click\"\n (ngModelChange)=\"handleValueChange($event)\"\n [nzLabelRender]=\"renderTpl\"\n [nzOptionRender]=\"optionTpl\"\n [nzExpandIcon]=\"customExpandIcon\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzColumnClassName=\"rd-cascader-colum\"\n class=\"rd-cascader\"\n [ngClass]=\"{\n 'rd-cascader-disabled-open': isMobile,\n 'rd-cascader-is-text-overflow': isTextOverflow,\n }\"\n >\n </nz-cascader>\n </div>\n</app-rd-form-item>\n\n<nz-drawer\n [nzVisible]=\"drawerOpen && isMobile\"\n [nzPlacement]=\"'bottom'\"\n [nzHeight]=\"'70vh'\"\n [nzTitle]=\"''\"\n [nzClosable]=\"false\"\n [nzWrapClassName]=\"drawerWrapClassName\"\n (nzOnClose)=\"closeDrawer()\"\n>\n <div *nzDrawerContent>\n <div class=\"cascader-drawer-header\">\n <div class=\"header-title\">\n {{ \"select_nature_of_business\" | translate }}\n <div class=\"close-btn\" *ngIf=\"view === 'root'\" (click)=\"closeDrawer()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.46967 4.46967C4.76256 4.17678 5.23744 4.17678 5.53033 4.46967L12 10.9393L18.4697 4.46967C18.7626 4.17678 19.2374 4.17678 19.5303 4.46967C19.8232 4.76256 19.8232 5.23744 19.5303 5.53033L13.0607 12L19.5303 18.4697C19.8232 18.7626 19.8232 19.2374 19.5303 19.5303C19.2374 19.8232 18.7626 19.8232 18.4697 19.5303L12 13.0607L5.53033 19.5303C5.23744 19.8232 4.76256 19.8232 4.46967 19.5303C4.17678 19.2374 4.17678 18.7626 4.46967 18.4697L10.9393 12L4.46967 5.53033C4.17678 5.23744 4.17678 4.76256 4.46967 4.46967Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n </div>\n\n <nz-input-group\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n *ngIf=\"view === 'root'\"\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <nz-input-group\n *ngIf=\"view === 'children'\"\n class=\"cascader-drawer-search\"\n [nzPrefix]=\"prefixIconSearch\"\n nzClearable\n >\n <input\n nz-input\n [placeholder]=\"'search' | translate\"\n [(ngModel)]=\"searchChildrenTerm\"\n (ngModelChange)=\"doMobileSearch($event)\"\n />\n </nz-input-group>\n\n <div class=\"cascader-drawer-sub-header\" *ngIf=\"view === 'children'\">\n <div class=\"back-btn\" (click)=\"goBackMobile()\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M11.3422 2.18437C11.5626 2.4194 11.5507 2.78856 11.3156 3.0089L6.43623 7.58334L11.3156 12.1578C11.5507 12.3781 11.5626 12.7473 11.3422 12.9823C11.1219 13.2173 10.7527 13.2292 10.5177 13.0089L5.18437 8.0089C5.06674 7.89862 5 7.74457 5 7.58334C5 7.4221 5.06674 7.26805 5.18437 7.15777L10.5177 2.15777C10.7527 1.93743 11.1219 1.94934 11.3422 2.18437Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n </div>\n <div class=\"children-title\">{{ activeParent?.label }}</div>\n </div>\n </div>\n\n <div *ngIf=\"view === 'root'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredOptions?.length\">\n <div\n *ngFor=\"let opt of filteredOptions\"\n (click)=\"openChildrenMobile(opt)\"\n class=\"cascader-drawer-option cascader-drawer-root-option\"\n [ngClass]=\"{\n 'cascader-drawer-option-active': opt.value === value?.[0],\n }\"\n >\n {{ opt.label }}\n <ng-container *ngTemplateOutlet=\"customExpandIcon\"></ng-container>\n </div>\n </ng-container>\n </div>\n\n <div *ngIf=\"view === 'children'\" class=\"cascader-drawer-list\">\n <ng-container *ngIf=\"filteredChildren?.length\">\n <div\n *ngFor=\"let child of filteredChildren\"\n (click)=\"selectLeafMobile(child)\"\n class=\"cascader-drawer-option cascader-drawer-children-option\"\n >\n <label\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"child.value === value?.[1]\"\n ></label>\n {{ child.label }}\n </div>\n </ng-container>\n </div>\n </div>\n</nz-drawer>\n\n<ng-template\n #renderTpl\n let-labels=\"labels\"\n let-selectedOptions=\"selectedOptions\"\n>\n <ng-container *ngFor=\"let label of labels; let last = last\">\n <ng-container *ngIf=\"last\">\n <span #valueText class=\"cascader-value-text\" [title]=\"label\">\n {{ label }}\n </span></ng-container\n >\n </ng-container>\n</ng-template>\n\n<ng-template #optionTpl let-option>\n <div class=\"rd-cascader-menu-option\">\n <label\n *ngIf=\"option.isLeaf\"\n class=\"cascader-option-radio\"\n nz-radio\n [ngModel]=\"option.value === value?.[1]\"\n ></label\n >{{ option.label }}\n </div>\n</ng-template>\n\n<ng-template #customExpandIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.90777 2.60234C5.12811 2.36731 5.49727 2.3554 5.7323 2.57574L11.0656 7.57574C11.1833 7.68602 11.25 7.84007 11.25 8.0013C11.25 8.16254 11.1833 8.31659 11.0656 8.42687L5.7323 13.4269C5.49727 13.6472 5.12811 13.6353 4.90777 13.4003C4.68743 13.1652 4.69934 12.7961 4.93437 12.5757L9.81377 8.0013L4.93437 3.42687C4.69934 3.20652 4.68743 2.83737 4.90777 2.60234Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n\n<ng-template #prefixIconSearch>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M14.4951 13.6948L11.3962 10.5959C12.3175 9.46902 12.7704 8.03122 12.6613 6.57983C12.5522 5.12844 11.8894 3.77451 10.81 2.79807C9.73066 1.82164 8.3173 1.29741 6.86227 1.33381C5.40723 1.37021 4.02185 1.96445 2.99266 2.99364C1.96348 4.02282 1.36923 5.4082 1.33283 6.86323C1.29643 8.31826 1.82066 9.73162 2.7971 10.811C3.77354 11.8903 5.12747 12.5531 6.57887 12.6622C8.03026 12.7713 9.46807 12.3184 10.5949 11.3972L13.6938 14.5032C13.8027 14.6073 13.9474 14.6656 14.098 14.6663C14.2105 14.6661 14.3204 14.6325 14.4138 14.5697C14.5071 14.5069 14.5796 14.4178 14.6222 14.3136C14.6648 14.2095 14.6754 14.0951 14.6528 13.9849C14.6302 13.8747 14.5753 13.7737 14.4951 13.6948ZM7.00667 11.5461C6.10905 11.5461 5.23158 11.2799 4.48523 10.7812C3.73889 10.2825 3.15718 9.57372 2.81367 8.74443C2.47017 7.91513 2.38029 7.0026 2.55541 6.12223C2.73053 5.24185 3.16277 4.43317 3.79749 3.79846C4.43221 3.16375 5.24088 2.7315 6.12126 2.55638C7.00164 2.38127 7.91417 2.47114 8.74347 2.81465C9.57277 3.15815 10.2816 3.73986 10.7803 4.4862C11.279 5.23255 11.5451 6.11001 11.5451 7.00763C11.5433 8.21073 11.0645 9.36402 10.2138 10.2147C9.36306 11.0655 8.20977 11.5442 7.00667 11.5461Z\"\n fill=\"var(--rd-copy-primary)\"\n />\n </svg>\n</ng-template>\n", styles: [":host{display:block;width:100%}:host ::ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{transition:none!important}:host ::ng-deep .rd-cascader{width:100%;height:62px}:host ::ng-deep .rd-cascader .ant-select-selector{background-color:var(--rd-input-bg-default);max-width:100%!important;overflow:hidden!important}:host ::ng-deep .rd-cascader.rd-cascader-disabled-open{pointer-events:none}:host ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px;height:52px;border:none;border-radius:initial}:host ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{padding:10px 5px 2px;color:var(--rd-copy-primary);font-size:14px;width:100%;font-weight:500;height:100%}:host ::ng-deep .rd-cascader.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{box-shadow:none}:host ::ng-deep .rd-cascader .ant-select-selection-placeholder{display:none}:host ::ng-deep .rd-cascader .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500}:host ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}:host ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;display:block!important;width:calc(100% - 20px)!important}:host ::ng-deep .rd-cascader.ant-select .ant-select-selection-item{color:var(--rd-copy-primary);font-weight:500;font-size:14px;line-height:normal}:host ::ng-deep .rd-cascader .cascader-value-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:pre-line;vertical-align:middle}:host ::ng-deep .rd-cascader.ant-select:not(.ant-select-disabled):hover .ant-select-selector,:host ::ng-deep .rd-cascader.ant-select:not(.ant-select-disabled):focus .ant-select-selector{box-shadow:none;outline:none;border:none}:host ::ng-deep .rd-cascader-is-text-overflow .ant-select-selector{height:auto!important}:host ::ng-deep .rd-cascader-overflow-container .rd-form-item{min-height:85px!important}:host ::ng-deep .rd-cascader-overflow-container-th .rd-form-item{min-height:110px!important}:host(.theme-light) ::ng-deep .rd-cascader{height:auto;min-height:62px}:host(.theme-light) ::ng-deep .rd-cascader .ant-select-arrow{display:none}:host(.theme-light) ::ng-deep .rd-cascader.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:auto;min-height:52px;padding-right:40px}:host(.theme-light) ::ng-deep .rd-cascader.ant-select-single .ant-select-selector .ant-select-selection-item{width:100%!important;white-space:normal!important}::ng-deep .ant-cascader-dropdown{background-color:var(--rd-bg-website);border-radius:4px;border:1px solid var(--rd-input-fg-default)}::ng-deep .rd-cascader-colum{border-right:none;height:268px!important}::ng-deep .rd-cascader-colum .ant-cascader-menu-item{padding:4px 16px;color:var(--rd-copy-primary)}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover{background-color:transparent;font-weight:400}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active .rd-cascader-menu-option,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover .rd-cascader-menu-option{background-color:#2a7bff4d}::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item-active .rd-cascader-menu-option .ant-radio-inner,::ng-deep .rd-cascader-colum .ant-cascader-menu-item.ant-cascader-menu-item:hover .rd-cascader-menu-option .ant-radio-inner{border-color:var(--rd-copy-brand)}::ng-deep .rd-cascader-colum .ant-cascader-menu-item .ant-cascader-menu-item-expand-icon{width:16px;height:16px}::ng-deep .rd-cascader-colum .rd-cascader-menu-option{min-height:44px;padding:8px;border-radius:4px;width:100%;line-height:28px;max-width:400px;word-break:normal;white-space:break-spaces;display:flex;align-items:flex-start}::ng-deep .rd-cascader-colum .rd-cascader-menu-option .cascader-option-radio{padding-top:3px}::ng-deep .rd-cascader-colum+.rd-cascader-colum{border-left:1px solid var(--rd-input-fg-default)}::ng-deep .cascader-drawer{background-color:var(--rd-bg-website)}::ng-deep .cascader-drawer .cascader-drawer-header{padding:24px 8px 0;position:sticky;top:0;background-color:var(--rd-bg-website);z-index:1111}::ng-deep .cascader-drawer .cascader-drawer-header .header-title{display:flex;align-items:center;font-size:18px;font-weight:500;line-height:24px;justify-content:space-between}::ng-deep .cascader-drawer .cascader-drawer-sub-header{display:flex;align-items:center;margin-top:16px;gap:16px;font-size:14px;font-weight:500}::ng-deep .cascader-drawer .close-btn{width:24px;height:24px;cursor:pointer}::ng-deep .cascader-drawer .close-btn svg{width:24px}::ng-deep .cascader-drawer .back-btn{width:16px;height:16px;cursor:pointer}::ng-deep .cascader-drawer .ant-drawer-body{padding:0 16px 24px}::ng-deep .cascader-drawer .ant-drawer-content{background-color:transparent;color:var(--rd-copy-primary)}::ng-deep .cascader-drawer .cascader-drawer-search{border-radius:4px;border:1px solid var(--rd-input-fg-default);background:var(--rd-input-bg-default);height:44px;padding:0 16px;margin-top:16px}::ng-deep .cascader-drawer .cascader-drawer-search::placeholder{color:var(--rd-copy-disable)}::ng-deep .cascader-drawer .cascader-drawer-search .ant-input{background:var(--rd-input-bg-default);color:var(--rd-copy-primary)}::ng-deep .cascader-drawer .cascader-drawer-search.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-color:var(--rd-input-fg-hover)}::ng-deep .cascader-drawer .cascader-drawer-list{margin-top:16px}::ng-deep .cascader-drawer .cascader-drawer-option{padding:8px;min-height:44px;display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:14px;font-weight:400;line-height:28px;line-height:1.5}::ng-deep .cascader-drawer .cascader-drawer-option svg{margin-left:auto;flex-shrink:0}::ng-deep .cascader-drawer .cascader-drawer-option-active{border-radius:4px;background:rgba(42,123,255,.3)}::ng-deep .cascader-drawer .cascader-drawer-option.cascader-drawer-root-option{align-items:center}::ng-deep .cascader-drawer.theme-light{background-color:#fff}::ng-deep .cascader-drawer.theme-light .cascader-drawer-header{background-color:#fff}::ng-deep .cascader-drawer.theme-light .ant-drawer-content{color:var(--rd-copy-primary)}::ng-deep .cascader-drawer.theme-light .cascader-drawer-search{border-color:#dfe3ea;background:#fff}::ng-deep .cascader-drawer.theme-light .cascader-drawer-search .ant-input{background:#fff;color:var(--rd-copy-primary)}::ng-deep .cascader-drawer.theme-light .cascader-drawer-option-active{background:var(--rd-blue-100)}::ng-deep .cascader-drawer.theme-light .cascader-option-radio .ant-radio-inner{border-color:#cfd5df;background:#fff}::ng-deep .cascader-drawer.theme-light svg path{fill:var(--rd-copy-primary)}::ng-deep .cascader-option-radio{pointer-events:none}::ng-deep .cascader-option-radio .ant-radio-inner{border-radius:16px;border:1px solid var(--rd-control-border-empty);background:var(--rd-control-input-empty)}::ng-deep .cascader-option-radio .ant-radio-input:focus+.ant-radio-inner{box-shadow:none}::ng-deep .cascader-option-radio .ant-radio-wrapper:hover .ant-radio,::ng-deep .cascader-option-radio .ant-radio:hover .ant-radio-inner,::ng-deep .cascader-option-radio .ant-radio-input:focus+.ant-radio-inner{border-color:var(--rd-copy-brand)}::ng-deep .cascader-data-empty{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--rd-copy-primary)}\n"] }]
331
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { cascaderContainer: [{
332
+ type: ViewChild,
333
+ args: ['cascaderContainer']
334
+ }], valueText: [{
335
+ type: ViewChild,
336
+ args: ['valueText']
337
+ }], disabled: [{
338
+ type: Input
339
+ }], errorMessages: [{
340
+ type: Input
341
+ }], industryCodes: [{
342
+ type: Input
343
+ }], valueChange: [{
344
+ type: Output
345
+ }], label: [{
346
+ type: Input
347
+ }], name: [{
348
+ type: Input
349
+ }], theme: [{
350
+ type: Input
351
+ }], hostThemeLight: [{
352
+ type: HostBinding,
353
+ args: ['class.theme-light']
354
+ }], hostThemeDark: [{
355
+ type: HostBinding,
356
+ args: ['class.theme-dark']
357
+ }], onResize: [{
358
+ type: HostListener,
359
+ args: ['window:resize']
360
+ }] } });
361
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kdXN0cnktY2FzY2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLXNlbGVjdC9pbmR1c3RyeS1jYXNjYWRlci9pbmR1c3RyeS1jYXNjYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtbGliL3NyYy9saWIvbW9kdWxlcy9jdXN0b20tc2VsZWN0L2luZHVzdHJ5LWNhc2NhZGVyL2luZHVzdHJ5LWNhc2NhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFLWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBSVYsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBRWxCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBcUJ4QixNQUFNLE9BQU8seUJBQXlCO0lBS3BDLFlBQ1UsU0FBMkIsRUFDM0IsR0FBc0I7UUFEdEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFHdkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixrQkFBYSxHQUE4QjtZQUNsRCxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLE1BQU0sRUFBRSxtQkFBbUI7U0FDNUIsQ0FBQztRQUVRLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFFbkQsVUFBSyxHQUFHLGlDQUFpQyxDQUFDO1FBQzFDLFNBQUksR0FBRyxFQUFFLENBQUM7UUF1Qm5CLFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBRWpDLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFVBQUssR0FBYSxFQUFF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STt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7NEJBQ3hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3VJQUsrQixpQkFBaUI7c0JBQWhELFNBQVM7dUJBQUMsbUJBQW1CO2dCQUNOLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFNYixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBSUcsYUFBYTtzQkFBckIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVFLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUdGLGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsbUJBQW1CO2dCQU01QixhQUFhO3NCQURoQixXQUFXO3VCQUFDLGtCQUFrQjtnQkFxRi9CLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBPbkluaXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE56Q2FzY2FkZXJPcHRpb24gfSBmcm9tICduZy16b3Jyby1hbnRkL2Nhc2NhZGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWluZHVzdHJ5LWNhc2NhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2luZHVzdHJ5LWNhc2NhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5kdXN0cnktY2FzY2FkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbmR1c3RyeUNhc2NhZGVyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEluZHVzdHJ5Q2FzY2FkZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5kdXN0cnlDYXNjYWRlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIEBWaWV3Q2hpbGQoJ2Nhc2NhZGVyQ29udGFpbmVyJykgY2FzY2FkZXJDb250YWluZXIhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCd2YWx1ZVRleHQnKSB2YWx1ZVRleHQhOiBFbGVtZW50UmVmO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2VzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAgIHBhdHRlcm46ICdpbnZhbGlkX2Zvcm1hdCcsXG4gICAgY3VzdG9tOiAndmFsaWRhdGlvbl9mYWlsZWQnLFxuICB9O1xuICBASW5wdXQoKSBpbmR1c3RyeUNvZGVzOiBhbnk7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10gfCBudWxsPigpO1xuXG4gIEBJbnB1dCgpIGxhYmVsID0gJzFzdCBpbmR1c3RyeSBuYXR1cmUgb2YgYnVzaW5lc3MnO1xuICBASW5wdXQoKSBuYW1lID0gJyc7XG4gIC8qKiBMb2NhbCBjb2xvciBjb250ZXh0LiBPbWl0IHRvIGluaGVyaXQgYm9keSBgLnRoZW1lLWxpZ2h0YCAvIGAudGhlbWUtZGFya2AuICovXG4gIEBJbnB1dCgpIHRoZW1lPzogJ2xpZ2h0JyB8ICdkYXJrJztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoZW1lLWxpZ2h0JylcbiAgZ2V0IGhvc3RUaGVtZUxpZ2h0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRoZW1lID09PSAnbGlnaHQnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aGVtZS1kYXJrJylcbiAgZ2V0IGhvc3RUaGVtZURhcmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGhlbWUgPT09ICdkYXJrJztcbiAgfVxuXG4gIGdldCBkcmF3ZXJXcmFwQ2xhc3NOYW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdGhlbWVDbGFzcyA9XG4gICAgICB0aGlzLnRoZW1lID09PSAnbGlnaHQnXG4gICAgICAgID8gJ3RoZW1lLWxpZ2h0J1xuICAgICAgICA6IHRoaXMudGhlbWUgPT09ICdkYXJrJ1xuICAgICAgICAgID8gJ3RoZW1lLWRhcmsnXG4gICAgICAgICAgOiAnJztcbiAgICByZXR1cm4gWydjYXNjYWRlci1kcmF3ZXInLCB0aGVtZUNsYXNzXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpO1xuICB9XG4gIG9wdGlvbnM6IE56Q2FzY2FkZXJPcHRpb25bXSA9IFtdO1xuXG4gIHNlYXJjaElucHV0ID0gJyc7XG4gIHZhbHVlOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGRyYXdlck9wZW4gPSBmYWxzZTtcbiAgdmlldzogJ3Jvb3QnIHwgJ2NoaWxkcmVuJyA9ICdyb290JztcbiAgYWN0aXZlUGFyZW50OiBhbnkgfCBOekNhc2NhZGVyT3B0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgaXNGb2N1cyA9IGZhbHNlO1xuICBpc09wZW4gPSBmYWxzZTtcblxuICBzZWFyY2hUZXJtID0gJyc7XG4gIHNlYXJjaENoaWxkcmVuVGVybSA9ICcnO1xuICBmaWx0ZXJlZE9wdGlvbnM6IGFueSA9IFtdO1xuICBmaWx0ZXJlZENoaWxkcmVuOiBhbnkgPSBbXTtcbiAgcHJpdmF0ZSBzZWFyY2hUaW1lcjogYW55ID0gbnVsbDtcblxuICBwcml2YXRlIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsO1xuICAvLyDmt7vliqDmlrDlsZ7mgKdcbiAgaXNUZXh0T3ZlcmZsb3cgPSBmYWxzZTtcbiAgLy8g5L+u5pS5aXNUZXh0T3ZlcmZsb3fkuLrlr7nosaHvvIzorrDlvZXmm7Tor6bnu4bnmoTkv6Hmga9cbiAgdGV4dE92ZXJmbG93SW5mbyA9IHtcbiAgICBpc092ZXJmbG93OiBmYWxzZSxcbiAgICBsaW5lQ291bnQ6IDAsXG4gICAgbWF4TGluZXM6IDIsIC8vIOS9oOWPr+S7peiuvue9ruacgOWkp+WFgeiuuOeahOihjOaVsFxuICAgIGV4Y2VlZGVkTGluZXM6IDAsIC8vIOi2hei/h+eahOihjOaVsFxuICB9O1xuICBvdmVyZmxvd0xpbmVDb3VudCA9IDA7IC8vIOWunumZheWNoOeUqOeahOihjOaVsFxuICBtYXhBbGxvd2VkTGluZXMgPSAyOyAvLyDmnIDlpKflhYHorrjooYzmlbBcblxuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyOiBSZXNpemVPYnNlcnZlciB8IG51bGwgPSBudWxsO1xuICBnZXQgc2hvd0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIXRoaXMuY29udHJvbD8uaW52YWxpZCAmJiAodGhpcy5jb250cm9sPy50b3VjaGVkIHx8IHRoaXMuY29udHJvbD8uZGlydHkpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2w/LmVycm9ycykgcmV0dXJuICcnO1xuXG4gICAgY29uc3QgZmlyc3RFcnJvciA9IE9iamVjdC5rZXlzKHRoaXMuY29udHJvbD8uZXJyb3JzIHx8IHt9KVswXTtcbiAgICBjb25zdCBtc2cgPSB0aGlzLmVycm9yTWVzc2FnZXNbZmlyc3RFcnJvcl07XG5cbiAgICBzd2l0Y2ggKGZpcnN0RXJyb3IpIHtcbiAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBtc2cgfHxcbiAgICAgICAgICBgJHt0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICAgJ3BsZWFzZV9zZWxlY3QnLFxuICAgICAgICAgICl9JHt0aGlzLmxhYmVsLnRvTG93ZXJDYXNlKCl9YFxuICAgICAgICApO1xuICAgICAgY2FzZSAnY3VzdG9tJzpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICB0aGlzLmNvbnRyb2w/LmVycm9yc1snY3VzdG9tJ10gfHxcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd2YWxpZGF0aW9uX2ZhaWxlZCcpXG4gICAgICAgICk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy5lcnJvck1lc3NhZ2VzW2ZpcnN0RXJyb3JdKSB8fFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3ZhbGlkYXRpb25fZmFpbGVkJylcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmdbXSB8IG51bGwgfCB1bmRlZmluZWQpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgLy8g5ZON5bqU5byP77ya5piv5ZCm5piv56e75Yqo56uvXG4gIGlzTW9iaWxlID0gZmFsc2U7XG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICBvblJlc2l6ZSgpIHtcbiAgICB0aGlzLnVwZGF0ZUlzTW9iaWxlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZUluaXRPcHRpb25zKCk7XG4gICAgdGhpcy51cGRhdGVJc01vYmlsZSgpO1xuICAgIGNvbnN0IG1xID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDk5N3B4KScpO1xuICAgIGlmIChtcS5hZGRFdmVudExpc3RlbmVyKSB7XG4gICAgICBtcS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoKSA9PiB0aGlzLnVwZGF0ZUlzTW9iaWxlKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBtcS5hZGRMaXN0ZW5lcigoKSA9PiB0aGlzLnVwZGF0ZUlzTW9iaWxlKCkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snaW5kdXN0cnlDb2RlcyddKSB7XG4gICAgICB0aGlzLmhhbmRsZUluaXRPcHRpb25zKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0dXBSZXNpemVPYnNlcnZlcigpO1xuICAgIC8vIOWIneWni+ajgOa1i1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGVja1RleHRPdmVyZmxvdygpLCAwKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwUmVzaXplT2JzZXJ2ZXIoKSB7XG4gICAgaWYgKHR5cGVvZiBSZXNpemVPYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoZWNrVGV4dE92ZXJmbG93KCk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMudmFsdWVUZXh0Py5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnZhbHVlVGV4dC5uYXRpdmVFbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY2FzY2FkZXJDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuY2FzY2FkZXJDb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1RleHRPdmVyZmxvdygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudmFsdWVUZXh0Py5uYXRpdmVFbGVtZW50KSByZXR1cm47XG5cbiAgICBjb25zdCB0ZXh0RWxlbWVudCA9IHRoaXMudmFsdWVUZXh0Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAvLyDmlrnms5Ux77ya6K6h566X5a6e6ZmF6KGM5pWwXG4gICAgdGhpcy5jYWxjdWxhdGVMaW5lQ291bnQodGV4dEVsZW1lbnQpO1xuXG4gICAgLy8g5pa55rOVMu+8muWkh+eUqOWuveW6puajgOa1i1xuICAgIHRoaXMuY2hlY2tXaWR0aE92ZXJmbG93KHRleHRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlTGluZUNvdW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgLy8g6I635Y+W5YWD57Sg55qE5qC35byPXG4gICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgIGNvbnN0IGxpbmVIZWlnaHQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUubGluZUhlaWdodCk7XG4gICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gZWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgY29uc3QgY2xpZW50SGVpZ2h0ID0gZWxlbWVudC5jbGllbnRIZWlnaHQ7XG5cbiAgICAvLyDlpoLmnpxsaW5lSGVpZ2h05Li6MOaIlk5hTu+8jOS9v+eUqOm7mOiupOWAvFxuICAgIGNvbnN0IGFjdHVhbExpbmVIZWlnaHQgPSBsaW5lSGVpZ2h0ICYmICFpc05hTihsaW5lSGVpZ2h0KSA/IGxpbmVIZWlnaHQgOiAyMDsgLy8g6buY6K6kMjBweFxuXG4gICAgLy8g6K6h566X5a6e6ZmF6KGM5pWwXG4gICAgY29uc3QgbGluZUNvdW50ID0gTWF0aC5yb3VuZChzY3JvbGxIZWlnaHQgLyBhY3R1YWxMaW5lSGVpZ2h0KTtcbiAgICB0aGlzLm92ZXJmbG93TGluZUNvdW50ID0gbGluZUNvdW50O1xuXG4gICAgLy8g5qOA5p+l5piv5ZCm6LaF6L+H5pyA5aSn5YWB6K646KGM5pWwXG4gICAgdGhpcy5pc1RleHRPdmVyZmxvdyA9IGxpbmVDb3VudCA+IHRoaXMubWF4QWxsb3dlZExpbmVzO1xuXG4gICAgLy8g5L2g5Lmf5Y+v5Lul6K6w5b2V5pu05aSa5L+h5oGvXG4gICAgdGhpcy50ZXh0T3ZlcmZsb3dJbmZvID0ge1xuICAgICAgaXNPdmVyZmxvdzogbGluZUNvdW50ID4gdGhpcy5tYXhBbGxvd2VkTGluZXMsXG4gICAgICBsaW5lQ291bnQ6IGxpbmVDb3VudCxcbiAgICAgIG1heExpbmVzOiB0aGlzLm1heEFsbG93ZWRMaW5lcyxcbiAgICAgIGV4Y2VlZGVkTGluZXM6IE1hdGgubWF4KDAsIGxpbmVDb3VudCAtIHRoaXMubWF4QWxsb3dlZExpbmVzKSxcbiAgICB9O1xuXG4gICAgY29uc29sZS5sb2coYOaWh+acrOihjOaVsDogJHtsaW5lQ291bnR9LCDmmK/lkKbmuqLlh7o6ICR7dGhpcy5pc1RleHRPdmVyZmxvd31gKTtcblxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1dpZHRoT3ZlcmZsb3coZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAvLyDljp/mnInnmoTlrr3luqbmo4DmtYvpgLvovpHvvIjkvZzkuLrlpIfnlKjvvIlcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNhc2NhZGVyQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIGNvbnN0IGNvbnRhaW5lclN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKTtcbiAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gcGFyc2VGbG9hdChjb250YWluZXJTdHlsZS53aWR0aCk7XG4gICAgICBjb25zdCB0ZXh0V2lkdGggPSBlbGVtZW50LnNjcm9sbFdpZHRoO1xuICAgICAgY29uc3QgY29udGFpbmVyUGFkZGluZyA9XG4gICAgICAgIHBhcnNlRmxvYXQoY29udGFpbmVyU3R5bGUucGFkZGluZ0xlZnQpICtcbiAgICAgICAgcGFyc2VGbG9hdChjb250YWluZXJTdHlsZS5wYWRkaW5nUmlnaHQpO1xuICAgICAgY29uc3QgYXZhaWxhYmxlV2lkdGggPSBjb250YWluZXJXaWR0aCAtIGNvbnRhaW5lclBhZGRpbmcgLSA1NjtcblxuICAgICAgY29uc3QgaXNXaWR0aE92ZXJmbG93ID0gdGV4dFdpZHRoID4gYXZhaWxhYmxlV2lkdGg7XG5cbiAgICAgIC8vIOe7k+WQiOS4pOenjeajgOa1i+e7k+aenFxuICAgICAgaWYgKGlzV2lkdGhPdmVyZmxvdyAmJiAhdGhpcy5pc1RleHRPdmVyZmxvdykge1xuICAgICAgICB0aGlzLmlzVGV4dE92ZXJmbG93ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyDkv67mlLloYW5kbGVWYWx1ZUNoYW5nZeaWueazle+8jOa3u+WKoOW7tui/n+ajgOa1i1xuICBoYW5kbGVWYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG5cbiAgICAvLyDlop7liqDlu7bov5/vvIznoa7kv51ET03lrozlhajmm7TmlrBcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tUZXh0T3ZlcmZsb3coKTtcbiAgICAgIC8vIOWPr+iDvemcgOimgeWkmuasoeajgOa1i+S7peehruS/neWHhuehrlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoZWNrVGV4dE92ZXJmbG93KCksIDEwMCk7XG4gICAgfSwgNTApO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVJc01vYmlsZSgpIHtcbiAgICB0aGlzLmlzTW9iaWxlID0gd2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDk5N3B4KScpLm1hdGNoZXM7XG4gIH1cblxuICBjYXNjYWRlclNlYXJjaEZuID0gKGlucHV0OiBzdHJpbmcsIHBhdGg6IGFueVtdKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgaSA9IGlucHV0LnRvTG93ZXJDYXNlKCk7XG5cbiAgICByZXR1cm4gcGF0aC5zb21lKChwKSA9PiBwLmxhYmVsTG93ZXIuaW5jbHVkZXMoaSkpO1xuICB9O1xuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgb25WaXNpYmxlQ2hhbmdlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmlzT3BlbiA9IHZhbHVlO1xuICB9XG5cbiAgaGFuZGxlSW5pdE9wdGlvbnMoKSB7XG4gICAgaWYgKHRoaXMuaW5kdXN0cnlDb2Rlcz8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5pbmR1c3RyeUNvZGVzLm1hcCgoaXRlbTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICB2YWx1ZTogaXRlbS5vYmpJZCxcbiAgICAgICAgICBsYWJlbDogaXRlbS5hbm5leGEsXG4gICAgICAgICAgaXNMZWFmOiBmYWxzZSxcbiAgICAgICAgICBsYWJlbExvd2VyOiBpdGVtLmFubmV4YS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICAgIGNoaWxkcmVuOiBpdGVtLnN1Ykxpc3QubWFwKChzdWJJdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnN1Ykl0ZW0sXG4gICAgICAgICAgICAgIHZhbHVlOiBzdWJJdGVtLm9iaklkLFxuICAgICAgICAgICAgICBsYWJlbDogc3ViSXRlbS5hbm5leGEsXG4gICAgICAgICAgICAgIGxhYmVsTG93ZXI6IHN1Ykl0ZW0uYW5uZXhhLnRvTG93ZXJDYXNlKCksXG4gICAgICAgICAgICAgIGlzTGVhZjogdHJ1ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSksXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wdGlvbnMgPSBbXTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW107XG4gICAgfVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLSDnp7vliqjnq6/mk43kvZwgLS0tLS0tLS0tLVxuXG4gIG9wZW5EcmF3ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSAnJztcbiAgICB0aGlzLnNlYXJjaENoaWxkcmVuVGVybSA9ICcnO1xuICAgIHRoaXMuZHJhd2VyT3BlbiA9IHRydWU7XG4gICAgdGhpcy52aWV3ID0gJ3Jvb3QnO1xuICAgIHRoaXMuYWN0aXZlUGFyZW50ID0gbnVsbDtcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4gPSBbXTtcbiAgfVxuXG4gIGNsb3NlRHJhd2VyKCkge1xuICAgIHRoaXMuZHJhd2VyT3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgZ29CYWNrTW9iaWxlKCk6IHZvaWQge1xuICAgIHRoaXMudmlldyA9ICdyb290JztcbiAgICB0aGlzLmFjdGl2ZVBhcmVudCA9IG51bGw7XG4gICAgdGhpcy5zZWFyY2hDaGlsZHJlblRlcm0gPSAnJztcbiAgfVxuXG4gIHNlbGVjdExlYWZNb2JpbGUob3B0aW9uOiBhbnksIHBhcmVudD86IGFueSkge1xuICAgIGNvbnN0IHBhcmVudFZhbCA9IHBhcmVudD8udmFsdWUgPz8gdGhpcy5hY3RpdmVQYXJlbnQ/LnZhbHVlID8/IG51bGw7XG4gICAgY29uc3QgdmFsdWUgPSBbU3RyaW5nKHBhcmVudFZhbCksIFN0cmluZyhvcHRpb24udmFsdWUpXTtcbiAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmRyYXdlck9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLnZpZXcgPSAncm9vdCc7XG4gICAgdGhpcy5hY3RpdmVQYXJlbnQgPSBudWxsO1xuICB9XG5cbiAgb3BlbkNoaWxkcmVuTW9iaWxlKG9wdDogYW55KSB7XG4gICAgaWYgKCFvcHQ/LnZhbHVlKSByZXR1cm47XG4gICAgdGhpcy52aWV3ID0gJ2NoaWxkcmVuJztcbiAgICB0aGlzLmFjdGl2ZVBhcmVudCA9IG9wdDtcbiAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmFjdGl2ZVBhcmVudD8uY2hpbGRyZW4gfHwgW107XG4gICAgdGhpcy52YWx1ZSA9IFtvcHQudmFsdWVdO1xuICB9XG5cbiAgZG9Nb2JpbGVTZWFyY2godmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHRlcm0gPSB2YWx1ZT8udHJpbSgpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBjbGVhclRpbWVvdXQodGhpcy5zZWFyY2hUaW1lcik7XG5cbiAgICB0aGlzLnNlYXJjaFRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXRlcm0pIHtcbiAgICAgICAgLy8g5oGi5aSN5Y6f5pWw5o2uXG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmFjdGl2ZVBhcmVudD8uY2hpbGRyZW4gfHwgW107XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMudmlldyA9PT0gJ3Jvb3QnKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcigob3B0OiBhbnkpID0+XG4gICAgICAgICAgb3B0LmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybSksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmFjdGl2ZVBhcmVudD8uY2hpbGRyZW4uZmlsdGVyKFxuICAgICAgICAgIChjaGlsZDogYW55KSA9PiBjaGlsZC5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sIDE1MCk7XG4gIH1cbn1cbiIsIjxhcHAtcmQtZm9ybS1pdGVtXG4gIFt0eXBlXT1cIidzZWxlY3QnXCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2ZvY3VzXT1cIiEhc2VhcmNoSW5wdXQgfHwgaXNGb2N1cyB8fCBpc09wZW5cIlxuICBbdmFsdWVdPVwidmFsdWUgJiYgdmFsdWU/Lmxlbmd0aFwiXG4gIFtlcnJvck1lc3NhZ2VdPVwic2hvd0Vycm9yID8gY3VycmVudEVycm9yTWVzc2FnZSA6ICcnXCJcbiAgW3RoZW1lXT1cInRoZW1lXCJcbiAgKGNsaWNrKT1cIm9wZW5EcmF3ZXIoKVwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAncmQtY2FzY2FkZXItb3ZlcmZsb3ctY29udGFpbmVyJzogaXNUZXh0T3ZlcmZsb3csXG4gICAgJ3JkLWNhc2NhZGVyLW92ZXJmbG93LWNvbnRhaW5lci10aCc6IG92ZXJmbG93TGluZUNvdW50ID49IDMsXG4gIH1cIlxuPlxuICA8ZGl2ICNjYXNjYWRlckNvbnRhaW5lciBjbGFzcz1cImNhc2NhZGVyLWNvbnRhaW5lclwiPlxuICAgIDxuei1jYXNjYWRlclxuICAgICAgW256T3B0aW9uc109XCJvcHRpb25zXCJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgW256RGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW256U2hvd1NlYXJjaF09XCJ7IGZpbHRlcjogY2FzY2FkZXJTZWFyY2hGbiB9XCJcbiAgICAgIFtuekFsbG93Q2xlYXJdPVwiZmFsc2VcIlxuICAgICAgbnpFeHBhbmRUcmlnZ2VyPVwiY2xpY2tcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbbnpMYWJlbFJlbmRlcl09XCJyZW5kZXJUcGxcIlxuICAgICAgW256T3B0aW9uUmVuZGVyXT1cIm9wdGlvblRwbFwiXG4gICAgICBbbnpFeHBhbmRJY29uXT1cImN1c3RvbUV4cGFuZEljb25cIlxuICAgICAgKG56VmlzaWJsZUNoYW5nZSk9XCJvblZpc2libGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBuekNvbHVtbkNsYXNzTmFtZT1cInJkLWNhc2NhZGVyLWNvbHVtXCJcbiAgICAgIGNsYXNzPVwicmQtY2FzY2FkZXJcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAncmQtY2FzY2FkZXItZGlzYWJsZWQtb3Blbic6IGlzTW9iaWxlLFxuICAgICAgICAncmQtY2FzY2FkZXItaXMtdGV4dC1vdmVyZmxvdyc6IGlzVGV4dE92ZXJmbG93LFxuICAgICAgfVwiXG4gICAgPlxuICAgIDwvbnotY2FzY2FkZXI+XG4gIDwvZGl2PlxuPC9hcHAtcmQtZm9ybS1pdGVtPlxuXG48bnotZHJhd2VyXG4gIFtuelZpc2libGVdPVwiZHJhd2VyT3BlbiAmJiBpc01vYmlsZVwiXG4gIFtuelBsYWNlbWVudF09XCInYm90dG9tJ1wiXG4gIFtuekhlaWdodF09XCInNzB2aCdcIlxuICBbbnpUaXRsZV09XCInJ1wiXG4gIFtuekNsb3NhYmxlXT1cImZhbHNlXCJcbiAgW256V3JhcENsYXNzTmFtZV09XCJkcmF3ZXJXcmFwQ2xhc3NOYW1lXCJcbiAgKG56T25DbG9zZSk9XCJjbG9zZURyYXdlcigpXCJcbj5cbiAgPGRpdiAqbnpEcmF3ZXJDb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJjYXNjYWRlci1kcmF3ZXItaGVhZGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgIHt7IFwic2VsZWN0X25hdHVyZV9vZl9idXNpbmVzc1wiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbG9zZS1idG5cIiAqbmdJZj1cInZpZXcgPT09ICdyb290J1wiIChjbGljayk9XCJjbG9zZURyYXdlcigpXCI+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICB3aWR0aD1cIjI0XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjI0XCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgZD1cIk00LjQ2OTY3IDQuNDY5NjdDNC43NjI1NiA0LjE3Njc4IDUuMjM3NDQgNC4xNzY3OCA1LjUzMDMzIDQuNDY5NjdMMTIgMTAuOTM5M0wxOC40Njk3IDQuNDY5NjdDMTguNzYyNiA0LjE3Njc4IDE5LjIzNzQgNC4xNzY3OCAxOS41MzAzIDQuNDY5NjdDMTkuODIzMiA0Ljc2MjU2IDE5LjgyMzIgNS4yMzc0NCAxOS41MzAzIDUuNTMwMzNMMTMuMDYwNyAxMkwxOS41MzAzIDE4LjQ2OTdDMTkuODIzMiAxOC43NjI2IDE5LjgyMzIgMTkuMjM3NCAxOS41MzAzIDE5LjUzMDNDMTkuMjM3NCAxOS44MjMyIDE4Ljc2MjYgMTkuODIzMiAxOC40Njk3IDE5LjUzMDNMMTIgMTMuMDYwN0w1LjUzMDMzIDE5LjUzMDNDNS4yMzc0NCAxOS44MjMyIDQuNzYyNTYgMTkuODIzMiA0LjQ2OTY3IDE5LjUzMDNDNC4xNzY3OCAxOS4yMzc0IDQuMTc2NzggMTguNzYyNiA0LjQ2OTY3IDE4LjQ2OTdMMTAuOTM5MyAxMkw0LjQ2OTY3IDUuNTMwMzNDNC4xNzY3OCA1LjIzNzQ0IDQuMTc2NzggNC43NjI1NiA0LjQ2OTY3IDQuNDY5NjdaXCJcbiAgICAgICAgICAgICAgZmlsbD1cInZhcigtLXJkLWNvcHktcHJpbWFyeSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG56LWlucHV0LWdyb3VwXG4gICAgICAgIGNsYXNzPVwiY2FzY2FkZXItZHJhd2VyLXNlYXJjaFwiXG4gICAgICAgIFtuelByZWZpeF09XCJwcmVmaXhJY29uU2VhcmNoXCJcbiAgICAgICAgbnpDbGVhcmFibGVcbiAgICAgICAgKm5nSWY9XCJ2aWV3ID09PSAncm9vdCdcIlxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBuei1pbnB1dFxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VhcmNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJkb01vYmlsZVNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvbnotaW5wdXQtZ3JvdXA+XG5cbiAgICAgIDxuei1pbnB1dC1ncm91cFxuICAgICAgICAqbmdJZj1cInZpZXcgPT09ICdjaGlsZHJlbidcIlxuICAgICAgICBjbGFzcz1cImNhc2NhZGVyLWRyYXdlci1zZWFyY2hcIlxuICAgICAgICBbbnpQcmVmaXhdPVwicHJlZml4SWNvblNlYXJjaFwiXG4gICAgICAgIG56Q2xlYXJhYmxlXG4gICAgICA+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIG56LWlucHV0XG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidzZWFyY2gnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaENoaWxkcmVuVGVybVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZG9Nb2JpbGVTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICA8L256LWlucHV0LWdyb3VwPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FzY2FkZXItZHJhd2VyLXN1Yi1oZWFkZXJcIiAqbmdJZj1cInZpZXcgPT09ICdjaGlsZHJlbidcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJhY2stYnRuXCIgKGNsaWNrKT1cImdvQmFja01vYmlsZSgpXCI+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICB3aWR0aD1cIjE2XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjE2XCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgZD1cIk0xMS4zNDIyIDIuMTg0MzdDMTEuNTYyNiAyLjQxOTQgMTEuNTUwNyAyLjc4ODU2IDExLjMxNTYgMy4wMDg5TDYuNDM2MjMgNy41ODMzNEwxMS4zMTU2IDEyLjE1NzhDMTEuNTUwNyAxMi4zNzgxIDExLjU2MjYgMTIuNzQ3MyAxMS4zNDIyIDEyLjk4MjNDMTEuMTIxOSAxMy4yMTczIDEwLjc1MjcgMTMuMjI5MiAxMC41MTc3IDEzLjAwODlMNS4xODQzNyA4LjAwODlDNS4wNjY3NCA3Ljg5ODYyIDUgNy43NDQ1NyA1IDcuNTgzMzRDNSA3LjQyMjEgNS4wNjY3NCA3LjI2ODA1IDUuMTg0MzcgNy4xNTc3N0wxMC41MTc3IDIuMTU3NzdDMTAuNzUyNyAxLjkzNzQzIDExLjEyMTkgMS45NDkzNCAxMS4zNDIyIDIuMTg0MzdaXCJcbiAgICAgICAgICAgICAgZmlsbD1cInZhcigtLXJkLWNvcHktcHJpbWFyeSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGlsZHJlbi10aXRsZVwiPnt7IGFjdGl2ZVBhcmVudD8ubGFiZWwgfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cInZpZXcgPT09ICdyb290J1wiIGNsYXNzPVwiY2FzY2FkZXItZHJhd2VyLWxpc3RcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJlZE9wdGlvbnM/Lmxlbmd0aFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdCBvZiBmaWx0ZXJlZE9wdGlvbnNcIlxuICAgICAgICAgIChjbGljayk9XCJvcGVuQ2hpbGRyZW5Nb2JpbGUob3B0KVwiXG4gICAgICAgICAgY2xhc3M9XCJjYXNjYWRlci1kcmF3ZXItb3B0aW9uIGNhc2NhZGVyLWRyYXdlci1yb290LW9wdGlvblwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2Nhc2NhZGVyLWRyYXdlci1vcHRpb24tYWN0aXZlJzogb3B0LnZhbHVlID09PSB2YWx1ZT8uWzBdLFxuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgb3B0LmxhYmVsIH19XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbUV4cGFuZEljb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJ2aWV3ID09PSAnY2hpbGRyZW4nXCIgY2xhc3M9XCJjYXNjYWRlci1kcmF3ZXItbGlzdFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlcmVkQ2hpbGRyZW4/Lmxlbmd0aFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGZpbHRlcmVkQ2hpbGRyZW5cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RMZWFmTW9iaWxlKGNoaWxkKVwiXG4gICAgICAgICAgY2xhc3M9XCJjYXNjYWRlci1kcmF3ZXItb3B0aW9uIGNhc2NhZGVyLWRyYXdlci1jaGlsZHJlbi1vcHRpb25cIlxuICAgICAgICA+XG4gICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBjbGFzcz1cImNhc2NhZGVyLW9wdGlvbi1yYWRpb1wiXG4gICAgICAgICAgICBuei1yYWRpb1xuICAgICAgICAgICAgW25nTW9kZWxdPVwiY2hpbGQudmFsdWUgPT09IHZhbHVlPy5bMV1cIlxuICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgIHt7IGNoaWxkLmxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uei1kcmF3ZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjcmVuZGVyVHBsXG4gIGxldC1sYWJlbHM9XCJsYWJlbHNcIlxuICBsZXQtc2VsZWN0ZWRPcHRpb25zPVwic2VsZWN0ZWRPcHRpb25zXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGFiZWwgb2YgbGFiZWxzOyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFzdFwiPlxuICAgICAgPHNwYW4gI3ZhbHVlVGV4dCBjbGFzcz1cImNhc2NhZGVyLXZhbHVlLXRleHRcIiBbdGl0bGVdPVwibGFiZWxcIj5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDwvc3Bhbj48L25nLWNvbnRhaW5lclxuICAgID5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI29wdGlvblRwbCBsZXQtb3B0aW9uPlxuICA8ZGl2IGNsYXNzPVwicmQtY2FzY2FkZXItbWVudS1vcHRpb25cIj5cbiAgICA8bGFiZWxcbiAgICAgICpuZ0lmPVwib3B0aW9uLmlzTGVhZlwiXG4gICAgICBjbGFzcz1cImNhc2NhZGVyLW9wdGlvbi1yYWRpb1wiXG4gICAgICBuei1yYWRpb1xuICAgICAgW25nTW9kZWxdPVwib3B0aW9uLnZhbHVlID09PSB2YWx1ZT8uWzFdXCJcbiAgICA+PC9sYWJlbFxuICAgID57eyBvcHRpb24ubGFiZWwgfX1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2N1c3RvbUV4cGFuZEljb24+XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB3aWR0aD1cIjE2XCJcbiAgICBoZWlnaHQ9XCIxNlwiXG4gICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICA+XG4gICAgPHBhdGhcbiAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICBkPVwiTTQuOTA3NzcgMi42MDIzNEM1LjEyODExIDIuMzY3MzEgNS40OTcyNyAyLjM1NTQgNS43MzIzIDIuNTc1NzRMMTEuMDY1NiA3LjU3NTc0QzExLjE4MzMgNy42ODYwMiAxMS4yNSA3Ljg0MDA3IDExLjI1IDguMDAxM0MxMS4yNSA4LjE2MjU0IDExLjE4MzMgOC4zMTY1OSAxMS4wNjU2IDguNDI2ODdMNS43MzIzIDEzLjQyNjlDNS40OTcyNyAxMy42NDcyIDUuMTI4MTEgMTMuNjM1MyA0LjkwNzc3IDEzLjQwMDNDNC42ODc0MyAxMy4xNjUyIDQuNjk5MzQgMTIuNzk2MSA0LjkzNDM3IDEyLjU3NTdMOS44MTM3NyA4LjAwMTNMNC45MzQzNyAzLjQyNjg3QzQuNjk5MzQgMy4yMDY1MiA0LjY4NzQzIDIuODM3MzcgNC45MDc3NyAyLjYwMjM0WlwiXG4gICAgICBmaWxsPVwidmFyKC0tcmQtY29weS1wcmltYXJ5KVwiXG4gICAgLz5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3ByZWZpeEljb25TZWFyY2g+XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB3aWR0aD1cIjE2XCJcbiAgICBoZWlnaHQ9XCIxNlwiXG4gICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICA+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMTQuNDk1MSAxMy42OTQ4TDExLjM5NjIgMTAuNTk1OUMxMi4zMTc1IDkuNDY5MDIgMTIuNzcwNCA4LjAzMTIyIDEyLjY2MTMgNi41Nzk4M0MxMi41NTIyIDUuMTI4NDQgMTEuODg5NCAzLjc3NDUxIDEwLjgxIDIuNzk4MDdDOS43MzA2NiAxLjgyMTY0IDguMzE3MyAxLjI5NzQxIDYuODYyMjcgMS4zMzM4MUM1LjQwNzIzIDEuMzcwMjEgNC4wMjE4NSAxLjk2NDQ1IDIuOTkyNjYgMi45OTM2NEMxLjk2MzQ4IDQuMDIyODIgMS4zNjkyMyA1LjQwODIgMS4zMzI4MyA2Ljg2MzIzQzEuMjk2NDMgOC4zMTgyNiAxLjgyMDY2IDkuNzMxNjIgMi43OTcxIDEwLjgxMUMzLjc3MzU0IDExLjg5MDMgNS4xMjc0NyAxMi41NTMxIDYuNTc4ODcgMTIuNjYyMkM4LjAzMDI2IDEyLjc3MTMgOS40NjgwNyAxMi4zMTg0IDEwLjU5NDkgMTEuMzk3MkwxMy42OTM4IDE0LjUwMzJDMTMuODAyNyAxNC42MDczIDEzLjk0NzQgMTQuNjY1NiAxNC4wOTggMTQuNjY2M0MxNC4yMTA1IDE0LjY2NjEgMTQuMzIwNCAxNC42MzI1IDE0LjQxMzggMTQuNTY5N0MxNC41MDcxIDE0LjUwNjkgMTQuNTc5NiAxNC40MTc4IDE0LjYyMjIgMTQuMzEzNkMxNC42NjQ4IDE0LjIwOTUgMTQuNjc1NCAxNC4wOTUxIDE0LjY1MjggMTMuOTg0OUMxNC42MzAyIDEzLjg3NDcgMTQuNTc1MyAxMy43NzM3IDE0LjQ5NTEgMTMuNjk0OFpNNy4wMDY2NyAxMS41NDYxQzYuMTA5MDUgMTEuNTQ2MSA1LjIzMTU4IDExLjI3OTkgNC40ODUyMyAxMC43ODEyQzMuNzM4ODkgMTAuMjgyNSAzLjE1NzE4IDkuNTczNzIgMi44MTM2NyA4Ljc0NDQzQzIuNDcwMTcgNy45MTUxMyAyLjM4MDI5IDcuMDAyNiAyLjU1NTQxIDYuMTIyMjNDMi43MzA1MyA1LjI0MTg1IDMuMTYyNzcgNC40MzMxNyAzLjc5NzQ5IDMuNzk4NDZDNC40MzIyMSAzLjE2Mzc1IDUuMjQwODggMi43MzE1IDYuMTIxMjYgMi41NTYzOEM3LjAwMTY0IDIuMzgxMjcgNy45MTQxNyAyLjQ3MTE0IDguNzQzNDcgMi44MTQ2NUM5LjU3Mjc3IDMuMTU4MTUgMTAuMjgxNiAzLjczOTg2IDEwLjc4MDMgNC40ODYyQzExLjI3OSA1LjIzMjU1IDExLjU0NTEgNi4xMTAwMSAxMS41NDUxIDcuMDA3NjNDMTEuNTQzMyA4LjIxMDczIDExLjA2NDUgOS4zNjQwMiAxMC4yMTM4IDEwLjIxNDdDOS4zNjMwNiAxMS4wNjU1IDguMjA5NzcgMTEuNTQ0MiA3LjAwNjY3IDExLjU0NjFaXCJcbiAgICAgIGZpbGw9XCJ2YXIoLS1yZC1jb3B5LXByaW1hcnkpXCJcbiAgICAvPlxuICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,60 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { FormsModule } from "@angular/forms";
4
+ import { NzCascaderModule } from "ng-zorro-antd/cascader";
5
+ import { NzDrawerModule } from "ng-zorro-antd/drawer";
6
+ import { NzInputModule } from "ng-zorro-antd/input";
7
+ import { NzListModule } from "ng-zorro-antd/list";
8
+ import { NzSpinModule } from "ng-zorro-antd/spin";
9
+ import { NzButtonModule } from "ng-zorro-antd/button";
10
+ import { IndustryCascaderComponent } from "./industry-cascader.component";
11
+ import { FormItemModule } from "../../form-item/form-item.module";
12
+ import { NzRadioModule } from "ng-zorro-antd/radio";
13
+ import { TranslateModule } from "@ngx-translate/core";
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@ngx-translate/core";
16
+ export class IndustryCascaderModule {
17
+ }
18
+ IndustryCascaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IndustryCascaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ IndustryCascaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: IndustryCascaderModule, declarations: [IndustryCascaderComponent], imports: [CommonModule,
20
+ FormsModule,
21
+ NzCascaderModule,
22
+ NzDrawerModule,
23
+ NzInputModule,
24
+ NzListModule,
25
+ NzSpinModule,
26
+ NzButtonModule,
27
+ FormItemModule,
28
+ NzRadioModule, i1.TranslateModule], exports: [IndustryCascaderComponent] });
29
+ IndustryCascaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IndustryCascaderModule, imports: [CommonModule,
30
+ FormsModule,
31
+ NzCascaderModule,
32
+ NzDrawerModule,
33
+ NzInputModule,
34
+ NzListModule,
35
+ NzSpinModule,
36
+ NzButtonModule,
37
+ FormItemModule,
38
+ NzRadioModule,
39
+ TranslateModule.forChild()] });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IndustryCascaderModule, decorators: [{
41
+ type: NgModule,
42
+ args: [{
43
+ declarations: [IndustryCascaderComponent],
44
+ imports: [
45
+ CommonModule,
46
+ FormsModule,
47
+ NzCascaderModule,
48
+ NzDrawerModule,
49
+ NzInputModule,
50
+ NzListModule,
51
+ NzSpinModule,
52
+ NzButtonModule,
53
+ FormItemModule,
54
+ NzRadioModule,
55
+ TranslateModule.forChild(),
56
+ ],
57
+ exports: [IndustryCascaderComponent],
58
+ }]
59
+ }] });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kdXN0cnktY2FzY2FkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLXNlbGVjdC9pbmR1c3RyeS1jYXNjYWRlci9pbmR1c3RyeS1jYXNjYWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQW1CdEQsTUFBTSxPQUFPLHNCQUFzQjs7b0hBQXRCLHNCQUFzQjtxSEFBdEIsc0JBQXNCLGlCQWhCbEIseUJBQXlCLGFBRXRDLFlBQVk7UUFDWixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxhQUFhO1FBQ2IsWUFBWTtRQUNaLFlBQVk7UUFDWixjQUFjO1FBQ2QsY0FBYztRQUNkLGFBQWEsaUNBR0wseUJBQXlCO3FIQUV4QixzQkFBc0IsWUFkL0IsWUFBWTtRQUNaLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLGFBQWE7UUFDYixZQUFZO1FBQ1osWUFBWTtRQUNaLGNBQWM7UUFDZCxjQUFjO1FBQ2QsYUFBYTtRQUNiLGVBQWUsQ0FBQyxRQUFRLEVBQUU7NEZBSWpCLHNCQUFzQjtrQkFqQmxDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGVBQWUsQ0FBQyxRQUFRLEVBQUU7cUJBQzNCO29CQUNELE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBOekNhc2NhZGVyTW9kdWxlIH0gZnJvbSBcIm5nLXpvcnJvLWFudGQvY2FzY2FkZXJcIjtcbmltcG9ydCB7IE56RHJhd2VyTW9kdWxlIH0gZnJvbSBcIm5nLXpvcnJvLWFudGQvZHJhd2VyXCI7XG5pbXBvcnQgeyBOeklucHV0TW9kdWxlIH0gZnJvbSBcIm5nLXpvcnJvLWFudGQvaW5wdXRcIjtcbmltcG9ydCB7IE56TGlzdE1vZHVsZSB9IGZyb20gXCJuZy16b3Jyby1hbnRkL2xpc3RcIjtcbmltcG9ydCB7IE56U3Bpbk1vZHVsZSB9IGZyb20gXCJuZy16b3Jyby1hbnRkL3NwaW5cIjtcbmltcG9ydCB7IE56QnV0dG9uTW9kdWxlIH0gZnJvbSBcIm5nLXpvcnJvLWFudGQvYnV0dG9uXCI7XG5cbmltcG9ydCB7IEluZHVzdHJ5Q2FzY2FkZXJDb21wb25lbnQgfSBmcm9tIFwiLi9pbmR1c3RyeS1jYXNjYWRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IEZvcm1JdGVtTW9kdWxlIH0gZnJvbSBcIi4uLy4uL2Zvcm0taXRlbS9mb3JtLWl0ZW0ubW9kdWxlXCI7XG5pbXBvcnQgeyBOelJhZGlvTW9kdWxlIH0gZnJvbSBcIm5nLXpvcnJvLWFudGQvcmFkaW9cIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0luZHVzdHJ5Q2FzY2FkZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE56Q2FzY2FkZXJNb2R1bGUsXG4gICAgTnpEcmF3ZXJNb2R1bGUsXG4gICAgTnpJbnB1dE1vZHVsZSxcbiAgICBOekxpc3RNb2R1bGUsXG4gICAgTnpTcGluTW9kdWxlLFxuICAgIE56QnV0dG9uTW9kdWxlLFxuICAgIEZvcm1JdGVtTW9kdWxlLFxuICAgIE56UmFkaW9Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksXG4gIF0sXG4gIGV4cG9ydHM6IFtJbmR1c3RyeUNhc2NhZGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgSW5kdXN0cnlDYXNjYWRlck1vZHVsZSB7fVxuIl19