@ng-nest/ui 16.0.1 → 16.0.3

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 (65) hide show
  1. package/auto-complete/auto-complete.component.d.ts +4 -1
  2. package/carousel/carousel.component.d.ts +2 -0
  3. package/cascade/cascade.component.d.ts +4 -1
  4. package/color-picker/color-picker.component.d.ts +4 -1
  5. package/core/config/config.d.ts +2 -0
  6. package/core/functions/parent-path.d.ts +1 -0
  7. package/date-picker/date-picker.component.d.ts +4 -1
  8. package/date-picker/date-range.component.d.ts +2 -0
  9. package/esm2022/auto-complete/auto-complete.component.mjs +35 -7
  10. package/esm2022/carousel/carousel.component.mjs +8 -2
  11. package/esm2022/cascade/cascade.component.mjs +36 -8
  12. package/esm2022/color-picker/color-picker.component.mjs +36 -8
  13. package/esm2022/core/config/config.mjs +1 -1
  14. package/esm2022/core/functions/parent-path.mjs +10 -1
  15. package/esm2022/date-picker/date-picker.component.mjs +36 -9
  16. package/esm2022/date-picker/date-range.component.mjs +31 -6
  17. package/esm2022/form/control.component.mjs +2 -2
  18. package/esm2022/form/form.property.mjs +1 -1
  19. package/esm2022/input/input.component.mjs +45 -8
  20. package/esm2022/select/select.component.mjs +37 -9
  21. package/esm2022/slider/slider.component.mjs +27 -5
  22. package/esm2022/slider/slider.property.mjs +7 -2
  23. package/esm2022/statistic/countdown.component.mjs +8 -2
  24. package/esm2022/tabs/tabs.component.mjs +3 -3
  25. package/esm2022/tabs/tabs.property.mjs +7 -2
  26. package/esm2022/time-picker/time-picker.component.mjs +32 -6
  27. package/esm2022/tree-select/tree-select.component.mjs +36 -8
  28. package/fesm2022/ng-nest-ui-auto-complete.mjs +34 -7
  29. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  30. package/fesm2022/ng-nest-ui-carousel.mjs +7 -2
  31. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  32. package/fesm2022/ng-nest-ui-cascade.mjs +35 -8
  33. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  34. package/fesm2022/ng-nest-ui-color-picker.mjs +34 -7
  35. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  36. package/fesm2022/ng-nest-ui-core.mjs +10 -1
  37. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  38. package/fesm2022/ng-nest-ui-date-picker.mjs +60 -8
  39. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-form.mjs +1 -1
  41. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-input.mjs +44 -7
  43. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  44. package/fesm2022/ng-nest-ui-select.mjs +37 -10
  45. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  46. package/fesm2022/ng-nest-ui-slider.mjs +32 -5
  47. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  48. package/fesm2022/ng-nest-ui-statistic.mjs +7 -2
  49. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  50. package/fesm2022/ng-nest-ui-tabs.mjs +9 -4
  51. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  52. package/fesm2022/ng-nest-ui-time-picker.mjs +31 -5
  53. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  54. package/fesm2022/ng-nest-ui-tree-select.mjs +35 -8
  55. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  56. package/form/form.property.d.ts +10 -0
  57. package/input/input.component.d.ts +6 -0
  58. package/package.json +12 -12
  59. package/select/select.component.d.ts +4 -1
  60. package/slider/slider.component.d.ts +6 -0
  61. package/slider/slider.property.d.ts +12 -2
  62. package/statistic/countdown.component.d.ts +2 -0
  63. package/tabs/tabs.property.d.ts +12 -2
  64. package/time-picker/time-picker.component.d.ts +2 -0
  65. package/tree-select/tree-select.component.d.ts +4 -1
@@ -46,7 +46,7 @@ class XControlComponent extends XControlProperty {
46
46
  this.option.label = '';
47
47
  this.option.label = `${this.option.label}${this.form.labelSuffix}`;
48
48
  this._control = this.createControl(this.option);
49
- this._formControl = new UntypedFormControl(this._control.value);
49
+ this._formControl = new UntypedFormControl(this._control.value, { nonNullable: this._control.nonNullable });
50
50
  this.setValidators();
51
51
  this._formControl.statusChanges.pipe(takeUntil(this._unSubject)).subscribe((x) => {
52
52
  this.setMessages(x);
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
195
195
  type: ViewChild,
196
196
  args: [FormControlName]
197
197
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9mb3JtL2NvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZm9ybS9jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsU0FBUyxFQUtWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxnQkFBZ0IsRUFJaEIsZUFBZSxFQUVmLGFBQWEsRUFFYixjQUFjLEVBRWQsZ0JBQWdCLEVBRWhCLGFBQWEsRUFHYixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBRW5CLGNBQWMsRUFFZCxZQUFZLEVBRVosb0JBQW9CLEVBRXBCLGtCQUFrQixFQUVsQixtQkFBbUIsRUFHbkIsWUFBWSxFQUdaLGdCQUFnQixFQUNoQixvQkFBb0IsRUFFckIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBd0QsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2SSxPQUFPLEVBQUUsUUFBUSxFQUFrQixXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RCxNQU9hLGlCQUFrQixTQUFRLGdCQUFnQjtJQVlyRDtJQUNFLG1EQUFtRDtJQUM1QyxHQUFzQixFQUN0QixhQUE2QixFQUM3QixJQUFrQjtRQUV6QixLQUFLLEVBQUUsQ0FB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LENBQUMsQ0FBQztZQUN0RSxLQUFLLGVBQWU7Z0JBQ2xCLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxNQUFvQyxDQUFDLENBQUM7WUFDeEUsS0FBSyxTQUFTO2dCQUNaLE9BQU8sSUFBSSxlQUFlLENBQUMsTUFBK0IsQ0FBQyxDQUFDO1lBQzlELEtBQUssY0FBYztnQkFDakIsT0FBTyxJQUFJLG1CQUFtQixDQUFDLE1BQW1DLENBQUMsQ0FBQztZQUN0RSxLQUFLLFVBQVU7Z0JBQ2IsT0FBTyxJQUFJLGdCQUFnQixDQUFDLE1BQWdDLENBQUMsQ0FBQztZQUNoRSxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUE0QixDQUFDLENBQUM7WUFDeEQsS0FBSyxlQUFlO2dCQUNsQixPQUFPLElBQUksb0JBQW9CLENBQUMsTUFBb0MsQ0FBQyxDQUFDO1lBQ3hFO2dCQUNFLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBNkIsQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQztpSUFwS1UsaUJBQWlCO3FIQUFqQixpQkFBaUIsc0lBR2pCLGVBQWUsdUVDakU1QixtaEZBaURBOztTRGFhLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLFdBQVcsaUJBR04saUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtnS0FHN0IsTUFBTTtzQkFBdkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ3NCLE9BQU87c0JBQWxDLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkluaXQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBYQ29udHJvbFByb3BlcnR5LFxyXG4gIFhGb3JtQ29udHJvbE9wdGlvbixcclxuICBYRm9ybUNvbnRyb2xDb21wb25lbnQsXHJcbiAgWEZvcm1Db250cm9sVHlwZSxcclxuICBYQ2FzY2FkZUNvbnRyb2wsXHJcbiAgWENhc2NhZGVDb250cm9sT3B0aW9uLFxyXG4gIFhJbnB1dENvbnRyb2wsXHJcbiAgWElucHV0Q29udHJvbE9wdGlvbixcclxuICBYU2VsZWN0Q29udHJvbCxcclxuICBYU2VsZWN0Q29udHJvbE9wdGlvbixcclxuICBYQ2hlY2tib3hDb250cm9sLFxyXG4gIFhDaGVja2JveENvbnRyb2xPcHRpb24sXHJcbiAgWFJhZGlvQ29udHJvbCxcclxuICBYUmFkaW9Db250cm9sT3B0aW9uLFxyXG4gIFhEYXRlUGlja2VyQ29udHJvbE9wdGlvbixcclxuICBYRGF0ZVBpY2tlckNvbnRyb2wsXHJcbiAgWElucHV0TnVtYmVyQ29udHJvbCxcclxuICBYSW5wdXROdW1iZXJDb250cm9sT3B0aW9uLFxyXG4gIFhTd2l0Y2hDb250cm9sLFxyXG4gIFhTd2l0Y2hDb250cm9sT3B0aW9uLFxyXG4gIFhSYXRlQ29udHJvbCxcclxuICBYUmF0ZUNvbnRyb2xPcHRpb24sXHJcbiAgWFNsaWRlclNlbGVjdENvbnRyb2wsXHJcbiAgWFNsaWRlclNlbGVjdENvbnRyb2xPcHRpb24sXHJcbiAgWFRpbWVQaWNrZXJDb250cm9sLFxyXG4gIFhUaW1lUGlja2VyQ29udHJvbE9wdGlvbixcclxuICBYQ29sb3JQaWNrZXJDb250cm9sLFxyXG4gIFhDb2xvclBpY2tlckNvbnRyb2xPcHRpb24sXHJcbiAgWEZvcm1Db250cm9sLFxyXG4gIFhGaW5kQ29udHJvbCxcclxuICBYRmluZENvbnRyb2xPcHRpb24sXHJcbiAgWFRleHRhcmVhQ29udHJvbE9wdGlvbixcclxuICBYVGV4dGFyZWFDb250cm9sLFxyXG4gIFhBdXRvQ29tcGxldGVDb250cm9sLFxyXG4gIFhBdXRvQ29tcGxldGVDb250cm9sT3B0aW9uXHJcbn0gZnJvbSAnLi9mb3JtLnByb3BlcnR5JztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xOYW1lLCBWYWxpZGF0b3JzLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2xTdGF0dXMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFhJc0VtcHR5LCBYQ29uZmlnU2VydmljZSwgWElzRnVuY3Rpb24gfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWEkxOG5Gb3JtLCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgWEZvcm1JbnB1dFZhbGlkYXRvciB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3gtY29udHJvbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYQ29udHJvbENvbXBvbmVudCBleHRlbmRzIFhDb250cm9sUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgb3ZlcnJpZGUgb3B0aW9uITogWEZvcm1Db250cm9sT3B0aW9uO1xyXG4gIEBJbnB1dCgpIGZvcm06IGFueTtcclxuICBAVmlld0NoaWxkKEZvcm1Db250cm9sTmFtZSkgY29udHJvbCE6IEZvcm1Db250cm9sTmFtZTtcclxuICBsb2NhbGU6IFhJMThuRm9ybSA9IHt9O1xyXG4gIHByaXZhdGUgX3NoYXJlZFByb3BzID0gWydzcGFuJywgJ2RpcmVjdGlvbicsICdqdXN0aWZ5JywgJ2FsaWduJywgJ2xhYmVsV2lkdGgnLCAnbGFiZWxBbGlnbiddO1xyXG4gIHByaXZhdGUgX2NoYW5nZVByb3BzID0gWydsYWJlbCcsIC4uLnRoaXMuX3NoYXJlZFByb3BzXTtcclxuICBwcml2YXRlIF9jb250cm9sITogWEZvcm1Db250cm9sVHlwZTtcclxuICBwcml2YXRlIF92YWxpZGF0b3JGbnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX2Zvcm1Db250cm9sITogVW50eXBlZEZvcm1Db250cm9sO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIEBIb3N0KCkgQE9wdGlvbmFsKCkgcHVibGljIGZvcm06IFhGb3JtQ29tcG9uZW50LFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgaTE4bjogWEkxOG5TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbiA9IHsgLi4udGhpcy5vcHRpb24gfTtcclxuICAgIHRoaXMuc2V0UHJvcHMoKTtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLm9wdGlvbi5sYWJlbCkpIHRoaXMub3B0aW9uLmxhYmVsID0gJyc7XHJcbiAgICB0aGlzLm9wdGlvbi5sYWJlbCA9IGAke3RoaXMub3B0aW9uLmxhYmVsfSR7dGhpcy5mb3JtLmxhYmVsU3VmZml4fWA7XHJcbiAgICB0aGlzLl9jb250cm9sID0gdGhpcy5jcmVhdGVDb250cm9sKHRoaXMub3B0aW9uKTtcclxuICAgIHRoaXMuX2Zvcm1Db250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0aGlzLl9jb250cm9sLnZhbHVlKTtcclxuICAgIHRoaXMuc2V0VmFsaWRhdG9ycygpO1xyXG4gICAgdGhpcy5fZm9ybUNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgdGhpcy5zZXRNZXNzYWdlcyh4KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fY29udHJvbC5zZXRWYWxpZGF0b3JzID0gKCkgPT4gdGhpcy5zZXRWYWxpZGF0b3JzKCk7XHJcbiAgICB0aGlzLmZvcm0uZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5fY29udHJvbC5pZCwgdGhpcy5fZm9ybUNvbnRyb2wpO1xyXG4gICAgdGhpcy5vcHRpb24uY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLl9jaGFuZ2VQcm9wcy5mb3JFYWNoKCh4OiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgJiYgdGhpcy5vcHRpb25beF0pIHtcclxuICAgICAgICAgICh0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciBhcyBhbnkpW3hdID0gdGhpcy5vcHRpb25beF07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xDb21wb25lbnRzW3RoaXMuX2NvbnRyb2wuaWRdLmZvcm1Db250cm9sQ2hhbmdlcygpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKCh4KSA9PiB4LmZvcm0gYXMgWEkxOG5Gb3JtKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLmxvY2FsZSA9IHg7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciEsIHRoaXMuX2NvbnRyb2wgYXMgQ29udHJvbFZhbHVlQWNjZXNzb3IpO1xyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xUeXBlc1t0aGlzLl9jb250cm9sLmlkXSA9IHRoaXMuX2NvbnRyb2w7XHJcbiAgICB0aGlzLmZvcm0uY29udHJvbENvbXBvbmVudHNbdGhpcy5fY29udHJvbC5pZF0gPSB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciBhcyBYRm9ybUNvbnRyb2xDb21wb25lbnQ7XHJcbiAgICB0aGlzLmZvcm0uY29udHJvbENvbXBvbmVudHNbdGhpcy5fY29udHJvbC5pZF0uZm9ybUNvbnRyb2xDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHNldFZhbGlkYXRvcnMoKSB7XHJcbiAgICB0aGlzLl92YWxpZGF0b3JGbnMgPSBbXTtcclxuICAgIGlmICh0aGlzLl9jb250cm9sLmRpc2FibGVkIHx8IHRoaXMuZm9ybS5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLl9mb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9mb3JtQ29udHJvbC5lbmFibGUoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9jb250cm9sLnJlcXVpcmVkICYmICF0aGlzLmZvcm0uZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5fdmFsaWRhdG9yRm5zID0gWy4uLnRoaXMuX3ZhbGlkYXRvckZucywgVmFsaWRhdG9ycy5yZXF1aXJlZF07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fY29udHJvbC5wYXR0ZXJuKSB7XHJcbiAgICAgIHRoaXMuc2V0UGF0dGVybigpO1xyXG4gICAgfVxyXG4gICAgaWYgKFhJc0Z1bmN0aW9uKHRoaXMuX2NvbnRyb2wuaW5wdXRWYWxpZGF0b3IpKSB7XHJcbiAgICAgIHRoaXMuX3ZhbGlkYXRvckZucyA9IFsuLi50aGlzLl92YWxpZGF0b3JGbnMsIFhGb3JtSW5wdXRWYWxpZGF0b3IodGhpcy5fY29udHJvbC5pbnB1dFZhbGlkYXRvciEpXTtcclxuICAgIH1cclxuICAgIHRoaXMuX2Zvcm1Db250cm9sLnNldFZhbGlkYXRvcnModGhpcy5fdmFsaWRhdG9yRm5zKTtcclxuICAgIHRoaXMuX2Zvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICB9XHJcblxyXG4gIHNldFByb3BzKCkge1xyXG4gICAgZm9yIChsZXQgcHJvcCBvZiB0aGlzLl9zaGFyZWRQcm9wcykge1xyXG4gICAgICBpZiAoWElzRW1wdHkodGhpcy5vcHRpb25bcHJvcF0pKSB0aGlzLm9wdGlvbltwcm9wXSA9ICh0aGlzLmZvcm0gYXMgYW55KVtwcm9wXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFBhdHRlcm4oKSB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl9jb250cm9sLnBhdHRlcm4pKSB7XHJcbiAgICAgIGZvciAoY29uc3QgcHQgb2YgdGhpcy5fY29udHJvbC5wYXR0ZXJuKSB7XHJcbiAgICAgICAgdGhpcy5fdmFsaWRhdG9yRm5zID0gWy4uLnRoaXMuX3ZhbGlkYXRvckZucywgVmFsaWRhdG9ycy5wYXR0ZXJuKHB0KV07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3ZhbGlkYXRvckZucyA9IFsuLi50aGlzLl92YWxpZGF0b3JGbnMsIFZhbGlkYXRvcnMucGF0dGVybih0aGlzLl9jb250cm9sLnBhdHRlcm4gYXMgUmVnRXhwKV07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRQYXR0ZXJuTXNnKHBhdHRlcm46IHN0cmluZykge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5fY29udHJvbC5wYXR0ZXJuKSkge1xyXG4gICAgICByZXR1cm4gKHRoaXMuX2NvbnRyb2wubWVzc2FnZSBhcyBBcnJheTxhbnk+KVt0aGlzLl9jb250cm9sLnBhdHRlcm4uZmluZEluZGV4KCh4KSA9PiBTdHJpbmcoeCkgPT09IHBhdHRlcm4pXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9jb250cm9sLm1lc3NhZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRNZXNzYWdlcyhzdGF0ZTogRm9ybUNvbnRyb2xTdGF0dXMpIHtcclxuICAgIGxldCBjb250cm9sOiBYRm9ybUNvbnRyb2wgPSB0aGlzLl9mb3JtQ29udHJvbDtcclxuICAgIGlmIChzdGF0ZSA9PT0gJ0lOVkFMSUQnICYmIHRoaXMuX2Zvcm1Db250cm9sLmVycm9ycyAhPT0gbnVsbCkge1xyXG4gICAgICBsZXQgbWVzc2FnZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIGNvbnRyb2wuZXJyb3JzKSB7XHJcbiAgICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLl9jb250cm9sLmxhYmVsIHx8IHRoaXMuX2NvbnRyb2wuaWQ7XHJcbiAgICAgICAgaWYgKGtleSA9PT0gJ3JlcXVpcmVkJykge1xyXG4gICAgICAgICAgbWVzc2FnZXMgPSBbLi4ubWVzc2FnZXMsIGAke2xhYmVsfSAke3RoaXMubG9jYWxlPy5yZXF1aXJlZCB8fCAncmVxdWlyZWQnfWBdO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncGF0dGVybicpIHtcclxuICAgICAgICAgIG1lc3NhZ2VzID0gWy4uLm1lc3NhZ2VzLCBgJHtsYWJlbH0gJHt0aGlzLmdldFBhdHRlcm5Nc2coY29udHJvbC5lcnJvcnNba2V5XS5yZXF1aXJlZFBhdHRlcm4pfWBdO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnaW5wdXRWYWxpZGF0b3InKSB7XHJcbiAgICAgICAgICBtZXNzYWdlcyA9IFsuLi5tZXNzYWdlcywgYCR7bGFiZWx9ICR7dGhpcy5fY29udHJvbC5tZXNzYWdlfWBdO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBjb250cm9sLm1lc3NhZ2VzID0gbWVzc2FnZXM7XHJcbiAgICB9IGVsc2UgaWYgKHN0YXRlID09PSAnVkFMSUQnKSB7XHJcbiAgICAgIGNvbnRyb2wubWVzc2FnZXMgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZUNvbnRyb2wob3B0aW9uOiBYRm9ybUNvbnRyb2xPcHRpb24pIHtcclxuICAgIHN3aXRjaCAob3B0aW9uLmNvbnRyb2wpIHtcclxuICAgICAgY2FzZSAnaW5wdXQnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWElucHV0Q29udHJvbChvcHRpb24gYXMgWElucHV0Q29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ3NlbGVjdCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYU2VsZWN0Q29udHJvbChvcHRpb24gYXMgWFNlbGVjdENvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdjaGVja2JveCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYQ2hlY2tib3hDb250cm9sKG9wdGlvbiBhcyBYQ2hlY2tib3hDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAncmFkaW8nOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFJhZGlvQ29udHJvbChvcHRpb24gYXMgWFJhZGlvQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ3N3aXRjaCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYU3dpdGNoQ29udHJvbChvcHRpb24gYXMgWFN3aXRjaENvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdyYXRlJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhSYXRlQ29udHJvbChvcHRpb24gYXMgWFJhdGVDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnZGF0ZS1waWNrZXInOlxyXG4gICAgICAgIHJldHVybiBuZXcgWERhdGVQaWNrZXJDb250cm9sKG9wdGlvbiBhcyBYRGF0ZVBpY2tlckNvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICd0aW1lLXBpY2tlcic6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYVGltZVBpY2tlckNvbnRyb2wob3B0aW9uIGFzIFhUaW1lUGlja2VyQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2lucHV0LW51bWJlcic6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYSW5wdXROdW1iZXJDb250cm9sKG9wdGlvbiBhcyBYSW5wdXROdW1iZXJDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnc2xpZGVyLXNlbGVjdCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYU2xpZGVyU2VsZWN0Q29udHJvbChvcHRpb24gYXMgWFNsaWRlclNlbGVjdENvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdjYXNjYWRlJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhDYXNjYWRlQ29udHJvbChvcHRpb24gYXMgWENhc2NhZGVDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnY29sb3ItcGlja2VyJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhDb2xvclBpY2tlckNvbnRyb2wob3B0aW9uIGFzIFhDb2xvclBpY2tlckNvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICd0ZXh0YXJlYSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYVGV4dGFyZWFDb250cm9sKG9wdGlvbiBhcyBYVGV4dGFyZWFDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnZmluZCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYRmluZENvbnRyb2wob3B0aW9uIGFzIFhGaW5kQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2F1dG8tY29tcGxldGUnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWEF1dG9Db21wbGV0ZUNvbnRyb2wob3B0aW9uIGFzIFhBdXRvQ29tcGxldGVDb250cm9sT3B0aW9uKTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gbmV3IFhJbnB1dENvbnRyb2wob3B0aW9uIGFzIFhJbnB1dENvbnRyb2xPcHRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC1jb250cm9sXCIgW2Zvcm1Hcm91cF09XCJmb3JtLmZvcm1Hcm91cFwiPlxyXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm9wdGlvbi5jb250cm9sXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaW5wdXQnXCI+XHJcbiAgICAgIDx4LWlucHV0IFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCIgKGNsZWFyRW1pdCk9XCJvcHRpb24uY2xlYXJDbGljayAmJiBvcHRpb24uY2xlYXJDbGljaygkZXZlbnQpXCI+PC94LWlucHV0PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiPlxyXG4gICAgICA8eC1zZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtc2VsZWN0PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY2FzY2FkZSdcIj5cclxuICAgICAgPHgtY2FzY2FkZSBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiIChub2RlRW1pdCk9XCJvcHRpb24ubm9kZUNsaWNrICYmIG9wdGlvbi5ub2RlQ2xpY2soJGV2ZW50KVwiPjwveC1jYXNjYWRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XHJcbiAgICAgIDx4LWNoZWNrYm94IFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LWNoZWNrYm94PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY29sb3ItcGlja2VyJ1wiPlxyXG4gICAgICA8eC1jb2xvci1waWNrZXIgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtY29sb3ItcGlja2VyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZS1waWNrZXInXCI+XHJcbiAgICAgIDx4LWRhdGUtcGlja2VyIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCIgKG5vZGVFbWl0KT1cIm9wdGlvbi5ub2RlQ2xpY2sgJiYgb3B0aW9uLm5vZGVDbGljaygkZXZlbnQpXCI+PC94LWRhdGUtcGlja2VyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaW5wdXQtbnVtYmVyJ1wiPlxyXG4gICAgICA8eC1pbnB1dC1udW1iZXIgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtaW5wdXQtbnVtYmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmFkaW8nXCI+XHJcbiAgICAgIDx4LXJhZGlvIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LXJhZGlvPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmF0ZSdcIj5cclxuICAgICAgPHgtcmF0ZSBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1yYXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2xpZGVyLXNlbGVjdCdcIj5cclxuICAgICAgPHgtc2xpZGVyLXNlbGVjdCBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1zbGlkZXItc2VsZWN0PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc3dpdGNoJ1wiPlxyXG4gICAgICA8eC1zd2l0Y2ggW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtc3dpdGNoPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGltZS1waWNrZXInXCI+XHJcbiAgICAgIDx4LXRpbWUtcGlja2VyIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LXRpbWUtcGlja2VyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dGFyZWEnXCI+XHJcbiAgICAgIDx4LXRleHRhcmVhIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCIgKGNsZWFyRW1pdCk9XCJvcHRpb24uY2xlYXJDbGljayAmJiBvcHRpb24uY2xlYXJDbGljaygkZXZlbnQpXCI+PC94LXRleHRhcmVhPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYXV0by1jb21wbGV0ZSdcIj5cclxuICAgICAgPHgtYXV0by1jb21wbGV0ZSBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiIChub2RlRW1pdCk9XCJvcHRpb24ubm9kZUNsaWNrICYmIG9wdGlvbi5ub2RlQ2xpY2soJGV2ZW50KVwiPjwveC1hdXRvLWNvbXBsZXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmluZCdcIj5cclxuICAgICAgPHgtZmluZCBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1maW5kPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9mb3JtL2NvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZm9ybS9jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsU0FBUyxFQUtWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxnQkFBZ0IsRUFJaEIsZUFBZSxFQUVmLGFBQWEsRUFFYixjQUFjLEVBRWQsZ0JBQWdCLEVBRWhCLGFBQWEsRUFHYixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBRW5CLGNBQWMsRUFFZCxZQUFZLEVBRVosb0JBQW9CLEVBRXBCLGtCQUFrQixFQUVsQixtQkFBbUIsRUFHbkIsWUFBWSxFQUdaLGdCQUFnQixFQUNoQixvQkFBb0IsRUFFckIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBd0QsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2SSxPQUFPLEVBQUUsUUFBUSxFQUFrQixXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RCxNQU9hLGlCQUFrQixTQUFRLGdCQUFnQjtJQVlyRDtJQUNFLG1EQUFtRDtJQUM1QyxHQUFzQixFQUN0QixhQUE2QixFQUM3QixJQUFrQjtRQUV6QixLQUFLLEVBQUUsQ0FBQztRQUpELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUM3QixTQUFJLEdBQUosSUFBSSxDQUFjO1FBWjNCLFdBQU0sR0FBYyxFQUFFLENBQUM7UUFDZixpQkFBWSxHQUFHLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNyRixpQkFBWSxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRS9DLGtCQUFhLEdBQWtCLEVBQUUsQ0FBQztRQUNsQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVV6QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM1RyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMvRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUU7Z0JBQ3RDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFxQixDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3pEO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNyRSxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7YUFDbkIsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQWlCLENBQUMsRUFDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDM0I7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFjLEVBQUUsSUFBSSxDQUFDLFFBQWdDLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBc0MsQ0FBQztRQUNwRyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM3QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM1QjtRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNuRTtRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDekIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBZSxDQUFDLENBQUMsQ0FBQztTQUNsRztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbEMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFJLElBQUksQ0FBQyxJQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0U7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3hDLEtBQUssTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3RFO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQWlCLENBQUMsQ0FBQyxDQUFDO1NBQ25HO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFlO1FBQzNCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3hDLE9BQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFzQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDN0c7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQXdCO1FBQ2xDLElBQUksT0FBTyxHQUFpQixJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzlDLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDNUQsSUFBSSxRQUFRLEdBQWEsRUFBRSxDQUFDO1lBQzVCLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDaEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELElBQUksR0FBRyxLQUFLLFVBQVUsRUFBRTtvQkFDdEIsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLEVBQUUsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQztpQkFDN0U7cUJBQU0sSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO29CQUM1QixRQUFRLEdBQUcsQ0FBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNqRztxQkFBTSxJQUFJLEdBQUcsS0FBSyxnQkFBZ0IsRUFBRTtvQkFDbkMsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLEVBQUUsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2lCQUMvRDthQUNGO1lBQ0QsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDN0I7YUFBTSxJQUFJLEtBQUssS0FBSyxPQUFPLEVBQUU7WUFDNUIsT0FBTyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQTBCO1FBQ3RDLFFBQVEsTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUN0QixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxJQUFJLGFBQWEsQ0FBQyxNQUE2QixDQUFDLENBQUM7WUFDMUQsS0FBSyxRQUFRO2dCQUNYLE9BQU8sSUFBSSxjQUFjLENBQUMsTUFBOEIsQ0FBQyxDQUFDO1lBQzVELEtBQUssVUFBVTtnQkFDYixPQUFPLElBQUksZ0JBQWdCLENBQUMsTUFBZ0MsQ0FBQyxDQUFDO1lBQ2hFLEtBQUssT0FBTztnQkFDVixPQUFPLElBQUksYUFBYSxDQUFDLE1BQTZCLENBQUMsQ0FBQztZQUMxRCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLGNBQWMsQ0FBQyxNQUE4QixDQUFDLENBQUM7WUFDNUQsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxZQUFZLENBQUMsTUFBNEIsQ0FBQyxDQUFDO1lBQ3hELEtBQUssYUFBYTtnQkFDaEIsT0FBTyxJQUFJLGtCQUFrQixDQUFDLE1BQWtDLENBQUMsQ0FBQztZQUNwRSxLQUFLLGFBQWE7Z0JBQ2hCLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxNQUFrQyxDQUFDLENBQUM7WUFDcEUsS0FBSyxjQUFjO2dCQUNqQixPQUFPLElBQUksbUJBQW1CLENBQUMsTUFBbUMsQ0FBQyxDQUFDO1lBQ3RFLEtBQUssZUFBZTtnQkFDbEIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLE1BQW9DLENBQUMsQ0FBQztZQUN4RSxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxJQUFJLGVBQWUsQ0FBQyxNQUErQixDQUFDLENBQUM7WUFDOUQsS0FBSyxjQUFjO2dCQUNqQixPQUFPLElBQUksbUJBQW1CLENBQUMsTUFBbUMsQ0FBQyxDQUFDO1lBQ3RFLEtBQUssVUFBVTtnQkFDYixPQUFPLElBQUksZ0JBQWdCLENBQUMsTUFBZ0MsQ0FBQyxDQUFDO1lBQ2hFLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksWUFBWSxDQUFDLE1BQTRCLENBQUMsQ0FBQztZQUN4RCxLQUFLLGVBQWU7Z0JBQ2xCLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxNQUFvQyxDQUFDLENBQUM7WUFDeEU7Z0JBQ0UsT0FBTyxJQUFJLGFBQWEsQ0FBQyxNQUE2QixDQUFDLENBQUM7U0FDM0Q7SUFDSCxDQUFDO2lJQXBLVSxpQkFBaUI7cUhBQWpCLGlCQUFpQixzSUFHakIsZUFBZSx1RUNqRTVCLG1oRkFpREE7O1NEYWEsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsV0FBVyxpQkFHTixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO2dLQUc3QixNQUFNO3NCQUF2QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDc0IsT0FBTztzQkFBbEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uSW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIE9uRGVzdHJveVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFhDb250cm9sUHJvcGVydHksXHJcbiAgWEZvcm1Db250cm9sT3B0aW9uLFxyXG4gIFhGb3JtQ29udHJvbENvbXBvbmVudCxcclxuICBYRm9ybUNvbnRyb2xUeXBlLFxyXG4gIFhDYXNjYWRlQ29udHJvbCxcclxuICBYQ2FzY2FkZUNvbnRyb2xPcHRpb24sXHJcbiAgWElucHV0Q29udHJvbCxcclxuICBYSW5wdXRDb250cm9sT3B0aW9uLFxyXG4gIFhTZWxlY3RDb250cm9sLFxyXG4gIFhTZWxlY3RDb250cm9sT3B0aW9uLFxyXG4gIFhDaGVja2JveENvbnRyb2wsXHJcbiAgWENoZWNrYm94Q29udHJvbE9wdGlvbixcclxuICBYUmFkaW9Db250cm9sLFxyXG4gIFhSYWRpb0NvbnRyb2xPcHRpb24sXHJcbiAgWERhdGVQaWNrZXJDb250cm9sT3B0aW9uLFxyXG4gIFhEYXRlUGlja2VyQ29udHJvbCxcclxuICBYSW5wdXROdW1iZXJDb250cm9sLFxyXG4gIFhJbnB1dE51bWJlckNvbnRyb2xPcHRpb24sXHJcbiAgWFN3aXRjaENvbnRyb2wsXHJcbiAgWFN3aXRjaENvbnRyb2xPcHRpb24sXHJcbiAgWFJhdGVDb250cm9sLFxyXG4gIFhSYXRlQ29udHJvbE9wdGlvbixcclxuICBYU2xpZGVyU2VsZWN0Q29udHJvbCxcclxuICBYU2xpZGVyU2VsZWN0Q29udHJvbE9wdGlvbixcclxuICBYVGltZVBpY2tlckNvbnRyb2wsXHJcbiAgWFRpbWVQaWNrZXJDb250cm9sT3B0aW9uLFxyXG4gIFhDb2xvclBpY2tlckNvbnRyb2wsXHJcbiAgWENvbG9yUGlja2VyQ29udHJvbE9wdGlvbixcclxuICBYRm9ybUNvbnRyb2wsXHJcbiAgWEZpbmRDb250cm9sLFxyXG4gIFhGaW5kQ29udHJvbE9wdGlvbixcclxuICBYVGV4dGFyZWFDb250cm9sT3B0aW9uLFxyXG4gIFhUZXh0YXJlYUNvbnRyb2wsXHJcbiAgWEF1dG9Db21wbGV0ZUNvbnRyb2wsXHJcbiAgWEF1dG9Db21wbGV0ZUNvbnRyb2xPcHRpb25cclxufSBmcm9tICcuL2Zvcm0ucHJvcGVydHknO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbE5hbWUsIFZhbGlkYXRvcnMsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9yRm4sIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbFN0YXR1cyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhDb25maWdTZXJ2aWNlLCBYSXNGdW5jdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYSTE4bkZvcm0sIFhJMThuU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5pbXBvcnQgeyBYRm9ybUlucHV0VmFsaWRhdG9yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneC1jb250cm9sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udHJvbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhDb250cm9sQ29tcG9uZW50IGV4dGVuZHMgWENvbnRyb2xQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBvdmVycmlkZSBvcHRpb24hOiBYRm9ybUNvbnRyb2xPcHRpb247XHJcbiAgQElucHV0KCkgZm9ybTogYW55O1xyXG4gIEBWaWV3Q2hpbGQoRm9ybUNvbnRyb2xOYW1lKSBjb250cm9sITogRm9ybUNvbnRyb2xOYW1lO1xyXG4gIGxvY2FsZTogWEkxOG5Gb3JtID0ge307XHJcbiAgcHJpdmF0ZSBfc2hhcmVkUHJvcHMgPSBbJ3NwYW4nLCAnZGlyZWN0aW9uJywgJ2p1c3RpZnknLCAnYWxpZ24nLCAnbGFiZWxXaWR0aCcsICdsYWJlbEFsaWduJ107XHJcbiAgcHJpdmF0ZSBfY2hhbmdlUHJvcHMgPSBbJ2xhYmVsJywgLi4udGhpcy5fc2hhcmVkUHJvcHNdO1xyXG4gIHByaXZhdGUgX2NvbnRyb2whOiBYRm9ybUNvbnRyb2xUeXBlO1xyXG4gIHByaXZhdGUgX3ZhbGlkYXRvckZuczogVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBfZm9ybUNvbnRyb2whOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gQEhvc3QoKSBAT3B0aW9uYWwoKSBwdWJsaWMgZm9ybTogWEZvcm1Db21wb25lbnQsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBYSTE4blNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9uID0geyAuLi50aGlzLm9wdGlvbiB9O1xyXG4gICAgdGhpcy5zZXRQcm9wcygpO1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMub3B0aW9uLmxhYmVsKSkgdGhpcy5vcHRpb24ubGFiZWwgPSAnJztcclxuICAgIHRoaXMub3B0aW9uLmxhYmVsID0gYCR7dGhpcy5vcHRpb24ubGFiZWx9JHt0aGlzLmZvcm0ubGFiZWxTdWZmaXh9YDtcclxuICAgIHRoaXMuX2NvbnRyb2wgPSB0aGlzLmNyZWF0ZUNvbnRyb2wodGhpcy5vcHRpb24pO1xyXG4gICAgdGhpcy5fZm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMuX2NvbnRyb2wudmFsdWUsIHsgbm9uTnVsbGFibGU6IHRoaXMuX2NvbnRyb2wubm9uTnVsbGFibGUgfSk7XHJcbiAgICB0aGlzLnNldFZhbGlkYXRvcnMoKTtcclxuICAgIHRoaXMuX2Zvcm1Db250cm9sLnN0YXR1c0NoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0TWVzc2FnZXMoeCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2NvbnRyb2wuc2V0VmFsaWRhdG9ycyA9ICgpID0+IHRoaXMuc2V0VmFsaWRhdG9ycygpO1xyXG4gICAgdGhpcy5mb3JtLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuX2NvbnRyb2wuaWQsIHRoaXMuX2Zvcm1Db250cm9sKTtcclxuICAgIHRoaXMub3B0aW9uLmNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgdGhpcy5fY2hhbmdlUHJvcHMuZm9yRWFjaCgoeDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yICYmIHRoaXMub3B0aW9uW3hdKSB7XHJcbiAgICAgICAgICAodGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgYXMgYW55KVt4XSA9IHRoaXMub3B0aW9uW3hdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9sQ29tcG9uZW50c1t0aGlzLl9jb250cm9sLmlkXS5mb3JtQ29udHJvbENoYW5nZXMoKTtcclxuICAgIH07XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5mb3JtIGFzIFhJMThuRm9ybSksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IhLCB0aGlzLl9jb250cm9sIGFzIENvbnRyb2xWYWx1ZUFjY2Vzc29yKTtcclxuICAgIHRoaXMuZm9ybS5jb250cm9sVHlwZXNbdGhpcy5fY29udHJvbC5pZF0gPSB0aGlzLl9jb250cm9sO1xyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xDb21wb25lbnRzW3RoaXMuX2NvbnRyb2wuaWRdID0gdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgYXMgWEZvcm1Db250cm9sQ29tcG9uZW50O1xyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xDb21wb25lbnRzW3RoaXMuX2NvbnRyb2wuaWRdLmZvcm1Db250cm9sQ2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRWYWxpZGF0b3JzKCkge1xyXG4gICAgdGhpcy5fdmFsaWRhdG9yRm5zID0gW107XHJcbiAgICBpZiAodGhpcy5fY29udHJvbC5kaXNhYmxlZCB8fCB0aGlzLmZvcm0uZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fY29udHJvbC5yZXF1aXJlZCAmJiAhdGhpcy5mb3JtLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuX3ZhbGlkYXRvckZucyA9IFsuLi50aGlzLl92YWxpZGF0b3JGbnMsIFZhbGlkYXRvcnMucmVxdWlyZWRdO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2NvbnRyb2wucGF0dGVybikge1xyXG4gICAgICB0aGlzLnNldFBhdHRlcm4oKTtcclxuICAgIH1cclxuICAgIGlmIChYSXNGdW5jdGlvbih0aGlzLl9jb250cm9sLmlucHV0VmFsaWRhdG9yKSkge1xyXG4gICAgICB0aGlzLl92YWxpZGF0b3JGbnMgPSBbLi4udGhpcy5fdmFsaWRhdG9yRm5zLCBYRm9ybUlucHV0VmFsaWRhdG9yKHRoaXMuX2NvbnRyb2wuaW5wdXRWYWxpZGF0b3IhKV07XHJcbiAgICB9XHJcbiAgICB0aGlzLl9mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMuX3ZhbGlkYXRvckZucyk7XHJcbiAgICB0aGlzLl9mb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBzZXRQcm9wcygpIHtcclxuICAgIGZvciAobGV0IHByb3Agb2YgdGhpcy5fc2hhcmVkUHJvcHMpIHtcclxuICAgICAgaWYgKFhJc0VtcHR5KHRoaXMub3B0aW9uW3Byb3BdKSkgdGhpcy5vcHRpb25bcHJvcF0gPSAodGhpcy5mb3JtIGFzIGFueSlbcHJvcF07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQYXR0ZXJuKCkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5fY29udHJvbC5wYXR0ZXJuKSkge1xyXG4gICAgICBmb3IgKGNvbnN0IHB0IG9mIHRoaXMuX2NvbnRyb2wucGF0dGVybikge1xyXG4gICAgICAgIHRoaXMuX3ZhbGlkYXRvckZucyA9IFsuLi50aGlzLl92YWxpZGF0b3JGbnMsIFZhbGlkYXRvcnMucGF0dGVybihwdCldO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl92YWxpZGF0b3JGbnMgPSBbLi4udGhpcy5fdmFsaWRhdG9yRm5zLCBWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5fY29udHJvbC5wYXR0ZXJuIGFzIFJlZ0V4cCldO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0UGF0dGVybk1zZyhwYXR0ZXJuOiBzdHJpbmcpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2NvbnRyb2wucGF0dGVybikpIHtcclxuICAgICAgcmV0dXJuICh0aGlzLl9jb250cm9sLm1lc3NhZ2UgYXMgQXJyYXk8YW55PilbdGhpcy5fY29udHJvbC5wYXR0ZXJuLmZpbmRJbmRleCgoeCkgPT4gU3RyaW5nKHgpID09PSBwYXR0ZXJuKV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5fY29udHJvbC5tZXNzYWdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0TWVzc2FnZXMoc3RhdGU6IEZvcm1Db250cm9sU3RhdHVzKSB7XHJcbiAgICBsZXQgY29udHJvbDogWEZvcm1Db250cm9sID0gdGhpcy5fZm9ybUNvbnRyb2w7XHJcbiAgICBpZiAoc3RhdGUgPT09ICdJTlZBTElEJyAmJiB0aGlzLl9mb3JtQ29udHJvbC5lcnJvcnMgIT09IG51bGwpIHtcclxuICAgICAgbGV0IG1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBjb250cm9sLmVycm9ycykge1xyXG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5fY29udHJvbC5sYWJlbCB8fCB0aGlzLl9jb250cm9sLmlkO1xyXG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpIHtcclxuICAgICAgICAgIG1lc3NhZ2VzID0gWy4uLm1lc3NhZ2VzLCBgJHtsYWJlbH0gJHt0aGlzLmxvY2FsZT8ucmVxdWlyZWQgfHwgJ3JlcXVpcmVkJ31gXTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ3BhdHRlcm4nKSB7XHJcbiAgICAgICAgICBtZXNzYWdlcyA9IFsuLi5tZXNzYWdlcywgYCR7bGFiZWx9ICR7dGhpcy5nZXRQYXR0ZXJuTXNnKGNvbnRyb2wuZXJyb3JzW2tleV0ucmVxdWlyZWRQYXR0ZXJuKX1gXTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2lucHV0VmFsaWRhdG9yJykge1xyXG4gICAgICAgICAgbWVzc2FnZXMgPSBbLi4ubWVzc2FnZXMsIGAke2xhYmVsfSAke3RoaXMuX2NvbnRyb2wubWVzc2FnZX1gXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgY29udHJvbC5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xyXG4gICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gJ1ZBTElEJykge1xyXG4gICAgICBjb250cm9sLm1lc3NhZ2VzID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVDb250cm9sKG9wdGlvbjogWEZvcm1Db250cm9sT3B0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKG9wdGlvbi5jb250cm9sKSB7XHJcbiAgICAgIGNhc2UgJ2lucHV0JzpcclxuICAgICAgICByZXR1cm4gbmV3IFhJbnB1dENvbnRyb2wob3B0aW9uIGFzIFhJbnB1dENvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdzZWxlY3QnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFNlbGVjdENvbnRyb2wob3B0aW9uIGFzIFhTZWxlY3RDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnY2hlY2tib3gnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWENoZWNrYm94Q29udHJvbChvcHRpb24gYXMgWENoZWNrYm94Q29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ3JhZGlvJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhSYWRpb0NvbnRyb2wob3B0aW9uIGFzIFhSYWRpb0NvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdzd2l0Y2gnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFN3aXRjaENvbnRyb2wob3B0aW9uIGFzIFhTd2l0Y2hDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAncmF0ZSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYUmF0ZUNvbnRyb2wob3B0aW9uIGFzIFhSYXRlQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2RhdGUtcGlja2VyJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhEYXRlUGlja2VyQ29udHJvbChvcHRpb24gYXMgWERhdGVQaWNrZXJDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAndGltZS1waWNrZXInOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFRpbWVQaWNrZXJDb250cm9sKG9wdGlvbiBhcyBYVGltZVBpY2tlckNvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdpbnB1dC1udW1iZXInOlxyXG4gICAgICAgIHJldHVybiBuZXcgWElucHV0TnVtYmVyQ29udHJvbChvcHRpb24gYXMgWElucHV0TnVtYmVyQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ3NsaWRlci1zZWxlY3QnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFNsaWRlclNlbGVjdENvbnRyb2wob3B0aW9uIGFzIFhTbGlkZXJTZWxlY3RDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAnY2FzY2FkZSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYQ2FzY2FkZUNvbnRyb2wob3B0aW9uIGFzIFhDYXNjYWRlQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2NvbG9yLXBpY2tlcic6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYQ29sb3JQaWNrZXJDb250cm9sKG9wdGlvbiBhcyBYQ29sb3JQaWNrZXJDb250cm9sT3B0aW9uKTtcclxuICAgICAgY2FzZSAndGV4dGFyZWEnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWFRleHRhcmVhQ29udHJvbChvcHRpb24gYXMgWFRleHRhcmVhQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGNhc2UgJ2ZpbmQnOlxyXG4gICAgICAgIHJldHVybiBuZXcgWEZpbmRDb250cm9sKG9wdGlvbiBhcyBYRmluZENvbnRyb2xPcHRpb24pO1xyXG4gICAgICBjYXNlICdhdXRvLWNvbXBsZXRlJzpcclxuICAgICAgICByZXR1cm4gbmV3IFhBdXRvQ29tcGxldGVDb250cm9sKG9wdGlvbiBhcyBYQXV0b0NvbXBsZXRlQ29udHJvbE9wdGlvbik7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBYSW5wdXRDb250cm9sKG9wdGlvbiBhcyBYSW5wdXRDb250cm9sT3B0aW9uKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtY29udHJvbFwiIFtmb3JtR3JvdXBdPVwiZm9ybS5mb3JtR3JvdXBcIj5cclxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJvcHRpb24uY29udHJvbFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2lucHV0J1wiPlxyXG4gICAgICA8eC1pbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiIChjbGVhckVtaXQpPVwib3B0aW9uLmNsZWFyQ2xpY2sgJiYgb3B0aW9uLmNsZWFyQ2xpY2soJGV2ZW50KVwiPjwveC1pbnB1dD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIj5cclxuICAgICAgPHgtc2VsZWN0IFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LXNlbGVjdD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2Nhc2NhZGUnXCI+XHJcbiAgICAgIDx4LWNhc2NhZGUgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIiAobm9kZUVtaXQpPVwib3B0aW9uLm5vZGVDbGljayAmJiBvcHRpb24ubm9kZUNsaWNrKCRldmVudClcIj48L3gtY2FzY2FkZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrYm94J1wiPlxyXG4gICAgICA8eC1jaGVja2JveCBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1jaGVja2JveD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbG9yLXBpY2tlcidcIj5cclxuICAgICAgPHgtY29sb3ItcGlja2VyIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LWNvbG9yLXBpY2tlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUtcGlja2VyJ1wiPlxyXG4gICAgICA8eC1kYXRlLXBpY2tlciBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiIChub2RlRW1pdCk9XCJvcHRpb24ubm9kZUNsaWNrICYmIG9wdGlvbi5ub2RlQ2xpY2soJGV2ZW50KVwiPjwveC1kYXRlLXBpY2tlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2lucHV0LW51bWJlcidcIj5cclxuICAgICAgPHgtaW5wdXQtbnVtYmVyIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LWlucHV0LW51bWJlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3JhZGlvJ1wiPlxyXG4gICAgICA8eC1yYWRpbyBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC1yYWRpbz5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3JhdGUnXCI+XHJcbiAgICAgIDx4LXJhdGUgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtcmF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NsaWRlci1zZWxlY3QnXCI+XHJcbiAgICAgIDx4LXNsaWRlci1zZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtc2xpZGVyLXNlbGVjdD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3N3aXRjaCdcIj5cclxuICAgICAgPHgtc3dpdGNoIFtmb3JtQ29udHJvbE5hbWVdPVwib3B0aW9uLmlkXCI+PC94LXN3aXRjaD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RpbWUtcGlja2VyJ1wiPlxyXG4gICAgICA8eC10aW1lLXBpY2tlciBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiPjwveC10aW1lLXBpY2tlcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHRhcmVhJ1wiPlxyXG4gICAgICA8eC10ZXh0YXJlYSBbZm9ybUNvbnRyb2xOYW1lXT1cIm9wdGlvbi5pZFwiIChjbGVhckVtaXQpPVwib3B0aW9uLmNsZWFyQ2xpY2sgJiYgb3B0aW9uLmNsZWFyQ2xpY2soJGV2ZW50KVwiPjwveC10ZXh0YXJlYT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2F1dG8tY29tcGxldGUnXCI+XHJcbiAgICAgIDx4LWF1dG8tY29tcGxldGUgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIiAobm9kZUVtaXQpPVwib3B0aW9uLm5vZGVDbGljayAmJiBvcHRpb24ubm9kZUNsaWNrKCRldmVudClcIj48L3gtYXV0by1jb21wbGV0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ZpbmQnXCI+XHJcbiAgICAgIDx4LWZpbmQgW2Zvcm1Db250cm9sTmFtZV09XCJvcHRpb24uaWRcIj48L3gtZmluZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
@@ -199,4 +199,4 @@ export class XAutoCompleteControl extends XControl {
199
199
  super(option);
200
200
  }
201
201
  }
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2Zvcm0vZm9ybS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBK0IsUUFBUSxFQUFXLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4SCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBZSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZXRFLE9BQU8sRUFBZSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHL0Q7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUM7QUFDcEMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDO0FBTzdCOztHQUVHO0FBQ0gsTUFDYSxhQUFjLFNBQVEsU0FBUztJQUQ1Qzs7UUFFRTs7O1dBR0c7UUFDTSxjQUFTLEdBQXFCLElBQUksZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFxQmhFOzs7V0FHRztRQUNNLGFBQVEsR0FBc0MsRUFBRSxDQUFDO1FBQzFEOzs7V0FHRztRQUNrRCxVQUFLLEdBQVcsTUFBTSxDQUFDO1FBQzVFOzs7V0FHRztRQUNNLGVBQVUsR0FBa0IsRUFBRSxDQUFDO1FBQ3hDOzs7V0FHRztRQUNPLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0tBQ3JEO2lJQTlDWSxhQUFhO3FIQUFiLGFBQWEsNlJBRGtDLEVBQUU7O0FBZ0JLO0lBQXZELFdBQVcsQ0FBVSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQUUsWUFBWSxFQUFFOzRDQUFpQjtBQUt4RDtJQUFmLFlBQVksRUFBRTsyQ0FBZ0I7QUFLVTtJQUF4QyxXQUFXLENBQVUs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QixFQUFFO1FBQ3pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFNRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsUUFBUTtJQUNoRCxZQUFZLFNBQXFDLEVBQUU7UUFDakQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQU1ELE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtJQUMxQyxZQUFZLFNBQStCLEVBQUU7UUFDM0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQU1ELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxRQUFRO0lBQzlDLFlBQVksU0FBbUMsRUFBRTtRQUMvQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBTUQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFFBQVE7SUFDNUMsWUFBWSxTQUFpQyxFQUFFO1FBQzdDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFNRCxNQUFNLE9BQU8sWUFBYSxTQUFRLFFBQVE7SUFDeEMsWUFBWSxTQUE2QixFQUFFO1FBQ3pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFNRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsUUFBUTtJQUNoRCxZQUFZLFNBQXFDLEVBQUU7UUFDakQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhJZGVudGl0eSwgWElkZW50aXR5UHJvcGVydHksIFhCb29sZWFuLCBYSXNFbXB0eSwgWE51bWJlciwgWElucHV0TnVtYmVyLCBYV2l0aENvbmZpZyB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYSW5wdXRPcHRpb24sIFhJbnB1dENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2lucHV0JztcclxuaW1wb3J0IHsgWFNlbGVjdE9wdGlvbiwgWFNlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3NlbGVjdCc7XHJcbmltcG9ydCB7IFhDYXNjYWRlT3B0aW9uLCBYQ2FzY2FkZUNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2Nhc2NhZGUnO1xyXG5pbXBvcnQgeyBYQ2hlY2tib3hPcHRpb24sIFhDaGVja2JveENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2NoZWNrYm94JztcclxuaW1wb3J0IHsgWENvbG9yUGlja2VyT3B0aW9uLCBYQ29sb3JQaWNrZXJDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9jb2xvci1waWNrZXInO1xyXG5pbXBvcnQgeyBYRGF0ZVBpY2tlck9wdGlvbiwgWERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9kYXRlLXBpY2tlcic7XHJcbmltcG9ydCB7IFhJbnB1dE51bWJlck9wdGlvbiwgWElucHV0TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvaW5wdXQtbnVtYmVyJztcclxuaW1wb3J0IHsgWFJhZGlvT3B0aW9uLCBYUmFkaW9Db21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9yYWRpbyc7XHJcbmltcG9ydCB7IFhSYXRlT3B0aW9uLCBYUmF0ZUNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3JhdGUnO1xyXG5pbXBvcnQgeyBYU2xpZGVyU2VsZWN0T3B0aW9uLCBYU2xpZGVyU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvc2xpZGVyLXNlbGVjdCc7XHJcbmltcG9ydCB7IFhTd2l0Y2hPcHRpb24sIFhTd2l0Y2hDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9zd2l0Y2gnO1xyXG5pbXBvcnQgeyBYVGltZVBpY2tlck9wdGlvbiwgWFRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS90aW1lLXBpY2tlcic7XHJcbmltcG9ydCB7IFhUZXh0YXJlYU9wdGlvbiwgWFRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvdGV4dGFyZWEnO1xyXG5pbXBvcnQgeyBYRmluZE9wdGlvbiwgWEZpbmRDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9maW5kJztcclxuaW1wb3J0IHsgWEZvcm1PcHRpb24sIFhGb3JtUHJvcCB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhBdXRvQ29tcGxldGVPcHRpb24sIFhBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9hdXRvLWNvbXBsZXRlJztcclxuXHJcbi8qKlxyXG4gKiBGb3JtXHJcbiAqIEBzZWxlY3RvciB4LWZvcm1cclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYRm9ybVByZWZpeCA9ICd4LWZvcm0nO1xyXG5jb25zdCBYX0NPTkZJR19OQU1FID0gJ2Zvcm0nO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmqKHmnb9cclxuICogQGVuX1VTIFRlbXBsYXRlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYRm9ybVRlbXBsYXRlID0geyBbcHJvcGVydHk6IHN0cmluZ106IFRlbXBsYXRlUmVmPGFueT4gfTtcclxuLyoqXHJcbiAqIEZvcm0gUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WEZvcm1QcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYRm9ybVByb3BlcnR5IGV4dGVuZHMgWEZvcm1Qcm9wIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5Y2VIEZvcm1Hcm91cFxyXG4gICAqIEBlbl9VUyBGb3JtIEZvcm1Hcm91cFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5Y2V5ZCN56ewXHJcbiAgICogQGVuX1VTIEZvcm0gbmFtZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjqfku7bpl7Tot53vvIzljZXkvY1yZW1cclxuICAgKiBAZW5fVVMgQ29udHJvbCBzcGFjaW5nLCB1bml0IHJlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYTnVtYmVyPihYX0NPTkZJR19OQU1FLCAxKSBAWElucHV0TnVtYmVyKCkgc3BhY2U/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjqfku7blrr3luqbvvIwyNOagheagvFxyXG4gICAqIEBlbl9VUyBDb250cm9sIHdpZHRoLCAyNCBncmlkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIHNwYW4/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb7lkI7nvIBcclxuICAgKiBAZW5fVVMgTGFiZWwgc3VmZml4XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhOdW1iZXI+KFhfQ09ORklHX05BTUUsICcnKSBsYWJlbFN1ZmZpeD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5Y2V5o6n5Lu2XHJcbiAgICogQGVuX1VTIEZvcm0gY29udHJvbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbnRyb2xzOiBYRm9ybUNvbnRyb2xPcHRpb25bXSB8IFhGb3JtUm93W10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5Y2V5a695bqmXHJcbiAgICogQGVuX1VTIEZvcm0gd2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FLCAnMTAwJScpIHdpZHRoOiBzdHJpbmcgPSAnMTAwJSc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBjb250cm9sVHBsOiBYRm9ybVRlbXBsYXRlID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIFN1Ym1pdFxyXG4gICAqIEBlbl9VUyBTdWJtaXRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgeFN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8U3VibWl0RXZlbnQ+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5o6n5Lu25a+56LGhXHJcbiAqIEBlbl9VUyBDb250cm9sIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYQ29udHJvbE9wdGlvbiBleHRlbmRzIFhJZGVudGl0eVByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YC8XHJcbiAgICogQGVuX1VTIFZhbHVlXHJcbiAgICovXHJcbiAgdmFsdWU/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaOp+S7tuexu+Wei1xyXG4gICAqIEBlbl9VUyBDb250cm9sIHR5cGVcclxuICAgKi9cclxuICBjb250cm9sPzogWENvbnRyb2xUeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKhcclxuICAgKiBAZW5fVVMgRGlzYWJsZWRcclxuICAgKi9cclxuICBkaXNhYmxlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlj6ror7tcclxuICAgKiBAZW5fVVMgUmVhZCBvbmx5XHJcbiAgICovXHJcbiAgcmVhZG9ubHk/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b+F5aGrXHJcbiAgICogQGVuX1VTIFJlcXVpcmVkXHJcbiAgICovXHJcbiAgcmVxdWlyZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6ZqQ6JePXHJcbiAgICogQGVuX1VTIEhpZGVcclxuICAgKi9cclxuICBoaWRkZW4/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX5a69XHJcbiAgICogQGVuX1VTIENvbHVtbiB3aWR0aFxyXG4gICAqL1xyXG4gIHNwYW4/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOato+WImemqjOivgeinhOWImVxyXG4gICAqIEBlbl9VUyBSZWd1bGFyIHZhbGlkYXRpb24gcnVsZXNcclxuICAgKi9cclxuICBwYXR0ZXJuPzogUmVnRXhwIHwgUmVnRXhwW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmqjOivgeS4jemAmui/h+aPkOekuuaWh+Wtl1xyXG4gICAqIEBlbl9VUyBWZXJpZmljYXRpb24gZmFpbGVkIHByb21wdCB0ZXh0XHJcbiAgICovXHJcbiAgbWVzc2FnZT86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDovpPlhaXmoYbnmoTpqozor4Hlh73mlbBcclxuICAgKiBAZW5fVVMgVmFsaWRhdGlvbiBmdW5jdGlvbiBvZiBpbnB1dCBib3hcclxuICAgKi9cclxuICBpbnB1dFZhbGlkYXRvcj86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJbpg6jmlLnlj5jkuovku7ZcclxuICAgKiBAZW5fVVMgRXh0ZXJuYWwgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgY2hhbmdlPzogKCkgPT4gdm9pZDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGe5oCnXHJcbiAgICogQGVuX1VTIEN1c3RvbSBhdHRyaWJ1dGVzXHJcbiAgICovXHJcbiAgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5o6n5Lu25a+56LGhXHJcbiAqIEBlbl9VUyBDb250cm9sIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFhDb250cm9sIGV4dGVuZHMgWElkZW50aXR5IGltcGxlbWVudHMgWENvbnRyb2xPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlgLxcclxuICAgKiBAZW5fVVMgVmFsdWVcclxuICAgKi9cclxuICB2YWx1ZT86IGFueTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6n5Lu257G75Z6LXHJcbiAgICogQGVuX1VTIENvbnRyb2wgdHlwZVxyXG4gICAqL1xyXG4gIGNvbnRyb2w/OiBYQ29udHJvbFR5cGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlZFxyXG4gICAqL1xyXG4gIGRpc2FibGVkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPquivu1xyXG4gICAqIEBlbl9VUyBSZWFkIG9ubHlcclxuICAgKi9cclxuICByZWFkb25seT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlv4XloatcclxuICAgKiBAZW5fVVMgUmVxdWlyZWRcclxuICAgKi9cclxuICByZXF1aXJlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpmpDol49cclxuICAgKiBAZW5fVVMgSGlkZVxyXG4gICAqL1xyXG4gIGhpZGRlbj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflrr1cclxuICAgKiBAZW5fVVMgQ29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgc3Bhbj86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q2j5YiZ6aqM6K+B6KeE5YiZXHJcbiAgICogQGVuX1VTIFJlZ3VsYXIgdmFsaWRhdGlvbiBydWxlc1xyXG4gICAqL1xyXG4gIHBhdHRlcm4/OiBSZWdFeHAgfCBSZWdFeHBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6aqM6K+B5LiN6YCa6L+H5o+Q56S65paH5a2XXHJcbiAgICogQGVuX1VTIFZlcmlmaWNhdGlvbiBmYWlsZWQgcHJvbXB0IHRleHRcclxuICAgKi9cclxuICBtZXNzYWdlPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeahhueahOmqjOivgeWHveaVsFxyXG4gICAqIEBlbl9VUyBWYWxpZGF0aW9uIGZ1bmN0aW9uIG9mIGlucHV0IGJveFxyXG4gICAqL1xyXG4gIGlucHV0VmFsaWRhdG9yPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWklumDqOaUueWPmOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFeHRlcm5hbCBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBjaGFuZ2U/OiAoKSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDorr7nva7pqozor4FcclxuICAgKiBAZW5fVVMgU2V0IHZlcmlmaWNhdGlvblxyXG4gICAqL1xyXG4gIHNldFZhbGlkYXRvcnM/OiAoKSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZ7mgKdcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGF0dHJpYnV0ZXNcclxuICAgKi9cclxuICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMudmFsdWUpKSB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOihqOWNleihjOWvueixoVxyXG4gKiBAZW5fVVMgRm9ybSByb3cgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhGb3JtUm93IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5qCH6aKYXHJcbiAgICogQGVuX1VTIFJvdyBoZWFkZXJcclxuICAgKi9cclxuICB0aXRsZT86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5Zu+5qCHXHJcbiAgICogQGVuX1VTIFJvdyBpY29uXHJcbiAgICovXHJcbiAgaWNvbj86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5Lit55qE5o6n5Lu2XHJcbiAgICogQGVuX1VTIENvbnRyb2wgaW4gcm93XHJcbiAgICovXHJcbiAgY29udHJvbHM6IFhGb3JtQ29udHJvbE9wdGlvbltdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpmpDol49cclxuICAgKiBAZW5fVVMgSGlkZGVuXHJcbiAgICovXHJcbiAgaGlkZGVuPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb250cm9sXHJcbiAqIEBzZWxlY3RvciB4LWNvbnRyb2xcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYQ29udHJvbFByZWZpeCA9ICd4LWNvbnRyb2wnO1xyXG5cclxuLyoqXHJcbiAqIENvbnRyb2wgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WENvbnRyb2xQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYQ29udHJvbFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6n5Lu25a+56LGhXHJcbiAgICogQGVuX1VTIENvbnRyb2wgb2JqZWN0XHJcbiAgICovXHJcbiAgQElucHV0KCkgb3B0aW9uPzogWENvbnRyb2xPcHRpb247XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYRm9ybUNvbnRyb2wgZXh0ZW5kcyBVbnR5cGVkRm9ybUNvbnRyb2wge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmj5DnpLrkv6Hmga9cclxuICAgKiBAZW5fVVMgUHJvbXB0IGluZm9ybWF0aW9uXHJcbiAgICovXHJcbiAgbWVzc2FnZXM/OiBzdHJpbmdbXSA9IFtdO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBYRm9ybUNvbnRyb2xPcHRpb24gPVxyXG4gIHwgWElucHV0Q29udHJvbE9wdGlvblxyXG4gIHwgWFNlbGVjdENvbnRyb2xPcHRpb25cclxuICB8IFhDYXNjYWRlQ29udHJvbE9wdGlvblxyXG4gIHwgWENoZWNrYm94Q29udHJvbE9wdGlvblxyXG4gIHwgWENvbG9yUGlja2VyQ29udHJvbE9wdGlvblxyXG4gIHwgWERhdGVQaWNrZXJDb250cm9sT3B0aW9uXHJcbiAgfCBYSW5wdXROdW1iZXJDb250cm9sT3B0aW9uXHJcbiAgfCBYUmFkaW9Db250cm9sT3B0aW9uXHJcbiAgfCBYUmF0ZUNvbnRyb2xPcHRpb25cclxuICB8IFhTbGlkZXJTZWxlY3RDb250cm9sT3B0aW9uXHJcbiAgfCBYU3dpdGNoQ29udHJvbE9wdGlvblxyXG4gIHwgWFRpbWVQaWNrZXJDb250cm9sT3B0aW9uXHJcbiAgfCBYRmluZENvbnRyb2xPcHRpb25cclxuICB8IFhUZW1wbGF0ZUNvbnRyb2xPcHRpb247XHJcblxyXG5leHBvcnQgdHlwZSBYRm9ybUNvbnRyb2xDb21wb25lbnQgPVxyXG4gIHwgWElucHV0Q29tcG9uZW50XHJcbiAgfCBYU2VsZWN0Q29tcG9uZW50XHJcbiAgfCBYQ2FzY2FkZUNvbXBvbmVudFxyXG4gIHwgWENoZWNrYm94Q29tcG9uZW50XHJcbiAgfCBYQ29sb3JQaWNrZXJDb21wb25lbnRcclxuICB8IFhEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgfCBYSW5wdXROdW1iZXJDb21wb25lbnRcclxuICB8IFhSYWRpb0NvbXBvbmVudFxyXG4gIHwgWFJhdGVDb21wb25lbnRcclxuICB8IFhTbGlkZXJTZWxlY3RDb21wb25lbnRcclxuICB8IFhTd2l0Y2hDb21wb25lbnRcclxuICB8IFhUaW1lUGlja2VyQ29tcG9uZW50XHJcbiAgfCBYVGV4dGFyZWFDb21wb25lbnRcclxuICB8IFhGaW5kQ29tcG9uZW50XHJcbiAgfCBYQXV0b0NvbXBsZXRlQ29tcG9uZW50O1xyXG5cclxuZXhwb3J0IHR5cGUgWEZvcm1Db250cm9sVHlwZSA9XHJcbiAgfCBYSW5wdXRDb250cm9sXHJcbiAgfCBYU2VsZWN0Q29udHJvbFxyXG4gIHwgWENhc2NhZGVDb250cm9sXHJcbiAgfCBYQ2hlY2tib3hDb250cm9sXHJcbiAgfCBYQ29sb3JQaWNrZXJDb250cm9sXHJcbiAgfCBYRGF0ZVBpY2tlckNvbnRyb2xcclxuICB8IFhJbnB1dE51bWJlckNvbnRyb2xcclxuICB8IFhSYWRpb0NvbnRyb2xcclxuICB8IFhSYXRlQ29udHJvbFxyXG4gIHwgWFNsaWRlclNlbGVjdENvbnRyb2xcclxuICB8IFhTd2l0Y2hDb250cm9sXHJcbiAgfCBYVGltZVBpY2tlckNvbnRyb2xcclxuICB8IFhUZXh0YXJlYUNvbnRyb2xcclxuICB8IFhGaW5kQ29udHJvbFxyXG4gIHwgWEF1dG9Db21wbGV0ZUNvbnRyb2w7XHJcblxyXG5leHBvcnQgdHlwZSBYQ29udHJvbFR5cGUgPVxyXG4gIHwgJ2lucHV0J1xyXG4gIHwgJ3NlbGVjdCdcclxuICB8ICdjYXNjYWRlJ1xyXG4gIHwgJ2NoZWNrYm94J1xyXG4gIHwgJ2NvbG9yLXBpY2tlcidcclxuICB8ICdkYXRlLXBpY2tlcidcclxuICB8ICdpbnB1dC1udW1iZXInXHJcbiAgfCAncmFkaW8nXHJcbiAgfCAncmF0ZSdcclxuICB8ICdzbGlkZXItc2VsZWN0J1xyXG4gIHwgJ3N3aXRjaCdcclxuICB8ICd0aW1lLXBpY2tlcidcclxuICB8ICd0ZXh0YXJlYSdcclxuICB8ICdmaW5kJ1xyXG4gIHwgJ2F1dG8tY29tcGxldGUnXHJcbiAgfCAndGVtcGxhdGUnO1xyXG5cclxuLyoqXHJcbiAqIElucHV0IENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElucHV0Q29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYSW5wdXRPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhJbnB1dENvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYSW5wdXRDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU2VsZWN0IENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNlbGVjdENvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWFNlbGVjdE9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWFNlbGVjdENvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYU2VsZWN0Q29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIENhc2NhZGUgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FzY2FkZUNvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWENhc2NhZGVPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhDYXNjYWRlQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhDYXNjYWRlQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrYm94IENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENoZWNrYm94Q29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYQ2hlY2tib3hPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhDaGVja2JveENvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYQ2hlY2tib3hDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQ29sb3JQaWNrZXIgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYQ29sb3JQaWNrZXJDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhDb2xvclBpY2tlck9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWENvbG9yUGlja2VyQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhDb2xvclBpY2tlckNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEYXRlUGlja2VyIENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERhdGVQaWNrZXJDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhEYXRlUGlja2VyT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYRGF0ZVBpY2tlckNvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYRGF0ZVBpY2tlckNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbnB1dE51bWJlciBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dE51bWJlckNvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWElucHV0TnVtYmVyT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYSW5wdXROdW1iZXJDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWElucHV0TnVtYmVyQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJhZGlvIENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJhZGlvQ29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYUmFkaW9PcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhSYWRpb0NvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYUmFkaW9Db250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogUmF0ZSBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhSYXRlQ29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYUmF0ZU9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWFJhdGVDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWFJhdGVDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU2xpZGVyU2VsZWN0IENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNsaWRlclNlbGVjdENvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWFNsaWRlclNlbGVjdE9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWFNsaWRlclNlbGVjdENvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYU2xpZGVyU2VsZWN0Q29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFN3aXRjaCBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTd2l0Y2hDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhTd2l0Y2hPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhTd2l0Y2hDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWFN3aXRjaENvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaW1lUGlja2VyIENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRpbWVQaWNrZXJDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhUaW1lUGlja2VyT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYVGltZVBpY2tlckNvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYVGltZVBpY2tlckNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUZXh0YXJlYSBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUZXh0YXJlYUNvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWFRleHRhcmVhT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYVGV4dGFyZWFDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWFRleHRhcmVhQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEZpbmQgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYRmluZENvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWEZpbmRPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhGaW5kQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhGaW5kQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEF1dG9Db21wbGV0ZSBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhBdXRvQ29tcGxldGVDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhBdXRvQ29tcGxldGVPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhBdXRvQ29tcGxldGVDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWEF1dG9Db21wbGV0ZUNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUZW1wbGF0ZSBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUZW1wbGF0ZUNvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWEZvcm1PcHRpb24ge31cclxuIl19
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2Zvcm0vZm9ybS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBK0IsUUFBUSxFQUFXLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4SCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBZSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZXRFLE9BQU8sRUFBZSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHL0Q7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUM7QUFDcEMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDO0FBTzdCOztHQUVHO0FBQ0gsTUFDYSxhQUFjLFNBQVEsU0FBUztJQUQ1Qzs7UUFFRTs7O1dBR0c7UUFDTSxjQUFTLEdBQXFCLElBQUksZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFxQmhFOzs7V0FHRztRQUNNLGFBQVEsR0FBc0MsRUFBRSxDQUFDO1FBQzFEOzs7V0FHRztRQUNrRCxVQUFLLEdBQVcsTUFBTSxDQUFDO1FBQzVFOzs7V0FHRztRQUNNLGVBQVUsR0FBa0IsRUFBRSxDQUFDO1FBQ3hDOzs7V0FHRztRQUNPLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0tBQ3JEO2lJQTlDWSxhQUFhO3FIQUFiLGFBQWEsNlJBRGtDLEVBQUU7O0FBZ0JLO0lBQXZELFdBQVcsQ0FBVSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQUUsWUFBWSxFQUFFOzRDQUFpQjtBQUt4RDtJQUFmLFlBQVksRUFBRTsyQ0FBZ0I7QUFLVTtJQUF4QyxXQUFXLENBQVUs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QixFQUFFO1FBQ3pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFNRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsUUFBUTtJQUNoRCxZQUFZLFNBQXFDLEVBQUU7UUFDakQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQU1ELE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtJQUMxQyxZQUFZLFNBQStCLEVBQUU7UUFDM0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQU1ELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxRQUFRO0lBQzlDLFlBQVksU0FBbUMsRUFBRTtRQUMvQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBTUQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFFBQVE7SUFDNUMsWUFBWSxTQUFpQyxFQUFFO1FBQzdDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFNRCxNQUFNLE9BQU8sWUFBYSxTQUFRLFFBQVE7SUFDeEMsWUFBWSxTQUE2QixFQUFFO1FBQ3pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFNRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsUUFBUTtJQUNoRCxZQUFZLFNBQXFDLEVBQUU7UUFDakQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhJZGVudGl0eSwgWElkZW50aXR5UHJvcGVydHksIFhCb29sZWFuLCBYSXNFbXB0eSwgWE51bWJlciwgWElucHV0TnVtYmVyLCBYV2l0aENvbmZpZyB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYSW5wdXRPcHRpb24sIFhJbnB1dENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2lucHV0JztcclxuaW1wb3J0IHsgWFNlbGVjdE9wdGlvbiwgWFNlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3NlbGVjdCc7XHJcbmltcG9ydCB7IFhDYXNjYWRlT3B0aW9uLCBYQ2FzY2FkZUNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2Nhc2NhZGUnO1xyXG5pbXBvcnQgeyBYQ2hlY2tib3hPcHRpb24sIFhDaGVja2JveENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2NoZWNrYm94JztcclxuaW1wb3J0IHsgWENvbG9yUGlja2VyT3B0aW9uLCBYQ29sb3JQaWNrZXJDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9jb2xvci1waWNrZXInO1xyXG5pbXBvcnQgeyBYRGF0ZVBpY2tlck9wdGlvbiwgWERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9kYXRlLXBpY2tlcic7XHJcbmltcG9ydCB7IFhJbnB1dE51bWJlck9wdGlvbiwgWElucHV0TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvaW5wdXQtbnVtYmVyJztcclxuaW1wb3J0IHsgWFJhZGlvT3B0aW9uLCBYUmFkaW9Db21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9yYWRpbyc7XHJcbmltcG9ydCB7IFhSYXRlT3B0aW9uLCBYUmF0ZUNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3JhdGUnO1xyXG5pbXBvcnQgeyBYU2xpZGVyU2VsZWN0T3B0aW9uLCBYU2xpZGVyU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvc2xpZGVyLXNlbGVjdCc7XHJcbmltcG9ydCB7IFhTd2l0Y2hPcHRpb24sIFhTd2l0Y2hDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9zd2l0Y2gnO1xyXG5pbXBvcnQgeyBYVGltZVBpY2tlck9wdGlvbiwgWFRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS90aW1lLXBpY2tlcic7XHJcbmltcG9ydCB7IFhUZXh0YXJlYU9wdGlvbiwgWFRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvdGV4dGFyZWEnO1xyXG5pbXBvcnQgeyBYRmluZE9wdGlvbiwgWEZpbmRDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9maW5kJztcclxuaW1wb3J0IHsgWEZvcm1PcHRpb24sIFhGb3JtUHJvcCB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhBdXRvQ29tcGxldGVPcHRpb24sIFhBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9hdXRvLWNvbXBsZXRlJztcclxuXHJcbi8qKlxyXG4gKiBGb3JtXHJcbiAqIEBzZWxlY3RvciB4LWZvcm1cclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYRm9ybVByZWZpeCA9ICd4LWZvcm0nO1xyXG5jb25zdCBYX0NPTkZJR19OQU1FID0gJ2Zvcm0nO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmqKHmnb9cclxuICogQGVuX1VTIFRlbXBsYXRlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYRm9ybVRlbXBsYXRlID0geyBbcHJvcGVydHk6IHN0cmluZ106IFRlbXBsYXRlUmVmPGFueT4gfTtcclxuLyoqXHJcbiAqIEZvcm0gUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WEZvcm1QcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYRm9ybVByb3BlcnR5IGV4dGVuZHMgWEZvcm1Qcm9wIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5Y2VIEZvcm1Hcm91cFxyXG4gICAqIEBlbl9VUyBGb3JtIEZvcm1Hcm91cFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5Y2V5ZCN56ewXHJcbiAgICogQGVuX1VTIEZvcm0gbmFtZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjqfku7bpl7Tot53vvIzljZXkvY1yZW1cclxuICAgKiBAZW5fVVMgQ29udHJvbCBzcGFjaW5nLCB1bml0IHJlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYTnVtYmVyPihYX0NPTkZJR19OQU1FLCAxKSBAWElucHV0TnVtYmVyKCkgc3BhY2U/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjqfku7blrr3luqbvvIwyNOagheagvFxyXG4gICAqIEBlbl9VUyBDb250cm9sIHdpZHRoLCAyNCBncmlkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIHNwYW4/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIfnrb7lkI7nvIBcclxuICAgKiBAZW5fVVMgTGFiZWwgc3VmZml4XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhOdW1iZXI+KFhfQ09ORklHX05BTUUsICcnKSBsYWJlbFN1ZmZpeD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5Y2V5o6n5Lu2XHJcbiAgICogQGVuX1VTIEZvcm0gY29udHJvbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbnRyb2xzOiBYRm9ybUNvbnRyb2xPcHRpb25bXSB8IFhGb3JtUm93W10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5Y2V5a695bqmXHJcbiAgICogQGVuX1VTIEZvcm0gd2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FLCAnMTAwJScpIHdpZHRoOiBzdHJpbmcgPSAnMTAwJSc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBDdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBjb250cm9sVHBsOiBYRm9ybVRlbXBsYXRlID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIFN1Ym1pdFxyXG4gICAqIEBlbl9VUyBTdWJtaXRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgeFN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8U3VibWl0RXZlbnQ+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5o6n5Lu25a+56LGhXHJcbiAqIEBlbl9VUyBDb250cm9sIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYQ29udHJvbE9wdGlvbiBleHRlbmRzIFhJZGVudGl0eVByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YC8XHJcbiAgICogQGVuX1VTIFZhbHVlXHJcbiAgICovXHJcbiAgdmFsdWU/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIneWni+m7mOiupOWAvFxyXG4gICAqIEBlbl9VUyBEZWZhdWx0IHZhbHVlXHJcbiAgICovXHJcbiAgZGVmYXVsdFZhbHVlPzogYW55O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjqfku7bnsbvlnotcclxuICAgKiBAZW5fVVMgQ29udHJvbCB0eXBlXHJcbiAgICovXHJcbiAgY29udHJvbD86IFhDb250cm9sVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55SoXHJcbiAgICogQGVuX1VTIERpc2FibGVkXHJcbiAgICovXHJcbiAgZGlzYWJsZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+q6K+7XHJcbiAgICogQGVuX1VTIFJlYWQgb25seVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW/heWhq1xyXG4gICAqIEBlbl9VUyBSZXF1aXJlZFxyXG4gICAqL1xyXG4gIHJlcXVpcmVkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmakOiXj1xyXG4gICAqIEBlbl9VUyBIaWRlXHJcbiAgICovXHJcbiAgaGlkZGVuPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+WuvVxyXG4gICAqIEBlbl9VUyBDb2x1bW4gd2lkdGhcclxuICAgKi9cclxuICBzcGFuPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPliJnpqozor4Hop4TliJlcclxuICAgKiBAZW5fVVMgUmVndWxhciB2YWxpZGF0aW9uIHJ1bGVzXHJcbiAgICovXHJcbiAgcGF0dGVybj86IFJlZ0V4cCB8IFJlZ0V4cFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpqozor4HkuI3pgJrov4fmj5DnpLrmloflrZdcclxuICAgKiBAZW5fVVMgVmVyaWZpY2F0aW9uIGZhaWxlZCBwcm9tcHQgdGV4dFxyXG4gICAqL1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6L6T5YWl5qGG55qE6aqM6K+B5Ye95pWwXHJcbiAgICogQGVuX1VTIFZhbGlkYXRpb24gZnVuY3Rpb24gb2YgaW5wdXQgYm94XHJcbiAgICovXHJcbiAgaW5wdXRWYWxpZGF0b3I/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSW6YOo5pS55Y+Y5LqL5Lu2XHJcbiAgICogQGVuX1VTIEV4dGVybmFsIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIGNoYW5nZT86ICgpID0+IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaOp+S7tuWvueixoVxyXG4gKiBAZW5fVVMgQ29udHJvbCBvYmplY3RcclxuICovXHJcbmV4cG9ydCBjbGFzcyBYQ29udHJvbCBleHRlbmRzIFhJZGVudGl0eSBpbXBsZW1lbnRzIFhDb250cm9sT3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YC8XHJcbiAgICogQGVuX1VTIFZhbHVlXHJcbiAgICovXHJcbiAgdmFsdWU/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+i/meS4qu+8jOaJp+ihjCByZXNldCDnmoTml7blgJnliJ3lp4vkuLrorr7nva7nmoQgdmFsdWXvvIzpu5jorqTkuLogbnVsbFxyXG4gICAqIEBlbl9VUyBFbmFibGUgdGhpcy4gV2hlbiBwZXJmb3JtaW5nIGEgcmVzZXQsIHRoZSBpbml0aWFsIHZhbHVlIGlzIHRoZSBzZXQgdmFsdWUsIHdoaWNoIGRlZmF1bHRzIHRvIG51bGxcclxuICAgKi9cclxuICBub25OdWxsYWJsZT86IGFueTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6n5Lu257G75Z6LXHJcbiAgICogQGVuX1VTIENvbnRyb2wgdHlwZVxyXG4gICAqL1xyXG4gIGNvbnRyb2w/OiBYQ29udHJvbFR5cGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlZFxyXG4gICAqL1xyXG4gIGRpc2FibGVkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPquivu1xyXG4gICAqIEBlbl9VUyBSZWFkIG9ubHlcclxuICAgKi9cclxuICByZWFkb25seT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlv4XloatcclxuICAgKiBAZW5fVVMgUmVxdWlyZWRcclxuICAgKi9cclxuICByZXF1aXJlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpmpDol49cclxuICAgKiBAZW5fVVMgSGlkZVxyXG4gICAqL1xyXG4gIGhpZGRlbj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJflrr1cclxuICAgKiBAZW5fVVMgQ29sdW1uIHdpZHRoXHJcbiAgICovXHJcbiAgc3Bhbj86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q2j5YiZ6aqM6K+B6KeE5YiZXHJcbiAgICogQGVuX1VTIFJlZ3VsYXIgdmFsaWRhdGlvbiBydWxlc1xyXG4gICAqL1xyXG4gIHBhdHRlcm4/OiBSZWdFeHAgfCBSZWdFeHBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6aqM6K+B5LiN6YCa6L+H5o+Q56S65paH5a2XXHJcbiAgICogQGVuX1VTIFZlcmlmaWNhdGlvbiBmYWlsZWQgcHJvbXB0IHRleHRcclxuICAgKi9cclxuICBtZXNzYWdlPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi+k+WFpeahhueahOmqjOivgeWHveaVsFxyXG4gICAqIEBlbl9VUyBWYWxpZGF0aW9uIGZ1bmN0aW9uIG9mIGlucHV0IGJveFxyXG4gICAqL1xyXG4gIGlucHV0VmFsaWRhdG9yPzogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWklumDqOaUueWPmOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFeHRlcm5hbCBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBjaGFuZ2U/OiAoKSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDorr7nva7pqozor4FcclxuICAgKiBAZW5fVVMgU2V0IHZlcmlmaWNhdGlvblxyXG4gICAqL1xyXG4gIHNldFZhbGlkYXRvcnM/OiAoKSA9PiB2b2lkO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZ7mgKdcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGF0dHJpYnV0ZXNcclxuICAgKi9cclxuICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMudmFsdWUpKSB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOihqOWNleihjOWvueixoVxyXG4gKiBAZW5fVVMgRm9ybSByb3cgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhGb3JtUm93IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5qCH6aKYXHJcbiAgICogQGVuX1VTIFJvdyBoZWFkZXJcclxuICAgKi9cclxuICB0aXRsZT86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5Zu+5qCHXHJcbiAgICogQGVuX1VTIFJvdyBpY29uXHJcbiAgICovXHJcbiAgaWNvbj86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGM5Lit55qE5o6n5Lu2XHJcbiAgICogQGVuX1VTIENvbnRyb2wgaW4gcm93XHJcbiAgICovXHJcbiAgY29udHJvbHM6IFhGb3JtQ29udHJvbE9wdGlvbltdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpmpDol49cclxuICAgKiBAZW5fVVMgSGlkZGVuXHJcbiAgICovXHJcbiAgaGlkZGVuPzogWEJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb250cm9sXHJcbiAqIEBzZWxlY3RvciB4LWNvbnRyb2xcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYQ29udHJvbFByZWZpeCA9ICd4LWNvbnRyb2wnO1xyXG5cclxuLyoqXHJcbiAqIENvbnRyb2wgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WENvbnRyb2xQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYQ29udHJvbFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6n5Lu25a+56LGhXHJcbiAgICogQGVuX1VTIENvbnRyb2wgb2JqZWN0XHJcbiAgICovXHJcbiAgQElucHV0KCkgb3B0aW9uPzogWENvbnRyb2xPcHRpb247XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYRm9ybUNvbnRyb2wgZXh0ZW5kcyBVbnR5cGVkRm9ybUNvbnRyb2wge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmj5DnpLrkv6Hmga9cclxuICAgKiBAZW5fVVMgUHJvbXB0IGluZm9ybWF0aW9uXHJcbiAgICovXHJcbiAgbWVzc2FnZXM/OiBzdHJpbmdbXSA9IFtdO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBYRm9ybUNvbnRyb2xPcHRpb24gPVxyXG4gIHwgWElucHV0Q29udHJvbE9wdGlvblxyXG4gIHwgWFNlbGVjdENvbnRyb2xPcHRpb25cclxuICB8IFhDYXNjYWRlQ29udHJvbE9wdGlvblxyXG4gIHwgWENoZWNrYm94Q29udHJvbE9wdGlvblxyXG4gIHwgWENvbG9yUGlja2VyQ29udHJvbE9wdGlvblxyXG4gIHwgWERhdGVQaWNrZXJDb250cm9sT3B0aW9uXHJcbiAgfCBYSW5wdXROdW1iZXJDb250cm9sT3B0aW9uXHJcbiAgfCBYUmFkaW9Db250cm9sT3B0aW9uXHJcbiAgfCBYUmF0ZUNvbnRyb2xPcHRpb25cclxuICB8IFhTbGlkZXJTZWxlY3RDb250cm9sT3B0aW9uXHJcbiAgfCBYU3dpdGNoQ29udHJvbE9wdGlvblxyXG4gIHwgWFRpbWVQaWNrZXJDb250cm9sT3B0aW9uXHJcbiAgfCBYRmluZENvbnRyb2xPcHRpb25cclxuICB8IFhUZW1wbGF0ZUNvbnRyb2xPcHRpb247XHJcblxyXG5leHBvcnQgdHlwZSBYRm9ybUNvbnRyb2xDb21wb25lbnQgPVxyXG4gIHwgWElucHV0Q29tcG9uZW50XHJcbiAgfCBYU2VsZWN0Q29tcG9uZW50XHJcbiAgfCBYQ2FzY2FkZUNvbXBvbmVudFxyXG4gIHwgWENoZWNrYm94Q29tcG9uZW50XHJcbiAgfCBYQ29sb3JQaWNrZXJDb21wb25lbnRcclxuICB8IFhEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgfCBYSW5wdXROdW1iZXJDb21wb25lbnRcclxuICB8IFhSYWRpb0NvbXBvbmVudFxyXG4gIHwgWFJhdGVDb21wb25lbnRcclxuICB8IFhTbGlkZXJTZWxlY3RDb21wb25lbnRcclxuICB8IFhTd2l0Y2hDb21wb25lbnRcclxuICB8IFhUaW1lUGlja2VyQ29tcG9uZW50XHJcbiAgfCBYVGV4dGFyZWFDb21wb25lbnRcclxuICB8IFhGaW5kQ29tcG9uZW50XHJcbiAgfCBYQXV0b0NvbXBsZXRlQ29tcG9uZW50O1xyXG5cclxuZXhwb3J0IHR5cGUgWEZvcm1Db250cm9sVHlwZSA9XHJcbiAgfCBYSW5wdXRDb250cm9sXHJcbiAgfCBYU2VsZWN0Q29udHJvbFxyXG4gIHwgWENhc2NhZGVDb250cm9sXHJcbiAgfCBYQ2hlY2tib3hDb250cm9sXHJcbiAgfCBYQ29sb3JQaWNrZXJDb250cm9sXHJcbiAgfCBYRGF0ZVBpY2tlckNvbnRyb2xcclxuICB8IFhJbnB1dE51bWJlckNvbnRyb2xcclxuICB8IFhSYWRpb0NvbnRyb2xcclxuICB8IFhSYXRlQ29udHJvbFxyXG4gIHwgWFNsaWRlclNlbGVjdENvbnRyb2xcclxuICB8IFhTd2l0Y2hDb250cm9sXHJcbiAgfCBYVGltZVBpY2tlckNvbnRyb2xcclxuICB8IFhUZXh0YXJlYUNvbnRyb2xcclxuICB8IFhGaW5kQ29udHJvbFxyXG4gIHwgWEF1dG9Db21wbGV0ZUNvbnRyb2w7XHJcblxyXG5leHBvcnQgdHlwZSBYQ29udHJvbFR5cGUgPVxyXG4gIHwgJ2lucHV0J1xyXG4gIHwgJ3NlbGVjdCdcclxuICB8ICdjYXNjYWRlJ1xyXG4gIHwgJ2NoZWNrYm94J1xyXG4gIHwgJ2NvbG9yLXBpY2tlcidcclxuICB8ICdkYXRlLXBpY2tlcidcclxuICB8ICdpbnB1dC1udW1iZXInXHJcbiAgfCAncmFkaW8nXHJcbiAgfCAncmF0ZSdcclxuICB8ICdzbGlkZXItc2VsZWN0J1xyXG4gIHwgJ3N3aXRjaCdcclxuICB8ICd0aW1lLXBpY2tlcidcclxuICB8ICd0ZXh0YXJlYSdcclxuICB8ICdmaW5kJ1xyXG4gIHwgJ2F1dG8tY29tcGxldGUnXHJcbiAgfCAndGVtcGxhdGUnO1xyXG5cclxuLyoqXHJcbiAqIElucHV0IENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWElucHV0Q29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYSW5wdXRPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhJbnB1dENvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYSW5wdXRDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU2VsZWN0IENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNlbGVjdENvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWFNlbGVjdE9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWFNlbGVjdENvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYU2VsZWN0Q29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIENhc2NhZGUgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYQ2FzY2FkZUNvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWENhc2NhZGVPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhDYXNjYWRlQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhDYXNjYWRlQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrYm94IENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWENoZWNrYm94Q29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYQ2hlY2tib3hPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhDaGVja2JveENvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYQ2hlY2tib3hDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQ29sb3JQaWNrZXIgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYQ29sb3JQaWNrZXJDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhDb2xvclBpY2tlck9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWENvbG9yUGlja2VyQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhDb2xvclBpY2tlckNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEYXRlUGlja2VyIENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERhdGVQaWNrZXJDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhEYXRlUGlja2VyT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYRGF0ZVBpY2tlckNvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYRGF0ZVBpY2tlckNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbnB1dE51bWJlciBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhJbnB1dE51bWJlckNvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWElucHV0TnVtYmVyT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYSW5wdXROdW1iZXJDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWElucHV0TnVtYmVyQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJhZGlvIENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFJhZGlvQ29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYUmFkaW9PcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhSYWRpb0NvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYUmFkaW9Db250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogUmF0ZSBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhSYXRlQ29udHJvbE9wdGlvbiBleHRlbmRzIFhDb250cm9sT3B0aW9uLCBYUmF0ZU9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWFJhdGVDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWFJhdGVDb250cm9sT3B0aW9uID0ge30pIHtcclxuICAgIHN1cGVyKG9wdGlvbik7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU2xpZGVyU2VsZWN0IENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFNsaWRlclNlbGVjdENvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWFNsaWRlclNlbGVjdE9wdGlvbiB7fVxyXG5leHBvcnQgY2xhc3MgWFNsaWRlclNlbGVjdENvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYU2xpZGVyU2VsZWN0Q29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFN3aXRjaCBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhTd2l0Y2hDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhTd2l0Y2hPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhTd2l0Y2hDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWFN3aXRjaENvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaW1lUGlja2VyIENvbnRyb2xcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRpbWVQaWNrZXJDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhUaW1lUGlja2VyT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYVGltZVBpY2tlckNvbnRyb2wgZXh0ZW5kcyBYQ29udHJvbCB7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9uOiBYVGltZVBpY2tlckNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUZXh0YXJlYSBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUZXh0YXJlYUNvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWFRleHRhcmVhT3B0aW9uIHt9XHJcbmV4cG9ydCBjbGFzcyBYVGV4dGFyZWFDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWFRleHRhcmVhQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEZpbmQgQ29udHJvbFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYRmluZENvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWEZpbmRPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhGaW5kQ29udHJvbCBleHRlbmRzIFhDb250cm9sIHtcclxuICBjb25zdHJ1Y3RvcihvcHRpb246IFhGaW5kQ29udHJvbE9wdGlvbiA9IHt9KSB7XHJcbiAgICBzdXBlcihvcHRpb24pO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEF1dG9Db21wbGV0ZSBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhBdXRvQ29tcGxldGVDb250cm9sT3B0aW9uIGV4dGVuZHMgWENvbnRyb2xPcHRpb24sIFhBdXRvQ29tcGxldGVPcHRpb24ge31cclxuZXhwb3J0IGNsYXNzIFhBdXRvQ29tcGxldGVDb250cm9sIGV4dGVuZHMgWENvbnRyb2wge1xyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbjogWEF1dG9Db21wbGV0ZUNvbnRyb2xPcHRpb24gPSB7fSkge1xyXG4gICAgc3VwZXIob3B0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUZW1wbGF0ZSBDb250cm9sXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUZW1wbGF0ZUNvbnRyb2xPcHRpb24gZXh0ZW5kcyBYQ29udHJvbE9wdGlvbiwgWEZvcm1PcHRpb24ge31cclxuIl19