ca-components 1.0.93 → 1.0.95

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 (39) hide show
  1. package/assets/scss/ca-global.scss +3 -1
  2. package/esm2022/lib/components/ca-input/base-classes/ca-input-base-helpres.mjs +1 -1
  3. package/esm2022/lib/components/ca-input/components/ca-input-commands/ca-input-commands.component.mjs +3 -3
  4. package/esm2022/lib/components/ca-input/config/ca-input.config.mjs +1 -1
  5. package/esm2022/lib/components/ca-input/directives/command-visible.directive.mjs +77 -0
  6. package/esm2022/lib/components/ca-input/directives/min-max-value.directive.mjs +1 -1
  7. package/esm2022/lib/components/ca-input/directives/restrict-input.directive.mjs +19 -22
  8. package/esm2022/lib/components/ca-input/input-test/input-test.component.mjs +94 -49
  9. package/esm2022/lib/components/ca-input/mixins/input-command.mixin.mjs +130 -0
  10. package/esm2022/lib/components/ca-input/mixins/input-helper.mixin.mjs +49 -0
  11. package/esm2022/lib/components/ca-input/mixins/restriction-pipe.mixin.mjs +36 -0
  12. package/esm2022/lib/components/ca-input/pipes/input-pattern.pipe.mjs +2 -4
  13. package/esm2022/lib/components/ca-input-datetime-picker/ca-input-datetime-picker.component.mjs +34 -20
  14. package/esm2022/lib/components/ca-input-dropdown/ca-input-dropdown.component.mjs +6 -6
  15. package/esm2022/lib/components/ca-map/ca-map.component.mjs +7 -7
  16. package/esm2022/lib/components/ca-map-dropdown/ca-map-dropdown.component.mjs +24 -24
  17. package/esm2022/lib/components/ca-map-dropdown/enums/index.mjs +2 -0
  18. package/esm2022/lib/components/ca-map-dropdown/enums/map-dropdown-string.enum.mjs +18 -0
  19. package/esm2022/lib/components/ca-map-dropdown/utils/svg-routes/index.mjs +2 -0
  20. package/esm2022/lib/components/ca-modal-button/ca-modal-button.component.mjs +6 -6
  21. package/esm2022/lib/models/mixin.model.mjs +2 -0
  22. package/fesm2022/ca-components.mjs +1029 -680
  23. package/fesm2022/ca-components.mjs.map +1 -1
  24. package/lib/components/ca-input/config/ca-input.config.d.ts +3 -0
  25. package/lib/components/ca-input/directives/command-visible.directive.d.ts +20 -0
  26. package/lib/components/ca-input/directives/restrict-input.directive.d.ts +14 -2
  27. package/lib/components/ca-input/input-test/input-test.component.d.ts +69 -14
  28. package/lib/components/ca-input/mixins/input-command.mixin.d.ts +24 -0
  29. package/lib/components/ca-input/mixins/input-helper.mixin.d.ts +34 -0
  30. package/lib/components/ca-input/mixins/restriction-pipe.mixin.d.ts +12 -0
  31. package/lib/components/ca-input-datetime-picker/ca-input-datetime-picker.component.d.ts +1 -1
  32. package/lib/components/ca-map-dropdown/ca-map-dropdown.component.d.ts +10 -9
  33. package/lib/components/ca-map-dropdown/enums/index.d.ts +1 -0
  34. package/lib/components/ca-map-dropdown/enums/map-dropdown-string.enum.d.ts +15 -0
  35. package/lib/components/ca-map-dropdown/utils/svg-routes/index.d.ts +1 -0
  36. package/lib/models/mixin.model.d.ts +1 -0
  37. package/package.json +1 -1
  38. package/src/assets/ca-components/svg/input/ic_fuel_card.svg +3 -0
  39. package/src/assets/ca-components/svg/input/ic_input_reset.svg +4 -0
@@ -0,0 +1,130 @@
1
+ import { InputCommandsAction, InputCommandsType } from '../enums';
2
+ export function InputCommandMixin(Base) {
3
+ return class extends Base {
4
+ // #region OnCommands
5
+ onCommands(e) {
6
+ const { event, type, action } = e;
7
+ event.stopPropagation();
8
+ event.preventDefault();
9
+ setTimeout(() => {
10
+ this.inputElement.nativeElement.focus();
11
+ }, 0);
12
+ switch (type) {
13
+ case InputCommandsType.PM_INCREMENT_DECREMENT:
14
+ this.handlePmIncrementDecrement(action);
15
+ break;
16
+ case InputCommandsType.CONFIRM_CANCEL:
17
+ this.handleConfirmCancel(action);
18
+ break;
19
+ case InputCommandsType.MONTHS:
20
+ this.handleMonths(action);
21
+ break;
22
+ default:
23
+ break;
24
+ }
25
+ }
26
+ // #region
27
+ handleMonths(action) {
28
+ //clearTimeout(this.inputCommandsTimeout);
29
+ switch (action) {
30
+ case InputCommandsAction.MINUS:
31
+ this.handleChangeInputAndUpdateControl((this.inputElement.nativeElement.value
32
+ ? +this.inputElement.nativeElement.value
33
+ : 0) - 1);
34
+ break;
35
+ case InputCommandsAction.PLUS:
36
+ this.handleChangeInputAndUpdateControl((this.inputElement.nativeElement.value
37
+ ? +this.inputElement.nativeElement.value
38
+ : 0) + 1);
39
+ break;
40
+ default:
41
+ break;
42
+ }
43
+ }
44
+ // #endregion
45
+ handleConfirmCancel(action) {
46
+ switch (action) {
47
+ case InputCommandsAction.CONFIRM:
48
+ this.confirmCommand();
49
+ break;
50
+ case InputCommandsAction.CANCEL:
51
+ this.cancelCommand();
52
+ break;
53
+ default:
54
+ break;
55
+ }
56
+ // this.superControl.control?.setErrors(null);
57
+ // this._inputConfig.dropdownLabelNew = false;
58
+ // this._inputConfig.commands!.active = false;
59
+ // this._inputConfig.blackInput = false;
60
+ // this.isEditInput = false;
61
+ // this.isVisibleCommands = false
62
+ // this.isFocusInput = false;
63
+ }
64
+ cancelCommand() {
65
+ //this.setCommandEvent.next({ action: InputCommandsAction.CANCEL });
66
+ }
67
+ confirmCommand() {
68
+ // this.setCommandEvent.next({
69
+ // data: this.superControl.control?.value,
70
+ // action: InputCommandsAction.CONFIRM,
71
+ // mode:
72
+ // !this._inputConfig.dropdownLabelNew &&
73
+ // this._inputConfig.name !== 'Input Dropdown Bank Name'
74
+ // ? 'edit'
75
+ // : 'new',
76
+ // });
77
+ }
78
+ // #region HandlePmIncrementDecrement
79
+ handlePmIncrementDecrement(action) {
80
+ const numericValue = this.inputElement.nativeElement.value;
81
+ // Remove thousands separators (`,`) before parsing
82
+ let value = parseFloat(numericValue.replace(/,/g, ''));
83
+ switch (action) {
84
+ case InputCommandsAction.DECREMENT:
85
+ case InputCommandsAction.INCREMENT:
86
+ const incdecValue = this.decrementIncrementDecrementPmValue(value, action);
87
+ this.handleChangeInputAndUpdateControl(action === InputCommandsAction.INCREMENT
88
+ ? value + incdecValue
89
+ : value - incdecValue);
90
+ break;
91
+ case InputCommandsAction.RESET:
92
+ this.resetPmValue();
93
+ break;
94
+ default:
95
+ break;
96
+ }
97
+ }
98
+ // #region DecrementPmValue
99
+ decrementIncrementDecrementPmValue(value, action) {
100
+ if (value >= 10000 && value < 20000) {
101
+ return 1000;
102
+ }
103
+ else if (value >= 20000 && value < 50000) {
104
+ return 5000;
105
+ }
106
+ else if (value >= 50000 && value < 100000) {
107
+ return 10000;
108
+ }
109
+ else if (value >= 500000 &&
110
+ action === InputCommandsAction.INCREMENT) {
111
+ return 0;
112
+ }
113
+ else if (value >= 100000) {
114
+ return 20000;
115
+ }
116
+ else if (value <= 5000 &&
117
+ action === InputCommandsAction.DECREMENT) {
118
+ return 0;
119
+ }
120
+ return 500;
121
+ }
122
+ // #endregion
123
+ // #region ResetPmValue
124
+ resetPmValue() {
125
+ if (this._inputConfig?.defaultValue)
126
+ this.handleChangeInputAndUpdateControl(this._inputConfig?.defaultValue);
127
+ }
128
+ };
129
+ }
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29tbWFuZC5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWlucHV0L21peGlucy9pbnB1dC1jb21tYW5kLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUlsRSxNQUFNLFVBQVUsaUJBQWlCLENBTS9CLElBQU87SUFDTCxPQUFPLEtBQU0sU0FBUSxJQUFJO1FBQ3JCLHFCQUFxQjtRQUNkLFVBQVUsQ0FBQyxDQUFNO1lBQ3BCLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNsQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRXZCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDNUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRU4sUUFBUSxJQUFJLEVBQUUsQ0FBQztnQkFDWCxLQUFLLGlCQUFpQixDQUFDLHNCQUFzQjtvQkFDekMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxNQUFNO2dCQUNWLEtBQUssaUJBQWlCLENBQUMsY0FBYztvQkFDakMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNqQyxNQUFNO2dCQUNWLEtBQUssaUJBQWlCLENBQUMsTUFBTTtvQkFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDMUIsTUFBTTtnQkFDVjtvQkFDSSxNQUFNO1lBQ2QsQ0FBQztRQUNMLENBQUM7UUFFRCxVQUFV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RUFBRSxDQUFDO2dCQUN6QyxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO2lCQUFNLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUM7Z0JBQzFDLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUM7aUJBQU0sSUFDSCxLQUFLLElBQUksTUFBTTtnQkFDZixNQUFNLEtBQUssbUJBQW1CLENBQUMsU0FBUyxFQUMxQyxDQUFDO2dCQUNDLE9BQU8sQ0FBQyxDQUFDO1lBQ2IsQ0FBQztpQkFBTSxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztpQkFBTSxJQUNILEtBQUssSUFBSSxJQUFJO2dCQUNiLE1BQU0sS0FBSyxtQkFBbUIsQ0FBQyxTQUFTLEVBQzFDLENBQUM7Z0JBQ0MsT0FBTyxDQUFDLENBQUM7WUFDYixDQUFDO1lBRUQsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDO1FBQ0QsYUFBYTtRQUViLHVCQUF1QjtRQUNoQixZQUFZO1lBQ2YsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLFlBQVk7Z0JBQy9CLElBQUksQ0FBQyxpQ0FBaUMsQ0FDbEMsSUFBSSxDQUFDLFlBQVksRUFBRSxZQUFhLENBQ25DLENBQUM7UUFDVixDQUFDO0tBR0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9taXhpbi5tb2RlbCc7XG5pbXBvcnQgeyBJbnB1dENvbW1hbmRzQWN0aW9uLCBJbnB1dENvbW1hbmRzVHlwZSB9IGZyb20gJy4uL2VudW1zJztcbmltcG9ydCB7IElucHV0Q2hhbmdlVmFsdWUgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBJbnB1dENvbW1hbmRNaXhpbjxcbiAgICBUIGV4dGVuZHMgQ29uc3RydWN0b3I8e1xuICAgICAgICBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gICAgICAgIF9pbnB1dENvbmZpZzogSUNhSW5wdXQ7XG4gICAgICAgIGhhbmRsZUNoYW5nZUlucHV0QW5kVXBkYXRlQ29udHJvbChfOiBJbnB1dENoYW5nZVZhbHVlKTogdm9pZDtcbiAgICB9Pixcbj4oQmFzZTogVCkge1xuICAgIHJldHVybiBjbGFzcyBleHRlbmRzIEJhc2Uge1xuICAgICAgICAvLyAjcmVnaW9uIE9uQ29tbWFuZHNcbiAgICAgICAgcHVibGljIG9uQ29tbWFuZHMoZTogYW55KTogdm9pZCB7XG4gICAgICAgICAgICBjb25zdCB7IGV2ZW50LCB0eXBlLCBhY3Rpb24gfSA9IGU7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH0sIDApO1xuXG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIElucHV0Q29tbWFuZHNUeXBlLlBNX0lOQ1JFTUVOVF9ERUNSRU1FTlQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlUG1JbmNyZW1lbnREZWNyZW1lbnQoYWN0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBJbnB1dENvbW1hbmRzVHlwZS5DT05GSVJNX0NBTkNFTDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVDb25maXJtQ2FuY2VsKGFjdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgSW5wdXRDb21tYW5kc1R5cGUuTU9OVEhTOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZU1vbnRocyhhY3Rpb24pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vICNyZWdpb25cblxuICAgICAgICBwdWJsaWMgaGFuZGxlTW9udGhzKGFjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgICAgICAvL2NsZWFyVGltZW91dCh0aGlzLmlucHV0Q29tbWFuZHNUaW1lb3V0KTtcblxuICAgICAgICAgICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlIElucHV0Q29tbWFuZHNBY3Rpb24uTUlOVVM6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKFxuICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICt0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwKSAtIDFcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBJbnB1dENvbW1hbmRzQWN0aW9uLlBMVVM6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKFxuICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICt0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAwKSArIDFcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gI2VuZHJlZ2lvblxuXG4gICAgICAgIHB1YmxpYyBoYW5kbGVDb25maXJtQ2FuY2VsKGFjdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgICAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgSW5wdXRDb21tYW5kc0FjdGlvbi5DT05GSVJNOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm1Db21tYW5kKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgSW5wdXRDb21tYW5kc0FjdGlvbi5DQU5DRUw6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FuY2VsQ29tbWFuZCgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gdGhpcy5zdXBlckNvbnRyb2wuY29udHJvbD8uc2V0RXJyb3JzKG51bGwpO1xuICAgICAgICAgICAgLy8gdGhpcy5faW5wdXRDb25maWcuZHJvcGRvd25MYWJlbE5ldyA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gdGhpcy5faW5wdXRDb25maWcuY29tbWFuZHMhLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gdGhpcy5faW5wdXRDb25maWcuYmxhY2tJbnB1dCA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gdGhpcy5pc0VkaXRJbnB1dCA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gdGhpcy5pc1Zpc2libGVDb21tYW5kcyA9IGZhbHNlXG4gICAgICAgICAgICAvLyB0aGlzLmlzRm9jdXNJbnB1dCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGNhbmNlbENvbW1hbmQoKTogdm9pZCB7XG4gICAgICAgICAgICAvL3RoaXMuc2V0Q29tbWFuZEV2ZW50Lm5leHQoeyBhY3Rpb246IElucHV0Q29tbWFuZHNBY3Rpb24uQ0FOQ0VMIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGNvbmZpcm1Db21tYW5kKCk6IHZvaWQge1xuICAgICAgICAgICAgLy8gdGhpcy5zZXRDb21tYW5kRXZlbnQubmV4dCh7XG4gICAgICAgICAgICAvLyAgICAgZGF0YTogdGhpcy5zdXBlckNvbnRyb2wuY29udHJvbD8udmFsdWUsXG4gICAgICAgICAgICAvLyAgICAgYWN0aW9uOiBJbnB1dENvbW1hbmRzQWN0aW9uLkNPTkZJUk0sXG4gICAgICAgICAgICAvLyAgICAgbW9kZTpcbiAgICAgICAgICAgIC8vICAgICAgICAgIXRoaXMuX2lucHV0Q29uZmlnLmRyb3Bkb3duTGFiZWxOZXcgJiZcbiAgICAgICAgICAgIC8vICAgICAgICAgdGhpcy5faW5wdXRDb25maWcubmFtZSAhPT0gJ0lucHV0IERyb3Bkb3duIEJhbmsgTmFtZSdcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgID8gJ2VkaXQnXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICA6ICduZXcnLFxuICAgICAgICAgICAgLy8gfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAjcmVnaW9uIEhhbmRsZVBtSW5jcmVtZW50RGVjcmVtZW50XG4gICAgICAgIHB1YmxpYyBoYW5kbGVQbUluY3JlbWVudERlY3JlbWVudChhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgICAgICAgICAgY29uc3QgbnVtZXJpY1ZhbHVlID0gdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZTtcblxuICAgICAgICAgICAgLy8gUmVtb3ZlIHRob3VzYW5kcyBzZXBhcmF0b3JzIChgLGApIGJlZm9yZSBwYXJzaW5nXG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBwYXJzZUZsb2F0KG51bWVyaWNWYWx1ZS5yZXBsYWNlKC8sL2csICcnKSk7XG5cbiAgICAgICAgICAgIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBJbnB1dENvbW1hbmRzQWN0aW9uLkRFQ1JFTUVOVDpcbiAgICAgICAgICAgICAgICBjYXNlIElucHV0Q29tbWFuZHNBY3Rpb24uSU5DUkVNRU5UOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmNkZWNWYWx1ZSA9IHRoaXMuZGVjcmVtZW50SW5jcmVtZW50RGVjcmVtZW50UG1WYWx1ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uID09PSBJbnB1dENvbW1hbmRzQWN0aW9uLklOQ1JFTUVOVFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdmFsdWUgKyBpbmNkZWNWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdmFsdWUgLSBpbmNkZWNWYWx1ZVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIElucHV0Q29tbWFuZHNBY3Rpb24uUkVTRVQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzZXRQbVZhbHVlKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gI3JlZ2lvbiBEZWNyZW1lbnRQbVZhbHVlXG4gICAgICAgIHB1YmxpYyBkZWNyZW1lbnRJbmNyZW1lbnREZWNyZW1lbnRQbVZhbHVlKFxuICAgICAgICAgICAgdmFsdWU6IG51bWJlcixcbiAgICAgICAgICAgIGFjdGlvbjogSW5wdXRDb21tYW5kc0FjdGlvblxuICAgICAgICApOiBudW1iZXIge1xuICAgICAgICAgICAgaWYgKHZhbHVlID49IDEwMDAwICYmIHZhbHVlIDwgMjAwMDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMTAwMDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPj0gMjAwMDAgJiYgdmFsdWUgPCA1MDAwMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiA1MDAwO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA+PSA1MDAwMCAmJiB2YWx1ZSA8IDEwMDAwMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAxMDAwMDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgdmFsdWUgPj0gNTAwMDAwICYmXG4gICAgICAgICAgICAgICAgYWN0aW9uID09PSBJbnB1dENvbW1hbmRzQWN0aW9uLklOQ1JFTUVOVFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID49IDEwMDAwMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAyMDAwMDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgdmFsdWUgPD0gNTAwMCAmJlxuICAgICAgICAgICAgICAgIGFjdGlvbiA9PT0gSW5wdXRDb21tYW5kc0FjdGlvbi5ERUNSRU1FTlRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gNTAwO1xuICAgICAgICB9XG4gICAgICAgIC8vICNlbmRyZWdpb25cblxuICAgICAgICAvLyAjcmVnaW9uIFJlc2V0UG1WYWx1ZVxuICAgICAgICBwdWJsaWMgcmVzZXRQbVZhbHVlKCk6IHZvaWQge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2lucHV0Q29uZmlnPy5kZWZhdWx0VmFsdWUpXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VJbnB1dEFuZFVwZGF0ZUNvbnRyb2woXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2lucHV0Q29uZmlnPy5kZWZhdWx0VmFsdWUhXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICNlbmRyZWdpb25cbiAgICB9O1xufSJdfQ==
@@ -0,0 +1,49 @@
1
+ export function InputHelperMixin(Base) {
2
+ return class extends Base {
3
+ // Transform value after we get update from Angular
4
+ transformValue(inputConfig, value) {
5
+ if (value) {
6
+ if (inputConfig.mask)
7
+ return this.maskApplier.applyMask(value, inputConfig.mask);
8
+ else if (inputConfig.priceSeparator)
9
+ return this.thousandSeparatorPipe.transform(value);
10
+ }
11
+ else if (inputConfig.defaultValue) {
12
+ return inputConfig.defaultValue;
13
+ }
14
+ return value;
15
+ }
16
+ // #region ToggleDropdownOptions
17
+ toggleDropdownOptions() {
18
+ this.handleToggleDropdownOptions.emit();
19
+ if (this._inputConfig.isDisabled) {
20
+ return;
21
+ }
22
+ this.isDropdownToggler = !this.isDropdownToggler;
23
+ // this.setShowHideDropdown.next(this.isDropdownToggler);
24
+ if (this.isDropdownToggler) {
25
+ this.inputElement.nativeElement.focus();
26
+ this.isFocusInput = true;
27
+ }
28
+ }
29
+ // #endregion
30
+ // #region onPlaceholderIconevent
31
+ onPlaceholderIconEvent(event) {
32
+ event.preventDefault();
33
+ event.stopPropagation();
34
+ if (this.isEditInput) {
35
+ this.setCommandEvent.next({
36
+ data: this.inputElement.nativeElement?.value,
37
+ action: 'Toggle Dropdown',
38
+ });
39
+ }
40
+ else {
41
+ this.setCommandEvent.next({
42
+ data: this.inputElement.nativeElement?.value,
43
+ action: 'Placeholder Icon Event',
44
+ });
45
+ }
46
+ }
47
+ };
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtaGVscGVyLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvbWl4aW5zL2lucHV0LWhlbHBlci5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUFNLFVBQVUsZ0JBQWdCLENBWTlCLElBQU87SUFDTCxPQUFPLEtBQU0sU0FBUSxJQUFJO1FBQ3JCLG1EQUFtRDtRQUM1QyxjQUFjLENBQUMsV0FBcUIsRUFBRSxLQUF1QjtZQUNoRSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNSLElBQUksV0FBVyxDQUFDLElBQUk7b0JBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQzdCLEtBQWUsRUFDZixXQUFXLENBQUMsSUFBSSxDQUNuQixDQUFDO3FCQUNELElBQUksV0FBVyxDQUFDLGNBQWM7b0JBQy9CLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzRCxDQUFDO2lCQUFNLElBQUksV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNsQyxPQUFPLFdBQVcsQ0FBQyxZQUFZLENBQUM7WUFDcEMsQ0FBQztZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxnQ0FBZ0M7UUFDekIscUJBQXFCO1lBQ3hCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQy9CLE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBRWpELHlEQUF5RDtZQUV6RCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztRQUNMLENBQUM7UUFDRCxhQUFhO1FBRWIsaUNBQWlDO1FBQzFCLHNCQUFzQixDQUFDLEtBQVk7WUFDdEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxLQUFLO29CQUM1QyxNQUFNLEVBQUUsaUJBQWlCO2lCQUM1QixDQUFDLENBQUM7WUFDUCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxLQUFLO29CQUM1QyxNQUFNLEVBQUUsd0JBQXdCO2lCQUNuQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQztLQUVKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9taXhpbi5tb2RlbCc7XG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBJbnB1dENoYW5nZVZhbHVlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTmd4TWFza1NlcnZpY2UgfSBmcm9tICduZ3gtbWFzayc7XG5pbXBvcnQgeyBUaG91c2FuZFNlcGFyYXRvclBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBFdmVudElucHV0TWFuYWdlciB9IGZyb20gJy4uL2Jhc2UtY2xhc3Nlcy9jYS1pbnB1dC1ldmVudC1tYW5hZ2VyJztcbmltcG9ydCB7IENvbW1hbmRzRXZlbnQgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gSW5wdXRIZWxwZXJNaXhpbjxcbiAgICBUIGV4dGVuZHMgQ29uc3RydWN0b3I8e1xuICAgICAgICBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG4gICAgICAgIF9pbnB1dENvbmZpZzogSUNhSW5wdXQ7XG4gICAgICAgIG1hc2tBcHBsaWVyOiBOZ3hNYXNrU2VydmljZTtcbiAgICAgICAgdGhvdXNhbmRTZXBhcmF0b3JQaXBlOiBUaG91c2FuZFNlcGFyYXRvclBpcGU7XG4gICAgICAgIGhhbmRsZVRvZ2dsZURyb3Bkb3duT3B0aW9uczogRXZlbnRFbWl0dGVyPHZvaWQ+O1xuICAgICAgICBpc0Ryb3Bkb3duVG9nZ2xlcjogYm9vbGVhbjtcbiAgICAgICAgaXNGb2N1c0lucHV0OiBib29sZWFuO1xuICAgICAgICBpc0VkaXRJbnB1dDogYm9vbGVhbjtcbiAgICAgICAgc2V0Q29tbWFuZEV2ZW50OiBFdmVudElucHV0TWFuYWdlcjxDb21tYW5kc0V2ZW50PjtcbiAgICB9Pixcbj4oQmFzZTogVCkge1xuICAgIHJldHVybiBjbGFzcyBleHRlbmRzIEJhc2Uge1xuICAgICAgICAvLyBUcmFuc2Zvcm0gdmFsdWUgYWZ0ZXIgd2UgZ2V0IHVwZGF0ZSBmcm9tIEFuZ3VsYXJcbiAgICAgICAgcHVibGljIHRyYW5zZm9ybVZhbHVlKGlucHV0Q29uZmlnOiBJQ2FJbnB1dCwgdmFsdWU6IElucHV0Q2hhbmdlVmFsdWUpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmIChpbnB1dENvbmZpZy5tYXNrKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tYXNrQXBwbGllci5hcHBseU1hc2soXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBhcyBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dENvbmZpZy5tYXNrXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaW5wdXRDb25maWcucHJpY2VTZXBhcmF0b3IpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRob3VzYW5kU2VwYXJhdG9yUGlwZS50cmFuc2Zvcm0odmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dENvbmZpZy5kZWZhdWx0VmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5wdXRDb25maWcuZGVmYXVsdFZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAjcmVnaW9uIFRvZ2dsZURyb3Bkb3duT3B0aW9uc1xuICAgICAgICBwdWJsaWMgdG9nZ2xlRHJvcGRvd25PcHRpb25zKCk6IHZvaWQge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVUb2dnbGVEcm9wZG93bk9wdGlvbnMuZW1pdCgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuX2lucHV0Q29uZmlnLmlzRGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuaXNEcm9wZG93blRvZ2dsZXIgPSAhdGhpcy5pc0Ryb3Bkb3duVG9nZ2xlcjtcblxuICAgICAgICAgICAgLy8gdGhpcy5zZXRTaG93SGlkZURyb3Bkb3duLm5leHQodGhpcy5pc0Ryb3Bkb3duVG9nZ2xlcik7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzRHJvcGRvd25Ub2dnbGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyAjZW5kcmVnaW9uXG5cbiAgICAgICAgLy8gI3JlZ2lvbiBvblBsYWNlaG9sZGVySWNvbmV2ZW50XG4gICAgICAgIHB1YmxpYyBvblBsYWNlaG9sZGVySWNvbkV2ZW50KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNFZGl0SW5wdXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldENvbW1hbmRFdmVudC5uZXh0KHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudD8udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbjogJ1RvZ2dsZSBEcm9wZG93bicsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29tbWFuZEV2ZW50Lm5leHQoe1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50Py52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiAnUGxhY2Vob2xkZXIgSWNvbiBFdmVudCcsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgIH07XG59Il19
@@ -0,0 +1,36 @@
1
+ import { InputTransformStringEnum } from '../enums/input-text-transform.enum';
2
+ export function RestrictionPipeMixin(Base) {
3
+ return class extends Base {
4
+ checkRangeRegex(value) {
5
+ if ((!this.restrictInput.minValue &&
6
+ !this.restrictInput.maxValue) ||
7
+ !value) {
8
+ return true; // ✅ No limits, always valid
9
+ }
10
+ const min = this.restrictInput.minValue ?? -Infinity;
11
+ const max = this.restrictInput.maxValue ?? Infinity;
12
+ // ✅ Ensure the value is a valid number
13
+ if (!/^\d+$/.test(value)) {
14
+ return false;
15
+ }
16
+ const numericValue = Number(value);
17
+ // ✅ Check if value is within the valid range
18
+ return numericValue >= min && numericValue <= max;
19
+ }
20
+ getTextTransformation(value, textTransform) {
21
+ switch (textTransform) {
22
+ case InputTransformStringEnum.CAPITALIZE:
23
+ return (value.charAt(0).toUpperCase() +
24
+ value.substring(1).toLowerCase());
25
+ case InputTransformStringEnum.UPPERCASE:
26
+ return value.toLocaleUpperCase('en-US');
27
+ case InputTransformStringEnum.CAPITALIZED_CASE:
28
+ const capitalizedCaseWords = value.replace(/(^\w{1})|(\s+\w{1})/g, (letter) => letter.toUpperCase());
29
+ return capitalizedCaseWords;
30
+ default:
31
+ return;
32
+ }
33
+ }
34
+ };
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdHJpY3Rpb24tcGlwZS5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWlucHV0L21peGlucy9yZXN0cmljdGlvbi1waXBlLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTlFLE1BQU0sVUFBVSxvQkFBb0IsQ0FFbEMsSUFBTztJQUNMLE9BQU8sS0FBTSxTQUFRLElBQUk7UUFDZCxlQUFlLENBQUMsS0FBYTtZQUNoQyxJQUNJLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVE7Z0JBQ3pCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7Z0JBQ2pDLENBQUMsS0FBSyxFQUNSLENBQUM7Z0JBQ0MsT0FBTyxJQUFJLENBQUMsQ0FBQyw0QkFBNEI7WUFDN0MsQ0FBQztZQUVELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3JELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQztZQUVwRCx1Q0FBdUM7WUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztZQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVuQyw2Q0FBNkM7WUFDN0MsT0FBTyxZQUFZLElBQUksR0FBRyxJQUFJLFlBQVksSUFBSSxHQUFHLENBQUM7UUFDdEQsQ0FBQztRQUVNLHFCQUFxQixDQUN4QixLQUFhLEVBQ2IsYUFBbUQ7WUFFbkQsUUFBUSxhQUFhLEVBQUUsQ0FBQztnQkFDcEIsS0FBSyx3QkFBd0IsQ0FBQyxVQUFVO29CQUNwQyxPQUFPLENBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUU7d0JBQzdCLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQ25DLENBQUM7Z0JBQ04sS0FBSyx3QkFBd0IsQ0FBQyxTQUFTO29CQUNuQyxPQUFPLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDNUMsS0FBSyx3QkFBd0IsQ0FBQyxnQkFBZ0I7b0JBQzFDLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FDdEMsc0JBQXNCLEVBQ3RCLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQzNDLENBQUM7b0JBQ0YsT0FBTyxvQkFBb0IsQ0FBQztnQkFDaEM7b0JBQ0ksT0FBTztZQUNmLENBQUM7UUFDTCxDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9taXhpbi5tb2RlbCc7XG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uL2NvbmZpZy9jYS1pbnB1dC5jb25maWcnO1xuaW1wb3J0IHsgSW5wdXRUcmFuc2Zvcm1TdHJpbmdFbnVtIH0gZnJvbSAnLi4vZW51bXMvaW5wdXQtdGV4dC10cmFuc2Zvcm0uZW51bSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBSZXN0cmljdGlvblBpcGVNaXhpbjxcbiAgICBUIGV4dGVuZHMgQ29uc3RydWN0b3I8eyByZXN0cmljdElucHV0OiBJQ2FJbnB1dCB9Pixcbj4oQmFzZTogVCkge1xuICAgIHJldHVybiBjbGFzcyBleHRlbmRzIEJhc2Uge1xuICAgICAgICBwdWJsaWMgY2hlY2tSYW5nZVJlZ2V4KHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoIXRoaXMucmVzdHJpY3RJbnB1dC5taW5WYWx1ZSAmJlxuICAgICAgICAgICAgICAgICAgICAhdGhpcy5yZXN0cmljdElucHV0Lm1heFZhbHVlKSB8fFxuICAgICAgICAgICAgICAgICF2YWx1ZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7IC8vIOKchSBObyBsaW1pdHMsIGFsd2F5cyB2YWxpZFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBtaW4gPSB0aGlzLnJlc3RyaWN0SW5wdXQubWluVmFsdWUgPz8gLUluZmluaXR5O1xuICAgICAgICAgICAgY29uc3QgbWF4ID0gdGhpcy5yZXN0cmljdElucHV0Lm1heFZhbHVlID8/IEluZmluaXR5O1xuXG4gICAgICAgICAgICAvLyDinIUgRW5zdXJlIHRoZSB2YWx1ZSBpcyBhIHZhbGlkIG51bWJlclxuICAgICAgICAgICAgaWYgKCEvXlxcZCskLy50ZXN0KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbnVtZXJpY1ZhbHVlID0gTnVtYmVyKHZhbHVlKTtcblxuICAgICAgICAgICAgLy8g4pyFIENoZWNrIGlmIHZhbHVlIGlzIHdpdGhpbiB0aGUgdmFsaWQgcmFuZ2VcbiAgICAgICAgICAgIHJldHVybiBudW1lcmljVmFsdWUgPj0gbWluICYmIG51bWVyaWNWYWx1ZSA8PSBtYXg7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgZ2V0VGV4dFRyYW5zZm9ybWF0aW9uKFxuICAgICAgICAgICAgdmFsdWU6IHN0cmluZyxcbiAgICAgICAgICAgIHRleHRUcmFuc2Zvcm06IElucHV0VHJhbnNmb3JtU3RyaW5nRW51bSB8IHVuZGVmaW5lZFxuICAgICAgICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICAgICAgc3dpdGNoICh0ZXh0VHJhbnNmb3JtKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBJbnB1dFRyYW5zZm9ybVN0cmluZ0VudW0uQ0FQSVRBTElaRTpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLnN1YnN0cmluZygxKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgY2FzZSBJbnB1dFRyYW5zZm9ybVN0cmluZ0VudW0uVVBQRVJDQVNFOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUudG9Mb2NhbGVVcHBlckNhc2UoJ2VuLVVTJyk7XG4gICAgICAgICAgICAgICAgY2FzZSBJbnB1dFRyYW5zZm9ybVN0cmluZ0VudW0uQ0FQSVRBTElaRURfQ0FTRTpcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2FwaXRhbGl6ZWRDYXNlV29yZHMgPSB2YWx1ZS5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgLyheXFx3ezF9KXwoXFxzK1xcd3sxfSkvZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIChsZXR0ZXI6IHN0cmluZykgPT4gbGV0dGVyLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhcGl0YWxpemVkQ2FzZVdvcmRzO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG59XG4iXX0=
@@ -12,7 +12,7 @@ export class InputPatternPipe {
12
12
  else if (inputConfig.thousandSeparator) {
13
13
  return {
14
14
  regex: /^[0-9]*$/,
15
- isDecimalAndDotOnly: true
15
+ isDecimalAndDotOnly: true,
16
16
  };
17
17
  }
18
18
  else if (['business name', 'shop name', 'fuel stop'].includes(inputName)) {
@@ -29,12 +29,10 @@ export class InputPatternPipe {
29
29
  };
30
30
  }
31
31
  else if ([
32
- 'ein',
33
32
  'mc/ff',
34
33
  'phone-extension',
35
34
  'account-bank',
36
35
  'routing-bank',
37
- 'ssn',
38
36
  'fuel-card',
39
37
  'empty-weight',
40
38
  'credit limit',
@@ -325,4 +323,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
325
323
  standalone: true,
326
324
  }]
327
325
  }] });
328
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGF0dGVybi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvcGlwZXMvaW5wdXQtcGF0dGVybi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU9wRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFNBQVMsQ0FBQyxTQUFpQixFQUFFLFdBQXFCO1FBQzlDLElBQUksV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzdCLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLG1CQUFtQixFQUFFLElBQUk7Z0JBQ3pCLG1CQUFtQixFQUFFLElBQUk7YUFDNUIsQ0FBQztRQUNOLENBQUM7YUFBTSxJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLG1CQUFtQixFQUFFLElBQUk7YUFDNUIsQ0FBQztRQUNOLENBQUM7YUFBTSxJQUNILENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQ2pFLENBQUM7WUFDQyxPQUFPO2dCQUNILEtBQUssRUFBRSx1REFBdUQ7Z0JBQzlELHlCQUF5QixFQUFFLEtBQUs7Z0JBQ2hDLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztRQUNOLENBQUM7YUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzlDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLGVBQWU7YUFDekIsQ0FBQztRQUNOLENBQUM7YUFBTSxJQUNIO1lBQ0ksS0FBSztZQUNMLE9BQU87WUFDUCxpQkFBaUI7WUFDakIsY0FBYztZQUNkLGNBQWM7WUFDZCxLQUFLO1lBQ0wsV0FBVztZQUNYLGNBQWM7WUFDZCxjQUFjO1lBQ2QsUUFBUTtZQUNSLE9BQU87WUFDUCxnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLE9BQU87WUFDUCxLQUFLO1lBQ0wsVUFBVTtZQUNWLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixRQUFRO1lBQ1Isb0JBQW9CO1lBQ3BCLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsZ0NBQWdDO1lBQ2hDLE1BQU07WUFDTixRQUFRO1lBQ1IsU0FBUztZQUNULFFBQVE7WUFDUixjQUFjO1lBQ2QsS0FBSztZQUNMLGdCQUFnQjtTQUNuQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDdkIsQ0FBQztZQUNDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLHlCQUF5QixFQUFFLEtBQUs7Z0JBQ2hDLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztZQUNGLHFCQUFxQjtRQUN6QixDQUFDO2FBQU0sSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0IsT0FBTztnQkFDSCxLQUFLLEVBQUUsc0NBQXNDO2dCQUM3Qyx5QkFBeUIsRUFBRSxLQUFLO2dCQUNoQyx1QkFBdUIsRUFBRSxJQUFJO2dCQUM3QixtQkFBbUIsRUFBRSxLQUFLO2FBQzdCLENBQUM7WUFDRixnREFBZ0Q7UUFDcEQsQ0FBQzthQUFNLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLG1CQUFtQjtnQkFDMUIseUJBQXlCLEVBQUUsS0FBSztnQkFDaEMsdUJBQXVCLEVBQUUsS0FBSztnQkFDOUIsbUJBQW1CLEVBQUUsS0FBSzthQUM3QixDQUFDO1lBQ0YsNkJBQTZCO1FBQ2pDLENBQUM7YUFBTSxJQUNILENBQUMsY0FBYyxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQ3BFLENBQUM7WUFDQyxPQUFPO2dCQUNILEtBQUssRUFBRSxnQkFBZ0I7Z0JBQ3ZCLHlCQUF5QixFQUFFLEtBQUs7Z0JBQ2hDLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztZQUNGLDBCQUEwQjtRQUM5QixDQUFDO2FBQU0sSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEMsT0FBTztnQkFDSCxLQUFLLEVBQUUsbUJBQW1CO2dCQUMxQix5QkFBeUIsRUFBRSxLQUFLO2dCQUNoQyx1QkFBdUIsRUFBRSxLQUFLO2dCQUM5QixtQkFBbUIsRUFBRSxLQUFLO2FBQzdCLENBQUM7WUFDRiw2QkFBNkI7UUFDakMsQ0FBQzthQUFNLElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLG1CQUFtQjtnQkFDMUIseUJBQXlCLEVBQUUsS0FBSztnQkFDaEMsdUJBQXVCLEVBQUUsS0FBSztnQkFDOUIsbUJBQW1CLEVBQUUsS0FBSzthQUM3QixDQUFDO1lBQ0YsNkJBQTZCO1FBQ2pDLENBQUM7YUFBTSxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxPQUFPO2dCQUNILEtBQUssRUFBRSxzQ0FBc0M7Z0JBQzdDLHlCQUF5QixFQUFFLEtBQUs7Z0JBQ2hDLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztZQUNGLGdEQUFnRDtRQUNwRCxDQUFDO2FBQU0sSUFDSCxDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQ2hFLENBQUM7WUFDQyxPQUFPO2dCQUNILEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLHlCQUF5QixFQUFFLEtBQUs7Z0JBQ2hDLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztZQUNGLDJCQUEyQjtRQUMvQixDQUFDO2FBQU0sSUFBSSxxQkFBcUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QyxPQUFPO2dCQUNILEtBQUssRUFBRSxtQkFBbUI7Z0JBQzFCLHlCQUF5QixFQUFFLEtBQUs7Z0JBQ2hDLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztZQUNGLDZCQUE2QjtRQUNqQyxDQUFDO2FBQU0sSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUIsT0FBTztnQkFDSCxLQUFLLEVBQUUsaUJBQWlCO2FBQzNCLENBQUM7WUFDRixtQkFBbUI7UUFDdkIsQ0FBQzthQUFNLElBQUksZUFBZSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLGtCQUFrQjtnQkFDekIseUJBQXlCLEVBQUUsS0FBSztnQkFDaEMsdUJBQXVCLEVBQUUsS0FBSztnQkFDOUIsbUJBQW1CLEVBQUUsS0FBSzthQUM3QixDQUFDO1lBQ0YsNEJBQTRCO1FBQ2hDLENBQUM7YUFBTSxJQUFJLGFBQWEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxPQUFPO2dCQUNILEtBQUssRUFBRSxzQkFBc0I7Z0JBQzdCLHlCQUF5QixFQUFFLEtBQUs7Z0JBQ2hDLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztZQUNGLGdDQUFnQztRQUNwQyxDQUFDO2FBQU0sSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsT0FBTztnQkFDSCxLQUFLLEVBQUUsc0NBQXNDO2dCQUM3Qyx5QkFBeUIsRUFBRSxLQUFLO2dCQUNoQyx1QkFBdUIsRUFBRSxLQUFLO2dCQUM5QixtQkFBbUIsRUFBRSxLQUFLO2FBQzdCLENBQUM7WUFDRixnREFBZ0Q7UUFDcEQsQ0FBQzthQUFNLElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLHlCQUF5QixFQUFFLEtBQUs7Z0JBQ2hDLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztZQUNGLHFCQUFxQjtRQUN6QixDQUFDO2FBQU0sSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsT0FBTztnQkFDSCxLQUFLLEVBQUUsVUFBVTtnQkFDakIseUJBQXlCLEVBQUUsS0FBSztnQkFDaEMsdUJBQXVCLEVBQUUsS0FBSztnQkFDOUIsbUJBQW1CLEVBQUUsS0FBSzthQUM3QixDQUFDO1lBQ0Ysb0JBQW9CO1FBQ3hCLENBQUM7YUFBTSxJQUNILENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDaEUsQ0FBQztZQUNDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLG1CQUFtQjtnQkFDMUIseUJBQXlCLEVBQUUsS0FBSztnQkFDaEMsdUJBQXVCLEVBQUUsS0FBSztnQkFDOUIsbUJBQW1CLEVBQUUsS0FBSzthQUM3QixDQUFDO1lBQ0YsNkJBQTZCO1FBQ2pDLENBQUM7YUFBTSxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwQyxPQUFPO2dCQUNILEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLHlCQUF5QixFQUFFLEtBQUs7Z0JBQ2hDLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztZQUNGLDJCQUEyQjtRQUMvQixDQUFDO2FBQU0sSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0IsT0FBTztnQkFDSCxLQUFLLEVBQUUsVUFBVTtnQkFDakIseUJBQXlCLEVBQUUsS0FBSztnQkFDaEMsdUJBQXVCLEVBQUUsS0FBSztnQkFDOUIsbUJBQW1CLEVBQUUsS0FBSzthQUM3QixDQUFDO1lBQ0Ysb0JBQW9CO1FBQ3hCLENBQUM7YUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDbkUsT0FBTztnQkFDSCxLQUFLLEVBQUUsWUFBWTtnQkFDbkIseUJBQXlCLEVBQUUsS0FBSztnQkFDaEMsdUJBQXVCLEVBQUUsS0FBSztnQkFDOUIsbUJBQW1CLEVBQUUsS0FBSzthQUM3QixDQUFDO1lBQ0Ysc0JBQXNCO1FBQzFCLENBQUM7YUFBTSxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwQyxPQUFPO2dCQUNILEtBQUssRUFBRSxvQkFBb0I7Z0JBQzNCLHlCQUF5QixFQUFFLEtBQUs7Z0JBQ2hDLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztZQUNGLDhCQUE4QjtRQUNsQyxDQUFDO2FBQU0sSUFDSCxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FDMUQsU0FBUyxDQUNaLEVBQ0gsQ0FBQztZQUNDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLDhDQUE4QztnQkFDckQseUJBQXlCLEVBQUUsS0FBSztnQkFDaEMsdUJBQXVCLEVBQUUsS0FBSztnQkFDOUIsbUJBQW1CLEVBQUUsS0FBSzthQUM3QixDQUFDO1lBQ0Ysd0RBQXdEO1FBQzVELENBQUM7YUFBTSxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxPQUFPO2dCQUNILEtBQUssRUFBRSw0Q0FBNEM7Z0JBQ25ELHlCQUF5QixFQUFFLEtBQUs7Z0JBQ2hDLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztZQUNGLHNEQUFzRDtRQUMxRCxDQUFDO2FBQU0sSUFBSSxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxPQUFPO2dCQUNILEtBQUssRUFBRSxXQUFXO2dCQUNsQix5QkFBeUIsRUFBRSxLQUFLO2dCQUNoQyx1QkFBdUIsRUFBRSxLQUFLO2dCQUM5QixtQkFBbUIsRUFBRSxLQUFLO2FBQzdCLENBQUM7WUFDRixxQkFBcUI7UUFDekIsQ0FBQzthQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2xFLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLGdCQUFnQjtnQkFDdkIseUJBQXlCLEVBQUUsS0FBSztnQkFDaEMsdUJBQXVCLEVBQUUsS0FBSztnQkFDOUIsbUJBQW1CLEVBQUUsS0FBSzthQUM3QixDQUFDO1lBQ0YsMEJBQTBCO1FBQzlCLENBQUM7YUFBTSxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxPQUFPO2dCQUNILEtBQUssRUFBRSxlQUFlO2dCQUN0Qix5QkFBeUIsRUFBRSxLQUFLO2dCQUNoQyx1QkFBdUIsRUFBRSxLQUFLO2dCQUM5QixtQkFBbUIsRUFBRSxLQUFLO2FBQzdCLENBQUM7WUFDRix5QkFBeUI7UUFDN0IsQ0FBQzthQUFNLElBQ0gsQ0FBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDdEUsQ0FBQztZQUNDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLHNDQUFzQztnQkFDN0MseUJBQXlCLEVBQUUsS0FBSztnQkFDaEMsdUJBQXVCLEVBQUUsS0FBSztnQkFDOUIsbUJBQW1CLEVBQUUsS0FBSzthQUM3QixDQUFDO1lBQ0YsZ0RBQWdEO1FBQ3BELENBQUM7YUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNuRCxPQUFPO2dCQUNILEtBQUssRUFBRSxlQUFlO2dCQUN0Qix5QkFBeUIsRUFBRSxLQUFLO2dCQUNoQyx1QkFBdUIsRUFBRSxLQUFLO2dCQUM5QixtQkFBbUIsRUFBRSxLQUFLO2FBQzdCLENBQUM7WUFDRix5QkFBeUI7UUFDN0IsQ0FBQztRQUVELE9BQU87WUFDSCxLQUFLLEVBQUUsSUFBSTtZQUNYLHlCQUF5QixFQUFFLEtBQUs7WUFDaEMsdUJBQXVCLEVBQUUsS0FBSztZQUM5QixtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLG1CQUFtQixFQUFFLEtBQUs7U0FDN0IsQ0FBQztJQUNOLENBQUM7K0dBN1NRLGdCQUFnQjs2R0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUo1QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxjQUFjO29CQUNwQixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQ2FJbnB1dCB9IGZyb20gJy4uL2NvbmZpZyc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnaW5wdXRQYXR0ZXJuJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFBhdHRlcm5QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGlucHV0TmFtZTogc3RyaW5nLCBpbnB1dENvbmZpZzogSUNhSW5wdXQpIHtcbiAgICAgICAgaWYgKGlucHV0Q29uZmlnLnByaWNlU2VwYXJhdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXlswLTkuXSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiB0cnVlLFxuICAgICAgICAgICAgICAgIGlzRGVjaW1hbEFuZERvdE9ubHk6IHRydWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2UgaWYgKGlucHV0Q29uZmlnLnRob3VzYW5kU2VwYXJhdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXlswLTldKiQvLFxuICAgICAgICAgICAgICAgIGlzRGVjaW1hbEFuZERvdE9ubHk6IHRydWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBbJ2J1c2luZXNzIG5hbWUnLCAnc2hvcCBuYW1lJywgJ2Z1ZWwgc3RvcCddLmluY2x1ZGVzKGlucHV0TmFtZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXowLTkhIyckJiUoKSorLC4vWzo7PTw+P8Onw6nDosOqw67DtMO7w6DDqMOsw7LDucOrw6/DvFxccy1dKiQvZyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2UgaWYgKFsncGhvbmUnLCAnZmF4J10uaW5jbHVkZXMoaW5wdXROYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bMC05KCkgLV0qJC9nLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAnZWluJyxcbiAgICAgICAgICAgICAgICAnbWMvZmYnLFxuICAgICAgICAgICAgICAgICdwaG9uZS1leHRlbnNpb24nLFxuICAgICAgICAgICAgICAgICdhY2NvdW50LWJhbmsnLFxuICAgICAgICAgICAgICAgICdyb3V0aW5nLWJhbmsnLFxuICAgICAgICAgICAgICAgICdzc24nLFxuICAgICAgICAgICAgICAgICdmdWVsLWNhcmQnLFxuICAgICAgICAgICAgICAgICdlbXB0eS13ZWlnaHQnLFxuICAgICAgICAgICAgICAgICdjcmVkaXQgbGltaXQnLFxuICAgICAgICAgICAgICAgICdwbyBib3gnLFxuICAgICAgICAgICAgICAgICdwcmljZScsXG4gICAgICAgICAgICAgICAgJ3RyYWlsZXItdm9sdW1lJyxcbiAgICAgICAgICAgICAgICAncmVwYWlyLW9kb21ldGVyJyxcbiAgICAgICAgICAgICAgICAndXNkb3QnLFxuICAgICAgICAgICAgICAgICdpcnAnLFxuICAgICAgICAgICAgICAgICdzdGFydGluZycsXG4gICAgICAgICAgICAgICAgJ2N1c3RvbWVyIHBheSB0ZXJtJyxcbiAgICAgICAgICAgICAgICAnY3VzdG9tZXIgY3JlZGl0JyxcbiAgICAgICAgICAgICAgICAnZGVmYXVsdCBiYXNlJyxcbiAgICAgICAgICAgICAgICAnZWFjaCBvY2N1cnJlbmNlJyxcbiAgICAgICAgICAgICAgICAnZGFtYWdlJyxcbiAgICAgICAgICAgICAgICAncGVyc29uYWwtYWR2ZXItaW5qJyxcbiAgICAgICAgICAgICAgICAnbWVkaWNhbCBleHBlbnNlcycsXG4gICAgICAgICAgICAgICAgJ2JvZGlseSBpbmp1cnknLFxuICAgICAgICAgICAgICAgICdnZW5lcmFsIGFnZ3JlZ2F0ZScsXG4gICAgICAgICAgICAgICAgJ3Byb2R1Y3RzLWNvbXAtb3AtYWdnJyxcbiAgICAgICAgICAgICAgICAnY29tYmluZWQtc2luZ2xlLWxpbWl0JyxcbiAgICAgICAgICAgICAgICAnc2luZ2xlLWNvbnZleWFuY2UnLFxuICAgICAgICAgICAgICAgICdkZWR1Y3RhYmxlJyxcbiAgICAgICAgICAgICAgICAnY29tcHJlaC1jb2xsaXNpb24nLFxuICAgICAgICAgICAgICAgICd0cmFpbGVyLXZhbHVlLWluc3VyYW5jZS1wb2xpY3knLFxuICAgICAgICAgICAgICAgICdyZW50JyxcbiAgICAgICAgICAgICAgICAnc2FsYXJ5JyxcbiAgICAgICAgICAgICAgICAnbWlsZWFnZScsXG4gICAgICAgICAgICAgICAgJ21vbnRocycsXG4gICAgICAgICAgICAgICAgJ2VtcHR5IHdlaWdodCcsXG4gICAgICAgICAgICAgICAgJ3F0eScsXG4gICAgICAgICAgICAgICAgJ3B1cmNoYXNlIHByaWNlJyxcbiAgICAgICAgICAgIF0uaW5jbHVkZXMoaW5wdXROYW1lKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eWzAtOV0qJC9nLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXlswLTldKiQvZztcbiAgICAgICAgfSBlbHNlIGlmICgnZW1haWwnID09PSBpbnB1dE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eW0EtWmEtejAtOSEjJCUmJyorLz0/Xl9ge3x9fkAuLV0qJC9nLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiB0cnVlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEtejAtOSEjJCUmJyorLz0/Xl9ge3x9fkAuLV0qJC9nO1xuICAgICAgICB9IGVsc2UgaWYgKCdpbnZvaWNlJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXowLTkvLV0qJC9nLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXltBLVphLXowLTkvLV0qJC9nO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgWydhZGRyZXNzLXVuaXQnLCAnZGVwYXJ0bWVudCcsICd2ZWhpY2xlLXVuaXQnXS5pbmNsdWRlcyhpbnB1dE5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bQS1aYS16MC05XSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bQS1aYS16MC05XSokLztcbiAgICAgICAgfSBlbHNlIGlmICgnZmlyc3QgbmFtZScgPT09IGlucHV0TmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bQS1aYS16JyxcXHMuLV0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEteicsXFxzLi1dKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCdsYXN0IG5hbWUnID09PSBpbnB1dE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eW0EtWmEteicsXFxzLi1dKiQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXltBLVphLXonLFxccy4tXSokLztcbiAgICAgICAgfSBlbHNlIGlmICgnYmFuayBuYW1lJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXowLTkhIyckJiUoKSorLC4vOjs9PD4/LV5bXSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bQS1aYS16MC05ISMnJCYlKCkqKywuLzo7PTw+Py1eW10qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBbJ3Zpbi1udW1iZXInLCAnaW5zdXJhbmNlLXBvbGljeScsICdpZnRhJ10uaW5jbHVkZXMoaW5wdXROYW1lKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eW0EtWmEtejAtOS1dKiQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXltBLVphLXowLTktXSokLztcbiAgICAgICAgfSBlbHNlIGlmICgndHJ1Y2stdHJhaWxlci1tb2RlbCcgPT09IGlucHV0TmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bQS1aYS16MC05XFxzLV0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEtejAtOVxccy1dKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCd5ZWFyJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXih8MHxbMS05XVxcZCopJC8sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bMC05XSQvO1xuICAgICAgICB9IGVsc2UgaWYgKCdsaWNlbnNlIHBsYXRlJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXowLTlcXHNdKiQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXltBLVphLXowLTlcXHNdKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCdkZXNjcmlwdGlvbicgPT09IGlucHV0TmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bQS1aYS16MC05LS4sL1xcc10qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEtejAtOS0uLC9cXHNdKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCdkYmEgbmFtZScgPT09IGlucHV0TmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bQS1aYS16MC05ISMnJCYlKCkqKywuLzo7PTw+P15bLV0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEtejAtOSEjJyQmJSgpKissLi86Oz08Pj9eWy1dKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCdwZXIgbWlsZScgPT09IGlucHV0TmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bMC05Ll0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eWzAtOS5dKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCdwZXIgc3RvcCcgPT09IGlucHV0TmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bMC05XSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bMC05XSokLztcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIFsnZW1lcmdlbmN5IG5hbWUnLCAncmVsYXRpb25zaGlwJywgJ3NjYWMnXS5pbmNsdWRlcyhpbnB1dE5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bQS1aYS16JyxcXHMuLV0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEteicsXFxzLi1dKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCdmdWVsIHN0b3JlJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXowLTktXSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bQS1aYS16MC05LV0qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoJ2hvcycgPT09IGlucHV0TmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bMC05XSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bMC05XSokLztcbiAgICAgICAgfSBlbHNlIGlmIChbJ2Z1bGwgcGFya2luZyBzbG90JywgJ3Bhcmtpbmcgc2xvdCddLmluY2x1ZGVzKGlucHV0TmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eWzAtOSwtXSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bMC05LC1dKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCdjZGwtbnVtYmVyJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXowLTlcXHMqLV0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEtejAtOVxccyotXSokLztcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIFsndXNlcm5hbWUnLCAnbmlja25hbWUnLCAndGVybWluYWwgbmFtZScsICdwYXNzd29yZCddLmluY2x1ZGVzKFxuICAgICAgICAgICAgICAgIGlucHV0TmFtZVxuICAgICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eW0EtWmEtejAtOS4sXyEjXn5bPy88YEAkJSorPX17fDpcIjs+JicoKS1dKiQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXltBLVphLXowLTkuLF8hI15+Wz8vPGBAJCUqKz19e3w6XCI7PiYnKCktXSokLztcbiAgICAgICAgfSBlbHNlIGlmICgnZnVsbCBuYW1lJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXowLTkuLC8hQCMkJV4mKigpXys9e31cIic6Pj88O1xccy1dKiQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXltBLVphLXowLTkuLC8hQCMkJV4mKigpXys9e31cIic6Pj88O1xccy1dKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCd0b2xsdmFsaWRhdGlvbicgPT09IGlucHV0TmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bMC05LV0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eWzAtOS1dKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKFsncHJlZml4JywgJ3N1ZmZpeCcsICdwYXJraW5nIG5hbWUnXS5pbmNsdWRlcyhpbnB1dE5hbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXowLTldKiQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXltBLVphLXowLTldKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCdmaWxlIG5hbWUnID09PSBpbnB1dE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eWzoqP1wiPD58L10qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eWzoqP1wiPD58L10qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBbJ3Byb2R1Y2VyIG5hbWUnLCAnaW5zdXJlciBuYW1lJywgJ29mZmljZSBuYW1lJ10uaW5jbHVkZXMoaW5wdXROYW1lKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eW0EtWmEtejAtOSEjJyQmJSgpKissLi87Oj08Pj9bXi1dKiQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXltBLVphLXowLTkhIyckJiUoKSorLC4vOzo9PD4/W14tXSokLztcbiAgICAgICAgfSBlbHNlIGlmIChbJ2Z1bGwgY29udGFjdCBuYW1lJ10uaW5jbHVkZXMoaW5wdXROYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bQS1aYS16XFxzXSskLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bQS1aYS16XFxzXSskLztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZWdleDogLy4qLyxcbiAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICBpc0RlY2ltYWxBbmREb3RPbmx5OiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGF0dGVybi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQvcGlwZXMvaW5wdXQtcGF0dGVybi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU9wRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFNBQVMsQ0FBQyxTQUFpQixFQUFFLFdBQXFCO1FBQzlDLElBQUksV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzdCLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLG1CQUFtQixFQUFFLElBQUk7Z0JBQ3pCLG1CQUFtQixFQUFFLElBQUk7YUFDNUIsQ0FBQztRQUNOLENBQUM7YUFBTSxJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLG1CQUFtQixFQUFFLElBQUk7YUFDNUIsQ0FBQztRQUNOLENBQUM7YUFBTSxJQUNILENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQ2pFLENBQUM7WUFDQyxPQUFPO2dCQUNILEtBQUssRUFBRSx1REFBdUQ7Z0JBQzlELHlCQUF5QixFQUFFLEtBQUs7Z0JBQ2hDLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztRQUNOLENBQUM7YUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzlDLE9BQU87Z0JBQ0gsS0FBSyxFQUFFLGVBQWU7YUFDekIsQ0FBQztRQUNOLENBQUM7YUFBTSxJQUNIO1lBQ0ksT0FBTztZQUNQ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S0FBSyxFQUFFLElBQUk7WUFDWCx5QkFBeUIsRUFBRSxLQUFLO1lBQ2hDLHVCQUF1QixFQUFFLEtBQUs7WUFDOUIsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixtQkFBbUIsRUFBRSxLQUFLO1NBQzdCLENBQUM7SUFDTixDQUFDOytHQTNTUSxnQkFBZ0I7NkdBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFKNUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsY0FBYztvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNhSW5wdXQgfSBmcm9tICcuLi9jb25maWcnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2lucHV0UGF0dGVybicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRQYXR0ZXJuUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShpbnB1dE5hbWU6IHN0cmluZywgaW5wdXRDb25maWc6IElDYUlucHV0KSB7XG4gICAgICAgIGlmIChpbnB1dENvbmZpZy5wcmljZVNlcGFyYXRvcikge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bMC05Ll0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogdHJ1ZSxcbiAgICAgICAgICAgICAgICBpc0RlY2ltYWxBbmREb3RPbmx5OiB0cnVlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmIChpbnB1dENvbmZpZy50aG91c2FuZFNlcGFyYXRvcikge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bMC05XSokLyxcbiAgICAgICAgICAgICAgICBpc0RlY2ltYWxBbmREb3RPbmx5OiB0cnVlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIFsnYnVzaW5lc3MgbmFtZScsICdzaG9wIG5hbWUnLCAnZnVlbCBzdG9wJ10uaW5jbHVkZXMoaW5wdXROYW1lKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eW0EtWmEtejAtOSEjJyQmJSgpKissLi9bOjs9PD4/w6fDqcOiw6rDrsO0w7vDoMOow6zDssO5w6vDr8O8XFxzLV0qJC9nLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAoWydwaG9uZScsICdmYXgnXS5pbmNsdWRlcyhpbnB1dE5hbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXlswLTkoKSAtXSokL2csXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICdtYy9mZicsXG4gICAgICAgICAgICAgICAgJ3Bob25lLWV4dGVuc2lvbicsXG4gICAgICAgICAgICAgICAgJ2FjY291bnQtYmFuaycsXG4gICAgICAgICAgICAgICAgJ3JvdXRpbmctYmFuaycsXG4gICAgICAgICAgICAgICAgJ2Z1ZWwtY2FyZCcsXG4gICAgICAgICAgICAgICAgJ2VtcHR5LXdlaWdodCcsXG4gICAgICAgICAgICAgICAgJ2NyZWRpdCBsaW1pdCcsXG4gICAgICAgICAgICAgICAgJ3BvIGJveCcsXG4gICAgICAgICAgICAgICAgJ3ByaWNlJyxcbiAgICAgICAgICAgICAgICAndHJhaWxlci12b2x1bWUnLFxuICAgICAgICAgICAgICAgICdyZXBhaXItb2RvbWV0ZXInLFxuICAgICAgICAgICAgICAgICd1c2RvdCcsXG4gICAgICAgICAgICAgICAgJ2lycCcsXG4gICAgICAgICAgICAgICAgJ3N0YXJ0aW5nJyxcbiAgICAgICAgICAgICAgICAnY3VzdG9tZXIgcGF5IHRlcm0nLFxuICAgICAgICAgICAgICAgICdjdXN0b21lciBjcmVkaXQnLFxuICAgICAgICAgICAgICAgICdkZWZhdWx0IGJhc2UnLFxuICAgICAgICAgICAgICAgICdlYWNoIG9jY3VycmVuY2UnLFxuICAgICAgICAgICAgICAgICdkYW1hZ2UnLFxuICAgICAgICAgICAgICAgICdwZXJzb25hbC1hZHZlci1pbmonLFxuICAgICAgICAgICAgICAgICdtZWRpY2FsIGV4cGVuc2VzJyxcbiAgICAgICAgICAgICAgICAnYm9kaWx5IGluanVyeScsXG4gICAgICAgICAgICAgICAgJ2dlbmVyYWwgYWdncmVnYXRlJyxcbiAgICAgICAgICAgICAgICAncHJvZHVjdHMtY29tcC1vcC1hZ2cnLFxuICAgICAgICAgICAgICAgICdjb21iaW5lZC1zaW5nbGUtbGltaXQnLFxuICAgICAgICAgICAgICAgICdzaW5nbGUtY29udmV5YW5jZScsXG4gICAgICAgICAgICAgICAgJ2RlZHVjdGFibGUnLFxuICAgICAgICAgICAgICAgICdjb21wcmVoLWNvbGxpc2lvbicsXG4gICAgICAgICAgICAgICAgJ3RyYWlsZXItdmFsdWUtaW5zdXJhbmNlLXBvbGljeScsXG4gICAgICAgICAgICAgICAgJ3JlbnQnLFxuICAgICAgICAgICAgICAgICdzYWxhcnknLFxuICAgICAgICAgICAgICAgICdtaWxlYWdlJyxcbiAgICAgICAgICAgICAgICAnbW9udGhzJyxcbiAgICAgICAgICAgICAgICAnZW1wdHkgd2VpZ2h0JyxcbiAgICAgICAgICAgICAgICAncXR5JyxcbiAgICAgICAgICAgICAgICAncHVyY2hhc2UgcHJpY2UnLFxuICAgICAgICAgICAgXS5pbmNsdWRlcyhpbnB1dE5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bMC05XSokL2csXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eWzAtOV0qJC9nO1xuICAgICAgICB9IGVsc2UgaWYgKCdlbWFpbCcgPT09IGlucHV0TmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bQS1aYS16MC05ISMkJSYnKisvPT9eX2B7fH1+QC4tXSokL2csXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IHRydWUsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bQS1aYS16MC05ISMkJSYnKisvPT9eX2B7fH1+QC4tXSokL2c7XG4gICAgICAgIH0gZWxzZSBpZiAoJ2ludm9pY2UnID09PSBpbnB1dE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eW0EtWmEtejAtOS8tXSokL2csXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEtejAtOS8tXSokL2c7XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBbJ2FkZHJlc3MtdW5pdCcsICdkZXBhcnRtZW50JywgJ3ZlaGljbGUtdW5pdCddLmluY2x1ZGVzKGlucHV0TmFtZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXowLTldKiQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXltBLVphLXowLTldKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCdmaXJzdCBuYW1lJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXonLFxccy4tXSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bQS1aYS16JyxcXHMuLV0qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoJ2xhc3QgbmFtZScgPT09IGlucHV0TmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bQS1aYS16JyxcXHMuLV0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEteicsXFxzLi1dKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCdiYW5rIG5hbWUnID09PSBpbnB1dE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eW0EtWmEtejAtOSEjJyQmJSgpKissLi86Oz08Pj8tXltdKiQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXltBLVphLXowLTkhIyckJiUoKSorLC4vOjs9PD4/LV5bXSokLztcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIFsndmluLW51bWJlcicsICdpbnN1cmFuY2UtcG9saWN5JywgJ2lmdGEnXS5pbmNsdWRlcyhpbnB1dE5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bQS1aYS16MC05LV0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEtejAtOS1dKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCd0cnVjay10cmFpbGVyLW1vZGVsJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXowLTlcXHMtXSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bQS1aYS16MC05XFxzLV0qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoJ3llYXInID09PSBpbnB1dE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eKHwwfFsxLTldXFxkKikkLyxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXlswLTldJC87XG4gICAgICAgIH0gZWxzZSBpZiAoJ2xpY2Vuc2UgcGxhdGUnID09PSBpbnB1dE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eW0EtWmEtejAtOVxcc10qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEtejAtOVxcc10qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoJ2Rlc2NyaXB0aW9uJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXowLTktLiwvXFxzXSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bQS1aYS16MC05LS4sL1xcc10qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoJ2RiYSBuYW1lJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXowLTkhIyckJiUoKSorLC4vOjs9PD4/XlstXSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bQS1aYS16MC05ISMnJCYlKCkqKywuLzo7PTw+P15bLV0qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoJ3BlciBtaWxlJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXlswLTkuXSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bMC05Ll0qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoJ3BlciBzdG9wJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXlswLTldKiQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXlswLTldKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgWydlbWVyZ2VuY3kgbmFtZScsICdyZWxhdGlvbnNoaXAnLCAnc2NhYyddLmluY2x1ZGVzKGlucHV0TmFtZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXonLFxccy4tXSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bQS1aYS16JyxcXHMuLV0qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoJ2Z1ZWwgc3RvcmUnID09PSBpbnB1dE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eW0EtWmEtejAtOS1dKiQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXltBLVphLXowLTktXSokLztcbiAgICAgICAgfSBlbHNlIGlmICgnaG9zJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXlswLTldKiQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXlswLTldKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKFsnZnVsbCBwYXJraW5nIHNsb3QnLCAncGFya2luZyBzbG90J10uaW5jbHVkZXMoaW5wdXROYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bMC05LC1dKiQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXlswLTksLV0qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoJ2NkbC1udW1iZXInID09PSBpbnB1dE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eW0EtWmEtejAtOVxccyotXSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bQS1aYS16MC05XFxzKi1dKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgWyd1c2VybmFtZScsICduaWNrbmFtZScsICd0ZXJtaW5hbCBuYW1lJywgJ3Bhc3N3b3JkJ10uaW5jbHVkZXMoXG4gICAgICAgICAgICAgICAgaW5wdXROYW1lXG4gICAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bQS1aYS16MC05LixfISNefls/LzxgQCQlKis9fXt8OlwiOz4mJygpLV0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEtejAtOS4sXyEjXn5bPy88YEAkJSorPX17fDpcIjs+JicoKS1dKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKCdmdWxsIG5hbWUnID09PSBpbnB1dE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eW0EtWmEtejAtOS4sLyFAIyQlXiYqKClfKz17fVwiJzo+Pzw7XFxzLV0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEtejAtOS4sLyFAIyQlXiYqKClfKz17fVwiJzo+Pzw7XFxzLV0qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoJ3RvbGx2YWxpZGF0aW9uJyA9PT0gaW5wdXROYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXlswLTktXSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bMC05LV0qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoWydwcmVmaXgnLCAnc3VmZml4JywgJ3BhcmtpbmcgbmFtZSddLmluY2x1ZGVzKGlucHV0TmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVnZXg6IC9eW0EtWmEtejAtOV0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEtejAtOV0qJC87XG4gICAgICAgIH0gZWxzZSBpZiAoJ2ZpbGUgbmFtZScgPT09IGlucHV0TmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bOio/XCI8PnwvXSokLyxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlU3BhY2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RNdWx0aXBlRG90czogZmFsc2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy9yZXR1cm4gL15bOio/XCI8PnwvXSokLztcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIFsncHJvZHVjZXIgbmFtZScsICdpbnN1cmVyIG5hbWUnLCAnb2ZmaWNlIG5hbWUnXS5pbmNsdWRlcyhpbnB1dE5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWdleDogL15bQS1aYS16MC05ISMnJCYlKCkqKywuLzs6PTw+P1teLV0qJC8sXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0TXVsdGlwZURvdHM6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vcmV0dXJuIC9eW0EtWmEtejAtOSEjJyQmJSgpKissLi87Oj08Pj9bXi1dKiQvO1xuICAgICAgICB9IGVsc2UgaWYgKFsnZnVsbCBjb250YWN0IG5hbWUnXS5pbmNsdWRlcyhpbnB1dE5hbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZ2V4OiAvXltBLVphLXpcXHNdKyQvLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVTcGFjZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3RyaWN0Q29uc2VjdXRpdmVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvL3JldHVybiAvXltBLVphLXpcXHNdKyQvO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlZ2V4OiAvLiovLFxuICAgICAgICAgICAgcmVzdHJpY3RDb25zZWN1dGl2ZVNwYWNlczogZmFsc2UsXG4gICAgICAgICAgICByZXN0cmljdENvbnNlY3V0aXZlRG90czogZmFsc2UsXG4gICAgICAgICAgICByZXN0cmljdE11bHRpcGVEb3RzOiBmYWxzZSxcbiAgICAgICAgICAgIGlzRGVjaW1hbEFuZERvdE9ubHk6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==