@skyux/ag-grid 10.42.0 → 10.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/documentation.json +571 -571
  2. package/esm2022/lib/modules/ag-grid/ag-grid-adapter.service.mjs +4 -4
  3. package/esm2022/lib/modules/ag-grid/ag-grid-data-manager-adapter.directive.mjs +4 -4
  4. package/esm2022/lib/modules/ag-grid/ag-grid-row-delete.component.mjs +4 -4
  5. package/esm2022/lib/modules/ag-grid/ag-grid-row-delete.directive.mjs +4 -4
  6. package/esm2022/lib/modules/ag-grid/ag-grid-wrapper.component.mjs +4 -4
  7. package/esm2022/lib/modules/ag-grid/ag-grid.module.mjs +5 -5
  8. package/esm2022/lib/modules/ag-grid/ag-grid.service.mjs +4 -4
  9. package/esm2022/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.mjs +4 -4
  10. package/esm2022/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module.mjs +5 -5
  11. package/esm2022/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.mjs +4 -4
  12. package/esm2022/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.module.mjs +5 -5
  13. package/esm2022/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.mjs +4 -4
  14. package/esm2022/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.module.mjs +5 -5
  15. package/esm2022/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.mjs +4 -4
  16. package/esm2022/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.module.mjs +5 -5
  17. package/esm2022/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.mjs +4 -4
  18. package/esm2022/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.module.mjs +5 -5
  19. package/esm2022/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.mjs +4 -4
  20. package/esm2022/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.module.mjs +5 -5
  21. package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component.mjs +4 -4
  22. package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.mjs +4 -4
  23. package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.module.mjs +5 -5
  24. package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.mjs +4 -4
  25. package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module.mjs +5 -5
  26. package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component.mjs +43 -49
  27. package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.module.mjs +6 -17
  28. package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-template/cell-renderer-template.component.mjs +4 -4
  29. package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component.mjs +4 -4
  30. package/esm2022/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.module.mjs +5 -5
  31. package/esm2022/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.mjs +5 -5
  32. package/esm2022/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator.module.mjs +5 -5
  33. package/esm2022/lib/modules/ag-grid/header/header-group.component.mjs +4 -4
  34. package/esm2022/lib/modules/ag-grid/header/header.component.mjs +4 -4
  35. package/esm2022/lib/modules/ag-grid/types/header-group-info.mjs +4 -4
  36. package/esm2022/lib/modules/ag-grid/types/header-info.mjs +4 -4
  37. package/esm2022/lib/modules/shared/sky-ag-grid-resources.module.mjs +5 -5
  38. package/fesm2022/skyux-ag-grid.mjs +161 -175
  39. package/fesm2022/skyux-ag-grid.mjs.map +1 -1
  40. package/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component.d.ts +2 -2
  41. package/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.module.d.ts +1 -2
  42. package/package.json +16 -16
@@ -475,10 +475,10 @@ export class SkyAgGridService {
475
475
  }
476
476
  return false;
477
477
  }
478
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridService, deps: [{ token: i1.SkyAgGridAdapterService }, { token: i2.SkyThemeService, optional: true }, { token: i3.SkyLibResourcesService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
479
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridService, providedIn: 'root' }); }
478
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridService, deps: [{ token: i1.SkyAgGridAdapterService }, { token: i2.SkyThemeService, optional: true }, { token: i3.SkyLibResourcesService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
479
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridService, providedIn: 'root' }); }
480
480
  }
481
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridService, decorators: [{
481
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridService, decorators: [{
482
482
  type: Injectable,
483
483
  args: [{
484
484
  providedIn: 'root',
@@ -488,4 +488,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
488
488
  }] }, { type: i3.SkyLibResourcesService, decorators: [{
489
489
  type: Optional
490
490
  }] }] });
491
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FnLWdyaWQvc3JjL2xpYi9tb2R1bGVzL2FnLWdyaWQvYWctZ3JpZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWdCakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDdEksT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDMUgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDaEksT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDOUcsT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDckosT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDbEksT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDNUgsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sa0ZB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IE9uRGVzdHJveSwgT3B0aW9uYWwsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TG9nU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreURhdGVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2RhdGV0aW1lJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5pbXBvcnQgeyBTa3lUaGVtZVNlcnZpY2UsIFNreVRoZW1lU2V0dGluZ3MgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQge1xuICBDZWxsQ2xhc3NQYXJhbXMsXG4gIENvbERlZixcbiAgRWRpdGFibGVDYWxsYmFja1BhcmFtcyxcbiAgR3JpZE9wdGlvbnMsXG4gIEhlYWRlckNsYXNzUGFyYW1zLFxuICBJQ2VsbFJlbmRlcmVyUGFyYW1zLFxuICBSb3dDbGFzc1BhcmFtcyxcbiAgU3VwcHJlc3NIZWFkZXJLZXlib2FyZEV2ZW50UGFyYW1zLFxuICBTdXBwcmVzc0tleWJvYXJkRXZlbnRQYXJhbXMsXG4gIFZhbHVlRm9ybWF0dGVyUGFyYW1zLFxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9hZy1ncmlkLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBhcHBseVNreUxvb2t1cFByb3BlcnRpZXNEZWZhdWx0cyB9IGZyb20gJy4vYXBwbHktbG9va3VwLXByb3BlcnRpZXMtZGVmYXVsdHMnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvckF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWF1dG9jb21wbGV0ZS9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JDdXJyZW5jeUNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWN1cnJlbmN5L2NlbGwtZWRpdG9yLWN1cnJlbmN5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWRhdGVwaWNrZXIvY2VsbC1lZGl0b3ItZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvckxvb2t1cENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWxvb2t1cC9jZWxsLWVkaXRvci1sb29rdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JOdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1udW1iZXIvY2VsbC1lZGl0b3ItbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yVGV4dENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLXRleHQvY2VsbC1lZGl0b3ItdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyQ3VycmVuY3lWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtcmVuZGVyZXJzL2NlbGwtcmVuZGVyZXItY3VycmVuY3kvY2VsbC1yZW5kZXJlci1jdXJyZW5jeS12YWxpZGF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5Q29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLWN1cnJlbmN5L2NlbGwtcmVuZGVyZXItY3VycmVuY3kuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckxvb2t1cENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci1sb29rdXAvY2VsbC1yZW5kZXJlci1sb29rdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlclJvd1NlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLXJvdy1zZWxlY3Rvci9jZWxsLXJlbmRlcmVyLXJvdy1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtcmVuZGVyZXJzL2NlbGwtcmVuZGVyZXItdGVtcGxhdGUvY2VsbC1yZW5kZXJlci10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyVmFsaWRhdG9yVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcC9jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRIZWFkZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uTWFwVHlwZSwgaWNvbk1hcCB9IGZyb20gJy4vaWNvbnMvaWNvbi1tYXAnO1xuaW1wb3J0IHsgU2t5Q2VsbENsYXNzIH0gZnJvbSAnLi90eXBlcy9jZWxsLWNsYXNzJztcbmltcG9ydCB7IFNreUNlbGxUeXBlIH0gZnJvbSAnLi90eXBlcy9jZWxsLXR5cGUnO1xuaW1wb3J0IHsgU2t5SGVhZGVyQ2xhc3MgfSBmcm9tICcuL3R5cGVzL2hlYWRlci1jbGFzcyc7XG5pbXBvcnQgeyBTa3lHZXRHcmlkT3B0aW9uc0FyZ3MgfSBmcm9tICcuL3R5cGVzL3NreS1ncmlkLW9wdGlvbnMnO1xuXG5mdW5jdGlvbiBhdXRvY29tcGxldGVDb21wYXJhdG9yKFxuICB2YWx1ZTE6IHsgbmFtZTogc3RyaW5nIH0sXG4gIHZhbHVlMjogeyBuYW1lOiBzdHJpbmcgfSxcbik6IG51bWJlciB7XG4gIGlmICh2YWx1ZTEgJiYgdmFsdWUyKSB7XG4gICAgaWYgKHZhbHVlMS5uYW1lID4gdmFsdWUyLm5hbWUpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZTEubmFtZSA8IHZhbHVlMi5uYW1lKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICByZXR1cm4gdmFsdWUxID8gMSA6IC0xO1xufVxuXG5mdW5jdGlvbiBhdXRvY29tcGxldGVGb3JtYXR0ZXIocGFyYW1zOiBWYWx1ZUZvcm1hdHRlclBhcmFtcyk6IHN0cmluZyB7XG4gIHJldHVybiBwYXJhbXMudmFsdWUgJiYgcGFyYW1zLnZhbHVlLm5hbWU7XG59XG5cbmZ1bmN0aW9uIGRhdGVDb21wYXJhdG9yKGRhdGUxOiBEYXRlIHwgc3RyaW5nLCBkYXRlMjogRGF0ZSB8IHN0cmluZyk6IG51bWJlciB7XG4gIGxldCBkYXRlMXZhbHVlID0gZGF0ZTE7XG4gIGxldCBkYXRlMnZhbHVlID0gZGF0ZTI7XG5cbiAgaWYgKHR5cGVvZiBkYXRlMXZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIGRhdGUxdmFsdWUgPSBuZXcgRGF0ZShkYXRlMSk7XG4gIH1cblxuICBpZiAodHlwZW9mIGRhdGUydmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgZGF0ZTJ2YWx1ZSA9IG5ldyBEYXRlKGRhdGUyKTtcbiAgfVxuXG4gIGlmIChkYXRlMXZhbHVlICYmIGRhdGUydmFsdWUpIHtcbiAgICBpZiAoZGF0ZTF2YWx1ZSA+IGRhdGUydmFsdWUpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGlmIChkYXRlMXZhbHVlIDwgZGF0ZTJ2YWx1ZSkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcmV0dXJuIGRhdGUxdmFsdWUgPyAxIDogLTE7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5mdW5jdGlvbiBnZXRWYWxpZGF0b3JDZWxsUmVuZGVyZXJTZWxlY3Rvcihjb21wb25lbnQ6IHN0cmluZywgZmFsbGJhY2s/OiBhbnkpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcmV0dXJuIChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMpOiBhbnkgPT4ge1xuICAgIGlmIChcbiAgICAgIHBhcmFtcy5jb2xEZWYgJiZcbiAgICAgIHR5cGVvZiBwYXJhbXMuY29sRGVmLmNlbGxSZW5kZXJlclBhcmFtcz8uc2t5Q29tcG9uZW50UHJvcGVydGllc1xuICAgICAgICA/LnZhbGlkYXRvciA9PT0gJ2Z1bmN0aW9uJ1xuICAgICkge1xuICAgICAgaWYgKFxuICAgICAgICAhcGFyYW1zLmNvbERlZi5jZWxsUmVuZGVyZXJQYXJhbXMuc2t5Q29tcG9uZW50UHJvcGVydGllcy52YWxpZGF0b3IoXG4gICAgICAgICAgcGFyYW1zLnZhbHVlLFxuICAgICAgICAgIHBhcmFtcy5kYXRhLFxuICAgICAgICAgIHBhcmFtcy5yb3dJbmRleCxcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29tcG9uZW50LFxuICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgLi4ucGFyYW1zLmNvbERlZi5jZWxsUmVuZGVyZXJQYXJhbXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbGxiYWNrO1xuICB9O1xufVxuXG5sZXQgcm93Tm9kZUlkID0gLTE7XG5cbi8qKlxuICogYFNreUFnR3JpZFNlcnZpY2VgIHByb3ZpZGVzIG1ldGhvZHMgdG8gZ2V0IEFHIEdyaWQgYGdyaWRPcHRpb25zYCB0byBlbnN1cmUgZ3JpZHMgbWF0Y2ggU0tZIFVYIGZ1bmN0aW9uYWxpdHkuIFRoZSBgZ3JpZE9wdGlvbnNgIGNhbiBiZSBvdmVycmlkZGVuLCBhbmQgaW5jbHVkZSByZWdpc3RlcmVkIFNLWSBVWCBjb2x1bW4gdHlwZXMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgI2tleU1hcCA9IG5ldyBXZWFrTWFwPGFueSwgc3RyaW5nPigpO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNjdXJyZW50VGhlbWU6IFNreVRoZW1lU2V0dGluZ3MgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICNhZ0dyaWRBZGFwdGVyU2VydmljZTogU2t5QWdHcmlkQWRhcHRlclNlcnZpY2U7XG4gICNyZXNvdXJjZXM6IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfCB1bmRlZmluZWQ7XG4gICNkYXRlU2VydmljZSA9IGluamVjdChTa3lEYXRlU2VydmljZSk7XG4gICNsb2dTZXJ2aWNlID0gaW5qZWN0KFNreUxvZ1NlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFnR3JpZEFkYXB0ZXJTZXJ2aWNlOiBTa3lBZ0dyaWRBZGFwdGVyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSByZXNvdXJjZXM/OiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLiNhZ0dyaWRBZGFwdGVyU2VydmljZSA9IGFnR3JpZEFkYXB0ZXJTZXJ2aWNlO1xuICAgIHRoaXMuI3Jlc291cmNlcyA9IHJlc291cmNlcztcblxuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGVtZVN2Yykge1xuICAgICAgdGhlbWVTdmMuc2V0dGluZ3NDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChzZXR0aW5nc0NoYW5nZSkgPT4ge1xuICAgICAgICAgIHRoaXMuI2N1cnJlbnRUaGVtZSA9IHNldHRpbmdzQ2hhbmdlLmN1cnJlbnRTZXR0aW5ncztcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIFtBRyBHcmlkIGBncmlkT3B0aW9uc2BdKGh0dHBzOi8vd3d3LmFnLWdyaWQuY29tL2phdmFzY3JpcHQtZ3JpZC1wcm9wZXJ0aWVzLykgd2l0aCBkZWZhdWx0IFNLWSBVWCBvcHRpb25zLCBzdHlsaW5nLCBhbmQgY2VsbCByZW5kZXJlcnMgcmVnaXN0ZXJlZCBmb3IgcmVhZC1vbmx5IGdyaWRzLlxuICAgKiBAcGFyYW0gYXJnc1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHVibGljIGdldEdyaWRPcHRpb25zKGFyZ3M6IFNreUdldEdyaWRPcHRpb25zQXJncyk6IEdyaWRPcHRpb25zIHtcbiAgICBjb25zdCBkZWZhdWx0R3JpZE9wdGlvbnMgPSB0aGlzLiNnZXREZWZhdWx0R3JpZE9wdGlvbnMoYXJncyk7XG4gICAgY29uc3QgbWVyZ2VkR3JpZE9wdGlvbnMgPSB0aGlzLiNtZXJnZUdyaWRPcHRpb25zKFxuICAgICAgZGVmYXVsdEdyaWRPcHRpb25zLFxuICAgICAgYXJncy5ncmlkT3B0aW9ucyxcbiAgICApO1xuXG4gICAgcmV0dXJuIG1lcmdlZEdyaWRPcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgW0FHIEdyaWQgYGdyaWRPcHRpb25zYF0oaHR0cHM6Ly93d3cuYWctZ3JpZC5jb20vamF2YXNjcmlwdC1ncmlkLXByb3BlcnRpZXMvKSB3aXRoIGRlZmF1bHQgU0tZIFVYIG9wdGlvbnMsIHN0eWxpbmcsIGFuZCBjZWxsIGVkaXRvcnMgcmVnaXN0ZXJlZCBmb3IgZWRpdGFibGUgZ3JpZHMuXG4gICAqIEBwYXJhbSBhcmdzXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwdWJsaWMgZ2V0RWRpdGFibGVHcmlkT3B0aW9ucyhhcmdzOiBTa3lHZXRHcmlkT3B0aW9uc0FyZ3MpOiBHcmlkT3B0aW9ucyB7XG4gICAgY29uc3QgZGVmYXVsdEdyaWRPcHRpb25zID0gdGhpcy4jZ2V0RGVmYXVsdEVkaXRhYmxlR3JpZE9wdGlvbnMoYXJncyk7XG4gICAgY29uc3QgbWVyZ2VkR3JpZE9wdGlvbnMgPSB0aGlzLiNtZXJnZUdyaWRPcHRpb25zKFxuICAgICAgZGVmYXVsdEdyaWRPcHRpb25zLFxuICAgICAgYXJncy5ncmlkT3B0aW9ucyxcbiAgICApO1xuXG4gICAgcmV0dXJuIG1lcmdlZEdyaWRPcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFRoZSBgZ2V0SGVhZGVySGVpZ2h0YCBtZXRob2QgaXMgbm8gbG9uZ2VyIG5lZWRlZC4gSGVhZGVyIGhlaWdodCBpcyBtYW5hZ2VkIGluIENTUy5cbiAgICovXG4gIHB1YmxpYyBnZXRIZWFkZXJIZWlnaHQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jY3VycmVudFRoZW1lPy50aGVtZT8ubmFtZSA9PT0gJ21vZGVybicgPyA2MCA6IDM3O1xuICB9XG5cbiAgI21lcmdlR3JpZE9wdGlvbnMoXG4gICAgZGVmYXVsdEdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyxcbiAgICBwcm92aWRlZEdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyxcbiAgKTogR3JpZE9wdGlvbnMge1xuICAgIGNvbnN0IG1lcmdlZEdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyA9IHtcbiAgICAgIC4uLmRlZmF1bHRHcmlkT3B0aW9ucyxcbiAgICAgIC4uLnByb3ZpZGVkR3JpZE9wdGlvbnMsXG4gICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgIC4uLnByb3ZpZGVkR3JpZE9wdGlvbnMuY29tcG9uZW50cyxcbiAgICAgICAgLy8gQXBwbHkgZGVmYXVsdCBjb21wb25lbnRzIGxhc3QgdG8gcHJldmVudCBjb25zdW1lcnMgZnJvbSBvdmVyd3JpdGluZyBvdXIgY29tcG9uZW50IHR5cGVzLlxuICAgICAgICAuLi5kZWZhdWx0R3JpZE9wdGlvbnMuY29tcG9uZW50cyxcbiAgICAgIH0sXG4gICAgICBjb2x1bW5UeXBlczoge1xuICAgICAgICAuLi5wcm92aWRlZEdyaWRPcHRpb25zLmNvbHVtblR5cGVzLFxuICAgICAgICAvLyBhcHBseSBkZWZhdWx0IHNlY29uZCB0byBwcmV2ZW50IGNvbnN1bWVycyBmcm9tIG92ZXJ3cml0aW5nIG91ciBkZWZhdWx0IGNvbHVtbiB0eXBlc1xuICAgICAgICAuLi5kZWZhdWx0R3JpZE9wdGlvbnMuY29sdW1uVHlwZXMsXG4gICAgICB9LFxuICAgICAgZGVmYXVsdENvbERlZjoge1xuICAgICAgICAuLi5kZWZhdWx0R3JpZE9wdGlvbnMuZGVmYXVsdENvbERlZixcbiAgICAgICAgLi4ucHJvdmlkZWRHcmlkT3B0aW9ucy5kZWZhdWx0Q29sRGVmLFxuICAgICAgICAvLyBhbGxvdyBjb25zdW1lcnMgdG8gb3ZlcnJpZGUgYWxsIGRlZmF1bHRDb2xEZWYgcHJvcGVydGllcyBleGNlcHQgY2VsbENsYXNzUnVsZXMsIHdoaWNoIHdlIHJlc2VydmUgZm9yIHN0eWxpbmdcbiAgICAgICAgY2VsbENsYXNzUnVsZXM6IGRlZmF1bHRHcmlkT3B0aW9ucy5kZWZhdWx0Q29sRGVmPy5jZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgaGVhZGVyQ2xhc3M6IGRlZmF1bHRHcmlkT3B0aW9ucy5kZWZhdWx0Q29sRGVmPy5oZWFkZXJDbGFzcyxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0Q29sR3JvdXBEZWY6IHtcbiAgICAgICAgLi4uZGVmYXVsdEdyaWRPcHRpb25zLmRlZmF1bHRDb2xHcm91cERlZixcbiAgICAgICAgLi4ucHJvdmlkZWRHcmlkT3B0aW9ucy5kZWZhdWx0Q29sR3JvdXBEZWYsXG4gICAgICAgIGhlYWRlckNsYXNzOiBkZWZhdWx0R3JpZE9wdGlvbnMuZGVmYXVsdENvbEdyb3VwRGVmPy5oZWFkZXJDbGFzcyxcbiAgICAgIH0sXG4gICAgICBpY29uczoge1xuICAgICAgICAuLi5kZWZhdWx0R3JpZE9wdGlvbnMuaWNvbnMsXG4gICAgICAgIC4uLnByb3ZpZGVkR3JpZE9wdGlvbnMuaWNvbnMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICAvLyBFbmFibGUgdGV4dCBzZWxlY3Rpb24gdW5sZXNzIGV4cGxpY2l0bHkgZGlzYWJsZWQgb3IgY29uZmxpY3Rpbmcgd2l0aCBhbm90aGVyIHNldHRpbmcuXG4gICAgaWYgKFxuICAgICAgbWVyZ2VkR3JpZE9wdGlvbnMuZW5hYmxlQ2VsbFRleHRTZWxlY3Rpb24gfHxcbiAgICAgICghKCdlbmFibGVDZWxsVGV4dFNlbGVjdGlvbicgaW4gbWVyZ2VkR3JpZE9wdGlvbnMpICYmXG4gICAgICAgICFtZXJnZWRHcmlkT3B0aW9ucy5lbmFibGVSYW5nZVNlbGVjdGlvbiAmJlxuICAgICAgICAhbWVyZ2VkR3JpZE9wdGlvbnMuY29sdW1uRGVmcz8uc29tZSgoY29sOiBDb2xEZWYpID0+IGNvbC5lZGl0YWJsZSkpXG4gICAgKSB7XG4gICAgICBtZXJnZWRHcmlkT3B0aW9ucy5jb250ZXh0IHx8PSB7fTtcbiAgICAgIG1lcmdlZEdyaWRPcHRpb25zLmVuYWJsZUNlbGxUZXh0U2VsZWN0aW9uID8/PSB0cnVlO1xuICAgICAgbWVyZ2VkR3JpZE9wdGlvbnMuY29udGV4dC5lbmFibGVDZWxsVGV4dFNlbGVjdGlvbiA9XG4gICAgICAgIG1lcmdlZEdyaWRPcHRpb25zLmVuYWJsZUNlbGxUZXh0U2VsZWN0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBtZXJnZWRHcmlkT3B0aW9ucztcbiAgfVxuXG4gICNnZXREZWZhdWx0R3JpZE9wdGlvbnMoYXJnczogU2t5R2V0R3JpZE9wdGlvbnNBcmdzKTogR3JpZE9wdGlvbnMge1xuICAgIC8vIGNlbGxDbGFzc1J1bGVzIGNhbiBiZSBmdW5jdGlvbnMgb3Igc3RyaW5nIGV4cHJlc3Npb25zXG4gICAgY29uc3QgY2VsbENsYXNzUnVsZVRydWVFeHByZXNzaW9uID0gKCk6IGJvb2xlYW4gPT4gdHJ1ZTtcblxuICAgIGZ1bmN0aW9uIGdldEVkaXRhYmxlRm4oXG4gICAgICBpc1VuZWRpdGFibGU/OiBib29sZWFuLFxuICAgICk6IChwYXJhbXM6IENlbGxDbGFzc1BhcmFtcykgPT4gYm9vbGVhbiB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKHBhcmFtczogQ2VsbENsYXNzUGFyYW1zKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBpc0VkaXRhYmxlID0gcGFyYW1zLmNvbERlZi5lZGl0YWJsZTtcblxuICAgICAgICBpZiAodHlwZW9mIGlzRWRpdGFibGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBjb25zdCBjb2x1bW4gPSBwYXJhbXMuYXBpLmdldENvbHVtbihwYXJhbXMuY29sRGVmKTtcbiAgICAgICAgICBpc0VkaXRhYmxlID0gaXNFZGl0YWJsZSh7XG4gICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgfSBhcyBFZGl0YWJsZUNhbGxiYWNrUGFyYW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpc1VuZWRpdGFibGUgPyAhaXNFZGl0YWJsZSA6ICEhaXNFZGl0YWJsZTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgZWRpdGFibGVDZWxsQ2xhc3NSdWxlcyA9IHtcbiAgICAgIFtTa3lDZWxsQ2xhc3MuRWRpdGFibGVdOiBnZXRFZGl0YWJsZUZuKCksXG4gICAgICBbU2t5Q2VsbENsYXNzLlVuZWRpdGFibGVdOiBnZXRFZGl0YWJsZUZuKHRydWUpLFxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBnZXRWYWxpZGF0b3JGbigpOiAocGFyYW1zOiBDZWxsQ2xhc3NQYXJhbXMpID0+IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIChwYXJhbTogQ2VsbENsYXNzUGFyYW1zKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBwYXJhbS5jb2xEZWYgJiZcbiAgICAgICAgICB0eXBlb2YgcGFyYW0uY29sRGVmLmNlbGxSZW5kZXJlclBhcmFtcz8uc2t5Q29tcG9uZW50UHJvcGVydGllc1xuICAgICAgICAgICAgPy52YWxpZGF0b3IgPT09ICdmdW5jdGlvbidcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuICFwYXJhbS5jb2xEZWYuY2VsbFJlbmRlcmVyUGFyYW1zLnNreUNvbXBvbmVudFByb3BlcnRpZXMudmFsaWRhdG9yKFxuICAgICAgICAgICAgcGFyYW0udmFsdWUsXG4gICAgICAgICAgICBwYXJhbS5kYXRhLFxuICAgICAgICAgICAgcGFyYW0ucm93SW5kZXgsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkYXRvckNlbGxDbGFzc1J1bGVzID0ge1xuICAgICAgW1NreUNlbGxDbGFzcy5JbnZhbGlkXTogZ2V0VmFsaWRhdG9yRm4oKSxcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gZ2V0SGVhZGVyQ2xhc3MoXG4gICAgICAuLi5jbGFzc05hbWVzOiBzdHJpbmdbXVxuICAgICk6IChwYXJhbXM6IEhlYWRlckNsYXNzUGFyYW1zKSA9PiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgICByZXR1cm4gKHBhcmFtczogSGVhZGVyQ2xhc3NQYXJhbXMpOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgICAgIGNvbnN0IG1pbldpZHRoID0gcGFyYW1zLmNvbHVtbj8uZ2V0TWluV2lkdGgoKSA/PyAwO1xuICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgICAgICBjb25zdCBtYXhXaWR0aCA9IHBhcmFtcy5jb2x1bW4/LmdldE1heFdpZHRoKCkgPz8gSW5maW5pdHk7XG4gICAgICAgIGlmIChwYXJhbXMuY29sdW1uPy5pc1Jlc2l6YWJsZSgpICYmIG1pbldpZHRoIDwgbWF4V2lkdGgpIHtcbiAgICAgICAgICByZXR1cm4gWy4uLmNsYXNzTmFtZXMsIFNreUhlYWRlckNsYXNzLlJlc2l6YWJsZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNsYXNzTmFtZXM7XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGRlZmF1bHRTa3lHcmlkT3B0aW9uczogR3JpZE9wdGlvbnMgPSB7XG4gICAgICBjb2x1bW5UeXBlczoge1xuICAgICAgICBbU2t5Q2VsbFR5cGUuQXV0b2NvbXBsZXRlXToge1xuICAgICAgICAgIGNlbGxDbGFzc1J1bGVzOiB7XG4gICAgICAgICAgICBbU2t5Q2VsbENsYXNzLkF1dG9jb21wbGV0ZV06IGNlbGxDbGFzc1J1bGVUcnVlRXhwcmVzc2lvbixcbiAgICAgICAgICAgIC4uLmVkaXRhYmxlQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjZWxsRWRpdG9yOiBTa3lBZ0dyaWRDZWxsRWRpdG9yQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgICAgICAgIHZhbHVlRm9ybWF0dGVyOiBhdXRvY29tcGxldGVGb3JtYXR0ZXIsXG4gICAgICAgICAgY29tcGFyYXRvcjogYXV0b2NvbXBsZXRlQ29tcGFyYXRvcixcbiAgICAgICAgICBtaW5XaWR0aDogMTg1LFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuQ3VycmVuY3ldOiB7XG4gICAgICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgICAgIFtTa3lDZWxsQ2xhc3MuQ3VycmVuY3ldOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICAuLi52YWxpZGF0b3JDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICAgIC4uLmVkaXRhYmxlQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjZWxsUmVuZGVyZXJTZWxlY3RvcjogZ2V0VmFsaWRhdG9yQ2VsbFJlbmRlcmVyU2VsZWN0b3IoXG4gICAgICAgICAgICAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci1jdXJyZW5jeS12YWxpZGF0b3InLFxuICAgICAgICAgICAgeyBjb21wb25lbnQ6ICdza3ktYWctZ3JpZC1jZWxsLXJlbmRlcmVyLWN1cnJlbmN5JyB9LFxuICAgICAgICAgICksXG4gICAgICAgICAgY2VsbEVkaXRvcjogU2t5QWdHcmlkQ2VsbEVkaXRvckN1cnJlbmN5Q29tcG9uZW50LFxuICAgICAgICAgIGhlYWRlckNsYXNzOiBnZXRIZWFkZXJDbGFzcyhTa3lIZWFkZXJDbGFzcy5SaWdodEFsaWduZWQpLFxuICAgICAgICAgIG1pbldpZHRoOiAxODUsXG4gICAgICAgICAgc3VwcHJlc3NLZXlib2FyZEV2ZW50OiAocGFyYW1zKSA9PlxuICAgICAgICAgICAgdGhpcy4jc3VwcHJlc3NFbnRlcihwYXJhbXMpIHx8IHRoaXMuI3N1cHByZXNzVGFiKHBhcmFtcyksXG4gICAgICAgIH0sXG4gICAgICAgIFtTa3lDZWxsVHlwZS5EYXRlXToge1xuICAgICAgICAgIGNlbGxDbGFzc1J1bGVzOiB7XG4gICAgICAgICAgICBbU2t5Q2VsbENsYXNzLkRhdGVdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICAuLi5lZGl0YWJsZUNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2VsbEVkaXRvcjogU2t5QWdHcmlkQ2VsbEVkaXRvckRhdGVwaWNrZXJDb21wb25lbnQsXG4gICAgICAgICAgY29tcGFyYXRvcjogZGF0ZUNvbXBhcmF0b3IsXG4gICAgICAgICAgbWluV2lkdGg6IHRoaXMuI2N1cnJlbnRUaGVtZT8udGhlbWU/Lm5hbWUgPT09ICdtb2Rlcm4nID8gMTgwIDogMTYwLFxuICAgICAgICAgIHZhbHVlRm9ybWF0dGVyOiAocGFyYW1zOiBWYWx1ZUZvcm1hdHRlclBhcmFtcykgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICB0aGlzLiNkYXRlU2VydmljZS5mb3JtYXQoXG4gICAgICAgICAgICAgICAgICBwYXJhbXMudmFsdWUsXG4gICAgICAgICAgICAgICAgICBhcmdzLmxvY2FsZSxcbiAgICAgICAgICAgICAgICAgIGFyZ3MuZGF0ZUZvcm1hdCB8fCAnc2hvcnREYXRlJyxcbiAgICAgICAgICAgICAgICApIHx8ICcnXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgICAgaWYgKChlcnIgYXMgRXJyb3IpLnN0YWNrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4jbG9nU2VydmljZS5lcnJvcihgJHsoZXJyIGFzIEVycm9yKS5zdGFja31gKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLiNsb2dTZXJ2aWNlLmVycm9yKGAke2Vycn1gKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgW1NreUNlbGxUeXBlLkxvb2t1cF06IHtcbiAgICAgICAgICBjZWxsQ2xhc3NSdWxlczoge1xuICAgICAgICAgICAgW1NreUNlbGxDbGFzcy5Mb29rdXBdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICAuLi5lZGl0YWJsZUNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2VsbEVkaXRvcjogU2t5QWdHcmlkQ2VsbEVkaXRvckxvb2t1cENvbXBvbmVudCxcbiAgICAgICAgICBjZWxsUmVuZGVyZXI6IFNreUFnR3JpZENlbGxSZW5kZXJlckxvb2t1cENvbXBvbmVudCxcbiAgICAgICAgICB2YWx1ZUZvcm1hdHRlcjogKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgbG9va3VwUHJvcGVydGllcyA9IGFwcGx5U2t5TG9va3VwUHJvcGVydGllc0RlZmF1bHRzKFxuICAgICAgICAgICAgICBwYXJhbXMuY29sRGVmPy5jZWxsUmVuZGVyZXJQYXJhbXM/LnNreUNvbXBvbmVudFByb3BlcnRpZXMgPz9cbiAgICAgICAgICAgICAgICBwYXJhbXMuY29sRGVmPy5jZWxsRWRpdG9yUGFyYW1zPy5za3lDb21wb25lbnRQcm9wZXJ0aWVzID8/XG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIChwYXJhbXMudmFsdWUgfHwgW10pXG4gICAgICAgICAgICAgIC5tYXAoKHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZVtsb29rdXBQcm9wZXJ0aWVzLmRlc2NyaXB0b3JQcm9wZXJ0eSBhcyBzdHJpbmddO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuZmlsdGVyKCh2YWx1ZTogdW5rbm93bikgPT4gdmFsdWUgIT09ICcnICYmIHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgIC5qb2luKCc7ICcpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgbWluV2lkdGg6IDE4NSxcbiAgICAgICAgfSxcbiAgICAgICAgW1NreUNlbGxUeXBlLk51bWJlcl06IHtcbiAgICAgICAgICBjZWxsQ2xhc3NSdWxlczoge1xuICAgICAgICAgICAgW1NreUNlbGxDbGFzcy5OdW1iZXJdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICAuLi52YWxpZGF0b3JDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICAgIC4uLmVkaXRhYmxlQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjZWxsUmVuZGVyZXJTZWxlY3RvcjogZ2V0VmFsaWRhdG9yQ2VsbFJlbmRlcmVyU2VsZWN0b3IoXG4gICAgICAgICAgICAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcCcsXG4gICAgICAgICAgKSxcbiAgICAgICAgICBjZWxsRWRpdG9yOiBTa3lBZ0dyaWRDZWxsRWRpdG9yTnVtYmVyQ29tcG9uZW50LFxuICAgICAgICAgIGhlYWRlckNsYXNzOiBnZXRIZWFkZXJDbGFzcyhTa3lIZWFkZXJDbGFzcy5SaWdodEFsaWduZWQpLFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuUm93U2VsZWN0b3JdOiB7XG4gICAgICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgICAgIFtTa3lDZWxsQ2xhc3MuUm93U2VsZWN0b3JdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICBbU2t5Q2VsbENsYXNzLlVuZWRpdGFibGVdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjZWxsUmVuZGVyZXI6IFNreUFnR3JpZENlbGxSZW5kZXJlclJvd1NlbGVjdG9yQ29tcG9uZW50LFxuICAgICAgICAgIGhlYWRlck5hbWU6ICcnLFxuICAgICAgICAgIG1pbldpZHRoOiA1NSxcbiAgICAgICAgICBtYXhXaWR0aDogNTUsXG4gICAgICAgICAgcmVzaXphYmxlOiBmYWxzZSxcbiAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICAgICAgd2lkdGg6IDU1LFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuVGVtcGxhdGVdOiB7XG4gICAgICAgICAgY2VsbFJlbmRlcmVyOiBTa3lBZ0dyaWRDZWxsUmVuZGVyZXJUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICAgICAgW1NreUNlbGxUeXBlLlRleHRdOiB7XG4gICAgICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgICAgIFtTa3lDZWxsQ2xhc3MuVGV4dF06IGNlbGxDbGFzc1J1bGVUcnVlRXhwcmVzc2lvbixcbiAgICAgICAgICAgIC4uLnZhbGlkYXRvckNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgICAgLi4uZWRpdGFibGVDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNlbGxFZGl0b3I6IFNreUFnR3JpZENlbGxFZGl0b3JUZXh0Q29tcG9uZW50LFxuICAgICAgICAgIGNlbGxSZW5kZXJlclNlbGVjdG9yOiBnZXRWYWxpZGF0b3JDZWxsUmVuZGVyZXJTZWxlY3RvcihcbiAgICAgICAgICAgICdza3ktYWctZ3JpZC1jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci10b29sdGlwJyxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuVmFsaWRhdG9yXToge1xuICAgICAgICAgIGNlbGxDbGFzc1J1bGVzOiB7XG4gICAgICAgICAgICAuLi52YWxpZGF0b3JDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICAgIC4uLmVkaXRhYmxlQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjZWxsUmVuZGVyZXJTZWxlY3RvcjogZ2V0VmFsaWRhdG9yQ2VsbFJlbmRlcmVyU2VsZWN0b3IoXG4gICAgICAgICAgICAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcCcsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0Q29sRGVmOiB7XG4gICAgICAgIGNlbGxDbGFzc1J1bGVzOiBlZGl0YWJsZUNlbGxDbGFzc1J1bGVzLFxuICAgICAgICBoZWFkZXJDbGFzczogZ2V0SGVhZGVyQ2xhc3MoKSxcbiAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBTa3lBZ0dyaWRIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIG1pbldpZHRoOiAxMDAsXG4gICAgICAgIHN1cHByZXNzSGVhZGVyS2V5Ym9hcmRFdmVudDogKFxuICAgICAgICAgIGtleXByZXNzOiBTdXBwcmVzc0hlYWRlcktleWJvYXJkRXZlbnRQYXJhbXMsXG4gICAgICAgICkgPT4ga2V5cHJlc3MuZXZlbnQuY29kZSA9PT0gJ1RhYicsXG4gICAgICAgIHN1cHByZXNzS2V5Ym9hcmRFdmVudDogKGtleXByZXNzOiBTdXBwcmVzc0tleWJvYXJkRXZlbnRQYXJhbXMpID0+XG4gICAgICAgICAgdGhpcy4jc3VwcHJlc3NUYWIoa2V5cHJlc3MpLFxuICAgICAgfSxcbiAgICAgIGRlZmF1bHRDb2xHcm91cERlZjoge1xuICAgICAgICBoZWFkZXJHcm91cENvbXBvbmVudDogU2t5QWdHcmlkSGVhZGVyR3JvdXBDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAgZG9tTGF5b3V0OiAnYXV0b0hlaWdodCcsXG4gICAgICBlbnN1cmVEb21PcmRlcjogdHJ1ZSxcbiAgICAgIGVudGVyTmF2aWdhdGVzVmVydGljYWxseUFmdGVyRWRpdDogdHJ1ZSxcbiAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgJ3NreS1hZy1ncmlkLWNlbGwtcmVuZGVyZXItY3VycmVuY3knOlxuICAgICAgICAgIFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5Q29tcG9uZW50LFxuICAgICAgICAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci1jdXJyZW5jeS12YWxpZGF0b3InOlxuICAgICAgICAgIFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5VmFsaWRhdG9yQ29tcG9uZW50LFxuICAgICAgICAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcCc6XG4gICAgICAgICAgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyVmFsaWRhdG9yVG9vbHRpcENvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICBnZXRSb3dJZDogKHBhcmFtcykgPT4ge1xuICAgICAgICBjb25zdCBkYXRhSWQgPSBwYXJhbXMuZGF0YS5pZDtcbiAgICAgICAgaWYgKGRhdGFJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIGAke3BhcmFtcy5kYXRhLmlkfWA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLiNrZXlNYXAuaGFzKHBhcmFtcy5kYXRhKSkge1xuICAgICAgICAgIHRoaXMuI2tleU1hcC5zZXQocGFyYW1zLmRhdGEsIGAke3Jvd05vZGVJZC0tfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLiNrZXlNYXAuZ2V0KHBhcmFtcy5kYXRhKSBhcyBzdHJpbmc7XG4gICAgICB9LFxuICAgICAgZ2V0Um93Q2xhc3M6IChwYXJhbXM6IFJvd0NsYXNzUGFyYW1zKSA9PiB7XG4gICAgICAgIGlmIChwYXJhbXMubm9kZS5pZCkge1xuICAgICAgICAgIHJldHVybiBgc2t5LWFnLWdyaWQtcm93LSR7cGFyYW1zLm5vZGUuaWR9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgaWNvbnM6IHtcbiAgICAgICAgc29ydERlc2NlbmRpbmc6IHRoaXMuI2dldEljb25UZW1wbGF0ZSgnc29ydERlc2NlbmRpbmcnKSxcbiAgICAgICAgc29ydEFzY2VuZGluZzogdGhpcy4jZ2V0SWNvblRlbXBsYXRlKCdzb3J0QXNjZW5kaW5nJyksXG4gICAgICAgIGNvbHVtbk1vdmVNb3ZlOiB0aGlzLiNnZXRJY29uVGVtcGxhdGUoJ2NvbHVtbk1vdmVNb3ZlJyksXG4gICAgICAgIGNvbHVtbk1vdmVIaWRlOiB0aGlzLiNnZXRJY29uVGVtcGxhdGUoJ2NvbHVtbk1vdmVIaWRlJyksXG4gICAgICAgIGNvbHVtbk1vdmVMZWZ0OiB0aGlzLiNnZXRJY29uVGVtcGxhdGUoJ2NvbHVtbk1vdmVMZWZ0JyksXG4gICAgICAgIGNvbHVtbk1vdmVSaWdodDogdGhpcy4jZ2V0SWNvblRlbXBsYXRlKCdjb2x1bW5Nb3ZlUmlnaHQnKSxcbiAgICAgICAgY29sdW1uTW92ZVBpbjogdGhpcy4jZ2V0SWNvblRlbXBsYXRlKCdjb2x1bW5Nb3ZlUGluJyksXG4gICAgICB9LFxuICAgICAgb25DZWxsRm9jdXNlZDogKCkgPT4gdGhpcy4jb25DZWxsRm9jdXNlZCgpLFxuICAgICAgcm93TXVsdGlTZWxlY3RXaXRoQ2xpY2s6IHRydWUsXG4gICAgICByb3dTZWxlY3Rpb246ICdtdWx0aXBsZScsXG4gICAgICBzaW5nbGVDbGlja0VkaXQ6IHRydWUsXG4gICAgICBzb3J0aW5nT3JkZXI6IFsnZGVzYycsICdhc2MnLCBudWxsXSxcbiAgICAgIHN1cHByZXNzUm93Q2xpY2tTZWxlY3Rpb246IHRydWUsXG4gICAgICBzdXBwcmVzc0RyYWdMZWF2ZUhpZGVzQ29sdW1uczogdHJ1ZSxcbiAgICB9O1xuXG4gICAgY29uc3QgY29sdW1uVHlwZXMgPSBkZWZhdWx0U2t5R3JpZE9wdGlvbnMuY29sdW1uVHlwZXMgYXMgUmVjb3JkPFxuICAgICAgc3RyaW5nLFxuICAgICAgQ29sRGVmXG4gICAgPjtcblxuICAgIGNvbHVtblR5cGVzW1NreUNlbGxUeXBlLkN1cnJlbmN5VmFsaWRhdG9yXSA9IHtcbiAgICAgIC4uLmNvbHVtblR5cGVzW1NreUNlbGxUeXBlLkN1cnJlbmN5XSxcbiAgICAgIGNlbGxSZW5kZXJlclBhcmFtczoge1xuICAgICAgICBza3lDb21wb25lbnRQcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgdmFsaWRhdG9yOiAodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgcmV0dXJuICEhYCR7dmFsdWUgfHwgJyd9YC5tYXRjaCgvXlteMC05XSooXFxkK1ssLl0/KStcXGQqW14wLTldKiQvKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHZhbGlkYXRvck1lc3NhZ2U6ICdQbGVhc2UgZW50ZXIgYSB2YWxpZCBjdXJyZW5jeScsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMuI3Jlc291cmNlcykge1xuICAgICAgdGhpcy4jcmVzb3VyY2VzXG4gICAgICAgIC5nZXRTdHJpbmcoJ3NreV9hZ19ncmlkX2NlbGxfcmVuZGVyZXJfY3VycmVuY3lfdmFsaWRhdG9yX21lc3NhZ2UnKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbHVtblR5cGVzW1xuICAgICAgICAgICAgU2t5Q2VsbFR5cGUuQ3VycmVuY3lWYWxpZGF0b3JcbiAgICAgICAgICBdLmNlbGxSZW5kZXJlclBhcmFtcy5za3lDb21wb25lbnRQcm9wZXJ0aWVzLnZhbGlkYXRvck1lc3NhZ2UgPSB2YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29sdW1uVHlwZXNbU2t5Q2VsbFR5cGUuTnVtYmVyVmFsaWRhdG9yXSA9IHtcbiAgICAgIC4uLmNvbHVtblR5cGVzW1NreUNlbGxUeXBlLlZhbGlkYXRvcl0sXG4gICAgICAuLi5jb2x1bW5UeXBlc1tTa3lDZWxsVHlwZS5OdW1iZXJdLFxuICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgLi4uY29sdW1uVHlwZXNbU2t5Q2VsbFR5cGUuVmFsaWRhdG9yXS5jZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgLi4uY29sdW1uVHlwZXNbU2t5Q2VsbFR5cGUuTnVtYmVyXS5jZWxsQ2xhc3NSdWxlcyxcbiAgICAgIH0sXG4gICAgICBjZWxsUmVuZGVyZXJQYXJhbXM6IHtcbiAgICAgICAgc2t5Q29tcG9uZW50UHJvcGVydGllczoge1xuICAgICAgICAgIHZhbGlkYXRvcjogKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIHJldHVybiAhIXZhbHVlICYmICFpc05hTihwYXJzZUZsb2F0KHZhbHVlKSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICB2YWxpZGF0b3JNZXNzYWdlOiAnUGxlYXNlIGVudGVyIGEgdmFsaWQgbnVtYmVyJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy4jcmVzb3VyY2VzKSB7XG4gICAgICB0aGlzLiNyZXNvdXJjZXNcbiAgICAgICAgLmdldFN0cmluZygnc2t5X2FnX2dyaWRfY2VsbF9yZW5kZXJlcl9udW1iZXJfdmFsaWRhdG9yX21lc3NhZ2UnKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbHVtblR5cGVzW1xuICAgICAgICAgICAgU2t5Q2VsbFR5cGUuTnVtYmVyVmFsaWRhdG9yXG4gICAgICAgICAgXS5jZWxsUmVuZGVyZXJQYXJhbXMuc2t5Q29tcG9uZW50UHJvcGVydGllcy52YWxpZGF0b3JNZXNzYWdlID0gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0U2t5R3JpZE9wdGlvbnM7XG4gIH1cblxuICAjb25DZWxsRm9jdXNlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50RWxlbWVudCA9IHRoaXMuI2FnR3JpZEFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzZWRFbGVtZW50KCk7XG5cbiAgICB0aGlzLiNhZ0dyaWRBZGFwdGVyU2VydmljZS5mb2N1c09uRm9jdXNhYmxlQ2hpbGRyZW4oY3VycmVudEVsZW1lbnQpO1xuICB9XG5cbiAgI2dldERlZmF1bHRFZGl0YWJsZUdyaWRPcHRpb25zKGFyZ3M6IFNreUdldEdyaWRPcHRpb25zQXJncyk6IEdyaWRPcHRpb25zIHtcbiAgICBjb25zdCBkZWZhdWx0R3JpZE9wdGlvbnMgPSB0aGlzLiNnZXREZWZhdWx0R3JpZE9wdGlvbnMoYXJncyk7XG5cbiAgICBkZWZhdWx0R3JpZE9wdGlvbnMucm93U2VsZWN0aW9uID0gdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIGRlZmF1bHRHcmlkT3B0aW9ucztcbiAgfVxuXG4gICNnZXRJY29uVGVtcGxhdGUoaWNvbk5hbWU6IGtleW9mIEljb25NYXBUeXBlKTogKCkgPT4gc3RyaW5nIHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29uc3QgaWNvbiA9IGljb25NYXBbaWNvbk5hbWVdO1xuICAgICAgaWYgKHRoaXMuI2N1cnJlbnRUaGVtZT8udGhlbWUubmFtZSA9PT0gJ21vZGVybicgJiYgaWNvbi5za3lJY29uKSB7XG4gICAgICAgIHJldHVybiBgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJza3ktaS0ke2ljb24uc2t5SWNvbn1cIj48L2k+YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJmYSBmYS0ke2ljb24uZmFJY29ufVwiPjwvaT5gO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAjc3VwcHJlc3NUYWIocGFyYW1zOiBTdXBwcmVzc0tleWJvYXJkRXZlbnRQYXJhbXMpOiBib29sZWFuIHtcbiAgICBpZiAocGFyYW1zLmV2ZW50LmNvZGUgPT09ICdUYWInKSB7XG4gICAgICBpZiAocGFyYW1zLmVkaXRpbmcpIHtcbiAgICAgICAgY29uc3QgY3VycmVudGx5Rm9jdXNlZEVsID1cbiAgICAgICAgICB0aGlzLiNhZ0dyaWRBZGFwdGVyU2VydmljZS5nZXRGb2N1c2VkRWxlbWVudCgpO1xuICAgICAgICAvLyBpbmxpbmUgY2VsbCBlZGl0b3JzIGhhdmUgdGhlICdhZy1jZWxsJyBjbGFzcywgd2hpbGUgcG9wdXAgZWRpdG9ycyBoYXZlIHRoZSAnYWctcG9wdXAtZWRpdG9yJyBjbGFzc1xuICAgICAgICBjb25zdCBjZWxsRWwgPSB0aGlzLiNhZ0dyaWRBZGFwdGVyU2VydmljZS5nZXRFbGVtZW50T3JQYXJlbnRXaXRoQ2xhc3MoXG4gICAgICAgICAgY3VycmVudGx5Rm9jdXNlZEVsLFxuICAgICAgICAgICdhZy1jZWxsJyxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcG9wdXBFbCA9IHRoaXMuI2FnR3JpZEFkYXB0ZXJTZXJ2aWNlLmdldEVsZW1lbnRPclBhcmVudFdpdGhDbGFzcyhcbiAgICAgICAgICBjdXJyZW50bHlGb2N1c2VkRWwsXG4gICAgICAgICAgJ2FnLXBvcHVwLWVkaXRvcicsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHBhcmVudEVsID0gY2VsbEVsIHx8IHBvcHVwRWw7XG5cbiAgICAgICAgY29uc3QgbmV4dEZvY3VzYWJsZUVsZW1lbnRJbkNlbGwgPVxuICAgICAgICAgIHRoaXMuI2FnR3JpZEFkYXB0ZXJTZXJ2aWNlLmdldE5leHRGb2N1c2FibGVFbGVtZW50KFxuICAgICAgICAgICAgY3VycmVudGx5Rm9jdXNlZEVsLFxuICAgICAgICAgICAgcGFyZW50RWwsXG4gICAgICAgICAgICBwYXJhbXMuZXZlbnQuc2hpZnRLZXksXG4gICAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuICEhbmV4dEZvY3VzYWJsZUVsZW1lbnRJbkNlbGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgI3N1cHByZXNzRW50ZXIocGFyYW1zOiBTdXBwcmVzc0tleWJvYXJkRXZlbnRQYXJhbXMpOiBib29sZWFuIHtcbiAgICBpZiAocGFyYW1zLmV2ZW50LmNvZGUgPT09ICdFbnRlcicpIHtcbiAgICAgIHJldHVybiBwYXJhbXMuZWRpdGluZztcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
491
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FnLWdyaWQvc3JjL2xpYi9tb2R1bGVzL2FnLWdyaWQvYWctZ3JpZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWdCakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDdEksT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDMUgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDaEksT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDOUcsT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDckosT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDbEksT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDNUgsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sa0ZB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IE9uRGVzdHJveSwgT3B0aW9uYWwsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TG9nU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreURhdGVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2RhdGV0aW1lJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5pbXBvcnQgeyBTa3lUaGVtZVNlcnZpY2UsIFNreVRoZW1lU2V0dGluZ3MgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQge1xuICBDZWxsQ2xhc3NQYXJhbXMsXG4gIENvbERlZixcbiAgRWRpdGFibGVDYWxsYmFja1BhcmFtcyxcbiAgR3JpZE9wdGlvbnMsXG4gIEhlYWRlckNsYXNzUGFyYW1zLFxuICBJQ2VsbFJlbmRlcmVyUGFyYW1zLFxuICBSb3dDbGFzc1BhcmFtcyxcbiAgU3VwcHJlc3NIZWFkZXJLZXlib2FyZEV2ZW50UGFyYW1zLFxuICBTdXBwcmVzc0tleWJvYXJkRXZlbnRQYXJhbXMsXG4gIFZhbHVlRm9ybWF0dGVyUGFyYW1zLFxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9hZy1ncmlkLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBhcHBseVNreUxvb2t1cFByb3BlcnRpZXNEZWZhdWx0cyB9IGZyb20gJy4vYXBwbHktbG9va3VwLXByb3BlcnRpZXMtZGVmYXVsdHMnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvckF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWF1dG9jb21wbGV0ZS9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JDdXJyZW5jeUNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWN1cnJlbmN5L2NlbGwtZWRpdG9yLWN1cnJlbmN5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWRhdGVwaWNrZXIvY2VsbC1lZGl0b3ItZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvckxvb2t1cENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWxvb2t1cC9jZWxsLWVkaXRvci1sb29rdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JOdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1udW1iZXIvY2VsbC1lZGl0b3ItbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yVGV4dENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLXRleHQvY2VsbC1lZGl0b3ItdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyQ3VycmVuY3lWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtcmVuZGVyZXJzL2NlbGwtcmVuZGVyZXItY3VycmVuY3kvY2VsbC1yZW5kZXJlci1jdXJyZW5jeS12YWxpZGF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5Q29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLWN1cnJlbmN5L2NlbGwtcmVuZGVyZXItY3VycmVuY3kuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckxvb2t1cENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci1sb29rdXAvY2VsbC1yZW5kZXJlci1sb29rdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlclJvd1NlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLXJvdy1zZWxlY3Rvci9jZWxsLXJlbmRlcmVyLXJvdy1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NlbGwtcmVuZGVyZXJzL2NlbGwtcmVuZGVyZXItdGVtcGxhdGUvY2VsbC1yZW5kZXJlci10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyVmFsaWRhdG9yVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcC9jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRIZWFkZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyL2hlYWRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QWdHcmlkSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uTWFwVHlwZSwgaWNvbk1hcCB9IGZyb20gJy4vaWNvbnMvaWNvbi1tYXAnO1xuaW1wb3J0IHsgU2t5Q2VsbENsYXNzIH0gZnJvbSAnLi90eXBlcy9jZWxsLWNsYXNzJztcbmltcG9ydCB7IFNreUNlbGxUeXBlIH0gZnJvbSAnLi90eXBlcy9jZWxsLXR5cGUnO1xuaW1wb3J0IHsgU2t5SGVhZGVyQ2xhc3MgfSBmcm9tICcuL3R5cGVzL2hlYWRlci1jbGFzcyc7XG5pbXBvcnQgeyBTa3lHZXRHcmlkT3B0aW9uc0FyZ3MgfSBmcm9tICcuL3R5cGVzL3NreS1ncmlkLW9wdGlvbnMnO1xuXG5mdW5jdGlvbiBhdXRvY29tcGxldGVDb21wYXJhdG9yKFxuICB2YWx1ZTE6IHsgbmFtZTogc3RyaW5nIH0sXG4gIHZhbHVlMjogeyBuYW1lOiBzdHJpbmcgfSxcbik6IG51bWJlciB7XG4gIGlmICh2YWx1ZTEgJiYgdmFsdWUyKSB7XG4gICAgaWYgKHZhbHVlMS5uYW1lID4gdmFsdWUyLm5hbWUpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZTEubmFtZSA8IHZhbHVlMi5uYW1lKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICByZXR1cm4gdmFsdWUxID8gMSA6IC0xO1xufVxuXG5mdW5jdGlvbiBhdXRvY29tcGxldGVGb3JtYXR0ZXIocGFyYW1zOiBWYWx1ZUZvcm1hdHRlclBhcmFtcyk6IHN0cmluZyB7XG4gIHJldHVybiBwYXJhbXMudmFsdWUgJiYgcGFyYW1zLnZhbHVlLm5hbWU7XG59XG5cbmZ1bmN0aW9uIGRhdGVDb21wYXJhdG9yKGRhdGUxOiBEYXRlIHwgc3RyaW5nLCBkYXRlMjogRGF0ZSB8IHN0cmluZyk6IG51bWJlciB7XG4gIGxldCBkYXRlMXZhbHVlID0gZGF0ZTE7XG4gIGxldCBkYXRlMnZhbHVlID0gZGF0ZTI7XG5cbiAgaWYgKHR5cGVvZiBkYXRlMXZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIGRhdGUxdmFsdWUgPSBuZXcgRGF0ZShkYXRlMSk7XG4gIH1cblxuICBpZiAodHlwZW9mIGRhdGUydmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgZGF0ZTJ2YWx1ZSA9IG5ldyBEYXRlKGRhdGUyKTtcbiAgfVxuXG4gIGlmIChkYXRlMXZhbHVlICYmIGRhdGUydmFsdWUpIHtcbiAgICBpZiAoZGF0ZTF2YWx1ZSA+IGRhdGUydmFsdWUpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIGlmIChkYXRlMXZhbHVlIDwgZGF0ZTJ2YWx1ZSkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcmV0dXJuIGRhdGUxdmFsdWUgPyAxIDogLTE7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5mdW5jdGlvbiBnZXRWYWxpZGF0b3JDZWxsUmVuZGVyZXJTZWxlY3Rvcihjb21wb25lbnQ6IHN0cmluZywgZmFsbGJhY2s/OiBhbnkpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcmV0dXJuIChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMpOiBhbnkgPT4ge1xuICAgIGlmIChcbiAgICAgIHBhcmFtcy5jb2xEZWYgJiZcbiAgICAgIHR5cGVvZiBwYXJhbXMuY29sRGVmLmNlbGxSZW5kZXJlclBhcmFtcz8uc2t5Q29tcG9uZW50UHJvcGVydGllc1xuICAgICAgICA/LnZhbGlkYXRvciA9PT0gJ2Z1bmN0aW9uJ1xuICAgICkge1xuICAgICAgaWYgKFxuICAgICAgICAhcGFyYW1zLmNvbERlZi5jZWxsUmVuZGVyZXJQYXJhbXMuc2t5Q29tcG9uZW50UHJvcGVydGllcy52YWxpZGF0b3IoXG4gICAgICAgICAgcGFyYW1zLnZhbHVlLFxuICAgICAgICAgIHBhcmFtcy5kYXRhLFxuICAgICAgICAgIHBhcmFtcy5yb3dJbmRleCxcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29tcG9uZW50LFxuICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgLi4ucGFyYW1zLmNvbERlZi5jZWxsUmVuZGVyZXJQYXJhbXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbGxiYWNrO1xuICB9O1xufVxuXG5sZXQgcm93Tm9kZUlkID0gLTE7XG5cbi8qKlxuICogYFNreUFnR3JpZFNlcnZpY2VgIHByb3ZpZGVzIG1ldGhvZHMgdG8gZ2V0IEFHIEdyaWQgYGdyaWRPcHRpb25zYCB0byBlbnN1cmUgZ3JpZHMgbWF0Y2ggU0tZIFVYIGZ1bmN0aW9uYWxpdHkuIFRoZSBgZ3JpZE9wdGlvbnNgIGNhbiBiZSBvdmVycmlkZGVuLCBhbmQgaW5jbHVkZSByZWdpc3RlcmVkIFNLWSBVWCBjb2x1bW4gdHlwZXMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgI2tleU1hcCA9IG5ldyBXZWFrTWFwPGFueSwgc3RyaW5nPigpO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNjdXJyZW50VGhlbWU6IFNreVRoZW1lU2V0dGluZ3MgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICNhZ0dyaWRBZGFwdGVyU2VydmljZTogU2t5QWdHcmlkQWRhcHRlclNlcnZpY2U7XG4gICNyZXNvdXJjZXM6IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfCB1bmRlZmluZWQ7XG4gICNkYXRlU2VydmljZSA9IGluamVjdChTa3lEYXRlU2VydmljZSk7XG4gICNsb2dTZXJ2aWNlID0gaW5qZWN0KFNreUxvZ1NlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFnR3JpZEFkYXB0ZXJTZXJ2aWNlOiBTa3lBZ0dyaWRBZGFwdGVyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSByZXNvdXJjZXM/OiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLiNhZ0dyaWRBZGFwdGVyU2VydmljZSA9IGFnR3JpZEFkYXB0ZXJTZXJ2aWNlO1xuICAgIHRoaXMuI3Jlc291cmNlcyA9IHJlc291cmNlcztcblxuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGVtZVN2Yykge1xuICAgICAgdGhlbWVTdmMuc2V0dGluZ3NDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChzZXR0aW5nc0NoYW5nZSkgPT4ge1xuICAgICAgICAgIHRoaXMuI2N1cnJlbnRUaGVtZSA9IHNldHRpbmdzQ2hhbmdlLmN1cnJlbnRTZXR0aW5ncztcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIFtBRyBHcmlkIGBncmlkT3B0aW9uc2BdKGh0dHBzOi8vd3d3LmFnLWdyaWQuY29tL2phdmFzY3JpcHQtZ3JpZC1wcm9wZXJ0aWVzLykgd2l0aCBkZWZhdWx0IFNLWSBVWCBvcHRpb25zLCBzdHlsaW5nLCBhbmQgY2VsbCByZW5kZXJlcnMgcmVnaXN0ZXJlZCBmb3IgcmVhZC1vbmx5IGdyaWRzLlxuICAgKiBAcGFyYW0gYXJnc1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHVibGljIGdldEdyaWRPcHRpb25zKGFyZ3M6IFNreUdldEdyaWRPcHRpb25zQXJncyk6IEdyaWRPcHRpb25zIHtcbiAgICBjb25zdCBkZWZhdWx0R3JpZE9wdGlvbnMgPSB0aGlzLiNnZXREZWZhdWx0R3JpZE9wdGlvbnMoYXJncyk7XG4gICAgY29uc3QgbWVyZ2VkR3JpZE9wdGlvbnMgPSB0aGlzLiNtZXJnZUdyaWRPcHRpb25zKFxuICAgICAgZGVmYXVsdEdyaWRPcHRpb25zLFxuICAgICAgYXJncy5ncmlkT3B0aW9ucyxcbiAgICApO1xuXG4gICAgcmV0dXJuIG1lcmdlZEdyaWRPcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgW0FHIEdyaWQgYGdyaWRPcHRpb25zYF0oaHR0cHM6Ly93d3cuYWctZ3JpZC5jb20vamF2YXNjcmlwdC1ncmlkLXByb3BlcnRpZXMvKSB3aXRoIGRlZmF1bHQgU0tZIFVYIG9wdGlvbnMsIHN0eWxpbmcsIGFuZCBjZWxsIGVkaXRvcnMgcmVnaXN0ZXJlZCBmb3IgZWRpdGFibGUgZ3JpZHMuXG4gICAqIEBwYXJhbSBhcmdzXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwdWJsaWMgZ2V0RWRpdGFibGVHcmlkT3B0aW9ucyhhcmdzOiBTa3lHZXRHcmlkT3B0aW9uc0FyZ3MpOiBHcmlkT3B0aW9ucyB7XG4gICAgY29uc3QgZGVmYXVsdEdyaWRPcHRpb25zID0gdGhpcy4jZ2V0RGVmYXVsdEVkaXRhYmxlR3JpZE9wdGlvbnMoYXJncyk7XG4gICAgY29uc3QgbWVyZ2VkR3JpZE9wdGlvbnMgPSB0aGlzLiNtZXJnZUdyaWRPcHRpb25zKFxuICAgICAgZGVmYXVsdEdyaWRPcHRpb25zLFxuICAgICAgYXJncy5ncmlkT3B0aW9ucyxcbiAgICApO1xuXG4gICAgcmV0dXJuIG1lcmdlZEdyaWRPcHRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFRoZSBgZ2V0SGVhZGVySGVpZ2h0YCBtZXRob2QgaXMgbm8gbG9uZ2VyIG5lZWRlZC4gSGVhZGVyIGhlaWdodCBpcyBtYW5hZ2VkIGluIENTUy5cbiAgICovXG4gIHB1YmxpYyBnZXRIZWFkZXJIZWlnaHQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jY3VycmVudFRoZW1lPy50aGVtZT8ubmFtZSA9PT0gJ21vZGVybicgPyA2MCA6IDM3O1xuICB9XG5cbiAgI21lcmdlR3JpZE9wdGlvbnMoXG4gICAgZGVmYXVsdEdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyxcbiAgICBwcm92aWRlZEdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyxcbiAgKTogR3JpZE9wdGlvbnMge1xuICAgIGNvbnN0IG1lcmdlZEdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyA9IHtcbiAgICAgIC4uLmRlZmF1bHRHcmlkT3B0aW9ucyxcbiAgICAgIC4uLnByb3ZpZGVkR3JpZE9wdGlvbnMsXG4gICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgIC4uLnByb3ZpZGVkR3JpZE9wdGlvbnMuY29tcG9uZW50cyxcbiAgICAgICAgLy8gQXBwbHkgZGVmYXVsdCBjb21wb25lbnRzIGxhc3QgdG8gcHJldmVudCBjb25zdW1lcnMgZnJvbSBvdmVyd3JpdGluZyBvdXIgY29tcG9uZW50IHR5cGVzLlxuICAgICAgICAuLi5kZWZhdWx0R3JpZE9wdGlvbnMuY29tcG9uZW50cyxcbiAgICAgIH0sXG4gICAgICBjb2x1bW5UeXBlczoge1xuICAgICAgICAuLi5wcm92aWRlZEdyaWRPcHRpb25zLmNvbHVtblR5cGVzLFxuICAgICAgICAvLyBhcHBseSBkZWZhdWx0IHNlY29uZCB0byBwcmV2ZW50IGNvbnN1bWVycyBmcm9tIG92ZXJ3cml0aW5nIG91ciBkZWZhdWx0IGNvbHVtbiB0eXBlc1xuICAgICAgICAuLi5kZWZhdWx0R3JpZE9wdGlvbnMuY29sdW1uVHlwZXMsXG4gICAgICB9LFxuICAgICAgZGVmYXVsdENvbERlZjoge1xuICAgICAgICAuLi5kZWZhdWx0R3JpZE9wdGlvbnMuZGVmYXVsdENvbERlZixcbiAgICAgICAgLi4ucHJvdmlkZWRHcmlkT3B0aW9ucy5kZWZhdWx0Q29sRGVmLFxuICAgICAgICAvLyBhbGxvdyBjb25zdW1lcnMgdG8gb3ZlcnJpZGUgYWxsIGRlZmF1bHRDb2xEZWYgcHJvcGVydGllcyBleGNlcHQgY2VsbENsYXNzUnVsZXMsIHdoaWNoIHdlIHJlc2VydmUgZm9yIHN0eWxpbmdcbiAgICAgICAgY2VsbENsYXNzUnVsZXM6IGRlZmF1bHRHcmlkT3B0aW9ucy5kZWZhdWx0Q29sRGVmPy5jZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgaGVhZGVyQ2xhc3M6IGRlZmF1bHRHcmlkT3B0aW9ucy5kZWZhdWx0Q29sRGVmPy5oZWFkZXJDbGFzcyxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0Q29sR3JvdXBEZWY6IHtcbiAgICAgICAgLi4uZGVmYXVsdEdyaWRPcHRpb25zLmRlZmF1bHRDb2xHcm91cERlZixcbiAgICAgICAgLi4ucHJvdmlkZWRHcmlkT3B0aW9ucy5kZWZhdWx0Q29sR3JvdXBEZWYsXG4gICAgICAgIGhlYWRlckNsYXNzOiBkZWZhdWx0R3JpZE9wdGlvbnMuZGVmYXVsdENvbEdyb3VwRGVmPy5oZWFkZXJDbGFzcyxcbiAgICAgIH0sXG4gICAgICBpY29uczoge1xuICAgICAgICAuLi5kZWZhdWx0R3JpZE9wdGlvbnMuaWNvbnMsXG4gICAgICAgIC4uLnByb3ZpZGVkR3JpZE9wdGlvbnMuaWNvbnMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICAvLyBFbmFibGUgdGV4dCBzZWxlY3Rpb24gdW5sZXNzIGV4cGxpY2l0bHkgZGlzYWJsZWQgb3IgY29uZmxpY3Rpbmcgd2l0aCBhbm90aGVyIHNldHRpbmcuXG4gICAgaWYgKFxuICAgICAgbWVyZ2VkR3JpZE9wdGlvbnMuZW5hYmxlQ2VsbFRleHRTZWxlY3Rpb24gfHxcbiAgICAgICghKCdlbmFibGVDZWxsVGV4dFNlbGVjdGlvbicgaW4gbWVyZ2VkR3JpZE9wdGlvbnMpICYmXG4gICAgICAgICFtZXJnZWRHcmlkT3B0aW9ucy5lbmFibGVSYW5nZVNlbGVjdGlvbiAmJlxuICAgICAgICAhbWVyZ2VkR3JpZE9wdGlvbnMuY29sdW1uRGVmcz8uc29tZSgoY29sOiBDb2xEZWYpID0+IGNvbC5lZGl0YWJsZSkpXG4gICAgKSB7XG4gICAgICBtZXJnZWRHcmlkT3B0aW9ucy5jb250ZXh0IHx8PSB7fTtcbiAgICAgIG1lcmdlZEdyaWRPcHRpb25zLmVuYWJsZUNlbGxUZXh0U2VsZWN0aW9uID8/PSB0cnVlO1xuICAgICAgbWVyZ2VkR3JpZE9wdGlvbnMuY29udGV4dC5lbmFibGVDZWxsVGV4dFNlbGVjdGlvbiA9XG4gICAgICAgIG1lcmdlZEdyaWRPcHRpb25zLmVuYWJsZUNlbGxUZXh0U2VsZWN0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBtZXJnZWRHcmlkT3B0aW9ucztcbiAgfVxuXG4gICNnZXREZWZhdWx0R3JpZE9wdGlvbnMoYXJnczogU2t5R2V0R3JpZE9wdGlvbnNBcmdzKTogR3JpZE9wdGlvbnMge1xuICAgIC8vIGNlbGxDbGFzc1J1bGVzIGNhbiBiZSBmdW5jdGlvbnMgb3Igc3RyaW5nIGV4cHJlc3Npb25zXG4gICAgY29uc3QgY2VsbENsYXNzUnVsZVRydWVFeHByZXNzaW9uID0gKCk6IGJvb2xlYW4gPT4gdHJ1ZTtcblxuICAgIGZ1bmN0aW9uIGdldEVkaXRhYmxlRm4oXG4gICAgICBpc1VuZWRpdGFibGU/OiBib29sZWFuLFxuICAgICk6IChwYXJhbXM6IENlbGxDbGFzc1BhcmFtcykgPT4gYm9vbGVhbiB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKHBhcmFtczogQ2VsbENsYXNzUGFyYW1zKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBpc0VkaXRhYmxlID0gcGFyYW1zLmNvbERlZi5lZGl0YWJsZTtcblxuICAgICAgICBpZiAodHlwZW9mIGlzRWRpdGFibGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBjb25zdCBjb2x1bW4gPSBwYXJhbXMuYXBpLmdldENvbHVtbihwYXJhbXMuY29sRGVmKTtcbiAgICAgICAgICBpc0VkaXRhYmxlID0gaXNFZGl0YWJsZSh7XG4gICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgfSBhcyBFZGl0YWJsZUNhbGxiYWNrUGFyYW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpc1VuZWRpdGFibGUgPyAhaXNFZGl0YWJsZSA6ICEhaXNFZGl0YWJsZTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgZWRpdGFibGVDZWxsQ2xhc3NSdWxlcyA9IHtcbiAgICAgIFtTa3lDZWxsQ2xhc3MuRWRpdGFibGVdOiBnZXRFZGl0YWJsZUZuKCksXG4gICAgICBbU2t5Q2VsbENsYXNzLlVuZWRpdGFibGVdOiBnZXRFZGl0YWJsZUZuKHRydWUpLFxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBnZXRWYWxpZGF0b3JGbigpOiAocGFyYW1zOiBDZWxsQ2xhc3NQYXJhbXMpID0+IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIChwYXJhbTogQ2VsbENsYXNzUGFyYW1zKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBwYXJhbS5jb2xEZWYgJiZcbiAgICAgICAgICB0eXBlb2YgcGFyYW0uY29sRGVmLmNlbGxSZW5kZXJlclBhcmFtcz8uc2t5Q29tcG9uZW50UHJvcGVydGllc1xuICAgICAgICAgICAgPy52YWxpZGF0b3IgPT09ICdmdW5jdGlvbidcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuICFwYXJhbS5jb2xEZWYuY2VsbFJlbmRlcmVyUGFyYW1zLnNreUNvbXBvbmVudFByb3BlcnRpZXMudmFsaWRhdG9yKFxuICAgICAgICAgICAgcGFyYW0udmFsdWUsXG4gICAgICAgICAgICBwYXJhbS5kYXRhLFxuICAgICAgICAgICAgcGFyYW0ucm93SW5kZXgsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkYXRvckNlbGxDbGFzc1J1bGVzID0ge1xuICAgICAgW1NreUNlbGxDbGFzcy5JbnZhbGlkXTogZ2V0VmFsaWRhdG9yRm4oKSxcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gZ2V0SGVhZGVyQ2xhc3MoXG4gICAgICAuLi5jbGFzc05hbWVzOiBzdHJpbmdbXVxuICAgICk6IChwYXJhbXM6IEhlYWRlckNsYXNzUGFyYW1zKSA9PiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgICByZXR1cm4gKHBhcmFtczogSGVhZGVyQ2xhc3NQYXJhbXMpOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgICAgIGNvbnN0IG1pbldpZHRoID0gcGFyYW1zLmNvbHVtbj8uZ2V0TWluV2lkdGgoKSA/PyAwO1xuICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgICAgICBjb25zdCBtYXhXaWR0aCA9IHBhcmFtcy5jb2x1bW4/LmdldE1heFdpZHRoKCkgPz8gSW5maW5pdHk7XG4gICAgICAgIGlmIChwYXJhbXMuY29sdW1uPy5pc1Jlc2l6YWJsZSgpICYmIG1pbldpZHRoIDwgbWF4V2lkdGgpIHtcbiAgICAgICAgICByZXR1cm4gWy4uLmNsYXNzTmFtZXMsIFNreUhlYWRlckNsYXNzLlJlc2l6YWJsZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNsYXNzTmFtZXM7XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGRlZmF1bHRTa3lHcmlkT3B0aW9uczogR3JpZE9wdGlvbnMgPSB7XG4gICAgICBjb2x1bW5UeXBlczoge1xuICAgICAgICBbU2t5Q2VsbFR5cGUuQXV0b2NvbXBsZXRlXToge1xuICAgICAgICAgIGNlbGxDbGFzc1J1bGVzOiB7XG4gICAgICAgICAgICBbU2t5Q2VsbENsYXNzLkF1dG9jb21wbGV0ZV06IGNlbGxDbGFzc1J1bGVUcnVlRXhwcmVzc2lvbixcbiAgICAgICAgICAgIC4uLmVkaXRhYmxlQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjZWxsRWRpdG9yOiBTa3lBZ0dyaWRDZWxsRWRpdG9yQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgICAgICAgIHZhbHVlRm9ybWF0dGVyOiBhdXRvY29tcGxldGVGb3JtYXR0ZXIsXG4gICAgICAgICAgY29tcGFyYXRvcjogYXV0b2NvbXBsZXRlQ29tcGFyYXRvcixcbiAgICAgICAgICBtaW5XaWR0aDogMTg1LFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuQ3VycmVuY3ldOiB7XG4gICAgICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgICAgIFtTa3lDZWxsQ2xhc3MuQ3VycmVuY3ldOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICAuLi52YWxpZGF0b3JDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICAgIC4uLmVkaXRhYmxlQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjZWxsUmVuZGVyZXJTZWxlY3RvcjogZ2V0VmFsaWRhdG9yQ2VsbFJlbmRlcmVyU2VsZWN0b3IoXG4gICAgICAgICAgICAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci1jdXJyZW5jeS12YWxpZGF0b3InLFxuICAgICAgICAgICAgeyBjb21wb25lbnQ6ICdza3ktYWctZ3JpZC1jZWxsLXJlbmRlcmVyLWN1cnJlbmN5JyB9LFxuICAgICAgICAgICksXG4gICAgICAgICAgY2VsbEVkaXRvcjogU2t5QWdHcmlkQ2VsbEVkaXRvckN1cnJlbmN5Q29tcG9uZW50LFxuICAgICAgICAgIGhlYWRlckNsYXNzOiBnZXRIZWFkZXJDbGFzcyhTa3lIZWFkZXJDbGFzcy5SaWdodEFsaWduZWQpLFxuICAgICAgICAgIG1pbldpZHRoOiAxODUsXG4gICAgICAgICAgc3VwcHJlc3NLZXlib2FyZEV2ZW50OiAocGFyYW1zKSA9PlxuICAgICAgICAgICAgdGhpcy4jc3VwcHJlc3NFbnRlcihwYXJhbXMpIHx8IHRoaXMuI3N1cHByZXNzVGFiKHBhcmFtcyksXG4gICAgICAgIH0sXG4gICAgICAgIFtTa3lDZWxsVHlwZS5EYXRlXToge1xuICAgICAgICAgIGNlbGxDbGFzc1J1bGVzOiB7XG4gICAgICAgICAgICBbU2t5Q2VsbENsYXNzLkRhdGVdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICAuLi5lZGl0YWJsZUNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2VsbEVkaXRvcjogU2t5QWdHcmlkQ2VsbEVkaXRvckRhdGVwaWNrZXJDb21wb25lbnQsXG4gICAgICAgICAgY29tcGFyYXRvcjogZGF0ZUNvbXBhcmF0b3IsXG4gICAgICAgICAgbWluV2lkdGg6IHRoaXMuI2N1cnJlbnRUaGVtZT8udGhlbWU/Lm5hbWUgPT09ICdtb2Rlcm4nID8gMTgwIDogMTYwLFxuICAgICAgICAgIHZhbHVlRm9ybWF0dGVyOiAocGFyYW1zOiBWYWx1ZUZvcm1hdHRlclBhcmFtcykgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICB0aGlzLiNkYXRlU2VydmljZS5mb3JtYXQoXG4gICAgICAgICAgICAgICAgICBwYXJhbXMudmFsdWUsXG4gICAgICAgICAgICAgICAgICBhcmdzLmxvY2FsZSxcbiAgICAgICAgICAgICAgICAgIGFyZ3MuZGF0ZUZvcm1hdCB8fCAnc2hvcnREYXRlJyxcbiAgICAgICAgICAgICAgICApIHx8ICcnXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgICAgaWYgKChlcnIgYXMgRXJyb3IpLnN0YWNrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4jbG9nU2VydmljZS5lcnJvcihgJHsoZXJyIGFzIEVycm9yKS5zdGFja31gKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLiNsb2dTZXJ2aWNlLmVycm9yKGAke2Vycn1gKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgW1NreUNlbGxUeXBlLkxvb2t1cF06IHtcbiAgICAgICAgICBjZWxsQ2xhc3NSdWxlczoge1xuICAgICAgICAgICAgW1NreUNlbGxDbGFzcy5Mb29rdXBdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICAuLi5lZGl0YWJsZUNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2VsbEVkaXRvcjogU2t5QWdHcmlkQ2VsbEVkaXRvckxvb2t1cENvbXBvbmVudCxcbiAgICAgICAgICBjZWxsUmVuZGVyZXI6IFNreUFnR3JpZENlbGxSZW5kZXJlckxvb2t1cENvbXBvbmVudCxcbiAgICAgICAgICB2YWx1ZUZvcm1hdHRlcjogKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgbG9va3VwUHJvcGVydGllcyA9IGFwcGx5U2t5TG9va3VwUHJvcGVydGllc0RlZmF1bHRzKFxuICAgICAgICAgICAgICBwYXJhbXMuY29sRGVmPy5jZWxsUmVuZGVyZXJQYXJhbXM/LnNreUNvbXBvbmVudFByb3BlcnRpZXMgPz9cbiAgICAgICAgICAgICAgICBwYXJhbXMuY29sRGVmPy5jZWxsRWRpdG9yUGFyYW1zPy5za3lDb21wb25lbnRQcm9wZXJ0aWVzID8/XG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIChwYXJhbXMudmFsdWUgfHwgW10pXG4gICAgICAgICAgICAgIC5tYXAoKHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZVtsb29rdXBQcm9wZXJ0aWVzLmRlc2NyaXB0b3JQcm9wZXJ0eSBhcyBzdHJpbmddO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuZmlsdGVyKCh2YWx1ZTogdW5rbm93bikgPT4gdmFsdWUgIT09ICcnICYmIHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgIC5qb2luKCc7ICcpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgbWluV2lkdGg6IDE4NSxcbiAgICAgICAgfSxcbiAgICAgICAgW1NreUNlbGxUeXBlLk51bWJlcl06IHtcbiAgICAgICAgICBjZWxsQ2xhc3NSdWxlczoge1xuICAgICAgICAgICAgW1NreUNlbGxDbGFzcy5OdW1iZXJdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICAuLi52YWxpZGF0b3JDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICAgIC4uLmVkaXRhYmxlQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjZWxsUmVuZGVyZXJTZWxlY3RvcjogZ2V0VmFsaWRhdG9yQ2VsbFJlbmRlcmVyU2VsZWN0b3IoXG4gICAgICAgICAgICAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcCcsXG4gICAgICAgICAgKSxcbiAgICAgICAgICBjZWxsRWRpdG9yOiBTa3lBZ0dyaWRDZWxsRWRpdG9yTnVtYmVyQ29tcG9uZW50LFxuICAgICAgICAgIGhlYWRlckNsYXNzOiBnZXRIZWFkZXJDbGFzcyhTa3lIZWFkZXJDbGFzcy5SaWdodEFsaWduZWQpLFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuUm93U2VsZWN0b3JdOiB7XG4gICAgICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgICAgIFtTa3lDZWxsQ2xhc3MuUm93U2VsZWN0b3JdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgICBbU2t5Q2VsbENsYXNzLlVuZWRpdGFibGVdOiBjZWxsQ2xhc3NSdWxlVHJ1ZUV4cHJlc3Npb24sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjZWxsUmVuZGVyZXI6IFNreUFnR3JpZENlbGxSZW5kZXJlclJvd1NlbGVjdG9yQ29tcG9uZW50LFxuICAgICAgICAgIGhlYWRlck5hbWU6ICcnLFxuICAgICAgICAgIG1pbldpZHRoOiA1NSxcbiAgICAgICAgICBtYXhXaWR0aDogNTUsXG4gICAgICAgICAgcmVzaXphYmxlOiBmYWxzZSxcbiAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICAgICAgd2lkdGg6IDU1LFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuVGVtcGxhdGVdOiB7XG4gICAgICAgICAgY2VsbFJlbmRlcmVyOiBTa3lBZ0dyaWRDZWxsUmVuZGVyZXJUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICAgICAgW1NreUNlbGxUeXBlLlRleHRdOiB7XG4gICAgICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgICAgIFtTa3lDZWxsQ2xhc3MuVGV4dF06IGNlbGxDbGFzc1J1bGVUcnVlRXhwcmVzc2lvbixcbiAgICAgICAgICAgIC4uLnZhbGlkYXRvckNlbGxDbGFzc1J1bGVzLFxuICAgICAgICAgICAgLi4uZWRpdGFibGVDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNlbGxFZGl0b3I6IFNreUFnR3JpZENlbGxFZGl0b3JUZXh0Q29tcG9uZW50LFxuICAgICAgICAgIGNlbGxSZW5kZXJlclNlbGVjdG9yOiBnZXRWYWxpZGF0b3JDZWxsUmVuZGVyZXJTZWxlY3RvcihcbiAgICAgICAgICAgICdza3ktYWctZ3JpZC1jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci10b29sdGlwJyxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICBbU2t5Q2VsbFR5cGUuVmFsaWRhdG9yXToge1xuICAgICAgICAgIGNlbGxDbGFzc1J1bGVzOiB7XG4gICAgICAgICAgICAuLi52YWxpZGF0b3JDZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgICAgIC4uLmVkaXRhYmxlQ2VsbENsYXNzUnVsZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjZWxsUmVuZGVyZXJTZWxlY3RvcjogZ2V0VmFsaWRhdG9yQ2VsbFJlbmRlcmVyU2VsZWN0b3IoXG4gICAgICAgICAgICAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcCcsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0Q29sRGVmOiB7XG4gICAgICAgIGNlbGxDbGFzc1J1bGVzOiBlZGl0YWJsZUNlbGxDbGFzc1J1bGVzLFxuICAgICAgICBoZWFkZXJDbGFzczogZ2V0SGVhZGVyQ2xhc3MoKSxcbiAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBTa3lBZ0dyaWRIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIG1pbldpZHRoOiAxMDAsXG4gICAgICAgIHN1cHByZXNzSGVhZGVyS2V5Ym9hcmRFdmVudDogKFxuICAgICAgICAgIGtleXByZXNzOiBTdXBwcmVzc0hlYWRlcktleWJvYXJkRXZlbnRQYXJhbXMsXG4gICAgICAgICkgPT4ga2V5cHJlc3MuZXZlbnQuY29kZSA9PT0gJ1RhYicsXG4gICAgICAgIHN1cHByZXNzS2V5Ym9hcmRFdmVudDogKGtleXByZXNzOiBTdXBwcmVzc0tleWJvYXJkRXZlbnRQYXJhbXMpID0+XG4gICAgICAgICAgdGhpcy4jc3VwcHJlc3NUYWIoa2V5cHJlc3MpLFxuICAgICAgfSxcbiAgICAgIGRlZmF1bHRDb2xHcm91cERlZjoge1xuICAgICAgICBoZWFkZXJHcm91cENvbXBvbmVudDogU2t5QWdHcmlkSGVhZGVyR3JvdXBDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAgZG9tTGF5b3V0OiAnYXV0b0hlaWdodCcsXG4gICAgICBlbnN1cmVEb21PcmRlcjogdHJ1ZSxcbiAgICAgIGVudGVyTmF2aWdhdGVzVmVydGljYWxseUFmdGVyRWRpdDogdHJ1ZSxcbiAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgJ3NreS1hZy1ncmlkLWNlbGwtcmVuZGVyZXItY3VycmVuY3knOlxuICAgICAgICAgIFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5Q29tcG9uZW50LFxuICAgICAgICAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci1jdXJyZW5jeS12YWxpZGF0b3InOlxuICAgICAgICAgIFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5VmFsaWRhdG9yQ29tcG9uZW50LFxuICAgICAgICAnc2t5LWFnLWdyaWQtY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcCc6XG4gICAgICAgICAgU2t5QWdHcmlkQ2VsbFJlbmRlcmVyVmFsaWRhdG9yVG9vbHRpcENvbXBvbmVudCxcbiAgICAgIH0sXG4gICAgICBnZXRSb3dJZDogKHBhcmFtcykgPT4ge1xuICAgICAgICBjb25zdCBkYXRhSWQgPSBwYXJhbXMuZGF0YS5pZDtcbiAgICAgICAgaWYgKGRhdGFJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIGAke3BhcmFtcy5kYXRhLmlkfWA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLiNrZXlNYXAuaGFzKHBhcmFtcy5kYXRhKSkge1xuICAgICAgICAgIHRoaXMuI2tleU1hcC5zZXQocGFyYW1zLmRhdGEsIGAke3Jvd05vZGVJZC0tfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLiNrZXlNYXAuZ2V0KHBhcmFtcy5kYXRhKSBhcyBzdHJpbmc7XG4gICAgICB9LFxuICAgICAgZ2V0Um93Q2xhc3M6IChwYXJhbXM6IFJvd0NsYXNzUGFyYW1zKSA9PiB7XG4gICAgICAgIGlmIChwYXJhbXMubm9kZS5pZCkge1xuICAgICAgICAgIHJldHVybiBgc2t5LWFnLWdyaWQtcm93LSR7cGFyYW1zLm5vZGUuaWR9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgaWNvbnM6IHtcbiAgICAgICAgc29ydERlc2NlbmRpbmc6IHRoaXMuI2dldEljb25UZW1wbGF0ZSgnc29ydERlc2NlbmRpbmcnKSxcbiAgICAgICAgc29ydEFzY2VuZGluZzogdGhpcy4jZ2V0SWNvblRlbXBsYXRlKCdzb3J0QXNjZW5kaW5nJyksXG4gICAgICAgIGNvbHVtbk1vdmVNb3ZlOiB0aGlzLiNnZXRJY29uVGVtcGxhdGUoJ2NvbHVtbk1vdmVNb3ZlJyksXG4gICAgICAgIGNvbHVtbk1vdmVIaWRlOiB0aGlzLiNnZXRJY29uVGVtcGxhdGUoJ2NvbHVtbk1vdmVIaWRlJyksXG4gICAgICAgIGNvbHVtbk1vdmVMZWZ0OiB0aGlzLiNnZXRJY29uVGVtcGxhdGUoJ2NvbHVtbk1vdmVMZWZ0JyksXG4gICAgICAgIGNvbHVtbk1vdmVSaWdodDogdGhpcy4jZ2V0SWNvblRlbXBsYXRlKCdjb2x1bW5Nb3ZlUmlnaHQnKSxcbiAgICAgICAgY29sdW1uTW92ZVBpbjogdGhpcy4jZ2V0SWNvblRlbXBsYXRlKCdjb2x1bW5Nb3ZlUGluJyksXG4gICAgICB9LFxuICAgICAgb25DZWxsRm9jdXNlZDogKCkgPT4gdGhpcy4jb25DZWxsRm9jdXNlZCgpLFxuICAgICAgcm93TXVsdGlTZWxlY3RXaXRoQ2xpY2s6IHRydWUsXG4gICAgICByb3dTZWxlY3Rpb246ICdtdWx0aXBsZScsXG4gICAgICBzaW5nbGVDbGlja0VkaXQ6IHRydWUsXG4gICAgICBzb3J0aW5nT3JkZXI6IFsnZGVzYycsICdhc2MnLCBudWxsXSxcbiAgICAgIHN1cHByZXNzUm93Q2xpY2tTZWxlY3Rpb246IHRydWUsXG4gICAgICBzdXBwcmVzc0RyYWdMZWF2ZUhpZGVzQ29sdW1uczogdHJ1ZSxcbiAgICB9O1xuXG4gICAgY29uc3QgY29sdW1uVHlwZXMgPSBkZWZhdWx0U2t5R3JpZE9wdGlvbnMuY29sdW1uVHlwZXMgYXMgUmVjb3JkPFxuICAgICAgc3RyaW5nLFxuICAgICAgQ29sRGVmXG4gICAgPjtcblxuICAgIGNvbHVtblR5cGVzW1NreUNlbGxUeXBlLkN1cnJlbmN5VmFsaWRhdG9yXSA9IHtcbiAgICAgIC4uLmNvbHVtblR5cGVzW1NreUNlbGxUeXBlLkN1cnJlbmN5XSxcbiAgICAgIGNlbGxSZW5kZXJlclBhcmFtczoge1xuICAgICAgICBza3lDb21wb25lbnRQcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgdmFsaWRhdG9yOiAodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgcmV0dXJuICEhYCR7dmFsdWUgfHwgJyd9YC5tYXRjaCgvXlteMC05XSooXFxkK1ssLl0/KStcXGQqW14wLTldKiQvKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHZhbGlkYXRvck1lc3NhZ2U6ICdQbGVhc2UgZW50ZXIgYSB2YWxpZCBjdXJyZW5jeScsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMuI3Jlc291cmNlcykge1xuICAgICAgdGhpcy4jcmVzb3VyY2VzXG4gICAgICAgIC5nZXRTdHJpbmcoJ3NreV9hZ19ncmlkX2NlbGxfcmVuZGVyZXJfY3VycmVuY3lfdmFsaWRhdG9yX21lc3NhZ2UnKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbHVtblR5cGVzW1xuICAgICAgICAgICAgU2t5Q2VsbFR5cGUuQ3VycmVuY3lWYWxpZGF0b3JcbiAgICAgICAgICBdLmNlbGxSZW5kZXJlclBhcmFtcy5za3lDb21wb25lbnRQcm9wZXJ0aWVzLnZhbGlkYXRvck1lc3NhZ2UgPSB2YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29sdW1uVHlwZXNbU2t5Q2VsbFR5cGUuTnVtYmVyVmFsaWRhdG9yXSA9IHtcbiAgICAgIC4uLmNvbHVtblR5cGVzW1NreUNlbGxUeXBlLlZhbGlkYXRvcl0sXG4gICAgICAuLi5jb2x1bW5UeXBlc1tTa3lDZWxsVHlwZS5OdW1iZXJdLFxuICAgICAgY2VsbENsYXNzUnVsZXM6IHtcbiAgICAgICAgLi4uY29sdW1uVHlwZXNbU2t5Q2VsbFR5cGUuVmFsaWRhdG9yXS5jZWxsQ2xhc3NSdWxlcyxcbiAgICAgICAgLi4uY29sdW1uVHlwZXNbU2t5Q2VsbFR5cGUuTnVtYmVyXS5jZWxsQ2xhc3NSdWxlcyxcbiAgICAgIH0sXG4gICAgICBjZWxsUmVuZGVyZXJQYXJhbXM6IHtcbiAgICAgICAgc2t5Q29tcG9uZW50UHJvcGVydGllczoge1xuICAgICAgICAgIHZhbGlkYXRvcjogKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIHJldHVybiAhIXZhbHVlICYmICFpc05hTihwYXJzZUZsb2F0KHZhbHVlKSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICB2YWxpZGF0b3JNZXNzYWdlOiAnUGxlYXNlIGVudGVyIGEgdmFsaWQgbnVtYmVyJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy4jcmVzb3VyY2VzKSB7XG4gICAgICB0aGlzLiNyZXNvdXJjZXNcbiAgICAgICAgLmdldFN0cmluZygnc2t5X2FnX2dyaWRfY2VsbF9yZW5kZXJlcl9udW1iZXJfdmFsaWRhdG9yX21lc3NhZ2UnKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbHVtblR5cGVzW1xuICAgICAgICAgICAgU2t5Q2VsbFR5cGUuTnVtYmVyVmFsaWRhdG9yXG4gICAgICAgICAgXS5jZWxsUmVuZGVyZXJQYXJhbXMuc2t5Q29tcG9uZW50UHJvcGVydGllcy52YWxpZGF0b3JNZXNzYWdlID0gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0U2t5R3JpZE9wdGlvbnM7XG4gIH1cblxuICAjb25DZWxsRm9jdXNlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50RWxlbWVudCA9IHRoaXMuI2FnR3JpZEFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzZWRFbGVtZW50KCk7XG5cbiAgICB0aGlzLiNhZ0dyaWRBZGFwdGVyU2VydmljZS5mb2N1c09uRm9jdXNhYmxlQ2hpbGRyZW4oY3VycmVudEVsZW1lbnQpO1xuICB9XG5cbiAgI2dldERlZmF1bHRFZGl0YWJsZUdyaWRPcHRpb25zKGFyZ3M6IFNreUdldEdyaWRPcHRpb25zQXJncyk6IEdyaWRPcHRpb25zIHtcbiAgICBjb25zdCBkZWZhdWx0R3JpZE9wdGlvbnMgPSB0aGlzLiNnZXREZWZhdWx0R3JpZE9wdGlvbnMoYXJncyk7XG5cbiAgICBkZWZhdWx0R3JpZE9wdGlvbnMucm93U2VsZWN0aW9uID0gdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIGRlZmF1bHRHcmlkT3B0aW9ucztcbiAgfVxuXG4gICNnZXRJY29uVGVtcGxhdGUoaWNvbk5hbWU6IGtleW9mIEljb25NYXBUeXBlKTogKCkgPT4gc3RyaW5nIHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29uc3QgaWNvbiA9IGljb25NYXBbaWNvbk5hbWVdO1xuICAgICAgaWYgKHRoaXMuI2N1cnJlbnRUaGVtZT8udGhlbWUubmFtZSA9PT0gJ21vZGVybicgJiYgaWNvbi5za3lJY29uKSB7XG4gICAgICAgIHJldHVybiBgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJza3ktaS0ke2ljb24uc2t5SWNvbn1cIj48L2k+YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJmYSBmYS0ke2ljb24uZmFJY29ufVwiPjwvaT5gO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAjc3VwcHJlc3NUYWIocGFyYW1zOiBTdXBwcmVzc0tleWJvYXJkRXZlbnRQYXJhbXMpOiBib29sZWFuIHtcbiAgICBpZiAocGFyYW1zLmV2ZW50LmNvZGUgPT09ICdUYWInKSB7XG4gICAgICBpZiAocGFyYW1zLmVkaXRpbmcpIHtcbiAgICAgICAgY29uc3QgY3VycmVudGx5Rm9jdXNlZEVsID1cbiAgICAgICAgICB0aGlzLiNhZ0dyaWRBZGFwdGVyU2VydmljZS5nZXRGb2N1c2VkRWxlbWVudCgpO1xuICAgICAgICAvLyBpbmxpbmUgY2VsbCBlZGl0b3JzIGhhdmUgdGhlICdhZy1jZWxsJyBjbGFzcywgd2hpbGUgcG9wdXAgZWRpdG9ycyBoYXZlIHRoZSAnYWctcG9wdXAtZWRpdG9yJyBjbGFzc1xuICAgICAgICBjb25zdCBjZWxsRWwgPSB0aGlzLiNhZ0dyaWRBZGFwdGVyU2VydmljZS5nZXRFbGVtZW50T3JQYXJlbnRXaXRoQ2xhc3MoXG4gICAgICAgICAgY3VycmVudGx5Rm9jdXNlZEVsLFxuICAgICAgICAgICdhZy1jZWxsJyxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcG9wdXBFbCA9IHRoaXMuI2FnR3JpZEFkYXB0ZXJTZXJ2aWNlLmdldEVsZW1lbnRPclBhcmVudFdpdGhDbGFzcyhcbiAgICAgICAgICBjdXJyZW50bHlGb2N1c2VkRWwsXG4gICAgICAgICAgJ2FnLXBvcHVwLWVkaXRvcicsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHBhcmVudEVsID0gY2VsbEVsIHx8IHBvcHVwRWw7XG5cbiAgICAgICAgY29uc3QgbmV4dEZvY3VzYWJsZUVsZW1lbnRJbkNlbGwgPVxuICAgICAgICAgIHRoaXMuI2FnR3JpZEFkYXB0ZXJTZXJ2aWNlLmdldE5leHRGb2N1c2FibGVFbGVtZW50KFxuICAgICAgICAgICAgY3VycmVudGx5Rm9jdXNlZEVsLFxuICAgICAgICAgICAgcGFyZW50RWwsXG4gICAgICAgICAgICBwYXJhbXMuZXZlbnQuc2hpZnRLZXksXG4gICAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuICEhbmV4dEZvY3VzYWJsZUVsZW1lbnRJbkNlbGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgI3N1cHByZXNzRW50ZXIocGFyYW1zOiBTdXBwcmVzc0tleWJvYXJkRXZlbnRQYXJhbXMpOiBib29sZWFuIHtcbiAgICBpZiAocGFyYW1zLmV2ZW50LmNvZGUgPT09ICdFbnRlcicpIHtcbiAgICAgIHJldHVybiBwYXJhbXMuZWRpdGluZztcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -77,10 +77,10 @@ export class SkyAgGridCellEditorAutocompleteComponent {
77
77
  this.#params?.api.stopEditing();
78
78
  }
79
79
  }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridCellEditorAutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: SkyAgGridCellEditorAutocompleteComponent, selector: "sky-ag-grid-cell-editor-autocomplete", host: { listeners: { "blur": "onBlur()" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorAutocomplete"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"sky-ag-grid-cell-editor-autocomplete\" [formGroup]=\"editorForm\">\n <sky-autocomplete\n [data]=\"skyComponentProperties.data\"\n [debounceTime]=\"skyComponentProperties.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties.descriptorProperty\"\n [propertiesToSearch]=\"skyComponentProperties.propertiesToSearch\"\n [search]=\"skyComponentProperties.search\"\n [searchFilters]=\"skyComponentProperties.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties.searchTextMinimumCharacters\n \"\n (selectionChange)=\"\n skyComponentProperties.selectionChange &&\n skyComponentProperties.selectionChange($event)\n \"\n (openChange)=\"onAutocompleteOpenChange($event)\"\n >\n <input\n formControlName=\"selection\"\n skyAutocomplete\n #skyCellEditorAutocomplete\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_autocomplete_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n />\n </sky-autocomplete>\n</div>\n", styles: ["sky-autocomplete input{border:none;box-shadow:none}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.λ2, selector: "sky-autocomplete", inputs: ["ariaLabelledBy", "data", "debounceTime", "descriptorProperty", "enableShowMore", "messageStream", "wrapperClass", "propertiesToSearch", "search", "searchResultTemplate", "searchTextMinimumCharacters", "searchFilters", "searchResultsLimit", "showAddButton", "noResultsFoundText", "searchAsyncDisabled"], outputs: ["addClick", "showMoreClick", "selectionChange", "searchAsync", "openChange"] }, { kind: "directive", type: i2.λ1, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridCellEditorAutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SkyAgGridCellEditorAutocompleteComponent, selector: "sky-ag-grid-cell-editor-autocomplete", host: { listeners: { "blur": "onBlur()" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorAutocomplete"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"sky-ag-grid-cell-editor-autocomplete\" [formGroup]=\"editorForm\">\n <sky-autocomplete\n [data]=\"skyComponentProperties.data\"\n [debounceTime]=\"skyComponentProperties.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties.descriptorProperty\"\n [propertiesToSearch]=\"skyComponentProperties.propertiesToSearch\"\n [search]=\"skyComponentProperties.search\"\n [searchFilters]=\"skyComponentProperties.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties.searchTextMinimumCharacters\n \"\n (selectionChange)=\"\n skyComponentProperties.selectionChange &&\n skyComponentProperties.selectionChange($event)\n \"\n (openChange)=\"onAutocompleteOpenChange($event)\"\n >\n <input\n formControlName=\"selection\"\n skyAutocomplete\n #skyCellEditorAutocomplete\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_autocomplete_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n />\n </sky-autocomplete>\n</div>\n", styles: ["sky-autocomplete input{border:none;box-shadow:none}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.λ2, selector: "sky-autocomplete", inputs: ["ariaLabelledBy", "data", "debounceTime", "descriptorProperty", "enableShowMore", "messageStream", "wrapperClass", "propertiesToSearch", "search", "searchResultTemplate", "searchTextMinimumCharacters", "searchFilters", "searchResultsLimit", "showAddButton", "noResultsFoundText", "searchAsyncDisabled"], outputs: ["addClick", "showMoreClick", "selectionChange", "searchAsync", "openChange"] }, { kind: "directive", type: i2.λ1, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: ["autocompleteAttribute", "disabled"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridCellEditorAutocompleteComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridCellEditorAutocompleteComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{ selector: 'sky-ag-grid-cell-editor-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-ag-grid-cell-editor-autocomplete\" [formGroup]=\"editorForm\">\n <sky-autocomplete\n [data]=\"skyComponentProperties.data\"\n [debounceTime]=\"skyComponentProperties.debounceTime\"\n [descriptorProperty]=\"skyComponentProperties.descriptorProperty\"\n [propertiesToSearch]=\"skyComponentProperties.propertiesToSearch\"\n [search]=\"skyComponentProperties.search\"\n [searchFilters]=\"skyComponentProperties.searchFilters\"\n [searchResultsLimit]=\"skyComponentProperties.searchResultsLimit\"\n [searchResultTemplate]=\"skyComponentProperties.searchResultTemplate\"\n [searchTextMinimumCharacters]=\"\n skyComponentProperties.searchTextMinimumCharacters\n \"\n (selectionChange)=\"\n skyComponentProperties.selectionChange &&\n skyComponentProperties.selectionChange($event)\n \"\n (openChange)=\"onAutocompleteOpenChange($event)\"\n >\n <input\n formControlName=\"selection\"\n skyAutocomplete\n #skyCellEditorAutocomplete\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_autocomplete_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n />\n </sky-autocomplete>\n</div>\n", styles: ["sky-autocomplete input{border:none;box-shadow:none}\n"] }]
86
86
  }], propDecorators: { input: [{
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
90
90
  type: HostListener,
91
91
  args: ['blur']
92
92
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUvY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUvY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU10RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFFekU7O0dBRUc7QUFPSCxNQUFNLE9BQU8sd0NBQXdDO0lBTnJEO1FBVVMsZUFBVSxHQUFHLElBQUksZ0JBQWdCLENBQUM7WUFDdkMsU0FBUyxFQUFFLElBQUksa0JBQWtCLEVBQUU7U0FDcEMsQ0FBQyxDQUFDO1FBRUksMkJBQXNCLEdBQW9DLEVBQUUsQ0FBQztRQUVwRSxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFHMUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUE0QixDQUFDO0tBNEU3RDtJQS9F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R0FBRyxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUNFLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUN2QixJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsK0JBQStCLENBQUM7WUFDaEUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQ3hELENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQzs4R0F4RlUsd0NBQXdDO2tHQUF4Qyx3Q0FBd0Msd05BZUgsVUFBVSw2QkN6QzVELCtzQ0ErQkE7OzJGRExhLHdDQUF3QztrQkFOcEQsU0FBUzsrQkFDRSxzQ0FBc0MsbUJBRy9CLHVCQUF1QixDQUFDLE1BQU07OEJBa0J4QyxLQUFLO3NCQURYLFNBQVM7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUlyRCxNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgVmlld0NoaWxkLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBJQ2VsbEVkaXRvckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcblxuaW1wb3J0IHsgU2t5QWdHcmlkQXV0b2NvbXBsZXRlUHJvcGVydGllcyB9IGZyb20gJy4uLy4uL3R5cGVzL2F1dG9jb21wbGV0ZS1wcm9wZXJ0aWVzJztcbmltcG9ydCB7IFNreUNlbGxFZGl0b3JBdXRvY29tcGxldGVQYXJhbXMgfSBmcm9tICcuLi8uLi90eXBlcy9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUtcGFyYW1zJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2VsbC1lZGl0b3ItaW5pdGlhbC1hY3Rpb24nO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvclV0aWxzIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2VsbC1lZGl0b3ItdXRpbHMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktYWctZ3JpZC1jZWxsLWVkaXRvci1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWRDZWxsRWRpdG9yQXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgSUNlbGxFZGl0b3JBbmd1bGFyQ29tcFxue1xuICBwdWJsaWMgY29sdW1uSGVhZGVyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBlZGl0b3JGb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgIHNlbGVjdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxuICB9KTtcbiAgcHVibGljIHJvd051bWJlcjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgc2t5Q29tcG9uZW50UHJvcGVydGllczogU2t5QWdHcmlkQXV0b2NvbXBsZXRlUHJvcGVydGllcyA9IHt9O1xuXG4gICNhdXRvY29tcGxldGVPcGVuID0gZmFsc2U7XG4gICN0cmlnZ2VyVHlwZTogU2t5QWdHcmlkQ2VsbEVkaXRvckluaXRpYWxBY3Rpb24gfCB1bmRlZmluZWQ7XG4gICNwYXJhbXM6IFNreUNlbGxFZGl0b3JBdXRvY29tcGxldGVQYXJhbXMgfCB1bmRlZmluZWQ7XG4gICNlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpIGFzIEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3NreUNlbGxFZGl0b3JBdXRvY29tcGxldGUnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIGlucHV0OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBwdWJsaWMgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuI3N0b3BFZGl0aW5nT25CbHVyKCk7XG4gIH1cblxuICBwdWJsaWMgYWdJbml0KHBhcmFtczogU2t5Q2VsbEVkaXRvckF1dG9jb21wbGV0ZVBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMuI3BhcmFtcyA9IHBhcmFtcztcbiAgICB0aGlzLiN0cmlnZ2VyVHlwZSA9IFNreUFnR3JpZENlbGxFZGl0b3JVdGlscy5nZXRFZGl0b3JJbml0aWFsQWN0aW9uKHBhcmFtcyk7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZWRpdG9yRm9ybS5nZXQoJ3NlbGVjdGlvbicpO1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuI3RyaWdnZXJUeXBlKSB7XG4gICAgICAgIGNhc2UgU2t5QWdHcmlkQ2VsbEVkaXRvckluaXRpYWxBY3Rpb24uRGVsZXRlOlxuICAgICAgICAgIGNvbnRyb2wuc2V0VmFsdWUodW5kZWZpbmVkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBTa3lBZ0dyaWRDZWxsRWRpdG9ySW5pdGlhbEFjdGlvbi5SZXBsYWNlOlxuICAgICAgICBjYXNlIFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uLkhpZ2hsaWdodGVkOlxuICAgICAgICBjYXNlIFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uLlVudG91Y2hlZDpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBjb250cm9sLnNldFZhbHVlKHBhcmFtcy52YWx1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5jb2x1bW5IZWFkZXIgPSB0aGlzLiNwYXJhbXMuYXBpLmdldERpc3BsYXlOYW1lRm9yQ29sdW1uKFxuICAgICAgdGhpcy4jcGFyYW1zLmNvbHVtbixcbiAgICAgICdoZWFkZXInLFxuICAgICk7XG4gICAgdGhpcy5yb3dOdW1iZXIgPSB0aGlzLiNwYXJhbXMucm93SW5kZXggKyAxO1xuICAgIHRoaXMuc2t5Q29tcG9uZW50UHJvcGVydGllcyA9IHRoaXMuI3BhcmFtcy5za3lDb21wb25lbnRQcm9wZXJ0aWVzIHx8IHt9O1xuICB9XG5cbiAgcHVibGljIGFmdGVyR3VpQXR0YWNoZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5wdXQpIHtcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgaWYgKHRoaXMuI3RyaWdnZXJUeXBlID09PSBTa3lBZ0dyaWRDZWxsRWRpdG9ySW5pdGlhbEFjdGlvbi5SZXBsYWNlKSB7XG4gICAgICAgIGNvbnN0IGNoYXJQcmVzcyA9IHRoaXMuI3BhcmFtcz8uZXZlbnRLZXkgYXMgc3RyaW5nO1xuXG4gICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5zZWxlY3QoKTtcbiAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnNldFJhbmdlVGV4dChjaGFyUHJlc3MpO1xuICAgICAgICAvLyBFbnN1cmUgdGhlIGN1cnNvciBpcyBhdCB0aGUgZW5kIG9mIHRoZSB0ZXh0LlxuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgY2hhclByZXNzLmxlbmd0aCxcbiAgICAgICAgICBjaGFyUHJlc3MubGVuZ3RoLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JykpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuI3RyaWdnZXJUeXBlID09PSBTa3lBZ0dyaWRDZWxsRWRpdG9ySW5pdGlhbEFjdGlvbi5IaWdobGlnaHRlZCkge1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFZhbHVlKCk6IGFueSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmFsID0gdGhpcy5lZGl0b3JGb3JtLmdldCgnc2VsZWN0aW9uJyk/LnZhbHVlO1xuICAgIHJldHVybiB2YWwgIT09IHVuZGVmaW5lZCAmJiB2YWwgIT09IG51bGwgPyB2YWwgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25BdXRvY29tcGxldGVPcGVuQ2hhbmdlKCRldmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuI2F1dG9jb21wbGV0ZU9wZW4gPSAkZXZlbnQ7XG4gICAgdGhpcy4jc3RvcEVkaXRpbmdPbkJsdXIoKTtcbiAgfVxuXG4gICNzdG9wRWRpdGluZ09uQmx1cigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy4jYXV0b2NvbXBsZXRlT3BlbiAmJlxuICAgICAgdGhpcy4jcGFyYW1zPy5hcGkuZ2V0R3JpZE9wdGlvbignc3RvcEVkaXRpbmdXaGVuQ2VsbHNMb3NlRm9jdXMnKSAmJlxuICAgICAgIXRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5tYXRjaGVzKCc6Zm9jdXMtd2l0aGluJylcbiAgICApIHtcbiAgICAgIHRoaXMuI3BhcmFtcz8uYXBpLnN0b3BFZGl0aW5nKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWFnLWdyaWQtY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlXCIgW2Zvcm1Hcm91cF09XCJlZGl0b3JGb3JtXCI+XG4gIDxza3ktYXV0b2NvbXBsZXRlXG4gICAgW2RhdGFdPVwic2t5Q29tcG9uZW50UHJvcGVydGllcy5kYXRhXCJcbiAgICBbZGVib3VuY2VUaW1lXT1cInNreUNvbXBvbmVudFByb3BlcnRpZXMuZGVib3VuY2VUaW1lXCJcbiAgICBbZGVzY3JpcHRvclByb3BlcnR5XT1cInNreUNvbXBvbmVudFByb3BlcnRpZXMuZGVzY3JpcHRvclByb3BlcnR5XCJcbiAgICBbcHJvcGVydGllc1RvU2VhcmNoXT1cInNreUNvbXBvbmVudFByb3BlcnRpZXMucHJvcGVydGllc1RvU2VhcmNoXCJcbiAgICBbc2VhcmNoXT1cInNreUNvbXBvbmVudFByb3BlcnRpZXMuc2VhcmNoXCJcbiAgICBbc2VhcmNoRmlsdGVyc109XCJza3lDb21wb25lbnRQcm9wZXJ0aWVzLnNlYXJjaEZpbHRlcnNcIlxuICAgIFtzZWFyY2hSZXN1bHRzTGltaXRdPVwic2t5Q29tcG9uZW50UHJvcGVydGllcy5zZWFyY2hSZXN1bHRzTGltaXRcIlxuICAgIFtzZWFyY2hSZXN1bHRUZW1wbGF0ZV09XCJza3lDb21wb25lbnRQcm9wZXJ0aWVzLnNlYXJjaFJlc3VsdFRlbXBsYXRlXCJcbiAgICBbc2VhcmNoVGV4dE1pbmltdW1DaGFyYWN0ZXJzXT1cIlxuICAgICAgc2t5Q29tcG9uZW50UHJvcGVydGllcy5zZWFyY2hUZXh0TWluaW11bUNoYXJhY3RlcnNcbiAgICBcIlxuICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiXG4gICAgICBza3lDb21wb25lbnRQcm9wZXJ0aWVzLnNlbGVjdGlvbkNoYW5nZSAmJlxuICAgICAgICBza3lDb21wb25lbnRQcm9wZXJ0aWVzLnNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXG4gICAgXCJcbiAgICAob3BlbkNoYW5nZSk9XCJvbkF1dG9jb21wbGV0ZU9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4gID5cbiAgICA8aW5wdXRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdGlvblwiXG4gICAgICBza3lBdXRvY29tcGxldGVcbiAgICAgICNza3lDZWxsRWRpdG9yQXV0b2NvbXBsZXRlXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAnc2t5X2FnX2dyaWRfY2VsbF9lZGl0b3JfYXV0b2NvbXBsZXRlX2FyaWFfbGFiZWwnXG4gICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGNvbHVtbkhlYWRlciA6IHJvd051bWJlclxuICAgICAgXCJcbiAgICAvPlxuICA8L3NreS1hdXRvY29tcGxldGU+XG48L2Rpdj5cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUvY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUvY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU10RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFFekU7O0dBRUc7QUFPSCxNQUFNLE9BQU8sd0NBQXdDO0lBTnJEO1FBVVMsZUFBVSxHQUFHLElBQUksZ0JBQWdCLENBQUM7WUFDdkMsU0FBUyxFQUFFLElBQUksa0JBQWtCLEVBQUU7U0FDcEMsQ0FBQyxDQUFDO1FBRUksMkJBQXNCLEdBQW9DLEVBQUUsQ0FBQztRQUVwRSxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFHMUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUE0QixDQUFDO0tBNEU3RDtJQS9F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R0FBRyxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUNFLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUN2QixJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsK0JBQStCLENBQUM7WUFDaEUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQ3hELENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQzsrR0F4RlUsd0NBQXdDO21HQUF4Qyx3Q0FBd0Msd05BZUgsVUFBVSw2QkN6QzVELCtzQ0ErQkE7OzRGRExhLHdDQUF3QztrQkFOcEQsU0FBUzsrQkFDRSxzQ0FBc0MsbUJBRy9CLHVCQUF1QixDQUFDLE1BQU07OEJBa0J4QyxLQUFLO3NCQURYLFNBQVM7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUlyRCxNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgVmlld0NoaWxkLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBJQ2VsbEVkaXRvckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcblxuaW1wb3J0IHsgU2t5QWdHcmlkQXV0b2NvbXBsZXRlUHJvcGVydGllcyB9IGZyb20gJy4uLy4uL3R5cGVzL2F1dG9jb21wbGV0ZS1wcm9wZXJ0aWVzJztcbmltcG9ydCB7IFNreUNlbGxFZGl0b3JBdXRvY29tcGxldGVQYXJhbXMgfSBmcm9tICcuLi8uLi90eXBlcy9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUtcGFyYW1zJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2VsbC1lZGl0b3ItaW5pdGlhbC1hY3Rpb24nO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvclV0aWxzIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2VsbC1lZGl0b3ItdXRpbHMnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktYWctZ3JpZC1jZWxsLWVkaXRvci1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWRDZWxsRWRpdG9yQXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgSUNlbGxFZGl0b3JBbmd1bGFyQ29tcFxue1xuICBwdWJsaWMgY29sdW1uSGVhZGVyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBlZGl0b3JGb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgIHNlbGVjdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpLFxuICB9KTtcbiAgcHVibGljIHJvd051bWJlcjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgc2t5Q29tcG9uZW50UHJvcGVydGllczogU2t5QWdHcmlkQXV0b2NvbXBsZXRlUHJvcGVydGllcyA9IHt9O1xuXG4gICNhdXRvY29tcGxldGVPcGVuID0gZmFsc2U7XG4gICN0cmlnZ2VyVHlwZTogU2t5QWdHcmlkQ2VsbEVkaXRvckluaXRpYWxBY3Rpb24gfCB1bmRlZmluZWQ7XG4gICNwYXJhbXM6IFNreUNlbGxFZGl0b3JBdXRvY29tcGxldGVQYXJhbXMgfCB1bmRlZmluZWQ7XG4gICNlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpIGFzIEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3NreUNlbGxFZGl0b3JBdXRvY29tcGxldGUnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIGlucHV0OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBwdWJsaWMgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuI3N0b3BFZGl0aW5nT25CbHVyKCk7XG4gIH1cblxuICBwdWJsaWMgYWdJbml0KHBhcmFtczogU2t5Q2VsbEVkaXRvckF1dG9jb21wbGV0ZVBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMuI3BhcmFtcyA9IHBhcmFtcztcbiAgICB0aGlzLiN0cmlnZ2VyVHlwZSA9IFNreUFnR3JpZENlbGxFZGl0b3JVdGlscy5nZXRFZGl0b3JJbml0aWFsQWN0aW9uKHBhcmFtcyk7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZWRpdG9yRm9ybS5nZXQoJ3NlbGVjdGlvbicpO1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuI3RyaWdnZXJUeXBlKSB7XG4gICAgICAgIGNhc2UgU2t5QWdHcmlkQ2VsbEVkaXRvckluaXRpYWxBY3Rpb24uRGVsZXRlOlxuICAgICAgICAgIGNvbnRyb2wuc2V0VmFsdWUodW5kZWZpbmVkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBTa3lBZ0dyaWRDZWxsRWRpdG9ySW5pdGlhbEFjdGlvbi5SZXBsYWNlOlxuICAgICAgICBjYXNlIFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uLkhpZ2hsaWdodGVkOlxuICAgICAgICBjYXNlIFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uLlVudG91Y2hlZDpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBjb250cm9sLnNldFZhbHVlKHBhcmFtcy52YWx1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5jb2x1bW5IZWFkZXIgPSB0aGlzLiNwYXJhbXMuYXBpLmdldERpc3BsYXlOYW1lRm9yQ29sdW1uKFxuICAgICAgdGhpcy4jcGFyYW1zLmNvbHVtbixcbiAgICAgICdoZWFkZXInLFxuICAgICk7XG4gICAgdGhpcy5yb3dOdW1iZXIgPSB0aGlzLiNwYXJhbXMucm93SW5kZXggKyAxO1xuICAgIHRoaXMuc2t5Q29tcG9uZW50UHJvcGVydGllcyA9IHRoaXMuI3BhcmFtcy5za3lDb21wb25lbnRQcm9wZXJ0aWVzIHx8IHt9O1xuICB9XG5cbiAgcHVibGljIGFmdGVyR3VpQXR0YWNoZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5wdXQpIHtcbiAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgaWYgKHRoaXMuI3RyaWdnZXJUeXBlID09PSBTa3lBZ0dyaWRDZWxsRWRpdG9ySW5pdGlhbEFjdGlvbi5SZXBsYWNlKSB7XG4gICAgICAgIGNvbnN0IGNoYXJQcmVzcyA9IHRoaXMuI3BhcmFtcz8uZXZlbnRLZXkgYXMgc3RyaW5nO1xuXG4gICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5zZWxlY3QoKTtcbiAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnNldFJhbmdlVGV4dChjaGFyUHJlc3MpO1xuICAgICAgICAvLyBFbnN1cmUgdGhlIGN1cnNvciBpcyBhdCB0aGUgZW5kIG9mIHRoZSB0ZXh0LlxuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgY2hhclByZXNzLmxlbmd0aCxcbiAgICAgICAgICBjaGFyUHJlc3MubGVuZ3RoLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JykpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuI3RyaWdnZXJUeXBlID09PSBTa3lBZ0dyaWRDZWxsRWRpdG9ySW5pdGlhbEFjdGlvbi5IaWdobGlnaHRlZCkge1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFZhbHVlKCk6IGFueSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmFsID0gdGhpcy5lZGl0b3JGb3JtLmdldCgnc2VsZWN0aW9uJyk/LnZhbHVlO1xuICAgIHJldHVybiB2YWwgIT09IHVuZGVmaW5lZCAmJiB2YWwgIT09IG51bGwgPyB2YWwgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25BdXRvY29tcGxldGVPcGVuQ2hhbmdlKCRldmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuI2F1dG9jb21wbGV0ZU9wZW4gPSAkZXZlbnQ7XG4gICAgdGhpcy4jc3RvcEVkaXRpbmdPbkJsdXIoKTtcbiAgfVxuXG4gICNzdG9wRWRpdGluZ09uQmx1cigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy4jYXV0b2NvbXBsZXRlT3BlbiAmJlxuICAgICAgdGhpcy4jcGFyYW1zPy5hcGkuZ2V0R3JpZE9wdGlvbignc3RvcEVkaXRpbmdXaGVuQ2VsbHNMb3NlRm9jdXMnKSAmJlxuICAgICAgIXRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5tYXRjaGVzKCc6Zm9jdXMtd2l0aGluJylcbiAgICApIHtcbiAgICAgIHRoaXMuI3BhcmFtcz8uYXBpLnN0b3BFZGl0aW5nKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWFnLWdyaWQtY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlXCIgW2Zvcm1Hcm91cF09XCJlZGl0b3JGb3JtXCI+XG4gIDxza3ktYXV0b2NvbXBsZXRlXG4gICAgW2RhdGFdPVwic2t5Q29tcG9uZW50UHJvcGVydGllcy5kYXRhXCJcbiAgICBbZGVib3VuY2VUaW1lXT1cInNreUNvbXBvbmVudFByb3BlcnRpZXMuZGVib3VuY2VUaW1lXCJcbiAgICBbZGVzY3JpcHRvclByb3BlcnR5XT1cInNreUNvbXBvbmVudFByb3BlcnRpZXMuZGVzY3JpcHRvclByb3BlcnR5XCJcbiAgICBbcHJvcGVydGllc1RvU2VhcmNoXT1cInNreUNvbXBvbmVudFByb3BlcnRpZXMucHJvcGVydGllc1RvU2VhcmNoXCJcbiAgICBbc2VhcmNoXT1cInNreUNvbXBvbmVudFByb3BlcnRpZXMuc2VhcmNoXCJcbiAgICBbc2VhcmNoRmlsdGVyc109XCJza3lDb21wb25lbnRQcm9wZXJ0aWVzLnNlYXJjaEZpbHRlcnNcIlxuICAgIFtzZWFyY2hSZXN1bHRzTGltaXRdPVwic2t5Q29tcG9uZW50UHJvcGVydGllcy5zZWFyY2hSZXN1bHRzTGltaXRcIlxuICAgIFtzZWFyY2hSZXN1bHRUZW1wbGF0ZV09XCJza3lDb21wb25lbnRQcm9wZXJ0aWVzLnNlYXJjaFJlc3VsdFRlbXBsYXRlXCJcbiAgICBbc2VhcmNoVGV4dE1pbmltdW1DaGFyYWN0ZXJzXT1cIlxuICAgICAgc2t5Q29tcG9uZW50UHJvcGVydGllcy5zZWFyY2hUZXh0TWluaW11bUNoYXJhY3RlcnNcbiAgICBcIlxuICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiXG4gICAgICBza3lDb21wb25lbnRQcm9wZXJ0aWVzLnNlbGVjdGlvbkNoYW5nZSAmJlxuICAgICAgICBza3lDb21wb25lbnRQcm9wZXJ0aWVzLnNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXG4gICAgXCJcbiAgICAob3BlbkNoYW5nZSk9XCJvbkF1dG9jb21wbGV0ZU9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4gID5cbiAgICA8aW5wdXRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdGlvblwiXG4gICAgICBza3lBdXRvY29tcGxldGVcbiAgICAgICNza3lDZWxsRWRpdG9yQXV0b2NvbXBsZXRlXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAnc2t5X2FnX2dyaWRfY2VsbF9lZGl0b3JfYXV0b2NvbXBsZXRlX2FyaWFfbGFiZWwnXG4gICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGNvbHVtbkhlYWRlciA6IHJvd051bWJlclxuICAgICAgXCJcbiAgICAvPlxuICA8L3NreS1hdXRvY29tcGxldGU+XG48L2Rpdj5cbiJdfQ==
@@ -5,15 +5,15 @@ import { SkyAgGridResourcesModule } from '../../../shared/sky-ag-grid-resources.
5
5
  import { SkyAgGridCellEditorAutocompleteComponent } from '../cell-editor-autocomplete/cell-editor-autocomplete.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export class SkyAgGridCellEditorAutocompleteModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridCellEditorAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridCellEditorAutocompleteModule, declarations: [SkyAgGridCellEditorAutocompleteComponent], imports: [ReactiveFormsModule,
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridCellEditorAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridCellEditorAutocompleteModule, declarations: [SkyAgGridCellEditorAutocompleteComponent], imports: [ReactiveFormsModule,
10
10
  SkyAgGridResourcesModule,
11
11
  SkyAutocompleteModule], exports: [SkyAgGridCellEditorAutocompleteComponent] }); }
12
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridCellEditorAutocompleteModule, imports: [ReactiveFormsModule,
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridCellEditorAutocompleteModule, imports: [ReactiveFormsModule,
13
13
  SkyAgGridResourcesModule,
14
14
  SkyAutocompleteModule] }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridCellEditorAutocompleteModule, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridCellEditorAutocompleteModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  imports: [
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
25
25
  exports: [SkyAgGridCellEditorAutocompleteComponent],
26
26
  }]
27
27
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUvY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7QUFXMUgsTUFBTSxPQUFPLHFDQUFxQzs4R0FBckMscUNBQXFDOytHQUFyQyxxQ0FBcUMsaUJBSGpDLHdDQUF3QyxhQUpyRCxtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLHFCQUFxQixhQUdiLHdDQUF3QzsrR0FFdkMscUNBQXFDLFlBUDlDLG1CQUFtQjtZQUNuQix3QkFBd0I7WUFDeEIscUJBQXFCOzsyRkFLWixxQ0FBcUM7a0JBVGpELFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QixxQkFBcUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRSxDQUFDLHdDQUF3QyxDQUFDO29CQUN4RCxPQUFPLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQztpQkFDcEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC9sb29rdXAnO1xuXG5pbXBvcnQgeyBTa3lBZ0dyaWRSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2t5LWFnLWdyaWQtcmVzb3VyY2VzLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlL2NlbGwtZWRpdG9yLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTa3lBZ0dyaWRSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5QXV0b2NvbXBsZXRlTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtTa3lBZ0dyaWRDZWxsRWRpdG9yQXV0b2NvbXBsZXRlQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1NreUFnR3JpZENlbGxFZGl0b3JBdXRvY29tcGxldGVDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWRDZWxsRWRpdG9yQXV0b2NvbXBsZXRlTW9kdWxlIHt9XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1hdXRvY29tcGxldGUvY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7QUFXMUgsTUFBTSxPQUFPLHFDQUFxQzsrR0FBckMscUNBQXFDO2dIQUFyQyxxQ0FBcUMsaUJBSGpDLHdDQUF3QyxhQUpyRCxtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLHFCQUFxQixhQUdiLHdDQUF3QztnSEFFdkMscUNBQXFDLFlBUDlDLG1CQUFtQjtZQUNuQix3QkFBd0I7WUFDeEIscUJBQXFCOzs0RkFLWixxQ0FBcUM7a0JBVGpELFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QixxQkFBcUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRSxDQUFDLHdDQUF3QyxDQUFDO29CQUN4RCxPQUFPLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQztpQkFDcEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC9sb29rdXAnO1xuXG5pbXBvcnQgeyBTa3lBZ0dyaWRSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2t5LWFnLWdyaWQtcmVzb3VyY2VzLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlL2NlbGwtZWRpdG9yLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTa3lBZ0dyaWRSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5QXV0b2NvbXBsZXRlTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtTa3lBZ0dyaWRDZWxsRWRpdG9yQXV0b2NvbXBsZXRlQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1NreUFnR3JpZENlbGxFZGl0b3JBdXRvY29tcGxldGVDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWRDZWxsRWRpdG9yQXV0b2NvbXBsZXRlTW9kdWxlIHt9XG4iXX0=
@@ -98,14 +98,14 @@ export class SkyAgGridCellEditorCurrencyComponent {
98
98
  }
99
99
  this.#initialized = true;
100
100
  }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridCellEditorCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
102
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: SkyAgGridCellEditorCurrencyComponent, selector: "sky-ag-grid-cell-editor-currency", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorCurrency"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container [formGroup]=\"editorForm\">\n <input\n [formControl]=\"currency\"\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_currency_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [skyAutonumeric]=\"skyComponentProperties\"\n [skyAutonumericFormChangesUnformatted]=\"params?.eventKey?.length === 1\"\n (keyup.enter)=\"onPressEnter()\"\n (keyup.escape)=\"onPressEscape()\"\n #skyCellEditorCurrency\n />\n</ng-container>\n", styles: ["input{border:none;padding-left:11px}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.λ1, selector: "input[skyAutonumeric]", inputs: ["skyAutonumeric", "skyAutonumericFormChangesUnformatted"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridCellEditorCurrencyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SkyAgGridCellEditorCurrencyComponent, selector: "sky-ag-grid-cell-editor-currency", viewQueries: [{ propertyName: "input", first: true, predicate: ["skyCellEditorCurrency"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-container [formGroup]=\"editorForm\">\n <input\n [formControl]=\"currency\"\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_currency_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [skyAutonumeric]=\"skyComponentProperties\"\n [skyAutonumericFormChangesUnformatted]=\"params?.eventKey?.length === 1\"\n (keyup.enter)=\"onPressEnter()\"\n (keyup.escape)=\"onPressEscape()\"\n #skyCellEditorCurrency\n />\n</ng-container>\n", styles: ["input{border:none;padding-left:11px}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.λ1, selector: "input[skyAutonumeric]", inputs: ["skyAutonumeric", "skyAutonumericFormChangesUnformatted"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
103
103
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridCellEditorCurrencyComponent, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridCellEditorCurrencyComponent, decorators: [{
105
105
  type: Component,
106
106
  args: [{ selector: 'sky-ag-grid-cell-editor-currency', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [formGroup]=\"editorForm\">\n <input\n [formControl]=\"currency\"\n type=\"text\"\n [attr.aria-label]=\"\n 'sky_ag_grid_cell_editor_currency_aria_label'\n | skyLibResources: columnHeader : rowNumber\n \"\n [style.width.px]=\"columnWidth\"\n [style.height.px]=\"rowHeightWithoutBorders\"\n [skyAutonumeric]=\"skyComponentProperties\"\n [skyAutonumericFormChangesUnformatted]=\"params?.eventKey?.length === 1\"\n (keyup.enter)=\"onPressEnter()\"\n (keyup.escape)=\"onPressEscape()\"\n #skyCellEditorCurrency\n />\n</ng-container>\n", styles: ["input{border:none;padding-left:11px}\n"] }]
107
107
  }], propDecorators: { input: [{
108
108
  type: ViewChild,
109
109
  args: ['skyCellEditorCurrency', { read: ElementRef }]
110
110
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0b3ItY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FnLWdyaWQvc3JjL2xpYi9tb2R1bGVzL2FnLWdyaWQvY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWN1cnJlbmN5L2NlbGwtZWRpdG9yLWN1cnJlbmN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1jdXJyZW5jeS9jZWxsLWVkaXRvci1jdXJyZW5jeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLdEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7O0FBR3pFOztHQUVHO0FBT0gsTUFBTSxPQUFPLG9DQUFvQztJQU5qRDtRQVNTLDJCQUFzQixHQUV6QjtZQUNGLGFBQWEsRUFBRSxLQUFLO1NBQ3JCLENBQUM7UUFHSyxhQUFRLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxJQUFJLGdCQUFnQixDQUFDO1lBQ3ZDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDLENBQUM7UUFTTSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFD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SSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDbEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7OEdBeEhVLG9DQUFvQztrR0FBcEMsb0NBQW9DLG1LQWtCSCxVQUFVLDZCQzVDeEQsZ2xCQWlCQTs7MkZEU2Esb0NBQW9DO2tCQU5oRCxTQUFTOytCQUNFLGtDQUFrQyxtQkFHM0IsdUJBQXVCLENBQUMsTUFBTTs4QkFxQnhDLEtBQUs7c0JBRFgsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgVmlld0NoaWxkLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBJQ2VsbEVkaXRvckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcblxuaW1wb3J0IHsgU2t5Q2VsbEVkaXRvckN1cnJlbmN5UGFyYW1zIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2VsbC1lZGl0b3ItY3VycmVuY3ktcGFyYW1zJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2VsbC1lZGl0b3ItaW5pdGlhbC1hY3Rpb24nO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvclV0aWxzIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2VsbC1lZGl0b3ItdXRpbHMnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ3VycmVuY3lQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vdHlwZXMvY3VycmVuY3ktcHJvcGVydGllcyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hZy1ncmlkLWNlbGwtZWRpdG9yLWN1cnJlbmN5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NlbGwtZWRpdG9yLWN1cnJlbmN5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2VsbC1lZGl0b3ItY3VycmVuY3kuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZENlbGxFZGl0b3JDdXJyZW5jeUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIElDZWxsRWRpdG9yQW5ndWxhckNvbXBcbntcbiAgcHVibGljIHNreUNvbXBvbmVudFByb3BlcnRpZXM6IFNreUFnR3JpZEN1cnJlbmN5UHJvcGVydGllcyAmIHtcbiAgICBpc0NhbmNlbGxhYmxlOiBib29sZWFuO1xuICB9ID0ge1xuICAgIGlzQ2FuY2VsbGFibGU6IGZhbHNlLFxuICB9O1xuICBwdWJsaWMgY29sdW1uSGVhZGVyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBjb2x1bW5XaWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgY3VycmVuY3kgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG4gIHB1YmxpYyBlZGl0b3JGb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgIGN1cnJlbmN5OiB0aGlzLmN1cnJlbmN5LFxuICB9KTtcbiAgcHVibGljIHBhcmFtczogU2t5Q2VsbEVkaXRvckN1cnJlbmN5UGFyYW1zIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcm93SGVpZ2h0V2l0aG91dEJvcmRlcnM6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJvd051bWJlcjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3NreUNlbGxFZGl0b3JDdXJyZW5jeScsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgaW5wdXQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI3RyaWdnZXJUeXBlOiBTa3lBZ0dyaWRDZWxsRWRpdG9ySW5pdGlhbEFjdGlvbiB8IHVuZGVmaW5lZDtcbiAgcmVhZG9ubHkgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgI2luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIGFnSW5pdCBpcyBjYWxsZWQgYnkgYWdHcmlkIG9uY2UgYWZ0ZXIgdGhlIGVkaXRvciBpcyBjcmVhdGVkIGFuZCBwcm92aWRlcyB0aGUgZWRpdG9yIHdpdGggdGhlIGluZm9ybWF0aW9uIGl0IG5lZWRzLlxuICAgKiBAcGFyYW0gcGFyYW1zIFRoZSBjZWxsIGVkaXRvciBwYXJhbXMgdGhhdCBpbmNsdWRlIGRhdGEgYWJvdXQgdGhlIGNlbGwsIGNvbHVtbiwgcm93LCBhbmQgZ3JpZC5cbiAgICovXG4gIHB1YmxpYyBhZ0luaXQocGFyYW1zOiBTa3lDZWxsRWRpdG9yQ3VycmVuY3lQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcbiAgICB0aGlzLmNvbHVtbkhlYWRlciA9IHRoaXMucGFyYW1zLmFwaS5nZXREaXNwbGF5TmFtZUZvckNvbHVtbihcbiAgICAgIHRoaXMucGFyYW1zLmNvbHVtbixcbiAgICAgICdoZWFkZXInLFxuICAgICk7XG4gICAgdGhpcy5yb3dOdW1iZXIgPSB0aGlzLnBhcmFtcy5yb3dJbmRleCArIDE7XG4gICAgdGhpcy5jb2x1bW5XaWR0aCA9IHRoaXMucGFyYW1zLmNvbHVtbi5nZXRBY3R1YWxXaWR0aCgpO1xuICAgIHRoaXMucm93SGVpZ2h0V2l0aG91dEJvcmRlcnMgPSBTa3lBZ0dyaWRDZWxsRWRpdG9yVXRpbHMuc3VidHJhY3RPclplcm8oXG4gICAgICB0aGlzLnBhcmFtcy5ub2RlPy5yb3dIZWlnaHQsXG4gICAgICA0LFxuICAgICk7XG4gICAgdGhpcy5za3lDb21wb25lbnRQcm9wZXJ0aWVzID0ge1xuICAgICAgLi4uKHRoaXMucGFyYW1zLnNreUNvbXBvbmVudFByb3BlcnRpZXMgfHwge1xuICAgICAgICBkZWNpbWFsUGxhY2VzOiAyLFxuICAgICAgICBjdXJyZW5jeVN5bWJvbDogJyQnLFxuICAgICAgfSksXG4gICAgICBpc0NhbmNlbGxhYmxlOiBmYWxzZSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHJlZnJlc2gocGFyYW1zOiBTa3lDZWxsRWRpdG9yQ3VycmVuY3lQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLmFnSW5pdChwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFmdGVyR3VpQXR0YWNoZWQgaXMgY2FsbGVkIGJ5IGFnR3JpZCBhZnRlciB0aGUgZWRpdG9yIGlzIHJlbmRlcmVkIGluIHRoZSBET00uIE9uY2UgaXQgaXMgYXR0YWNoZWQgdGhlIGVkaXRvciBpcyByZWFkeSB0byBiZSBmb2N1c2VkIG9uLlxuICAgKi9cbiAgcHVibGljIGFmdGVyR3VpQXR0YWNoZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgLy8gVGhpcyBzZXR1cCBpcyBpbiBgYWZ0ZXJHdWlBdHRhY2hlZGAgZHVlIHRvIHRoZSBsaWZlY3ljbGUgb2YgYXV0b251bWVyaWMgd2hpY2ggd2lsbCBoaWdobGlnaHQgdGhlIGluaXRpYWwgdmFsdWUgaWYgaXQgaXMgaW4gcGxhY2Ugd2hlbiBpdCByZW5kZXJzLlxuICAgIC8vIFNpbmNlIHdlIGRvbid0IHdhbnQgdGhhdCwgd2Ugc2V0IHRoZSBpbml0aWFsIHZhbHVlIGFmdGVyIGF1dG9udW1lcmljIGluaXRpYWxpemVzLlxuICAgIHRoaXMuI3RyaWdnZXJUeXBlID0gU2t5QWdHcmlkQ2VsbEVkaXRvclV0aWxzLmdldEVkaXRvckluaXRpYWxBY3Rpb24oXG4gICAgICB0aGlzLnBhcmFtcyxcbiAgICApO1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmN1cnJlbmN5O1xuXG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIHN3aXRjaCAodGhpcy4jdHJpZ2dlclR5cGUpIHtcbiAgICAgICAgY2FzZSBTa3lBZ0dyaWRDZWxsRWRpdG9ySW5pdGlhbEFjdGlvbi5EZWxldGU6XG4gICAgICAgICAgY29udHJvbC5zZXRWYWx1ZSh1bmRlZmluZWQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uLlJlcGxhY2U6XG4gICAgICAgICAgY29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgICAgIHBhcnNlRmxvYXQoU3RyaW5nKHRoaXMucGFyYW1zPy5ldmVudEtleSkpIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uLkhpZ2hsaWdodGVkOlxuICAgICAgICBjYXNlIFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uLlVudG91Y2hlZDpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBjb250cm9sLnNldFZhbHVlKHBhcnNlRmxvYXQoU3RyaW5nKHRoaXMucGFyYW1zPy52YWx1ZSkpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuI3RyaWdnZXJUeXBlID09PSBTa3lBZ0dyaWRDZWxsRWRpdG9ySW5pdGlhbEFjdGlvbi5IaWdobGlnaHRlZCAmJlxuICAgICAgKHRoaXMucGFyYW1zPy52YWx1ZSA/PyAnJykgIT09ICcnXG4gICAgKSB7XG4gICAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LnNlbGVjdCgpO1xuICAgIH1cblxuICAgIC8vIFdoZW4gdGhlIGNlbGwgaXMgaW5pdGlhbGl6ZWQgd2l0aCB0aGUgRW50ZXIga2V5LCB3ZSBuZWVkIHRvIHN1cHByZXNzIHRoZSBmaXJzdCBgb25QcmVzc0VudGVyYC5cbiAgICB0aGlzLiNpbml0aWFsaXplZCA9IHRoaXMucGFyYW1zPy5ldmVudEtleSAhPT0gJ0VudGVyJztcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXRWYWx1ZSBpcyBjYWxsZWQgYnkgYWdHcmlkIHdoZW4gZWRpdGluZyBpcyBzdG9wcGVkIHRvIGdldCB0aGUgbmV3IHZhbHVlIG9mIHRoZSBjZWxsLlxuICAgKi9cbiAgcHVibGljIGdldFZhbHVlKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVuY3kudmFsdWUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhdXRvTnVtZXJpYyBsaWJyYXJ5J3MgZXZlbnQgaGFuZGxlciBzdXBwcmVzc2VzIHRoZSBlc2NhcGUga2V5IGV2ZW50LiBUaGlzIGFkZGl0aW9uYWwgaGFuZGxlciByZS1lbmFibGVzIEFHIEdyaWQncyBkZWZhdWx0IGZ1bmN0aW9uYWxpdHkuXG4gICAqL1xuICBwdWJsaWMgb25QcmVzc0VzY2FwZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYXJhbXMpIHtcbiAgICAgIHRoaXMucGFyYW1zLmFwaS5zdG9wRWRpdGluZyh0cnVlKTtcbiAgICAgIHRoaXMucGFyYW1zLmFwaS5zZXRGb2N1c2VkQ2VsbCh0aGlzLnBhcmFtcy5yb3dJbmRleCwgdGhpcy5wYXJhbXMuY29sdW1uKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25QcmVzc0VudGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBhcmFtcyAmJiB0aGlzLiNpbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5wYXJhbXMuc3RvcEVkaXRpbmcoKTtcbiAgICB9XG4gICAgdGhpcy4jaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZWRpdG9yRm9ybVwiPlxuICA8aW5wdXRcbiAgICBbZm9ybUNvbnRyb2xdPVwiY3VycmVuY3lcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgJ3NreV9hZ19ncmlkX2NlbGxfZWRpdG9yX2N1cnJlbmN5X2FyaWFfbGFiZWwnXG4gICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBjb2x1bW5IZWFkZXIgOiByb3dOdW1iZXJcbiAgICBcIlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJjb2x1bW5XaWR0aFwiXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJyb3dIZWlnaHRXaXRob3V0Qm9yZGVyc1wiXG4gICAgW3NreUF1dG9udW1lcmljXT1cInNreUNvbXBvbmVudFByb3BlcnRpZXNcIlxuICAgIFtza3lBdXRvbnVtZXJpY0Zvcm1DaGFuZ2VzVW5mb3JtYXR0ZWRdPVwicGFyYW1zPy5ldmVudEtleT8ubGVuZ3RoID09PSAxXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwib25QcmVzc0VudGVyKClcIlxuICAgIChrZXl1cC5lc2NhcGUpPVwib25QcmVzc0VzY2FwZSgpXCJcbiAgICAjc2t5Q2VsbEVkaXRvckN1cnJlbmN5XG4gIC8+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0b3ItY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FnLWdyaWQvc3JjL2xpYi9tb2R1bGVzL2FnLWdyaWQvY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWN1cnJlbmN5L2NlbGwtZWRpdG9yLWN1cnJlbmN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1jdXJyZW5jeS9jZWxsLWVkaXRvci1jdXJyZW5jeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLdEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7O0FBR3pFOztHQUVHO0FBT0gsTUFBTSxPQUFPLG9DQUFvQztJQU5qRDtRQVNTLDJCQUFzQixHQUV6QjtZQUNGLGFBQWEsRUFBRSxLQUFLO1NBQ3JCLENBQUM7UUFHSyxhQUFRLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxJQUFJLGdCQUFnQixDQUFDO1lBQ3ZDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDLENBQUM7UUFTTSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFD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SSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDbEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7K0dBeEhVLG9DQUFvQzttR0FBcEMsb0NBQW9DLG1LQWtCSCxVQUFVLDZCQzVDeEQsZ2xCQWlCQTs7NEZEU2Esb0NBQW9DO2tCQU5oRCxTQUFTOytCQUNFLGtDQUFrQyxtQkFHM0IsdUJBQXVCLENBQUMsTUFBTTs4QkFxQnhDLEtBQUs7c0JBRFgsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgVmlld0NoaWxkLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBJQ2VsbEVkaXRvckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcblxuaW1wb3J0IHsgU2t5Q2VsbEVkaXRvckN1cnJlbmN5UGFyYW1zIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2VsbC1lZGl0b3ItY3VycmVuY3ktcGFyYW1zJztcbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2VsbC1lZGl0b3ItaW5pdGlhbC1hY3Rpb24nO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvclV0aWxzIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2VsbC1lZGl0b3ItdXRpbHMnO1xuaW1wb3J0IHsgU2t5QWdHcmlkQ3VycmVuY3lQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vdHlwZXMvY3VycmVuY3ktcHJvcGVydGllcyc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hZy1ncmlkLWNlbGwtZWRpdG9yLWN1cnJlbmN5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NlbGwtZWRpdG9yLWN1cnJlbmN5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2VsbC1lZGl0b3ItY3VycmVuY3kuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZENlbGxFZGl0b3JDdXJyZW5jeUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIElDZWxsRWRpdG9yQW5ndWxhckNvbXBcbntcbiAgcHVibGljIHNreUNvbXBvbmVudFByb3BlcnRpZXM6IFNreUFnR3JpZEN1cnJlbmN5UHJvcGVydGllcyAmIHtcbiAgICBpc0NhbmNlbGxhYmxlOiBib29sZWFuO1xuICB9ID0ge1xuICAgIGlzQ2FuY2VsbGFibGU6IGZhbHNlLFxuICB9O1xuICBwdWJsaWMgY29sdW1uSGVhZGVyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBjb2x1bW5XaWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgY3VycmVuY3kgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCk7XG4gIHB1YmxpYyBlZGl0b3JGb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgIGN1cnJlbmN5OiB0aGlzLmN1cnJlbmN5LFxuICB9KTtcbiAgcHVibGljIHBhcmFtczogU2t5Q2VsbEVkaXRvckN1cnJlbmN5UGFyYW1zIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgcm93SGVpZ2h0V2l0aG91dEJvcmRlcnM6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHJvd051bWJlcjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3NreUNlbGxFZGl0b3JDdXJyZW5jeScsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgaW5wdXQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI3RyaWdnZXJUeXBlOiBTa3lBZ0dyaWRDZWxsRWRpdG9ySW5pdGlhbEFjdGlvbiB8IHVuZGVmaW5lZDtcbiAgcmVhZG9ubHkgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgI2luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIGFnSW5pdCBpcyBjYWxsZWQgYnkgYWdHcmlkIG9uY2UgYWZ0ZXIgdGhlIGVkaXRvciBpcyBjcmVhdGVkIGFuZCBwcm92aWRlcyB0aGUgZWRpdG9yIHdpdGggdGhlIGluZm9ybWF0aW9uIGl0IG5lZWRzLlxuICAgKiBAcGFyYW0gcGFyYW1zIFRoZSBjZWxsIGVkaXRvciBwYXJhbXMgdGhhdCBpbmNsdWRlIGRhdGEgYWJvdXQgdGhlIGNlbGwsIGNvbHVtbiwgcm93LCBhbmQgZ3JpZC5cbiAgICovXG4gIHB1YmxpYyBhZ0luaXQocGFyYW1zOiBTa3lDZWxsRWRpdG9yQ3VycmVuY3lQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcbiAgICB0aGlzLmNvbHVtbkhlYWRlciA9IHRoaXMucGFyYW1zLmFwaS5nZXREaXNwbGF5TmFtZUZvckNvbHVtbihcbiAgICAgIHRoaXMucGFyYW1zLmNvbHVtbixcbiAgICAgICdoZWFkZXInLFxuICAgICk7XG4gICAgdGhpcy5yb3dOdW1iZXIgPSB0aGlzLnBhcmFtcy5yb3dJbmRleCArIDE7XG4gICAgdGhpcy5jb2x1bW5XaWR0aCA9IHRoaXMucGFyYW1zLmNvbHVtbi5nZXRBY3R1YWxXaWR0aCgpO1xuICAgIHRoaXMucm93SGVpZ2h0V2l0aG91dEJvcmRlcnMgPSBTa3lBZ0dyaWRDZWxsRWRpdG9yVXRpbHMuc3VidHJhY3RPclplcm8oXG4gICAgICB0aGlzLnBhcmFtcy5ub2RlPy5yb3dIZWlnaHQsXG4gICAgICA0LFxuICAgICk7XG4gICAgdGhpcy5za3lDb21wb25lbnRQcm9wZXJ0aWVzID0ge1xuICAgICAgLi4uKHRoaXMucGFyYW1zLnNreUNvbXBvbmVudFByb3BlcnRpZXMgfHwge1xuICAgICAgICBkZWNpbWFsUGxhY2VzOiAyLFxuICAgICAgICBjdXJyZW5jeVN5bWJvbDogJyQnLFxuICAgICAgfSksXG4gICAgICBpc0NhbmNlbGxhYmxlOiBmYWxzZSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHJlZnJlc2gocGFyYW1zOiBTa3lDZWxsRWRpdG9yQ3VycmVuY3lQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLmFnSW5pdChwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFmdGVyR3VpQXR0YWNoZWQgaXMgY2FsbGVkIGJ5IGFnR3JpZCBhZnRlciB0aGUgZWRpdG9yIGlzIHJlbmRlcmVkIGluIHRoZSBET00uIE9uY2UgaXQgaXMgYXR0YWNoZWQgdGhlIGVkaXRvciBpcyByZWFkeSB0byBiZSBmb2N1c2VkIG9uLlxuICAgKi9cbiAgcHVibGljIGFmdGVyR3VpQXR0YWNoZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgLy8gVGhpcyBzZXR1cCBpcyBpbiBgYWZ0ZXJHdWlBdHRhY2hlZGAgZHVlIHRvIHRoZSBsaWZlY3ljbGUgb2YgYXV0b251bWVyaWMgd2hpY2ggd2lsbCBoaWdobGlnaHQgdGhlIGluaXRpYWwgdmFsdWUgaWYgaXQgaXMgaW4gcGxhY2Ugd2hlbiBpdCByZW5kZXJzLlxuICAgIC8vIFNpbmNlIHdlIGRvbid0IHdhbnQgdGhhdCwgd2Ugc2V0IHRoZSBpbml0aWFsIHZhbHVlIGFmdGVyIGF1dG9udW1lcmljIGluaXRpYWxpemVzLlxuICAgIHRoaXMuI3RyaWdnZXJUeXBlID0gU2t5QWdHcmlkQ2VsbEVkaXRvclV0aWxzLmdldEVkaXRvckluaXRpYWxBY3Rpb24oXG4gICAgICB0aGlzLnBhcmFtcyxcbiAgICApO1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmN1cnJlbmN5O1xuXG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIHN3aXRjaCAodGhpcy4jdHJpZ2dlclR5cGUpIHtcbiAgICAgICAgY2FzZSBTa3lBZ0dyaWRDZWxsRWRpdG9ySW5pdGlhbEFjdGlvbi5EZWxldGU6XG4gICAgICAgICAgY29udHJvbC5zZXRWYWx1ZSh1bmRlZmluZWQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uLlJlcGxhY2U6XG4gICAgICAgICAgY29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgICAgIHBhcnNlRmxvYXQoU3RyaW5nKHRoaXMucGFyYW1zPy5ldmVudEtleSkpIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uLkhpZ2hsaWdodGVkOlxuICAgICAgICBjYXNlIFNreUFnR3JpZENlbGxFZGl0b3JJbml0aWFsQWN0aW9uLlVudG91Y2hlZDpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBjb250cm9sLnNldFZhbHVlKHBhcnNlRmxvYXQoU3RyaW5nKHRoaXMucGFyYW1zPy52YWx1ZSkpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuI3RyaWdnZXJUeXBlID09PSBTa3lBZ0dyaWRDZWxsRWRpdG9ySW5pdGlhbEFjdGlvbi5IaWdobGlnaHRlZCAmJlxuICAgICAgKHRoaXMucGFyYW1zPy52YWx1ZSA/PyAnJykgIT09ICcnXG4gICAgKSB7XG4gICAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LnNlbGVjdCgpO1xuICAgIH1cblxuICAgIC8vIFdoZW4gdGhlIGNlbGwgaXMgaW5pdGlhbGl6ZWQgd2l0aCB0aGUgRW50ZXIga2V5LCB3ZSBuZWVkIHRvIHN1cHByZXNzIHRoZSBmaXJzdCBgb25QcmVzc0VudGVyYC5cbiAgICB0aGlzLiNpbml0aWFsaXplZCA9IHRoaXMucGFyYW1zPy5ldmVudEtleSAhPT0gJ0VudGVyJztcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXRWYWx1ZSBpcyBjYWxsZWQgYnkgYWdHcmlkIHdoZW4gZWRpdGluZyBpcyBzdG9wcGVkIHRvIGdldCB0aGUgbmV3IHZhbHVlIG9mIHRoZSBjZWxsLlxuICAgKi9cbiAgcHVibGljIGdldFZhbHVlKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVuY3kudmFsdWUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhdXRvTnVtZXJpYyBsaWJyYXJ5J3MgZXZlbnQgaGFuZGxlciBzdXBwcmVzc2VzIHRoZSBlc2NhcGUga2V5IGV2ZW50LiBUaGlzIGFkZGl0aW9uYWwgaGFuZGxlciByZS1lbmFibGVzIEFHIEdyaWQncyBkZWZhdWx0IGZ1bmN0aW9uYWxpdHkuXG4gICAqL1xuICBwdWJsaWMgb25QcmVzc0VzY2FwZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYXJhbXMpIHtcbiAgICAgIHRoaXMucGFyYW1zLmFwaS5zdG9wRWRpdGluZyh0cnVlKTtcbiAgICAgIHRoaXMucGFyYW1zLmFwaS5zZXRGb2N1c2VkQ2VsbCh0aGlzLnBhcmFtcy5yb3dJbmRleCwgdGhpcy5wYXJhbXMuY29sdW1uKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25QcmVzc0VudGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBhcmFtcyAmJiB0aGlzLiNpbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5wYXJhbXMuc3RvcEVkaXRpbmcoKTtcbiAgICB9XG4gICAgdGhpcy4jaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZWRpdG9yRm9ybVwiPlxuICA8aW5wdXRcbiAgICBbZm9ybUNvbnRyb2xdPVwiY3VycmVuY3lcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgJ3NreV9hZ19ncmlkX2NlbGxfZWRpdG9yX2N1cnJlbmN5X2FyaWFfbGFiZWwnXG4gICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBjb2x1bW5IZWFkZXIgOiByb3dOdW1iZXJcbiAgICBcIlxuICAgIFtzdHlsZS53aWR0aC5weF09XCJjb2x1bW5XaWR0aFwiXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJyb3dIZWlnaHRXaXRob3V0Qm9yZGVyc1wiXG4gICAgW3NreUF1dG9udW1lcmljXT1cInNreUNvbXBvbmVudFByb3BlcnRpZXNcIlxuICAgIFtza3lBdXRvbnVtZXJpY0Zvcm1DaGFuZ2VzVW5mb3JtYXR0ZWRdPVwicGFyYW1zPy5ldmVudEtleT8ubGVuZ3RoID09PSAxXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwib25QcmVzc0VudGVyKClcIlxuICAgIChrZXl1cC5lc2NhcGUpPVwib25QcmVzc0VzY2FwZSgpXCJcbiAgICAjc2t5Q2VsbEVkaXRvckN1cnJlbmN5XG4gIC8+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -5,15 +5,15 @@ import { SkyAgGridResourcesModule } from '../../../shared/sky-ag-grid-resources.
5
5
  import { SkyAgGridCellEditorCurrencyComponent } from './cell-editor-currency.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export class SkyAgGridCellEditorCurrencyModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridCellEditorCurrencyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridCellEditorCurrencyModule, declarations: [SkyAgGridCellEditorCurrencyComponent], imports: [SkyAgGridResourcesModule,
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridCellEditorCurrencyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridCellEditorCurrencyModule, declarations: [SkyAgGridCellEditorCurrencyComponent], imports: [SkyAgGridResourcesModule,
10
10
  ReactiveFormsModule,
11
11
  SkyAutonumericModule], exports: [SkyAgGridCellEditorCurrencyComponent] }); }
12
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridCellEditorCurrencyModule, imports: [SkyAgGridResourcesModule,
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridCellEditorCurrencyModule, imports: [SkyAgGridResourcesModule,
13
13
  ReactiveFormsModule,
14
14
  SkyAutonumericModule] }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyAgGridCellEditorCurrencyModule, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyAgGridCellEditorCurrencyModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  imports: [
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
25
25
  exports: [SkyAgGridCellEditorCurrencyComponent],
26
26
  }]
27
27
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0b3ItY3VycmVuY3kubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FnLWdyaWQvc3JjL2xpYi9tb2R1bGVzL2FnLWdyaWQvY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWN1cnJlbmN5L2NlbGwtZWRpdG9yLWN1cnJlbmN5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXhGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQVd4RixNQUFNLE9BQU8saUNBQWlDOzhHQUFqQyxpQ0FBaUM7K0dBQWpDLGlDQUFpQyxpQkFIN0Isb0NBQW9DLGFBSmpELHdCQUF3QjtZQUN4QixtQkFBbUI7WUFDbkIsb0JBQW9CLGFBR1osb0NBQW9DOytHQUVuQyxpQ0FBaUMsWUFQMUMsd0JBQXdCO1lBQ3hCLG1CQUFtQjtZQUNuQixvQkFBb0I7OzJGQUtYLGlDQUFpQztrQkFUN0MsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4QixtQkFBbUI7d0JBQ25CLG9CQUFvQjtxQkFDckI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsb0NBQW9DLENBQUM7b0JBQ3BELE9BQU8sRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2t5QXV0b251bWVyaWNNb2R1bGUgfSBmcm9tICdAc2t5dXgvYXV0b251bWVyaWMnO1xuXG5pbXBvcnQgeyBTa3lBZ0dyaWRSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2t5LWFnLWdyaWQtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JDdXJyZW5jeUNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3ItY3VycmVuY3kuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFNreUFnR3JpZFJlc291cmNlc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFNreUF1dG9udW1lcmljTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtTa3lBZ0dyaWRDZWxsRWRpdG9yQ3VycmVuY3lDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU2t5QWdHcmlkQ2VsbEVkaXRvckN1cnJlbmN5Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkQ2VsbEVkaXRvckN1cnJlbmN5TW9kdWxlIHt9XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0b3ItY3VycmVuY3kubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FnLWdyaWQvc3JjL2xpYi9tb2R1bGVzL2FnLWdyaWQvY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWN1cnJlbmN5L2NlbGwtZWRpdG9yLWN1cnJlbmN5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXhGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQVd4RixNQUFNLE9BQU8saUNBQWlDOytHQUFqQyxpQ0FBaUM7Z0hBQWpDLGlDQUFpQyxpQkFIN0Isb0NBQW9DLGFBSmpELHdCQUF3QjtZQUN4QixtQkFBbUI7WUFDbkIsb0JBQW9CLGFBR1osb0NBQW9DO2dIQUVuQyxpQ0FBaUMsWUFQMUMsd0JBQXdCO1lBQ3hCLG1CQUFtQjtZQUNuQixvQkFBb0I7OzRGQUtYLGlDQUFpQztrQkFUN0MsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4QixtQkFBbUI7d0JBQ25CLG9CQUFvQjtxQkFDckI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsb0NBQW9DLENBQUM7b0JBQ3BELE9BQU8sRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2t5QXV0b251bWVyaWNNb2R1bGUgfSBmcm9tICdAc2t5dXgvYXV0b251bWVyaWMnO1xuXG5pbXBvcnQgeyBTa3lBZ0dyaWRSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2t5LWFnLWdyaWQtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JDdXJyZW5jeUNvbXBvbmVudCB9IGZyb20gJy4vY2VsbC1lZGl0b3ItY3VycmVuY3kuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFNreUFnR3JpZFJlc291cmNlc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFNreUF1dG9udW1lcmljTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtTa3lBZ0dyaWRDZWxsRWRpdG9yQ3VycmVuY3lDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU2t5QWdHcmlkQ2VsbEVkaXRvckN1cnJlbmN5Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkQ2VsbEVkaXRvckN1cnJlbmN5TW9kdWxlIHt9XG4iXX0=