ng-smn-ui 4.2.8 → 4.2.13

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.
@@ -0,0 +1,236 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { AfterViewInit, Directive, ElementRef, EventEmitter, forwardRef, HostListener, Input, OnChanges, Output } from '@angular/core';
3
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { UiCnpjNovoPipe } from './cnpj-novo.pipe';
5
+ import { UiElement } from '../../providers/element.provider';
6
+ var UiMaskCnpjNovoDirective = /** @class */ (function () {
7
+ function UiMaskCnpjNovoDirective(elementRef, cnpjPipe) {
8
+ this.elementRef = elementRef;
9
+ this.cnpjPipe = cnpjPipe;
10
+ this.symbolsPositions = [2, 6, 10, 15, 18];
11
+ this.padOnPaste = true;
12
+ this.ngModelChange = new EventEmitter();
13
+ }
14
+ UiMaskCnpjNovoDirective_1 = UiMaskCnpjNovoDirective;
15
+ UiMaskCnpjNovoDirective.prototype.ngOnChanges = function (changes) {
16
+ if (!changes.ngModel.firstChange && (changes.ngModel.currentValue === null || changes.ngModel.currentValue === undefined)) {
17
+ this.elementRef.nativeElement.value = '';
18
+ }
19
+ };
20
+ UiMaskCnpjNovoDirective.prototype.ngAfterViewInit = function () {
21
+ var _this = this;
22
+ setTimeout(function () {
23
+ _this.loaded = true;
24
+ });
25
+ };
26
+ UiMaskCnpjNovoDirective.prototype.writeValue = function (rawValue) {
27
+ var _this = this;
28
+ if (this.control && this.loaded && rawValue) {
29
+ this.control.markAsDirty();
30
+ }
31
+ if (!this.input) {
32
+ if (this.ngModel) {
33
+ var value = this.ngModel.toString().toUpperCase();
34
+ var cleanValue = value.replace(/[^0-9A-Z]+/g, '');
35
+ var isNumericOnly = /^[0-9]*$/.test(cleanValue);
36
+ var paddedValue = isNumericOnly ? cleanValue.padStart(14, '0') : cleanValue;
37
+ if (paddedValue !== cleanValue) {
38
+ this.ngModel = paddedValue;
39
+ setTimeout(function () { return _this.ngModelChange.emit(_this.ngModel); });
40
+ }
41
+ else {
42
+ this.ngModel = paddedValue;
43
+ }
44
+ }
45
+ else {
46
+ this.ngModel = '';
47
+ }
48
+ this.elementRef.nativeElement.value = this.cnpjPipe.transform(this.ngModel, true);
49
+ }
50
+ this.input = false;
51
+ };
52
+ UiMaskCnpjNovoDirective.prototype.renderViaInput = function (rawValue) {
53
+ if (rawValue) {
54
+ this.control.markAsDirty();
55
+ }
56
+ this.ngModel = this.format(rawValue);
57
+ this.ngModelChange.emit(this.ngModel);
58
+ this.elementRef.nativeElement.value = this.cnpjPipe.transform(this.elementRef.nativeElement.value, true);
59
+ };
60
+ UiMaskCnpjNovoDirective.prototype.registerOnChange = function (fn) {
61
+ this.onChange = fn;
62
+ };
63
+ UiMaskCnpjNovoDirective.prototype.registerOnTouched = function (fn) {
64
+ this.onTouched = fn;
65
+ };
66
+ UiMaskCnpjNovoDirective.prototype.format = function (value) {
67
+ // Aceita números e letras (A-Z), normaliza para maiúsculas
68
+ value = value.toString().toUpperCase().replace(/[^0-9A-Z]+/g, '');
69
+ return value.substring(0, 14);
70
+ };
71
+ UiMaskCnpjNovoDirective.prototype.validate = function (control) {
72
+ this.control = control;
73
+ if (this.input) {
74
+ if (control.value && this.format(control.value).length < 14) {
75
+ return { parse: true };
76
+ }
77
+ }
78
+ if (this.uiMaskCnpjNovo === true && control.value) {
79
+ var value = control.value.toString().toUpperCase().replace(/[^0-9A-Z]+/g, '');
80
+ var isNumericOnly = /^[0-9]*$/.test(value);
81
+ if (isNumericOnly) {
82
+ value = value.padStart(14, '0');
83
+ }
84
+ if (!this.cnpjIsValid(value)) {
85
+ return { parse: true };
86
+ }
87
+ }
88
+ this.input = false;
89
+ return null;
90
+ };
91
+ UiMaskCnpjNovoDirective.prototype.setDisabledState = function (isDisabled) {
92
+ var method = isDisabled ? 'setAttribute' : 'removeAttribute';
93
+ this.elementRef.nativeElement[method]('disabled', 'disabled');
94
+ };
95
+ /**
96
+ * Converte um caractere para seu valor numérico.
97
+ * Usa código ASCII - 48 para todos os caracteres:
98
+ * - Dígitos 0-9 retornam 0-9
99
+ * - Letras A-Z retornam 17-42 (A=17, B=18, ..., Z=42)
100
+ * Referência: https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/publicacoes/perguntas-e-respostas/cnpj/cnpj-alfanumerico.pdf
101
+ */
102
+ UiMaskCnpjNovoDirective.prototype.charToValue = function (char) {
103
+ return char.toUpperCase().charCodeAt(0) - 48;
104
+ };
105
+ /**
106
+ * Valida CNPJ alfanumérico conforme especificação.
107
+ * Suporta tanto CNPJs numéricos tradicionais quanto os novos alfanuméricos.
108
+ * A conversão usa ASCII - 48 para todos os caracteres (A=17, B=18, ..., Z=42).
109
+ */
110
+ UiMaskCnpjNovoDirective.prototype.cnpjIsValid = function (cnpj) {
111
+ if (!cnpj || cnpj.length !== 14) {
112
+ return false;
113
+ }
114
+ // Normaliza para maiúsculas
115
+ cnpj = cnpj.toUpperCase();
116
+ // Verifica se contém apenas caracteres válidos (0-9 e A-Z)
117
+ if (!/^[0-9A-Z]{14}$/.test(cnpj)) {
118
+ return false;
119
+ }
120
+ // Verifica CNPJs com todos os caracteres iguais
121
+ if (/^(.)\1{13}$/.test(cnpj)) {
122
+ return false;
123
+ }
124
+ var base = cnpj.substring(0, 12);
125
+ var digits = cnpj.substring(12);
126
+ // Calcula o primeiro dígito verificador
127
+ var sum = 0;
128
+ var pos = 5;
129
+ for (var i = 0; i < 12; i++) {
130
+ sum += this.charToValue(base.charAt(i)) * pos--;
131
+ if (pos < 2) {
132
+ pos = 9;
133
+ }
134
+ }
135
+ var result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
136
+ if (result !== this.charToValue(digits.charAt(0))) {
137
+ return false;
138
+ }
139
+ // Calcula o segundo dígito verificador
140
+ var baseWithFirstDigit = base + digits.charAt(0);
141
+ sum = 0;
142
+ pos = 6;
143
+ for (var i = 0; i < 13; i++) {
144
+ sum += this.charToValue(baseWithFirstDigit.charAt(i)) * pos--;
145
+ if (pos < 2) {
146
+ pos = 9;
147
+ }
148
+ }
149
+ result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
150
+ return result === this.charToValue(digits.charAt(1));
151
+ };
152
+ UiMaskCnpjNovoDirective.prototype.onKeydown = function () {
153
+ this.beforeSelIndex = UiElement.caretPosition.get(this.elementRef.nativeElement);
154
+ };
155
+ UiMaskCnpjNovoDirective.prototype.onInput = function ($event) {
156
+ var afterSelIndex = UiElement.caretPosition.get(this.elementRef.nativeElement);
157
+ var rawValue = this.elementRef.nativeElement.value;
158
+ this.input = this.format(rawValue) !== this.ngModel;
159
+ this.renderViaInput(rawValue);
160
+ UiElement.caretPosition.set(this.elementRef.nativeElement, this.beforeSelIndex, afterSelIndex, this.symbolsPositions);
161
+ };
162
+ UiMaskCnpjNovoDirective.prototype.padLeft = function (event) {
163
+ if (this.padOnPaste) {
164
+ event.preventDefault();
165
+ var data = void 0;
166
+ if (window['clipboardData']) {
167
+ data = window['clipboardData'];
168
+ }
169
+ else if (event.clipboardData && event.clipboardData.getData) {
170
+ data = event.clipboardData;
171
+ }
172
+ // Aceita números e letras, normaliza para maiúsculas
173
+ var text = data.getData('text').toString().toUpperCase().replace(/[^0-9A-Z]+/g, '');
174
+ // Só faz padStart se for CNPJ numérico puro (retrocompatibilidade)
175
+ var isNumericOnly = /^[0-9]*$/.test(text);
176
+ this.renderViaInput(isNumericOnly ? text.padStart(14, '0') : text);
177
+ }
178
+ };
179
+ var UiMaskCnpjNovoDirective_1;
180
+ UiMaskCnpjNovoDirective.ctorParameters = function () { return [
181
+ { type: ElementRef },
182
+ { type: UiCnpjNovoPipe }
183
+ ]; };
184
+ __decorate([
185
+ Input(),
186
+ __metadata("design:type", Object)
187
+ ], UiMaskCnpjNovoDirective.prototype, "ngModel", void 0);
188
+ __decorate([
189
+ Input(),
190
+ __metadata("design:type", Boolean)
191
+ ], UiMaskCnpjNovoDirective.prototype, "padOnPaste", void 0);
192
+ __decorate([
193
+ Input('uiMaskCnpjNovo'),
194
+ __metadata("design:type", Object)
195
+ ], UiMaskCnpjNovoDirective.prototype, "uiMaskCnpjNovo", void 0);
196
+ __decorate([
197
+ Output(),
198
+ __metadata("design:type", EventEmitter)
199
+ ], UiMaskCnpjNovoDirective.prototype, "ngModelChange", void 0);
200
+ __decorate([
201
+ HostListener('keydown'),
202
+ __metadata("design:type", Function),
203
+ __metadata("design:paramtypes", []),
204
+ __metadata("design:returntype", void 0)
205
+ ], UiMaskCnpjNovoDirective.prototype, "onKeydown", null);
206
+ __decorate([
207
+ HostListener('input', ['$event']),
208
+ __metadata("design:type", Function),
209
+ __metadata("design:paramtypes", [Object]),
210
+ __metadata("design:returntype", void 0)
211
+ ], UiMaskCnpjNovoDirective.prototype, "onInput", null);
212
+ __decorate([
213
+ HostListener('paste', ['$event']),
214
+ __metadata("design:type", Function),
215
+ __metadata("design:paramtypes", [Object]),
216
+ __metadata("design:returntype", void 0)
217
+ ], UiMaskCnpjNovoDirective.prototype, "padLeft", null);
218
+ UiMaskCnpjNovoDirective = UiMaskCnpjNovoDirective_1 = __decorate([
219
+ Directive({
220
+ selector: '[uiMaskCnpjNovo][ngModel]',
221
+ providers: [{
222
+ provide: NG_VALUE_ACCESSOR,
223
+ useExisting: forwardRef(function () { return UiMaskCnpjNovoDirective_1; }),
224
+ multi: true
225
+ }, {
226
+ provide: NG_VALIDATORS,
227
+ useExisting: forwardRef(function () { return UiMaskCnpjNovoDirective_1; }),
228
+ multi: true
229
+ }, UiCnpjNovoPipe]
230
+ }),
231
+ __metadata("design:paramtypes", [ElementRef, UiCnpjNovoPipe])
232
+ ], UiMaskCnpjNovoDirective);
233
+ return UiMaskCnpjNovoDirective;
234
+ }());
235
+ export { UiMaskCnpjNovoDirective };
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay1jbnBqLW5vdm8uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctc21uLXVpLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL21hc2tzL2NucGotbm92by9tYXNrLWNucGotbm92by5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxhQUFhLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUM5RixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFxQyxhQUFhLEVBQUUsaUJBQWlCLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBYzdEO0lBY0ksaUNBQW1CLFVBQXNCLEVBQVMsUUFBd0I7UUFBdkQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBTjFFLHFCQUFnQixHQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXZDLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFFMUIsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUdoRSxDQUFDO2dDQWZRLHVCQUF1QjtJQWlCaEMsNkNBQVcsR0FBWCxVQUFZLE9BQU87UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEtBQUssU0FBUyxDQUFDLEVBQUU7WUFDdkgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUM1QztJQUNMLENBQUM7SUFFRCxpREFBZSxHQUFmO1FBQUEsaUJBSUM7UUFIRyxVQUFVLENBQUM7WUFDUCxLQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCw0Q0FBVSxHQUFWLFVBQVcsUUFBYTtRQUF4QixpQkFzQkM7UUFyQkcsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksUUFBUSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDOUI7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNiLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDZCxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNwRCxJQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDcEQsSUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDbEQsSUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO2dCQUM5RSxJQUFJLFdBQVcsS0FBSyxVQUFVLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDO29CQUMzQixVQUFVLENBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxPQUFPLENBQUMsRUFBckMsQ0FBcUMsQ0FBQyxDQUFDO2lCQUMzRDtxQkFBTTtvQkFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQztpQkFDOUI7YUFDSjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQzthQUNyQjtZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3JGO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELGdEQUFjLEdBQWQsVUFBZSxRQUFhO1FBQ3hCLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM5QjtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsa0RBQWdCLEdBQWhCLFVBQWlCLEVBQU87UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELG1EQUFpQixHQUFqQixVQUFrQixFQUFPO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCx3Q0FBTSxHQUFOLFVBQU8sS0FBSztRQUNSLDJEQUEyRDtRQUMzRCxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEUsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsMENBQVEsR0FBUixVQUFTLE9BQW9CO1FBRXpCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBRXZCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO2FBQzFCO1NBQ0o7UUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDL0MsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzlFLElBQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0MsSUFBSSxhQUFhLEVBQUU7Z0JBQ2YsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ25DO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDMUI7U0FDSjtRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxrREFBZ0IsR0FBaEIsVUFBaUIsVUFBbUI7UUFDaEMsSUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBQy9ELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsNkNBQVcsR0FBWCxVQUFZLElBQVk7UUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDZDQUFXLEdBQVgsVUFBWSxJQUFZO1FBQ3BCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCw0QkFBNEI7UUFDNUIsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUUxQiwyREFBMkQ7UUFDM0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5QixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELGdEQUFnRDtRQUNoRCxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDMUIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQyxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWxDLHdDQUF3QztRQUN4QyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pCLEdBQUcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNoRCxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUU7Z0JBQ1QsR0FBRyxHQUFHLENBQUMsQ0FBQzthQUNYO1NBQ0o7UUFDRCxJQUFJLE1BQU0sR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxNQUFNLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0MsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCx1Q0FBdUM7UUFDdkMsSUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNSLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekIsR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDOUQsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFO2dCQUNULEdBQUcsR0FBRyxDQUFDLENBQUM7YUFDWDtTQUNKO1FBQ0QsTUFBTSxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUU1QyxPQUFPLE1BQU0sS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBR0QsMkNBQVMsR0FBVDtRQUNJLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBR0QseUNBQU8sR0FBUCxVQUFRLE1BQU07UUFDVixJQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pGLElBQU0sUUFBUSxHQUFXLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUM3RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNwRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlCLFNBQVMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFILENBQUM7SUFHRCx5Q0FBTyxHQUFQLFVBQVEsS0FBVTtRQUNkLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLFNBQUssQ0FBQztZQUVkLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUN6QixJQUFJLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ2xDO2lCQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRTtnQkFDM0QsSUFBSSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7YUFDOUI7WUFFRCxxREFBcUQ7WUFDckQsSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3RGLG1FQUFtRTtZQUNuRSxJQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEU7SUFDTCxDQUFDOzs7Z0JBaE04QixVQUFVO2dCQUFtQixjQUFjOztJQUxqRTtRQUFSLEtBQUssRUFBRTs7NERBQWM7SUFDYjtRQUFSLEtBQUssRUFBRTs7K0RBQTRCO0lBQ1g7UUFBeEIsS0FBSyxDQUFDLGdCQUFnQixDQUFDOzttRUFBZ0I7SUFDOUI7UUFBVCxNQUFNLEVBQUU7a0NBQWdCLFlBQVk7a0VBQTJCO0lBa0toRTtRQURDLFlBQVksQ0FBQyxTQUFTLENBQUM7Ozs7NERBR3ZCO0lBR0Q7UUFEQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Ozs7MERBT2pDO0lBR0Q7UUFEQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Ozs7MERBbUJqQztJQTlNUSx1QkFBdUI7UUFabkMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLDJCQUEyQjtZQUNyQyxTQUFTLEVBQUUsQ0FBQztvQkFDUixPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSx5QkFBdUIsRUFBdkIsQ0FBdUIsQ0FBQztvQkFDdEQsS0FBSyxFQUFFLElBQUk7aUJBQ2QsRUFBRTtvQkFDQyxPQUFPLEVBQUUsYUFBYTtvQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEseUJBQXVCLEVBQXZCLENBQXVCLENBQUM7b0JBQ3RELEtBQUssRUFBRSxJQUFJO2lCQUNkLEVBQUUsY0FBYyxDQUFDO1NBQ3JCLENBQUM7eUNBZWlDLFVBQVUsRUFBbUIsY0FBYztPQWRqRSx1QkFBdUIsQ0ErTW5DO0lBQUQsOEJBQUM7Q0FBQSxBQS9NRCxJQStNQztTQS9NWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcyxcclxuICAgIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFVpQ25wak5vdm9QaXBlIH0gZnJvbSAnLi9jbnBqLW5vdm8ucGlwZSc7XHJcbmltcG9ydCB7IFVpRWxlbWVudCB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9lbGVtZW50LnByb3ZpZGVyJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbdWlNYXNrQ25wak5vdm9dW25nTW9kZWxdJyxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBVaU1hc2tDbnBqTm92b0RpcmVjdGl2ZSksXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH0sIHtcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFVpTWFza0NucGpOb3ZvRGlyZWN0aXZlKSxcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfSwgVWlDbnBqTm92b1BpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaU1hc2tDbnBqTm92b0RpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG4gICAgbG9hZGVkOiBib29sZWFuO1xyXG4gICAgaW5wdXQ6IGJvb2xlYW47XHJcbiAgICBiZWZvcmVTZWxJbmRleDtcclxuICAgIG9uQ2hhbmdlOiBGdW5jdGlvbjtcclxuICAgIG9uVG91Y2hlZDogRnVuY3Rpb247XHJcbiAgICBjb250cm9sOiBGb3JtQ29udHJvbDtcclxuICAgIHN5bWJvbHNQb3NpdGlvbnM6IG51bWJlcltdID0gWzIsIDYsIDEwLCAxNSwgMThdO1xyXG4gICAgQElucHV0KCkgbmdNb2RlbDogYW55O1xyXG4gICAgQElucHV0KCkgcGFkT25QYXN0ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoJ3VpTWFza0NucGpOb3ZvJykgdWlNYXNrQ25wak5vdm87XHJcbiAgICBAT3V0cHV0KCkgbmdNb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHB1YmxpYyBjbnBqUGlwZTogVWlDbnBqTm92b1BpcGUpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFjaGFuZ2VzLm5nTW9kZWwuZmlyc3RDaGFuZ2UgJiYgKGNoYW5nZXMubmdNb2RlbC5jdXJyZW50VmFsdWUgPT09IG51bGwgfHwgY2hhbmdlcy5uZ01vZGVsLmN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkKSkge1xyXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKHJhd1ZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sICYmIHRoaXMubG9hZGVkICYmIHJhd1ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMuaW5wdXQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubmdNb2RlbCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLm5nTW9kZWwudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2xlYW5WYWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1teMC05QS1aXSsvZywgJycpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaXNOdW1lcmljT25seSA9IC9eWzAtOV0qJC8udGVzdChjbGVhblZhbHVlKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBhZGRlZFZhbHVlID0gaXNOdW1lcmljT25seSA/IGNsZWFuVmFsdWUucGFkU3RhcnQoMTQsICcwJykgOiBjbGVhblZhbHVlO1xyXG4gICAgICAgICAgICAgICAgaWYgKHBhZGRlZFZhbHVlICE9PSBjbGVhblZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ01vZGVsID0gcGFkZGVkVmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLm5nTW9kZWxDaGFuZ2UuZW1pdCh0aGlzLm5nTW9kZWwpKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ01vZGVsID0gcGFkZGVkVmFsdWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5nTW9kZWwgPSAnJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuY25walBpcGUudHJhbnNmb3JtKHRoaXMubmdNb2RlbCwgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaW5wdXQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXJWaWFJbnB1dChyYXdWYWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHJhd1ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5uZ01vZGVsID0gdGhpcy5mb3JtYXQocmF3VmFsdWUpO1xyXG4gICAgICAgIHRoaXMubmdNb2RlbENoYW5nZS5lbWl0KHRoaXMubmdNb2RlbCk7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmNucGpQaXBlLnRyYW5zZm9ybSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIGZvcm1hdCh2YWx1ZSkge1xyXG4gICAgICAgIC8vIEFjZWl0YSBuw7ptZXJvcyBlIGxldHJhcyAoQS1aKSwgbm9ybWFsaXphIHBhcmEgbWFpw7pzY3VsYXNcclxuICAgICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKS5yZXBsYWNlKC9bXjAtOUEtWl0rL2csICcnKTtcclxuICAgICAgICByZXR1cm4gdmFsdWUuc3Vic3RyaW5nKDAsIDE0KTtcclxuICAgIH1cclxuXHJcbiAgICB2YWxpZGF0ZShjb250cm9sOiBGb3JtQ29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xyXG5cclxuICAgICAgICB0aGlzLmNvbnRyb2wgPSBjb250cm9sO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5pbnB1dCkge1xyXG4gICAgICAgICAgICBpZiAoY29udHJvbC52YWx1ZSAmJiB0aGlzLmZvcm1hdChjb250cm9sLnZhbHVlKS5sZW5ndGggPCAxNCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgcGFyc2U6IHRydWUgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMudWlNYXNrQ25wak5vdm8gPT09IHRydWUgJiYgY29udHJvbC52YWx1ZSkge1xyXG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBjb250cm9sLnZhbHVlLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKS5yZXBsYWNlKC9bXjAtOUEtWl0rL2csICcnKTtcclxuICAgICAgICAgICAgY29uc3QgaXNOdW1lcmljT25seSA9IC9eWzAtOV0qJC8udGVzdCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIGlmIChpc051bWVyaWNPbmx5KSB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnBhZFN0YXJ0KDE0LCAnMCcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5jbnBqSXNWYWxpZCh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IHBhcnNlOiB0cnVlIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuaW5wdXQgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgICAgICBjb25zdCBtZXRob2QgPSBpc0Rpc2FibGVkID8gJ3NldEF0dHJpYnV0ZScgOiAncmVtb3ZlQXR0cmlidXRlJztcclxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFttZXRob2RdKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udmVydGUgdW0gY2FyYWN0ZXJlIHBhcmEgc2V1IHZhbG9yIG51bcOpcmljby5cclxuICAgICAqIFVzYSBjw7NkaWdvIEFTQ0lJIC0gNDggcGFyYSB0b2RvcyBvcyBjYXJhY3RlcmVzOlxyXG4gICAgICogLSBEw61naXRvcyAwLTkgcmV0b3JuYW0gMC05XHJcbiAgICAgKiAtIExldHJhcyBBLVogcmV0b3JuYW0gMTctNDIgKEE9MTcsIEI9MTgsIC4uLiwgWj00MilcclxuICAgICAqIFJlZmVyw6puY2lhOiBodHRwczovL3d3dy5nb3YuYnIvcmVjZWl0YWZlZGVyYWwvcHQtYnIvY2VudHJhaXMtZGUtY29udGV1ZG8vcHVibGljYWNvZXMvcGVyZ3VudGFzLWUtcmVzcG9zdGFzL2NucGovY25wai1hbGZhbnVtZXJpY28ucGRmXHJcbiAgICAgKi9cclxuICAgIGNoYXJUb1ZhbHVlKGNoYXI6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIGNoYXIudG9VcHBlckNhc2UoKS5jaGFyQ29kZUF0KDApIC0gNDg7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWYWxpZGEgQ05QSiBhbGZhbnVtw6lyaWNvIGNvbmZvcm1lIGVzcGVjaWZpY2HDp8Ojby5cclxuICAgICAqIFN1cG9ydGEgdGFudG8gQ05QSnMgbnVtw6lyaWNvcyB0cmFkaWNpb25haXMgcXVhbnRvIG9zIG5vdm9zIGFsZmFudW3DqXJpY29zLlxyXG4gICAgICogQSBjb252ZXJzw6NvIHVzYSBBU0NJSSAtIDQ4IHBhcmEgdG9kb3Mgb3MgY2FyYWN0ZXJlcyAoQT0xNywgQj0xOCwgLi4uLCBaPTQyKS5cclxuICAgICAqL1xyXG4gICAgY25waklzVmFsaWQoY25wajogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFjbnBqIHx8IGNucGoubGVuZ3RoICE9PSAxNCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBOb3JtYWxpemEgcGFyYSBtYWnDunNjdWxhc1xyXG4gICAgICAgIGNucGogPSBjbnBqLnRvVXBwZXJDYXNlKCk7XHJcblxyXG4gICAgICAgIC8vIFZlcmlmaWNhIHNlIGNvbnTDqW0gYXBlbmFzIGNhcmFjdGVyZXMgdsOhbGlkb3MgKDAtOSBlIEEtWilcclxuICAgICAgICBpZiAoIS9eWzAtOUEtWl17MTR9JC8udGVzdChjbnBqKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBWZXJpZmljYSBDTlBKcyBjb20gdG9kb3Mgb3MgY2FyYWN0ZXJlcyBpZ3VhaXNcclxuICAgICAgICBpZiAoL14oLilcXDF7MTN9JC8udGVzdChjbnBqKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBiYXNlID0gY25wai5zdWJzdHJpbmcoMCwgMTIpO1xyXG4gICAgICAgIGNvbnN0IGRpZ2l0cyA9IGNucGouc3Vic3RyaW5nKDEyKTtcclxuXHJcbiAgICAgICAgLy8gQ2FsY3VsYSBvIHByaW1laXJvIGTDrWdpdG8gdmVyaWZpY2Fkb3JcclxuICAgICAgICBsZXQgc3VtID0gMDtcclxuICAgICAgICBsZXQgcG9zID0gNTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEyOyBpKyspIHtcclxuICAgICAgICAgICAgc3VtICs9IHRoaXMuY2hhclRvVmFsdWUoYmFzZS5jaGFyQXQoaSkpICogcG9zLS07XHJcbiAgICAgICAgICAgIGlmIChwb3MgPCAyKSB7XHJcbiAgICAgICAgICAgICAgICBwb3MgPSA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCByZXN1bHQgPSBzdW0gJSAxMSA8IDIgPyAwIDogMTEgLSAoc3VtICUgMTEpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgIT09IHRoaXMuY2hhclRvVmFsdWUoZGlnaXRzLmNoYXJBdCgwKSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ2FsY3VsYSBvIHNlZ3VuZG8gZMOtZ2l0byB2ZXJpZmljYWRvclxyXG4gICAgICAgIGNvbnN0IGJhc2VXaXRoRmlyc3REaWdpdCA9IGJhc2UgKyBkaWdpdHMuY2hhckF0KDApO1xyXG4gICAgICAgIHN1bSA9IDA7XHJcbiAgICAgICAgcG9zID0gNjtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEzOyBpKyspIHtcclxuICAgICAgICAgICAgc3VtICs9IHRoaXMuY2hhclRvVmFsdWUoYmFzZVdpdGhGaXJzdERpZ2l0LmNoYXJBdChpKSkgKiBwb3MtLTtcclxuICAgICAgICAgICAgaWYgKHBvcyA8IDIpIHtcclxuICAgICAgICAgICAgICAgIHBvcyA9IDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0ID0gc3VtICUgMTEgPCAyID8gMCA6IDExIC0gKHN1bSAlIDExKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdCA9PT0gdGhpcy5jaGFyVG9WYWx1ZShkaWdpdHMuY2hhckF0KDEpKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJylcclxuICAgIG9uS2V5ZG93bigpIHtcclxuICAgICAgICB0aGlzLmJlZm9yZVNlbEluZGV4ID0gVWlFbGVtZW50LmNhcmV0UG9zaXRpb24uZ2V0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pXHJcbiAgICBvbklucHV0KCRldmVudCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGFmdGVyU2VsSW5kZXggPSBVaUVsZW1lbnQuY2FyZXRQb3NpdGlvbi5nZXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgIGNvbnN0IHJhd1ZhbHVlOiBzdHJpbmcgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuICAgICAgICB0aGlzLmlucHV0ID0gdGhpcy5mb3JtYXQocmF3VmFsdWUpICE9PSB0aGlzLm5nTW9kZWw7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJWaWFJbnB1dChyYXdWYWx1ZSk7XHJcbiAgICAgICAgVWlFbGVtZW50LmNhcmV0UG9zaXRpb24uc2V0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmJlZm9yZVNlbEluZGV4LCBhZnRlclNlbEluZGV4LCB0aGlzLnN5bWJvbHNQb3NpdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3Bhc3RlJywgWyckZXZlbnQnXSlcclxuICAgIHBhZExlZnQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnBhZE9uUGFzdGUpIHtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICAgICAgICAgIGxldCBkYXRhOiBhbnk7XHJcblxyXG4gICAgICAgICAgICBpZiAod2luZG93WydjbGlwYm9hcmREYXRhJ10pIHtcclxuICAgICAgICAgICAgICAgIGRhdGEgPSB3aW5kb3dbJ2NsaXBib2FyZERhdGEnXTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5jbGlwYm9hcmREYXRhICYmIGV2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0YSkge1xyXG4gICAgICAgICAgICAgICAgZGF0YSA9IGV2ZW50LmNsaXBib2FyZERhdGE7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIEFjZWl0YSBuw7ptZXJvcyBlIGxldHJhcywgbm9ybWFsaXphIHBhcmEgbWFpw7pzY3VsYXNcclxuICAgICAgICAgICAgY29uc3QgdGV4dCA9IGRhdGEuZ2V0RGF0YSgndGV4dCcpLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKS5yZXBsYWNlKC9bXjAtOUEtWl0rL2csICcnKTtcclxuICAgICAgICAgICAgLy8gU8OzIGZheiBwYWRTdGFydCBzZSBmb3IgQ05QSiBudW3DqXJpY28gcHVybyAocmV0cm9jb21wYXRpYmlsaWRhZGUpXHJcbiAgICAgICAgICAgIGNvbnN0IGlzTnVtZXJpY09ubHkgPSAvXlswLTldKiQvLnRlc3QodGV4dCk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyVmlhSW5wdXQoaXNOdW1lcmljT25seSA/IHRleHQucGFkU3RhcnQoMTQsICcwJykgOiB0ZXh0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
package/esm5/ng-smn-ui.js CHANGED
@@ -2,85 +2,86 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public_api';
5
- export { UiAutocompleteComponent as ɵbq } from './lib/autocomplete/autocomplete.component';
6
- export { UiAutocompleteDirective as ɵbp } from './lib/autocomplete/autocomplete.directive';
7
- export { UiAvatarComponent as ɵcn } from './lib/avatar/avatar.component';
8
- export { UiBottomSheetComponent as ɵbw } from './lib/bottom-sheet/bottom-sheet.component';
9
- export { UiBottomSheetTriggerDirective as ɵbx } from './lib/bottom-sheet/bottom-sheet.directive';
5
+ export { UiAutocompleteComponent as ɵbr } from './lib/autocomplete/autocomplete.component';
6
+ export { UiAutocompleteDirective as ɵbq } from './lib/autocomplete/autocomplete.directive';
7
+ export { UiAvatarComponent as ɵco } from './lib/avatar/avatar.component';
8
+ export { UiBottomSheetComponent as ɵbx } from './lib/bottom-sheet/bottom-sheet.component';
9
+ export { UiBottomSheetTriggerDirective as ɵby } from './lib/bottom-sheet/bottom-sheet.directive';
10
10
  export { UiAddCalendarDirective as ɵd } from './lib/calendar/add-calendar.directive';
11
11
  export { UiCalendarContentComponent as ɵf } from './lib/calendar/calendar-content.component';
12
12
  export { UiCalendarComponent as ɵe } from './lib/calendar/calendar.component';
13
- export { UiChosenGroupComponent as ɵcs } from './lib/chosen/chosen-group/chosen-group.component';
14
- export { UiChosenOptionComponent as ɵcr } from './lib/chosen/chosen-option/chosen-option.component';
15
- export { UiChosenComponent as ɵcq } from './lib/chosen/chosen.component';
16
- export { UiClockComponent as ɵce } from './lib/clock/clock.component';
17
- export { UiColorPickerComponent as ɵcb } from './lib/color-picker/color-picker.component';
18
- export { UiColorPickerDirective as ɵcc } from './lib/color-picker/color-picker.directive';
19
- export { UiDataTableComponent as ɵbv } from './lib/data-table/data-table.component';
13
+ export { UiChosenGroupComponent as ɵct } from './lib/chosen/chosen-group/chosen-group.component';
14
+ export { UiChosenOptionComponent as ɵcs } from './lib/chosen/chosen-option/chosen-option.component';
15
+ export { UiChosenComponent as ɵcr } from './lib/chosen/chosen.component';
16
+ export { UiClockComponent as ɵcf } from './lib/clock/clock.component';
17
+ export { UiColorPickerComponent as ɵcc } from './lib/color-picker/color-picker.component';
18
+ export { UiColorPickerDirective as ɵcd } from './lib/color-picker/color-picker.directive';
19
+ export { UiDataTableComponent as ɵbw } from './lib/data-table/data-table.component';
20
20
  export { UiDataTableOrderByDirective as ɵh } from './lib/data-table/order-by.directive';
21
21
  export { UiDatePickerCallerDirective as ɵi } from './lib/date-picker/date-picker-caller.directive';
22
22
  export { UiDatePickerDirective as ɵk } from './lib/date-picker/date-picker.directive';
23
23
  export { UiReferencesService as ɵj } from './lib/date-picker/references.service';
24
24
  export { UiDialogTriggerDirective as ɵm } from './lib/dialog/dialog-trigger.directive';
25
25
  export { UiDialogComponent as ɵl } from './lib/dialog/dialog.component';
26
- export { UiEllipsisDirective as ɵbz } from './lib/ellipsis/ellipsis.directive';
27
- export { ExpansionPanelComponent as ɵct } from './lib/expansion-panel/expansion-panel.component';
28
- export { UiInputAutosizeDirective as ɵcd } from './lib/input/autosize.directive';
26
+ export { UiEllipsisDirective as ɵca } from './lib/ellipsis/ellipsis.directive';
27
+ export { ExpansionPanelComponent as ɵcu } from './lib/expansion-panel/expansion-panel.component';
28
+ export { UiInputAutosizeDirective as ɵce } from './lib/input/autosize.directive';
29
29
  export { UiInputContainerComponent as ɵn } from './lib/input/input-container.component';
30
- export { UiInputFileDirective as ɵby } from './lib/input/input-file.directive';
30
+ export { UiInputFileDirective as ɵbz } from './lib/input/input-file.directive';
31
31
  export { UiInputDirective as ɵo } from './lib/input/input.directive';
32
- export { UiLabelContentComponent as ɵdb } from './lib/label-content/label-content.component';
33
- export { UiLazyLoadDirective as ɵbu } from './lib/lazy-load/lazy-load.directive';
34
- export { UiListItemComponent as ɵbl } from './lib/list/item/item.component';
35
- export { UiListItemsComponent as ɵbk } from './lib/list/items/items.component';
32
+ export { UiLabelContentComponent as ɵdc } from './lib/label-content/label-content.component';
33
+ export { UiLazyLoadDirective as ɵbv } from './lib/lazy-load/lazy-load.directive';
34
+ export { UiListItemComponent as ɵbm } from './lib/list/item/item.component';
35
+ export { UiListItemsComponent as ɵbl } from './lib/list/items/items.component';
36
36
  export { UiListItemDirective as ɵbe } from './lib/list/list-item.directive';
37
- export { UiListComponent as ɵbj } from './lib/list/list.component';
37
+ export { UiListComponent as ɵbk } from './lib/list/list.component';
38
38
  export { UiMenuTriggerDirective as ɵr } from './lib/menu/menu-trigger.directive';
39
39
  export { UiMenuComponent as ɵq } from './lib/menu/menu.component';
40
40
  export { UiNavDrawerComponent as ɵs } from './lib/nav-drawer/nav-drawer.component';
41
- export { UiTabsPagesComponent as ɵbt } from './lib/old-tabs/pages/tabs-pages.component';
42
- export { UiTabsComponent as ɵbs } from './lib/old-tabs/tabs.component';
41
+ export { UiTabsPagesComponent as ɵbu } from './lib/old-tabs/pages/tabs-pages.component';
42
+ export { UiTabsComponent as ɵbt } from './lib/old-tabs/tabs.component';
43
43
  export { UiProgressRadialComponent as ɵu } from './lib/progress/radial/progress-radial.component';
44
44
  export { UiRippleDirective as ɵv } from './lib/ripple/ripple.directive';
45
- export { UiSelectOptionComponent as ɵcl } from './lib/select/option/option.component';
46
- export { UiSelectFilterPipe as ɵcm } from './lib/select/select-filter.pipe';
47
- export { UiSelectComponent as ɵck } from './lib/select/select.component';
45
+ export { UiSelectOptionComponent as ɵcm } from './lib/select/option/option.component';
46
+ export { UiSelectFilterPipe as ɵcn } from './lib/select/select-filter.pipe';
47
+ export { UiSelectComponent as ɵcl } from './lib/select/select.component';
48
48
  export { UiOptionComponent as ɵt } from './lib/selection-control/option/option.component';
49
49
  export { UiSwitchComponent as ɵba } from './lib/selection-control/switch/switch.component';
50
- export { UiSliderMultiHandleComponent as ɵbn } from './lib/slider/slider-multi-handle.component';
51
- export { UiSliderComponent as ɵbm } from './lib/slider/slider.component';
50
+ export { UiSliderMultiHandleComponent as ɵbo } from './lib/slider/slider-multi-handle.component';
51
+ export { UiSliderComponent as ɵbn } from './lib/slider/slider.component';
52
52
  export { UiSmartListItemComponent as ɵx } from './lib/smart-list/item/item.component';
53
53
  export { UiSmartListComponent as ɵw } from './lib/smart-list/smart-list.component';
54
54
  export { UiSnackbarContainerComponent as ɵz } from './lib/snackbar/snackbar-container.component';
55
55
  export { UiSnackbarComponent as ɵy } from './lib/snackbar/snackbar.component';
56
- export { tabFakeAnimation as ɵcy, tabTransform as ɵcz } from './lib/tab/group/tab-group.animation';
57
- export { UiTabGroupComponent as ɵcx } from './lib/tab/group/tab-group.component';
58
- export { UiTabHeaderComponent as ɵda } from './lib/tab/header/tab-header.component';
59
- export { UiTabContentDirective as ɵcv } from './lib/tab/tab-content.directive';
60
- export { UiTabLabelDirective as ɵcw } from './lib/tab/tab-label.directive';
61
- export { UiTabComponent as ɵcu } from './lib/tab/tab.component';
62
- export { UiTimePickerCallerDirective as ɵch } from './lib/time-picker/time-picker-caller.directive';
63
- export { UiTimePickerDirective as ɵcf } from './lib/time-picker/time-picker.directive';
64
- export { UiTimePickerService as ɵcg } from './lib/time-picker/time-picker.service';
56
+ export { tabFakeAnimation as ɵcz, tabTransform as ɵda } from './lib/tab/group/tab-group.animation';
57
+ export { UiTabGroupComponent as ɵcy } from './lib/tab/group/tab-group.component';
58
+ export { UiTabHeaderComponent as ɵdb } from './lib/tab/header/tab-header.component';
59
+ export { UiTabContentDirective as ɵcw } from './lib/tab/tab-content.directive';
60
+ export { UiTabLabelDirective as ɵcx } from './lib/tab/tab-label.directive';
61
+ export { UiTabComponent as ɵcv } from './lib/tab/tab.component';
62
+ export { UiTimePickerCallerDirective as ɵci } from './lib/time-picker/time-picker-caller.directive';
63
+ export { UiTimePickerDirective as ɵcg } from './lib/time-picker/time-picker.directive';
64
+ export { UiTimePickerService as ɵch } from './lib/time-picker/time-picker.service';
65
65
  export { UiToolbarComponent as ɵbb } from './lib/toolbar/toolbar.component';
66
- export { TooltipDirective as ɵcp } from './lib/tooltip/tooltip.directive';
67
- export { Upload as ɵdd } from './lib/upload/upload';
68
- export { UiUploadComponent as ɵdc } from './lib/upload/upload.component';
69
- export { enterLeaveViewAnimation as ɵde } from './lib/utils/animations/enter-leave-view.animations';
70
- export { UiInfiniteLoadDirective as ɵbo } from './lib/utils/infinite-load/infinite-load.directive';
71
- export { UiMaskCepNovoDirective as ɵbi } from './lib/utils/masks/cep-novo/mask-cep-novo.directive';
72
- export { UiMaskCepDirective as ɵbh } from './lib/utils/masks/cep/mask-cep.directive';
66
+ export { TooltipDirective as ɵcq } from './lib/tooltip/tooltip.directive';
67
+ export { Upload as ɵde } from './lib/upload/upload';
68
+ export { UiUploadComponent as ɵdd } from './lib/upload/upload.component';
69
+ export { enterLeaveViewAnimation as ɵdf } from './lib/utils/animations/enter-leave-view.animations';
70
+ export { UiInfiniteLoadDirective as ɵbp } from './lib/utils/infinite-load/infinite-load.directive';
71
+ export { UiMaskCepNovoDirective as ɵbj } from './lib/utils/masks/cep-novo/mask-cep-novo.directive';
72
+ export { UiMaskCepDirective as ɵbi } from './lib/utils/masks/cep/mask-cep.directive';
73
+ export { UiMaskCnpjNovoDirective as ɵbh } from './lib/utils/masks/cnpj-novo/mask-cnpj-novo.directive';
73
74
  export { UiMaskCnpjDirective as ɵbg } from './lib/utils/masks/cnpj/mask-cnpj.directive';
74
75
  export { UiMaskCpfDirective as ɵbf } from './lib/utils/masks/cpf/mask-cpf.directive';
75
- export { UiMaskCurrencyDirective as ɵcj } from './lib/utils/masks/currency/mask-currency.directive';
76
+ export { UiMaskCurrencyDirective as ɵck } from './lib/utils/masks/currency/mask-currency.directive';
76
77
  export { UiMaskDateDirective as ɵbc } from './lib/utils/masks/date/mask-date.directive';
77
- export { UiMaskFloatDirective as ɵco } from './lib/utils/masks/float/mask-float.directive';
78
- export { UiMaskIntegerDirective as ɵbr } from './lib/utils/masks/integer/mask-integer.directive';
79
- export { UiMaskTimeDirective as ɵci } from './lib/utils/masks/time/mask-time.directive';
78
+ export { UiMaskFloatDirective as ɵcp } from './lib/utils/masks/float/mask-float.directive';
79
+ export { UiMaskIntegerDirective as ɵbs } from './lib/utils/masks/integer/mask-integer.directive';
80
+ export { UiMaskTimeDirective as ɵcj } from './lib/utils/masks/time/mask-time.directive';
80
81
  export { UiCapitalizePipe as ɵg } from './lib/utils/pipes/capitalize.pipe';
81
82
  export { UiTimeAgoPipe as ɵbd } from './lib/utils/pipes/time-ago.pipe';
82
83
  export { _hexToRgb as ɵb, _isBright as ɵa } from './lib/utils/providers/color.provider';
83
84
  export { _window as ɵc } from './lib/utils/providers/window.provider';
84
85
  export { UiMaxlengthDirective as ɵp } from './lib/utils/validators/maxlength.directive';
85
- export { UiRequiredDirective as ɵca } from './lib/utils/validators/required.directive';
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc21uLXVpLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctc21uLXVpLyIsInNvdXJjZXMiOlsibmctc21uLXVpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxHQUFHLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUN6RixPQUFPLEVBQUMsaUJBQWlCLElBQUksR0FBRyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEdBQUcsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxHQUFHLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDbkYsT0FBTyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzNGLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsc0JBQXNCLElBQUksR0FBRyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDL0YsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxHQUFHLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksR0FBRyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEdBQUcsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxHQUFHLEVBQUMs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QUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUN0RixPQUFPLEVBQUMsbUJBQW1CLElBQUksR0FBRyxFQUFDLE1BQU0sMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG5cbmV4cG9ydCB7VWlBdXRvY29tcGxldGVDb21wb25lbnQgYXMgybVicX0gZnJvbSAnLi9saWIvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHtVaUF1dG9jb21wbGV0ZURpcmVjdGl2ZSBhcyDJtWJwfSBmcm9tICcuL2xpYi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpQXZhdGFyQ29tcG9uZW50IGFzIMm1Y259IGZyb20gJy4vbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCB7VWlCb3R0b21TaGVldENvbXBvbmVudCBhcyDJtWJ3fSBmcm9tICcuL2xpYi9ib3R0b20tc2hlZXQvYm90dG9tLXNoZWV0LmNvbXBvbmVudCc7XG5leHBvcnQge1VpQm90dG9tU2hlZXRUcmlnZ2VyRGlyZWN0aXZlIGFzIMm1Ynh9IGZyb20gJy4vbGliL2JvdHRvbS1zaGVldC9ib3R0b20tc2hlZXQuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlBZGRDYWxlbmRhckRpcmVjdGl2ZSBhcyDJtWR9IGZyb20gJy4vbGliL2NhbGVuZGFyL2FkZC1jYWxlbmRhci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaUNhbGVuZGFyQ29udGVudENvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vbGliL2NhbGVuZGFyL2NhbGVuZGFyLWNvbnRlbnQuY29tcG9uZW50JztcbmV4cG9ydCB7VWlDYWxlbmRhckNvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5leHBvcnQge1VpQ2hvc2VuR3JvdXBDb21wb25lbnQgYXMgybVjc30gZnJvbSAnLi9saWIvY2hvc2VuL2Nob3Nlbi1ncm91cC9jaG9zZW4tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCB7VWlDaG9zZW5PcHRpb25Db21wb25lbnQgYXMgybVjcn0gZnJvbSAnLi9saWIvY2hvc2VuL2Nob3Nlbi1vcHRpb24vY2hvc2VuLW9wdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtVaUNob3NlbkNvbXBvbmVudCBhcyDJtWNxfSBmcm9tICcuL2xpYi9jaG9zZW4vY2hvc2VuLmNvbXBvbmVudCc7XG5leHBvcnQge1VpQ2xvY2tDb21wb25lbnQgYXMgybVjZX0gZnJvbSAnLi9saWIvY2xvY2svY2xvY2suY29tcG9uZW50JztcbmV4cG9ydCB7VWlDb2xvclBpY2tlckNvbXBvbmVudCBhcyDJtWNifSBmcm9tICcuL2xpYi9jb2xvci1waWNrZXIvY29sb3ItcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQge1VpQ29sb3JQaWNrZXJEaXJlY3RpdmUgYXMgybVjY30gZnJvbSAnLi9saWIvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaURhdGFUYWJsZUNvbXBvbmVudCBhcyDJtWJ2fSBmcm9tICcuL2xpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCB7VWlEYXRhVGFibGVPcmRlckJ5RGlyZWN0aXZlIGFzIMm1aH0gZnJvbSAnLi9saWIvZGF0YS10YWJsZS9vcmRlci1ieS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaURhdGVQaWNrZXJDYWxsZXJEaXJlY3RpdmUgYXMgybVpfSBmcm9tICcuL2xpYi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci1jYWxsZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlEYXRlUGlja2VyRGlyZWN0aXZlIGFzIMm1a30gZnJvbSAnLi9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlSZWZlcmVuY2VzU2VydmljZSBhcyDJtWp9IGZyb20gJy4vbGliL2RhdGUtcGlja2VyL3JlZmVyZW5jZXMuc2VydmljZSc7XG5leHBvcnQge1VpRGlhbG9nVHJpZ2dlckRpcmVjdGl2ZSBhcyDJtW19IGZyb20gJy4vbGliL2RpYWxvZy9kaWFsb2ctdHJpZ2dlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaURpYWxvZ0NvbXBvbmVudCBhcyDJtWx9IGZyb20gJy4vbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7VWlFbGxpcHNpc0RpcmVjdGl2ZSBhcyDJtWJ6fSBmcm9tICcuL2xpYi9lbGxpcHNpcy9lbGxpcHNpcy5kaXJlY3RpdmUnO1xuZXhwb3J0IHtFeHBhbnNpb25QYW5lbENvbXBvbmVudCBhcyDJtWN0fSBmcm9tICcuL2xpYi9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudCc7XG5leHBvcnQge1VpSW5wdXRBdXRvc2l6ZURpcmVjdGl2ZSBhcyDJtWNkfSBmcm9tICcuL2xpYi9pbnB1dC9hdXRvc2l6ZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaUlucHV0Q29udGFpbmVyQ29tcG9uZW50IGFzIMm1bn0gZnJvbSAnLi9saWIvaW5wdXQvaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQge1VpSW5wdXRGaWxlRGlyZWN0aXZlIGFzIMm1Ynl9IGZyb20gJy4vbGliL2lucHV0L2lucHV0LWZpbGUuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlJbnB1dERpcmVjdGl2ZSBhcyDJtW99IGZyb20gJy4vbGliL2lucHV0L2lucHV0LmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpTGFiZWxDb250ZW50Q29tcG9uZW50IGFzIMm1ZGJ9IGZyb20gJy4vbGliL2xhYmVsLWNvbnRlbnQvbGFiZWwtY29udGVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtVaUxhenlMb2FkRGlyZWN0aXZlIGFzIMm1YnV9IGZyb20gJy4vbGliL2xhenktbG9hZC9sYXp5LWxvYWQuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlMaXN0SXRlbUNvbXBvbmVudCBhcyDJtWJsfSBmcm9tICcuL2xpYi9saXN0L2l0ZW0vaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHtVaUxpc3RJdGVtc0NvbXBvbmVudCBhcyDJtWJrfSBmcm9tICcuL2xpYi9saXN0L2l0ZW1zL2l0ZW1zLmNvbXBvbmVudCc7XG5leHBvcnQge1VpTGlzdEl0ZW1EaXJlY3RpdmUgYXMgybViZX0gZnJvbSAnLi9saWIvbGlzdC9saXN0LWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlMaXN0Q29tcG9uZW50IGFzIMm1Ymp9IGZyb20gJy4vbGliL2xpc3QvbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtVaU1lbnVUcmlnZ2VyRGlyZWN0aXZlIGFzIMm1cn0gZnJvbSAnLi9saWIvbWVudS9tZW51LXRyaWdnZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlNZW51Q29tcG9uZW50IGFzIMm1cX0gZnJvbSAnLi9saWIvbWVudS9tZW51LmNvbXBvbmVudCc7XG5leHBvcnQge1VpTmF2RHJhd2VyQ29tcG9uZW50IGFzIMm1c30gZnJvbSAnLi9saWIvbmF2LWRyYXdlci9uYXYtZHJhd2VyLmNvbXBvbmVudCc7XG5leHBvcnQge1VpVGFic1BhZ2VzQ29tcG9uZW50IGFzIMm1YnR9IGZyb20gJy4vbGliL29sZC10YWJzL3BhZ2VzL3RhYnMtcGFnZXMuY29tcG9uZW50JztcbmV4cG9ydCB7VWlUYWJzQ29tcG9uZW50IGFzIMm1YnN9IGZyb20gJy4vbGliL29sZC10YWJzL3RhYnMuY29tcG9uZW50JztcbmV4cG9ydCB7VWlQcm9ncmVzc1JhZGlhbENvbXBvbmVudCBhcyDJtXV9IGZyb20gJy4vbGliL3Byb2dyZXNzL3JhZGlhbC9wcm9ncmVzcy1yYWRpYWwuY29tcG9uZW50JztcbmV4cG9ydCB7VWlSaXBwbGVEaXJlY3RpdmUgYXMgybV2fSBmcm9tICcuL2xpYi9yaXBwbGUvcmlwcGxlLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpU2VsZWN0T3B0aW9uQ29tcG9uZW50IGFzIMm1Y2x9IGZyb20gJy4vbGliL3NlbGVjdC9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1VpU2VsZWN0RmlsdGVyUGlwZSBhcyDJtWNtfSBmcm9tICcuL2xpYi9zZWxlY3Qvc2VsZWN0LWZpbHRlci5waXBlJztcbmV4cG9ydCB7VWlTZWxlY3RDb21wb25lbnQgYXMgybVja30gZnJvbSAnLi9saWIvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0IHtVaU9wdGlvbkNvbXBvbmVudCBhcyDJtXR9IGZyb20gJy4vbGliL3NlbGVjdGlvbi1jb250cm9sL29wdGlvbi9vcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7VWlTd2l0Y2hDb21wb25lbnQgYXMgybViYX0gZnJvbSAnLi9saWIvc2VsZWN0aW9uLWNvbnRyb2wvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQnO1xuZXhwb3J0IHtVaVNsaWRlck11bHRpSGFuZGxlQ29tcG9uZW50IGFzIMm1Ym59IGZyb20gJy4vbGliL3NsaWRlci9zbGlkZXItbXVsdGktaGFuZGxlLmNvbXBvbmVudCc7XG5leHBvcnQge1VpU2xpZGVyQ29tcG9uZW50IGFzIMm1Ym19IGZyb20gJy4vbGliL3NsaWRlci9zbGlkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7VWlTbWFydExpc3RJdGVtQ29tcG9uZW50IGFzIMm1eH0gZnJvbSAnLi9saWIvc21hcnQtbGlzdC9pdGVtL2l0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7VWlTbWFydExpc3RDb21wb25lbnQgYXMgybV3fSBmcm9tICcuL2xpYi9zbWFydC1saXN0L3NtYXJ0LWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCB7VWlTbmFja2JhckNvbnRhaW5lckNvbXBvbmVudCBhcyDJtXp9IGZyb20gJy4vbGliL3NuYWNrYmFyL3NuYWNrYmFyLWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0IHtVaVNuYWNrYmFyQ29tcG9uZW50IGFzIMm1eX0gZnJvbSAnLi9saWIvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50JztcbmV4cG9ydCB7dGFiRmFrZUFuaW1hdGlvbiBhcyDJtWN5LHRhYlRyYW5zZm9ybSBhcyDJtWN6fSBmcm9tICcuL2xpYi90YWIvZ3JvdXAvdGFiLWdyb3VwLmFuaW1hdGlvbic7XG5leHBvcnQge1VpVGFiR3JvdXBDb21wb25lbnQgYXMgybVjeH0gZnJvbSAnLi9saWIvdGFiL2dyb3VwL3RhYi1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0IHtVaVRhYkhlYWRlckNvbXBvbmVudCBhcyDJtWRhfSBmcm9tICcuL2xpYi90YWIvaGVhZGVyL3RhYi1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7VWlUYWJDb250ZW50RGlyZWN0aXZlIGFzIMm1Y3Z9IGZyb20gJy4vbGliL3RhYi90YWItY29udGVudC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaVRhYkxhYmVsRGlyZWN0aXZlIGFzIMm1Y3d9IGZyb20gJy4vbGliL3RhYi90YWItbGFiZWwuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlUYWJDb21wb25lbnQgYXMgybVjdX0gZnJvbSAnLi9saWIvdGFiL3RhYi5jb21wb25lbnQnO1xuZXhwb3J0IHtVaVRpbWVQaWNrZXJDYWxsZXJEaXJlY3RpdmUgYXMgybVjaH0gZnJvbSAnLi9saWIvdGltZS1waWNrZXIvdGltZS1waWNrZXItY2FsbGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpVGltZVBpY2tlckRpcmVjdGl2ZSBhcyDJtWNmfSBmcm9tICcuL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaVRpbWVQaWNrZXJTZXJ2aWNlIGFzIMm1Y2d9IGZyb20gJy4vbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLnNlcnZpY2UnO1xuZXhwb3J0IHtVaVRvb2xiYXJDb21wb25lbnQgYXMgybViYn0gZnJvbSAnLi9saWIvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge1Rvb2x0aXBEaXJlY3RpdmUgYXMgybVjcH0gZnJvbSAnLi9saWIvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VwbG9hZCBhcyDJtWRkfSBmcm9tICcuL2xpYi91cGxvYWQvdXBsb2FkJztcbmV4cG9ydCB7VWlVcGxvYWRDb21wb25lbnQgYXMgybVkY30gZnJvbSAnLi9saWIvdXBsb2FkL3VwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0IHtlbnRlckxlYXZlVmlld0FuaW1hdGlvbiBhcyDJtWRlfSBmcm9tICcuL2xpYi91dGlscy9hbmltYXRpb25zL2VudGVyLWxlYXZlLXZpZXcuYW5pbWF0aW9ucyc7XG5leHBvcnQge1VpSW5maW5pdGVMb2FkRGlyZWN0aXZlIGFzIMm1Ym99IGZyb20gJy4vbGliL3V0aWxzL2luZmluaXRlLWxvYWQvaW5maW5pdGUtbG9hZC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaU1hc2tDZXBOb3ZvRGlyZWN0aXZlIGFzIMm1Yml9IGZyb20gJy4vbGliL3V0aWxzL21hc2tzL2NlcC1ub3ZvL21hc2stY2VwLW5vdm8uZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlNYXNrQ2VwRGlyZWN0aXZlIGFzIMm1Ymh9IGZyb20gJy4vbGliL3V0aWxzL21hc2tzL2NlcC9tYXNrLWNlcC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaU1hc2tDbnBqRGlyZWN0aXZlIGFzIMm1Ymd9IGZyb20gJy4vbGliL3V0aWxzL21hc2tzL2NucGovbWFzay1jbnBqLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpTWFza0NwZkRpcmVjdGl2ZSBhcyDJtWJmfSBmcm9tICcuL2xpYi91dGlscy9tYXNrcy9jcGYvbWFzay1jcGYuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlNYXNrQ3VycmVuY3lEaXJlY3RpdmUgYXMgybVjan0gZnJvbSAnLi9saWIvdXRpbHMvbWFza3MvY3VycmVuY3kvbWFzay1jdXJyZW5jeS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaU1hc2tEYXRlRGlyZWN0aXZlIGFzIMm1YmN9IGZyb20gJy4vbGliL3V0aWxzL21hc2tzL2RhdGUvbWFzay1kYXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpTWFza0Zsb2F0RGlyZWN0aXZlIGFzIMm1Y299IGZyb20gJy4vbGliL3V0aWxzL21hc2tzL2Zsb2F0L21hc2stZmxvYXQuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlNYXNrSW50ZWdlckRpcmVjdGl2ZSBhcyDJtWJyfSBmcm9tICcuL2xpYi91dGlscy9tYXNrcy9pbnRlZ2VyL21hc2staW50ZWdlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaU1hc2tUaW1lRGlyZWN0aXZlIGFzIMm1Y2l9IGZyb20gJy4vbGliL3V0aWxzL21hc2tzL3RpbWUvbWFzay10aW1lLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpQ2FwaXRhbGl6ZVBpcGUgYXMgybVnfSBmcm9tICcuL2xpYi91dGlscy9waXBlcy9jYXBpdGFsaXplLnBpcGUnO1xuZXhwb3J0IHtVaVRpbWVBZ29QaXBlIGFzIMm1YmR9IGZyb20gJy4vbGliL3V0aWxzL3BpcGVzL3RpbWUtYWdvLnBpcGUnO1xuZXhwb3J0IHtfaGV4VG9SZ2IgYXMgybViLF9pc0JyaWdodCBhcyDJtWF9IGZyb20gJy4vbGliL3V0aWxzL3Byb3ZpZGVycy9jb2xvci5wcm92aWRlcic7XG5leHBvcnQge193aW5kb3cgYXMgybVjfSBmcm9tICcuL2xpYi91dGlscy9wcm92aWRlcnMvd2luZG93LnByb3ZpZGVyJztcbmV4cG9ydCB7VWlNYXhsZW5ndGhEaXJlY3RpdmUgYXMgybVwfSBmcm9tICcuL2xpYi91dGlscy92YWxpZGF0b3JzL21heGxlbmd0aC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaVJlcXVpcmVkRGlyZWN0aXZlIGFzIMm1Y2F9IGZyb20gJy4vbGliL3V0aWxzL3ZhbGlkYXRvcnMvcmVxdWlyZWQuZGlyZWN0aXZlJzsiXX0=
86
+ export { UiRequiredDirective as ɵcb } from './lib/utils/validators/required.directive';
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctc21uLXVpLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctc21uLXVpLyIsInNvdXJjZXMiOlsibmctc21uLXVpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxHQUFHLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUN6RixPQUFPLEVBQUMsaUJBQWlCLElBQUksR0FBRyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEdBQUcsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxHQUFHLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDbkYsT0FBTyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzNGLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsc0JBQXNCLElBQUksR0FBRyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDL0YsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxHQUFHLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksR0FBRyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEdBQUcsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxHQUFHLEVBQUMs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LE1BQU0sc0NBQXNDLENBQUM7QUFDckYsT0FBTyxFQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEdBQUcsRUFBQyxNQUFNLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge1VpQXV0b2NvbXBsZXRlQ29tcG9uZW50IGFzIMm1YnJ9IGZyb20gJy4vbGliL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmV4cG9ydCB7VWlBdXRvY29tcGxldGVEaXJlY3RpdmUgYXMgybVicX0gZnJvbSAnLi9saWIvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaUF2YXRhckNvbXBvbmVudCBhcyDJtWNvfSBmcm9tICcuL2xpYi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQge1VpQm90dG9tU2hlZXRDb21wb25lbnQgYXMgybVieH0gZnJvbSAnLi9saWIvYm90dG9tLXNoZWV0L2JvdHRvbS1zaGVldC5jb21wb25lbnQnO1xuZXhwb3J0IHtVaUJvdHRvbVNoZWV0VHJpZ2dlckRpcmVjdGl2ZSBhcyDJtWJ5fSBmcm9tICcuL2xpYi9ib3R0b20tc2hlZXQvYm90dG9tLXNoZWV0LmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpQWRkQ2FsZW5kYXJEaXJlY3RpdmUgYXMgybVkfSBmcm9tICcuL2xpYi9jYWxlbmRhci9hZGQtY2FsZW5kYXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlDYWxlbmRhckNvbnRlbnRDb21wb25lbnQgYXMgybVmfSBmcm9tICcuL2xpYi9jYWxlbmRhci9jYWxlbmRhci1jb250ZW50LmNvbXBvbmVudCc7XG5leHBvcnQge1VpQ2FsZW5kYXJDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQnO1xuZXhwb3J0IHtVaUNob3Nlbkdyb3VwQ29tcG9uZW50IGFzIMm1Y3R9IGZyb20gJy4vbGliL2Nob3Nlbi9jaG9zZW4tZ3JvdXAvY2hvc2VuLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQge1VpQ2hvc2VuT3B0aW9uQ29tcG9uZW50IGFzIMm1Y3N9IGZyb20gJy4vbGliL2Nob3Nlbi9jaG9zZW4tb3B0aW9uL2Nob3Nlbi1vcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7VWlDaG9zZW5Db21wb25lbnQgYXMgybVjcn0gZnJvbSAnLi9saWIvY2hvc2VuL2Nob3Nlbi5jb21wb25lbnQnO1xuZXhwb3J0IHtVaUNsb2NrQ29tcG9uZW50IGFzIMm1Y2Z9IGZyb20gJy4vbGliL2Nsb2NrL2Nsb2NrLmNvbXBvbmVudCc7XG5leHBvcnQge1VpQ29sb3JQaWNrZXJDb21wb25lbnQgYXMgybVjY30gZnJvbSAnLi9saWIvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtVaUNvbG9yUGlja2VyRGlyZWN0aXZlIGFzIMm1Y2R9IGZyb20gJy4vbGliL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlEYXRhVGFibGVDb21wb25lbnQgYXMgybVid30gZnJvbSAnLi9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQge1VpRGF0YVRhYmxlT3JkZXJCeURpcmVjdGl2ZSBhcyDJtWh9IGZyb20gJy4vbGliL2RhdGEtdGFibGUvb3JkZXItYnkuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlEYXRlUGlja2VyQ2FsbGVyRGlyZWN0aXZlIGFzIMm1aX0gZnJvbSAnLi9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXItY2FsbGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpRGF0ZVBpY2tlckRpcmVjdGl2ZSBhcyDJtWt9IGZyb20gJy4vbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpUmVmZXJlbmNlc1NlcnZpY2UgYXMgybVqfSBmcm9tICcuL2xpYi9kYXRlLXBpY2tlci9yZWZlcmVuY2VzLnNlcnZpY2UnO1xuZXhwb3J0IHtVaURpYWxvZ1RyaWdnZXJEaXJlY3RpdmUgYXMgybVtfSBmcm9tICcuL2xpYi9kaWFsb2cvZGlhbG9nLXRyaWdnZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlEaWFsb2dDb21wb25lbnQgYXMgybVsfSBmcm9tICcuL2xpYi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQge1VpRWxsaXBzaXNEaXJlY3RpdmUgYXMgybVjYX0gZnJvbSAnLi9saWIvZWxsaXBzaXMvZWxsaXBzaXMuZGlyZWN0aXZlJztcbmV4cG9ydCB7RXhwYW5zaW9uUGFuZWxDb21wb25lbnQgYXMgybVjdX0gZnJvbSAnLi9saWIvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC5jb21wb25lbnQnO1xuZXhwb3J0IHtVaUlucHV0QXV0b3NpemVEaXJlY3RpdmUgYXMgybVjZX0gZnJvbSAnLi9saWIvaW5wdXQvYXV0b3NpemUuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlJbnB1dENvbnRhaW5lckNvbXBvbmVudCBhcyDJtW59IGZyb20gJy4vbGliL2lucHV0L2lucHV0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0IHtVaUlucHV0RmlsZURpcmVjdGl2ZSBhcyDJtWJ6fSBmcm9tICcuL2xpYi9pbnB1dC9pbnB1dC1maWxlLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpSW5wdXREaXJlY3RpdmUgYXMgybVvfSBmcm9tICcuL2xpYi9pbnB1dC9pbnB1dC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaUxhYmVsQ29udGVudENvbXBvbmVudCBhcyDJtWRjfSBmcm9tICcuL2xpYi9sYWJlbC1jb250ZW50L2xhYmVsLWNvbnRlbnQuY29tcG9uZW50JztcbmV4cG9ydCB7VWlMYXp5TG9hZERpcmVjdGl2ZSBhcyDJtWJ2fSBmcm9tICcuL2xpYi9sYXp5LWxvYWQvbGF6eS1sb2FkLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpTGlzdEl0ZW1Db21wb25lbnQgYXMgybVibX0gZnJvbSAnLi9saWIvbGlzdC9pdGVtL2l0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7VWlMaXN0SXRlbXNDb21wb25lbnQgYXMgybVibH0gZnJvbSAnLi9saWIvbGlzdC9pdGVtcy9pdGVtcy5jb21wb25lbnQnO1xuZXhwb3J0IHtVaUxpc3RJdGVtRGlyZWN0aXZlIGFzIMm1YmV9IGZyb20gJy4vbGliL2xpc3QvbGlzdC1pdGVtLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpTGlzdENvbXBvbmVudCBhcyDJtWJrfSBmcm9tICcuL2xpYi9saXN0L2xpc3QuY29tcG9uZW50JztcbmV4cG9ydCB7VWlNZW51VHJpZ2dlckRpcmVjdGl2ZSBhcyDJtXJ9IGZyb20gJy4vbGliL21lbnUvbWVudS10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpTWVudUNvbXBvbmVudCBhcyDJtXF9IGZyb20gJy4vbGliL21lbnUvbWVudS5jb21wb25lbnQnO1xuZXhwb3J0IHtVaU5hdkRyYXdlckNvbXBvbmVudCBhcyDJtXN9IGZyb20gJy4vbGliL25hdi1kcmF3ZXIvbmF2LWRyYXdlci5jb21wb25lbnQnO1xuZXhwb3J0IHtVaVRhYnNQYWdlc0NvbXBvbmVudCBhcyDJtWJ1fSBmcm9tICcuL2xpYi9vbGQtdGFicy9wYWdlcy90YWJzLXBhZ2VzLmNvbXBvbmVudCc7XG5leHBvcnQge1VpVGFic0NvbXBvbmVudCBhcyDJtWJ0fSBmcm9tICcuL2xpYi9vbGQtdGFicy90YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge1VpUHJvZ3Jlc3NSYWRpYWxDb21wb25lbnQgYXMgybV1fSBmcm9tICcuL2xpYi9wcm9ncmVzcy9yYWRpYWwvcHJvZ3Jlc3MtcmFkaWFsLmNvbXBvbmVudCc7XG5leHBvcnQge1VpUmlwcGxlRGlyZWN0aXZlIGFzIMm1dn0gZnJvbSAnLi9saWIvcmlwcGxlL3JpcHBsZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaVNlbGVjdE9wdGlvbkNvbXBvbmVudCBhcyDJtWNtfSBmcm9tICcuL2xpYi9zZWxlY3Qvb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtVaVNlbGVjdEZpbHRlclBpcGUgYXMgybVjbn0gZnJvbSAnLi9saWIvc2VsZWN0L3NlbGVjdC1maWx0ZXIucGlwZSc7XG5leHBvcnQge1VpU2VsZWN0Q29tcG9uZW50IGFzIMm1Y2x9IGZyb20gJy4vbGliL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7VWlPcHRpb25Db21wb25lbnQgYXMgybV0fSBmcm9tICcuL2xpYi9zZWxlY3Rpb24tY29udHJvbC9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1VpU3dpdGNoQ29tcG9uZW50IGFzIMm1YmF9IGZyb20gJy4vbGliL3NlbGVjdGlvbi1jb250cm9sL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50JztcbmV4cG9ydCB7VWlTbGlkZXJNdWx0aUhhbmRsZUNvbXBvbmVudCBhcyDJtWJvfSBmcm9tICcuL2xpYi9zbGlkZXIvc2xpZGVyLW11bHRpLWhhbmRsZS5jb21wb25lbnQnO1xuZXhwb3J0IHtVaVNsaWRlckNvbXBvbmVudCBhcyDJtWJufSBmcm9tICcuL2xpYi9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudCc7XG5leHBvcnQge1VpU21hcnRMaXN0SXRlbUNvbXBvbmVudCBhcyDJtXh9IGZyb20gJy4vbGliL3NtYXJ0LWxpc3QvaXRlbS9pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQge1VpU21hcnRMaXN0Q29tcG9uZW50IGFzIMm1d30gZnJvbSAnLi9saWIvc21hcnQtbGlzdC9zbWFydC1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge1VpU25hY2tiYXJDb250YWluZXJDb21wb25lbnQgYXMgybV6fSBmcm9tICcuL2xpYi9zbmFja2Jhci9zbmFja2Jhci1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCB7VWlTbmFja2JhckNvbXBvbmVudCBhcyDJtXl9IGZyb20gJy4vbGliL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge3RhYkZha2VBbmltYXRpb24gYXMgybVjeix0YWJUcmFuc2Zvcm0gYXMgybVkYX0gZnJvbSAnLi9saWIvdGFiL2dyb3VwL3RhYi1ncm91cC5hbmltYXRpb24nO1xuZXhwb3J0IHtVaVRhYkdyb3VwQ29tcG9uZW50IGFzIMm1Y3l9IGZyb20gJy4vbGliL3RhYi9ncm91cC90YWItZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCB7VWlUYWJIZWFkZXJDb21wb25lbnQgYXMgybVkYn0gZnJvbSAnLi9saWIvdGFiL2hlYWRlci90YWItaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQge1VpVGFiQ29udGVudERpcmVjdGl2ZSBhcyDJtWN3fSBmcm9tICcuL2xpYi90YWIvdGFiLWNvbnRlbnQuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlUYWJMYWJlbERpcmVjdGl2ZSBhcyDJtWN4fSBmcm9tICcuL2xpYi90YWIvdGFiLWxhYmVsLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpVGFiQ29tcG9uZW50IGFzIMm1Y3Z9IGZyb20gJy4vbGliL3RhYi90YWIuY29tcG9uZW50JztcbmV4cG9ydCB7VWlUaW1lUGlja2VyQ2FsbGVyRGlyZWN0aXZlIGFzIMm1Y2l9IGZyb20gJy4vbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLWNhbGxlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaVRpbWVQaWNrZXJEaXJlY3RpdmUgYXMgybVjZ30gZnJvbSAnLi9saWIvdGltZS1waWNrZXIvdGltZS1waWNrZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlUaW1lUGlja2VyU2VydmljZSBhcyDJtWNofSBmcm9tICcuL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5zZXJ2aWNlJztcbmV4cG9ydCB7VWlUb29sYmFyQ29tcG9uZW50IGFzIMm1YmJ9IGZyb20gJy4vbGliL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuZXhwb3J0IHtUb29sdGlwRGlyZWN0aXZlIGFzIMm1Y3F9IGZyb20gJy4vbGliL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVcGxvYWQgYXMgybVkZX0gZnJvbSAnLi9saWIvdXBsb2FkL3VwbG9hZCc7XG5leHBvcnQge1VpVXBsb2FkQ29tcG9uZW50IGFzIMm1ZGR9IGZyb20gJy4vbGliL3VwbG9hZC91cGxvYWQuY29tcG9uZW50JztcbmV4cG9ydCB7ZW50ZXJMZWF2ZVZpZXdBbmltYXRpb24gYXMgybVkZn0gZnJvbSAnLi9saWIvdXRpbHMvYW5pbWF0aW9ucy9lbnRlci1sZWF2ZS12aWV3LmFuaW1hdGlvbnMnO1xuZXhwb3J0IHtVaUluZmluaXRlTG9hZERpcmVjdGl2ZSBhcyDJtWJwfSBmcm9tICcuL2xpYi91dGlscy9pbmZpbml0ZS1sb2FkL2luZmluaXRlLWxvYWQuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlNYXNrQ2VwTm92b0RpcmVjdGl2ZSBhcyDJtWJqfSBmcm9tICcuL2xpYi91dGlscy9tYXNrcy9jZXAtbm92by9tYXNrLWNlcC1ub3ZvLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpTWFza0NlcERpcmVjdGl2ZSBhcyDJtWJpfSBmcm9tICcuL2xpYi91dGlscy9tYXNrcy9jZXAvbWFzay1jZXAuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlNYXNrQ25wak5vdm9EaXJlY3RpdmUgYXMgybViaH0gZnJvbSAnLi9saWIvdXRpbHMvbWFza3MvY25wai1ub3ZvL21hc2stY25wai1ub3ZvLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpTWFza0NucGpEaXJlY3RpdmUgYXMgybViZ30gZnJvbSAnLi9saWIvdXRpbHMvbWFza3MvY25wai9tYXNrLWNucGouZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlNYXNrQ3BmRGlyZWN0aXZlIGFzIMm1YmZ9IGZyb20gJy4vbGliL3V0aWxzL21hc2tzL2NwZi9tYXNrLWNwZi5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaU1hc2tDdXJyZW5jeURpcmVjdGl2ZSBhcyDJtWNrfSBmcm9tICcuL2xpYi91dGlscy9tYXNrcy9jdXJyZW5jeS9tYXNrLWN1cnJlbmN5LmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpTWFza0RhdGVEaXJlY3RpdmUgYXMgybViY30gZnJvbSAnLi9saWIvdXRpbHMvbWFza3MvZGF0ZS9tYXNrLWRhdGUuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlNYXNrRmxvYXREaXJlY3RpdmUgYXMgybVjcH0gZnJvbSAnLi9saWIvdXRpbHMvbWFza3MvZmxvYXQvbWFzay1mbG9hdC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtVaU1hc2tJbnRlZ2VyRGlyZWN0aXZlIGFzIMm1YnN9IGZyb20gJy4vbGliL3V0aWxzL21hc2tzL2ludGVnZXIvbWFzay1pbnRlZ2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpTWFza1RpbWVEaXJlY3RpdmUgYXMgybVjan0gZnJvbSAnLi9saWIvdXRpbHMvbWFza3MvdGltZS9tYXNrLXRpbWUuZGlyZWN0aXZlJztcbmV4cG9ydCB7VWlDYXBpdGFsaXplUGlwZSBhcyDJtWd9IGZyb20gJy4vbGliL3V0aWxzL3BpcGVzL2NhcGl0YWxpemUucGlwZSc7XG5leHBvcnQge1VpVGltZUFnb1BpcGUgYXMgybViZH0gZnJvbSAnLi9saWIvdXRpbHMvcGlwZXMvdGltZS1hZ28ucGlwZSc7XG5leHBvcnQge19oZXhUb1JnYiBhcyDJtWIsX2lzQnJpZ2h0IGFzIMm1YX0gZnJvbSAnLi9saWIvdXRpbHMvcHJvdmlkZXJzL2NvbG9yLnByb3ZpZGVyJztcbmV4cG9ydCB7X3dpbmRvdyBhcyDJtWN9IGZyb20gJy4vbGliL3V0aWxzL3Byb3ZpZGVycy93aW5kb3cucHJvdmlkZXInO1xuZXhwb3J0IHtVaU1heGxlbmd0aERpcmVjdGl2ZSBhcyDJtXB9IGZyb20gJy4vbGliL3V0aWxzL3ZhbGlkYXRvcnMvbWF4bGVuZ3RoLmRpcmVjdGl2ZSc7XG5leHBvcnQge1VpUmVxdWlyZWREaXJlY3RpdmUgYXMgybVjYn0gZnJvbSAnLi9saWIvdXRpbHMvdmFsaWRhdG9ycy9yZXF1aXJlZC5kaXJlY3RpdmUnOyJdfQ==