@beshkari/mb-ui 0.5.0-alpha.1

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 (124) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +98 -0
  3. package/esm2022/beshkari-mb-ui.mjs +5 -0
  4. package/esm2022/lib/accordion/mb-accordion.component.mjs +37 -0
  5. package/esm2022/lib/alert/mb-alert.component.mjs +28 -0
  6. package/esm2022/lib/avatar/mb-avatar.component.mjs +32 -0
  7. package/esm2022/lib/badge/mb-badge.component.mjs +28 -0
  8. package/esm2022/lib/breadcrumb/mb-breadcrumb.component.mjs +23 -0
  9. package/esm2022/lib/button/mb-button.component.mjs +48 -0
  10. package/esm2022/lib/card/mb-card.component.mjs +28 -0
  11. package/esm2022/lib/checkbox/mb-checkbox.component.mjs +75 -0
  12. package/esm2022/lib/chip/mb-chip.component.mjs +33 -0
  13. package/esm2022/lib/combobox/mb-combobox.component.mjs +235 -0
  14. package/esm2022/lib/confirm/mb-confirm-dialog.component.mjs +44 -0
  15. package/esm2022/lib/confirm/mb-confirm.service.mjs +39 -0
  16. package/esm2022/lib/confirm/mb-confirm.types.mjs +2 -0
  17. package/esm2022/lib/datepicker/mb-datepicker.component.mjs +382 -0
  18. package/esm2022/lib/dialog/mb-dialog-container.component.mjs +37 -0
  19. package/esm2022/lib/dialog/mb-dialog-ref.mjs +17 -0
  20. package/esm2022/lib/dialog/mb-dialog.component.mjs +87 -0
  21. package/esm2022/lib/dialog/mb-dialog.service.mjs +61 -0
  22. package/esm2022/lib/dialog/mb-dialog.tokens.mjs +3 -0
  23. package/esm2022/lib/divider/mb-divider.component.mjs +18 -0
  24. package/esm2022/lib/drawer/mb-drawer.component.mjs +34 -0
  25. package/esm2022/lib/dropdown/mb-dropdown.component.mjs +24 -0
  26. package/esm2022/lib/empty/mb-empty.component.mjs +27 -0
  27. package/esm2022/lib/form-field/mb-form-field.component.mjs +24 -0
  28. package/esm2022/lib/grid/mb-grid-data.mjs +266 -0
  29. package/esm2022/lib/grid/mb-grid-export.mjs +36 -0
  30. package/esm2022/lib/grid/mb-grid-messages.mjs +10 -0
  31. package/esm2022/lib/grid/mb-grid-state-adapter.mjs +97 -0
  32. package/esm2022/lib/grid/mb-grid-state.service.mjs +47 -0
  33. package/esm2022/lib/grid/mb-grid-template.directive.mjs +109 -0
  34. package/esm2022/lib/grid/mb-grid.component.mjs +998 -0
  35. package/esm2022/lib/grid/mb-grid.types.mjs +2 -0
  36. package/esm2022/lib/i18n/mb-ui-locale.mjs +18 -0
  37. package/esm2022/lib/i18n/mb-ui-messages-en.mjs +103 -0
  38. package/esm2022/lib/i18n/mb-ui-messages-fa.mjs +103 -0
  39. package/esm2022/lib/i18n/mb-ui-messages.mjs +34 -0
  40. package/esm2022/lib/i18n/mb-ui-messages.types.mjs +2 -0
  41. package/esm2022/lib/i18n/provide-mb-ui.mjs +20 -0
  42. package/esm2022/lib/input/mb-input.component.mjs +86 -0
  43. package/esm2022/lib/pagination/mb-pagination.component.mjs +47 -0
  44. package/esm2022/lib/progress/mb-progress.component.mjs +29 -0
  45. package/esm2022/lib/radio/mb-radio-group.component.mjs +63 -0
  46. package/esm2022/lib/select/mb-select.component.mjs +73 -0
  47. package/esm2022/lib/skeleton/mb-skeleton.component.mjs +24 -0
  48. package/esm2022/lib/spinner/mb-spinner.component.mjs +21 -0
  49. package/esm2022/lib/switch/mb-switch.component.mjs +59 -0
  50. package/esm2022/lib/tabs/mb-tabs.component.mjs +31 -0
  51. package/esm2022/lib/textarea/mb-textarea.component.mjs +83 -0
  52. package/esm2022/lib/toast/mb-toast-container.component.mjs +21 -0
  53. package/esm2022/lib/toast/mb-toast.service.mjs +47 -0
  54. package/esm2022/lib/toast/mb-toast.types.mjs +2 -0
  55. package/esm2022/lib/tokens/mb-ui-config.token.mjs +11 -0
  56. package/esm2022/lib/tooltip/mb-tooltip.directive.mjs +48 -0
  57. package/esm2022/lib/utils/coerce.mjs +10 -0
  58. package/esm2022/lib/utils/mb-jalali-date.mjs +120 -0
  59. package/esm2022/public-api.mjs +56 -0
  60. package/fesm2022/beshkari-mb-ui.mjs +3828 -0
  61. package/fesm2022/beshkari-mb-ui.mjs.map +1 -0
  62. package/index.d.ts +5 -0
  63. package/lib/accordion/mb-accordion.component.d.ts +19 -0
  64. package/lib/alert/mb-alert.component.d.ts +12 -0
  65. package/lib/avatar/mb-avatar.component.d.ts +12 -0
  66. package/lib/badge/mb-badge.component.d.ts +12 -0
  67. package/lib/breadcrumb/mb-breadcrumb.component.d.ts +15 -0
  68. package/lib/button/mb-button.component.d.ts +19 -0
  69. package/lib/card/mb-card.component.d.ts +10 -0
  70. package/lib/checkbox/mb-checkbox.component.d.ts +25 -0
  71. package/lib/chip/mb-chip.component.d.ts +12 -0
  72. package/lib/combobox/mb-combobox.component.d.ts +65 -0
  73. package/lib/confirm/mb-confirm-dialog.component.d.ts +17 -0
  74. package/lib/confirm/mb-confirm.service.d.ts +12 -0
  75. package/lib/confirm/mb-confirm.types.d.ts +10 -0
  76. package/lib/datepicker/mb-datepicker.component.d.ts +87 -0
  77. package/lib/dialog/mb-dialog-container.component.d.ts +14 -0
  78. package/lib/dialog/mb-dialog-ref.d.ts +9 -0
  79. package/lib/dialog/mb-dialog.component.d.ts +27 -0
  80. package/lib/dialog/mb-dialog.service.d.ts +14 -0
  81. package/lib/dialog/mb-dialog.tokens.d.ts +13 -0
  82. package/lib/divider/mb-divider.component.d.ts +7 -0
  83. package/lib/drawer/mb-drawer.component.d.ts +14 -0
  84. package/lib/dropdown/mb-dropdown.component.d.ts +10 -0
  85. package/lib/empty/mb-empty.component.d.ts +10 -0
  86. package/lib/form-field/mb-form-field.component.d.ts +9 -0
  87. package/lib/grid/mb-grid-data.d.ts +20 -0
  88. package/lib/grid/mb-grid-export.d.ts +9 -0
  89. package/lib/grid/mb-grid-messages.d.ts +6 -0
  90. package/lib/grid/mb-grid-state-adapter.d.ts +24 -0
  91. package/lib/grid/mb-grid-state.service.d.ts +10 -0
  92. package/lib/grid/mb-grid-template.directive.d.ts +43 -0
  93. package/lib/grid/mb-grid.component.d.ts +233 -0
  94. package/lib/grid/mb-grid.types.d.ts +255 -0
  95. package/lib/i18n/mb-ui-locale.d.ts +2 -0
  96. package/lib/i18n/mb-ui-messages-en.d.ts +3 -0
  97. package/lib/i18n/mb-ui-messages-fa.d.ts +3 -0
  98. package/lib/i18n/mb-ui-messages.d.ts +5 -0
  99. package/lib/i18n/mb-ui-messages.types.d.ts +90 -0
  100. package/lib/i18n/provide-mb-ui.d.ts +7 -0
  101. package/lib/input/mb-input.component.d.ts +30 -0
  102. package/lib/pagination/mb-pagination.component.d.ts +16 -0
  103. package/lib/progress/mb-progress.component.d.ts +11 -0
  104. package/lib/radio/mb-radio-group.component.d.ts +30 -0
  105. package/lib/select/mb-select.component.d.ts +31 -0
  106. package/lib/skeleton/mb-skeleton.component.d.ts +9 -0
  107. package/lib/spinner/mb-spinner.component.d.ts +9 -0
  108. package/lib/switch/mb-switch.component.d.ts +22 -0
  109. package/lib/tabs/mb-tabs.component.d.ts +19 -0
  110. package/lib/textarea/mb-textarea.component.d.ts +29 -0
  111. package/lib/toast/mb-toast-container.component.d.ts +10 -0
  112. package/lib/toast/mb-toast.service.d.ts +15 -0
  113. package/lib/toast/mb-toast.types.d.ts +8 -0
  114. package/lib/tokens/mb-ui-config.token.d.ts +12 -0
  115. package/lib/tooltip/mb-tooltip.directive.d.ts +13 -0
  116. package/lib/utils/coerce.d.ts +3 -0
  117. package/lib/utils/mb-jalali-date.d.ts +18 -0
  118. package/package.json +50 -0
  119. package/public-api.d.ts +55 -0
  120. package/theme/_components.scss +19 -0
  121. package/theme/_dark.scss +1 -0
  122. package/theme/_density.scss +1 -0
  123. package/theme/_tokens.scss +57 -0
  124. package/theme/mb-ui.scss +28 -0
@@ -0,0 +1,109 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MbGridCellTemplateDirective {
4
+ templateRef;
5
+ field = '';
6
+ constructor(templateRef) {
7
+ this.templateRef = templateRef;
8
+ }
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbGridCellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
10
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: MbGridCellTemplateDirective, isStandalone: true, selector: "ng-template[mbGridCell]", inputs: { field: ["mbGridCell", "field"] }, ngImport: i0 });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbGridCellTemplateDirective, decorators: [{
13
+ type: Directive,
14
+ args: [{
15
+ selector: 'ng-template[mbGridCell]',
16
+ standalone: true,
17
+ }]
18
+ }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { field: [{
19
+ type: Input,
20
+ args: ['mbGridCell']
21
+ }] } });
22
+ export class MbGridEditTemplateDirective {
23
+ templateRef;
24
+ field = '';
25
+ constructor(templateRef) {
26
+ this.templateRef = templateRef;
27
+ }
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbGridEditTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
29
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: MbGridEditTemplateDirective, isStandalone: true, selector: "ng-template[mbGridEdit]", inputs: { field: ["mbGridEdit", "field"] }, ngImport: i0 });
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbGridEditTemplateDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: 'ng-template[mbGridEdit]',
35
+ standalone: true,
36
+ }]
37
+ }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { field: [{
38
+ type: Input,
39
+ args: ['mbGridEdit']
40
+ }] } });
41
+ export class MbGridHeaderTemplateDirective {
42
+ templateRef;
43
+ field = '';
44
+ constructor(templateRef) {
45
+ this.templateRef = templateRef;
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbGridHeaderTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
48
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: MbGridHeaderTemplateDirective, isStandalone: true, selector: "ng-template[mbGridHeader]", inputs: { field: ["mbGridHeader", "field"] }, ngImport: i0 });
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbGridHeaderTemplateDirective, decorators: [{
51
+ type: Directive,
52
+ args: [{
53
+ selector: 'ng-template[mbGridHeader]',
54
+ standalone: true,
55
+ }]
56
+ }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { field: [{
57
+ type: Input,
58
+ args: ['mbGridHeader']
59
+ }] } });
60
+ export class MbGridFooterTemplateDirective {
61
+ templateRef;
62
+ field = '';
63
+ constructor(templateRef) {
64
+ this.templateRef = templateRef;
65
+ }
66
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbGridFooterTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
67
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: MbGridFooterTemplateDirective, isStandalone: true, selector: "ng-template[mbGridFooter]", inputs: { field: ["mbGridFooter", "field"] }, ngImport: i0 });
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbGridFooterTemplateDirective, decorators: [{
70
+ type: Directive,
71
+ args: [{
72
+ selector: 'ng-template[mbGridFooter]',
73
+ standalone: true,
74
+ }]
75
+ }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { field: [{
76
+ type: Input,
77
+ args: ['mbGridFooter']
78
+ }] } });
79
+ export class MbGridToolbarTemplateDirective {
80
+ templateRef;
81
+ constructor(templateRef) {
82
+ this.templateRef = templateRef;
83
+ }
84
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbGridToolbarTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
85
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: MbGridToolbarTemplateDirective, isStandalone: true, selector: "ng-template[mbGridToolbar]", ngImport: i0 });
86
+ }
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbGridToolbarTemplateDirective, decorators: [{
88
+ type: Directive,
89
+ args: [{
90
+ selector: 'ng-template[mbGridToolbar]',
91
+ standalone: true,
92
+ }]
93
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
94
+ export class MbGridDetailTemplateDirective {
95
+ templateRef;
96
+ constructor(templateRef) {
97
+ this.templateRef = templateRef;
98
+ }
99
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbGridDetailTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
100
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: MbGridDetailTemplateDirective, isStandalone: true, selector: "ng-template[mbGridDetail]", ngImport: i0 });
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MbGridDetailTemplateDirective, decorators: [{
103
+ type: Directive,
104
+ args: [{
105
+ selector: 'ng-template[mbGridDetail]',
106
+ standalone: true,
107
+ }]
108
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWItZ3JpZC10ZW1wbGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2dyaWQvbWItZ3JpZC10ZW1wbGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBYzlELE1BQU0sT0FBTywyQkFBMkI7SUFFVjtJQURQLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDaEMsWUFBNEIsV0FBc0Q7UUFBdEQsZ0JBQVcsR0FBWCxXQUFXLENBQTJDO0lBQUcsQ0FBQzt3R0FGM0UsMkJBQTJCOzRGQUEzQiwyQkFBMkI7OzRGQUEzQiwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO2dGQUVzQixLQUFLO3NCQUF6QixLQUFLO3VCQUFDLFlBQVk7O0FBU3JCLE1BQU0sT0FBTywyQkFBMkI7SUFFVjtJQURQLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDaEMsWUFBNEIsV0FBc0Q7UUFBdEQsZ0JBQVcsR0FBWCxXQUFXLENBQTJDO0lBQUcsQ0FBQzt3R0FGM0UsMkJBQTJCOzRGQUEzQiwyQkFBMkI7OzRGQUEzQiwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO2dGQUVzQixLQUFLO3NCQUF6QixLQUFLO3VCQUFDLFlBQVk7O0FBUXJCLE1BQU0sT0FBTyw2QkFBNkI7SUFFWjtJQURMLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDbEMsWUFBNEIsV0FBd0Q7UUFBeEQsZ0JBQVcsR0FBWCxXQUFXLENBQTZDO0lBQUcsQ0FBQzt3R0FGN0UsNkJBQTZCOzRGQUE3Qiw2QkFBNkI7OzRGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO2dGQUV3QixLQUFLO3NCQUEzQixLQUFLO3VCQUFDLGNBQWM7O0FBUXZCLE1BQU0sT0FBTyw2QkFBNkI7SUFFWjtJQURMLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDbEMsWUFBNEIsV0FBd0Q7UUFBeEQsZ0JBQVcsR0FBWCxXQUFXLENBQTZDO0lBQUcsQ0FBQzt3R0FGN0UsNkJBQTZCOzRGQUE3Qiw2QkFBNkI7OzRGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO2dGQUV3QixLQUFLO3NCQUEzQixLQUFLO3VCQUFDLGNBQWM7O0FBUXZCLE1BQU0sT0FBTyw4QkFBOEI7SUFDYjtJQUE1QixZQUE0QixXQUF5RDtRQUF6RCxnQkFBVyxHQUFYLFdBQVcsQ0FBOEM7SUFBRyxDQUFDO3dHQUQ5RSw4QkFBOEI7NEZBQTlCLDhCQUE4Qjs7NEZBQTlCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBU0QsTUFBTSxPQUFPLDZCQUE2QjtJQUNaO0lBQTVCLFlBQTRCLFdBQXdEO1FBQXhELGdCQUFXLEdBQVgsV0FBVyxDQUE2QztJQUFHLENBQUM7d0dBRDdFLDZCQUE2Qjs0RkFBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNYkdyaWRDZWxsVGVtcGxhdGVDb250ZXh0LFxuICBNYkdyaWREZXRhaWxUZW1wbGF0ZUNvbnRleHQsXG4gIE1iR3JpZEZvb3RlclRlbXBsYXRlQ29udGV4dCxcbiAgTWJHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0LFxuICBNYkdyaWRFZGl0VGVtcGxhdGVDb250ZXh0LFxuICBNYkdyaWRUb29sYmFyVGVtcGxhdGVDb250ZXh0LFxufSBmcm9tICcuL21iLWdyaWQudHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVttYkdyaWRDZWxsXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1iR3JpZENlbGxUZW1wbGF0ZURpcmVjdGl2ZTxUID0gdW5rbm93bj4ge1xuICBASW5wdXQoJ21iR3JpZENlbGwnKSBmaWVsZCA9ICcnO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPE1iR3JpZENlbGxUZW1wbGF0ZUNvbnRleHQ8VD4+KSB7fVxufVxuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW21iR3JpZEVkaXRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTWJHcmlkRWRpdFRlbXBsYXRlRGlyZWN0aXZlPFQgPSB1bmtub3duPiB7XG4gIEBJbnB1dCgnbWJHcmlkRWRpdCcpIGZpZWxkID0gJyc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8TWJHcmlkRWRpdFRlbXBsYXRlQ29udGV4dDxUPj4pIHt9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW21iR3JpZEhlYWRlcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBNYkdyaWRIZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZTxUID0gdW5rbm93bj4ge1xuICBASW5wdXQoJ21iR3JpZEhlYWRlcicpIGZpZWxkID0gJyc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8TWJHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0PFQ+Pikge31cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbbWJHcmlkRm9vdGVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1iR3JpZEZvb3RlclRlbXBsYXRlRGlyZWN0aXZlPFQgPSB1bmtub3duPiB7XG4gIEBJbnB1dCgnbWJHcmlkRm9vdGVyJykgZmllbGQgPSAnJztcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxNYkdyaWRGb290ZXJUZW1wbGF0ZUNvbnRleHQ8VD4+KSB7fVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVttYkdyaWRUb29sYmFyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1iR3JpZFRvb2xiYXJUZW1wbGF0ZURpcmVjdGl2ZTxUID0gdW5rbm93bj4ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPE1iR3JpZFRvb2xiYXJUZW1wbGF0ZUNvbnRleHQ8VD4+KSB7fVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVttYkdyaWREZXRhaWxdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTWJHcmlkRGV0YWlsVGVtcGxhdGVEaXJlY3RpdmU8VCA9IHVua25vd24+IHtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxNYkdyaWREZXRhaWxUZW1wbGF0ZUNvbnRleHQ8VD4+KSB7fVxufVxuIl19