@ng-matero/extensions 10.16.1 → 10.16.5

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 (116) hide show
  1. package/alert/_alert-theme.scss +20 -20
  2. package/alert/alert.component.d.ts +4 -3
  3. package/alert/mtxAlert.metadata.json +1 -1
  4. package/bundles/mtxAlert.umd.js +3 -3
  5. package/bundles/mtxAlert.umd.js.map +1 -1
  6. package/bundles/mtxAlert.umd.min.js.map +1 -1
  7. package/bundles/{ng-matero-extensions-button.umd.js → mtxButton.umd.js} +2 -2
  8. package/bundles/mtxButton.umd.js.map +1 -0
  9. package/bundles/{ng-matero-extensions-button.umd.min.js → mtxButton.umd.min.js} +1 -1
  10. package/bundles/{ng-matero-extensions-button.umd.min.js.map → mtxButton.umd.min.js.map} +0 -0
  11. package/bundles/mtxCheckboxGroup.umd.js +87 -22
  12. package/bundles/mtxCheckboxGroup.umd.js.map +1 -1
  13. package/bundles/mtxCheckboxGroup.umd.min.js +1 -1
  14. package/bundles/mtxCheckboxGroup.umd.min.js.map +1 -1
  15. package/bundles/mtxColorPicker.umd.js +32 -5
  16. package/bundles/mtxColorPicker.umd.js.map +1 -1
  17. package/bundles/mtxColorPicker.umd.min.js +1 -1
  18. package/bundles/mtxColorPicker.umd.min.js.map +1 -1
  19. package/bundles/mtxDialog.umd.js +0 -2
  20. package/bundles/mtxDialog.umd.js.map +1 -1
  21. package/bundles/mtxDialog.umd.min.js +1 -1
  22. package/bundles/mtxDialog.umd.min.js.map +1 -1
  23. package/bundles/mtxFormGroup.umd.js +2 -0
  24. package/bundles/mtxFormGroup.umd.js.map +1 -1
  25. package/bundles/mtxFormGroup.umd.min.js +1 -1
  26. package/bundles/mtxFormGroup.umd.min.js.map +1 -1
  27. package/bundles/mtxGrid.umd.js +31 -101
  28. package/bundles/mtxGrid.umd.js.map +1 -1
  29. package/bundles/mtxGrid.umd.min.js +2 -2
  30. package/bundles/mtxGrid.umd.min.js.map +1 -1
  31. package/bundles/mtxLoader.umd.js +1 -1
  32. package/bundles/mtxLoader.umd.js.map +1 -1
  33. package/bundles/mtxLoader.umd.min.js +1 -1
  34. package/bundles/mtxLoader.umd.min.js.map +1 -1
  35. package/bundles/mtxProgress.umd.js +2 -2
  36. package/bundles/mtxProgress.umd.js.map +1 -1
  37. package/bundles/mtxProgress.umd.min.js.map +1 -1
  38. package/bundles/mtxSelect.umd.js +5 -1
  39. package/bundles/mtxSelect.umd.js.map +1 -1
  40. package/bundles/mtxSelect.umd.min.js +1 -1
  41. package/bundles/mtxSelect.umd.min.js.map +1 -1
  42. package/bundles/mtxTooltip.umd.js +1 -1
  43. package/bundles/mtxTooltip.umd.js.map +1 -1
  44. package/bundles/mtxTooltip.umd.min.js +1 -1
  45. package/bundles/mtxTooltip.umd.min.js.map +1 -1
  46. package/bundles/mtxUtils.umd.js.map +1 -1
  47. package/bundles/mtxUtils.umd.min.js.map +1 -1
  48. package/button/{ng-matero-extensions-button.d.ts → mtxButton.d.ts} +0 -0
  49. package/button/{ng-matero-extensions-button.metadata.json → mtxButton.metadata.json} +0 -0
  50. package/button/package.json +7 -7
  51. package/checkbox-group/checkbox-group.component.d.ts +15 -11
  52. package/checkbox-group/mtxCheckboxGroup.metadata.json +1 -1
  53. package/color-picker/color-picker.component.d.ts +10 -9
  54. package/color-picker/mtxColorPicker.metadata.json +1 -1
  55. package/data-grid/_grid-theme.scss +14 -32
  56. package/data-grid/cell.component.d.ts +2 -1
  57. package/data-grid/column-menu.component.d.ts +4 -3
  58. package/data-grid/grid.component.d.ts +7 -20
  59. package/data-grid/grid.component.scss +51 -5
  60. package/data-grid/grid.interface.d.ts +18 -36
  61. package/data-grid/mtxGrid.metadata.json +1 -1
  62. package/dialog/dialog.config.d.ts +3 -2
  63. package/dialog/mtxDialog.metadata.json +1 -1
  64. package/esm2015/alert/alert.component.js +4 -4
  65. package/esm2015/button/mtxButton.js +10 -0
  66. package/esm2015/checkbox-group/checkbox-group.component.js +77 -20
  67. package/esm2015/color-picker/color-picker.component.js +29 -6
  68. package/esm2015/data-grid/cell.component.js +2 -2
  69. package/esm2015/data-grid/column-menu.component.js +1 -2
  70. package/esm2015/data-grid/grid.component.js +32 -100
  71. package/esm2015/data-grid/grid.interface.js +12 -11
  72. package/esm2015/dialog/dialog.config.js +1 -1
  73. package/esm2015/dialog/dialog.js +1 -3
  74. package/esm2015/form-group/form-group.component.js +4 -2
  75. package/esm2015/loader/loader.component.js +2 -2
  76. package/esm2015/progress/progress.component.js +3 -3
  77. package/esm2015/select/select.component.js +6 -2
  78. package/esm2015/tooltip/tooltip.js +2 -2
  79. package/esm2015/utils/to-observable.pipe.js +1 -1
  80. package/fesm2015/mtxAlert.js +3 -3
  81. package/fesm2015/mtxAlert.js.map +1 -1
  82. package/fesm2015/{ng-matero-extensions-button.js → mtxButton.js} +2 -2
  83. package/fesm2015/mtxButton.js.map +1 -0
  84. package/fesm2015/mtxCheckboxGroup.js +76 -19
  85. package/fesm2015/mtxCheckboxGroup.js.map +1 -1
  86. package/fesm2015/mtxColorPicker.js +28 -5
  87. package/fesm2015/mtxColorPicker.js.map +1 -1
  88. package/fesm2015/mtxDialog.js +0 -2
  89. package/fesm2015/mtxDialog.js.map +1 -1
  90. package/fesm2015/mtxFormGroup.js +3 -1
  91. package/fesm2015/mtxFormGroup.js.map +1 -1
  92. package/fesm2015/mtxGrid.js +43 -111
  93. package/fesm2015/mtxGrid.js.map +1 -1
  94. package/fesm2015/mtxLoader.js +1 -1
  95. package/fesm2015/mtxLoader.js.map +1 -1
  96. package/fesm2015/mtxProgress.js +2 -2
  97. package/fesm2015/mtxProgress.js.map +1 -1
  98. package/fesm2015/mtxSelect.js +5 -1
  99. package/fesm2015/mtxSelect.js.map +1 -1
  100. package/fesm2015/mtxTooltip.js +1 -1
  101. package/fesm2015/mtxTooltip.js.map +1 -1
  102. package/fesm2015/mtxUtils.js.map +1 -1
  103. package/form-group/mtxFormGroup.metadata.json +1 -1
  104. package/loader/loader.component.d.ts +2 -1
  105. package/loader/mtxLoader.metadata.json +1 -1
  106. package/package.json +1 -1
  107. package/progress/mtxProgress.metadata.json +1 -1
  108. package/progress/progress.component.d.ts +3 -2
  109. package/select/_select-theme.scss +18 -18
  110. package/select/mtxSelect.metadata.json +1 -1
  111. package/select/select.component.d.ts +4 -1
  112. package/tooltip/mtxTooltip.metadata.json +1 -1
  113. package/utils/to-observable.pipe.d.ts +1 -1
  114. package/bundles/ng-matero-extensions-button.umd.js.map +0 -1
  115. package/esm2015/button/ng-matero-extensions-button.js +0 -10
  116. package/fesm2015/ng-matero-extensions-button.js.map +0 -1
@@ -108,7 +108,7 @@ export class MtxGridCellComponent {
108
108
  * @param {?=} data
109
109
  * @return {?}
110
110
  */
111
- _handleActionConfirm(event, title, description = '', okColor = 'primary', okText = 'OK', closeColor = '', closeText = 'CLOSE', fn, data) {
111
+ _handleActionConfirm(event, title, description = '', okColor = 'primary', okText = 'OK', closeColor, closeText = 'CLOSE', fn, data) {
112
112
  event.preventDefault();
113
113
  event.stopPropagation();
114
114
  this._dialog.open({
@@ -224,4 +224,4 @@ if (false) {
224
224
  */
225
225
  MtxGridCellComponent.prototype._dataGridSrv;
226
226
  }
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL25pdXpvbmdiaW4vUHJvamVjdHMvQG5nLW1hdGVyby9leHRlbnNpb25zL3Byb2plY3RzL2V4dGVuc2lvbnMvZGF0YS1ncmlkLyIsInNvdXJjZXMiOlsiY2VsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sV0FBVyxNQUFNLGFBQWEsQ0FBQztBQVN0QyxNQUFNLE9BQU8sb0JBQW9COzs7OztJQXdEL0IsWUFBb0IsT0FBa0IsRUFBVSxZQUE0QjtRQUF4RCxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWdCOzs7O1FBdERuRSxZQUFPLEdBQUcsRUFBRSxDQUFDOzs7O1FBTWIsU0FBSSxHQUFHLEVBQUUsQ0FBQzs7OztRQUdWLFlBQU8sR0FBRyxLQUFLLENBQUM7SUE2Q3NELENBQUM7Ozs7SUEzQ2hGLElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7Ozs7SUFFRCxTQUFTLENBQUMsRUFBTztRQUNmLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLGlCQUFpQixDQUFDO0lBQ2xFLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLEVBQU87UUFDakIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUss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QyxDQUFDLE9BQU87Ozs7O1FBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDLEVBQUMsQ0FBQzs7Y0FFRyxhQUFhLEdBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQztZQUNsRixDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDOztjQUVoRSxPQUFPLEdBQXdCO1lBQ25DLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDdEIsYUFBYTtTQUNkOztjQUVLLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO0lBQy9DLENBQUM7OztZQXpIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRSxhQUFhO2dCQUN2Qix3L01BQW9DO2dCQUVwQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7YUFDdEM7Ozs7WUFiUSxTQUFTO1lBSVQsY0FBYzs7O3NCQVlwQixLQUFLO3FCQUdMLEtBQUs7bUJBR0wsS0FBSztzQkFHTCxLQUFLOzs7Ozs7O0lBVE4sdUNBQXNCOzs7OztJQUd0QixzQ0FBK0I7Ozs7O0lBRy9CLG9DQUFtQjs7Ozs7SUFHbkIsdUNBQXlCOzs7OztJQTZDYix1Q0FBMEI7Ozs7O0lBQUUsNENBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTXR4RGlhbG9nIH0gZnJvbSAnQG5nLW1hdGVyby9leHRlbnNpb25zL2RpYWxvZyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IE10eEdyaWRDb2x1bW4sIE10eEdyaWRDb2x1bW5CdXR0b24gfSBmcm9tICcuL2dyaWQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTXR4R3JpZFNlcnZpY2UgfSBmcm9tICcuL2dyaWQuc2VydmljZSc7XHJcbmltcG9ydCBQaG90b1ZpZXdlciBmcm9tICdwaG90b3ZpZXdlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ210eC1ncmlkLWNlbGwnLFxyXG4gIGV4cG9ydEFzOiAnbXR4R3JpZENlbGwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jZWxsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jZWxsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE10eEdyaWRDZWxsQ29tcG9uZW50IHtcclxuICAvKiogUm93IGRhdGEgKi9cclxuICBASW5wdXQoKSByb3dEYXRhID0ge307XHJcblxyXG4gIC8qKiBDb2x1bW4gZGVmaW5pdGlvbiAqL1xyXG4gIEBJbnB1dCgpIGNvbERlZjogTXR4R3JpZENvbHVtbjtcclxuXHJcbiAgLyoqIEFsbCBkYXRhICovXHJcbiAgQElucHV0KCkgZGF0YSA9IFtdO1xyXG5cclxuICAvKiogV2hldGhlciBzaG93IHN1bW1hcnkgKi9cclxuICBASW5wdXQoKSBzdW1tYXJ5ID0gZmFsc2U7XHJcblxyXG4gIGdldCBfY29sVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YUdyaWRTcnYuZ2V0Q2VsbFZhbHVlKHRoaXMucm93RGF0YSwgdGhpcy5jb2xEZWYpO1xyXG4gIH1cclxuXHJcbiAgX2lzU3RyaW5nKGZuOiBhbnkpIHtcclxuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZm4pID09PSAnW29iamVjdCBTdHJpbmddJztcclxuICB9XHJcblxyXG4gIF9pc0Z1bmN0aW9uKGZuOiBhbnkpIHtcclxuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZm4pID09PSAnW29iamVjdCBGdW5jdGlvbl0nO1xyXG4gIH1cclxuXHJcbiAgX2lzRW1wdHlWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZS50b1N0cmluZygpID09PSAnJztcclxuICB9XHJcblxyXG4gIF9pc0NvbnRhaW5IVE1MKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiAvPFxcLz9bYS16XVtcXHNcXFNdKj4vaS50ZXN0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIF9nZXRUZXh0KHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLl9pc0VtcHR5VmFsdWUodmFsdWUpID8gJy0tJyA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgX2dldFRvb2x0aXAodmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzRW1wdHlWYWx1ZSh2YWx1ZSkgPyAnJyA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgX2dldEZvcm1hdHRlclRvb2x0aXAodmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzQ29udGFpbkhUTUwodmFsdWUpIHx8IHRoaXMuX2lzRW1wdHlWYWx1ZSh2YWx1ZSkgPyAnJyA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgX2Zvcm1hdFN1bW1hcnkoZGF0YTogYW55W10sIGNvbERlZjogTXR4R3JpZENvbHVtbikge1xyXG4gICAgaWYgKHRoaXMuX2lzU3RyaW5nKGNvbERlZi5zdW1tYXJ5KSkge1xyXG4gICAgICByZXR1cm4gY29sRGVmLnN1bW1hcnk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2lzRnVuY3Rpb24oY29sRGVmLnN1bW1hcnkpKSB7XHJcbiAgICAgIHJldHVybiAoY29sRGVmLnN1bW1hcnkgYXMgKGRhdGE6IGFueVtdLCBjb2xEZWY/OiBNdHhHcmlkQ29sdW1uKSA9PiB2b2lkKShcclxuICAgICAgICB0aGlzLl9kYXRhR3JpZFNydi5nZXRDb2xEYXRhKGRhdGEsIGNvbERlZiksXHJcbiAgICAgICAgY29sRGVmXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kaWFsb2c6IE10eERpYWxvZywgcHJpdmF0ZSBfZGF0YUdyaWRTcnY6IE10eEdyaWRTZXJ2aWNlKSB7fVxyXG5cclxuICBfaGFuZGxlQWN0aW9uQ29uZmlybShcclxuICAgIGV2ZW50OiBNb3VzZUV2ZW50LFxyXG4gICAgdGl0bGU6IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPixcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4gPSAnJyxcclxuICAgIG9rQ29sb3I6ICcnIHwgJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2FybicgPSAncHJpbWFyeScsXHJcbiAgICBva1RleHQ6IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPiA9ICdPSycsXHJcbiAgICBjbG9zZUNvbG9yOiAnJyB8ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nID0gJycsXHJcbiAgICBjbG9zZVRleHQ6IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPiA9ICdDTE9TRScsXHJcbiAgICBmbj86IChwOiBhbnkpID0+IHZvaWQsXHJcbiAgICBkYXRhPzogYW55XHJcbiAgKSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oe1xyXG4gICAgICB0aXRsZSxcclxuICAgICAgZGVzY3JpcHRpb24sXHJcbiAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjb2xvcjogb2tDb2xvcixcclxuICAgICAgICAgIHRleHQ6IG9rVGV4dCxcclxuICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IChmbiA/IGZuKGRhdGEpIDoge30pLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgeyBjb2xvcjogY2xvc2VDb2xvciwgdGV4dDogY2xvc2VUZXh0LCBvbkNsaWNrOiAoKSA9PiB7fSB9LFxyXG4gICAgICBdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlQWN0aW9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIGJ0bjogTXR4R3JpZENvbHVtbkJ1dHRvbiwgcm93RGF0YTogYW55KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgaWYgKGJ0bi5jbGljaykge1xyXG4gICAgICBidG4uY2xpY2socm93RGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogUHJldmlldyBlbmxhcmdlZCBpbWFnZSAqL1xyXG4gIF9vblByZXZpZXcodXJsU3RyOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGltZ3M6IFBob3RvVmlld2VyLkltZ1tdID0gW107XHJcblxyXG4gICAgdGhpcy5fZGF0YUdyaWRTcnYuc3RyMmFycih1cmxTdHIpLmZvckVhY2goKHVybCwgaW5kZXgpID0+IHtcclxuICAgICAgaW1ncy5wdXNoKHsgdGl0bGU6IGluZGV4ICsgMSArICcnLCBzcmM6IHVybCB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGZvb3RlclRvb2xiYXIgPVxyXG4gICAgICBpbWdzLmxlbmd0aCA+IDFcclxuICAgICAgICA/IFsnem9vbUluJywgJ3pvb21PdXQnLCAncHJldicsICduZXh0JywgJ3JvdGF0ZVJpZ2h0JywgJ3JvdGF0ZUxlZnQnLCAnYWN0dWFsU2l6ZSddXHJcbiAgICAgICAgOiBbJ3pvb21JbicsICd6b29tT3V0JywgJ3JvdGF0ZVJpZ2h0JywgJ3JvdGF0ZUxlZnQnLCAnYWN0dWFsU2l6ZSddO1xyXG5cclxuICAgIGNvbnN0IG9wdGlvbnM6IFBob3RvVmlld2VyLk9wdGlvbnMgPSB7XHJcbiAgICAgIHRpdGxlOiBpbWdzLmxlbmd0aCA+IDEsXHJcbiAgICAgIGZvb3RlclRvb2xiYXIsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHZpZXdlciA9IG5ldyBQaG90b1ZpZXdlcihpbWdzLCBvcHRpb25zKTtcclxuICB9XHJcbn1cclxuIl19
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL25pdXpvbmdiaW4vUHJvamVjdHMvQG5nLW1hdGVyby9leHRlbnNpb25zL3Byb2plY3RzL2V4dGVuc2lvbnMvZGF0YS1ncmlkLyIsInNvdXJjZXMiOlsiY2VsbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sV0FBVyxNQUFNLGFBQWEsQ0FBQztBQVV0QyxNQUFNLE9BQU8sb0JBQW9COzs7OztJQXdEL0IsWUFBb0IsT0FBa0IsRUFBVSxZQUE0QjtRQUF4RCxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWdCOzs7O1FBdERuRSxZQUFPLEdBQUcsRUFBRSxDQUFDOzs7O1FBTWIsU0FBSSxHQUFHLEVBQUUsQ0FBQzs7OztRQUdWLFlBQU8sR0FBRyxLQUFLLENBQUM7SUE2Q3NELENBQUM7Ozs7SUEzQ2hGLElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7Ozs7SUFFRCxTQUFTLENBQUMsRUFBTztRQUNmLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLGlCQUFpQixDQUFDO0lBQ2xFLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLEVBQU87UUFDakIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUss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QyxPQUFPOzs7OztRQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDakQsQ0FBQyxFQUFDLENBQUM7O2NBRUcsYUFBYSxHQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDYixDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUM7WUFDbEYsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQzs7Y0FFaEUsT0FBTyxHQUF3QjtZQUNuQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ3RCLGFBQWE7U0FDZDs7Y0FFSyxNQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztJQUMvQyxDQUFDOzs7WUF6SEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUUsYUFBYTtnQkFDdkIsdy9NQUFvQztnQkFFcEMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2FBQ3RDOzs7O1lBZFEsU0FBUztZQUlULGNBQWM7OztzQkFhcEIsS0FBSztxQkFHTCxLQUFLO21CQUdMLEtBQUs7c0JBR0wsS0FBSzs7Ozs7OztJQVROLHVDQUFzQjs7Ozs7SUFHdEIsc0NBQStCOzs7OztJQUcvQixvQ0FBbUI7Ozs7O0lBR25CLHVDQUF5Qjs7Ozs7SUE2Q2IsdUNBQTBCOzs7OztJQUFFLDRDQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE10eERpYWxvZyB9IGZyb20gJ0BuZy1tYXRlcm8vZXh0ZW5zaW9ucy9kaWFsb2cnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBNdHhHcmlkQ29sdW1uLCBNdHhHcmlkQ29sdW1uQnV0dG9uIH0gZnJvbSAnLi9ncmlkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE10eEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi9ncmlkLnNlcnZpY2UnO1xyXG5pbXBvcnQgUGhvdG9WaWV3ZXIgZnJvbSAncGhvdG92aWV3ZXInO1xyXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXR4LWdyaWQtY2VsbCcsXHJcbiAgZXhwb3J0QXM6ICdtdHhHcmlkQ2VsbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NlbGwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NlbGwuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTXR4R3JpZENlbGxDb21wb25lbnQge1xyXG4gIC8qKiBSb3cgZGF0YSAqL1xyXG4gIEBJbnB1dCgpIHJvd0RhdGEgPSB7fTtcclxuXHJcbiAgLyoqIENvbHVtbiBkZWZpbml0aW9uICovXHJcbiAgQElucHV0KCkgY29sRGVmOiBNdHhHcmlkQ29sdW1uO1xyXG5cclxuICAvKiogQWxsIGRhdGEgKi9cclxuICBASW5wdXQoKSBkYXRhID0gW107XHJcblxyXG4gIC8qKiBXaGV0aGVyIHNob3cgc3VtbWFyeSAqL1xyXG4gIEBJbnB1dCgpIHN1bW1hcnkgPSBmYWxzZTtcclxuXHJcbiAgZ2V0IF9jb2xWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhR3JpZFNydi5nZXRDZWxsVmFsdWUodGhpcy5yb3dEYXRhLCB0aGlzLmNvbERlZik7XHJcbiAgfVxyXG5cclxuICBfaXNTdHJpbmcoZm46IGFueSkge1xyXG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChmbikgPT09ICdbb2JqZWN0IFN0cmluZ10nO1xyXG4gIH1cclxuXHJcbiAgX2lzRnVuY3Rpb24oZm46IGFueSkge1xyXG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChmbikgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XHJcbiAgfVxyXG5cclxuICBfaXNFbXB0eVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlLnRvU3RyaW5nKCkgPT09ICcnO1xyXG4gIH1cclxuXHJcbiAgX2lzQ29udGFpbkhUTUwodmFsdWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIC88XFwvP1thLXpdW1xcc1xcU10qPi9pLnRlc3QodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgX2dldFRleHQodmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzRW1wdHlWYWx1ZSh2YWx1ZSkgPyAnLS0nIDogdmFsdWU7XHJcbiAgfVxyXG5cclxuICBfZ2V0VG9vbHRpcCh2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNFbXB0eVZhbHVlKHZhbHVlKSA/ICcnIDogdmFsdWU7XHJcbiAgfVxyXG5cclxuICBfZ2V0Rm9ybWF0dGVyVG9vbHRpcCh2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNDb250YWluSFRNTCh2YWx1ZSkgfHwgdGhpcy5faXNFbXB0eVZhbHVlKHZhbHVlKSA/ICcnIDogdmFsdWU7XHJcbiAgfVxyXG5cclxuICBfZm9ybWF0U3VtbWFyeShkYXRhOiBhbnlbXSwgY29sRGVmOiBNdHhHcmlkQ29sdW1uKSB7XHJcbiAgICBpZiAodGhpcy5faXNTdHJpbmcoY29sRGVmLnN1bW1hcnkpKSB7XHJcbiAgICAgIHJldHVybiBjb2xEZWYuc3VtbWFyeTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5faXNGdW5jdGlvbihjb2xEZWYuc3VtbWFyeSkpIHtcclxuICAgICAgcmV0dXJuIChjb2xEZWYuc3VtbWFyeSBhcyAoZGF0YTogYW55W10sIGNvbERlZj86IE10eEdyaWRDb2x1bW4pID0+IHZvaWQpKFxyXG4gICAgICAgIHRoaXMuX2RhdGFHcmlkU3J2LmdldENvbERhdGEoZGF0YSwgY29sRGVmKSxcclxuICAgICAgICBjb2xEZWZcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RpYWxvZzogTXR4RGlhbG9nLCBwcml2YXRlIF9kYXRhR3JpZFNydjogTXR4R3JpZFNlcnZpY2UpIHt9XHJcblxyXG4gIF9oYW5kbGVBY3Rpb25Db25maXJtKFxyXG4gICAgZXZlbnQ6IE1vdXNlRXZlbnQsXHJcbiAgICB0aXRsZTogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+LFxyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyB8IE9ic2VydmFibGU8c3RyaW5nPiA9ICcnLFxyXG4gICAgb2tDb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknLFxyXG4gICAgb2tUZXh0OiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4gPSAnT0snLFxyXG4gICAgY2xvc2VDb2xvcjogVGhlbWVQYWxldHRlLFxyXG4gICAgY2xvc2VUZXh0OiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4gPSAnQ0xPU0UnLFxyXG4gICAgZm4/OiAocDogYW55KSA9PiB2b2lkLFxyXG4gICAgZGF0YT86IGFueVxyXG4gICkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKHtcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIGRlc2NyaXB0aW9uLFxyXG4gICAgICBidXR0b25zOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgY29sb3I6IG9rQ29sb3IsXHJcbiAgICAgICAgICB0ZXh0OiBva1RleHQsXHJcbiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiAoZm4gPyBmbihkYXRhKSA6IHt9KSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgY29sb3I6IGNsb3NlQ29sb3IsIHRleHQ6IGNsb3NlVGV4dCwgb25DbGljazogKCkgPT4ge30gfSxcclxuICAgICAgXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZUFjdGlvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCBidG46IE10eEdyaWRDb2x1bW5CdXR0b24sIHJvd0RhdGE6IGFueSkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGlmIChidG4uY2xpY2spIHtcclxuICAgICAgYnRuLmNsaWNrKHJvd0RhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIFByZXZpZXcgZW5sYXJnZWQgaW1hZ2UgKi9cclxuICBfb25QcmV2aWV3KHVybFN0cjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBpbWdzOiBQaG90b1ZpZXdlci5JbWdbXSA9IFtdO1xyXG5cclxuICAgIHRoaXMuX2RhdGFHcmlkU3J2LnN0cjJhcnIodXJsU3RyKS5mb3JFYWNoKCh1cmwsIGluZGV4KSA9PiB7XHJcbiAgICAgIGltZ3MucHVzaCh7IHRpdGxlOiBpbmRleCArIDEgKyAnJywgc3JjOiB1cmwgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBmb290ZXJUb29sYmFyID1cclxuICAgICAgaW1ncy5sZW5ndGggPiAxXHJcbiAgICAgICAgPyBbJ3pvb21JbicsICd6b29tT3V0JywgJ3ByZXYnLCAnbmV4dCcsICdyb3RhdGVSaWdodCcsICdyb3RhdGVMZWZ0JywgJ2FjdHVhbFNpemUnXVxyXG4gICAgICAgIDogWyd6b29tSW4nLCAnem9vbU91dCcsICdyb3RhdGVSaWdodCcsICdyb3RhdGVMZWZ0JywgJ2FjdHVhbFNpemUnXTtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zOiBQaG90b1ZpZXdlci5PcHRpb25zID0ge1xyXG4gICAgICB0aXRsZTogaW1ncy5sZW5ndGggPiAxLFxyXG4gICAgICBmb290ZXJUb29sYmFyLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCB2aWV3ZXIgPSBuZXcgUGhvdG9WaWV3ZXIoaW1ncywgb3B0aW9ucyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -15,7 +15,6 @@ export class MtxGridColumnMenuComponent {
15
15
  this.dndSortable = true;
16
16
  this._buttonText = '';
17
17
  this.buttonType = 'stroked';
18
- this.buttonColor = '';
19
18
  this.buttonClass = '';
20
19
  this.buttonIcon = '';
21
20
  this.showHeader = false;
@@ -135,4 +134,4 @@ if (false) {
135
134
  /** @type {?} */
136
135
  MtxGridColumnMenuComponent.prototype.sortChange;
137
136
  }
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9uaXV6b25nYmluL1Byb2plY3RzL0BuZy1tYXRlcm8vZXh0ZW5zaW9ucy9wcm9qZWN0cy9leHRlbnNpb25zL2RhdGEtZ3JpZC8iLCJzb3VyY2VzIjpbImNvbHVtbi1tZW51LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLFlBQVksRUFDWixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUd0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBVWpFLE1BQU0sT0FBTywwQkFBMEI7SUFSdkM7UUFZVyxZQUFPLEdBQWlDLEVBQUUsQ0FBQztRQUMzQyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLHNCQUFpQixHQUFvQixNQUFNLENBQUM7UUFDNUMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQVdwQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUVoQixlQUFVLEdBQXFFLFNBQVMsQ0FBQztRQUN6RixnQkFBVyxHQUF1QyxFQUFFLENBQUM7UUFDckQsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxnQkFBZ0IsQ0FBQztRQUU5QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxnQkFBZ0IsQ0FBQztRQUc3QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO1FBQ25FLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBZ0MsQ0FBQztJQVUxRSxDQUFDOzs7O0lBbENDLElBQ0ksVUFBVTs7Y0FDTixXQUFXLEdBQUcsV0FBVyxJQUFJLENBQUMsaUJBQWlCLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTs7Y0FDakYsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVc7UUFDOUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7OztJQUNELElBQUksVUFBVSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQzs7Ozs7SUFrQkQsYUFBYSxDQUFDLEtBQTRCO1FBQ3hDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLENBQW9CO1FBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs7WUFuREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLHM1SUFBMkM7Z0JBRTNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7Ozt3QkFFRSxTQUFTLFNBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTswQkFDbEMsU0FBUyxTQUFDLGNBQWM7c0JBRXhCLEtBQUs7eUJBQ0wsS0FBSztnQ0FDTCxLQUFLO3VCQUNMLEtBQUs7MEJBQ0wsS0FBSzt5QkFFTCxLQUFLO3lCQVdMLEtBQUs7MEJBQ0wsS0FBSzswQkFDTCxLQUFLO3lCQUNMLEtBQUs7eUJBRUwsS0FBSzt5QkFDTCxLQUFLOzZCQUNMLEtBQUs7eUJBQ0wsS0FBSzt5QkFDTCxLQUFLOzZCQUNMLEtBQUs7OEJBRUwsTUFBTTt5QkFDTixNQUFNOzs7O0lBakNQLCtDQUF3RDs7SUFDeEQsaURBQXVEOztJQUV2RCw2Q0FBb0Q7O0lBQ3BELGdEQUEyQjs7SUFDM0IsdURBQXFEOztJQUNyRCw4Q0FBeUI7O0lBQ3pCLGlEQUE0Qjs7Ozs7SUFXNUIsaURBQXlCOztJQUV6QixnREFBa0c7O0lBQ2xHLGlEQUE4RDs7SUFDOUQsaURBQTBCOztJQUMxQixnREFBeUI7O0lBRXpCLGdEQUE0Qjs7SUFDNUIsZ0RBQXVDOztJQUN2QyxvREFBMEM7O0lBQzFDLGdEQUE0Qjs7SUFDNUIsZ0RBQXVDOztJQUN2QyxvREFBMEM7O0lBRTFDLHFEQUE2RTs7SUFDN0UsZ0RBQXdFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE10eEdyaWRDb2x1bW5TZWxlY3Rpb25JdGVtIH0gZnJvbSAnLi9ncmlkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE1hdE1lbnUsIE1hdE1lbnVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ210eC1ncmlkLWNvbHVtbi1tZW51JyxcclxuICBleHBvcnRBczogJ210eEdyaWRDb2x1bW5NZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29sdW1uLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbHVtbi1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE10eEdyaWRDb2x1bW5NZW51Q29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCdtZW51JywgeyBzdGF0aWM6IHRydWUgfSkgbWVudVBhbmVsOiBNYXRNZW51O1xyXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpIG1lbnVUcmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcclxuXHJcbiAgQElucHV0KCkgY29sdW1uczogTXR4R3JpZENvbHVtblNlbGVjdGlvbkl0ZW1bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGFibGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGFibGVDaGVja2VkOiAnc2hvdycgfCAnaGlkZScgPSAnc2hvdyc7XHJcbiAgQElucHV0KCkgc29ydGFibGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRuZFNvcnRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgYnV0dG9uVGV4dCgpIHtcclxuICAgIGNvbnN0IGRlZmF1bHRUZXh0ID0gYENvbHVtbnMgJHt0aGlzLnNlbGVjdGFibGVDaGVja2VkID09PSAnc2hvdycgPyAnU2hvd24nIDogJ0hpZGRlbid9YDtcclxuICAgIGNvbnN0IHRleHQgPSB0aGlzLl9idXR0b25UZXh0ID8gdGhpcy5fYnV0dG9uVGV4dCA6IGRlZmF1bHRUZXh0O1xyXG4gICAgcmV0dXJuIHRleHQ7XHJcbiAgfVxyXG4gIHNldCBidXR0b25UZXh0KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2J1dHRvblRleHQgPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfYnV0dG9uVGV4dCA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBidXR0b25UeXBlOiAncmFpc2VkJyB8ICdzdHJva2VkJyB8ICdmbGF0JyB8ICdpY29uJyB8ICdmYWInIHwgJ21pbmktZmFiJyB8ICcnID0gJ3N0cm9rZWQnO1xyXG4gIEBJbnB1dCgpIGJ1dHRvbkNvbG9yOiAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJyB8ICcnID0gJyc7XHJcbiAgQElucHV0KCkgYnV0dG9uQ2xhc3MgPSAnJztcclxuICBASW5wdXQoKSBidXR0b25JY29uID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dIZWFkZXIgPSBmYWxzZTtcclxuICBASW5wdXQoKSBoZWFkZXJUZXh0ID0gJ0NvbHVtbnMgSGVhZGVyJztcclxuICBASW5wdXQoKSBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBzaG93Rm9vdGVyID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZm9vdGVyVGV4dCA9ICdDb2x1bW5zIEZvb3Rlcic7XHJcbiAgQElucHV0KCkgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE10eEdyaWRDb2x1bW5TZWxlY3Rpb25JdGVtW10+KCk7XHJcbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE10eEdyaWRDb2x1bW5TZWxlY3Rpb25JdGVtW10+KCk7XHJcblxyXG4gIF9oYW5kbGVEcm9wZWQoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuY29sdW1ucywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHRoaXMuY29sdW1ucyk7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlU2VsZWN0aW9uKGU6IE1hdENoZWNrYm94Q2hhbmdlKSB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuY29sdW1ucyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9uaXV6b25nYmluL1Byb2plY3RzL0BuZy1tYXRlcm8vZXh0ZW5zaW9ucy9wcm9qZWN0cy9leHRlbnNpb25zL2RhdGEtZ3JpZC8iLCJzb3VyY2VzIjpbImNvbHVtbi1tZW51LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLFlBQVksRUFDWixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBWWpFLE1BQU0sT0FBTywwQkFBMEI7SUFSdkM7UUFZVyxZQUFPLEdBQWlDLEVBQUUsQ0FBQztRQUMzQyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLHNCQUFpQixHQUFvQixNQUFNLENBQUM7UUFDNUMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQVdwQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUVoQixlQUFVLEdBQXNCLFNBQVMsQ0FBQztRQUUxQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsZUFBVSxHQUFHLGdCQUFnQixDQUFDO1FBRTlCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsZUFBVSxHQUFHLGdCQUFnQixDQUFDO1FBRzdCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWdDLENBQUM7UUFDbkUsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO0lBVTFFLENBQUM7Ozs7SUFsQ0MsSUFDSSxVQUFVOztjQUNOLFdBQVcsR0FBRyxXQUFXLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFOztjQUNqRixJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVztRQUM5RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7O0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDOzs7OztJQWtCRCxhQUFhLENBQUMsS0FBNEI7UUFDeEMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Ozs7O0lBRUQsZ0JBQWdCLENBQUMsQ0FBb0I7UUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7OztZQW5ERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsczVJQUEyQztnQkFFM0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O3dCQUVFLFNBQVMsU0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOzBCQUNsQyxTQUFTLFNBQUMsY0FBYztzQkFFeEIsS0FBSzt5QkFDTCxLQUFLO2dDQUNMLEtBQUs7dUJBQ0wsS0FBSzswQkFDTCxLQUFLO3lCQUVMLEtBQUs7eUJBV0wsS0FBSzswQkFDTCxLQUFLOzBCQUNMLEtBQUs7eUJBQ0wsS0FBSzt5QkFFTCxLQUFLO3lCQUNMLEtBQUs7NkJBQ0wsS0FBSzt5QkFDTCxLQUFLO3lCQUNMLEtBQUs7NkJBQ0wsS0FBSzs4QkFFTCxNQUFNO3lCQUNOLE1BQU07Ozs7SUFqQ1AsK0NBQXdEOztJQUN4RCxpREFBdUQ7O0lBRXZELDZDQUFvRDs7SUFDcEQsZ0RBQTJCOztJQUMzQix1REFBcUQ7O0lBQ3JELDhDQUF5Qjs7SUFDekIsaURBQTRCOzs7OztJQVc1QixpREFBeUI7O0lBRXpCLGdEQUFtRDs7SUFDbkQsaURBQW1DOztJQUNuQyxpREFBMEI7O0lBQzFCLGdEQUF5Qjs7SUFFekIsZ0RBQTRCOztJQUM1QixnREFBdUM7O0lBQ3ZDLG9EQUEwQzs7SUFDMUMsZ0RBQTRCOztJQUM1QixnREFBdUM7O0lBQ3ZDLG9EQUEwQzs7SUFFMUMscURBQTZFOztJQUM3RSxnREFBd0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0TWVudSwgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE10eEdyaWRCdXR0b25UeXBlLCBNdHhHcmlkQ29sdW1uU2VsZWN0aW9uSXRlbSB9IGZyb20gJy4vZ3JpZC5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtdHgtZ3JpZC1jb2x1bW4tbWVudScsXHJcbiAgZXhwb3J0QXM6ICdtdHhHcmlkQ29sdW1uTWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb2x1bW4tbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdHhHcmlkQ29sdW1uTWVudUNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZCgnbWVudScsIHsgc3RhdGljOiB0cnVlIH0pIG1lbnVQYW5lbDogTWF0TWVudTtcclxuICBAVmlld0NoaWxkKE1hdE1lbnVUcmlnZ2VyKSBtZW51VHJpZ2dlcjogTWF0TWVudVRyaWdnZXI7XHJcblxyXG4gIEBJbnB1dCgpIGNvbHVtbnM6IE10eEdyaWRDb2x1bW5TZWxlY3Rpb25JdGVtW10gPSBbXTtcclxuICBASW5wdXQoKSBzZWxlY3RhYmxlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzZWxlY3RhYmxlQ2hlY2tlZDogJ3Nob3cnIHwgJ2hpZGUnID0gJ3Nob3cnO1xyXG4gIEBJbnB1dCgpIHNvcnRhYmxlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkbmRTb3J0YWJsZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGJ1dHRvblRleHQoKSB7XHJcbiAgICBjb25zdCBkZWZhdWx0VGV4dCA9IGBDb2x1bW5zICR7dGhpcy5zZWxlY3RhYmxlQ2hlY2tlZCA9PT0gJ3Nob3cnID8gJ1Nob3duJyA6ICdIaWRkZW4nfWA7XHJcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy5fYnV0dG9uVGV4dCA/IHRoaXMuX2J1dHRvblRleHQgOiBkZWZhdWx0VGV4dDtcclxuICAgIHJldHVybiB0ZXh0O1xyXG4gIH1cclxuICBzZXQgYnV0dG9uVGV4dCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9idXR0b25UZXh0ID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2J1dHRvblRleHQgPSAnJztcclxuXHJcbiAgQElucHV0KCkgYnV0dG9uVHlwZTogTXR4R3JpZEJ1dHRvblR5cGUgPSAnc3Ryb2tlZCc7XHJcbiAgQElucHV0KCkgYnV0dG9uQ29sb3I6IFRoZW1lUGFsZXR0ZTtcclxuICBASW5wdXQoKSBidXR0b25DbGFzcyA9ICcnO1xyXG4gIEBJbnB1dCgpIGJ1dHRvbkljb24gPSAnJztcclxuXHJcbiAgQElucHV0KCkgc2hvd0hlYWRlciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhlYWRlclRleHQgPSAnQ29sdW1ucyBIZWFkZXInO1xyXG4gIEBJbnB1dCgpIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIHNob3dGb290ZXIgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmb290ZXJUZXh0ID0gJ0NvbHVtbnMgRm9vdGVyJztcclxuICBASW5wdXQoKSBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TXR4R3JpZENvbHVtblNlbGVjdGlvbkl0ZW1bXT4oKTtcclxuICBAT3V0cHV0KCkgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TXR4R3JpZENvbHVtblNlbGVjdGlvbkl0ZW1bXT4oKTtcclxuXHJcbiAgX2hhbmRsZURyb3BlZChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XHJcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5jb2x1bW5zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQodGhpcy5jb2x1bW5zKTtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVTZWxlY3Rpb24oZTogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcclxuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5jb2x1bW5zKTtcclxuICB9XHJcbn1cclxuIl19
@@ -19,14 +19,13 @@ export class MtxGridComponent {
19
19
  constructor(_dataGridSrv, _changeDetectorRef) {
20
20
  this._dataGridSrv = _dataGridSrv;
21
21
  this._changeDetectorRef = _changeDetectorRef;
22
- this.dataSource = new MatTableDataSource([]);
22
+ this.dataSource = new MatTableDataSource();
23
23
  this.columns = [];
24
24
  this.data = [];
25
25
  this.length = 0;
26
26
  this.loading = false;
27
- /**
28
- * Page
29
- */
27
+ this.columnResizable = false;
28
+ // Page
30
29
  this.pageOnFront = true;
31
30
  this.showPaginator = true;
32
31
  this.pageDisabled = false;
@@ -36,23 +35,17 @@ export class MtxGridComponent {
36
35
  this.pageSizeOptions = [10, 50, 100];
37
36
  this.hidePageSize = false;
38
37
  this.page = new EventEmitter();
39
- /**
40
- * Sort
41
- */
38
+ // Sort
42
39
  this.sortOnFront = true;
43
40
  this.sortDisableClear = false;
44
41
  this.sortDisabled = false;
45
42
  this.sortStart = 'asc';
46
43
  this.sortChange = new EventEmitter();
47
- /**
48
- * Row
49
- */
44
+ // Row
50
45
  this.rowHover = false;
51
46
  this.rowStriped = false;
52
47
  this.rowClick = new EventEmitter();
53
- /**
54
- * Expandable row
55
- */
48
+ // Expansion
56
49
  this.expansionRowStates = [];
57
50
  this.expandable = false;
58
51
  this.expansionChange = new EventEmitter();
@@ -60,34 +53,25 @@ export class MtxGridComponent {
60
53
  * Whether support multiple row/cell selection
61
54
  */
62
55
  this.multiSelectable = true;
63
- /**
64
- * Row selection
65
- */
56
+ // Row selection
66
57
  this.rowSelection = new SelectionModel(true, []);
67
58
  this.rowSelected = [];
68
59
  this.rowSelectable = false;
69
60
  this.hideRowSelectionCheckbox = false;
70
61
  this.rowSelectionFormatter = {};
71
62
  this.rowSelectionChange = new EventEmitter();
72
- /**
73
- * Cell selection
74
- */
63
+ // Cell selection
75
64
  this.cellSelection = [];
76
65
  this.cellSelectable = true;
77
66
  this.cellSelectionChange = new EventEmitter();
78
- /**
79
- * Toolbar
80
- */
67
+ // Toolbar
81
68
  this.showToolbar = false;
82
69
  this.toolbarTitle = '';
83
- /**
84
- * Column menu
85
- */
70
+ // Column menu
86
71
  this.columnMenuData = [];
87
72
  this.showColumnMenuButton = true;
88
73
  this.columnMenuButtonText = '';
89
74
  this.columnMenuButtonType = 'stroked';
90
- this.columnMenuButtonColor = '';
91
75
  this.columnMenuButtonClass = '';
92
76
  this.columnMenuButtonIcon = '';
93
77
  this.columnHideable = true;
@@ -99,22 +83,12 @@ export class MtxGridComponent {
99
83
  this.columnMenuHeaderText = 'Columns Header';
100
84
  this.showColumnMenuFooter = false;
101
85
  this.columnMenuFooterText = 'Columns Footer';
102
- /**
103
- * No Result
104
- */
86
+ // No Result
105
87
  this.noResultText = 'No records found';
106
- /**
107
- * tfoot
108
- */
88
+ // Summary
109
89
  this.showSummary = false;
110
- /**
111
- * Sidebar
112
- */
90
+ // Sidebar
113
91
  this.showSidebar = false;
114
- /**
115
- * Column resizable
116
- */
117
- this.columnResizable = false;
118
92
  }
119
93
  /**
120
94
  * @return {?}
@@ -509,7 +483,7 @@ MtxGridComponent.decorators = [
509
483
  transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
510
484
  ]),
511
485
  ],
512
- styles: [".mtx-grid{display:flex;flex-direction:column;position:relative;width:100%}.mtx-grid .mat-table-container{overflow:auto}.mtx-grid .mat-table-container.mat-table-with-data{flex:1}.mtx-grid .mat-table:not(.mat-column-resize-table){border-collapse:separate;min-width:100%}.mtx-grid .mat-table:not(.mat-column-resize-table) .mat-cell:not(.mtx-grid-checkbox-cell),.mtx-grid .mat-table:not(.mat-column-resize-table) .mat-footer-cell:not(.mtx-grid-checkbox-cell),.mtx-grid .mat-table:not(.mat-column-resize-table) .mat-header-cell:not(.mtx-grid-checkbox-cell){min-width:80px}.mtx-grid .mat-cell,.mtx-grid .mat-footer-cell,.mtx-grid .mat-header-cell{box-sizing:border-box;padding:4px 10px}.mtx-grid .mat-cell.mtx-grid-checkbox-cell,.mtx-grid .mat-footer-cell.mtx-grid-checkbox-cell,.mtx-grid .mat-header-cell.mtx-grid-checkbox-cell,[dir=rtl] .mtx-grid .mat-cell.mtx-grid-checkbox-cell,[dir=rtl] .mtx-grid .mat-footer-cell.mtx-grid-checkbox-cell,[dir=rtl] .mtx-grid .mat-header-cell.mtx-grid-checkbox-cell{padding-left:10px;padding-right:10px}.mtx-grid .mat-cell .mat-icon-button.expanded .mat-icon{transform:rotate(90deg)}.mtx-grid .mat-row.mtx-grid-expansion{height:0;overflow:hidden}.mtx-grid .mat-row.mtx-grid-expansion .mat-cell{padding-bottom:0;padding-top:0}.mtx-grid .mat-row.mtx-grid-expansion.collapsed .mat-cell,.mtx-grid .mat-row:last-of-type .mat-cell{border-bottom-width:0}.mtx-grid .mat-sort-header-icon{font-size:18px;height:18px;margin:0 4px;width:18px}.mtx-grid .mat-header-cell-inner{align-items:center;display:flex}.mtx-grid .mat-paginator-hidden{display:none}.mtx-grid-progress{position:absolute;top:0;width:100%;z-index:120}.mtx-grid-toolbar{align-items:center;box-sizing:border-box;display:flex;justify-content:space-between;min-height:48px;padding:8px}.mtx-grid-layout{display:flex;flex:1 1 auto;overflow:auto}.mtx-grid-content{flex-direction:column;width:0}.mtx-grid-sidebar{max-width:50%}.mtx-grid-no-result{align-items:center;display:flex;flex:1;justify-content:center;min-height:150px}.mtx-grid-expansion-placeholder{display:inline-block;height:40px;vertical-align:middle;width:40px}.mtx-grid-expansion-detail{align-items:center;display:flex;min-height:48px;overflow:hidden}.mtx-grid-checkbox-cell{flex:none;justify-content:center;min-width:56px;width:56px}.mtx-grid-checkbox-cell .mat-checkbox{display:flex;margin:0 10px}.mtx-grid-checkbox-cell .mat-checkbox-inner-container{margin-left:0}.mat-table-sticky{position:-webkit-sticky!important;position:sticky!important}"]
486
+ styles: [".mtx-grid{display:flex;flex-direction:column;position:relative;width:100%}.mtx-grid .mat-table-container{overflow:auto}.mtx-grid .mat-table-container.mat-table-with-data{flex:1}.mtx-grid .mat-table:not(.mat-column-resize-table){border-collapse:separate;min-width:100%}.mtx-grid .mat-table:not(.mat-column-resize-table) .mat-cell:not(.mtx-grid-checkbox-cell),.mtx-grid .mat-table:not(.mat-column-resize-table) .mat-footer-cell:not(.mtx-grid-checkbox-cell),.mtx-grid .mat-table:not(.mat-column-resize-table) .mat-header-cell:not(.mtx-grid-checkbox-cell){min-width:80px}.mtx-grid .mat-table-sticky-left{border-right-style:solid;border-right-width:1px}[dir=rtl] .mtx-grid .mat-table-sticky-left{border-right-width:0}.mtx-grid .mat-table-sticky-right,[dir=rtl] .mtx-grid .mat-table-sticky-left{border-left-style:solid;border-left-width:1px}[dir=rtl] .mtx-grid .mat-table-sticky-right{border-left-width:0;border-right-style:solid;border-right-width:1px}.mtx-grid .mat-cell,.mtx-grid .mat-footer-cell,.mtx-grid .mat-header-cell{box-sizing:border-box;padding:4px 10px}.mtx-grid .mat-cell:first-of-type:not(:only-of-type),.mtx-grid .mat-footer-cell:first-of-type:not(:only-of-type),.mtx-grid .mat-header-cell:first-of-type:not(:only-of-type){padding-left:24px}.mtx-grid .mat-cell:first-of-type:not(:only-of-type).mtx-grid-checkbox-cell,.mtx-grid .mat-footer-cell:first-of-type:not(:only-of-type).mtx-grid-checkbox-cell,.mtx-grid .mat-header-cell:first-of-type:not(:only-of-type).mtx-grid-checkbox-cell{padding-left:10px;padding-right:10px}[dir=rtl] .mtx-grid .mat-cell:first-of-type:not(:only-of-type),[dir=rtl] .mtx-grid .mat-footer-cell:first-of-type:not(:only-of-type),[dir=rtl] .mtx-grid .mat-header-cell:first-of-type:not(:only-of-type){padding-left:10px;padding-right:24px}[dir=rtl] .mtx-grid .mat-cell:first-of-type:not(:only-of-type).mtx-grid-checkbox-cell,[dir=rtl] .mtx-grid .mat-footer-cell:first-of-type:not(:only-of-type).mtx-grid-checkbox-cell,[dir=rtl] .mtx-grid .mat-header-cell:first-of-type:not(:only-of-type).mtx-grid-checkbox-cell{padding-left:10px;padding-right:10px}.mtx-grid .mat-cell:last-of-type:not(:only-of-type),.mtx-grid .mat-footer-cell:last-of-type:not(:only-of-type),.mtx-grid .mat-header-cell:last-of-type:not(:only-of-type){padding-right:24px}[dir=rtl] .mtx-grid .mat-cell:last-of-type:not(:only-of-type),[dir=rtl] .mtx-grid .mat-footer-cell:last-of-type:not(:only-of-type),[dir=rtl] .mtx-grid .mat-header-cell:last-of-type:not(:only-of-type){padding-left:24px;padding-right:10px}.mtx-grid .mat-cell .mat-icon-button.expanded .mat-icon{transform:rotate(90deg)}.mtx-grid .mat-row.mtx-grid-expansion{height:0;overflow:hidden}.mtx-grid .mat-row.mtx-grid-expansion .mat-cell{padding-bottom:0;padding-top:0}.mtx-grid .mat-row.mtx-grid-expansion.collapsed .mat-cell,.mtx-grid .mat-row:last-of-type .mat-cell{border-bottom-width:0}.mtx-grid .mat-sort-header-icon{font-size:18px;height:18px;margin:0 4px;width:18px}.mtx-grid .mat-header-cell-inner{align-items:center;display:flex}.mtx-grid .mat-paginator-hidden{display:none}.mtx-grid-progress{position:absolute;top:0;width:100%;z-index:120}.mtx-grid-toolbar{align-items:center;box-sizing:border-box;display:flex;justify-content:space-between;min-height:48px;padding:8px}.mtx-grid-layout{display:flex;flex:1 1 auto;overflow:auto}.mtx-grid-content{flex-direction:column;width:0}.mtx-grid-sidebar{border-left-style:solid;border-left-width:1px;max-width:50%}[dir=rtl] .mtx-grid-sidebar{border-left-width:0;border-right-style:solid;border-right-width:1px}.mtx-grid-no-result{align-items:center;display:flex;flex:1;justify-content:center;min-height:150px}.mtx-grid-expansion-placeholder{display:inline-block;height:40px;vertical-align:middle;width:40px}.mtx-grid-expansion-detail{align-items:center;display:flex;min-height:48px;overflow:hidden}.mtx-grid-checkbox-cell{flex:none;justify-content:center;min-width:56px;width:56px}.mtx-grid-checkbox-cell .mat-checkbox{display:flex;margin:0 10px}.mtx-grid-checkbox-cell .mat-checkbox-inner-container{margin-left:0}.mat-table-sticky{position:-webkit-sticky!important;position:sticky!important}"]
513
487
  }] }
514
488
  ];
515
489
  /** @nocollapse */
@@ -528,6 +502,7 @@ MtxGridComponent.propDecorators = {
528
502
  length: [{ type: Input }],
529
503
  loading: [{ type: Input }],
530
504
  trackBy: [{ type: Input }],
505
+ columnResizable: [{ type: Input }],
531
506
  pageOnFront: [{ type: Input }],
532
507
  showPaginator: [{ type: Input }],
533
508
  pageDisabled: [{ type: Input }],
@@ -587,8 +562,7 @@ MtxGridComponent.propDecorators = {
587
562
  showSummary: [{ type: Input }],
588
563
  summaryTemplate: [{ type: Input }],
589
564
  showSidebar: [{ type: Input }],
590
- sidebarTemplate: [{ type: Input }],
591
- columnResizable: [{ type: Input }]
565
+ sidebarTemplate: [{ type: Input }]
592
566
  };
593
567
  if (false) {
594
568
  /** @type {?} */
@@ -613,10 +587,9 @@ if (false) {
613
587
  MtxGridComponent.prototype.loading;
614
588
  /** @type {?} */
615
589
  MtxGridComponent.prototype.trackBy;
616
- /**
617
- * Page
618
- * @type {?}
619
- */
590
+ /** @type {?} */
591
+ MtxGridComponent.prototype.columnResizable;
592
+ /** @type {?} */
620
593
  MtxGridComponent.prototype.pageOnFront;
621
594
  /** @type {?} */
622
595
  MtxGridComponent.prototype.showPaginator;
@@ -634,10 +607,7 @@ if (false) {
634
607
  MtxGridComponent.prototype.hidePageSize;
635
608
  /** @type {?} */
636
609
  MtxGridComponent.prototype.page;
637
- /**
638
- * Sort
639
- * @type {?}
640
- */
610
+ /** @type {?} */
641
611
  MtxGridComponent.prototype.sortOnFront;
642
612
  /** @type {?} */
643
613
  MtxGridComponent.prototype.sortActive;
@@ -651,19 +621,13 @@ if (false) {
651
621
  MtxGridComponent.prototype.sortStart;
652
622
  /** @type {?} */
653
623
  MtxGridComponent.prototype.sortChange;
654
- /**
655
- * Row
656
- * @type {?}
657
- */
624
+ /** @type {?} */
658
625
  MtxGridComponent.prototype.rowHover;
659
626
  /** @type {?} */
660
627
  MtxGridComponent.prototype.rowStriped;
661
628
  /** @type {?} */
662
629
  MtxGridComponent.prototype.rowClick;
663
- /**
664
- * Expandable row
665
- * @type {?}
666
- */
630
+ /** @type {?} */
667
631
  MtxGridComponent.prototype.expansionRowStates;
668
632
  /** @type {?} */
669
633
  MtxGridComponent.prototype.expandable;
@@ -676,10 +640,7 @@ if (false) {
676
640
  * @type {?}
677
641
  */
678
642
  MtxGridComponent.prototype.multiSelectable;
679
- /**
680
- * Row selection
681
- * @type {?}
682
- */
643
+ /** @type {?} */
683
644
  MtxGridComponent.prototype.rowSelection;
684
645
  /** @type {?} */
685
646
  MtxGridComponent.prototype.rowSelected;
@@ -693,10 +654,7 @@ if (false) {
693
654
  MtxGridComponent.prototype.rowClassFormatter;
694
655
  /** @type {?} */
695
656
  MtxGridComponent.prototype.rowSelectionChange;
696
- /**
697
- * Cell selection
698
- * @type {?}
699
- */
657
+ /** @type {?} */
700
658
  MtxGridComponent.prototype.cellSelection;
701
659
  /** @type {?} */
702
660
  MtxGridComponent.prototype.cellSelectable;
@@ -707,19 +665,13 @@ if (false) {
707
665
  * @private
708
666
  */
709
667
  MtxGridComponent.prototype._selectedCell;
710
- /**
711
- * Toolbar
712
- * @type {?}
713
- */
668
+ /** @type {?} */
714
669
  MtxGridComponent.prototype.showToolbar;
715
670
  /** @type {?} */
716
671
  MtxGridComponent.prototype.toolbarTitle;
717
672
  /** @type {?} */
718
673
  MtxGridComponent.prototype.toolbarTemplate;
719
- /**
720
- * Column menu
721
- * @type {?}
722
- */
674
+ /** @type {?} */
723
675
  MtxGridComponent.prototype.columnMenuData;
724
676
  /** @type {?} */
725
677
  MtxGridComponent.prototype.showColumnMenuButton;
@@ -755,44 +707,24 @@ if (false) {
755
707
  MtxGridComponent.prototype.columnMenuFooterText;
756
708
  /** @type {?} */
757
709
  MtxGridComponent.prototype.columnMenuFooterTemplate;
758
- /**
759
- * No Result
760
- * @type {?}
761
- */
710
+ /** @type {?} */
762
711
  MtxGridComponent.prototype.noResultText;
763
712
  /** @type {?} */
764
713
  MtxGridComponent.prototype.noResultTemplate;
765
- /**
766
- * thead
767
- * @type {?}
768
- */
714
+ /** @type {?} */
769
715
  MtxGridComponent.prototype.headerTemplate;
770
716
  /** @type {?} */
771
717
  MtxGridComponent.prototype.headerExtraTemplate;
772
- /**
773
- * tbody
774
- * @type {?}
775
- */
718
+ /** @type {?} */
776
719
  MtxGridComponent.prototype.cellTemplate;
777
- /**
778
- * tfoot
779
- * @type {?}
780
- */
720
+ /** @type {?} */
781
721
  MtxGridComponent.prototype.showSummary;
782
722
  /** @type {?} */
783
723
  MtxGridComponent.prototype.summaryTemplate;
784
- /**
785
- * Sidebar
786
- * @type {?}
787
- */
724
+ /** @type {?} */
788
725
  MtxGridComponent.prototype.showSidebar;
789
726
  /** @type {?} */
790
727
  MtxGridComponent.prototype.sidebarTemplate;
791
- /**
792
- * Column resizable
793
- * @type {?}
794
- */
795
- MtxGridComponent.prototype.columnResizable;
796
728
  /**
797
729
  * @type {?}
798
730
  * @private
@@ -804,4 +736,4 @@ if (false) {
804
736
  */
805
737
  MtxGridComponent.prototype._changeDetectorRef;
806
738
  }
807
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL25pdXpvbmdiaW4vUHJvamVjdHMvQG5nLW1hdGVyby9leHRlbnNpb25zL3Byb2plY3RzL2V4dGVuc2lvbnMvZGF0YS1ncmlkLyIsInNvdXJjZXMiOlsiZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFdBQVcsRUFJWCxpQkFBaUIsRUFDakIsVUFBVSxHQUVYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQVEsT0FBTyxFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBWXRFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBb0JwQyxNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQTJJM0IsWUFDVSxZQUE0QixFQUM1QixrQkFBcUM7UUFEckMsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQzVCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUF2SS9DLGVBQVUsR0FBRyxJQUFJLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRy9CLFlBQU8sR0FBb0IsRUFBRSxDQUFDO1FBQzlCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFD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QUk3Qyw4Q0FBK0I7O0lBRS9CLHNDQUE0Qjs7SUFDNUIsNkNBQTZDOztJQUM3QywyQ0FBb0Q7Ozs7O0lBSXBELDJDQUFnQzs7Ozs7SUFJaEMsd0NBQXNFOztJQUV0RSx1Q0FBMEI7O0lBQzFCLHlDQUErQjs7SUFDL0Isb0RBQTBDOztJQUMxQyxpREFBa0U7O0lBQ2xFLDZDQUFxRDs7SUFDckQsOENBQXlEOzs7OztJQUl6RCx5Q0FBMEI7O0lBRTFCLDBDQUErQjs7SUFDL0IsK0NBQTBEOzs7OztJQUUxRCx5Q0FBaUU7Ozs7O0lBSWpFLHVDQUE2Qjs7SUFDN0Isd0NBQTJCOztJQUMzQiwyQ0FBMkM7Ozs7O0lBSTNDLDBDQUFrRDs7SUFFbEQsZ0RBQXFDOztJQUNyQyxnREFBbUM7O0lBQ25DLGdEQUEwQzs7SUFDMUMsaURBQW9DOztJQUNwQyxpREFBb0M7O0lBQ3BDLGdEQUFtQzs7SUFFbkMsMENBQStCOztJQUMvQixpREFBeUQ7O0lBQ3pELHlDQUE4Qjs7SUFDOUIsMENBQStCOztJQUMvQix3Q0FBMEU7O0lBRTFFLGdEQUFzQzs7SUFDdEMsZ0RBQWlEOztJQUNqRCxvREFBb0Q7O0lBQ3BELGdEQUFzQzs7SUFDdEMsZ0RBQWlEOztJQUNqRCxvREFBb0Q7Ozs7O0lBSXBELHdDQUEyQzs7SUFDM0MsNENBQTRDOzs7OztJQU81QywwQ0FBc0U7O0lBQ3RFLCtDQUEyRTs7Ozs7SUFHM0Usd0NBQW9FOzs7OztJQUdwRSx1Q0FBNkI7O0lBQzdCLDJDQUF1RTs7Ozs7SUFRdkUsdUNBQTZCOztJQUM3QiwyQ0FBMkM7Ozs7O0lBRzNDLDJDQUFpQzs7Ozs7SUFHL0Isd0NBQW9DOzs7OztJQUNwQyw4Q0FBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFRyYWNrQnlGdW5jdGlvbixcclxuICBPbkRlc3Ryb3ksXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRyaWdnZXIsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgYW5pbWF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yLCBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBTb3J0LCBNYXRTb3J0LCBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIE10eEdyaWRDb2x1bW4sXHJcbiAgTXR4R3JpZENvbHVtblNlbGVjdGlvbkl0ZW0sXHJcbiAgTXR4R3JpZENlbGxUZW1wbGF0ZSxcclxuICBNdHhHcmlkUm93U2VsZWN0aW9uRm9ybWF0dGVyLFxyXG4gIE10eEdyaWRSb3dDbGFzc0Zvcm1hdHRlcixcclxuICBNdHhHcmlkQ29sdW1uTWVudSxcclxufSBmcm9tICcuL2dyaWQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTXR4R3JpZENlbGxTZWxlY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL2NlbGwtc2VsZWN0aW9uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE10eEdyaWRFeHBhbnNpb25Ub2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuL2V4cGFuc2lvbi10b2dnbGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTXR4R3JpZFNlcnZpY2UgfSBmcm9tICcuL2dyaWQuc2VydmljZSc7XHJcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtdHgtZ3JpZCcsXHJcbiAgZXhwb3J0QXM6ICdtdHhHcmlkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnbXR4LWdyaWQnLFxyXG4gIH0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdleHBhbnNpb24nLCBbXHJcbiAgICAgIHN0YXRlKCdjb2xsYXBzZWQnLCBzdHlsZSh7IGhlaWdodDogJzAnLCBtaW5IZWlnaHQ6ICcwJywgdmlzaWJpbGl0eTogJ2hpZGRlbicgfSkpLFxyXG4gICAgICBzdGF0ZSgnZXhwYW5kZWQnLCBzdHlsZSh7IGhlaWdodDogJyonLCB2aXNpYmlsaXR5OiAndmlzaWJsZScgfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCdleHBhbmRlZCA8PT4gY29sbGFwc2VkJywgYW5pbWF0ZSgnMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpJykpLFxyXG4gICAgXSksXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE10eEdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvcikgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0OiBNYXRTb3J0O1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbHVtbk1lbnUnKSBjb2x1bW5NZW51OiBNdHhHcmlkQ29sdW1uTWVudTtcclxuICBAVmlld0NoaWxkKCd0YWJsZUNvbnRhaW5lcicpIHRhYmxlQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHJcbiAgZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoW10pO1xyXG5cclxuICBASW5wdXQoKSBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXTtcclxuICBASW5wdXQoKSBjb2x1bW5zOiBNdHhHcmlkQ29sdW1uW10gPSBbXTtcclxuICBASW5wdXQoKSBkYXRhID0gW107XHJcbiAgQElucHV0KCkgbGVuZ3RoID0gMDtcclxuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIC8vIFRyYWNraW5nIGZ1bmN0aW9uXHJcbiAgQElucHV0KCkgdHJhY2tCeTogVHJhY2tCeUZ1bmN0aW9uPGFueT47XHJcblxyXG4gIC8qKiBQYWdlICovXHJcblxyXG4gIEBJbnB1dCgpIHBhZ2VPbkZyb250ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93UGFnaW5hdG9yID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwYWdlRGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93Rmlyc3RMYXN0QnV0dG9ucyA9IHRydWU7XHJcbiAgQElucHV0KCkgcGFnZUluZGV4ID0gMDtcclxuICBASW5wdXQoKSBwYWdlU2l6ZSA9IDEwO1xyXG4gIEBJbnB1dCgpIHBhZ2VTaXplT3B0aW9ucyA9IFsxMCwgNTAsIDEwMF07XHJcbiAgQElucHV0KCkgaGlkZVBhZ2VTaXplID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHBhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2VFdmVudD4oKTtcclxuXHJcbiAgLyoqIFNvcnQgKi9cclxuXHJcbiAgQElucHV0KCkgc29ydE9uRnJvbnQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNvcnRBY3RpdmU6IHN0cmluZztcclxuICBASW5wdXQoKSBzb3J0RGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xyXG4gIEBJbnB1dCgpIHNvcnREaXNhYmxlQ2xlYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzb3J0RGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzb3J0U3RhcnQ6ICdhc2MnIHwgJ2Rlc2MnID0gJ2FzYyc7XHJcbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnQ+KCk7XHJcblxyXG4gIC8qKiBSb3cgKi9cclxuXHJcbiAgQElucHV0KCkgcm93SG92ZXIgPSBmYWxzZTtcclxuICBASW5wdXQoKSByb3dTdHJpcGVkID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8qKiBFeHBhbmRhYmxlIHJvdyAqL1xyXG5cclxuICBleHBhbnNpb25Sb3dTdGF0ZXM6IGFueVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIGV4cGFuZGFibGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBleHBhbnNpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAT3V0cHV0KCkgZXhwYW5zaW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8qKiBXaGV0aGVyIHN1cHBvcnQgbXVsdGlwbGUgcm93L2NlbGwgc2VsZWN0aW9uICovXHJcblxyXG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0YWJsZSA9IHRydWU7XHJcblxyXG4gIC8qKiBSb3cgc2VsZWN0aW9uICovXHJcblxyXG4gIHJvd1NlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxhbnk+KHRydWUsIFtdKTtcclxuXHJcbiAgQElucHV0KCkgcm93U2VsZWN0ZWQgPSBbXTtcclxuICBASW5wdXQoKSByb3dTZWxlY3RhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGlkZVJvd1NlbGVjdGlvbkNoZWNrYm94ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcm93U2VsZWN0aW9uRm9ybWF0dGVyOiBNdHhHcmlkUm93U2VsZWN0aW9uRm9ybWF0dGVyID0ge307XHJcbiAgQElucHV0KCkgcm93Q2xhc3NGb3JtYXR0ZXI6IE10eEdyaWRSb3dDbGFzc0Zvcm1hdHRlcjtcclxuICBAT3V0cHV0KCkgcm93U2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcclxuXHJcbiAgLyoqIENlbGwgc2VsZWN0aW9uICovXHJcblxyXG4gIGNlbGxTZWxlY3Rpb246IGFueVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIGNlbGxTZWxlY3RhYmxlID0gdHJ1ZTtcclxuICBAT3V0cHV0KCkgY2VsbFNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XHJcblxyXG4gIHByaXZhdGUgX3NlbGVjdGVkQ2VsbDogTXR4R3JpZENlbGxTZWxlY3Rpb25EaXJlY3RpdmUgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKiBUb29sYmFyICovXHJcblxyXG4gIEBJbnB1dCgpIHNob3dUb29sYmFyID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdG9vbGJhclRpdGxlID0gJyc7XHJcbiAgQElucHV0KCkgdG9vbGJhclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvKiogQ29sdW1uIG1lbnUgKi9cclxuXHJcbiAgY29sdW1uTWVudURhdGE6IE10eEdyaWRDb2x1bW5TZWxlY3Rpb25JdGVtW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgc2hvd0NvbHVtbk1lbnVCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNvbHVtbk1lbnVCdXR0b25UZXh0ID0gJyc7XHJcbiAgQElucHV0KCkgY29sdW1uTWVudUJ1dHRvblR5cGUgPSAnc3Ryb2tlZCc7XHJcbiAgQElucHV0KCkgY29sdW1uTWVudUJ1dHRvbkNvbG9yID0gJyc7XHJcbiAgQElucHV0KCkgY29sdW1uTWVudUJ1dHRvbkNsYXNzID0gJyc7XHJcbiAgQElucHV0KCkgY29sdW1uTWVudUJ1dHRvbkljb24gPSAnJztcclxuXHJcbiAgQElucHV0KCkgY29sdW1uSGlkZWFibGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNvbHVtbkhpZGVhYmxlQ2hlY2tlZDogJ3Nob3cnIHwgJ2hpZGUnID0gJ3Nob3cnO1xyXG4gIEBJbnB1dCgpIGNvbHVtbk1vdmFibGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNvbHVtblBpbm5hYmxlID0gdHJ1ZTtcclxuICBAT3V0cHV0KCkgY29sdW1uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNdHhHcmlkQ29sdW1uU2VsZWN0aW9uSXRlbVtdPigpO1xyXG5cclxuICBASW5wdXQoKSBzaG93Q29sdW1uTWVudUhlYWRlciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNvbHVtbk1lbnVIZWFkZXJUZXh0ID0gJ0NvbHVtbnMgSGVhZGVyJztcclxuICBASW5wdXQoKSBjb2x1bW5NZW51SGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgc2hvd0NvbHVtbk1lbnVGb290ZXIgPSBmYWxzZTtcclxuICBASW5wdXQoKSBjb2x1bW5NZW51Rm9vdGVyVGV4dCA9ICdDb2x1bW5zIEZvb3Rlcic7XHJcbiAgQElucHV0KCkgY29sdW1uTWVudUZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvKiogTm8gUmVzdWx0ICovXHJcblxyXG4gIEBJbnB1dCgpIG5vUmVzdWx0VGV4dCA9ICdObyByZWNvcmRzIGZvdW5kJztcclxuICBASW5wdXQoKSBub1Jlc3VsdFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBnZXQgX2hhc05vUmVzdWx0KCkge1xyXG4gICAgcmV0dXJuICghdGhpcy5kYXRhIHx8IHRoaXMuZGF0YS5sZW5ndGggPT09IDApICYmICF0aGlzLmxvYWRpbmc7XHJcbiAgfVxyXG5cclxuICAvKiogdGhlYWQgKi9cclxuICBASW5wdXQoKSBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IE10eEdyaWRDZWxsVGVtcGxhdGUgfCBhbnk7XHJcbiAgQElucHV0KCkgaGVhZGVyRXh0cmFUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IE10eEdyaWRDZWxsVGVtcGxhdGUgfCBhbnk7XHJcblxyXG4gIC8qKiB0Ym9keSAqL1xyXG4gIEBJbnB1dCgpIGNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IE10eEdyaWRDZWxsVGVtcGxhdGUgfCBhbnk7XHJcblxyXG4gIC8qKiB0Zm9vdCAqL1xyXG4gIEBJbnB1dCgpIHNob3dTdW1tYXJ5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc3VtbWFyeVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgTXR4R3JpZENlbGxUZW1wbGF0ZSB8IGFueTtcclxuXHJcbiAgLy8gVE9ETzogU3VtbWFyeSBkaXNwbGF5IGNvbmRpdGlvbnNcclxuICBnZXQgX3doZXRoZXJTaG93U3VtbWFyeSgpIHtcclxuICAgIHJldHVybiB0aGlzLnNob3dTdW1tYXJ5O1xyXG4gIH1cclxuXHJcbiAgLyoqIFNpZGViYXIgKi9cclxuICBASW5wdXQoKSBzaG93U2lkZWJhciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNpZGViYXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLyoqIENvbHVtbiByZXNpemFibGUgKi9cclxuICBASW5wdXQoKSBjb2x1bW5SZXNpemFibGUgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9kYXRhR3JpZFNydjogTXR4R3JpZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIGRldGVjdENoYW5nZXMoKSB7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBfaXNUZW1wbGF0ZVJlZihvYmo6IGFueSkge1xyXG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xyXG4gIH1cclxuXHJcbiAgX2lzT2JzZXJ2YWJsZShkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiBpc09ic2VydmFibGUoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBfZ2V0Q29sRGF0YShkYXRhOiBhbnlbXSwgY29sRGVmOiBNdHhHcmlkQ29sdW1uKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YUdyaWRTcnYuZ2V0Q29sRGF0YShkYXRhLCBjb2xEZWYpO1xyXG4gIH1cclxuXHJcbiAgX2dldFJvd0NsYXNzTGlzdChyb3dEYXRhOiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGNsYXNzTGlzdDogYW55ID0ge1xyXG4gICAgICAnc2VsZWN0ZWQnOiB0aGlzLnJvd1NlbGVjdGlvbi5pc1NlbGVjdGVkKHJvd0RhdGEpLFxyXG4gICAgICAnbWF0LXJvdy1vZGQnOiBpbmRleCAlIDIsXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMucm93Q2xhc3NGb3JtYXR0ZXIpIHtcclxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy5yb3dDbGFzc0Zvcm1hdHRlcikpIHtcclxuICAgICAgICBjbGFzc0xpc3Rba2V5XSA9IHRoaXMucm93Q2xhc3NGb3JtYXR0ZXJba2V5XShyb3dEYXRhLCBpbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjbGFzc0xpc3Q7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIC8vIFdhaXRpbmcgZm9yIGFzeW5jIGRhdGFcclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICB0aGlzLl9jb3VudFBpbm5lZFBvc2l0aW9uKCk7XHJcblxyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5jb2x1bW5zLmZpbHRlcihpdGVtID0+ICFpdGVtLmhpZGUpLm1hcChpdGVtID0+IGl0ZW0uZmllbGQpO1xyXG5cclxuICAgIGlmICh0aGlzLnNob3dDb2x1bW5NZW51QnV0dG9uKSB7XHJcbiAgICAgIHRoaXMuY29sdW1uTWVudURhdGEgPSAodGhpcy5jb2x1bW5zIGFzIGFueVtdKS5tYXAoaXRlbSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3SXRlbTogTXR4R3JpZENvbHVtblNlbGVjdGlvbkl0ZW0gPSB7XHJcbiAgICAgICAgICBsYWJlbDogaXRlbS5oZWFkZXIsXHJcbiAgICAgICAgICBmaWVsZDogaXRlbS5maWVsZCxcclxuICAgICAgICAgIGRpc2FibGVkOiBpdGVtLmRpc2FibGVkLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKHRoaXMuY29sdW1uSGlkZWFibGVDaGVja2VkID09PSAnc2hvdycpIHtcclxuICAgICAgICAgIG5ld0l0ZW0uc2hvdyA9ICFpdGVtLmhpZGU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG5ld0l0ZW0uaGlkZSA9IGl0ZW0uaGlkZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld0l0ZW07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJvd1NlbGVjdGFibGUgJiYgIXRoaXMuaGlkZVJvd1NlbGVjdGlvbkNoZWNrYm94KSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy51bnNoaWZ0KCdNdHhHcmlkQ2hlY2tib3hDb2x1bW5EZWYnKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBXZSBzaG91bGQgY29weSBlYWNoIGl0ZW0gb2YgZGF0YSBmb3IgZXhwYW5zaW9uIGRhdGFcclxuICAgIGlmICh0aGlzLmV4cGFuZGFibGUpIHtcclxuICAgICAgdGhpcy5leHBhbnNpb25Sb3dTdGF0ZXMgPSBbXTsgLy8gcmVzZXRcclxuXHJcbiAgICAgIHRoaXMuZGF0YT8uZm9yRWFjaChfID0+IHtcclxuICAgICAgICB0aGlzLmV4cGFuc2lvblJvd1N0YXRlcy5wdXNoKHsgZXhwYW5kZWQ6IGZhbHNlIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yb3dTZWxlY3RhYmxlKSB7XHJcbiAgICAgIHRoaXMucm93U2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4odGhpcy5tdWx0aVNlbGVjdGFibGUsIHRoaXMucm93U2VsZWN0ZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5kYXRhKTtcclxuXHJcbiAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdlT25Gcm9udCA/IHRoaXMucGFnaW5hdG9yIDogbnVsbDtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0T25Gcm9udCA/IHRoaXMuc29ydCA6IG51bGw7XHJcblxyXG4gICAgLy8gT25seSBzY3JvbGwgdG9wIHdoZW4gZGF0YSBjaGFuZ2VcclxuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcclxuICAgICAgdGhpcy5zY3JvbGxUb3AoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5wYWdlT25Gcm9udCkge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc29ydE9uRnJvbnQpIHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHt9XHJcblxyXG4gIF9jb3VudFBpbm5lZFBvc2l0aW9uKCkge1xyXG4gICAgY29uc3QgY291bnQgPSAoYWNjOiBudW1iZXIsIGN1cjogTXR4R3JpZENvbHVtbikgPT4gYWNjICsgcGFyc2VGbG9hdChjdXIud2lkdGggfHwgJzgwcHgnKTtcclxuXHJcbiAgICBjb25zdCBwaW5uZWRMZWZ0Q29scyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoY29sID0+IGNvbC5waW5uZWQgJiYgY29sLnBpbm5lZCA9PT0gJ2xlZnQnKTtcclxuICAgIHBpbm5lZExlZnRDb2xzLmZvckVhY2goKGl0ZW0sIGlkeCkgPT4ge1xyXG4gICAgICBpdGVtLmxlZnQgPSBwaW5uZWRMZWZ0Q29scy5zbGljZSgwLCBpZHgpLnJlZHVjZShjb3VudCwgMCkgKyAncHgnO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgcGlubmVkUmlnaHRDb2xzID0gdGhpcy5jb2x1bW5zXHJcbiAgICAgIC5maWx0ZXIoY29sID0+IGNvbC5waW5uZWQgJiYgY29sLnBpbm5lZCA9PT0gJ3JpZ2h0JylcclxuICAgICAgLnJldmVyc2UoKTtcclxuICAgIHBpbm5lZFJpZ2h0Q29scy5mb3JFYWNoKChpdGVtLCBpZHgpID0+IHtcclxuICAgICAgaXRlbS5yaWdodCA9IHBpbm5lZFJpZ2h0Q29scy5zbGljZSgwLCBpZHgpLnJlZHVjZShjb3VudCwgMCkgKyAncHgnO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBfZ2V0SW5kZXgoaW5kZXg6IG51bWJlciwgZGF0YUluZGV4OiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0eXBlb2YgaW5kZXggPT09ICd1bmRlZmluZWQnID8gZGF0YUluZGV4IDogaW5kZXg7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlU29ydENoYW5nZShzb3J0OiBTb3J0KSB7XHJcbiAgICB0aGlzLnNvcnRDaGFuZ2UuZW1pdChzb3J0KTtcclxuICB9XHJcblxyXG4gIC8qKiBFeHBhbnNpb24gY2hhbmdlIGV2ZW50ICovXHJcbiAgX2hhbmRsZUV4cGFuc2lvbkNoYW5nZShcclxuICAgIGV4cGFuc2lvblJlZjogTXR4R3JpZEV4cGFuc2lvblRvZ2dsZURpcmVjdGl2ZSxcclxuICAgIHJvd0RhdGE6IGFueSxcclxuICAgIGNvbHVtbjogYW55LFxyXG4gICAgaW5kZXg6IG51bWJlclxyXG4gICkge1xyXG4gICAgdGhpcy5leHBhbnNpb25DaGFuZ2UuZW1pdCh7IGV4cGFuZGVkOiBleHBhbnNpb25SZWYuZXhwYW5kZWQsIGRhdGE6IHJvd0RhdGEsIGluZGV4LCBjb2x1bW4gfSk7XHJcbiAgfVxyXG5cclxuICAvKiogQ2VsbCBzZWxlY3QgZXZlbnQgKi9cclxuICBfc2VsZWN0Q2VsbChjZWxsUmVmOiBNdHhHcmlkQ2VsbFNlbGVjdGlvbkRpcmVjdGl2ZSwgcm93RGF0YTogYW55LCBjb2xEZWY6IGFueSk6IHZvaWQge1xyXG4gICAgLy8gSWYgbm90IHRoZSBzYW1lIGNlbGxcclxuICAgIGlmICh0aGlzLl9zZWxlY3RlZENlbGwgIT09IGNlbGxSZWYpIHtcclxuICAgICAgY29uc3QgY29sVmFsdWUgPSB0aGlzLl9kYXRhR3JpZFNydi5nZXRDZWxsVmFsdWUocm93RGF0YSwgY29sRGVmKTtcclxuICAgICAgdGhpcy5jZWxsU2VsZWN0aW9uID0gW107IC8vIHJlc2V0XHJcbiAgICAgIHRoaXMuY2VsbFNlbGVjdGlvbi5wdXNoKHsgY2VsbERhdGE6IGNvbFZhbHVlLCByb3dEYXRhLCBjb2xEZWYgfSk7XHJcblxyXG4gICAgICB0aGlzLmNlbGxTZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLmNlbGxTZWxlY3Rpb24pO1xyXG5cclxuICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkQ2VsbCkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkQ2VsbC5kZXNlbGVjdCgpOyAvLyB0aGUgc2VsZWN0ZWRDZWxsIHdpbGwgYmUgdW5kZWZpbmVkXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9zZWxlY3RlZENlbGwgPSBjZWxsUmVmLnNlbGVjdGVkID8gY2VsbFJlZiA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKiBSb3cgc2VsZWN0IGV2ZW50ICovXHJcbiAgX3NlbGVjdFJvdyhldmVudDogTW91c2VFdmVudCwgcm93RGF0YTogYW55LCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMucm93U2VsZWN0YWJsZSAmJlxyXG4gICAgICAhdGhpcy5yb3dTZWxlY3Rpb25Gb3JtYXR0ZXIuZGlzYWJsZWQ/Lihyb3dEYXRhLCBpbmRleCkgJiZcclxuICAgICAgIXRoaXMucm93U2VsZWN0aW9uRm9ybWF0dGVyLmhpZGVDaGVja2JveD8uKHJvd0RhdGEsIGluZGV4KVxyXG4gICAgKSB7XHJcbiAgICAgIC8vIG1ldGFLZXkgLT4gY29tbWFuZCBrZXlcclxuICAgICAgaWYgKCFldmVudC5jdHJsS2V5ICYmICFldmVudC5tZXRhS2V5KSB7XHJcbiAgICAgICAgdGhpcy5yb3dTZWxlY3Rpb24uY2xlYXIoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5fdG9nZ2xlTm9ybWFsQ2hlY2tib3gocm93RGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3dDbGljay5lbWl0KHsgcm93RGF0YSwgaW5kZXggfSk7XHJcbiAgfVxyXG5cclxuICAvKiogV2hldGhlciB0aGUgbnVtYmVyIG9mIHNlbGVjdGVkIGVsZW1lbnRzIG1hdGNoZXMgdGhlIHRvdGFsIG51bWJlciBvZiByb3dzLiAqL1xyXG4gIF9pc0FsbFNlbGVjdGVkKCkge1xyXG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnJvd1NlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XHJcbiAgICBjb25zdCBudW1Sb3dzID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmlsdGVyKFxyXG4gICAgICAocm93LCBpbmRleCkgPT4gIXRoaXMucm93U2VsZWN0aW9uRm9ybWF0dGVyLmRpc2FibGVkPy4ocm93LCBpbmRleClcclxuICAgICkubGVuZ3RoO1xyXG4gICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNlbGVjdCBhbGwgcm93cyBpZiB0aGV5IGFyZSBub3QgYWxsIHNlbGVjdGVkOyBvdGhlcndpc2UgY2xlYXIgc2VsZWN0aW9uLiAqL1xyXG4gIF90b2dnbGVNYXN0ZXJDaGVja2JveCgpIHtcclxuICAgIHRoaXMuX2lzQWxsU2VsZWN0ZWQoKVxyXG4gICAgICA/IHRoaXMucm93U2VsZWN0aW9uLmNsZWFyKClcclxuICAgICAgOiB0aGlzLmRhdGFTb3VyY2UuZGF0YS5mb3JFYWNoKChyb3csIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMucm93U2VsZWN0aW9uRm9ybWF0dGVyLmRpc2FibGVkPy4ocm93LCBpbmRleCkpIHtcclxuICAgICAgICAgICAgdGhpcy5yb3dTZWxlY3Rpb24uc2VsZWN0KHJvdyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB0aGlzLnJvd1NlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMucm93U2VsZWN0aW9uLnNlbGVjdGVkKTtcclxuICB9XHJcblxyXG4gIC8qKiBTZWxlY3Qgbm9ybWFsIHJvdyAqL1xyXG4gIF90b2dnbGVOb3JtYWxDaGVja2JveChyb3c6IGFueSkge1xyXG4gICAgdGhpcy5yb3dTZWxlY3Rpb24udG9nZ2xlKHJvdyk7XHJcbiAgICB0aGlzLnJvd1NlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMucm93U2VsZWN0aW9uLnNlbGVjdGVkKTtcclxuICB9XHJcblxyXG4gIC8qKiBDb2x1bW4gY2hhbmdlIGV2ZW50ICovXHJcblxyXG4gIF9oYW5kbGVDb2x1bW5DaGFuZ2UoY29sdW1uczogYW55W10pIHtcclxuICAgIHRoaXMuY29sdW1uQ2hhbmdlLmVtaXQoY29sdW1ucyk7XHJcblxyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gT2JqZWN0LmFzc2lnbihbXSwgdGhpcy5nZXREaXNwbGF5ZWRDb2x1bW5GaWVsZHMoY29sdW1ucykpO1xyXG5cclxuICAgIGlmICh0aGlzLnJvd1NlbGVjdGFibGUgJiYgIXRoaXMuaGlkZVJvd1NlbGVjdGlvbkNoZWNrYm94KSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy51bnNoaWZ0KCdNdHhHcmlkQ2hlY2tib3hDb2x1bW5EZWYnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldERpc3BsYXllZENvbHVtbkZpZWxkcyhjb2x1bW5zOiBhbnlbXSk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IGZpZWxkcyA9IGNvbHVtbnNcclxuICAgICAgLmZpbHRlcigoaXRlbTogTXR4R3JpZENvbHVtblNlbGVjdGlvbkl0ZW0pID0+XHJcbiAgICAgICAgdGhpcy5jb2x1bW5IaWRlYWJsZUNoZWNrZWQgPT09ICdzaG93JyA/IGl0ZW0uc2hvdyA6ICFpdGVtLmhpZGVcclxuICAgICAgKVxyXG4gICAgICAubWFwKChpdGVtOiBNdHhHcmlkQ29sdW1uU2VsZWN0aW9uSXRlbSkgPT4gaXRlbS5maWVsZCk7XHJcbiAgICByZXR1cm4gZmllbGRzO1xyXG4gIH1cclxuXHJcbiAgLyoqIEN1c3RvbWl6ZSBleHBhbnNpb24gZXZlbnQgKi9cclxuICB0b2dnbGVFeHBhbnNpb24oaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKCF0aGlzLmV4cGFuZGFibGUpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgYGV4cGFuZGFibGVgIHNob3VsZCBiZSBzZXQgdHJ1ZS4nKTtcclxuICAgIH1cclxuICAgIHRoaXMuZXhwYW5zaW9uUm93U3RhdGVzW2luZGV4XS5leHBhbmRlZCA9ICF0aGlzLmV4cGFuc2lvblJvd1N0YXRlc1tpbmRleF0uZXhwYW5kZWQ7XHJcbiAgICByZXR1cm4gdGhpcy5leHBhbnNpb25Sb3dTdGF0ZXNbaW5kZXhdLmV4cGFuZGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNjcm9sbCB0byB0b3Agd2hlbiB0dXJuIHRvIHRoZSBuZXh0IHBhZ2UgKi9cclxuICBfaGFuZGxlUGFnZShlOiBQYWdlRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnBhZ2VPbkZyb250KSB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsVG9wKDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wYWdlLmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxUb3AodmFsdWU/OiBudW1iZXIpOiBudW1iZXIgfCB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRhYmxlQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnRhYmxlQ29udGFpbmVyICYmICF0aGlzLmxvYWRpbmcpIHtcclxuICAgICAgdGhpcy50YWJsZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2Nyb2xsTGVmdCh2YWx1ZT86IG51bWJlcik6IG51bWJlciB8IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudGFibGVDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnRhYmxlQ29udGFpbmVyICYmICF0aGlzLmxvYWRpbmcpIHtcclxuICAgICAgdGhpcy50YWJsZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
739
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL25pdXpvbmdiaW4vUHJvamVjdHMvQG5nLW1hdGVyby9leHRlbnNpb25zL3Byb2plY3RzL2V4dGVuc2lvbnMvZGF0YS1ncmlkLyIsInNvdXJjZXMiOlsiZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFdBQVcsRUFJWCxpQkFBaUIsRUFDakIsVUFBVSxHQUVYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQVEsT0FBTyxFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBYXRFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBcUJwQyxNQUFNLE9BQU8sZ0JBQWdCOzs7OztJQTBJM0IsWUFDVSxZQUE0QixFQUM1QixrQkFBcUM7UUFEckMsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQzVCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUF0SS9DLGVBQVUsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFHN0IsWUFBTyxHQUFvQixFQUFFLENBQUM7UUFDOUIsU0FBSSxHQUFVLEVBQUUsQ0FBQztRQUNqQixXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUloQixvQkFBZSxHQUFHLEtBQUssQ0FBQzs7UUFJeEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIseUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQzVCLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2Qsb0JBQWUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDaEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDcEIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7O1FBSXRDLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBR25CLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixjQUFTLEdBQW1CLEtBQUssQ0FBQztRQUNqQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQzs7UUFJdkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDOztRQUk3Qyx1QkFBa0IsR0FBVSxFQUFFLENBQUM7UUFFdEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVsQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7Ozs7UUFHM0Msb0JBQWUsR0FBRyxJQUFJLENBQUM7O1FBSWhDLGlCQUFZLEdBQXdCLElBQUksY0FBYyxDQUFNLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU3RCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0Qiw2QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDakMsMEJBQXFCLEdBQWlDLEVBQUUsQ0FBQztRQUV4RCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDOztRQUl6RCxrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUVqQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUNyQix3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDOztRQU1qRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixpQkFBWSxHQUFHLEVBQUUsQ0FBQzs7UUFLM0IsbUJBQWMsR0FBaUMsRUFBRSxDQUFDO1FBRXpDLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUM1Qix5QkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDMUIseUJBQW9CLEdBQXNCLFNBQVMsQ0FBQztRQUVwRCwwQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDM0IseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBRTFCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLDBCQUFxQixHQUFvQixNQUFNLENBQUM7UUFDaEQsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDckIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZ0MsQ0FBQztRQUVqRSx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0IseUJBQW9CLEdBQUcsZ0JBQWdCLENBQUM7UUFFeEMseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLHlCQUFvQixHQUFHLGdCQUFnQixDQUFDOztRQUt4QyxpQkFBWSxHQUFHLGtCQUFrQixDQUFDOztRQWdCbEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7O1FBVXBCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBTTFCLENBQUM7Ozs7SUE3QkosSUFBSSxZQUFZO1FBQ2QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDakUsQ0FBQzs7Ozs7SUFlRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQzs7OztJQVlELGFBQWE7UUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUMsQ0FBQzs7Ozs7SUFFRCxjQUFjLENBQUMsR0FBUTtRQUNyQixPQUFPLEdBQUcsWUFBWSxXQUFXLENBQUM7SUFDcEMsQ0FBQzs7Ozs7SUFFRCxhQUFhLENBQUMsSUFBUztRQUNyQixPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7Ozs7SUFFRCxXQUFXLENBQUMsSUFBVyxFQUFFLE1BQXFCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs7OztJQUVELGdCQUFnQixDQUFDLE9BQVksRUFBRSxLQUFhOztjQUNwQyxTQUFTLEdBQVE7WUFDckIsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUNqRCxhQUFhLEVBQUUsS0FBSyxHQUFHLENBQUM7U0FDekI7UUFDRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7Z0JBQ3JELFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQzlEO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOzs7O0lBRUQsUUFBUSxLQUFJLENBQUM7Ozs7OztJQUdiLFdBQVcsQ0FBQyxPQUFzQjs7UUFDaEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTs7OztRQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsR0FBRzs7OztRQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDO1FBRXhGLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxtQkFBQSxJQUFJLENBQUMsT0FBTyxFQUFTLENBQUMsQ0FBQyxHQUFHOzs7O1lBQUMsSUFBSSxDQUFDLEVBQUU7O3NCQUNqRCxPQUFPLEdBQStCO29CQUMxQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ2xCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztvQkFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2lCQUN4QjtnQkFDRCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxNQUFNLEVBQUU7b0JBQ3pDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUMzQjtxQkFBTTtvQkFDTCxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7aUJBQzFCO2dCQUNELE9BQU8sT0FBTyxDQUFDO1lBQ2pCLENBQUMsRUFBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQzNEO1FBRUQsc0RBQXNEO1FBQ3RELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUTtZQUV0QyxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLE9BQU87Ozs7WUFBQyxDQUFDLENBQUMsRUFBRTtnQkFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELENBQUMsR0FBRTtTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDckY7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNyRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFM0QsbUNBQW1DO1FBQ25DLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25CO0lBQ0gsQ0FBQzs7OztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUM1QztRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQzs7OztJQUVELFdBQVcsS0FBSSxDQUFDOzs7O0lBRWhCLG9CQUFvQjs7Y0FDWixLQUFLOzs7OztRQUFHLENBQUMsR0FBVyxFQUFFLEdBQWtCLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQTs7Y0FFbEYsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTs7OztRQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLE1BQU0sRUFBQztRQUN0RixjQUFjLENBQUMsT0FBTzs7Ozs7UUFBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ25FLENBQUMsRUFBQyxDQUFDOztjQUVHLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNqQyxNQUFNOzs7O1FBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFDO2FBQ25ELE9BQU8sRUFBRTtRQUNaLGVBQWUsQ0FBQyxPQUFPOzs7OztRQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDckUsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLFNBQWlCO1FBQ3hDLE9BQU8sT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMxRCxDQUFDOzs7OztJQUVELGlCQUFpQixDQUFDLElBQVU7UUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7Ozs7Ozs7O0lBR0Qsc0JBQXNCLENBQ3BCLFlBQTZDLEVBQzdDLE9BQVksRUFDWixNQUFXLEVBQ1gsS0FBYTtRQUViLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMvRixDQUFDOzs7Ozs7OztJQUdELFdBQVcsQ0FBQyxPQUFzQyxFQUFFLE9BQVksRUFBRSxNQUFXO1FBQzNFLHVCQUF1QjtRQUN2QixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssT0FBTyxFQUFFOztrQkFDNUIsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUM7WUFDaEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUVqRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUVsRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxxQ0FBcUM7YUFDckU7U0FDRjtRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDOUQsQ0FBQzs7Ozs7Ozs7SUFHRCxVQUFVLENBQUMsS0FBaUIsRUFBRSxPQUFZLEVBQUUsS0FBYTs7UUFDdkQsSUFDRSxJQUFJLENBQUMsYUFBYTtZQUNsQixRQUFDLE1BQUEsSUFBSSxDQUFDLHFCQUFxQixFQUFDLFFBQVEsbURBQUcsT0FBTyxFQUFFLEtBQUssRUFBQztZQUN0RCxRQUFDLE1BQUEsSUFBSSxDQUFDLHFCQUFxQixFQUFDLFlBQVksbURBQUcsT0FBTyxFQUFFLEtBQUssRUFBQyxFQUMxRDtZQUNBLHlCQUF5QjtZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDM0I7WUFFRCxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Ozs7O0lBR0QsY0FBYzs7Y0FDTixXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTTs7Y0FDL0MsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU07Ozs7O1FBQ3pDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLGVBQUMsT0FBQSxRQUFDLE1BQUEsSUFBSSxDQUFDLHFCQUFxQixFQUFDLFFBQVEsbURBQUcsR0FBRyxFQUFFLEtBQUssRUFBQyxDQUFBLEVBQUEsRUFDbkUsQ0FBQyxNQUFNO1FBQ1IsT0FBTyxXQUFXLEtBQUssT0FBTyxDQUFDO0lBQ2pDLENBQUM7Ozs7O0lBR0QscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDbkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFO1lBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPOzs7OztZQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFOztnQkFDMUMsSUFBSSxRQUFDLE1BQUEsSUFBSSxDQUFDLHFCQUFxQixFQUFDLFFBQVEsbURBQUcsR0FBRyxFQUFFLEtBQUssRUFBQyxFQUFFO29CQUN0RCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDL0I7WUFDSCxDQUFDLEVBQUMsQ0FBQztRQUNQLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDOzs7Ozs7SUFHRCxxQkFBcUIsQ0FBQyxHQUFRO1FBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDOzs7Ozs7SUFJRCxtQkFBbUIsQ0FBQyxPQUFjO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUVsRixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQzs7Ozs7SUFFRCx3QkFBd0IsQ0FBQyxPQUFjOztjQUMvQixNQUFNLEdBQUcsT0FBTzthQUNuQixNQUFNOzs7O1FBQUMsQ0FBQyxJQUFnQyxFQUFFLEVBQUUsQ0FDM0MsSUFBSSxDQUFDLHFCQUFxQixLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUMvRDthQUNBLEdBQUc7Ozs7UUFBQyxDQUFDLElBQWdDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUM7UUFDeEQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7Ozs7O0lBR0QsZUFBZSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDbkYsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ2pELENBQUM7Ozs7OztJQUdELFdBQVcsQ0FBQyxDQUFZO1FBQ3RCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7Ozs7SUFFRCxTQUFTLENBQUMsS0FBYzs7UUFDdEIsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ2pCLGFBQU8sSUFBSSxDQUFDLGNBQWMsMENBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQztTQUNyRDtRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUNyRDtJQUNILENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLEtBQWM7O1FBQ3ZCLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtZQUNqQixhQUFPLElBQUksQ0FBQyxjQUFjLDBDQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUM7U0FDdEQ7UUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDdEQ7SUFDSCxDQUFDOzs7WUFyWkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxVQUFVO2dCQUNwQixRQUFRLEVBQUUsU0FBUztnQkFDbkIsKzd3QkFBb0M7Z0JBRXBDLElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsVUFBVTtpQkFDbEI7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTt3QkFDbkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7d0JBQ2hGLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQzt3QkFDaEUsVUFBVSxDQUFDLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO3FCQUN0RixDQUFDO2lCQUNIOzthQUNGOzs7O1lBckJRLGNBQWM7WUFyQnJCLGlCQUFpQjs7O3dCQTRDaEIsU0FBUyxTQUFDLFlBQVk7bUJBQ3RCLFNBQVMsU0FBQyxPQUFPO3lCQUNqQixTQUFTLFNBQUMsWUFBWTs2QkFDdEIsU0FBUyxTQUFDLGdCQUFnQjsrQkFJMUIsS0FBSztzQkFDTCxLQUFLO21CQUNMLEtBQUs7cUJBQ0wsS0FBSztzQkFDTCxLQUFLO3NCQUVMLEtBQUs7OEJBRUwsS0FBSzswQkFJTCxLQUFLOzRCQUNMLEtBQUs7MkJBQ0wsS0FBSzttQ0FDTCxLQUFLO3dCQUNMLEtBQUs7dUJBQ0wsS0FBSzs4QkFDTCxLQUFLOzJCQUNMLEtBQUs7bUJBQ0wsTUFBTTswQkFJTixLQUFLO3lCQUNMLEtBQUs7NEJBQ0wsS0FBSzsrQkFDTCxLQUFLOzJCQUNMLEtBQUs7d0JBQ0wsS0FBSzt5QkFDTCxNQUFNO3VCQUlOLEtBQUs7eUJBQ0wsS0FBSzt1QkFDTCxNQUFNO3lCQU1OLEtBQUs7Z0NBQ0wsS0FBSzs4QkFDTCxNQUFNOzhCQUdOLEtBQUs7MEJBTUwsS0FBSzs0QkFDTCxLQUFLO3VDQUNMLEtBQUs7b0NBQ0wsS0FBSztnQ0FDTCxLQUFLO2lDQUNMLE1BQU07NkJBTU4sS0FBSztrQ0FDTCxNQUFNOzBCQU1OLEtBQUs7MkJBQ0wsS0FBSzs4QkFDTCxLQUFLO21DQU1MLEtBQUs7bUNBQ0wsS0FBSzttQ0FDTCxLQUFLO29DQUNMLEtBQUs7b0NBQ0wsS0FBSzttQ0FDTCxLQUFLOzZCQUVMLEtBQUs7b0NBQ0wsS0FBSzs0QkFDTCxLQUFLOzZCQUNMLEtBQUs7MkJBQ0wsTUFBTTttQ0FFTixLQUFLO21DQUNMLEtBQUs7dUNBQ0wsS0FBSzttQ0FDTCxLQUFLO21DQUNMLEtBQUs7dUNBQ0wsS0FBSzsyQkFJTCxLQUFLOytCQUNMLEtBQUs7NkJBUUwsS0FBSztrQ0FDTCxLQUFLOzJCQUVMLEtBQUs7MEJBSUwsS0FBSzs4QkFDTCxLQUFLOzBCQVNMLEtBQUs7OEJBQ0wsS0FBSzs7OztJQXZJTixxQ0FBaUQ7O0lBQ2pELGdDQUFrQzs7SUFDbEMsc0NBQXVEOztJQUN2RCwwQ0FBd0U7O0lBRXhFLHNDQUFzQzs7SUFFdEMsNENBQW9DOztJQUNwQyxtQ0FBdUM7O0lBQ3ZDLGdDQUEwQjs7SUFDMUIsa0NBQW9COztJQUNwQixtQ0FBeUI7O0lBRXpCLG1DQUF1Qzs7SUFFdkMsMkNBQWlDOztJQUlqQyx1Q0FBNEI7O0lBQzVCLHlDQUE4Qjs7SUFDOUIsd0NBQThCOztJQUM5QixnREFBcUM7O0lBQ3JDLHFDQUF1Qjs7SUFDdkIsb0NBQXVCOztJQUN2QiwyQ0FBeUM7O0lBQ3pDLHdDQUE4Qjs7SUFDOUIsZ0NBQStDOztJQUkvQyx1Q0FBNEI7O0lBQzVCLHNDQUE0Qjs7SUFDNUIseUNBQXNDOztJQUN0Qyw0Q0FBMkM7O0lBQzNDLHdDQUF1Qzs7SUFDdkMscUNBQTJDOztJQUMzQyxzQ0FBZ0Q7O0lBSWhELG9DQUEwQjs7SUFDMUIsc0NBQTRCOztJQUM1QixvQ0FBNkM7O0lBSTdDLDhDQUErQjs7SUFFL0Isc0NBQTRCOztJQUM1Qiw2Q0FBNkM7O0lBQzdDLDJDQUFvRDs7Ozs7SUFHcEQsMkNBQWdDOztJQUloQyx3Q0FBc0U7O0lBRXRFLHVDQUEwQjs7SUFDMUIseUNBQStCOztJQUMvQixvREFBMEM7O0lBQzFDLGlEQUFrRTs7SUFDbEUsNkNBQXFEOztJQUNyRCw4Q0FBeUQ7O0lBSXpELHlDQUEwQjs7SUFFMUIsMENBQStCOztJQUMvQiwrQ0FBMEQ7Ozs7O0lBRTFELHlDQUFpRTs7SUFJakUsdUNBQTZCOztJQUM3Qix3Q0FBMkI7O0lBQzNCLDJDQUEyQzs7SUFJM0MsMENBQWtEOztJQUVsRCxnREFBcUM7O0lBQ3JDLGdEQUFtQzs7SUFDbkMsZ0RBQTZEOztJQUM3RCxpREFBNkM7O0lBQzdDLGlEQUFvQzs7SUFDcEMsZ0RBQW1DOztJQUVuQywwQ0FBK0I7O0lBQy9CLGlEQUF5RDs7SUFDekQseUNBQThCOztJQUM5QiwwQ0FBK0I7O0lBQy9CLHdDQUEwRTs7SUFFMUUsZ0RBQXNDOztJQUN0QyxnREFBaUQ7O0lBQ2pELG9EQUFvRDs7SUFDcEQsZ0RBQXNDOztJQUN0QyxnREFBaUQ7O0lBQ2pELG9EQUFvRDs7SUFJcEQsd0NBQTJDOztJQUMzQyw0Q0FBNEM7O0lBUTVDLDBDQUFzRTs7SUFDdEUsK0NBQTJFOztJQUUzRSx3Q0FBb0U7O0lBSXBFLHVDQUE2Qjs7SUFDN0IsMkNBQXVFOztJQVN2RSx1Q0FBNkI7O0lBQzdCLDJDQUEyQzs7Ozs7SUFHekMsd0NBQW9DOzs7OztJQUNwQyw4Q0FBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFRyYWNrQnlGdW5jdGlvbixcclxuICBPbkRlc3Ryb3ksXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRyaWdnZXIsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgYW5pbWF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yLCBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBTb3J0LCBNYXRTb3J0LCBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIE10eEdyaWRDb2x1bW4sXHJcbiAgTXR4R3JpZENvbHVtblNlbGVjdGlvbkl0ZW0sXHJcbiAgTXR4R3JpZENlbGxUZW1wbGF0ZSxcclxuICBNdHhHcmlkUm93U2VsZWN0aW9uRm9ybWF0dGVyLFxyXG4gIE10eEdyaWRSb3dDbGFzc0Zvcm1hdHRlcixcclxuICBNdHhHcmlkQ29sdW1uTWVudSxcclxuICBNdHhHcmlkQnV0dG9uVHlwZSxcclxufSBmcm9tICcuL2dyaWQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTXR4R3JpZENlbGxTZWxlY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL2NlbGwtc2VsZWN0aW9uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE10eEdyaWRFeHBhbnNpb25Ub2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuL2V4cGFuc2lvbi10b2dnbGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTXR4R3JpZFNlcnZpY2UgfSBmcm9tICcuL2dyaWQuc2VydmljZSc7XHJcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXR4LWdyaWQnLFxyXG4gIGV4cG9ydEFzOiAnbXR4R3JpZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2dyaWQuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ210eC1ncmlkJyxcclxuICB9LFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignZXhwYW5zaW9uJywgW1xyXG4gICAgICBzdGF0ZSgnY29sbGFwc2VkJywgc3R5bGUoeyBoZWlnaHQ6ICcwJywgbWluSGVpZ2h0OiAnMCcsIHZpc2liaWxpdHk6ICdoaWRkZW4nIH0pKSxcclxuICAgICAgc3RhdGUoJ2V4cGFuZGVkJywgc3R5bGUoeyBoZWlnaHQ6ICcqJywgdmlzaWJpbGl0eTogJ3Zpc2libGUnIH0pKSxcclxuICAgICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPD0+IGNvbGxhcHNlZCcsIGFuaW1hdGUoJzIyNW1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKScpKSxcclxuICAgIF0pLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdHhHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgc29ydDogTWF0U29ydDtcclxuICBAVmlld0NoaWxkKCdjb2x1bW5NZW51JykgY29sdW1uTWVudTogTXR4R3JpZENvbHVtbk1lbnU7XHJcbiAgQFZpZXdDaGlsZCgndGFibGVDb250YWluZXInKSB0YWJsZUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG4gIGRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKCk7XHJcblxyXG4gIEBJbnB1dCgpIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgpIGNvbHVtbnM6IE10eEdyaWRDb2x1bW5bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGRhdGE6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgbGVuZ3RoID0gMDtcclxuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHRyYWNrQnk6IFRyYWNrQnlGdW5jdGlvbjxhbnk+O1xyXG5cclxuICBASW5wdXQoKSBjb2x1bW5SZXNpemFibGUgPSBmYWxzZTtcclxuXHJcbiAgLy8gUGFnZVxyXG5cclxuICBASW5wdXQoKSBwYWdlT25Gcm9udCA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1BhZ2luYXRvciA9IHRydWU7XHJcbiAgQElucHV0KCkgcGFnZURpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHBhZ2VJbmRleCA9IDA7XHJcbiAgQElucHV0KCkgcGFnZVNpemUgPSAxMDtcclxuICBASW5wdXQoKSBwYWdlU2l6ZU9wdGlvbnMgPSBbMTAsIDUwLCAxMDBdO1xyXG4gIEBJbnB1dCgpIGhpZGVQYWdlU2l6ZSA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBwYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxQYWdlRXZlbnQ+KCk7XHJcblxyXG4gIC8vIFNvcnRcclxuXHJcbiAgQElucHV0KCkgc29ydE9uRnJvbnQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNvcnRBY3RpdmU6IHN0cmluZztcclxuICBASW5wdXQoKSBzb3J0RGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xyXG4gIEBJbnB1dCgpIHNvcnREaXNhYmxlQ2xlYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzb3J0RGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzb3J0U3RhcnQ6ICdhc2MnIHwgJ2Rlc2MnID0gJ2FzYyc7XHJcbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnQ+KCk7XHJcblxyXG4gIC8vIFJvd1xyXG5cclxuICBASW5wdXQoKSByb3dIb3ZlciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJvd1N0cmlwZWQgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgcm93Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLy8gRXhwYW5zaW9uXHJcblxyXG4gIGV4cGFuc2lvblJvd1N0YXRlczogYW55W10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgZXhwYW5kYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGV4cGFuc2lvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBPdXRwdXQoKSBleHBhbnNpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLyoqIFdoZXRoZXIgc3VwcG9ydCBtdWx0aXBsZSByb3cvY2VsbCBzZWxlY3Rpb24gKi9cclxuICBASW5wdXQoKSBtdWx0aVNlbGVjdGFibGUgPSB0cnVlO1xyXG5cclxuICAvLyBSb3cgc2VsZWN0aW9uXHJcblxyXG4gIHJvd1NlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxhbnk+KHRydWUsIFtdKTtcclxuXHJcbiAgQElucHV0KCkgcm93U2VsZWN0ZWQgPSBbXTtcclxuICBASW5wdXQoKSByb3dTZWxlY3RhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGlkZVJvd1NlbGVjdGlvbkNoZWNrYm94ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcm93U2VsZWN0aW9uRm9ybWF0dGVyOiBNdHhHcmlkUm93U2VsZWN0aW9uRm9ybWF0dGVyID0ge307XHJcbiAgQElucHV0KCkgcm93Q2xhc3NGb3JtYXR0ZXI6IE10eEdyaWRSb3dDbGFzc0Zvcm1hdHRlcjtcclxuICBAT3V0cHV0KCkgcm93U2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcclxuXHJcbiAgLy8gQ2VsbCBzZWxlY3Rpb25cclxuXHJcbiAgY2VsbFNlbGVjdGlvbjogYW55W10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgY2VsbFNlbGVjdGFibGUgPSB0cnVlO1xyXG4gIEBPdXRwdXQoKSBjZWxsU2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRDZWxsOiBNdHhHcmlkQ2VsbFNlbGVjdGlvbkRpcmVjdGl2ZSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLy8gVG9vbGJhclxyXG5cclxuICBASW5wdXQoKSBzaG93VG9vbGJhciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRvb2xiYXJUaXRsZSA9ICcnO1xyXG4gIEBJbnB1dCgpIHRvb2xiYXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLy8gQ29sdW1uIG1lbnVcclxuXHJcbiAgY29sdW1uTWVudURhdGE6IE10eEdyaWRDb2x1bW5TZWxlY3Rpb25JdGVtW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgc2hvd0NvbHVtbk1lbnVCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNvbHVtbk1lbnVCdXR0b25UZXh0ID0gJyc7XHJcbiAgQElucHV0KCkgY29sdW1uTWVudUJ1dHRvblR5cGU6IE10eEdyaWRCdXR0b25UeXBlID0gJ3N0cm9rZWQnO1xyXG4gIEBJbnB1dCgpIGNvbHVtbk1lbnVCdXR0b25Db2xvcjogVGhlbWVQYWxldHRlO1xyXG4gIEBJbnB1dCgpIGNvbHVtbk1lbnVCdXR0b25DbGFzcyA9ICcnO1xyXG4gIEBJbnB1dCgpIGNvbHVtbk1lbnVCdXR0b25JY29uID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpIGNvbHVtbkhpZGVhYmxlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjb2x1bW5IaWRlYWJsZUNoZWNrZWQ6ICdzaG93JyB8ICdoaWRlJyA9ICdzaG93JztcclxuICBASW5wdXQoKSBjb2x1bW5Nb3ZhYmxlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjb2x1bW5QaW5uYWJsZSA9IHRydWU7XHJcbiAgQE91dHB1dCgpIGNvbHVtbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TXR4R3JpZENvbHVtblNlbGVjdGlvbkl0ZW1bXT4oKTtcclxuXHJcbiAgQElucHV0KCkgc2hvd0NvbHVtbk1lbnVIZWFkZXIgPSBmYWxzZTtcclxuICBASW5wdXQoKSBjb2x1bW5NZW51SGVhZGVyVGV4dCA9ICdDb2x1bW5zIEhlYWRlcic7XHJcbiAgQElucHV0KCkgY29sdW1uTWVudUhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIHNob3dDb2x1bW5NZW51Rm9vdGVyID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY29sdW1uTWVudUZvb3RlclRleHQgPSAnQ29sdW1ucyBGb290ZXInO1xyXG4gIEBJbnB1dCgpIGNvbHVtbk1lbnVGb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLy8gTm8gUmVzdWx0XHJcblxyXG4gIEBJbnB1dCgpIG5vUmVzdWx0VGV4dCA9ICdObyByZWNvcmRzIGZvdW5kJztcclxuICBASW5wdXQoKSBub1Jlc3VsdFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBnZXQgX2hhc05vUmVzdWx0KCkge1xyXG4gICAgcmV0dXJuICghdGhpcy5kYXRhIHx8IHRoaXMuZGF0YS5sZW5ndGggPT09IDApICYmICF0aGlzLmxvYWRpbmc7XHJcbiAgfVxyXG5cclxuICAvLyBDZWxsIHRlbXBsYXRlc1xyXG5cclxuICBASW5wdXQoKSBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IE10eEdyaWRDZWxsVGVtcGxhdGUgfCBhbnk7XHJcbiAgQElucHV0KCkgaGVhZGVyRXh0cmFUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IE10eEdyaWRDZWxsVGVtcGxhdGUgfCBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIGNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IE10eEdyaWRDZWxsVGVtcGxhdGUgfCBhbnk7XHJcblxyXG4gIC8vIFN1bW1hcnlcclxuXHJcbiAgQElucHV0KCkgc2hvd1N1bW1hcnkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzdW1tYXJ5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBNdHhHcmlkQ2VsbFRlbXBsYXRlIHwgYW55O1xyXG5cclxuICAvLyBUT0RPOiBTdW1tYXJ5IGRpc3BsYXkgY29uZGl0aW9uc1xyXG4gIGdldCBfd2hldGhlclNob3dTdW1tYXJ5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd1N1bW1hcnk7XHJcbiAgfVxyXG5cclxuICAvLyBTaWRlYmFyXHJcblxyXG4gIEBJbnB1dCgpIHNob3dTaWRlYmFyID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2lkZWJhclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2RhdGFHcmlkU3J2OiBNdHhHcmlkU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuXHJcbiAgZGV0ZWN0Q2hhbmdlcygpIHtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIF9pc1RlbXBsYXRlUmVmKG9iajogYW55KSB7XHJcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XHJcbiAgfVxyXG5cclxuICBfaXNPYnNlcnZhYmxlKGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIGlzT2JzZXJ2YWJsZShkYXRhKTtcclxuICB9XHJcblxyXG4gIF9nZXRDb2xEYXRhKGRhdGE6IGFueVtdLCBjb2xEZWY6IE10eEdyaWRDb2x1bW4pIHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhR3JpZFNydi5nZXRDb2xEYXRhKGRhdGEsIGNvbERlZik7XHJcbiAgfVxyXG5cclxuICBfZ2V0Um93Q2xhc3NMaXN0KHJvd0RhdGE6IGFueSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgY29uc3QgY2xhc3NMaXN0OiBhbnkgPSB7XHJcbiAgICAgICdzZWxlY3RlZCc6IHRoaXMucm93U2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93RGF0YSksXHJcbiAgICAgICdtYXQtcm93LW9kZCc6IGluZGV4ICUgMixcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5yb3dDbGFzc0Zvcm1hdHRlcikge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh0aGlzLnJvd0NsYXNzRm9ybWF0dGVyKSkge1xyXG4gICAgICAgIGNsYXNzTGlzdFtrZXldID0gdGhpcy5yb3dDbGFzc0Zvcm1hdHRlcltrZXldKHJvd0RhdGEsIGluZGV4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNsYXNzTGlzdDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgLy8gV2FpdGluZyBmb3IgYXN5bmMgZGF0YVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIHRoaXMuX2NvdW50UGlubmVkUG9zaXRpb24oKTtcclxuXHJcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uaGlkZSkubWFwKGl0ZW0gPT4gaXRlbS5maWVsZCk7XHJcblxyXG4gICAgaWYgKHRoaXMuc2hvd0NvbHVtbk1lbnVCdXR0b24pIHtcclxuICAgICAgdGhpcy5jb2x1bW5NZW51RGF0YSA9ICh0aGlzLmNvbHVtbnMgYXMgYW55W10pLm1hcChpdGVtID0+IHtcclxuICAgICAgICBjb25zdCBuZXdJdGVtOiBNdHhHcmlkQ29sdW1uU2VsZWN0aW9uSXRlbSA9IHtcclxuICAgICAgICAgIGxhYmVsOiBpdGVtLmhlYWRlcixcclxuICAgICAgICAgIGZpZWxkOiBpdGVtLmZpZWxkLFxyXG4gICAgICAgICAgZGlzYWJsZWQ6IGl0ZW0uZGlzYWJsZWQsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAodGhpcy5jb2x1bW5IaWRlYWJsZUNoZWNrZWQgPT09ICdzaG93Jykge1xyXG4gICAgICAgICAgbmV3SXRlbS5zaG93ID0gIWl0ZW0uaGlkZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbmV3SXRlbS5oaWRlID0gaXRlbS5oaWRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3SXRlbTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucm93U2VsZWN0YWJsZSAmJiAhdGhpcy5oaWRlUm93U2VsZWN0aW9uQ2hlY2tib3gpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnVuc2hpZnQoJ010eEdyaWRDaGVja2JveENvbHVtbkRlZicpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFdlIHNob3VsZCBjb3B5IGVhY2ggaXRlbSBvZiBkYXRhIGZvciBleHBhbnNpb24gZGF0YVxyXG4gICAgaWYgKHRoaXMuZXhwYW5kYWJsZSkge1xyXG4gICAgICB0aGlzLmV4cGFuc2lvblJvd1N0YXRlcyA9IFtdOyAvLyByZXNldFxyXG5cclxuICAgICAgdGhpcy5kYXRhPy5mb3JFYWNoKF8gPT4ge1xyXG4gICAgICAgIHRoaXMuZXhwYW5zaW9uUm93U3RhdGVzLnB1c2goeyBleHBhbmRlZDogZmFsc2UgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJvd1NlbGVjdGFibGUpIHtcclxuICAgICAgdGhpcy5yb3dTZWxlY3Rpb24gPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55Pih0aGlzLm11bHRpU2VsZWN0YWJsZSwgdGhpcy5yb3dTZWxlY3RlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLmRhdGEpO1xyXG5cclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2VPbkZyb250ID8gdGhpcy5wYWdpbmF0b3IgOiBudWxsO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnRPbkZyb250ID8gdGhpcy5zb3J0IDogbnVsbDtcclxuXHJcbiAgICAvLyBPbmx5IHNjcm9sbCB0b3Agd2hlbiBkYXRhIGNoYW5nZVxyXG4gICAgaWYgKGNoYW5nZXMuZGF0YSkge1xyXG4gICAgICB0aGlzLnNjcm9sbFRvcCgwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnBhZ2VPbkZyb250KSB7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zb3J0T25Gcm9udCkge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge31cclxuXHJcbiAgX2NvdW50UGlubmVkUG9zaXRpb24oKSB7XHJcbiAgICBjb25zdCBjb3VudCA9IChhY2M6IG51bWJlciwgY3VyOiBNdHhHcmlkQ29sdW1uKSA9PiBhY2MgKyBwYXJzZUZsb2F0KGN1ci53aWR0aCB8fCAnODBweCcpO1xyXG5cclxuICAgIGNvbnN0IHBpbm5lZExlZnRDb2xzID0gdGhpcy5jb2x1bW5zLmZpbHRlcihjb2wgPT4gY29sLnBpbm5lZCAmJiBjb2wucGlubmVkID09PSAnbGVmdCcpO1xyXG4gICAgcGlubmVkTGVmdENvbHMuZm9yRWFjaCgoaXRlbSwgaWR4KSA9PiB7XHJcbiAgICAgIGl0ZW0ubGVmdCA9IHBpbm5lZExlZnRDb2xzLnNsaWNlKDAsIGlkeCkucmVkdWNlKGNvdW50LCAwKSArICdweCc7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBwaW5uZWRSaWdodENvbHMgPSB0aGlzLmNvbHVtbnNcclxuICAgICAgLmZpbHRlcihjb2wgPT4gY29sLnBpbm5lZCAmJiBjb2wucGlubmVkID09PSAncmlnaHQnKVxyXG4gICAgICAucmV2ZXJzZSgpO1xyXG4gICAgcGlubmVkUmlnaHRDb2xzLmZvckVhY2goKGl0ZW0sIGlkeCkgPT4ge1xyXG4gICAgICBpdGVtLnJpZ2h0ID0gcGlubmVkUmlnaHRDb2xzLnNsaWNlKDAsIGlkeCkucmVkdWNlKGNvdW50LCAwKSArICdweCc7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIF9nZXRJbmRleChpbmRleDogbnVtYmVyLCBkYXRhSW5kZXg6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHR5cGVvZiBpbmRleCA9PT0gJ3VuZGVmaW5lZCcgPyBkYXRhSW5kZXggOiBpbmRleDtcclxuICB9XHJcblxyXG4gIF9oYW5kbGVTb3J0Q2hhbmdlKHNvcnQ6IFNvcnQpIHtcclxuICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHNvcnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEV4cGFuc2lvbiBjaGFuZ2UgZXZlbnQgKi9cclxuICBfaGFuZGxlRXhwYW5zaW9uQ2hhbmdlKFxyXG4gICAgZXhwYW5zaW9uUmVmOiBNdHhHcmlkRXhwYW5zaW9uVG9nZ2xlRGlyZWN0aXZlLFxyXG4gICAgcm93RGF0YTogYW55LFxyXG4gICAgY29sdW1uOiBhbnksXHJcbiAgICBpbmRleDogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICB0aGlzLmV4cGFuc2lvbkNoYW5nZS5lbWl0KHsgZXhwYW5kZWQ6IGV4cGFuc2lvblJlZi5leHBhbmRlZCwgZGF0YTogcm93RGF0YSwgaW5kZXgsIGNvbHVtbiB9KTtcclxuICB9XHJcblxyXG4gIC8qKiBDZWxsIHNlbGVjdCBldmVudCAqL1xyXG4gIF9zZWxlY3RDZWxsKGNlbGxSZWY6IE10eEdyaWRDZWxsU2VsZWN0aW9uRGlyZWN0aXZlLCByb3dEYXRhOiBhbnksIGNvbERlZjogYW55KTogdm9pZCB7XHJcbiAgICAvLyBJZiBub3QgdGhlIHNhbWUgY2VsbFxyXG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkQ2VsbCAhPT0gY2VsbFJlZikge1xyXG4gICAgICBjb25zdCBjb2xWYWx1ZSA9IHRoaXMuX2RhdGFHcmlkU3J2LmdldENlbGxWYWx1ZShyb3dEYXRhLCBjb2xEZWYpO1xyXG4gICAgICB0aGlzLmNlbGxTZWxlY3Rpb24gPSBbXTsgLy8gcmVzZXRcclxuICAgICAgdGhpcy5jZWxsU2VsZWN0aW9uLnB1c2goeyBjZWxsRGF0YTogY29sVmFsdWUsIHJvd0RhdGEsIGNvbERlZiB9KTtcclxuXHJcbiAgICAgIHRoaXMuY2VsbFNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuY2VsbFNlbGVjdGlvbik7XHJcblxyXG4gICAgICBpZiAodGhpcy5fc2VsZWN0ZWRDZWxsKSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRDZWxsLmRlc2VsZWN0KCk7IC8vIHRoZSBzZWxlY3RlZENlbGwgd2lsbCBiZSB1bmRlZmluZWRcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3NlbGVjdGVkQ2VsbCA9IGNlbGxSZWYuc2VsZWN0ZWQgPyBjZWxsUmVmIDogdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJvdyBzZWxlY3QgZXZlbnQgKi9cclxuICBfc2VsZWN0Um93KGV2ZW50OiBNb3VzZUV2ZW50LCByb3dEYXRhOiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5yb3dTZWxlY3RhYmxlICYmXHJcbiAgICAgICF0aGlzLnJvd1NlbGVjdGlvbkZvcm1hdHRlci5kaXNhYmxlZD8uKHJvd0RhdGEsIGluZGV4KSAmJlxyXG4gICAgICAhdGhpcy5yb3dTZWxlY3Rpb25Gb3JtYXR0ZXIuaGlkZUNoZWNrYm94Py4ocm93RGF0YSwgaW5kZXgpXHJcbiAgICApIHtcclxuICAgICAgLy8gbWV0YUtleSAtPiBjb21tYW5kIGtleVxyXG4gICAgICBpZiAoIWV2ZW50LmN0cmxLZXkgJiYgIWV2ZW50Lm1ldGFLZXkpIHtcclxuICAgICAgICB0aGlzLnJvd1NlbGVjdGlvbi5jbGVhcigpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLl90b2dnbGVOb3JtYWxDaGVja2JveChyb3dEYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0NsaWNrLmVtaXQoeyByb3dEYXRhLCBpbmRleCB9KTtcclxuICB9XHJcblxyXG4gIC8qKiBXaGV0aGVyIHRoZSBudW1iZXIgb2Ygc2VsZWN0ZWQgZWxlbWVudHMgbWF0Y2hlcyB0aGUgdG90YWwgbnVtYmVyIG9mIHJvd3MuICovXHJcbiAgX2lzQWxsU2VsZWN0ZWQoKSB7XHJcbiAgICBjb25zdCBudW1TZWxlY3RlZCA9IHRoaXMucm93U2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcclxuICAgIGNvbnN0IG51bVJvd3MgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maWx0ZXIoXHJcbiAgICAgIChyb3csIGluZGV4KSA9PiAhdGhpcy5yb3dTZWxlY3Rpb25Gb3JtYXR0ZXIuZGlzYWJsZWQ/Lihyb3csIGluZGV4KVxyXG4gICAgKS5sZW5ndGg7XHJcbiAgICByZXR1cm4gbnVtU2VsZWN0ZWQgPT09IG51bVJvd3M7XHJcbiAgfVxyXG5cclxuICAvKiogU2VsZWN0IGFsbCByb3dzIGlmIHRoZXkgYXJlIG5vdCBhbGwgc2VsZWN0ZWQ7IG90aGVyd2lzZSBjbGVhciBzZWxlY3Rpb24uICovXHJcbiAgX3RvZ2dsZU1hc3RlckNoZWNrYm94KCkge1xyXG4gICAgdGhpcy5faXNBbGxTZWxlY3RlZCgpXHJcbiAgICAgID8gdGhpcy5yb3dTZWxlY3Rpb24uY2xlYXIoKVxyXG4gICAgICA6IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmZvckVhY2goKHJvdywgaW5kZXgpID0+IHtcclxuICAgICAgICAgIGlmICghdGhpcy5yb3dTZWxlY3Rpb25Gb3JtYXR0ZXIuZGlzYWJsZWQ/Lihyb3csIGluZGV4KSkge1xyXG4gICAgICAgICAgICB0aGlzLnJvd1NlbGVjdGlvbi5zZWxlY3Qocm93KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIHRoaXMucm93U2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5yb3dTZWxlY3Rpb24uc2VsZWN0ZWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNlbGVjdCBub3JtYWwgcm93ICovXHJcbiAgX3RvZ2dsZU5vcm1hbENoZWNrYm94KHJvdzogYW55KSB7XHJcbiAgICB0aGlzLnJvd1NlbGVjdGlvbi50b2dnbGUocm93KTtcclxuICAgIHRoaXMucm93U2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5yb3dTZWxlY3Rpb24uc2VsZWN0ZWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqIENvbHVtbiBjaGFuZ2UgZXZlbnQgKi9cclxuXHJcbiAgX2hhbmRsZUNvbHVtbkNoYW5nZShjb2x1bW5zOiBhbnlbXSkge1xyXG4gICAgdGhpcy5jb2x1bW5DaGFuZ2UuZW1pdChjb2x1bW5zKTtcclxuXHJcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSBPYmplY3QuYXNzaWduKFtdLCB0aGlzLmdldERpc3BsYXllZENvbHVtbkZpZWxkcyhjb2x1bW5zKSk7XHJcblxyXG4gICAgaWYgKHRoaXMucm93U2VsZWN0YWJsZSAmJiAhdGhpcy5oaWRlUm93U2VsZWN0aW9uQ2hlY2tib3gpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnVuc2hpZnQoJ010eEdyaWRDaGVja2JveENvbHVtbkRlZicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGlzcGxheWVkQ29sdW1uRmllbGRzKGNvbHVtbnM6IGFueVtdKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgZmllbGRzID0gY29sdW1uc1xyXG4gICAgICAuZmlsdGVyKChpdGVtOiBNdHhHcmlkQ29sdW1uU2VsZWN0aW9uSXRlbSkgPT5cclxuICAgICAgICB0aGlzLmNvbHVtbkhpZGVhYmxlQ2hlY2tlZCA9PT0gJ3Nob3cnID8gaXRlbS5zaG93IDogIWl0ZW0uaGlkZVxyXG4gICAgICApXHJcbiAgICAgIC5tYXAoKGl0ZW06IE10eEdyaWRDb2x1bW5TZWxlY3Rpb25JdGVtKSA9PiBpdGVtLmZpZWxkKTtcclxuICAgIHJldHVybiBmaWVsZHM7XHJcbiAgfVxyXG5cclxuICAvKiogQ3VzdG9taXplIGV4cGFuc2lvbiBldmVudCAqL1xyXG4gIHRvZ2dsZUV4cGFuc2lvbihpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoIXRoaXMuZXhwYW5kYWJsZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBgZXhwYW5kYWJsZWAgc2hvdWxkIGJlIHNldCB0cnVlLicpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5leHBhbnNpb25Sb3dTdGF0ZXNbaW5kZXhdLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5zaW9uUm93U3RhdGVzW2luZGV4XS5leHBhbmRlZDtcclxuICAgIHJldHVybiB0aGlzLmV4cGFuc2lvblJvd1N0YXRlc1tpbmRleF0uZXhwYW5kZWQ7XHJcbiAgfVxyXG5cclxuICAvKiogU2Nyb2xsIHRvIHRvcCB3aGVuIHR1cm4gdG8gdGhlIG5leHQgcGFnZSAqL1xyXG4gIF9oYW5kbGVQYWdlKGU6IFBhZ2VFdmVudCkge1xyXG4gICAgaWYgKHRoaXMucGFnZU9uRnJvbnQpIHtcclxuICAgICAgdGhpcy5zY3JvbGxUb3AoMCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnBhZ2UuZW1pdChlKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvcCh2YWx1ZT86IG51bWJlcik6IG51bWJlciB8IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudGFibGVDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFibGVDb250YWluZXIgJiYgIXRoaXMubG9hZGluZykge1xyXG4gICAgICB0aGlzLnRhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzY3JvbGxMZWZ0KHZhbHVlPzogbnVtYmVyKTogbnVtYmVyIHwgdm9pZCB7XHJcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy50YWJsZUNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFibGVDb250YWluZXIgJiYgIXRoaXMubG9hZGluZykge1xyXG4gICAgICB0aGlzLnRhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=