ets-fe-ng-sdk 17.0.227 → 17.0.229

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.
@@ -71,7 +71,7 @@ export class InputFormatDirective {
71
71
  return this.__value;
72
72
  }
73
73
  set value(value) {
74
- console.log('valuing');
74
+ // console.log('valuing');
75
75
  this._value = value;
76
76
  // debugger;
77
77
  if (this.isDebug)
@@ -94,7 +94,7 @@ export class InputFormatDirective {
94
94
  this.setInput(value);
95
95
  }
96
96
  input(value) {
97
- console.log('inputing');
97
+ // console.log('inputing');
98
98
  // debugger
99
99
  if (this.isDebug)
100
100
  debugger;
@@ -117,16 +117,18 @@ export class InputFormatDirective {
117
117
  this._onChange(this.value);
118
118
  }
119
119
  _onBlur() {
120
- if (this.noFormatting)
121
- this.elementRef.nativeElement.value = this.value || '';
122
- else if (this.oType == 'number')
123
- this.setNumberInput(this.value);
124
- else if (this.oType == 'percentage') {
125
- // debugger;
126
- this.setPercentageInput(this.value);
127
- }
128
- else if (this.oType == 'text' && !this.noTextFormat)
129
- this.el.value = this.formatterService.toTitleCase(this.value);
120
+ setTimeout(() => {
121
+ if (this.noFormatting)
122
+ this.elementRef.nativeElement.value = this.value || '';
123
+ else if (this.oType == 'number')
124
+ this.setNumberInput(this.value);
125
+ else if (this.oType == 'percentage') {
126
+ // debugger;
127
+ this.setPercentageInput(this.value);
128
+ }
129
+ else if (this.oType == 'text' && !this.noTextFormat)
130
+ this.el.value = this.formatterService.toTitleCase(this.value);
131
+ }, 0);
130
132
  }
131
133
  onFocus() {
132
134
  if (this.noFormatting)
@@ -142,9 +144,10 @@ export class InputFormatDirective {
142
144
  * apply formatting on value assignment
143
145
  */
144
146
  writeValue(value) {
145
- console.log('writing');
147
+ // console.log('writing');
146
148
  // if (this.isDebug)
147
149
  // debugger;
150
+ this._value = value;
148
151
  if (this.noFormatting)
149
152
  this.setInput(value);
150
153
  else if (this.oType == 'text' && !this.noTextFormat) {
@@ -180,6 +183,8 @@ export class InputFormatDirective {
180
183
  * @returns
181
184
  */
182
185
  setNumberInput(value) {
186
+ // debugger;
187
+ // console.trace('setNumberInput',value)
183
188
  const val = value?.toString().replace(/[^\d.-]/g, '');
184
189
  if (val === null || val == undefined) {
185
190
  this.elementRef.nativeElement.value = '';
@@ -392,4 +397,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
392
397
  providedIn: 'root',
393
398
  }]
394
399
  }] });
395
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZm9ybWF0dGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvZGlyZWN0aXZlcy9pbnB1dC1mb3JtYXR0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixJQUFJLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFpQjNDLE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7SUFDckYsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsWUFBWSxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUM7SUFDN0YsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQztJQUMxQyxDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2Qs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QUUsQ0FBQztJQUNySCxDQUFDOzhHQWhDVSxtQkFBbUI7NEdBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRTs7QUFvQ2pDLE1BQU0sS0FBSyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUNyQyxvQkFBb0I7QUFNcEIsTUFBTSxPQUFPLDJCQUEyQjs4R0FBM0IsMkJBQTJCOytHQUEzQiwyQkFBMkIsWUFKNUIsWUFBWSxFQXpVWCxvQkFBb0IsYUFBcEIsb0JBQW9COytHQTZVcEIsMkJBQTJCLGFBRjNCLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLFlBRm5DLFlBQVk7OzJGQUlYLDJCQUEyQjtrQkFMdkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxLQUFLLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUNuQixTQUFTLEVBQUUsQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUM7aUJBQzlDOztBQU1ELE1BQU0sT0FBTyxrQkFBa0I7OEdBQWxCLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbnB1dCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1BVF9JTlBVVF9WQUxVRV9BQ0NFU1NPUiBhcyBNQVRfSU5QVVRfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0VHlwZSB9IGZyb20gJy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0Om5vdChbbWF0SW5wdXRdKTpub3QoW25vZm9ybWF0XSknLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfSU5QVVRfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogSW5wdXRGb3JtYXREaXJlY3RpdmUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0Rm9ybWF0RGlyZWN0aXZlKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Rm9ybWF0RGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIGVsOiBIVE1MSW5wdXRFbGVtZW50O1xuICBvVHlwZTogSW5wdXRUeXBlO1xuICBnZXQgbm9Gb3JtYXR0aW5nKCkge1xuICAgIHJldHVybiB0aGlzLmVsPy5kYXRhc2V0Lm5vZm9ybWF0ID09ICd0cnVlJyB8fCB0aGlzLmlucHV0Rm9ybWF0U2VydmljZS5wYWdlTm9mb3JtYXQ7XG4gIH1cbiAgZ2V0IG5vVGV4dEZvcm1hdCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbD8uZGF0YXNldC5ub3RleHRmb3JtYXQgPT0gJ3RydWUnIHx8IHRoaXMuaW5wdXRGb3JtYXRTZXJ2aWNlLnBhZ2VOb1RleHRGb3JtYXQ7XG4gIH1cbiAgZ2V0IGlzRGVidWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWw/LmRhdGFzZXQuZGVidWcgPT0gJ3RydWUnO1xuICB9XG4gIGdldCBzaG91bGRGb3JtYXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWNjZXB0ZWRUeXBlLmluY2x1ZGVzKHRoaXMub1R5cGUpO1xuICB9XG4gIHJlYWRvbmx5IGFjY2VwdGVkVHlwZTogSW5wdXRUeXBlW10gPSBbJ3RleHQnLCAnbnVtYmVyJywgJ3BlcmNlbnRhZ2UnXTtcblxuICBwdWJsaWMgaW5wdXRGb3JtYXRTZXJ2aWNlID0gaW5qZWN0KElucHV0Rm9ybWF0U2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgZm9ybWF0dGVyU2VydmljZTogSW5wdXRGb3JtYXR0ZXJzUGlwZSxcbiAgICBwcml2YXRlIGRlY2ltYWxQaXBlOiBEZWNpbWFsUGlwZSxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLm9UeXBlID0gdGhpcy5lbC5kYXRhc2V0Lm90eXBlID09ICdwZXJjZW50YWdlJyA/ICdwZXJjZW50YWdlJyA6ICgodGhpcy5lbC50eXBlICsgJycpIGFzIGFueSk7XG4gICAgaWYgKCF0aGlzLm5vRm9ybWF0dGluZykge1xuICAgICAgaWYgKHRoaXMub1R5cGUgPT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhpcy5lbC50eXBlID0gJ3RleHQnO1xuICAgICAgICB0aGlzLmVsLnZhbHVlID0gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0odGhpcy5lbC52YWx1ZS5yZXBsYWNlKC9bXlxcZC4tXS9nLCAnJyksICcxLjAtOScpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMub1R5cGUgPT0gJ3BlcmNlbnRhZ2UnKSB7XG4gICAgICAgIHRoaXMuZWwudHlwZSA9ICd0ZXh0JztcbiAgICAgICAgdGhpcy5lbC52YWx1ZSA9IHRoaXMuZWwudmFsdWUgPyB0aGlzLmVsLnZhbHVlICsgJyUnIDogJzAlJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICBpZiAodGhpcy5fdmFsdWUpIHRoaXMudmFsdWUgPSB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbC5kYXRhc2V0Lm90eXBlID09ICdwZXJjZW50YWdlJyAmJiAhdGhpcy5ub0Zvcm1hdHRpbmcgJiYgdGhpcy5lbC5wYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygncG9zaXRpb24tcmVsYXRpdmUnKSkge1xuICAgICAgLy8gZGVidWdnZXJcbiAgICAgIGNvbnN0IGljb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpJyk7XG4gICAgICBpY29uLmNsYXNzTmFtZSA9ICdpbnB1dC1pY29uIGZhIGZhLXBlcmNlbnRhZ2UnO1xuICAgICAgdGhpcy5lbC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShpY29uLCB0aGlzLmVsKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMub1R5cGUgPT0gJ251bWJlcicgJiYgIXRoaXMubm9Gb3JtYXR0aW5nICYmIHRoaXMuZWwucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3Bvc2l0aW9uLXJlbGF0aXZlJykpIHtcbiAgICAgIGNvbnN0IGljb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpJyk7XG4gICAgICBpY29uLmNsYXNzTmFtZSA9ICdpbnB1dC1pY29uIGZhIGZhLWhhc2h0YWcnO1xuICAgICAgdGhpcy5lbC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShpY29uLCB0aGlzLmVsKTtcbiAgICAgIC8vIHRoaXMuZWwucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdwb3NpdGlvbi1yZWxhdGl2ZScpO1xuICAgIH1cbiAgICBpZiAodGhpcy5vVHlwZSA9PSAnY2hlY2tib3gnKSB7XG4gICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgIC8vIHRoaXMudmFsdWUgPSAodGhpcy5lbC5jaGVja2VkID09IHRydWUpIGFzIGFueTtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLmVsLmNoZWNrZWQgPT0gdHJ1ZSk7XG4gICAgICB0aGlzLmlucHV0KHRoaXMuZWwuY2hlY2tlZCA9PSB0cnVlKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfX3ZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbDtcbiAgc2V0IF92YWx1ZSh2OiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCkge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIHRoaXMuX192YWx1ZSA9IHY7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9fdmFsdWU7XG4gIH1cblxuICBASW5wdXQoJ3ZhbHVlJylcbiAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCkge1xuICAgIGNvbnNvbGUubG9nKCd2YWx1aW5nJyk7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICBpZiAodGhpcy5pc0RlYnVnKSBkZWJ1Z2dlcjtcbiAgICBpZiAodGhpcy5ub0Zvcm1hdHRpbmcpIHRoaXMuc2V0SW5wdXQodmFsdWUgYXMgYW55KTtcbiAgICBlbHNlIGlmICh0aGlzLm9UeXBlID09ICdudW1iZXInKSB0aGlzLnNldE51bWJlcklucHV0KHZhbHVlIGFzIGFueSk7XG4gICAgZWxzZSBpZiAodGhpcy5vVHlwZSA9PSAncGVyY2VudGFnZScpIHRoaXMuc2V0UGVyY2VudGFnZUlucHV0KHZhbHVlIGFzIGFueSk7XG4gICAgZWxzZSBpZiAodGhpcy5vVHlwZSA9PSAndGV4dCcgJiYgIXRoaXMubm9UZXh0Rm9ybWF0KSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuZm9ybWF0dGVyU2VydmljZS50b1RpdGxlQ2FzZSh2YWx1ZSBhcyBhbnkpO1xuICAgICAgdGhpcy5zZXRUZXh0SW5wdXQodmFsdWUgYXMgYW55KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMub1R5cGUgPT0gJ2NoZWNrYm94Jykge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZSA9PSB0cnVlIHx8IHZhbHVlID09ICd0cnVlJztcbiAgICAgIHRoaXMuc2V0Q2hlY2tib3hJbnB1dCh2YWx1ZSBhcyBhbnkpO1xuICAgIH0gZWxzZSB0aGlzLnNldElucHV0KHZhbHVlIGFzIGFueSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50LnRhcmdldC52YWx1ZSddKVxuICBpbnB1dCh2YWx1ZSkge1xuICAgIGNvbnNvbGUubG9nKCdpbnB1dGluZycpO1xuICAgIC8vIGRlYnVnZ2VyXG4gICAgaWYgKHRoaXMuaXNEZWJ1ZykgZGVidWdnZXI7XG4gICAgaWYgKHRoaXMubm9Gb3JtYXR0aW5nICYmIHRoaXMub1R5cGUgIT0gJ2NoZWNrYm94JykgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICBlbHNlIGlmICh0aGlzLm9UeXBlID09ICd0ZXh0JyAmJiAhdGhpcy5ub1RleHRGb3JtYXQpIHRoaXMuX3ZhbHVlID0gdGhpcy5mb3JtYXR0ZXJTZXJ2aWNlLnRvVGl0bGVDYXNlKHZhbHVlKTtcbiAgICBlbHNlIGlmICh0aGlzLm9UeXBlID09ICdjaGVja2JveCcpIHRoaXMuX3ZhbHVlID0gdGhpcy5lbD8uY2hlY2tlZCBhcyBhbnk7XG4gICAgZWxzZSBpZiAodGhpcy5vVHlwZSA9PSAnbnVtYmVyJylcbiAgICAgIGlmICh0aGlzLmlzTGFzdENoYXJhY3RlckRlY2ltYWxTZXBhcmF0b3IodmFsdWUpKSB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgZWxzZSB0aGlzLl92YWx1ZSA9IHRoaXMuZm9ybWF0dGVyU2VydmljZS5yZW1vdmVDb21tYXModmFsdWUpO1xuICAgIGVsc2UgaWYgKHRoaXMub1R5cGUgPT0gJ3BlcmNlbnRhZ2UnKSB0aGlzLl92YWx1ZSA9IHRoaXMuZm9ybWF0dGVyU2VydmljZS5yZW1vdmVDb21tYXMoU3RyaW5nKHZhbHVlKT8ucmVwbGFjZSgnJScsICcnKSk7XG4gICAgZWxzZSB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuXG4gICAgLy8gaGVyZSB0byBub3RpZnkgQW5ndWxhciBWYWxpZGF0b3JzXG4gICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgX29uQmx1cigpIHtcbiAgICBpZiAodGhpcy5ub0Zvcm1hdHRpbmcpIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy52YWx1ZSB8fCAoJycgYXMgYW55KTtcbiAgICBlbHNlIGlmICh0aGlzLm9UeXBlID09ICdudW1iZXInKSB0aGlzLnNldE51bWJlcklucHV0KHRoaXMudmFsdWUgYXMgYW55KTtcbiAgICBlbHNlIGlmICh0aGlzLm9UeXBlID09ICdwZXJjZW50YWdlJykge1xuICAgICAgLy8gZGVidWdnZXI7XG4gICAgICB0aGlzLnNldFBlcmNlbnRhZ2VJbnB1dCh0aGlzLnZhbHVlIGFzIGFueSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm9UeXBlID09ICd0ZXh0JyAmJiAhdGhpcy5ub1RleHRGb3JtYXQpIHRoaXMuZWwudmFsdWUgPSB0aGlzLmZvcm1hdHRlclNlcnZpY2UudG9UaXRsZUNhc2UodGhpcy52YWx1ZSBhcyBhbnkpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICBvbkZvY3VzKCkge1xuICAgIGlmICh0aGlzLm5vRm9ybWF0dGluZykgcmV0dXJuO1xuICAgIGlmICh0aGlzLm9UeXBlID09ICdudW1iZXInKSB0aGlzLnVuRm9ybWF0TnVtYmVyKCk7XG4gICAgaWYgKHRoaXMub1R5cGUgPT0gJ3BlcmNlbnRhZ2UnKSB0aGlzLnVuRm9ybWF0UGVyY2VudGFnZSgpO1xuICB9XG5cbiAgX29uQ2hhbmdlKHZhbHVlOiBhbnkpOiB2b2lkIHt9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKiBhcHBseSBmb3JtYXR0aW5nIG9uIHZhbHVlIGFzc2lnbm1lbnRcbiAgICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKCd3cml0aW5nJyk7XG4gICAgLy8gaWYgKHRoaXMuaXNEZWJ1ZylcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICBpZiAodGhpcy5ub0Zvcm1hdHRpbmcpIHRoaXMuc2V0SW5wdXQodmFsdWUpO1xuICAgIGVsc2UgaWYgKHRoaXMub1R5cGUgPT0gJ3RleHQnICYmICF0aGlzLm5vVGV4dEZvcm1hdCkge1xuICAgICAgaWYgKHRoaXMuZWwuZGlzYWJsZWQpIHRoaXMuc2V0SW5wdXQodmFsdWUpO1xuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5mb3JtYXR0ZXJTZXJ2aWNlLnRvVGl0bGVDYXNlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRUZXh0SW5wdXQodmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5vVHlwZSA9PSAnbnVtYmVyJykgdGhpcy5zZXROdW1iZXJJbnB1dCh2YWx1ZSk7XG4gICAgZWxzZSBpZiAodGhpcy5vVHlwZSA9PSAncGVyY2VudGFnZScpIHRoaXMuc2V0UGVyY2VudGFnZUlucHV0KHZhbHVlKTtcbiAgICBlbHNlIGlmICh0aGlzLm9UeXBlID09ICdjaGVja2JveCcpXG4gICAgICBpZiAodmFsdWUgPT0gbnVsbCkgdGhpcy5pbnB1dChmYWxzZSk7XG4gICAgICBlbHNlIHRoaXMuc2V0Q2hlY2tib3hJbnB1dCh2YWx1ZSBhcyBhbnkpO1xuICAgIGVsc2UgdGhpcy5zZXRJbnB1dCh2YWx1ZSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZCgpIHt9XG5cbiAgaXNMYXN0Q2hhcmFjdGVyRGVjaW1hbFNlcGFyYXRvcih2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIHZhbHVlPy50b1N0cmluZygpW3ZhbHVlPy50b1N0cmluZygpLmxlbmd0aCAtIDFdID09ICcuJztcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXQgbnVtbWJlciBieSBhZGRpbmcgY29tbWFzXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHJpdmF0ZSBzZXROdW1iZXJJbnB1dCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCkge1xuICAgIGNvbnN0IHZhbCA9IHZhbHVlPy50b1N0cmluZygpLnJlcGxhY2UoL1teXFxkLi1dL2csICcnKTtcbiAgICBpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNMYXN0Q2hhcmFjdGVyRGVjaW1hbFNlcGFyYXRvcih2YWwpKSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZGVidWdnZXJcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKHZhbCwgYDEuMC0yMGApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdCBudW1tYmVyIGJ5ICUgc2lnbiBhdCB0aGUgZW5kXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHJpdmF0ZSBzZXRQZXJjZW50YWdlSW5wdXQodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGwpIHtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIGNvbnN0IHZhbCA9IHZhbHVlPy50b1N0cmluZygpLnJlcGxhY2UoL1teXFxkLi1dL2csICcnKTtcbiAgICBpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNMYXN0Q2hhcmFjdGVyRGVjaW1hbFNlcGFyYXRvcih2YWwpKSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gZGVidWdnZXJcbiAgICAvLyB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKHZhbCwgYDEuMC0yMGApO1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWUgPyB2YWx1ZSArICclJyA6IHZhbHVlICsgJyc7XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0IHRleHQgYnkgbWFraW5nIGl0IGluIHRoZSB0aXRsZSBjYXNlXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHJpdmF0ZSBzZXRUZXh0SW5wdXQodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGwpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmZvcm1hdHRlclNlcnZpY2UudG9UaXRsZUNhc2UodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBuZXcgdmFsdWUgb24gdGhlIEhUTUwgSW5wdXQgZm9yIHRoZSBVSSB1cGRhdGVcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcml2YXRlIHNldElucHV0KHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5vVHlwZSA9PSAnY2hlY2tib3gnKSB0aGlzLnNldENoZWNrYm94SW5wdXQodmFsdWUgYXMgYW55KTtcbiAgICBlbHNlIHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZSBhcyBhbnk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBuZXcgdmFsdWUgb24gdGhlIEhUTUwgSW5wdXQgQ2hlY2tib3ggZm9yIHRoZSBVSSB1cGRhdGVcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcml2YXRlIHNldENoZWNrYm94SW5wdXQodmFsdWU6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hlY2tlZCA9IHZhbHVlIHx8IGZhbHNlO1xuICAgIGlmICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGVja2VkID09IG51bGwpIGRlYnVnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgY29tbWFzIGZyb20gdGhlIG51bWJlcnNcbiAgICogQHJldHVybnNcbiAgICovXG4gIHByaXZhdGUgdW5Gb3JtYXROdW1iZXIoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICBpZiAodGhpcy5pc0xhc3RDaGFyYWN0ZXJEZWNpbWFsU2VwYXJhdG9yKHZhbHVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5mb3JtYXR0ZXJTZXJ2aWNlLnJlbW92ZUNvbW1hcyh2YWx1ZSk7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMudmFsdWUgYXMgYW55O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgY29tbWFzIGFuZCBwZXJjZW50YWdlIGZyb20gdGhlIG51bWJlcnNcbiAgICogQHJldHVybnNcbiAgICovXG4gIHByaXZhdGUgdW5Gb3JtYXRQZXJjZW50YWdlKCkge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgaWYgKHRoaXMuaXNMYXN0Q2hhcmFjdGVyRGVjaW1hbFNlcGFyYXRvcih2YWx1ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl92YWx1ZSA9IHRoaXMuZm9ybWF0dGVyU2VydmljZS5yZW1vdmVDb21tYXModmFsdWUucmVwbGFjZSgnJScsICcnKSk7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMudmFsdWUgYXMgYW55O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZSh2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA9ICEhdmFsO1xuICAgIC8vIGRlYnVnZ2VyXG4gICAgLy8gdGhpcy5fb25CbHVyKClcbiAgfVxufVxuXG5jb25zdCBQQURESU5HID0gJzAwMDAwMCc7XG5cbkBQaXBlKHsgbmFtZTogJ2lucHV0Rm9ybWF0dGVycycgfSlcbmV4cG9ydCBjbGFzcyBJbnB1dEZvcm1hdHRlcnNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgREVDSU1BTF9TRVBBUkFUT1I6IHN0cmluZztcbiAgcHJpdmF0ZSBUSE9VU0FORFNfU0VQQVJBVE9SOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gVE9ETyBjb21lcyBmcm9tIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3NcbiAgICB0aGlzLkRFQ0lNQUxfU0VQQVJBVE9SID0gJy4nO1xuICAgIHRoaXMuVEhPVVNBTkRTX1NFUEFSQVRPUiA9ICcsJztcbiAgfVxuXG4gIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBmcmFjdGlvblNpemU6IG51bWJlciA9IDIpOiBzdHJpbmcge1xuICAgIGxldCBbaW50ZWdlciwgZnJhY3Rpb24gPSAnJ10gPSAodmFsdWUgfHwgJycpLnRvU3RyaW5nKCkuc3BsaXQodGhpcy5ERUNJTUFMX1NFUEFSQVRPUik7XG5cbiAgICBmcmFjdGlvbiA9IGZyYWN0aW9uU2l6ZSA+IDAgPyB0aGlzLkRFQ0lNQUxfU0VQQVJBVE9SICsgKGZyYWN0aW9uICsgUEFERElORykuc3Vic3RyaW5nKDAsIGZyYWN0aW9uU2l6ZSkgOiAnJztcblxuICAgIGludGVnZXIgPSBpbnRlZ2VyLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIHRoaXMuVEhPVVNBTkRTX1NFUEFSQVRPUik7XG5cbiAgICByZXR1cm4gaW50ZWdlciArIGZyYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgaW5wdXQgdmFsdWUgdG8gbnVtYmVyXG4gICAqIEBwYXJhbSB2YWx1ZSBJbnB1dCB2YWx1ZVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcmVtb3ZlQ29tbWFzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCByID0gdmFsdWUucmVwbGFjZSgvW15cXGQuLV0vZywgJycpO1xuICAgIHJldHVybiByID8gK3IgOiBudWxsO1xuICB9XG5cbiAgdG9UaXRsZUNhc2Uoc3RyOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHI/LnRvU3RyaW5nKCkucmVwbGFjZSgvXFx3XFxTKi9nLCAodHh0KSA9PiB0eHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0eHQuc3Vic3RyKDEpLnRvTG93ZXJDYXNlKCkpIHx8ICcnO1xuICB9XG59XG5cbmNvbnN0IGNvbXBzID0gW0lucHV0Rm9ybWF0RGlyZWN0aXZlXTtcbi8vIGNvbnN0IGNvbXBzID0gW107XG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCAuLi5jb21wc10sXG4gIGV4cG9ydHM6IFsuLi5jb21wc10sXG4gIHByb3ZpZGVyczogW0RlY2ltYWxQaXBlLCBJbnB1dEZvcm1hdHRlcnNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRGb3JtYXREaXJlY3RpdmVzTW9kdWxlIHt9XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEZvcm1hdFNlcnZpY2Uge1xuICAvKiogRG9uJ3QgdXNlIHRoZSBpbnB1dCBmb3JtYXR0dGVyIG9uIHRoaXMgcGFnZSAqL1xuICBwYWdlTm9mb3JtYXQ6IGJvb2xlYW47XG4gIC8qKiBEb24ndCB1c2UgdGhlIGlucHV0IGZvcm1hdHR0ZXIgZm9yIHRleHQgaW5wdXRzIG9uIHRoaXMgcGFnZSAqL1xuICBwYWdlTm9UZXh0Rm9ybWF0OiBib29sZWFuO1xufVxuIl19
400
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZm9ybWF0dGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvZGlyZWN0aXZlcy9pbnB1dC1mb3JtYXR0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixJQUFJLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFpQjNDLE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7SUFDckYsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsWUFBWSxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUM7SUFDN0YsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQztJQUMxQyxDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2Qs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LENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JILENBQUM7OEdBaENVLG1CQUFtQjs0R0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFOztBQW9DakMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ3JDLG9CQUFvQjtBQU1wQixNQUFNLE9BQU8sMkJBQTJCOzhHQUEzQiwyQkFBMkI7K0dBQTNCLDJCQUEyQixZQUo1QixZQUFZLEVBL1VYLG9CQUFvQixhQUFwQixvQkFBb0I7K0dBbVZwQiwyQkFBMkIsYUFGM0IsQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsWUFGbkMsWUFBWTs7MkZBSVgsMkJBQTJCO2tCQUx2QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxHQUFHLEtBQUssQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUM7b0JBQ25CLFNBQVMsRUFBRSxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQztpQkFDOUM7O0FBTUQsTUFBTSxPQUFPLGtCQUFrQjs4R0FBbEIsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSG9zdExpc3RlbmVyLCBpbmplY3QsIElucHV0LCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUFUX0lOUFVUX1ZBTFVFX0FDQ0VTU09SIGFzIE1BVF9JTlBVVF9WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnLi4vbW9kZWxzL2luZGV4Lm1vZGVsJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXQ6bm90KFttYXRJbnB1dF0pOm5vdChbbm9mb3JtYXRdKScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1BVF9JTlBVVF9WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBJbnB1dEZvcm1hdERpcmVjdGl2ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRGb3JtYXREaXJlY3RpdmUpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRGb3JtYXREaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgZWw6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIG9UeXBlOiBJbnB1dFR5cGU7XG4gIGdldCBub0Zvcm1hdHRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWw/LmRhdGFzZXQubm9mb3JtYXQgPT0gJ3RydWUnIHx8IHRoaXMuaW5wdXRGb3JtYXRTZXJ2aWNlLnBhZ2VOb2Zvcm1hdDtcbiAgfVxuICBnZXQgbm9UZXh0Rm9ybWF0KCkge1xuICAgIHJldHVybiB0aGlzLmVsPy5kYXRhc2V0Lm5vdGV4dGZvcm1hdCA9PSAndHJ1ZScgfHwgdGhpcy5pbnB1dEZvcm1hdFNlcnZpY2UucGFnZU5vVGV4dEZvcm1hdDtcbiAgfVxuICBnZXQgaXNEZWJ1ZygpIHtcbiAgICByZXR1cm4gdGhpcy5lbD8uZGF0YXNldC5kZWJ1ZyA9PSAndHJ1ZSc7XG4gIH1cbiAgZ2V0IHNob3VsZEZvcm1hdCgpIHtcbiAgICByZXR1cm4gdGhpcy5hY2NlcHRlZFR5cGUuaW5jbHVkZXModGhpcy5vVHlwZSk7XG4gIH1cbiAgcmVhZG9ubHkgYWNjZXB0ZWRUeXBlOiBJbnB1dFR5cGVbXSA9IFsndGV4dCcsICdudW1iZXInLCAncGVyY2VudGFnZSddO1xuXG4gIHB1YmxpYyBpbnB1dEZvcm1hdFNlcnZpY2UgPSBpbmplY3QoSW5wdXRGb3JtYXRTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgcHJpdmF0ZSBmb3JtYXR0ZXJTZXJ2aWNlOiBJbnB1dEZvcm1hdHRlcnNQaXBlLFxuICAgIHByaXZhdGUgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5lbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMub1R5cGUgPSB0aGlzLmVsLmRhdGFzZXQub3R5cGUgPT0gJ3BlcmNlbnRhZ2UnID8gJ3BlcmNlbnRhZ2UnIDogKCh0aGlzLmVsLnR5cGUgKyAnJykgYXMgYW55KTtcbiAgICBpZiAoIXRoaXMubm9Gb3JtYXR0aW5nKSB7XG4gICAgICBpZiAodGhpcy5vVHlwZSA9PSAnbnVtYmVyJykge1xuICAgICAgICB0aGlzLmVsLnR5cGUgPSAndGV4dCc7XG4gICAgICAgIHRoaXMuZWwudmFsdWUgPSB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybSh0aGlzLmVsLnZhbHVlLnJlcGxhY2UoL1teXFxkLi1dL2csICcnKSwgJzEuMC05Jyk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5vVHlwZSA9PSAncGVyY2VudGFnZScpIHtcbiAgICAgICAgdGhpcy5lbC50eXBlID0gJ3RleHQnO1xuICAgICAgICB0aGlzLmVsLnZhbHVlID0gdGhpcy5lbC52YWx1ZSA/IHRoaXMuZWwudmFsdWUgKyAnJScgOiAnMCUnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRlYnVnZ2VyO1xuICAgIGlmICh0aGlzLl92YWx1ZSkgdGhpcy52YWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVsLmRhdGFzZXQub3R5cGUgPT0gJ3BlcmNlbnRhZ2UnICYmICF0aGlzLm5vRm9ybWF0dGluZyAmJiB0aGlzLmVsLnBhcmVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdwb3NpdGlvbi1yZWxhdGl2ZScpKSB7XG4gICAgICAvLyBkZWJ1Z2dlclxuICAgICAgY29uc3QgaWNvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2knKTtcbiAgICAgIGljb24uY2xhc3NOYW1lID0gJ2lucHV0LWljb24gZmEgZmEtcGVyY2VudGFnZSc7XG4gICAgICB0aGlzLmVsLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGljb24sIHRoaXMuZWwpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5vVHlwZSA9PSAnbnVtYmVyJyAmJiAhdGhpcy5ub0Zvcm1hdHRpbmcgJiYgdGhpcy5lbC5wYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygncG9zaXRpb24tcmVsYXRpdmUnKSkge1xuICAgICAgY29uc3QgaWNvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2knKTtcbiAgICAgIGljb24uY2xhc3NOYW1lID0gJ2lucHV0LWljb24gZmEgZmEtaGFzaHRhZyc7XG4gICAgICB0aGlzLmVsLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGljb24sIHRoaXMuZWwpO1xuICAgICAgLy8gdGhpcy5lbC5wYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Bvc2l0aW9uLXJlbGF0aXZlJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9UeXBlID09ICdjaGVja2JveCcpIHtcbiAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgLy8gdGhpcy52YWx1ZSA9ICh0aGlzLmVsLmNoZWNrZWQgPT0gdHJ1ZSkgYXMgYW55O1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuZWwuY2hlY2tlZCA9PSB0cnVlKTtcbiAgICAgIHRoaXMuaW5wdXQodGhpcy5lbC5jaGVja2VkID09IHRydWUpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9fdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsO1xuICBzZXQgX3ZhbHVlKHY6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgdGhpcy5fX3ZhbHVlID0gdjtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX192YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgndmFsdWUnKVxuICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgLy8gY29uc29sZS5sb2coJ3ZhbHVpbmcnKTtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIGlmICh0aGlzLmlzRGVidWcpIGRlYnVnZ2VyO1xuICAgIGlmICh0aGlzLm5vRm9ybWF0dGluZykgdGhpcy5zZXRJbnB1dCh2YWx1ZSBhcyBhbnkpO1xuICAgIGVsc2UgaWYgKHRoaXMub1R5cGUgPT0gJ251bWJlcicpIHRoaXMuc2V0TnVtYmVySW5wdXQodmFsdWUgYXMgYW55KTtcbiAgICBlbHNlIGlmICh0aGlzLm9UeXBlID09ICdwZXJjZW50YWdlJykgdGhpcy5zZXRQZXJjZW50YWdlSW5wdXQodmFsdWUgYXMgYW55KTtcbiAgICBlbHNlIGlmICh0aGlzLm9UeXBlID09ICd0ZXh0JyAmJiAhdGhpcy5ub1RleHRGb3JtYXQpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5mb3JtYXR0ZXJTZXJ2aWNlLnRvVGl0bGVDYXNlKHZhbHVlIGFzIGFueSk7XG4gICAgICB0aGlzLnNldFRleHRJbnB1dCh2YWx1ZSBhcyBhbnkpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5vVHlwZSA9PSAnY2hlY2tib3gnKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlID09IHRydWUgfHwgdmFsdWUgPT0gJ3RydWUnO1xuICAgICAgdGhpcy5zZXRDaGVja2JveElucHV0KHZhbHVlIGFzIGFueSk7XG4gICAgfSBlbHNlIHRoaXMuc2V0SW5wdXQodmFsdWUgYXMgYW55KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXG4gIGlucHV0KHZhbHVlKSB7XG4gICAgLy8gY29uc29sZS5sb2coJ2lucHV0aW5nJyk7XG4gICAgLy8gZGVidWdnZXJcbiAgICBpZiAodGhpcy5pc0RlYnVnKSBkZWJ1Z2dlcjtcbiAgICBpZiAodGhpcy5ub0Zvcm1hdHRpbmcgJiYgdGhpcy5vVHlwZSAhPSAnY2hlY2tib3gnKSB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIGVsc2UgaWYgKHRoaXMub1R5cGUgPT0gJ3RleHQnICYmICF0aGlzLm5vVGV4dEZvcm1hdCkgdGhpcy5fdmFsdWUgPSB0aGlzLmZvcm1hdHRlclNlcnZpY2UudG9UaXRsZUNhc2UodmFsdWUpO1xuICAgIGVsc2UgaWYgKHRoaXMub1R5cGUgPT0gJ2NoZWNrYm94JykgdGhpcy5fdmFsdWUgPSB0aGlzLmVsPy5jaGVja2VkIGFzIGFueTtcbiAgICBlbHNlIGlmICh0aGlzLm9UeXBlID09ICdudW1iZXInKVxuICAgICAgaWYgKHRoaXMuaXNMYXN0Q2hhcmFjdGVyRGVjaW1hbFNlcGFyYXRvcih2YWx1ZSkpIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICBlbHNlIHRoaXMuX3ZhbHVlID0gdGhpcy5mb3JtYXR0ZXJTZXJ2aWNlLnJlbW92ZUNvbW1hcyh2YWx1ZSk7XG4gICAgZWxzZSBpZiAodGhpcy5vVHlwZSA9PSAncGVyY2VudGFnZScpIHRoaXMuX3ZhbHVlID0gdGhpcy5mb3JtYXR0ZXJTZXJ2aWNlLnJlbW92ZUNvbW1hcyhTdHJpbmcodmFsdWUpPy5yZXBsYWNlKCclJywgJycpKTtcbiAgICBlbHNlIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG5cbiAgICAvLyBoZXJlIHRvIG5vdGlmeSBBbmd1bGFyIFZhbGlkYXRvcnNcbiAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBfb25CbHVyKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgXG4gICAgICBpZiAodGhpcy5ub0Zvcm1hdHRpbmcpIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy52YWx1ZSB8fCAoJycgYXMgYW55KTtcbiAgICAgIGVsc2UgaWYgKHRoaXMub1R5cGUgPT0gJ251bWJlcicpIHRoaXMuc2V0TnVtYmVySW5wdXQodGhpcy52YWx1ZSBhcyBhbnkpO1xuICAgICAgZWxzZSBpZiAodGhpcy5vVHlwZSA9PSAncGVyY2VudGFnZScpIHtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgIHRoaXMuc2V0UGVyY2VudGFnZUlucHV0KHRoaXMudmFsdWUgYXMgYW55KTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5vVHlwZSA9PSAndGV4dCcgJiYgIXRoaXMubm9UZXh0Rm9ybWF0KSB0aGlzLmVsLnZhbHVlID0gdGhpcy5mb3JtYXR0ZXJTZXJ2aWNlLnRvVGl0bGVDYXNlKHRoaXMudmFsdWUgYXMgYW55KTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgb25Gb2N1cygpIHtcbiAgICBpZiAodGhpcy5ub0Zvcm1hdHRpbmcpIHJldHVybjtcbiAgICBpZiAodGhpcy5vVHlwZSA9PSAnbnVtYmVyJykgdGhpcy51bkZvcm1hdE51bWJlcigpO1xuICAgIGlmICh0aGlzLm9UeXBlID09ICdwZXJjZW50YWdlJykgdGhpcy51bkZvcm1hdFBlcmNlbnRhZ2UoKTtcbiAgfVxuXG4gIF9vbkNoYW5nZSh2YWx1ZTogYW55KTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gdmFsdWVcbiAgICogYXBwbHkgZm9ybWF0dGluZyBvbiB2YWx1ZSBhc3NpZ25tZW50XG4gICAqL1xuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAvLyBjb25zb2xlLmxvZygnd3JpdGluZycpO1xuICAgIC8vIGlmICh0aGlzLmlzRGVidWcpXG4gICAgLy8gZGVidWdnZXI7XG4gICAgdGhpcy5fdmFsdWU9dmFsdWU7XG4gICAgaWYgKHRoaXMubm9Gb3JtYXR0aW5nKSB0aGlzLnNldElucHV0KHZhbHVlKTtcbiAgICBlbHNlIGlmICh0aGlzLm9UeXBlID09ICd0ZXh0JyAmJiAhdGhpcy5ub1RleHRGb3JtYXQpIHtcbiAgICAgIGlmICh0aGlzLmVsLmRpc2FibGVkKSB0aGlzLnNldElucHV0KHZhbHVlKTtcbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuZm9ybWF0dGVyU2VydmljZS50b1RpdGxlQ2FzZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuc2V0VGV4dElucHV0KHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMub1R5cGUgPT0gJ251bWJlcicpIHRoaXMuc2V0TnVtYmVySW5wdXQodmFsdWUpO1xuICAgIGVsc2UgaWYgKHRoaXMub1R5cGUgPT0gJ3BlcmNlbnRhZ2UnKSB0aGlzLnNldFBlcmNlbnRhZ2VJbnB1dCh2YWx1ZSk7XG4gICAgZWxzZSBpZiAodGhpcy5vVHlwZSA9PSAnY2hlY2tib3gnKVxuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHRoaXMuaW5wdXQoZmFsc2UpO1xuICAgICAgZWxzZSB0aGlzLnNldENoZWNrYm94SW5wdXQodmFsdWUgYXMgYW55KTtcbiAgICBlbHNlIHRoaXMuc2V0SW5wdXQodmFsdWUpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoKSB7fVxuXG4gIGlzTGFzdENoYXJhY3RlckRlY2ltYWxTZXBhcmF0b3IodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHJldHVybiB2YWx1ZT8udG9TdHJpbmcoKVt2YWx1ZT8udG9TdHJpbmcoKS5sZW5ndGggLSAxXSA9PSAnLic7XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0IG51bW1iZXIgYnkgYWRkaW5nIGNvbW1hc1xuICAgKiBAcGFyYW0gdmFsdWVcbiAgICogQHJldHVybnNcbiAgICovXG4gIHByaXZhdGUgc2V0TnVtYmVySW5wdXQodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGwpIHtcbiAgICAvLyBkZWJ1Z2dlcjtcbiAgICAvLyBjb25zb2xlLnRyYWNlKCdzZXROdW1iZXJJbnB1dCcsdmFsdWUpXG4gICAgY29uc3QgdmFsID0gdmFsdWU/LnRvU3RyaW5nKCkucmVwbGFjZSgvW15cXGQuLV0vZywgJycpO1xuICAgIGlmICh2YWwgPT09IG51bGwgfHwgdmFsID09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0xhc3RDaGFyYWN0ZXJEZWNpbWFsU2VwYXJhdG9yKHZhbCkpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBkZWJ1Z2dlclxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0odmFsLCBgMS4wLTIwYCk7XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0IG51bW1iZXIgYnkgJSBzaWduIGF0IHRoZSBlbmRcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcml2YXRlIHNldFBlcmNlbnRhZ2VJbnB1dCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCkge1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgY29uc3QgdmFsID0gdmFsdWU/LnRvU3RyaW5nKCkucmVwbGFjZSgvW15cXGQuLV0vZywgJycpO1xuICAgIGlmICh2YWwgPT09IG51bGwgfHwgdmFsID09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0xhc3RDaGFyYWN0ZXJEZWNpbWFsU2VwYXJhdG9yKHZhbCkpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBkZWJ1Z2dlclxuICAgIC8vIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0odmFsLCBgMS4wLTIwYCk7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZSA/IHZhbHVlICsgJyUnIDogdmFsdWUgKyAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXQgdGV4dCBieSBtYWtpbmcgaXQgaW4gdGhlIHRpdGxlIGNhc2VcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcml2YXRlIHNldFRleHRJbnB1dCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCkge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0dGVyU2VydmljZS50b1RpdGxlQ2FzZSh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IG5ldyB2YWx1ZSBvbiB0aGUgSFRNTCBJbnB1dCBmb3IgdGhlIFVJIHVwZGF0ZVxuICAgKiBAcGFyYW0gdmFsdWVcbiAgICogQHJldHVybnNcbiAgICovXG4gIHByaXZhdGUgc2V0SW5wdXQodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGwpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIGlmICh0aGlzLm9UeXBlID09ICdjaGVja2JveCcpIHRoaXMuc2V0Q2hlY2tib3hJbnB1dCh2YWx1ZSBhcyBhbnkpO1xuICAgIGVsc2Uge1xuICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlIGFzIGFueTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0IG5ldyB2YWx1ZSBvbiB0aGUgSFRNTCBJbnB1dCBDaGVja2JveCBmb3IgdGhlIFVJIHVwZGF0ZVxuICAgKiBAcGFyYW0gdmFsdWVcbiAgICogQHJldHVybnNcbiAgICovXG4gIHByaXZhdGUgc2V0Q2hlY2tib3hJbnB1dCh2YWx1ZTogYm9vbGVhbiB8IG51bGwpIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGVja2VkID0gdmFsdWUgfHwgZmFsc2U7XG4gICAgaWYgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoZWNrZWQgPT0gbnVsbCkgZGVidWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBjb21tYXMgZnJvbSB0aGUgbnVtYmVyc1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHJpdmF0ZSB1bkZvcm1hdE51bWJlcigpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgIGlmICh0aGlzLmlzTGFzdENoYXJhY3RlckRlY2ltYWxTZXBhcmF0b3IodmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdmFsdWUgPSB0aGlzLmZvcm1hdHRlclNlcnZpY2UucmVtb3ZlQ29tbWFzKHZhbHVlKTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy52YWx1ZSBhcyBhbnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBjb21tYXMgYW5kIHBlcmNlbnRhZ2UgZnJvbSB0aGUgbnVtYmVyc1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHJpdmF0ZSB1bkZvcm1hdFBlcmNlbnRhZ2UoKSB7XG4gICAgLy8gZGVidWdnZXI7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICBpZiAodGhpcy5pc0xhc3RDaGFyYWN0ZXJEZWNpbWFsU2VwYXJhdG9yKHZhbHVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5mb3JtYXR0ZXJTZXJ2aWNlLnJlbW92ZUNvbW1hcyh2YWx1ZS5yZXBsYWNlKCclJywgJycpKTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy52YWx1ZSBhcyBhbnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc2FibGVkID0gISF2YWw7XG4gICAgLy8gZGVidWdnZXJcbiAgICAvLyB0aGlzLl9vbkJsdXIoKVxuICB9XG59XG5cbmNvbnN0IFBBRERJTkcgPSAnMDAwMDAwJztcblxuQFBpcGUoeyBuYW1lOiAnaW5wdXRGb3JtYXR0ZXJzJyB9KVxuZXhwb3J0IGNsYXNzIElucHV0Rm9ybWF0dGVyc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBERUNJTUFMX1NFUEFSQVRPUjogc3RyaW5nO1xuICBwcml2YXRlIFRIT1VTQU5EU19TRVBBUkFUT1I6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBUT0RPIGNvbWVzIGZyb20gY29uZmlndXJhdGlvbiBzZXR0aW5nc1xuICAgIHRoaXMuREVDSU1BTF9TRVBBUkFUT1IgPSAnLic7XG4gICAgdGhpcy5USE9VU0FORFNfU0VQQVJBVE9SID0gJywnO1xuICB9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGZyYWN0aW9uU2l6ZTogbnVtYmVyID0gMik6IHN0cmluZyB7XG4gICAgbGV0IFtpbnRlZ2VyLCBmcmFjdGlvbiA9ICcnXSA9ICh2YWx1ZSB8fCAnJykudG9TdHJpbmcoKS5zcGxpdCh0aGlzLkRFQ0lNQUxfU0VQQVJBVE9SKTtcblxuICAgIGZyYWN0aW9uID0gZnJhY3Rpb25TaXplID4gMCA/IHRoaXMuREVDSU1BTF9TRVBBUkFUT1IgKyAoZnJhY3Rpb24gKyBQQURESU5HKS5zdWJzdHJpbmcoMCwgZnJhY3Rpb25TaXplKSA6ICcnO1xuXG4gICAgaW50ZWdlciA9IGludGVnZXIucmVwbGFjZSgvXFxCKD89KFxcZHszfSkrKD8hXFxkKSkvZywgdGhpcy5USE9VU0FORFNfU0VQQVJBVE9SKTtcblxuICAgIHJldHVybiBpbnRlZ2VyICsgZnJhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBpbnB1dCB2YWx1ZSB0byBudW1iZXJcbiAgICogQHBhcmFtIHZhbHVlIElucHV0IHZhbHVlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICByZW1vdmVDb21tYXModmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IHIgPSB2YWx1ZS5yZXBsYWNlKC9bXlxcZC4tXS9nLCAnJyk7XG4gICAgcmV0dXJuIHIgPyArciA6IG51bGw7XG4gIH1cblxuICB0b1RpdGxlQ2FzZShzdHI6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0cj8udG9TdHJpbmcoKS5yZXBsYWNlKC9cXHdcXFMqL2csICh0eHQpID0+IHR4dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHR4dC5zdWJzdHIoMSkudG9Mb3dlckNhc2UoKSkgfHwgJyc7XG4gIH1cbn1cblxuY29uc3QgY29tcHMgPSBbSW5wdXRGb3JtYXREaXJlY3RpdmVdO1xuLy8gY29uc3QgY29tcHMgPSBbXTtcbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIC4uLmNvbXBzXSxcbiAgZXhwb3J0czogWy4uLmNvbXBzXSxcbiAgcHJvdmlkZXJzOiBbRGVjaW1hbFBpcGUsIElucHV0Rm9ybWF0dGVyc1BpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEZvcm1hdERpcmVjdGl2ZXNNb2R1bGUge31cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Rm9ybWF0U2VydmljZSB7XG4gIC8qKiBEb24ndCB1c2UgdGhlIGlucHV0IGZvcm1hdHR0ZXIgb24gdGhpcyBwYWdlICovXG4gIHBhZ2VOb2Zvcm1hdDogYm9vbGVhbjtcbiAgLyoqIERvbid0IHVzZSB0aGUgaW5wdXQgZm9ybWF0dHRlciBmb3IgdGV4dCBpbnB1dHMgb24gdGhpcyBwYWdlICovXG4gIHBhZ2VOb1RleHRGb3JtYXQ6IGJvb2xlYW47XG59XG4iXX0=
@@ -5414,7 +5414,7 @@ class InputFormatDirective {
5414
5414
  return this.__value;
5415
5415
  }
5416
5416
  set value(value) {
5417
- console.log('valuing');
5417
+ // console.log('valuing');
5418
5418
  this._value = value;
5419
5419
  // debugger;
5420
5420
  if (this.isDebug)
@@ -5437,7 +5437,7 @@ class InputFormatDirective {
5437
5437
  this.setInput(value);
5438
5438
  }
5439
5439
  input(value) {
5440
- console.log('inputing');
5440
+ // console.log('inputing');
5441
5441
  // debugger
5442
5442
  if (this.isDebug)
5443
5443
  debugger;
@@ -5460,16 +5460,18 @@ class InputFormatDirective {
5460
5460
  this._onChange(this.value);
5461
5461
  }
5462
5462
  _onBlur() {
5463
- if (this.noFormatting)
5464
- this.elementRef.nativeElement.value = this.value || '';
5465
- else if (this.oType == 'number')
5466
- this.setNumberInput(this.value);
5467
- else if (this.oType == 'percentage') {
5468
- // debugger;
5469
- this.setPercentageInput(this.value);
5470
- }
5471
- else if (this.oType == 'text' && !this.noTextFormat)
5472
- this.el.value = this.formatterService.toTitleCase(this.value);
5463
+ setTimeout(() => {
5464
+ if (this.noFormatting)
5465
+ this.elementRef.nativeElement.value = this.value || '';
5466
+ else if (this.oType == 'number')
5467
+ this.setNumberInput(this.value);
5468
+ else if (this.oType == 'percentage') {
5469
+ // debugger;
5470
+ this.setPercentageInput(this.value);
5471
+ }
5472
+ else if (this.oType == 'text' && !this.noTextFormat)
5473
+ this.el.value = this.formatterService.toTitleCase(this.value);
5474
+ }, 0);
5473
5475
  }
5474
5476
  onFocus() {
5475
5477
  if (this.noFormatting)
@@ -5485,9 +5487,10 @@ class InputFormatDirective {
5485
5487
  * apply formatting on value assignment
5486
5488
  */
5487
5489
  writeValue(value) {
5488
- console.log('writing');
5490
+ // console.log('writing');
5489
5491
  // if (this.isDebug)
5490
5492
  // debugger;
5493
+ this._value = value;
5491
5494
  if (this.noFormatting)
5492
5495
  this.setInput(value);
5493
5496
  else if (this.oType == 'text' && !this.noTextFormat) {
@@ -5523,6 +5526,8 @@ class InputFormatDirective {
5523
5526
  * @returns
5524
5527
  */
5525
5528
  setNumberInput(value) {
5529
+ // debugger;
5530
+ // console.trace('setNumberInput',value)
5526
5531
  const val = value?.toString().replace(/[^\d.-]/g, '');
5527
5532
  if (val === null || val == undefined) {
5528
5533
  this.elementRef.nativeElement.value = '';