@sapphire-ion/framework 1.2.56 → 1.2.57

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.
@@ -16,6 +16,7 @@ import { DateProperty } from '../../../../classes/comparison/properties/date-pro
16
16
  import { InputDateComponent } from '../../../inputs/input-date/input-date.component';
17
17
  import { InputCpfCnpjConfiguration } from '../../../inputs/input-cpf-cnpj/input-cpf-cnpj.configuration';
18
18
  import { InputCepConfiguration } from '../../../inputs/input-cep/input-cep.configuration';
19
+ import { ComparisonValueType } from '../../../../classes/comparison/comparison-value-type';
19
20
  import * as i0 from "@angular/core";
20
21
  import * as i1 from "@ionic/angular";
21
22
  import * as i2 from "../../../inputs/input-cep/input-cep.component";
@@ -147,31 +148,36 @@ export class ThFilterComponent {
147
148
  return;
148
149
  }
149
150
  else if ([InputType.Date, InputType.DateTime].includes(this.field.type)) {
150
- if (this.modelMinimum) {
151
- if (this.field.type == InputType.Date) {
152
- this.modelMinimum = this.modelMinimum.split("T")[0] + "T23:59:59";
151
+ if (this.field.type == InputType.Date) {
152
+ if (this.modelMinimum) {
153
+ this.modelMinimum = this.modelMinimum.split("T")[0] + "T00:00:00";
153
154
  }
154
- }
155
- if (this.modelMaximum) {
156
- if (this.field.type == InputType.Date) {
155
+ if (this.modelMaximum) {
157
156
  this.modelMaximum = this.modelMaximum.split("T")[0] + "T23:59:59";
158
157
  }
159
158
  }
160
- var Comparison = [];
159
+ const valueType = (this.field.type == InputType.DateTime)
160
+ ? ComparisonValueType.DateTime
161
+ : ComparisonValueType.Date;
162
+ let ComparisonList = [];
161
163
  if (this.modelMinimum) {
162
- var BiggerDate = new DateProperty(this.field.index).GreaterThanOrEqual(this.modelMinimum);
163
- Comparison = [BiggerDate];
164
+ let c = new DateProperty(this.field.index)
165
+ .GreaterThanOrEqual(this.modelMinimum);
166
+ c.valueType = valueType;
167
+ ComparisonList = [c];
164
168
  }
165
169
  if (this.modelMaximum) {
166
- var SmallerDate = new DateProperty(this.field.index).LessThanOrEqual(this.modelMaximum);
167
- if (Comparison.length) {
168
- Comparison.push(SmallerDate);
170
+ let c = new DateProperty(this.field.index)
171
+ .LessThanOrEqual(this.modelMaximum);
172
+ c.valueType = valueType;
173
+ if (ComparisonList.length) {
174
+ ComparisonList.push(c);
169
175
  }
170
176
  else {
171
- Comparison = [SmallerDate];
177
+ ComparisonList = [c];
172
178
  }
173
179
  }
174
- this.field.filter = Comparison;
180
+ this.field.filter = ComparisonList;
175
181
  this.isFilterActive = true;
176
182
  this.changeEmitter.emit();
177
183
  return;
@@ -203,4 +209,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
203
209
  type: ViewChildren,
204
210
  args: [InputDateComponent]
205
211
  }] } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGgtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kZWZhdWx0L2RlZmF1bHQtdGFibGUvdGgtZmlsdGVyL3RoLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZGVmYXVsdC9kZWZhdWx0LXRhYmxlL3RoLWZpbHRlci90aC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUV0SCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM1SixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUc3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDN0Ys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TDdCLFNBQVM7K0JBQ0UsV0FBVzt3REFNWixLQUFLO3NCQUFiLEtBQUs7Z0JBZ0VZLGFBQWE7c0JBQTlCLE1BQU07dUJBQUMsUUFBUTtnQkFpRmtCLFlBQVk7c0JBQTdDLFlBQVk7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4sIHZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVGFibGVGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvaW5wdXRzL3RhYmxlLWZpZWxkJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vaW5wdXRzL2lucHV0LXR5cGUnO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgSW5wdXREZWNpbWFsQ29uZmlndXJhdGlvbiwgSW5wdXRDdXJyZW5jeUNvbmZpZ3VyYXRpb24sIElucHV0TnVtYmVyQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2lucHV0cy9pbnB1dC1kZWNpbWFsL2lucHV0LWRlY2ltYWwuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0U3RyaW5nQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2lucHV0cy9pbnB1dC1zdHJpbmcvaW5wdXQtc3RyaW5nLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9pbnB1dHMvaW5wdXQtc2VsZWN0L2lucHV0LnNlbGVjdC5jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgSW5wdXREYXRlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2lucHV0cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0RmlsZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9pbnB1dHMvaW5wdXQtZmlsZS9pbnB1dC1maWxlLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBJbnB1dEJvb2xDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5wdXRzL2lucHV0LWJvb2wvaW5wdXQtYm9vbC5jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgSW5wdXRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5wdXRzL2lucHV0LWNvbmZpZ3VyYXRpb24nO1xyXG5cclxuaW1wb3J0IHsgSW1wbGljaXRQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvY29tcGFyaXNvbi9wcm9wZXJ0aWVzL2ltcGxpY2l0LXByb3BlcnR5JztcclxuaW1wb3J0IHsgRGVjaW1hbFByb3BlcnR5IH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9jb21wYXJpc29uL3Byb3BlcnRpZXMvZGVjaW1hbC1wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFN0cmluZ1Byb3BlcnR5IH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9jb21wYXJpc29uL3Byb3BlcnRpZXMvc3RyaW5nLXByb3BlcnR5JztcclxuaW1wb3J0IHsgQm9vbFByb3BlcnR5IH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xhc3Nlcy9jb21wYXJpc29uL3Byb3BlcnRpZXMvYm9vbC1wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IERhdGVQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvY29tcGFyaXNvbi9wcm9wZXJ0aWVzL2RhdGUtcHJvcGVydHknO1xyXG5cclxuaW1wb3J0IHsgQ29tcGFyaXNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvY29tcGFyaXNvbi9jb21wYXJpc29uJztcclxuaW1wb3J0IHsgSW5wdXREYXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vaW5wdXRzL2lucHV0LWRhdGUvaW5wdXQtZGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbnB1dENwZkNucGpDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5wdXRzL2lucHV0LWNwZi1jbnBqL2lucHV0LWNwZi1jbnBqLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBJbnB1dENlcENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9pbnB1dHMvaW5wdXQtY2VwL2lucHV0LWNlcC5jb25maWd1cmF0aW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGgtZmlsdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGgtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90aC1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRoRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgZmllbGQgOiBUYWJsZUZpZWxkIFxyXG5cclxuICBndWlkOiBzdHJpbmcgPSBVdGlscy5HZW5lcmF0ZUdVSUQoKTtcclxuICBjb25maWd1cmF0aW9uOiBJbnB1dENvbmZpZ3VyYXRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gdGhpcy5maWVsZC5jb25maWd1cmF0aW9uO1xyXG4gICAgXHJcbiAgICBpZighdGhpcy5jb25maWd1cmF0aW9uKXtcclxuICAgICAgaWYoW0lucHV0VHlwZS5EYXRlLCBJbnB1dFR5cGUuRGF0ZVRpbWUsIElucHV0VHlwZS5UaW1lXS5pbmNsdWRlcyh0aGlzLmZpZWxkLnR5cGUpKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0RGF0ZUNvbmZpZ3VyYXRpb24oKSB9IGVsc2VcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5GaWxlICAgICl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dEZpbGVDb25maWd1cmF0aW9uKCkgICAgIH1lbHNlXHJcbiAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuTnVtYmVyICApeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXROdW1iZXJDb25maWd1cmF0aW9uKCkgICB9ZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkRlY2ltYWwgKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0RGVjaW1hbENvbmZpZ3VyYXRpb24oKSAgfWVsc2VcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5DdXJyZW5jeSl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dEN1cnJlbmN5Q29uZmlndXJhdGlvbigpIH1lbHNlXHJcbiAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuU3RyaW5nICApeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRTdHJpbmdDb25maWd1cmF0aW9uKCkgICB9ZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLlNlbGVjdCAgKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0U2VsZWN0Q29uZmlndXJhdGlvbigpICAgfWVsc2VcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5UZXh0QXJlYSl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dFN0cmluZ0NvbmZpZ3VyYXRpb24oKTsgIH1lbHNlIFxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkJvb2wgICAgKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0Qm9vbENvbmZpZ3VyYXRpb24oKTsgICAgfSBlbHNlXHJcbiAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuQ3BmICAgICApeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRDcGZDbnBqQ29uZmlndXJhdGlvbihcIkNQRlwiKTsgfSAgZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkNucGogICAgKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0Q3BmQ25wakNvbmZpZ3VyYXRpb24oXCJDTlBKXCIpOyB9ICBlbHNlXHJcbiAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuQ3BmQ25waiApeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRDcGZDbnBqQ29uZmlndXJhdGlvbihcIkNQRkNOUEpcIik7IH0gZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkNlcCAgICAgKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0Q2VwQ29uZmlndXJhdGlvbigpOyAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmKHRoaXMuY29uZmlndXJhdGlvbiBpbnN0YW5jZW9mIElucHV0U2VsZWN0Q29uZmlndXJhdGlvbil7XHJcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24oXHJcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmJpbmRWYWx1ZSxcclxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uYmluZExhYmVsLFxyXG4gICAgICAgIHRydWUsXHJcbiAgICAgICAgdHJ1ZSxcclxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24ubG9hZEZyb20sXHJcbiAgICAgICAgdHJ1ZSxcclxuICAgICAgKTtcclxuICAgICAgKHRoaXMuY29uZmlndXJhdGlvbiBhcyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24pLnBvcG92ZXJDb25maWd1cmF0aW9uLmZsaXAgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLmNvbmZpZ3VyYXRpb24gaW5zdGFuY2VvZiBJbnB1dERhdGVDb25maWd1cmF0aW9uKXtcclxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0RGF0ZUNvbmZpZ3VyYXRpb24odHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5Cb29sKXtcclxuICAgICAgaWYodGhpcy5maWVsZC5pbmRleCA9PSBcImF0aXZvXCIpe1xyXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24oJ3ZhbHVlJywgJ2xhYmVsJywgdHJ1ZSwgdHJ1ZSwgW1xyXG4gICAgICAgICAgeyBsYWJlbDogJ1NvbWVudGUgQXRpdm9zJyAgICAsIHZhbHVlOiB0cnVlICB9LFxyXG4gICAgICAgICAgeyBsYWJlbDogJ1NvbWVudGUgTsOjbyBBdGl2b3MnLCB2YWx1ZTogZmFsc2UgfSxcclxuICAgICAgICBdKTtcclxuICAgICAgICB0aGlzLm1vZGVsID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNle1xyXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24oJ3ZhbHVlJywgJ2xhYmVsJywgdHJ1ZSwgZmFsc2UsIFtcclxuICAgICAgICAgIHsgbGFiZWw6ICdTaW0nLCB2YWx1ZTogdHJ1ZSAgfSxcclxuICAgICAgICAgIHsgbGFiZWw6ICdOw6NvJywgdmFsdWU6IGZhbHNlIH0sXHJcbiAgICAgICAgXSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNGaWx0ZXJBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgbW9kZWw6IGFueSB8IG51bGwgPSBudWxsO1xyXG4gIG1vZGVsTWluaW11bTogYW55IHwgbnVsbCA9IG51bGw7XHJcbiAgbW9kZWxNYXhpbXVtOiBhbnkgfCBudWxsID0gbnVsbDtcclxuICBAT3V0cHV0KCdjaGFuZ2UnKSBjaGFuZ2VFbWl0dGVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIENoYW5nZSgpOiB2b2lke1xyXG4gICAgaWYoKCh0eXBlb2YodGhpcy5tb2RlbCkgPT0gJ3N0cmluZycgJiYgIXRoaXMubW9kZWwpIHx8IFxyXG4gICAgICAgICB0aGlzLm1vZGVsID09IG51bGwgfHwgXHJcbiAgICAgICAgIChBcnJheS5pc0FycmF5KHRoaXMubW9kZWwpICYmIHRoaXMubW9kZWwubGVuZ3RoID09IDApKSAmJiBcclxuICAgICAgIXRoaXMubW9kZWxNaW5pbXVtICYmICF0aGlzLm1vZGVsTWF4aW11bSlcclxuICAgIHtcclxuICAgICAgdGhpcy5TZXRJbmFjdGl2ZSgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYoW0lucHV0VHlwZS5DdXJyZW5jeSwgSW5wdXRUeXBlLkRlY2ltYWwsIElucHV0VHlwZS5OdW1iZXJdLmluY2x1ZGVzKHRoaXMuZmllbGQudHlwZSkpe1xyXG4gICAgICB2YXIgQ29tcGFyaXNvbjogQ29tcGFyaXNvbltdID0gW107XHJcbiAgICAgIGlmKHRoaXMubW9kZWxNaW5pbXVtKXtcclxuICAgICAgICB2YXIgQmlnZ2VyICA9IG5ldyBEZWNpbWFsUHJvcGVydHkodGhpcy5maWVsZC5pbmRleCkuR3JlYXRlclRoYW5PckVxdWFsKHRoaXMubW9kZWxNaW5pbXVtKTtcclxuICAgICAgICBDb21wYXJpc29uID0gW0JpZ2dlcl07XHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5tb2RlbE1heGltdW0pe1xyXG4gICAgICAgIHZhciBTbWFsbGVyID0gbmV3IERlY2ltYWxQcm9wZXJ0eSh0aGlzLmZpZWxkLmluZGV4KS5MZXNzVGhhbk9yRXF1YWwodGhpcy5tb2RlbE1heGltdW0pO1xyXG4gICAgICAgIGlmKENvbXBhcmlzb24ubGVuZ3RoKXsgQ29tcGFyaXNvbi5wdXNoKFNtYWxsZXIpOyB9IFxyXG4gICAgICAgIGVsc2UgICAgICAgICAgICAgICAgIHsgQ29tcGFyaXNvbiA9IFtTbWFsbGVyXTsgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmZpZWxkLmZpbHRlciA9IENvbXBhcmlzb247XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJBY3RpdmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNoYW5nZUVtaXR0ZXIuZW1pdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9ZWxzZVxyXG4gICAgaWYoW0lucHV0VHlwZS5TdHJpbmcsIElucHV0VHlwZS5UZXh0QXJlYSwgSW5wdXRUeXBlLkNlcCwgSW5wdXRUeXBlLkNwZiwgSW5wdXRUeXBlLkNucGosIElucHV0VHlwZS5DcGZDbnBqXS5pbmNsdWRlcyh0aGlzLmZpZWxkLnR5cGUpKXtcclxuICAgICAgdGhpcy5maWVsZC5maWx0ZXIgICA9IFtuZXcgU3RyaW5nUHJvcGVydHkodGhpcy5maWVsZC5pbmRleCkuSXNDb250YWluZWRJbih0aGlzLm1vZGVsKV07XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJBY3RpdmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNoYW5nZUVtaXR0ZXIuZW1pdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9ZWxzZVxyXG4gICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5TZWxlY3Qpe1xyXG4gICAgICB0aGlzLmZpZWxkLmZpbHRlciAgID0gW25ldyBJbXBsaWNpdFByb3BlcnR5KHRoaXMuZmllbGQuaW5kZXgpLklzQ29udGFpbmVkSW4odGhpcy5tb2RlbCldO1xyXG4gICAgICB0aGlzLmlzRmlsdGVyQWN0aXZlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jaGFuZ2VFbWl0dGVyLmVtaXQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfWVsc2VcclxuICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuQm9vbCl7XHJcbiAgICAgIHRoaXMuZmllbGQuZmlsdGVyICAgPSBbbmV3IEJvb2xQcm9wZXJ0eSh0aGlzLmZpZWxkLmluZGV4KS5FcXVhbHModGhpcy5tb2RlbCldO1xyXG4gICAgICB0aGlzLmlzRmlsdGVyQWN0aXZlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jaGFuZ2VFbWl0dGVyLmVtaXQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlXHJcbiAgICBpZihbSW5wdXRUeXBlLkRhdGUsIElucHV0VHlwZS5EYXRlVGltZV0uaW5jbHVkZXModGhpcy5maWVsZC50eXBlKSl7XHJcbiAgICAgIGlmKHRoaXMubW9kZWxNaW5pbXVtKXtcclxuICAgICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkRhdGUpeyB0aGlzLm1vZGVsTWluaW11bSA9IHRoaXMubW9kZWxNaW5pbXVtLnNwbGl0KFwiVFwiKVswXSArIFwiVDIzOjU5OjU5XCIgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmKHRoaXMubW9kZWxNYXhpbXVtKXtcclxuICAgICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkRhdGUpeyB0aGlzLm1vZGVsTWF4aW11bSA9IHRoaXMubW9kZWxNYXhpbXVtLnNwbGl0KFwiVFwiKVswXSArIFwiVDIzOjU5OjU5XCIgfVxyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgdmFyIENvbXBhcmlzb246IENvbXBhcmlzb25bXSA9IFtdO1xyXG4gICAgICBpZih0aGlzLm1vZGVsTWluaW11bSl7XHJcbiAgICAgICAgdmFyIEJpZ2dlckRhdGUgID0gbmV3IERhdGVQcm9wZXJ0eSh0aGlzLmZpZWxkLmluZGV4KS5HcmVhdGVyVGhhbk9yRXF1YWwodGhpcy5tb2RlbE1pbmltdW0pO1xyXG4gICAgICAgIENvbXBhcmlzb24gPSBbQmlnZ2VyRGF0ZV07XHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5tb2RlbE1heGltdW0pe1xyXG4gICAgICAgIHZhciBTbWFsbGVyRGF0ZSA9IG5ldyBEYXRlUHJvcGVydHkodGhpcy5maWVsZC5pbmRleCkuTGVzc1RoYW5PckVxdWFsKHRoaXMubW9kZWxNYXhpbXVtKTtcclxuICAgICAgICBpZihDb21wYXJpc29uLmxlbmd0aCl7IENvbXBhcmlzb24ucHVzaChTbWFsbGVyRGF0ZSk7IH0gXHJcbiAgICAgICAgZWxzZSAgICAgICAgICAgICAgICAgeyBDb21wYXJpc29uID0gW1NtYWxsZXJEYXRlXSAgOyB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5maWVsZC5maWx0ZXIgPSBDb21wYXJpc29uO1xyXG4gICAgICB0aGlzLmlzRmlsdGVyQWN0aXZlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jaGFuZ2VFbWl0dGVyLmVtaXQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2hhbmdlRW1pdHRlci5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBTZXRJbmFjdGl2ZSgpOiB2b2lke1xyXG4gICAgdGhpcy5maWVsZC5maWx0ZXIgPSBudWxsO1xyXG4gICAgdGhpcy5pc0ZpbHRlckFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5jaGFuZ2VFbWl0dGVyLmVtaXQoKTtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oSW5wdXREYXRlQ29tcG9uZW50KSBsc3RJbnB1dERhdGU6IFF1ZXJ5TGlzdDxJbnB1dERhdGVDb21wb25lbnQ+O1xyXG4gIFdpbGxEaXNtaXNzKCk6IHZvaWR7XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLmxzdElucHV0RGF0ZS50b0FycmF5KCkpO1xyXG4gICAgdGhpcy5sc3RJbnB1dERhdGUuZm9yRWFjaChpID0+IGkuRGlzbWlzcygpKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjYW5jaG9yIGNsYXNzPVwiaC01IGFzcGVjdC1zcXVhcmUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgY3Vyc29yLXBvaW50ZXJcIj5cclxuICA8aW9uLWljb24gbmFtZT1cImZpbHRlci1jaXJjbGVcIiAoY2xpY2spPVwicG9wb3Zlci5wcmVzZW50KCRldmVudClcIiBjbGFzcz1cInRleHQteGwgYWxpZ24tc3ViIHNpemUtZnVsbFwiIFtjb2xvcl09XCJpc0ZpbHRlckFjdGl2ZSA/ICdzZWNvbmRhcnknIDogJ21lZGl1bScgXCI+PC9pb24taWNvbj5cclxuPC9kaXY+XHJcblxyXG48aW9uLXBvcG92ZXIgY2xhc3M9XCJ0aC1maWx0ZXJcIiBmaWxsPVwic29saWRcIiAjcG9wb3ZlciB0cmlnZ2VyQWN0aW9uPVwiY2xpY2tcIiAob25XaWxsRGlzbWlzcyk9XCJXaWxsRGlzbWlzcygpXCI+XHJcbiAgPG5nLXRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cInctNzIgZmxleCBmbGV4LWNvbCBnYXAtMiBwLTJcIiA+XHJcbiAgICAgIEBpZighWydTZWxlY3QnLCAnQm9vbCcsICdTdHJpbmcnLCAnVGV4dEFyZWEnLCAnQ3BmJywgJ0NucGonLCAnQ3BmQ25waicsICdDZXAnXS5pbmNsdWRlcyhmaWVsZC50eXBlKSl7XHJcbiAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cInctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPiAgRmlsdHJvIC0ge3tmaWVsZC5oZWFkZXJ9fSA8L2lvbi1sYWJlbD5cclxuICAgICAgfVxyXG4gICAgICBAc3dpdGNoIChmaWVsZC50eXBlKSB7XHJcbiAgICAgICAgQGNhc2UgKCdTdHJpbmcnKSB7XHJcbiAgICAgICAgICA8aW5wdXQtc3RyaW5nIFsobmdNb2RlbCldPVwibW9kZWxcIiBjbGFzcz1cInRoLXNlbGVjdFwiIGxhYmVsPVwiRmlsdHJvIC0ge3tmaWVsZC5oZWFkZXJ9fVwiIChibHVyKT1cIkNoYW5nZSgpXCI+PC9pbnB1dC1zdHJpbmc+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBjYXNlICgnTnVtYmVyJykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTJcIj5cclxuICAgICAgICAgICAgPGlucHV0LW51bWJlciAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbE1pbmltdW1cIiBsYWJlbD1cIlZhbG9yIE3DrW5pbW9cIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1udW1iZXI+XHJcbiAgICAgICAgICAgIDxpbnB1dC1udW1iZXIgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNYXhpbXVtXCIgbGFiZWw9XCJWYWxvciBNYXhpbW9cIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1udW1iZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGNhc2UgKCdEZWNpbWFsJykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTJcIj5cclxuICAgICAgICAgICAgPGlucHV0LWRlY2ltYWwgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNaW5pbXVtXCIgbGFiZWw9XCJWYWxvciBNw61uaW1vXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtZGVjaW1hbD5cclxuICAgICAgICAgICAgPGlucHV0LWRlY2ltYWwgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNYXhpbXVtXCIgbGFiZWw9XCJWYWxvciBNYXhpbW9cIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1kZWNpbWFsPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBjYXNlICgnQ3VycmVuY3knKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtMlwiPlxyXG4gICAgICAgICAgICA8aW5wdXQtY3VycmVuY3kgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNaW5pbXVtXCIgbGFiZWw9XCJWYWxvciBNw61uaW1vXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtY3VycmVuY3k+XHJcbiAgICAgICAgICAgIDxpbnB1dC1jdXJyZW5jeSAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbE1heGltdW1cIiBsYWJlbD1cIlZhbG9yIE1heGltb1wiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWN1cnJlbmN5PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBjYXNlICgnU2VsZWN0Jykge1xyXG4gICAgICAgICAgPGlucHV0LXNlbGVjdCAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbFwiIGNsYXNzPVwidGgtc2VsZWN0XCIgbGFiZWw9XCJGaWx0cm8gLSB7e2ZpZWxkLmhlYWRlcn19XCIgW2NvbmZpZ3VyYXRpb25dPVwiY29uZmlndXJhdGlvblwiPjwvaW5wdXQtc2VsZWN0PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAY2FzZSAoJ1RleHRBcmVhJykge1xyXG4gICAgICAgICAgPGlucHV0LXN0cmluZyAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbFwiIGNsYXNzPVwidGgtc2VsZWN0XCIgbGFiZWw9XCJGaWx0cm8gLSB7e2ZpZWxkLmhlYWRlcn19XCI+PC9pbnB1dC1zdHJpbmc+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBjYXNlICgnQm9vbCcpIHtcclxuICAgICAgICAgIDxpbnB1dC1zZWxlY3QgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxcIiBjbGFzcz1cInRoLXNlbGVjdFwiIGxhYmVsPVwiRmlsdHJvIC0ge3tmaWVsZC5oZWFkZXJ9fVwiIHBsYWNlaG9sZGVyPVwiXCIgW2NvbmZpZ3VyYXRpb25dPVwiY29uZmlndXJhdGlvblwiPjwvaW5wdXQtc2VsZWN0PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAY2FzZSAoJ0RhdGUnKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2l6ZS1mdWxsIGdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTJcIj5cclxuICAgICAgICAgICAgPGlucHV0LWRhdGUgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNaW5pbXVtXCIgbGFiZWw9XCJEYXRhIE3DrW5pbWFcIiBbY29uZmlndXJhdGlvbl09XCJjb25maWd1cmF0aW9uXCI+PC9pbnB1dC1kYXRlPlxyXG4gICAgICAgICAgICA8aW5wdXQtZGF0ZSAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbE1heGltdW1cIiBsYWJlbD1cIkRhdGEgTWF4aW1hXCIgW2NvbmZpZ3VyYXRpb25dPVwiY29uZmlndXJhdGlvblwiPjwvaW5wdXQtZGF0ZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAY2FzZSAoJ0RhdGVUaW1lJykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTJcIj5cclxuICAgICAgICAgICAgPGlucHV0LWRhdGUtdGltZSAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbE1pbmltdW1cIiBsYWJlbD1cIkRhdGEgTcOtbmltYVwiIFtjb25maWd1cmF0aW9uXT1cImNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWRhdGUtdGltZT5cclxuICAgICAgICAgICAgPGlucHV0LWRhdGUtdGltZSAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbE1heGltdW1cIiBsYWJlbD1cIkRhdGEgTWF4aW1hXCIgW2NvbmZpZ3VyYXRpb25dPVwiY29uZmlndXJhdGlvblwiPjwvaW5wdXQtZGF0ZS10aW1lPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBjYXNlKFwiQ2VwXCIpIHtcclxuICAgICAgICAgIDxpbnB1dC1jZXAgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxcIiBjbGFzcz1cInRoLXNlbGVjdFwiIGxhYmVsPVwiRmlsdHJvIC0ge3tmaWVsZC5oZWFkZXJ9fVwiPjwvaW5wdXQtY2VwPlxyXG4gICAgICAgIH1cclxuICAgICAgICBAY2FzZSAoJ0NwZicpIHtcclxuICAgICAgICAgIDxpbnB1dC1jcGYgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxcIiBjbGFzcz1cInRoLXNlbGVjdFwiIGxhYmVsPVwiRmlsdHJvIC0ge3tmaWVsZC5oZWFkZXJ9fVwiPjwvaW5wdXQtY3BmPlxyXG4gICAgICAgIH1cclxuICAgICAgICBAY2FzZSAoJ0NucGonKSB7XHJcbiAgICAgICAgICA8aW5wdXQtY25waiAoY2hhbmdlKT1cIkNoYW5nZSgpXCIgWyhuZ01vZGVsKV09XCJtb2RlbFwiIGNsYXNzPVwidGgtc2VsZWN0XCIgbGFiZWw9XCJGaWx0cm8gLSB7e2ZpZWxkLmhlYWRlcn19XCI+PC9pbnB1dC1jbnBqPlxyXG4gICAgICAgIH1cclxuICAgICAgICBAY2FzZSAoJ0NwZkNucGonKSB7XHJcbiAgICAgICAgICA8aW5wdXQtY3BmLWNucGogKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxcIiBjbGFzcz1cInRoLXNlbGVjdFwiIGxhYmVsPVwiRmlsdHJvIC0ge3tmaWVsZC5oZWFkZXJ9fVwiPjwvaW5wdXQtY3BmLWNucGo+XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2lvbi1wb3BvdmVyPlxyXG4iXX0=
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGgtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9kZWZhdWx0L2RlZmF1bHQtdGFibGUvdGgtZmlsdGVyL3RoLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZGVmYXVsdC9kZWZhdWx0LXRhYmxlL3RoLWZpbHRlci90aC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUV0SCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM1SixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUc3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDN0Ys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LENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7K0dBM0tVLGlCQUFpQjttR0FBakIsaUJBQWlCLG9KQXVLZCxrQkFBa0IsZ0RDdk1sQyx1OElBcUVBOzs0RkRyQ2EsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLFdBQVc7d0RBTVosS0FBSztzQkFBYixLQUFLO2dCQWdFWSxhQUFhO3NCQUE5QixNQUFNO3VCQUFDLFFBQVE7Z0JBcUdrQixZQUFZO3NCQUE3QyxZQUFZO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuLCB2aWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRhYmxlRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2lucHV0cy90YWJsZS1maWVsZCc7XHJcbmltcG9ydCB7IElucHV0VHlwZSB9IGZyb20gJy4uLy4uLy4uL2lucHV0cy9pbnB1dC10eXBlJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IElucHV0RGVjaW1hbENvbmZpZ3VyYXRpb24sIElucHV0Q3VycmVuY3lDb25maWd1cmF0aW9uLCBJbnB1dE51bWJlckNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9pbnB1dHMvaW5wdXQtZGVjaW1hbC9pbnB1dC1kZWNpbWFsLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBJbnB1dFN0cmluZ0NvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9pbnB1dHMvaW5wdXQtc3RyaW5nL2lucHV0LXN0cmluZy5jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5wdXRzL2lucHV0LXNlbGVjdC9pbnB1dC5zZWxlY3QuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0RGF0ZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9pbnB1dHMvaW5wdXQtZGF0ZS9pbnB1dC1kYXRlLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBJbnB1dEZpbGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5wdXRzL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgSW5wdXRCb29sQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2lucHV0cy9pbnB1dC1ib29sL2lucHV0LWJvb2wuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2lucHV0cy9pbnB1dC1jb25maWd1cmF0aW9uJztcclxuXHJcbmltcG9ydCB7IEltcGxpY2l0UHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vcHJvcGVydGllcy9pbXBsaWNpdC1wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IERlY2ltYWxQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvY29tcGFyaXNvbi9wcm9wZXJ0aWVzL2RlY2ltYWwtcHJvcGVydHknO1xyXG5pbXBvcnQgeyBTdHJpbmdQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvY29tcGFyaXNvbi9wcm9wZXJ0aWVzL3N0cmluZy1wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IEJvb2xQcm9wZXJ0eSB9IGZyb20gJy4uLy4uLy4uLy4uL2NsYXNzZXMvY29tcGFyaXNvbi9wcm9wZXJ0aWVzL2Jvb2wtcHJvcGVydHknO1xyXG5pbXBvcnQgeyBEYXRlUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vcHJvcGVydGllcy9kYXRlLXByb3BlcnR5JztcclxuXHJcbmltcG9ydCB7IENvbXBhcmlzb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vY29tcGFyaXNvbic7XHJcbmltcG9ydCB7IElucHV0RGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2lucHV0cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXRDcGZDbnBqQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2lucHV0cy9pbnB1dC1jcGYtY25wai9pbnB1dC1jcGYtY25wai5jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgSW5wdXRDZXBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW5wdXRzL2lucHV0LWNlcC9pbnB1dC1jZXAuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IENvbXBhcmlzb25WYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi9jbGFzc2VzL2NvbXBhcmlzb24vY29tcGFyaXNvbi12YWx1ZS10eXBlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RoLWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RoLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGgtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGZpZWxkIDogVGFibGVGaWVsZCBcclxuXHJcbiAgZ3VpZDogc3RyaW5nID0gVXRpbHMuR2VuZXJhdGVHVUlEKCk7XHJcbiAgY29uZmlndXJhdGlvbjogSW5wdXRDb25maWd1cmF0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHRoaXMuZmllbGQuY29uZmlndXJhdGlvbjtcclxuICAgIFxyXG4gICAgaWYoIXRoaXMuY29uZmlndXJhdGlvbil7XHJcbiAgICAgIGlmKFtJbnB1dFR5cGUuRGF0ZSwgSW5wdXRUeXBlLkRhdGVUaW1lLCBJbnB1dFR5cGUuVGltZV0uaW5jbHVkZXModGhpcy5maWVsZC50eXBlKSl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dERhdGVDb25maWd1cmF0aW9uKCkgfSBlbHNlXHJcbiAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuRmlsZSAgICApeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRGaWxlQ29uZmlndXJhdGlvbigpICAgICB9ZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLk51bWJlciAgKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0TnVtYmVyQ29uZmlndXJhdGlvbigpICAgfWVsc2VcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5EZWNpbWFsICl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dERlY2ltYWxDb25maWd1cmF0aW9uKCkgIH1lbHNlXHJcbiAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuQ3VycmVuY3kpeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRDdXJyZW5jeUNvbmZpZ3VyYXRpb24oKSB9ZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLlN0cmluZyAgKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0U3RyaW5nQ29uZmlndXJhdGlvbigpICAgfWVsc2VcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5TZWxlY3QgICl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24oKSAgIH1lbHNlXHJcbiAgICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuVGV4dEFyZWEpeyB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRTdHJpbmdDb25maWd1cmF0aW9uKCk7ICB9ZWxzZSBcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5Cb29sICAgICl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dEJvb2xDb25maWd1cmF0aW9uKCk7ICAgIH0gZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkNwZiAgICAgKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0Q3BmQ25wakNvbmZpZ3VyYXRpb24oXCJDUEZcIik7IH0gIGVsc2VcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5DbnBqICAgICl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dENwZkNucGpDb25maWd1cmF0aW9uKFwiQ05QSlwiKTsgfSAgZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkNwZkNucGogKXsgdGhpcy5jb25maWd1cmF0aW9uID0gbmV3IElucHV0Q3BmQ25wakNvbmZpZ3VyYXRpb24oXCJDUEZDTlBKXCIpOyB9IGVsc2VcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5DZXAgICAgICl7IHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dENlcENvbmZpZ3VyYXRpb24oKTsgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLmNvbmZpZ3VyYXRpb24gaW5zdGFuY2VvZiBJbnB1dFNlbGVjdENvbmZpZ3VyYXRpb24pe1xyXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uKFxyXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5iaW5kVmFsdWUsXHJcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmJpbmRMYWJlbCxcclxuICAgICAgICB0cnVlLFxyXG4gICAgICAgIHRydWUsXHJcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmxvYWRGcm9tLFxyXG4gICAgICAgIHRydWUsXHJcbiAgICAgICk7XHJcbiAgICAgICh0aGlzLmNvbmZpZ3VyYXRpb24gYXMgSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uKS5wb3BvdmVyQ29uZmlndXJhdGlvbi5mbGlwID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5jb25maWd1cmF0aW9uIGluc3RhbmNlb2YgSW5wdXREYXRlQ29uZmlndXJhdGlvbil7XHJcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IG5ldyBJbnB1dERhdGVDb25maWd1cmF0aW9uKHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKHRoaXMuZmllbGQudHlwZSA9PSBJbnB1dFR5cGUuQm9vbCl7XHJcbiAgICAgIGlmKHRoaXMuZmllbGQuaW5kZXggPT0gXCJhdGl2b1wiKXtcclxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uKCd2YWx1ZScsICdsYWJlbCcsIHRydWUsIHRydWUsIFtcclxuICAgICAgICAgIHsgbGFiZWw6ICdTb21lbnRlIEF0aXZvcycgICAgLCB2YWx1ZTogdHJ1ZSAgfSxcclxuICAgICAgICAgIHsgbGFiZWw6ICdTb21lbnRlIE7Do28gQXRpdm9zJywgdmFsdWU6IGZhbHNlIH0sXHJcbiAgICAgICAgXSk7XHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZXtcclxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRTZWxlY3RDb25maWd1cmF0aW9uKCd2YWx1ZScsICdsYWJlbCcsIHRydWUsIGZhbHNlLCBbXHJcbiAgICAgICAgICB7IGxhYmVsOiAnU2ltJywgdmFsdWU6IHRydWUgIH0sXHJcbiAgICAgICAgICB7IGxhYmVsOiAnTsOjbycsIHZhbHVlOiBmYWxzZSB9LFxyXG4gICAgICAgIF0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzRmlsdGVyQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIG1vZGVsOiBhbnkgfCBudWxsID0gbnVsbDtcclxuICBtb2RlbE1pbmltdW06IGFueSB8IG51bGwgPSBudWxsO1xyXG4gIG1vZGVsTWF4aW11bTogYW55IHwgbnVsbCA9IG51bGw7XHJcbiAgQE91dHB1dCgnY2hhbmdlJykgY2hhbmdlRW1pdHRlcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIENoYW5nZSgpOiB2b2lke1xyXG4gICAgICBpZigoKHR5cGVvZih0aGlzLm1vZGVsKSA9PSAnc3RyaW5nJyAmJiAhdGhpcy5tb2RlbCkgfHwgXHJcbiAgICAgICAgICAgdGhpcy5tb2RlbCA9PSBudWxsIHx8IFxyXG4gICAgICAgICAgIChBcnJheS5pc0FycmF5KHRoaXMubW9kZWwpICYmIHRoaXMubW9kZWwubGVuZ3RoID09IDApKSAmJiBcclxuICAgICAgICAhdGhpcy5tb2RlbE1pbmltdW0gJiYgIXRoaXMubW9kZWxNYXhpbXVtKVxyXG4gICAgICB7XHJcbiAgICAgICAgdGhpcy5TZXRJbmFjdGl2ZSgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYoW0lucHV0VHlwZS5DdXJyZW5jeSwgSW5wdXRUeXBlLkRlY2ltYWwsIElucHV0VHlwZS5OdW1iZXJdLmluY2x1ZGVzKHRoaXMuZmllbGQudHlwZSkpe1xyXG4gICAgICAgIHZhciBDb21wYXJpc29uOiBDb21wYXJpc29uW10gPSBbXTtcclxuICAgICAgICBpZih0aGlzLm1vZGVsTWluaW11bSl7XHJcbiAgICAgICAgICB2YXIgQmlnZ2VyICA9IG5ldyBEZWNpbWFsUHJvcGVydHkodGhpcy5maWVsZC5pbmRleCkuR3JlYXRlclRoYW5PckVxdWFsKHRoaXMubW9kZWxNaW5pbXVtKTtcclxuICAgICAgICAgIENvbXBhcmlzb24gPSBbQmlnZ2VyXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYodGhpcy5tb2RlbE1heGltdW0pe1xyXG4gICAgICAgICAgdmFyIFNtYWxsZXIgPSBuZXcgRGVjaW1hbFByb3BlcnR5KHRoaXMuZmllbGQuaW5kZXgpLkxlc3NUaGFuT3JFcXVhbCh0aGlzLm1vZGVsTWF4aW11bSk7XHJcbiAgICAgICAgICBpZihDb21wYXJpc29uLmxlbmd0aCl7IENvbXBhcmlzb24ucHVzaChTbWFsbGVyKTsgfSBcclxuICAgICAgICAgIGVsc2UgICAgICAgICAgICAgICAgIHsgQ29tcGFyaXNvbiA9IFtTbWFsbGVyXTsgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5maWVsZC5maWx0ZXIgPSBDb21wYXJpc29uO1xyXG4gICAgICAgIHRoaXMuaXNGaWx0ZXJBY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRW1pdHRlci5lbWl0KCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9ZWxzZVxyXG4gICAgICBpZihbSW5wdXRUeXBlLlN0cmluZywgSW5wdXRUeXBlLlRleHRBcmVhLCBJbnB1dFR5cGUuQ2VwLCBJbnB1dFR5cGUuQ3BmLCBJbnB1dFR5cGUuQ25waiwgSW5wdXRUeXBlLkNwZkNucGpdLmluY2x1ZGVzKHRoaXMuZmllbGQudHlwZSkpe1xyXG4gICAgICAgIHRoaXMuZmllbGQuZmlsdGVyICAgPSBbbmV3IFN0cmluZ1Byb3BlcnR5KHRoaXMuZmllbGQuaW5kZXgpLklzQ29udGFpbmVkSW4odGhpcy5tb2RlbCldO1xyXG4gICAgICAgIHRoaXMuaXNGaWx0ZXJBY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRW1pdHRlci5lbWl0KCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9ZWxzZVxyXG4gICAgICBpZih0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLlNlbGVjdCl7XHJcbiAgICAgICAgdGhpcy5maWVsZC5maWx0ZXIgICA9IFtuZXcgSW1wbGljaXRQcm9wZXJ0eSh0aGlzLmZpZWxkLmluZGV4KS5Jc0NvbnRhaW5lZEluKHRoaXMubW9kZWwpXTtcclxuICAgICAgICB0aGlzLmlzRmlsdGVyQWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNoYW5nZUVtaXR0ZXIuZW1pdCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfWVsc2VcclxuICAgICAgaWYodGhpcy5maWVsZC50eXBlID09IElucHV0VHlwZS5Cb29sKXtcclxuICAgICAgICB0aGlzLmZpZWxkLmZpbHRlciAgID0gW25ldyBCb29sUHJvcGVydHkodGhpcy5maWVsZC5pbmRleCkuRXF1YWxzKHRoaXMubW9kZWwpXTtcclxuICAgICAgICB0aGlzLmlzRmlsdGVyQWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNoYW5nZUVtaXR0ZXIuZW1pdCgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfSBlbHNlXHJcbiAgICAgIGlmIChbSW5wdXRUeXBlLkRhdGUsIElucHV0VHlwZS5EYXRlVGltZV0uaW5jbHVkZXModGhpcy5maWVsZC50eXBlKSkge1xyXG5cclxuICAgIGlmICh0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkRhdGUpIHtcclxuICAgICAgaWYgKHRoaXMubW9kZWxNaW5pbXVtKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbE1pbmltdW0gPSB0aGlzLm1vZGVsTWluaW11bS5zcGxpdChcIlRcIilbMF0gKyBcIlQwMDowMDowMFwiO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm1vZGVsTWF4aW11bSkge1xyXG4gICAgICAgIHRoaXMubW9kZWxNYXhpbXVtID0gdGhpcy5tb2RlbE1heGltdW0uc3BsaXQoXCJUXCIpWzBdICsgXCJUMjM6NTk6NTlcIjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZhbHVlVHlwZSA9ICh0aGlzLmZpZWxkLnR5cGUgPT0gSW5wdXRUeXBlLkRhdGVUaW1lKVxyXG4gICAgICAgID8gQ29tcGFyaXNvblZhbHVlVHlwZS5EYXRlVGltZVxyXG4gICAgICAgIDogQ29tcGFyaXNvblZhbHVlVHlwZS5EYXRlO1xyXG5cclxuICAgIGxldCBDb21wYXJpc29uTGlzdDogQ29tcGFyaXNvbltdID0gW107XHJcblxyXG4gICAgaWYgKHRoaXMubW9kZWxNaW5pbXVtKSB7XHJcbiAgICAgIGxldCBjID0gbmV3IERhdGVQcm9wZXJ0eSh0aGlzLmZpZWxkLmluZGV4KVxyXG4gICAgICAgICAgICAgICAgICAuR3JlYXRlclRoYW5PckVxdWFsKHRoaXMubW9kZWxNaW5pbXVtKTtcclxuXHJcbiAgICAgIGMudmFsdWVUeXBlID0gdmFsdWVUeXBlOyAgXHJcbiAgICAgIENvbXBhcmlzb25MaXN0ID0gW2NdO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1vZGVsTWF4aW11bSkge1xyXG4gICAgICBsZXQgYyA9IG5ldyBEYXRlUHJvcGVydHkodGhpcy5maWVsZC5pbmRleClcclxuICAgICAgICAgICAgICAgICAgLkxlc3NUaGFuT3JFcXVhbCh0aGlzLm1vZGVsTWF4aW11bSk7XHJcblxyXG4gICAgICBjLnZhbHVlVHlwZSA9IHZhbHVlVHlwZTsgIFxyXG4gICAgICBpZiAoQ29tcGFyaXNvbkxpc3QubGVuZ3RoKSB7XHJcbiAgICAgICAgQ29tcGFyaXNvbkxpc3QucHVzaChjKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBDb21wYXJpc29uTGlzdCA9IFtjXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZmllbGQuZmlsdGVyID0gQ29tcGFyaXNvbkxpc3Q7XHJcbiAgICB0aGlzLmlzRmlsdGVyQWN0aXZlID0gdHJ1ZTtcclxuICAgIHRoaXMuY2hhbmdlRW1pdHRlci5lbWl0KCk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuXHJcbiAgICB0aGlzLmNoYW5nZUVtaXR0ZXIuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgU2V0SW5hY3RpdmUoKTogdm9pZHtcclxuICAgIHRoaXMuZmllbGQuZmlsdGVyID0gbnVsbDtcclxuICAgIHRoaXMuaXNGaWx0ZXJBY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhbmdlRW1pdHRlci5lbWl0KCk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkcmVuKElucHV0RGF0ZUNvbXBvbmVudCkgbHN0SW5wdXREYXRlOiBRdWVyeUxpc3Q8SW5wdXREYXRlQ29tcG9uZW50PjtcclxuICBXaWxsRGlzbWlzcygpOiB2b2lke1xyXG4gICAgY29uc29sZS5sb2codGhpcy5sc3RJbnB1dERhdGUudG9BcnJheSgpKTtcclxuICAgIHRoaXMubHN0SW5wdXREYXRlLmZvckVhY2goaSA9PiBpLkRpc21pc3MoKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI2FuY2hvciBjbGFzcz1cImgtNSBhc3BlY3Qtc3F1YXJlIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgPGlvbi1pY29uIG5hbWU9XCJmaWx0ZXItY2lyY2xlXCIgKGNsaWNrKT1cInBvcG92ZXIucHJlc2VudCgkZXZlbnQpXCIgY2xhc3M9XCJ0ZXh0LXhsIGFsaWduLXN1YiBzaXplLWZ1bGxcIiBbY29sb3JdPVwiaXNGaWx0ZXJBY3RpdmUgPyAnc2Vjb25kYXJ5JyA6ICdtZWRpdW0nIFwiPjwvaW9uLWljb24+XHJcbjwvZGl2PlxyXG5cclxuPGlvbi1wb3BvdmVyIGNsYXNzPVwidGgtZmlsdGVyXCIgZmlsbD1cInNvbGlkXCIgI3BvcG92ZXIgdHJpZ2dlckFjdGlvbj1cImNsaWNrXCIgKG9uV2lsbERpc21pc3MpPVwiV2lsbERpc21pc3MoKVwiPlxyXG4gIDxuZy10ZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJ3LTcyIGZsZXggZmxleC1jb2wgZ2FwLTIgcC0yXCIgPlxyXG4gICAgICBAaWYoIVsnU2VsZWN0JywgJ0Jvb2wnLCAnU3RyaW5nJywgJ1RleHRBcmVhJywgJ0NwZicsICdDbnBqJywgJ0NwZkNucGonLCAnQ2VwJ10uaW5jbHVkZXMoZmllbGQudHlwZSkpe1xyXG4gICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJ3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj4gIEZpbHRybyAtIHt7ZmllbGQuaGVhZGVyfX0gPC9pb24tbGFiZWw+XHJcbiAgICAgIH1cclxuICAgICAgQHN3aXRjaCAoZmllbGQudHlwZSkge1xyXG4gICAgICAgIEBjYXNlICgnU3RyaW5nJykge1xyXG4gICAgICAgICAgPGlucHV0LXN0cmluZyBbKG5nTW9kZWwpXT1cIm1vZGVsXCIgY2xhc3M9XCJ0aC1zZWxlY3RcIiBsYWJlbD1cIkZpbHRybyAtIHt7ZmllbGQuaGVhZGVyfX1cIiAoYmx1cik9XCJDaGFuZ2UoKVwiPjwvaW5wdXQtc3RyaW5nPlxyXG4gICAgICAgIH1cclxuICAgICAgICBAY2FzZSAoJ051bWJlcicpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIGdhcC0yXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dC1udW1iZXIgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNaW5pbXVtXCIgbGFiZWw9XCJWYWxvciBNw61uaW1vXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtbnVtYmVyPlxyXG4gICAgICAgICAgICA8aW5wdXQtbnVtYmVyIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsTWF4aW11bVwiIGxhYmVsPVwiVmFsb3IgTWF4aW1vXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtbnVtYmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBjYXNlICgnRGVjaW1hbCcpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIGdhcC0yXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dC1kZWNpbWFsIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsTWluaW11bVwiIGxhYmVsPVwiVmFsb3IgTcOtbmltb1wiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWRlY2ltYWw+XHJcbiAgICAgICAgICAgIDxpbnB1dC1kZWNpbWFsIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsTWF4aW11bVwiIGxhYmVsPVwiVmFsb3IgTWF4aW1vXCIgW2NvbmZpZ3VyYXRpb25dPVwiZmllbGQuY29uZmlndXJhdGlvblwiPjwvaW5wdXQtZGVjaW1hbD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAY2FzZSAoJ0N1cnJlbmN5Jykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTJcIj5cclxuICAgICAgICAgICAgPGlucHV0LWN1cnJlbmN5IChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsTWluaW11bVwiIGxhYmVsPVwiVmFsb3IgTcOtbmltb1wiIFtjb25maWd1cmF0aW9uXT1cImZpZWxkLmNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWN1cnJlbmN5PlxyXG4gICAgICAgICAgICA8aW5wdXQtY3VycmVuY3kgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNYXhpbXVtXCIgbGFiZWw9XCJWYWxvciBNYXhpbW9cIiBbY29uZmlndXJhdGlvbl09XCJmaWVsZC5jb25maWd1cmF0aW9uXCI+PC9pbnB1dC1jdXJyZW5jeT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAY2FzZSAoJ1NlbGVjdCcpIHtcclxuICAgICAgICAgIDxpbnB1dC1zZWxlY3QgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxcIiBjbGFzcz1cInRoLXNlbGVjdFwiIGxhYmVsPVwiRmlsdHJvIC0ge3tmaWVsZC5oZWFkZXJ9fVwiIFtjb25maWd1cmF0aW9uXT1cImNvbmZpZ3VyYXRpb25cIj48L2lucHV0LXNlbGVjdD5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGNhc2UgKCdUZXh0QXJlYScpIHtcclxuICAgICAgICAgIDxpbnB1dC1zdHJpbmcgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxcIiBjbGFzcz1cInRoLXNlbGVjdFwiIGxhYmVsPVwiRmlsdHJvIC0ge3tmaWVsZC5oZWFkZXJ9fVwiPjwvaW5wdXQtc3RyaW5nPlxyXG4gICAgICAgIH1cclxuICAgICAgICBAY2FzZSAoJ0Jvb2wnKSB7XHJcbiAgICAgICAgICA8aW5wdXQtc2VsZWN0IChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsXCIgY2xhc3M9XCJ0aC1zZWxlY3RcIiBsYWJlbD1cIkZpbHRybyAtIHt7ZmllbGQuaGVhZGVyfX1cIiBwbGFjZWhvbGRlcj1cIlwiIFtjb25maWd1cmF0aW9uXT1cImNvbmZpZ3VyYXRpb25cIj48L2lucHV0LXNlbGVjdD5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGNhc2UgKCdEYXRlJykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpemUtZnVsbCBncmlkIGdyaWQtY29scy0xIGdhcC0yXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dC1kYXRlIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsTWluaW11bVwiIGxhYmVsPVwiRGF0YSBNw61uaW1hXCIgW2NvbmZpZ3VyYXRpb25dPVwiY29uZmlndXJhdGlvblwiPjwvaW5wdXQtZGF0ZT5cclxuICAgICAgICAgICAgPGlucHV0LWRhdGUgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNYXhpbXVtXCIgbGFiZWw9XCJEYXRhIE1heGltYVwiIFtjb25maWd1cmF0aW9uXT1cImNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWRhdGU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGNhc2UgKCdEYXRlVGltZScpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIGdhcC0yXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dC1kYXRlLXRpbWUgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNaW5pbXVtXCIgbGFiZWw9XCJEYXRhIE3DrW5pbWFcIiBbY29uZmlndXJhdGlvbl09XCJjb25maWd1cmF0aW9uXCI+PC9pbnB1dC1kYXRlLXRpbWU+XHJcbiAgICAgICAgICAgIDxpbnB1dC1kYXRlLXRpbWUgKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxNYXhpbXVtXCIgbGFiZWw9XCJEYXRhIE1heGltYVwiIFtjb25maWd1cmF0aW9uXT1cImNvbmZpZ3VyYXRpb25cIj48L2lucHV0LWRhdGUtdGltZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAY2FzZShcIkNlcFwiKSB7XHJcbiAgICAgICAgICA8aW5wdXQtY2VwIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsXCIgY2xhc3M9XCJ0aC1zZWxlY3RcIiBsYWJlbD1cIkZpbHRybyAtIHt7ZmllbGQuaGVhZGVyfX1cIj48L2lucHV0LWNlcD5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGNhc2UgKCdDcGYnKSB7XHJcbiAgICAgICAgICA8aW5wdXQtY3BmIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsXCIgY2xhc3M9XCJ0aC1zZWxlY3RcIiBsYWJlbD1cIkZpbHRybyAtIHt7ZmllbGQuaGVhZGVyfX1cIj48L2lucHV0LWNwZj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGNhc2UgKCdDbnBqJykge1xyXG4gICAgICAgICAgPGlucHV0LWNucGogKGNoYW5nZSk9XCJDaGFuZ2UoKVwiIFsobmdNb2RlbCldPVwibW9kZWxcIiBjbGFzcz1cInRoLXNlbGVjdFwiIGxhYmVsPVwiRmlsdHJvIC0ge3tmaWVsZC5oZWFkZXJ9fVwiPjwvaW5wdXQtY25waj5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGNhc2UgKCdDcGZDbnBqJykge1xyXG4gICAgICAgICAgPGlucHV0LWNwZi1jbnBqIChjaGFuZ2UpPVwiQ2hhbmdlKClcIiBbKG5nTW9kZWwpXT1cIm1vZGVsXCIgY2xhc3M9XCJ0aC1zZWxlY3RcIiBsYWJlbD1cIkZpbHRybyAtIHt7ZmllbGQuaGVhZGVyfX1cIj48L2lucHV0LWNwZi1jbnBqPlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9pb24tcG9wb3Zlcj5cclxuIl19
@@ -4163,31 +4163,36 @@ class ThFilterComponent {
4163
4163
  return;
4164
4164
  }
4165
4165
  else if ([InputType.Date, InputType.DateTime].includes(this.field.type)) {
4166
- if (this.modelMinimum) {
4167
- if (this.field.type == InputType.Date) {
4168
- this.modelMinimum = this.modelMinimum.split("T")[0] + "T23:59:59";
4166
+ if (this.field.type == InputType.Date) {
4167
+ if (this.modelMinimum) {
4168
+ this.modelMinimum = this.modelMinimum.split("T")[0] + "T00:00:00";
4169
4169
  }
4170
- }
4171
- if (this.modelMaximum) {
4172
- if (this.field.type == InputType.Date) {
4170
+ if (this.modelMaximum) {
4173
4171
  this.modelMaximum = this.modelMaximum.split("T")[0] + "T23:59:59";
4174
4172
  }
4175
4173
  }
4176
- var Comparison = [];
4174
+ const valueType = (this.field.type == InputType.DateTime)
4175
+ ? ComparisonValueType.DateTime
4176
+ : ComparisonValueType.Date;
4177
+ let ComparisonList = [];
4177
4178
  if (this.modelMinimum) {
4178
- var BiggerDate = new DateProperty(this.field.index).GreaterThanOrEqual(this.modelMinimum);
4179
- Comparison = [BiggerDate];
4179
+ let c = new DateProperty(this.field.index)
4180
+ .GreaterThanOrEqual(this.modelMinimum);
4181
+ c.valueType = valueType;
4182
+ ComparisonList = [c];
4180
4183
  }
4181
4184
  if (this.modelMaximum) {
4182
- var SmallerDate = new DateProperty(this.field.index).LessThanOrEqual(this.modelMaximum);
4183
- if (Comparison.length) {
4184
- Comparison.push(SmallerDate);
4185
+ let c = new DateProperty(this.field.index)
4186
+ .LessThanOrEqual(this.modelMaximum);
4187
+ c.valueType = valueType;
4188
+ if (ComparisonList.length) {
4189
+ ComparisonList.push(c);
4185
4190
  }
4186
4191
  else {
4187
- Comparison = [SmallerDate];
4192
+ ComparisonList = [c];
4188
4193
  }
4189
4194
  }
4190
- this.field.filter = Comparison;
4195
+ this.field.filter = ComparisonList;
4191
4196
  this.isFilterActive = true;
4192
4197
  this.changeEmitter.emit();
4193
4198
  return;