ng-tailwind 6.2.0 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/components/ngt-checkbox/ngt-checkbox.component.d.ts +6 -6
  2. package/components/ngt-datatable/ngt-datatable.component.d.ts +24 -24
  3. package/components/ngt-date/ngt-date.component.d.ts +8 -8
  4. package/components/ngt-dropdown/ngt-dropdown.component.d.ts +6 -6
  5. package/components/ngt-floating-button/ngt-floating-button.component.d.ts +13 -13
  6. package/components/ngt-form/ngt-form.component.d.ts +4 -4
  7. package/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.d.ts +5 -5
  8. package/components/ngt-popover/ngt-popover.component.d.ts +6 -6
  9. package/components/ngt-select/ngt-select.component.d.ts +8 -8
  10. package/components/ngt-shining/ngt-shining.component.d.ts +6 -6
  11. package/components/ngt-slider/ngt-slider.component.d.ts +6 -6
  12. package/components/ngt-svg/ngt-svg.module.d.ts +2 -3
  13. package/esm2022/components/ngt-action/ngt-action.component.mjs +3 -3
  14. package/esm2022/components/ngt-action/ngt-action.module.mjs +4 -4
  15. package/esm2022/components/ngt-button/ngt-button.component.mjs +3 -3
  16. package/esm2022/components/ngt-button/ngt-button.module.mjs +4 -4
  17. package/esm2022/components/ngt-checkbox/ngt-checkbox.component.mjs +11 -11
  18. package/esm2022/components/ngt-checkbox/ngt-checkbox.module.mjs +4 -4
  19. package/esm2022/components/ngt-content/ngt-content.component.mjs +3 -3
  20. package/esm2022/components/ngt-content/ngt-content.module.mjs +4 -4
  21. package/esm2022/components/ngt-context-menu/ngt-context-menu.component.mjs +3 -3
  22. package/esm2022/components/ngt-context-menu/ngt-context-menu.directive.mjs +3 -3
  23. package/esm2022/components/ngt-context-menu/ngt-context-menu.module.mjs +4 -4
  24. package/esm2022/components/ngt-datatable/ngt-datatable.component.mjs +37 -35
  25. package/esm2022/components/ngt-datatable/ngt-datatable.module.mjs +4 -4
  26. package/esm2022/components/ngt-datatable/ngt-tbody/ngt-tbody.component.mjs +3 -3
  27. package/esm2022/components/ngt-datatable/ngt-td/ngt-td.component.mjs +3 -3
  28. package/esm2022/components/ngt-datatable/ngt-td-check/ngt-td-check.component.mjs +3 -3
  29. package/esm2022/components/ngt-datatable/ngt-th/ngt-th.component.mjs +3 -3
  30. package/esm2022/components/ngt-datatable/ngt-th-check/ngt-th-check.component.mjs +4 -4
  31. package/esm2022/components/ngt-datatable/ngt-thead/ngt-thead.component.mjs +3 -3
  32. package/esm2022/components/ngt-datatable/ngt-tr/ngt-tr.component.mjs +3 -3
  33. package/esm2022/components/ngt-date/ngt-date.component.mjs +14 -15
  34. package/esm2022/components/ngt-date/ngt-date.module.mjs +6 -6
  35. package/esm2022/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.mjs +3 -3
  36. package/esm2022/components/ngt-dropdown/ngt-dropdown.component.mjs +11 -11
  37. package/esm2022/components/ngt-dropdown/ngt-dropdown.module.mjs +4 -4
  38. package/esm2022/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.mjs +3 -3
  39. package/esm2022/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.mjs +3 -3
  40. package/esm2022/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.mjs +3 -3
  41. package/esm2022/components/ngt-dropzone/ngt-dropzone.component.mjs +3 -3
  42. package/esm2022/components/ngt-dropzone/ngt-dropzone.module.mjs +4 -4
  43. package/esm2022/components/ngt-floating-button/ngt-floating-button.component.mjs +9 -9
  44. package/esm2022/components/ngt-floating-button/ngt-floating-button.module.mjs +4 -4
  45. package/esm2022/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.mjs +3 -3
  46. package/esm2022/components/ngt-form/ngt-form.component.mjs +10 -10
  47. package/esm2022/components/ngt-form/ngt-form.module.mjs +4 -4
  48. package/esm2022/components/ngt-header-nav/ngt-header-nav.component.mjs +3 -3
  49. package/esm2022/components/ngt-header-nav/ngt-header-nav.module.mjs +4 -4
  50. package/esm2022/components/ngt-helper/ngt-helper.component.mjs +4 -4
  51. package/esm2022/components/ngt-helper/ngt-helper.module.mjs +4 -4
  52. package/esm2022/components/ngt-input/ngt-input.component.mjs +3 -3
  53. package/esm2022/components/ngt-input/ngt-input.module.mjs +4 -4
  54. package/esm2022/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.mjs +3 -3
  55. package/esm2022/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.mjs +3 -3
  56. package/esm2022/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.mjs +3 -3
  57. package/esm2022/components/ngt-modal/ngt-modal.component.mjs +3 -3
  58. package/esm2022/components/ngt-modal/ngt-modal.module.mjs +4 -4
  59. package/esm2022/components/ngt-multi-select/ngt-multi-select.component.mjs +3 -3
  60. package/esm2022/components/ngt-multi-select/ngt-multi-select.module.mjs +4 -4
  61. package/esm2022/components/ngt-pagination/ngt-pagination.component.mjs +3 -3
  62. package/esm2022/components/ngt-pagination/ngt-pagination.module.mjs +4 -4
  63. package/esm2022/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.mjs +10 -10
  64. package/esm2022/components/ngt-popover/ngt-popover.component.mjs +11 -11
  65. package/esm2022/components/ngt-popover/ngt-popover.directive.mjs +4 -4
  66. package/esm2022/components/ngt-popover/ngt-popover.module.mjs +4 -4
  67. package/esm2022/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.mjs +3 -3
  68. package/esm2022/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.mjs +3 -3
  69. package/esm2022/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.mjs +3 -3
  70. package/esm2022/components/ngt-portlet/ngt-portlet.component.mjs +3 -3
  71. package/esm2022/components/ngt-portlet/ngt-portlet.module.mjs +4 -4
  72. package/esm2022/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.mjs +3 -3
  73. package/esm2022/components/ngt-radio-button/ngt-radio-button.component.mjs +3 -3
  74. package/esm2022/components/ngt-radio-button/ngt-radio-button.module.mjs +4 -4
  75. package/esm2022/components/ngt-section/ngt-section.component.mjs +4 -4
  76. package/esm2022/components/ngt-section/ngt-section.module.mjs +4 -4
  77. package/esm2022/components/ngt-select/ngt-select.component.mjs +14 -14
  78. package/esm2022/components/ngt-select/ngt-select.directive.mjs +9 -9
  79. package/esm2022/components/ngt-select/ngt-select.module.mjs +4 -4
  80. package/esm2022/components/ngt-shining/ngt-shining.component.mjs +11 -11
  81. package/esm2022/components/ngt-shining/ngt-shining.module.mjs +4 -4
  82. package/esm2022/components/ngt-sidenav/ngt-sidenav.component.mjs +3 -3
  83. package/esm2022/components/ngt-sidenav/ngt-sidenav.module.mjs +4 -4
  84. package/esm2022/components/ngt-slider/ngt-slider.component.mjs +12 -12
  85. package/esm2022/components/ngt-slider/ngt-slider.module.mjs +4 -4
  86. package/esm2022/components/ngt-svg/ngt-svg.component.mjs +5 -5
  87. package/esm2022/components/ngt-svg/ngt-svg.module.mjs +8 -12
  88. package/esm2022/components/ngt-tag/ngt-tag.component.mjs +3 -3
  89. package/esm2022/components/ngt-tag/ngt-tag.module.mjs +4 -4
  90. package/esm2022/components/ngt-textarea/ngt-textarea.component.mjs +3 -3
  91. package/esm2022/components/ngt-textarea/ngt-textarea.module.mjs +4 -4
  92. package/esm2022/components/ngt-validation/ngt-validation.component.mjs +3 -3
  93. package/esm2022/components/ngt-validation/ngt-validation.module.mjs +4 -4
  94. package/esm2022/directives/ngt-stylizable/ngt-stylizable.directive.mjs +3 -3
  95. package/esm2022/directives/ngt-stylizable/ngt-stylizable.module.mjs +4 -4
  96. package/esm2022/services/http/ngt-http-validation.service.mjs +1 -1
  97. package/fesm2022/ng-tailwind.mjs +400 -403
  98. package/fesm2022/ng-tailwind.mjs.map +1 -1
  99. package/package.json +1 -1
  100. package/services/http/ngt-http-validation.service.d.ts +3 -5
@@ -92,8 +92,8 @@ export class NgtSectionComponent {
92
92
  event.stopImmediatePropagation();
93
93
  this.onRemove.emit();
94
94
  }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtSectionComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i1.NgtStylizableDirective, optional: true, self: true }, { token: i2.NgtAbilityValidationService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NgtSectionComponent, selector: "ngt-section", inputs: { name: "name", icon: "icon", caption: "caption", subtitle: "subtitle", accordion: "accordion", showSection: "showSection", removable: "removable", helpTitle: "helpTitle", helpText: "helpText", helpIconColor: "helpIconColor", isDisabled: "isDisabled" }, outputs: { onRemove: "onRemove", onToggleSection: "onToggleSection" }, viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["elementRef"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"canDisplay\" class=\"flex {{ ngtSectionStyle.compile(['mb']) }}\" #elementRef>\n <ngt-svg *ngIf=\"icon\" [src]='icon'\n class=\"hidden md:block {{ ngtSectionStyle.compile(['color.text', 'h', 'w', 'my', 'pr']) }}\">\n </ngt-svg>\n\n <div\n class=\"w-full pb-4 md:pb-0 {{ accordion && !showSection ? 'flex' : '' }} {{ ngtSectionStyle.compile(['border']) }}\">\n <div *ngIf=\"!accordion && caption\" class=\"flex\">\n <span class=\"pl-5 {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n class=\"self-center {{ ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml']) }}\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1 hover:opacity-100 opacity-100\"\n [iconColor]=\"helpIconColor\">\n {{ helpText }}\n </ngt-helper>\n </div>\n\n <ng-container *ngIf=\"accordion\">\n <div class=\"flex flex-wrap items-center cursor-pointer {{ helpText ? '' : 'hover:opacity-75' }} {{ accordion && showSection ? ngtCaptionStyle.compile(['pb', 'px']) : ngtCaptionStyle.compile(['py', 'px']) }}\"\n (click)='toggle()' style=\"max-width: fit-content;\">\n <div *ngIf=\"!showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 4.59l9.18 9.16 9.18 -9.16 2.82 2.82 -12 12 -12 -12 2.82 -2.82z\" />\n </svg>\n </div>\n\n <div *ngIf=\"showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 19.41l9.18 -9.16 9.18 9.16 2.82 -2.82 -12 -12 -12 12 2.82 2.82z\" />\n </svg>\n </div>\n\n <span [class]=\"ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n [class]=\"ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1\" [iconColor]=\"helpIconColor\"\n class=\"ml-1 hover:opacity-100 opacity-100\">\n {{ helpText }}\n </ngt-helper>\n\n <div *ngIf=\"removable\"\n class=\"flex items-center justify-center h-6 w-6 ml-2 rounded-full hover:bg-red-500 hover:text-white text-gray-600 text-sm\"\n (click)='remove($event)'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M4 21.33c0,1.47 1.2,2.67 2.67,2.67l10.66 0c1.47,0 2.67,-1.2 2.67,-2.67l0 -16 -16 0 0 16zm17.33 -20l-4.66 0 -1.34 -1.33 -6.66 0 -1.34 1.33 -4.66 0 0 2.67 18.66 0 0 -2.67z\" />\n </svg>\n </div>\n </div>\n </ng-container>\n\n <div *ngIf='showSection' class=\"{{ ngtSectionStyle.compile(['px', 'pl']) }}\" [@enterAnimation]='!showSection'>\n <fieldset [disabled]=\"isDisabled\" style=\"min-inline-size: 100% !important\">\n <ng-content></ng-content>\n </fieldset>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.NgtSvgComponent, selector: "ngt-svg", inputs: ["src", "class"] }, { kind: "component", type: i5.NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], animations: [
95
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtSectionComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i1.NgtStylizableDirective, optional: true, self: true }, { token: i2.NgtAbilityValidationService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtSectionComponent, selector: "ngt-section", inputs: { name: "name", icon: "icon", caption: "caption", subtitle: "subtitle", accordion: "accordion", showSection: "showSection", removable: "removable", helpTitle: "helpTitle", helpText: "helpText", helpIconColor: "helpIconColor", isDisabled: "isDisabled" }, outputs: { onRemove: "onRemove", onToggleSection: "onToggleSection" }, viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["elementRef"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"canDisplay\" class=\"flex {{ ngtSectionStyle.compile(['mb']) }}\" #elementRef>\n <ngt-svg *ngIf=\"icon\" [src]='icon'\n class=\"hidden md:block {{ ngtSectionStyle.compile(['color.text', 'h', 'w', 'my', 'pr']) }}\">\n </ngt-svg>\n\n <div\n class=\"w-full pb-4 md:pb-0 {{ accordion && !showSection ? 'flex' : '' }} {{ ngtSectionStyle.compile(['border']) }}\">\n <div *ngIf=\"!accordion && caption\" class=\"flex\">\n <span class=\"pl-5 {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n class=\"self-center {{ ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml']) }}\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1 hover:opacity-100 opacity-100\"\n [iconColor]=\"helpIconColor\">\n {{ helpText }}\n </ngt-helper>\n </div>\n\n <ng-container *ngIf=\"accordion\">\n <div class=\"flex flex-wrap items-center cursor-pointer {{ helpText ? '' : 'hover:opacity-75' }} {{ accordion && showSection ? ngtCaptionStyle.compile(['pb', 'px']) : ngtCaptionStyle.compile(['py', 'px']) }}\"\n (click)='toggle()' style=\"max-width: fit-content;\">\n <div *ngIf=\"!showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 4.59l9.18 9.16 9.18 -9.16 2.82 2.82 -12 12 -12 -12 2.82 -2.82z\" />\n </svg>\n </div>\n\n <div *ngIf=\"showSection\"\n class=\"flex {{ ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font']) }}\">\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M2.82 19.41l9.18 -9.16 9.18 9.16 2.82 -2.82 -12 -12 -12 12 2.82 2.82z\" />\n </svg>\n </div>\n\n <span [class]=\"ngtCaptionStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ caption }}\n </span>\n\n <span *ngIf=\"subtitle\"\n [class]=\"ngtSubtitleStyle.compile(['color.text', 'color.border', 'text', 'border', 'font', 'ml'])\">\n {{ subtitle }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" class=\"ml-1\" [iconColor]=\"helpIconColor\"\n class=\"ml-1 hover:opacity-100 opacity-100\">\n {{ helpText }}\n </ngt-helper>\n\n <div *ngIf=\"removable\"\n class=\"flex items-center justify-center h-6 w-6 ml-2 rounded-full hover:bg-red-500 hover:text-white text-gray-600 text-sm\"\n (click)='remove($event)'>\n <svg class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M4 21.33c0,1.47 1.2,2.67 2.67,2.67l10.66 0c1.47,0 2.67,-1.2 2.67,-2.67l0 -16 -16 0 0 16zm17.33 -20l-4.66 0 -1.34 -1.33 -6.66 0 -1.34 1.33 -4.66 0 0 2.67 18.66 0 0 -2.67z\" />\n </svg>\n </div>\n </div>\n </ng-container>\n\n <div *ngIf='showSection' class=\"{{ ngtSectionStyle.compile(['px', 'pl']) }}\" [@enterAnimation]='!showSection'>\n <fieldset [disabled]=\"isDisabled\" style=\"min-inline-size: 100% !important\">\n <ng-content></ng-content>\n </fieldset>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.NgtSvgComponent, selector: "ngt-svg", inputs: ["src", "class"] }, { kind: "component", type: i5.NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], animations: [
97
97
  trigger('enterAnimation', [
98
98
  state('void', style({ transform: 'translateY(-20px)', opacity: 0 })),
99
99
  transition(':enter', [
@@ -102,7 +102,7 @@ export class NgtSectionComponent {
102
102
  ]),
103
103
  ] }); }
104
104
  }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtSectionComponent, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtSectionComponent, decorators: [{
106
106
  type: Component,
107
107
  args: [{ selector: 'ngt-section', animations: [
108
108
  trigger('enterAnimation', [
@@ -148,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
148
148
  }], onToggleSection: [{
149
149
  type: Output
150
150
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXNlY3Rpb24vbmd0LXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXNlY3Rpb24vbmd0LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQW9DLFNBQVMsRUFBYyxZQUFZLEVBQVksS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxSixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7OztBQUNXLENBQUM7QUFjeEcsTUFBTSxPQUFPLG1CQUFtQjtJQXdCNUIsWUFDWSxRQUFrQixFQUNsQixjQUFpQyxFQUdqQyxzQkFBOEMsRUFHOUMsMkJBQXdEO1FBUHhELGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBR2pDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFHOUMsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQXhCcEQsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFPM0IsYUFBUSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xELG9CQUFlLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFrQnpFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxnQkFBZ0IsR0FB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QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBRVcsUUFBUTtzQkFBeEIsTUFBTTtnQkFDVSxlQUFlO3NCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCwgU2VsZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5ndFN0eWxpemFibGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmd0QWJpbGl0eVZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmFsaWRhdGlvbi9uZ3QtYWJpbGl0eS12YWxpZGF0aW9uLnNlcnZpY2UnOztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3Qtc2VjdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ndC1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2VudGVyQW5pbWF0aW9uJywgW1xuICAgICAgICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTIwcHgpJywgb3BhY2l0eTogMCB9KSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSg0MDApXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKSxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5ndFNlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKCdlbGVtZW50UmVmJykgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpY29uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIGNhcHRpb246IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VidGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgYWNjb3JkaW9uOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzaG93U2VjdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgcHVibGljIHJlbW92YWJsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgaGVscFRpdGxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIGhlbHBUZXh0OiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIGhlbHBJY29uQ29sb3I6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNEaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25SZW1vdmU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uVG9nZ2xlU2VjdGlvbjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIG5ndFNlY3Rpb25TdHlsZTogTmd0U3R5bGl6YWJsZVNlcnZpY2U7XG4gICAgcHVibGljIG5ndENhcHRpb25TdHlsZTogTmd0U3R5bGl6YWJsZVNlcnZpY2U7XG4gICAgcHVibGljIG5ndFN1YnRpdGxlU3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuXG4gICAgcHVibGljIGNhbkRpc3BsYXk6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcblxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpXG4gICAgICAgIHByaXZhdGUgbmd0U3R5bGl6YWJsZURpcmVjdGl2ZTogTmd0U3R5bGl6YWJsZURpcmVjdGl2ZSxcblxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBwcml2YXRlIG5ndEFiaWxpdHlWYWxpZGF0aW9uU2VydmljZTogTmd0QWJpbGl0eVZhbGlkYXRpb25TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMubmd0Q2FwdGlvblN0eWxlID0gbmV3IE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgICAgIHRoaXMubmd0U3VidGl0bGVTdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLm5ndFN0eWxpemFibGVEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMubmd0U2VjdGlvblN0eWxlID0gdGhpcy5uZ3RTdHlsaXphYmxlRGlyZWN0aXZlLmdldE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5ndFNlY3Rpb25TdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uZ3RTZWN0aW9uU3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0U2VjdGlvbicsIHtcbiAgICAgICAgICAgIGg6ICdoLTEyJyxcbiAgICAgICAgICAgIHc6ICd3LTEyJyxcbiAgICAgICAgICAgIG15OiAnbXktMScsXG4gICAgICAgICAgICBtYjogJ21iLTYnLFxuICAgICAgICAgICAgcHI6ICdwci0xJyxcbiAgICAgICAgICAgIHB4OiAnbWQ6cHgtNScsXG4gICAgICAgICAgICBib3JkZXI6ICdib3JkZXItYi00IG1kOmJvcmRlci1iLTAgYm9yZGVyLWRhc2hlZCBtZDpib3JkZXItc29saWQgbWQ6Ym9yZGVyLWwnLFxuICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC1ncmF5LTgwMCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5uZ3RDYXB0aW9uU3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0U2VjdGlvbkNhcHRpb24nLCB7XG4gICAgICAgICAgICB0ZXh0OiAndGV4dC1zbScsXG4gICAgICAgICAgICBmb250OiAnZm9udC1ub3JtYWwnLFxuICAgICAgICAgICAgbWw6ICdtbC0yJyxcbiAgICAgICAgICAgIHBiOiAncGItMicsXG4gICAgICAgICAgICBib3JkZXI6ICdib3JkZXItbm9uZScsXG4gICAgICAgICAgICBweDogJ3B4LTUnLFxuICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC1ncmF5LTgwMCcsXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm5ndFN1YnRpdGxlU3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0U2VjdGlvblN1YnRpdGxlJywge1xuICAgICAgICAgICAgdGV4dDogJ3RleHQteHMnLFxuICAgICAgICAgICAgZm9udDogJ2ZvbnQtbm9ybWFsJyxcbiAgICAgICAgICAgIGJvcmRlcjogJ2JvcmRlci1ub25lJyxcbiAgICAgICAgICAgIG1sOiAnbWwtMicsXG4gICAgICAgICAgICBjb2xvcjoge1xuICAgICAgICAgICAgICAgIHRleHQ6ICd0ZXh0LWdyYXktNTAwJyxcbiAgICAgICAgICAgICAgICBib3JkZXI6ICcnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBuZ0FmdGVyVmlld0luaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5uZ3RBYmlsaXR5VmFsaWRhdGlvblNlcnZpY2UgfHwgIXRoaXMubmFtZSkge1xuICAgICAgICAgICAgdGhpcy5jYW5EaXNwbGF5ID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5uZ3RBYmlsaXR5VmFsaWRhdGlvblNlcnZpY2UgJiYgdGhpcy5uYW1lKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0Rpc2FibGVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSAhKGF3YWl0IHRoaXMubmd0QWJpbGl0eVZhbGlkYXRpb25TZXJ2aWNlLmlzU2VjdGlvbkVuYWJsZWQodGhpcy5uYW1lKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY2FuRGlzcGxheSA9ICEoYXdhaXQgdGhpcy5uZ3RBYmlsaXR5VmFsaWRhdGlvblNlcnZpY2UuaXNTZWN0aW9uSGlkZGVuKHRoaXMubmFtZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvd1NlY3Rpb24gPSB0cnVlO1xuXG4gICAgICAgIHRoaXMub25Ub2dnbGVTZWN0aW9uLmVtaXQodGhpcy5zaG93U2VjdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dTZWN0aW9uID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5vblRvZ2dsZVNlY3Rpb24uZW1pdCh0aGlzLnNob3dTZWN0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dTZWN0aW9uID0gIXRoaXMuc2hvd1NlY3Rpb247XG5cbiAgICAgICAgdGhpcy5vblRvZ2dsZVNlY3Rpb24uZW1pdCh0aGlzLnNob3dTZWN0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2Nyb2xsVG8oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6IFwic21vb3RoXCIgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5vblJlbW92ZS5lbWl0KCk7XG4gICAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImNhbkRpc3BsYXlcIiBjbGFzcz1cImZsZXgge3sgbmd0U2VjdGlvblN0eWxlLmNvbXBpbGUoWydtYiddKSB9fVwiICNlbGVtZW50UmVmPlxuICAgIDxuZ3Qtc3ZnICpuZ0lmPVwiaWNvblwiIFtzcmNdPSdpY29uJ1xuICAgICAgICBjbGFzcz1cImhpZGRlbiBtZDpibG9jayB7eyBuZ3RTZWN0aW9uU3R5bGUuY29tcGlsZShbJ2NvbG9yLnRleHQnLCAnaCcsICd3JywgJ215JywgJ3ByJ10pIH19XCI+XG4gICAgPC9uZ3Qtc3ZnPlxuXG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cInctZnVsbCBwYi00IG1kOnBiLTAge3sgYWNjb3JkaW9uICYmICFzaG93U2VjdGlvbiA/ICdmbGV4JyA6ICcnIH19IHt7IG5ndFNlY3Rpb25TdHlsZS5jb21waWxlKFsnYm9yZGVyJ10pIH19XCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhYWNjb3JkaW9uICYmIGNhcHRpb25cIiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGwtNSB7eyBuZ3RDYXB0aW9uU3R5bGUuY29tcGlsZShbJ2NvbG9yLnRleHQnLCAnY29sb3IuYm9yZGVyJywgJ3RleHQnLCAnYm9yZGVyJywgJ2ZvbnQnXSkgfX1cIj5cbiAgICAgICAgICAgICAgICB7eyBjYXB0aW9uIH19XG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic3VidGl0bGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZi1jZW50ZXIge3sgbmd0U3VidGl0bGVTdHlsZS5jb21waWxlKFsnY29sb3IudGV4dCcsICdjb2xvci5ib3JkZXInLCAndGV4dCcsICdib3JkZXInLCAnZm9udCcsICdtbCddKSB9fVwiPlxuICAgICAgICAgICAgICAgIHt7IHN1YnRpdGxlIH19XG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDxuZ3QtaGVscGVyICpuZ0lmPVwiaGVscFRleHRcIiBbaGVscFRpdGxlXT1cImhlbHBUaXRsZVwiIGNsYXNzPVwibWwtMSBob3ZlcjpvcGFjaXR5LTEwMCBvcGFjaXR5LTEwMFwiXG4gICAgICAgICAgICAgICAgW2ljb25Db2xvcl09XCJoZWxwSWNvbkNvbG9yXCI+XG4gICAgICAgICAgICAgICAge3sgaGVscFRleHQgfX1cbiAgICAgICAgICAgIDwvbmd0LWhlbHBlcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjY29yZGlvblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGl0ZW1zLWNlbnRlciBjdXJzb3ItcG9pbnRlciB7eyBoZWxwVGV4dCA/ICcnIDogJ2hvdmVyOm9wYWNpdHktNzUnIH19IHt7IGFjY29yZGlvbiAmJiBzaG93U2VjdGlvbiA/IG5ndENhcHRpb25TdHlsZS5jb21waWxlKFsncGInLCAncHgnXSkgOiBuZ3RDYXB0aW9uU3R5bGUuY29tcGlsZShbJ3B5JywgJ3B4J10pIH19XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPSd0b2dnbGUoKScgc3R5bGU9XCJtYXgtd2lkdGg6IGZpdC1jb250ZW50O1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd1NlY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXgge3sgbmd0Q2FwdGlvblN0eWxlLmNvbXBpbGUoWydjb2xvci50ZXh0JywgJ2NvbG9yLmJvcmRlcicsICd0ZXh0JywgJ2JvcmRlcicsICdmb250J10pIH19XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJmaWxsLWN1cnJlbnRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjgyIDQuNTlsOS4xOCA5LjE2IDkuMTggLTkuMTYgMi44MiAyLjgyIC0xMiAxMiAtMTIgLTEyIDIuODIgLTIuODJ6XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1NlY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXgge3sgbmd0Q2FwdGlvblN0eWxlLmNvbXBpbGUoWydjb2xvci50ZXh0JywgJ2NvbG9yLmJvcmRlcicsICd0ZXh0JywgJ2JvcmRlcicsICdmb250J10pIH19XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJmaWxsLWN1cnJlbnRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjgyIDE5LjQxbDkuMTggLTkuMTYgOS4xOCA5LjE2IDIuODIgLTIuODIgLTEyIC0xMiAtMTIgMTIgMi44MiAyLjgyelwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIm5ndENhcHRpb25TdHlsZS5jb21waWxlKFsnY29sb3IudGV4dCcsICdjb2xvci5ib3JkZXInLCAndGV4dCcsICdib3JkZXInLCAnZm9udCcsICdtbCddKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBjYXB0aW9uIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdWJ0aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJuZ3RTdWJ0aXRsZVN0eWxlLmNvbXBpbGUoWydjb2xvci50ZXh0JywgJ2NvbG9yLmJvcmRlcicsICd0ZXh0JywgJ2JvcmRlcicsICdmb250JywgJ21sJ10pXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHN1YnRpdGxlIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPG5ndC1oZWxwZXIgKm5nSWY9XCJoZWxwVGV4dFwiIFtoZWxwVGl0bGVdPVwiaGVscFRpdGxlXCIgY2xhc3M9XCJtbC0xXCIgW2ljb25Db2xvcl09XCJoZWxwSWNvbkNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0xIGhvdmVyOm9wYWNpdHktMTAwIG9wYWNpdHktMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGhlbHBUZXh0IH19XG4gICAgICAgICAgICAgICAgPC9uZ3QtaGVscGVyPlxuXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInJlbW92YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgaC02IHctNiBtbC0yIHJvdW5kZWQtZnVsbCBob3ZlcjpiZy1yZWQtNTAwIGhvdmVyOnRleHQtd2hpdGUgdGV4dC1ncmF5LTYwMCB0ZXh0LXNtXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT0ncmVtb3ZlKCRldmVudCknPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiZmlsbC1jdXJyZW50XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk00IDIxLjMzYzAsMS40NyAxLjIsMi42NyAyLjY3LDIuNjdsMTAuNjYgMGMxLjQ3LDAgMi42NywtMS4yIDIuNjcsLTIuNjdsMCAtMTYgLTE2IDAgMCAxNnptMTcuMzMgLTIwbC00LjY2IDAgLTEuMzQgLTEuMzMgLTYuNjYgMCAtMS4zNCAxLjMzIC00LjY2IDAgMCAyLjY3IDE4LjY2IDAgMCAtMi42N3pcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPSdzaG93U2VjdGlvbicgY2xhc3M9XCJ7eyBuZ3RTZWN0aW9uU3R5bGUuY29tcGlsZShbJ3B4JywgJ3BsJ10pIH19XCIgW0BlbnRlckFuaW1hdGlvbl09JyFzaG93U2VjdGlvbic+XG4gICAgICAgICAgICA8ZmllbGRzZXQgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIiBzdHlsZT1cIm1pbi1pbmxpbmUtc2l6ZTogMTAwJSAhaW1wb3J0YW50XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9maWVsZHNldD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXNlY3Rpb24vbmd0LXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LXNlY3Rpb24vbmd0LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQytCLFNBQVMsRUFBYyxZQUFZLEVBQVksS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFDNUgsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7Ozs7QUFDVyxDQUFDO0FBY3hHLE1BQU0sT0FBTyxtQkFBbUI7SUF3QjVCLFlBQ1ksUUFBa0IsRUFDbEIsY0FBaUMsRUFHakMsc0JBQThDLEVBRzlDLDJCQUF3RDtRQVB4RCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUdqQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBRzlDLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7UUF4QnBELGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBTzNCLGFBQVEsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsRCxvQkFBZSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBa0J6RSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsZ0JBQWdCLEdB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bkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUVXLFFBQVE7c0JBQXhCLE1BQU07Z0JBQ1UsZUFBZTtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCwgU2VsZiwgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmd0U3R5bGl6YWJsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5ndEFiaWxpdHlWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZhbGlkYXRpb24vbmd0LWFiaWxpdHktdmFsaWRhdGlvbi5zZXJ2aWNlJzs7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0LXNlY3Rpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZ3Qtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdlbnRlckFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0yMHB4KScsIG9wYWNpdHk6IDAgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoNDAwKVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSksXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3RTZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnZWxlbWVudFJlZicpIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gICAgQElucHV0KCkgcHVibGljIG5hbWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgaWNvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjYXB0aW9uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIHN1YnRpdGxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIGFjY29yZGlvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2hvd1NlY3Rpb246IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByZW1vdmFibGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIGhlbHBUaXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBoZWxwVGV4dDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBoZWxwSWNvbkNvbG9yOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIG9uUmVtb3ZlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBvblRvZ2dsZVNlY3Rpb246IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBuZ3RTZWN0aW9uU3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuICAgIHB1YmxpYyBuZ3RDYXB0aW9uU3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuICAgIHB1YmxpYyBuZ3RTdWJ0aXRsZVN0eWxlOiBOZ3RTdHlsaXphYmxlU2VydmljZTtcblxuICAgIHB1YmxpYyBjYW5EaXNwbGF5OiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKVxuICAgICAgICBwcml2YXRlIG5ndFN0eWxpemFibGVEaXJlY3RpdmU6IE5ndFN0eWxpemFibGVEaXJlY3RpdmUsXG5cbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgcHJpdmF0ZSBuZ3RBYmlsaXR5VmFsaWRhdGlvblNlcnZpY2U6IE5ndEFiaWxpdHlWYWxpZGF0aW9uU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLm5ndENhcHRpb25TdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB0aGlzLm5ndFN1YnRpdGxlU3R5bGUgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcblxuICAgICAgICBpZiAodGhpcy5uZ3RTdHlsaXphYmxlRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLm5ndFNlY3Rpb25TdHlsZSA9IHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZS5nZXROZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZ3RTZWN0aW9uU3R5bGUgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmd0U2VjdGlvblN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFNlY3Rpb24nLCB7XG4gICAgICAgICAgICBoOiAnaC0xMicsXG4gICAgICAgICAgICB3OiAndy0xMicsXG4gICAgICAgICAgICBteTogJ215LTEnLFxuICAgICAgICAgICAgbWI6ICdtYi02JyxcbiAgICAgICAgICAgIHByOiAncHItMScsXG4gICAgICAgICAgICBweDogJ21kOnB4LTUnLFxuICAgICAgICAgICAgYm9yZGVyOiAnYm9yZGVyLWItNCBtZDpib3JkZXItYi0wIGJvcmRlci1kYXNoZWQgbWQ6Ym9yZGVyLXNvbGlkIG1kOmJvcmRlci1sJyxcbiAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgdGV4dDogJ3RleHQtZ3JheS04MDAnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubmd0Q2FwdGlvblN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFNlY3Rpb25DYXB0aW9uJywge1xuICAgICAgICAgICAgdGV4dDogJ3RleHQtc20nLFxuICAgICAgICAgICAgZm9udDogJ2ZvbnQtbm9ybWFsJyxcbiAgICAgICAgICAgIG1sOiAnbWwtMicsXG4gICAgICAgICAgICBwYjogJ3BiLTInLFxuICAgICAgICAgICAgYm9yZGVyOiAnYm9yZGVyLW5vbmUnLFxuICAgICAgICAgICAgcHg6ICdweC01JyxcbiAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgdGV4dDogJ3RleHQtZ3JheS04MDAnLFxuICAgICAgICAgICAgICAgIGJvcmRlcjogJydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5uZ3RTdWJ0aXRsZVN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFNlY3Rpb25TdWJ0aXRsZScsIHtcbiAgICAgICAgICAgIHRleHQ6ICd0ZXh0LXhzJyxcbiAgICAgICAgICAgIGZvbnQ6ICdmb250LW5vcm1hbCcsXG4gICAgICAgICAgICBib3JkZXI6ICdib3JkZXItbm9uZScsXG4gICAgICAgICAgICBtbDogJ21sLTInLFxuICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC1ncmF5LTUwMCcsXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbmdBZnRlclZpZXdJbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoIXRoaXMubmd0QWJpbGl0eVZhbGlkYXRpb25TZXJ2aWNlIHx8ICF0aGlzLm5hbWUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FuRGlzcGxheSA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubmd0QWJpbGl0eVZhbGlkYXRpb25TZXJ2aWNlICYmIHRoaXMubmFtZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNEaXNhYmxlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gIShhd2FpdCB0aGlzLm5ndEFiaWxpdHlWYWxpZGF0aW9uU2VydmljZS5pc1NlY3Rpb25FbmFibGVkKHRoaXMubmFtZSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNhbkRpc3BsYXkgPSAhKGF3YWl0IHRoaXMubmd0QWJpbGl0eVZhbGlkYXRpb25TZXJ2aWNlLmlzU2VjdGlvbkhpZGRlbih0aGlzLm5hbWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dTZWN0aW9uID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLm9uVG9nZ2xlU2VjdGlvbi5lbWl0KHRoaXMuc2hvd1NlY3Rpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93U2VjdGlvbiA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMub25Ub2dnbGVTZWN0aW9uLmVtaXQodGhpcy5zaG93U2VjdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93U2VjdGlvbiA9ICF0aGlzLnNob3dTZWN0aW9uO1xuXG4gICAgICAgIHRoaXMub25Ub2dnbGVTZWN0aW9uLmVtaXQodGhpcy5zaG93U2VjdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIHNjcm9sbFRvKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHRoaXMub25SZW1vdmUuZW1pdCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJjYW5EaXNwbGF5XCIgY2xhc3M9XCJmbGV4IHt7IG5ndFNlY3Rpb25TdHlsZS5jb21waWxlKFsnbWInXSkgfX1cIiAjZWxlbWVudFJlZj5cbiAgICA8bmd0LXN2ZyAqbmdJZj1cImljb25cIiBbc3JjXT0naWNvbidcbiAgICAgICAgY2xhc3M9XCJoaWRkZW4gbWQ6YmxvY2sge3sgbmd0U2VjdGlvblN0eWxlLmNvbXBpbGUoWydjb2xvci50ZXh0JywgJ2gnLCAndycsICdteScsICdwciddKSB9fVwiPlxuICAgIDwvbmd0LXN2Zz5cblxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcGItNCBtZDpwYi0wIHt7IGFjY29yZGlvbiAmJiAhc2hvd1NlY3Rpb24gPyAnZmxleCcgOiAnJyB9fSB7eyBuZ3RTZWN0aW9uU3R5bGUuY29tcGlsZShbJ2JvcmRlciddKSB9fVwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWFjY29yZGlvbiAmJiBjYXB0aW9uXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBsLTUge3sgbmd0Q2FwdGlvblN0eWxlLmNvbXBpbGUoWydjb2xvci50ZXh0JywgJ2NvbG9yLmJvcmRlcicsICd0ZXh0JywgJ2JvcmRlcicsICdmb250J10pIH19XCI+XG4gICAgICAgICAgICAgICAge3sgY2FwdGlvbiB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInN1YnRpdGxlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGYtY2VudGVyIHt7IG5ndFN1YnRpdGxlU3R5bGUuY29tcGlsZShbJ2NvbG9yLnRleHQnLCAnY29sb3IuYm9yZGVyJywgJ3RleHQnLCAnYm9yZGVyJywgJ2ZvbnQnLCAnbWwnXSkgfX1cIj5cbiAgICAgICAgICAgICAgICB7eyBzdWJ0aXRsZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8bmd0LWhlbHBlciAqbmdJZj1cImhlbHBUZXh0XCIgW2hlbHBUaXRsZV09XCJoZWxwVGl0bGVcIiBjbGFzcz1cIm1sLTEgaG92ZXI6b3BhY2l0eS0xMDAgb3BhY2l0eS0xMDBcIlxuICAgICAgICAgICAgICAgIFtpY29uQ29sb3JdPVwiaGVscEljb25Db2xvclwiPlxuICAgICAgICAgICAgICAgIHt7IGhlbHBUZXh0IH19XG4gICAgICAgICAgICA8L25ndC1oZWxwZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY2NvcmRpb25cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgY3Vyc29yLXBvaW50ZXIge3sgaGVscFRleHQgPyAnJyA6ICdob3ZlcjpvcGFjaXR5LTc1JyB9fSB7eyBhY2NvcmRpb24gJiYgc2hvd1NlY3Rpb24gPyBuZ3RDYXB0aW9uU3R5bGUuY29tcGlsZShbJ3BiJywgJ3B4J10pIDogbmd0Q2FwdGlvblN0eWxlLmNvbXBpbGUoWydweScsICdweCddKSB9fVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT0ndG9nZ2xlKCknIHN0eWxlPVwibWF4LXdpZHRoOiBmaXQtY29udGVudDtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3dTZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHt7IG5ndENhcHRpb25TdHlsZS5jb21waWxlKFsnY29sb3IudGV4dCcsICdjb2xvci5ib3JkZXInLCAndGV4dCcsICdib3JkZXInLCAnZm9udCddKSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiZmlsbC1jdXJyZW50XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMi44MiA0LjU5bDkuMTggOS4xNiA5LjE4IC05LjE2IDIuODIgMi44MiAtMTIgMTIgLTEyIC0xMiAyLjgyIC0yLjgyelwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dTZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHt7IG5ndENhcHRpb25TdHlsZS5jb21waWxlKFsnY29sb3IudGV4dCcsICdjb2xvci5ib3JkZXInLCAndGV4dCcsICdib3JkZXInLCAnZm9udCddKSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiZmlsbC1jdXJyZW50XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMi44MiAxOS40MWw5LjE4IC05LjE2IDkuMTggOS4xNiAyLjgyIC0yLjgyIC0xMiAtMTIgLTEyIDEyIDIuODIgMi44MnpcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJuZ3RDYXB0aW9uU3R5bGUuY29tcGlsZShbJ2NvbG9yLnRleHQnLCAnY29sb3IuYm9yZGVyJywgJ3RleHQnLCAnYm9yZGVyJywgJ2ZvbnQnLCAnbWwnXSlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY2FwdGlvbiB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic3VidGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwibmd0U3VidGl0bGVTdHlsZS5jb21waWxlKFsnY29sb3IudGV4dCcsICdjb2xvci5ib3JkZXInLCAndGV4dCcsICdib3JkZXInLCAnZm9udCcsICdtbCddKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBzdWJ0aXRsZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDxuZ3QtaGVscGVyICpuZ0lmPVwiaGVscFRleHRcIiBbaGVscFRpdGxlXT1cImhlbHBUaXRsZVwiIGNsYXNzPVwibWwtMVwiIFtpY29uQ29sb3JdPVwiaGVscEljb25Db2xvclwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMSBob3ZlcjpvcGFjaXR5LTEwMCBvcGFjaXR5LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBoZWxwVGV4dCB9fVxuICAgICAgICAgICAgICAgIDwvbmd0LWhlbHBlcj5cblxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZW1vdmFibGVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGgtNiB3LTYgbWwtMiByb3VuZGVkLWZ1bGwgaG92ZXI6YmctcmVkLTUwMCBob3Zlcjp0ZXh0LXdoaXRlIHRleHQtZ3JheS02MDAgdGV4dC1zbVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9J3JlbW92ZSgkZXZlbnQpJz5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImZpbGwtY3VycmVudFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNCAyMS4zM2MwLDEuNDcgMS4yLDIuNjcgMi42NywyLjY3bDEwLjY2IDBjMS40NywwIDIuNjcsLTEuMiAyLjY3LC0yLjY3bDAgLTE2IC0xNiAwIDAgMTZ6bTE3LjMzIC0yMGwtNC42NiAwIC0xLjM0IC0xLjMzIC02LjY2IDAgLTEuMzQgMS4zMyAtNC42NiAwIDAgMi42NyAxOC42NiAwIDAgLTIuNjd6XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGRpdiAqbmdJZj0nc2hvd1NlY3Rpb24nIGNsYXNzPVwie3sgbmd0U2VjdGlvblN0eWxlLmNvbXBpbGUoWydweCcsICdwbCddKSB9fVwiIFtAZW50ZXJBbmltYXRpb25dPSchc2hvd1NlY3Rpb24nPlxuICAgICAgICAgICAgPGZpZWxkc2V0IFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgc3R5bGU9XCJtaW4taW5saW5lLXNpemU6IDEwMCUgIWltcG9ydGFudFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
@@ -6,17 +6,17 @@ import { NgtSvgModule } from '../ngt-svg/ngt-svg.module';
6
6
  import { NgtSectionComponent } from './ngt-section.component';
7
7
  import * as i0 from "@angular/core";
8
8
  export class NgtSectionModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtSectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NgtSectionModule, declarations: [NgtSectionComponent], imports: [CommonModule,
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtSectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NgtSectionModule, declarations: [NgtSectionComponent], imports: [CommonModule,
11
11
  NgtStylizableModule,
12
12
  NgtSvgModule,
13
13
  NgtHelperModule], exports: [NgtSectionComponent] }); }
14
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtSectionModule, imports: [CommonModule,
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtSectionModule, imports: [CommonModule,
15
15
  NgtStylizableModule,
16
16
  NgtSvgModule,
17
17
  NgtHelperModule] }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgtSectionModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtSectionModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  declarations: [NgtSectionComponent],