@bravobit/bb-foundation 0.16.1 → 0.16.4

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 (170) hide show
  1. package/collections/lib/collection.d.ts +1 -1
  2. package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +47 -0
  3. package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +18 -0
  4. package/controls/lib/checkbox/checkbox.module.d.ts +4 -4
  5. package/controls/public_api.d.ts +2 -1
  6. package/esm2020/auth/lib/auth.interceptor.mjs +3 -3
  7. package/esm2020/auth/lib/auth.module.mjs +4 -4
  8. package/esm2020/auth/lib/auth.service.mjs +3 -3
  9. package/esm2020/auth/lib/directives/authenticated.directive.mjs +3 -3
  10. package/esm2020/auth/lib/directives/permission.directive.mjs +3 -3
  11. package/esm2020/auth/lib/directives/role.directive.mjs +3 -3
  12. package/esm2020/auth/lib/guards/anonymous.guard.mjs +3 -3
  13. package/esm2020/auth/lib/guards/authenticated.guard.mjs +3 -3
  14. package/esm2020/auth/lib/helpers/mapper.helper.mjs +3 -3
  15. package/esm2020/auth/lib/permissions.service.mjs +3 -3
  16. package/esm2020/collections/lib/collection.mjs +14 -10
  17. package/esm2020/collections/lib/collections.module.mjs +4 -4
  18. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +4 -4
  19. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
  20. package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
  21. package/esm2020/collections/lib/providers/api-collection.provider.mjs +4 -1
  22. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +153 -0
  23. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +48 -0
  24. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +10 -10
  25. package/esm2020/controls/lib/controls.module.mjs +4 -4
  26. package/esm2020/controls/public_api.mjs +3 -2
  27. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +3 -3
  28. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  29. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  30. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +4 -4
  31. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  32. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +3 -3
  33. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  34. package/esm2020/dashboard/lib/dashboard.module.mjs +4 -4
  35. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  36. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +3 -3
  37. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +3 -3
  38. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +3 -3
  39. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
  40. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +3 -3
  41. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +3 -3
  42. package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
  43. package/esm2020/dialog/lib/dialog.module.mjs +4 -4
  44. package/esm2020/dialog/lib/dialog.service.mjs +3 -3
  45. package/esm2020/elements/lib/avatar/avatar.component.mjs +3 -3
  46. package/esm2020/elements/lib/button/button.component.mjs +6 -6
  47. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +5 -5
  48. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +3 -3
  49. package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
  50. package/esm2020/elements/lib/directives/autosize.directive.mjs +3 -3
  51. package/esm2020/elements/lib/directives/focus-trap.directive.mjs +3 -3
  52. package/esm2020/elements/lib/directives/focus.directive.mjs +3 -3
  53. package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
  54. package/esm2020/elements/lib/directives/input.directive.mjs +8 -8
  55. package/esm2020/elements/lib/directives/template.directive.mjs +3 -3
  56. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +6 -6
  57. package/esm2020/elements/lib/elements.module.mjs +4 -4
  58. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +6 -6
  59. package/esm2020/elements/lib/form-control/form-control.component.mjs +4 -4
  60. package/esm2020/elements/lib/form-error/form-error.component.mjs +3 -3
  61. package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
  62. package/esm2020/elements/lib/icon/icon.component.mjs +5 -5
  63. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +3 -3
  64. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +3 -3
  65. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
  66. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +3 -3
  67. package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
  68. package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
  69. package/esm2020/http/lib/http.module.mjs +4 -4
  70. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +3 -3
  71. package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
  72. package/esm2020/lib/core/mixins/can-disable.mjs +2 -2
  73. package/esm2020/lib/core/mixins/can-hide-errors.mjs +2 -2
  74. package/esm2020/lib/core/mixins/can-load.mjs +2 -2
  75. package/esm2020/lib/core/mixins/has-error.mjs +2 -2
  76. package/esm2020/lib/core/mixins/is-focused.mjs +2 -2
  77. package/esm2020/lib/core/mixins/is-grouped.mjs +2 -2
  78. package/esm2020/lib/core/mixins/is-readonly.mjs +2 -2
  79. package/esm2020/lib/core/mixins/is-required.mjs +2 -2
  80. package/esm2020/lib/core/services/clipboard.service.mjs +3 -3
  81. package/esm2020/lib/core/services/exif.service.mjs +3 -3
  82. package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
  83. package/esm2020/lib/core/services/image-converter.service.mjs +3 -3
  84. package/esm2020/lib/core/services/languages.service.mjs +3 -3
  85. package/esm2020/lib/core/services/network.service.mjs +3 -3
  86. package/esm2020/lib/core/services/patch.service.mjs +3 -3
  87. package/esm2020/lib/core/services/platform.service.mjs +3 -3
  88. package/esm2020/localize/lib/interfaces/config.interfaces.mjs +1 -1
  89. package/esm2020/localize/lib/localize.module.mjs +9 -6
  90. package/esm2020/localize/lib/localize.pipe.mjs +3 -3
  91. package/esm2020/localize/lib/localize.service.mjs +25 -22
  92. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +3 -3
  93. package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +3 -3
  94. package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
  95. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +3 -3
  96. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +3 -3
  97. package/esm2020/notifications/lib/notifications.module.mjs +4 -4
  98. package/esm2020/notifications/lib/notifications.service.mjs +3 -3
  99. package/esm2020/public_api.mjs +1 -2
  100. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  101. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +3 -3
  102. package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
  103. package/esm2020/storage/lib/storage.service.mjs +3 -3
  104. package/esm2020/table/lib/components/table/table.component.mjs +9 -9
  105. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  106. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +3 -3
  107. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +5 -5
  108. package/esm2020/table/lib/table.module.mjs +4 -4
  109. package/fesm2015/bravobit-bb-foundation-auth.mjs +31 -31
  110. package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -1
  111. package/fesm2015/bravobit-bb-foundation-collections.mjs +35 -33
  112. package/fesm2015/bravobit-bb-foundation-collections.mjs.map +1 -1
  113. package/fesm2015/bravobit-bb-foundation-controls.mjs +159 -47
  114. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
  115. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +26 -26
  116. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  117. package/fesm2015/bravobit-bb-foundation-dialog.mjs +31 -31
  118. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
  119. package/fesm2015/bravobit-bb-foundation-elements.mjs +90 -89
  120. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
  121. package/fesm2015/bravobit-bb-foundation-http.mjs +10 -10
  122. package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -1
  123. package/fesm2015/bravobit-bb-foundation-localize.mjs +48 -41
  124. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
  125. package/fesm2015/bravobit-bb-foundation-notifications.mjs +13 -13
  126. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
  127. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +10 -10
  128. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  129. package/fesm2015/bravobit-bb-foundation-rxjs.mjs.map +1 -1
  130. package/fesm2015/bravobit-bb-foundation-storage.mjs +3 -3
  131. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
  132. package/fesm2015/bravobit-bb-foundation-table.mjs +24 -24
  133. package/fesm2015/bravobit-bb-foundation-table.mjs.map +1 -1
  134. package/fesm2015/bravobit-bb-foundation.mjs +26 -29
  135. package/fesm2015/bravobit-bb-foundation.mjs.map +1 -1
  136. package/fesm2020/bravobit-bb-foundation-auth.mjs +31 -31
  137. package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -1
  138. package/fesm2020/bravobit-bb-foundation-collections.mjs +38 -31
  139. package/fesm2020/bravobit-bb-foundation-collections.mjs.map +1 -1
  140. package/fesm2020/bravobit-bb-foundation-controls.mjs +159 -47
  141. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
  142. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +26 -26
  143. package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  144. package/fesm2020/bravobit-bb-foundation-dialog.mjs +31 -31
  145. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
  146. package/fesm2020/bravobit-bb-foundation-elements.mjs +90 -89
  147. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
  148. package/fesm2020/bravobit-bb-foundation-http.mjs +10 -10
  149. package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -1
  150. package/fesm2020/bravobit-bb-foundation-localize.mjs +44 -38
  151. package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
  152. package/fesm2020/bravobit-bb-foundation-notifications.mjs +13 -13
  153. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
  154. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +10 -10
  155. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  156. package/fesm2020/bravobit-bb-foundation-rxjs.mjs.map +1 -1
  157. package/fesm2020/bravobit-bb-foundation-storage.mjs +3 -3
  158. package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
  159. package/fesm2020/bravobit-bb-foundation-table.mjs +24 -24
  160. package/fesm2020/bravobit-bb-foundation-table.mjs.map +1 -1
  161. package/fesm2020/bravobit-bb-foundation.mjs +26 -29
  162. package/fesm2020/bravobit-bb-foundation.mjs.map +1 -1
  163. package/localize/lib/interfaces/config.interfaces.d.ts +1 -0
  164. package/localize/lib/localize.service.d.ts +3 -2
  165. package/package.json +5 -4
  166. package/public_api.d.ts +0 -1
  167. package/controls/lib/checkbox/checkbox.component.d.ts +0 -27
  168. package/esm2020/controls/lib/checkbox/checkbox.component.mjs +0 -86
  169. package/esm2020/lib/core/coercions/boolean-coercion.mjs +0 -4
  170. package/lib/core/coercions/boolean-coercion.d.ts +0 -1
@@ -1,5 +1,5 @@
1
1
  import { Directive, Host, HostBinding, Input, Optional, Self } from '@angular/core';
2
- import { coerceBooleanProperty } from '@bravobit/bb-foundation';
2
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/forms";
5
5
  import * as i2 from "../form-control/form-control.component";
@@ -61,9 +61,9 @@ export class BbSelect {
61
61
  this._formControl.required = this._required;
62
62
  }
63
63
  }
64
- BbSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbSelect, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i2.BbFormControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
65
- BbSelect.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: BbSelect, selector: "select[bbInput]", inputs: { disabled: "disabled", required: "required" }, host: { listeners: { "focus": "setFocus(true)", "blur": "setFocus(false)" }, properties: { "disabled": "disabled", "attr.id": "this.id" } }, ngImport: i0 });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbSelect, decorators: [{
64
+ BbSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbSelect, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i2.BbFormControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
65
+ BbSelect.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.5", type: BbSelect, selector: "select[bbInput]", inputs: { disabled: "disabled", required: "required" }, host: { listeners: { "focus": "setFocus(true)", "blur": "setFocus(false)" }, properties: { "disabled": "disabled", "attr.id": "this.id" } }, ngImport: i0 });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbSelect, decorators: [{
67
67
  type: Directive,
68
68
  args: [{
69
69
  selector: 'select[bbInput]',
@@ -109,9 +109,9 @@ export class BbInput extends BbSelect {
109
109
  this._formControl.readonly = this._readonly;
110
110
  }
111
111
  }
112
- BbInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbInput, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i2.BbFormControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
113
- BbInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: BbInput, selector: "input[bbInput], textarea[bbInput]", inputs: { readonly: "readonly" }, host: { listeners: { "focus": "setFocus(true)", "blur": "setFocus(false)" }, properties: { "disabled": "disabled", "readonly": "readonly" } }, usesInheritance: true, ngImport: i0 });
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbInput, decorators: [{
112
+ BbInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbInput, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i2.BbFormControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
113
+ BbInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.5", type: BbInput, selector: "input[bbInput], textarea[bbInput]", inputs: { readonly: "readonly" }, host: { listeners: { "focus": "setFocus(true)", "blur": "setFocus(false)" }, properties: { "disabled": "disabled", "readonly": "readonly" } }, usesInheritance: true, ngImport: i0 });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbInput, decorators: [{
115
115
  type: Directive,
116
116
  args: [{
117
117
  selector: 'input[bbInput], textarea[bbInput]',
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
133
133
  }] }]; }, propDecorators: { readonly: [{
134
134
  type: Input
135
135
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBR1QsSUFBSSxFQUNKLFdBQVcsRUFDWCxLQUFLLEVBR0wsUUFBUSxFQUNSLElBQUksRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQVk5RCxNQUFNLE9BQU8sUUFBUTtJQU1qQixZQUFzQixXQUF1QixFQUNILFVBQXFCLEVBQ3JCLFlBQTJCO1FBRi9DLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ0gsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQU4zRCxhQUFRLEdBQVksSUFBSSxDQUFDO1FBNkQzQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBaUJsQixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBdkUxQixDQUFDO0lBRUQsUUFBUTtRQUNKLHNDQUFzQztRQUN0QyxtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUM1QyxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNwRCxD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QixTQUFTLEVBQUUsZ0JBQWdCO3dCQUMzQixRQUFRLEVBQUUsaUJBQWlCO3FCQUM5QjtpQkFDSjs7MEJBTWdCLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzswQkFBSSxJQUFJOzRDQVN6QixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiRm9ybUNvbnRyb2x9IGZyb20gJy4uL2Zvcm0tY29udHJvbC9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7Y29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbic7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3NlbGVjdFtiYklucHV0XScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICcoZm9jdXMpJzogJ3NldEZvY3VzKHRydWUpJyxcbiAgICAgICAgJyhibHVyKSc6ICdzZXRGb2N1cyhmYWxzZSknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYlNlbGVjdCBpbXBsZW1lbnRzIE9uSW5pdCwgRG9DaGVjaywgT25EZXN0cm95IHtcblxuICAgIHByb3RlY3RlZCBoYXNBcnJvdzogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByb3RlY3RlZCBfbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcm90ZWN0ZWQgX2Zvcm1Db250cm9sOiBCYkZvcm1Db250cm9sKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vIFNldCBhbiBhcnJvdyBvbiB0aGUgZm9ybSBjb250cm9sIGlmXG4gICAgICAgIC8vIGl0IHJlcXVpcmVzIG9uZS5cbiAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuYXJyb3cgPSB0aGlzLmhhc0Fycm93O1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgaWYgKHRoaXMuX25nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuX25nQ29udHJvbC5kaXNhYmxlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZm9jdXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgIH1cblxuICAgIHNldEZvY3VzKGhhc0ZvY3VzOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghdGhpcy5fZm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLmZvY3VzZWQgPSBoYXNGb2N1cztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIGdldCBpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1Db250cm9sPy5sYWJlbElkID8/IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVkKCkge1xuICAgICAgICBpZiAodGhpcy5fbmdDb250cm9sICYmIHRoaXMuX25nQ29udHJvbC5kaXNhYmxlZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX25nQ29udHJvbC5kaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBkaXNhYmxlZChuZXdWYWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShuZXdWYWx1ZSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLl9mb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2wuZGlzYWJsZWQgPSB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgZ2V0IHJlcXVpcmVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgcmVxdWlyZWQobmV3VmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkobmV3VmFsdWUpO1xuXG4gICAgICAgIGlmICghdGhpcy5fZm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLnJlcXVpcmVkID0gdGhpcy5fcmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcblxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W2JiSW5wdXRdLCB0ZXh0YXJlYVtiYklucHV0XScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbcmVhZG9ubHldJzogJ3JlYWRvbmx5JyxcbiAgICAgICAgJyhmb2N1cyknOiAnc2V0Rm9jdXModHJ1ZSknLFxuICAgICAgICAnKGJsdXIpJzogJ3NldEZvY3VzKGZhbHNlKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEJiSW5wdXQgZXh0ZW5kcyBCYlNlbGVjdCB7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaGFzQXJyb3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvdmVycmlkZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByb3RlY3RlZCBvdmVycmlkZSBfbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2Zvcm1Db250cm9sOiBCYkZvcm1Db250cm9sKSB7XG4gICAgICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfbmdDb250cm9sLCBfZm9ybUNvbnRyb2wpO1xuICAgIH1cblxuICAgIGdldCByZWFkb25seSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHJlYWRvbmx5KG5ld1ZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3JlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KG5ld1ZhbHVlKTtcblxuICAgICAgICBpZiAoIXRoaXMuX2Zvcm1Db250cm9sKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9mb3JtQ29udHJvbC5yZWFkb25seSA9IHRoaXMuX3JlYWRvbmx5O1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlYWRvbmx5ID0gZmFsc2U7XG5cbn1cbiJdfQ==
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBR1QsSUFBSSxFQUNKLFdBQVcsRUFDWCxLQUFLLEVBR0wsUUFBUSxFQUNSLElBQUksRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQVk1RCxNQUFNLE9BQU8sUUFBUTtJQU1qQixZQUFzQixXQUF1QixFQUNILFVBQXFCLEVBQ3JCLFlBQTJCO1FBRi9DLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ0gsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQU4zRCxhQUFRLEdBQVksSUFBSSxDQUFDO1FBNkQzQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBaUJsQixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBdkUxQixDQUFDO0lBRUQsUUFBUTtRQUNKLHNDQUFzQztRQUN0QyxtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUM1QyxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNwRCxD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QixTQUFTLEVBQUUsZ0JBQWdCO3dCQUMzQixRQUFRLEVBQUUsaUJBQWlCO3FCQUM5QjtpQkFDSjs7MEJBTWdCLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzswQkFBSSxJQUFJOzRDQVN6QixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiRm9ybUNvbnRyb2x9IGZyb20gJy4uL2Zvcm0tY29udHJvbC9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7Y29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdzZWxlY3RbYmJJbnB1dF0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnKGZvY3VzKSc6ICdzZXRGb2N1cyh0cnVlKScsXG4gICAgICAgICcoYmx1ciknOiAnc2V0Rm9jdXMoZmFsc2UpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQmJTZWxlY3QgaW1wbGVtZW50cyBPbkluaXQsIERvQ2hlY2ssIE9uRGVzdHJveSB7XG5cbiAgICBwcm90ZWN0ZWQgaGFzQXJyb3c6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwcm90ZWN0ZWQgX25nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgcHJvdGVjdGVkIF9mb3JtQ29udHJvbDogQmJGb3JtQ29udHJvbCkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBTZXQgYW4gYXJyb3cgb24gdGhlIGZvcm0gY29udHJvbCBpZlxuICAgICAgICAvLyBpdCByZXF1aXJlcyBvbmUuXG4gICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLmFycm93ID0gdGhpcy5oYXNBcnJvdztcbiAgICB9XG5cbiAgICBuZ0RvQ2hlY2soKSB7XG4gICAgICAgIGlmICh0aGlzLl9uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLl9uZ0NvbnRyb2wuZGlzYWJsZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGZvY3VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBzZXRGb2N1cyhoYXNGb2N1czogYm9vbGVhbikge1xuICAgICAgICBpZiAoIXRoaXMuX2Zvcm1Db250cm9sKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9mb3JtQ29udHJvbC5mb2N1c2VkID0gaGFzRm9jdXM7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBnZXQgaWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtQ29udHJvbD8ubGFiZWxJZCA/PyBudWxsO1xuICAgIH1cblxuICAgIGdldCBkaXNhYmxlZCgpIHtcbiAgICAgICAgaWYgKHRoaXMuX25nQ29udHJvbCAmJiB0aGlzLl9uZ0NvbnRyb2wuZGlzYWJsZWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9uZ0NvbnRyb2wuZGlzYWJsZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZGlzYWJsZWQobmV3VmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkobmV3VmFsdWUpO1xuXG4gICAgICAgIGlmICghdGhpcy5fZm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Zvcm1Db250cm9sLmRpc2FibGVkID0gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIGdldCByZXF1aXJlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHJlcXVpcmVkKG5ld1ZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KG5ld1ZhbHVlKTtcblxuICAgICAgICBpZiAoIXRoaXMuX2Zvcm1Db250cm9sKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9mb3JtQ29udHJvbC5yZXF1aXJlZCA9IHRoaXMuX3JlcXVpcmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlcXVpcmVkID0gZmFsc2U7XG5cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpbnB1dFtiYklucHV0XSwgdGV4dGFyZWFbYmJJbnB1dF0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW3JlYWRvbmx5XSc6ICdyZWFkb25seScsXG4gICAgICAgICcoZm9jdXMpJzogJ3NldEZvY3VzKHRydWUpJyxcbiAgICAgICAgJyhibHVyKSc6ICdzZXRGb2N1cyhmYWxzZSknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYklucHV0IGV4dGVuZHMgQmJTZWxlY3Qge1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGhhc0Fycm93OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3ZlcnJpZGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgX25nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgcHJvdGVjdGVkIG92ZXJyaWRlIF9mb3JtQ29udHJvbDogQmJGb3JtQ29udHJvbCkge1xuICAgICAgICBzdXBlcihfZWxlbWVudFJlZiwgX25nQ29udHJvbCwgX2Zvcm1Db250cm9sKTtcbiAgICB9XG5cbiAgICBnZXQgcmVhZG9ubHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCByZWFkb25seShuZXdWYWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yZWFkb25seSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShuZXdWYWx1ZSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLl9mb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2wucmVhZG9ubHkgPSB0aGlzLl9yZWFkb25seTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZWFkb25seSA9IGZhbHNlO1xuXG59XG4iXX0=
@@ -15,9 +15,9 @@ export class BbTemplate {
15
15
  this._viewContainerRef.createEmbeddedView(template);
16
16
  }
17
17
  }
18
- BbTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbTemplate, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
19
- BbTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: BbTemplate, selector: "[bbTemplate]", inputs: { bbTemplate: "bbTemplate" }, ngImport: i0 });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbTemplate, decorators: [{
18
+ BbTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbTemplate, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
19
+ BbTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.5", type: BbTemplate, selector: "[bbTemplate]", inputs: { bbTemplate: "bbTemplate" }, ngImport: i0 });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbTemplate, decorators: [{
21
21
  type: Directive,
22
22
  args: [{
23
23
  selector: '[bbTemplate]'
@@ -25,8 +25,8 @@ export class BbDropdown {
25
25
  return this.close();
26
26
  }
27
27
  }
28
- BbDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbDropdown, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
29
- BbDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: BbDropdown, selector: "bb-dropdown", host: { listeners: { "document:click": "onDocumentClick($event.target)" }, classAttribute: "bb-dropdown" }, ngImport: i0, template: "<button (click)=\"toggle()\"\n [class.opened]=\"visible$ | async\"\n type=\"button\">\n <ng-content></ng-content>\n</button>\n\n<div *ngIf=\"visible$ | async\"\n [@dropdownMenuAnimation]=\"true\"\n class=\"bb-dropdown-menu\"\n role=\"list\">\n <ng-content select=\"[bbDropdownItem], hr\"></ng-content>\n</div>\n", styles: [".bb-dropdown{position:relative;display:inline-block}.bb-dropdown.right>.bb-dropdown-menu{right:0;left:auto;transform-origin:top right}.bb-dropdown-menu{left:0;top:100%;padding:0;z-index:10;display:block;margin:10px 0 0;border-radius:4px;position:absolute;list-style-type:none;background-color:#fff;border:1px solid #cccccc;transform-origin:top left;box-shadow:0 0 6px #0000001a}.bb-dropdown-menu:after{width:0;top:-5px;height:0;right:5px;content:\"\";position:absolute;border-style:solid;border-width:0 10px 5px 10px;border-color:transparent transparent #d9d9d9 transparent}.bb-dropdown-menu>hr{margin:0;height:1px;border:none;background-color:#ccc}.bb-dropdown-item{width:100%;border:none;line-height:1;display:block;cursor:pointer;text-align:left;font-weight:500;-webkit-user-select:none;user-select:none;padding:12px 20px;white-space:nowrap;text-decoration:none;color:#676767!important;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-dropdown-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.bb-dropdown-item:hover{background-color:#f6f6f6}.bb-dropdown-item:focus{box-shadow:0 0 0 3px #dce0e980}.bb-dropdown-item:active{background-color:#f0f0f0}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i1.AsyncPipe }, animations: [
28
+ BbDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDropdown, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
29
+ BbDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BbDropdown, selector: "bb-dropdown", host: { listeners: { "document:click": "onDocumentClick($event.target)" }, classAttribute: "bb-dropdown" }, ngImport: i0, template: "<button (click)=\"toggle()\"\n [class.opened]=\"visible$ | async\"\n type=\"button\">\n <ng-content></ng-content>\n</button>\n\n<div *ngIf=\"visible$ | async\"\n [@dropdownMenuAnimation]=\"true\"\n class=\"bb-dropdown-menu\"\n role=\"list\">\n <ng-content select=\"[bbDropdownItem], hr\"></ng-content>\n</div>\n", styles: [".bb-dropdown{position:relative;display:inline-block}.bb-dropdown.right>.bb-dropdown-menu{right:0;left:auto;transform-origin:top right}.bb-dropdown-menu{left:0;top:100%;padding:0;z-index:10;display:block;margin:10px 0 0;border-radius:4px;position:absolute;list-style-type:none;background-color:#fff;border:1px solid #cccccc;transform-origin:top left;box-shadow:0 0 6px #0000001a}.bb-dropdown-menu:after{width:0;top:-5px;height:0;right:5px;content:\"\";position:absolute;border-style:solid;border-width:0 10px 5px 10px;border-color:transparent transparent #d9d9d9 transparent}.bb-dropdown-menu>hr{margin:0;height:1px;border:none;background-color:#ccc}.bb-dropdown-item{width:100%;border:none;line-height:1;display:block;cursor:pointer;text-align:left;font-weight:500;-webkit-user-select:none;user-select:none;padding:12px 20px;white-space:nowrap;text-decoration:none;color:#676767!important;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-dropdown-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.bb-dropdown-item:hover{background-color:#f6f6f6}.bb-dropdown-item:focus{box-shadow:0 0 0 3px #dce0e980}.bb-dropdown-item:active{background-color:#f0f0f0}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i1.AsyncPipe }, animations: [
30
30
  trigger('dropdownMenuAnimation', [
31
31
  transition(':enter', [
32
32
  // 1. Set the initial state.
@@ -42,7 +42,7 @@ BbDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "1
42
42
  ])
43
43
  ])
44
44
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbDropdown, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDropdown, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'bb-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dropdown' }, preserveWhitespaces: false, animations: [
48
48
  trigger('dropdownMenuAnimation', [
@@ -77,9 +77,9 @@ export class BbDropdownItem {
77
77
  this._parent?.close();
78
78
  }
79
79
  }
80
- BbDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbDropdownItem, deps: [{ token: BbDropdown, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
81
- BbDropdownItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: BbDropdownItem, selector: "[bbDropdownItem]", inputs: { closeOnClick: "closeOnClick" }, host: { listeners: { "click": "onClick()" }, classAttribute: "bb-dropdown-item" }, ngImport: i0 });
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbDropdownItem, decorators: [{
80
+ BbDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDropdownItem, deps: [{ token: BbDropdown, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
81
+ BbDropdownItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.5", type: BbDropdownItem, selector: "[bbDropdownItem]", inputs: { closeOnClick: "closeOnClick" }, host: { listeners: { "click": "onClick()" }, classAttribute: "bb-dropdown-item" }, ngImport: i0 });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDropdownItem, decorators: [{
83
83
  type: Directive,
84
84
  args: [{
85
85
  selector: '[bbDropdownItem]',
@@ -70,8 +70,8 @@ export class ElementsModule {
70
70
  };
71
71
  }
72
72
  }
73
- ElementsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
74
- ElementsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ElementsModule, declarations: [
73
+ ElementsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
74
+ ElementsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ElementsModule, declarations: [
75
75
  // Directives.
76
76
  BbTemplate,
77
77
  BbFormError,
@@ -132,8 +132,8 @@ ElementsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
132
132
  BbFilePicker,
133
133
  BbImagePicker,
134
134
  BbDatePicker] });
135
- ElementsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ElementsModule, imports: [[CommonModule, ReactiveFormsModule, LocalizeModule]] });
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ElementsModule, decorators: [{
135
+ ElementsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ElementsModule, imports: [[CommonModule, ReactiveFormsModule, LocalizeModule]] });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ElementsModule, decorators: [{
137
137
  type: NgModule,
138
138
  args: [{
139
139
  imports: [CommonModule, ReactiveFormsModule, LocalizeModule],
@@ -149,8 +149,8 @@ export class BbFilePicker extends BbFilePickerMixinBase {
149
149
  };
150
150
  }
151
151
  }
152
- BbFilePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbFilePicker, deps: null, target: i0.ɵɵFactoryTarget.Component });
153
- BbFilePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: BbFilePicker, selector: "bb-file-picker", inputs: { disabled: "disabled", hideErrors: "hideErrors", grouped: "grouped", required: "required", label: "label", hint: "hint", accept: "accept", showImages: "showImages", allowDragging: "allowDragging", value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "dragover": "onDrag($event,true)", "dragleave": "onDrag($event,false)", "drop": "onDrop($event)" }, properties: { "class.required": "required", "class.disabled": "disabled", "class.grouped": "grouped", "class.hovered": "hovered", "class.error": "error" }, classAttribute: "bb-file-picker" }, providers: [
152
+ BbFilePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbFilePicker, deps: null, target: i0.ɵɵFactoryTarget.Component });
153
+ BbFilePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BbFilePicker, selector: "bb-file-picker", inputs: { disabled: "disabled", hideErrors: "hideErrors", grouped: "grouped", required: "required", label: "label", hint: "hint", accept: "accept", showImages: "showImages", allowDragging: "allowDragging", value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "dragover": "onDrag($event,true)", "dragleave": "onDrag($event,false)", "drop": "onDrop($event)" }, properties: { "class.required": "required", "class.disabled": "disabled", "class.grouped": "grouped", "class.hovered": "hovered", "class.error": "error" }, classAttribute: "bb-file-picker" }, providers: [
154
154
  {
155
155
  provide: NG_VALUE_ACCESSOR,
156
156
  useExisting: forwardRef(() => BbFilePicker),
@@ -161,7 +161,7 @@ BbFilePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
161
161
  useExisting: BbFilePicker,
162
162
  multi: true
163
163
  }
164
- ], queries: [{ propertyName: "extraTemplate", first: true, predicate: ["extra"], descendants: true }], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- The label of the input. -->\n<label *ngIf=\"label as labelContent\"\n [for]=\"labelId\"\n class=\"bb-file-picker-label\">\n <ng-template [bbTemplate]=\"labelContent\">\n {{ labelContent }}\n </ng-template>\n</label>\n\n<!-- The input that can open the file picker. -->\n<input #fileInput\n [accept]=\"accept\"\n [disabled]=\"disabled\"\n (change)=\"onFileChange($event)\"\n class=\"bb-file-picker-input\"\n type=\"file\"\n tabindex=\"-1\">\n\n<div *ngIf=\"value$ | async as data\"\n class=\"bb-file-picker-wrapper\">\n <!-- The button that accepts files. -->\n <div class=\"bb-file-picker-container\">\n <button [class.destructive]=\"!!data?.file\"\n [class.standalone]=\"!allowDragging\"\n [disabled]=\"disabled\"\n [id]=\"labelId\"\n (click)=\"onButtonPressed(data?.file)\"\n type=\"button\"\n class=\"bb-file-picker-button\">\n <ng-container *ngTemplateOutlet=\"data?.file ? closeIcon : uploadIcon\"></ng-container>\n {{ (data?.file ? 'file-picker.remove' : 'file-picker.choose') | bbLocalize }}\n </button>\n <div *ngIf=\"allowDragging\"\n class=\"bb-file-picker-zone\">\n {{ 'file-picker.drop' | bbLocalize }}\n </div>\n </div>\n\n <ng-container *ngIf=\"!!extraTemplate\">\n <ng-container *ngTemplateOutlet=\"extraTemplate; context: {$implicit: data?.file}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"showImages\">\n <div *ngIf=\"data?.file | bbFileImage | async as image\"\n class=\"bb-file-picker-image-container\">\n <div class=\"bb-file-picker-image-wrapper\">\n <div [@bbFilePickerImageAnimation]=\"true\"\n [style.padding-top.%]=\"image?.aspectRatio * 100\"\n [style.background-image]=\"image?.background\"\n class=\"bb-file-picker-image\">\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- Extra information of the file. -->\n <div [class.visible]=\"!!data?.file\"\n class=\"bb-file-picker-info\">\n <span *ngIf=\"data?.file?.name as name\">{{ name }}</span>\n <span *ngIf=\"data?.file?.size as size\">{{ size | bbFileSize }}</span>\n </div>\n</div>\n\n<bb-form-error *ngIf=\"!hideErrors\"\n (errorChange)=\"onErrorChange($event)\">\n</bb-form-error>\n\n<!-- The file picker hint. -->\n<p *ngIf=\"hint as hintContent\"\n class=\"bb-file-picker-hint\">\n <ng-template [bbTemplate]=\"hintContent\">\n {{ hintContent }}\n </ng-template>\n</p>\n\n<!-- Upload icon. -->\n<ng-template #uploadIcon>\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n class=\"bb-file-picker-icon\"\n width=\"24\"\n height=\"24\">\n <path fill=\"currentColor\"\n d=\"M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5a2.5 2.5 0 010-5H17v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z\"></path>\n <path fill=\"none\" d=\"M0 0h24v24H0V0z\"></path>\n </svg>\n</ng-template>\n\n<!-- Close icon. -->\n<ng-template #closeIcon>\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n class=\"bb-file-picker-icon\"\n width=\"24\"\n height=\"24\">\n <path fill=\"currentColor\"\n d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"></path>\n <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\n </svg>\n</ng-template>\n", styles: [".bb-file-picker{display:block}.bb-file-picker.disabled>.bb-file-picker-wrapper{cursor:default;background-color:#cccccca3}.bb-file-picker.grouped{margin-bottom:20px}.bb-file-picker.full>.bb-file-picker-wrapper{width:100%}.bb-file-picker:not(.disabled) .bb-file-picker-button{background-color:#fff}.bb-file-picker:not(.disabled):focus>.bb-file-picker-wrapper,.bb-file-picker:not(.disabled).hovered>.bb-file-picker-wrapper{box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #007bff33}.bb-file-picker.required>.bb-file-picker-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-file-picker.error>.bb-file-picker-label{color:#c23934}.bb-file-picker.error>.bb-file-picker-hint{display:none}.bb-file-picker.error>.bb-file-picker-wrapper{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-file-picker.error .bb-file-picker-button{background-color:transparent}.bb-file-picker-wrapper{max-width:100%;-webkit-user-select:none;user-select:none;border-radius:3px;display:inline-flex;flex-direction:column;border:1px solid #b6bbc1;background-color:#fff8ff;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-file-picker-label{color:#000;display:block;position:relative;margin-bottom:4px}.bb-file-picker-input{opacity:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;position:absolute}.bb-file-picker-container{min-height:38px;display:inline-flex}.bb-file-picker-button{margin:0;z-index:1;border:none;color:#2196f3;line-height:1;cursor:pointer;padding:0 12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:500;align-items:center;white-space:nowrap;display:inline-flex;border-top-left-radius:3px;border-bottom-left-radius:3px;border-right:1px solid #b6bbc1;background-color:#ffffff80;transition:box-shadow .2s cubic-bezier(0,0,.2,1)}.bb-file-picker-button:focus{box-shadow:0 0 0 3px #007bff33}.bb-file-picker-button:disabled{cursor:default}.bb-file-picker-button.destructive{color:#f55656}.bb-file-picker-button.standalone{width:100%;border-right:none;border-top-right-radius:3px;border-bottom-right-radius:3px}.bb-file-picker-icon{margin-right:4px}.bb-file-picker-zone{flex:1;color:#848f99;font-size:14px;padding:8px 12px;line-height:18px;align-items:center;display:inline-flex;justify-content:center}.bb-file-picker-info{height:0;color:#848f99;padding:0 12px;overflow:hidden;line-height:36px;align-items:center;display:inline-flex;background-color:#fff8ff;border-top:0 solid #b6bbc1;transition:height .2s cubic-bezier(0,0,.2,1)}.bb-file-picker-info.visible{height:38px;border-top-width:1px}.bb-file-picker-info>span{opacity:.4;max-width:100%;font-size:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-file-picker-info>span:first-child{flex:1}.bb-file-picker-info>span:last-child{margin-left:12px}.bb-file-picker-image-container{overflow:hidden;border-top:1px solid #b6bbc1}.bb-file-picker-image-wrapper{width:100%;max-width:40%;margin:20px auto}.bb-file-picker-image{width:100%;display:flex;overflow:hidden;position:relative;border-radius:4px;will-change:opacity;background-size:cover;background-position:center;background-repeat:no-repeat}.bb-file-picker-hint{display:block;color:#738694;font-size:13px;margin-top:4px}\n"], components: [{ type: i1.BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2.AsyncPipe, "bbLocalize": i4.BbLocalize, "bbFileImage": i5.BbFileImage, "bbFileSize": i6.BbFileSize }, animations: [
164
+ ], queries: [{ propertyName: "extraTemplate", first: true, predicate: ["extra"], descendants: true }], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- The label of the input. -->\n<label *ngIf=\"label as labelContent\"\n [for]=\"labelId\"\n class=\"bb-file-picker-label\">\n <ng-template [bbTemplate]=\"labelContent\">\n {{ labelContent }}\n </ng-template>\n</label>\n\n<!-- The input that can open the file picker. -->\n<input #fileInput\n [accept]=\"accept\"\n [disabled]=\"disabled\"\n (change)=\"onFileChange($event)\"\n class=\"bb-file-picker-input\"\n type=\"file\"\n tabindex=\"-1\">\n\n<div *ngIf=\"value$ | async as data\"\n class=\"bb-file-picker-wrapper\">\n <!-- The button that accepts files. -->\n <div class=\"bb-file-picker-container\">\n <button [class.destructive]=\"!!data?.file\"\n [class.standalone]=\"!allowDragging\"\n [disabled]=\"disabled\"\n [id]=\"labelId\"\n (click)=\"onButtonPressed(data?.file)\"\n type=\"button\"\n class=\"bb-file-picker-button\">\n <ng-container *ngTemplateOutlet=\"data?.file ? closeIcon : uploadIcon\"></ng-container>\n {{ (data?.file ? 'file-picker.remove' : 'file-picker.choose') | bbLocalize }}\n </button>\n <div *ngIf=\"allowDragging\"\n class=\"bb-file-picker-zone\">\n {{ 'file-picker.drop' | bbLocalize }}\n </div>\n </div>\n\n <ng-container *ngIf=\"!!extraTemplate\">\n <ng-container *ngTemplateOutlet=\"extraTemplate; context: {$implicit: data?.file}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"showImages\">\n <div *ngIf=\"data?.file | bbFileImage | async as image\"\n class=\"bb-file-picker-image-container\">\n <div class=\"bb-file-picker-image-wrapper\">\n <div [@bbFilePickerImageAnimation]=\"true\"\n [style.padding-top.%]=\"image?.aspectRatio * 100\"\n [style.background-image]=\"image?.background\"\n class=\"bb-file-picker-image\">\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- Extra information of the file. -->\n <div [class.visible]=\"!!data?.file\"\n class=\"bb-file-picker-info\">\n <span *ngIf=\"data?.file?.name as name\">{{ name }}</span>\n <span *ngIf=\"data?.file?.size as size\">{{ size | bbFileSize }}</span>\n </div>\n</div>\n\n<bb-form-error *ngIf=\"!hideErrors\"\n (errorChange)=\"onErrorChange($event)\">\n</bb-form-error>\n\n<!-- The file picker hint. -->\n<p *ngIf=\"hint as hintContent\"\n class=\"bb-file-picker-hint\">\n <ng-template [bbTemplate]=\"hintContent\">\n {{ hintContent }}\n </ng-template>\n</p>\n\n<!-- Upload icon. -->\n<ng-template #uploadIcon>\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n class=\"bb-file-picker-icon\"\n width=\"24\"\n height=\"24\">\n <path fill=\"currentColor\"\n d=\"M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5a2.5 2.5 0 010-5H17v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z\"></path>\n <path fill=\"none\" d=\"M0 0h24v24H0V0z\"></path>\n </svg>\n</ng-template>\n\n<!-- Close icon. -->\n<ng-template #closeIcon>\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n class=\"bb-file-picker-icon\"\n width=\"24\"\n height=\"24\">\n <path fill=\"currentColor\"\n d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"></path>\n <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\n </svg>\n</ng-template>\n", styles: [".bb-file-picker{display:block}.bb-file-picker.disabled>.bb-file-picker-wrapper{cursor:default;background-color:#cccccca3}.bb-file-picker.grouped{margin-bottom:20px}.bb-file-picker.full>.bb-file-picker-wrapper{width:100%}.bb-file-picker:not(.disabled) .bb-file-picker-button{background-color:#fff}.bb-file-picker:not(.disabled):focus>.bb-file-picker-wrapper,.bb-file-picker:not(.disabled).hovered>.bb-file-picker-wrapper{box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #007bff33}.bb-file-picker.required>.bb-file-picker-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-file-picker.error>.bb-file-picker-label{color:#c23934}.bb-file-picker.error>.bb-file-picker-hint{display:none}.bb-file-picker.error>.bb-file-picker-wrapper{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-file-picker.error .bb-file-picker-button{background-color:transparent}.bb-file-picker-wrapper{max-width:100%;-webkit-user-select:none;user-select:none;border-radius:3px;display:inline-flex;flex-direction:column;border:1px solid #b6bbc1;background-color:#fff8ff;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-file-picker-label{color:#000;display:block;position:relative;margin-bottom:4px}.bb-file-picker-input{opacity:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;position:absolute}.bb-file-picker-container{min-height:38px;display:inline-flex}.bb-file-picker-button{margin:0;z-index:1;border:none;color:#2196f3;line-height:1;cursor:pointer;padding:0 12px;-webkit-appearance:none;appearance:none;font-weight:500;align-items:center;white-space:nowrap;display:inline-flex;border-top-left-radius:3px;border-bottom-left-radius:3px;border-right:1px solid #b6bbc1;background-color:#ffffff80;transition:box-shadow .2s cubic-bezier(0,0,.2,1)}.bb-file-picker-button:focus{box-shadow:0 0 0 3px #007bff33}.bb-file-picker-button:disabled{cursor:default}.bb-file-picker-button.destructive{color:#f55656}.bb-file-picker-button.standalone{width:100%;border-right:none;border-top-right-radius:3px;border-bottom-right-radius:3px}.bb-file-picker-icon{margin-right:4px}.bb-file-picker-zone{flex:1;color:#848f99;font-size:14px;padding:8px 12px;line-height:18px;align-items:center;display:inline-flex;justify-content:center}.bb-file-picker-info{height:0;color:#848f99;padding:0 12px;overflow:hidden;line-height:36px;align-items:center;display:inline-flex;background-color:#fff8ff;border-top:0 solid #b6bbc1;transition:height .2s cubic-bezier(0,0,.2,1)}.bb-file-picker-info.visible{height:38px;border-top-width:1px}.bb-file-picker-info>span{opacity:.4;max-width:100%;font-size:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-file-picker-info>span:first-child{flex:1}.bb-file-picker-info>span:last-child{margin-left:12px}.bb-file-picker-image-container{overflow:hidden;border-top:1px solid #b6bbc1}.bb-file-picker-image-wrapper{width:100%;max-width:40%;margin:20px auto}.bb-file-picker-image{width:100%;display:flex;overflow:hidden;position:relative;border-radius:4px;will-change:opacity;background-size:cover;background-position:center;background-repeat:no-repeat}.bb-file-picker-hint{display:block;color:#738694;font-size:13px;margin-top:4px}\n"], components: [{ type: i1.BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2.AsyncPipe, "bbLocalize": i4.BbLocalize, "bbFileImage": i5.BbFileImage, "bbFileSize": i6.BbFileSize }, animations: [
165
165
  trigger('bbFilePickerImageAnimation', [
166
166
  transition(':enter', [
167
167
  style({ opacity: 0 }),
@@ -172,7 +172,7 @@ BbFilePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
172
172
  ])
173
173
  ])
174
174
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbFilePicker, decorators: [{
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbFilePicker, decorators: [{
176
176
  type: Component,
177
177
  args: [{ selector: 'bb-file-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
178
178
  {
@@ -202,7 +202,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
202
202
  animate('200ms', style({ opacity: 0 }))
203
203
  ])
204
204
  ])
205
- ], inputs: ['disabled', 'hideErrors', 'grouped', 'required'], preserveWhitespaces: false, template: "<!-- The label of the input. -->\n<label *ngIf=\"label as labelContent\"\n [for]=\"labelId\"\n class=\"bb-file-picker-label\">\n <ng-template [bbTemplate]=\"labelContent\">\n {{ labelContent }}\n </ng-template>\n</label>\n\n<!-- The input that can open the file picker. -->\n<input #fileInput\n [accept]=\"accept\"\n [disabled]=\"disabled\"\n (change)=\"onFileChange($event)\"\n class=\"bb-file-picker-input\"\n type=\"file\"\n tabindex=\"-1\">\n\n<div *ngIf=\"value$ | async as data\"\n class=\"bb-file-picker-wrapper\">\n <!-- The button that accepts files. -->\n <div class=\"bb-file-picker-container\">\n <button [class.destructive]=\"!!data?.file\"\n [class.standalone]=\"!allowDragging\"\n [disabled]=\"disabled\"\n [id]=\"labelId\"\n (click)=\"onButtonPressed(data?.file)\"\n type=\"button\"\n class=\"bb-file-picker-button\">\n <ng-container *ngTemplateOutlet=\"data?.file ? closeIcon : uploadIcon\"></ng-container>\n {{ (data?.file ? 'file-picker.remove' : 'file-picker.choose') | bbLocalize }}\n </button>\n <div *ngIf=\"allowDragging\"\n class=\"bb-file-picker-zone\">\n {{ 'file-picker.drop' | bbLocalize }}\n </div>\n </div>\n\n <ng-container *ngIf=\"!!extraTemplate\">\n <ng-container *ngTemplateOutlet=\"extraTemplate; context: {$implicit: data?.file}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"showImages\">\n <div *ngIf=\"data?.file | bbFileImage | async as image\"\n class=\"bb-file-picker-image-container\">\n <div class=\"bb-file-picker-image-wrapper\">\n <div [@bbFilePickerImageAnimation]=\"true\"\n [style.padding-top.%]=\"image?.aspectRatio * 100\"\n [style.background-image]=\"image?.background\"\n class=\"bb-file-picker-image\">\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- Extra information of the file. -->\n <div [class.visible]=\"!!data?.file\"\n class=\"bb-file-picker-info\">\n <span *ngIf=\"data?.file?.name as name\">{{ name }}</span>\n <span *ngIf=\"data?.file?.size as size\">{{ size | bbFileSize }}</span>\n </div>\n</div>\n\n<bb-form-error *ngIf=\"!hideErrors\"\n (errorChange)=\"onErrorChange($event)\">\n</bb-form-error>\n\n<!-- The file picker hint. -->\n<p *ngIf=\"hint as hintContent\"\n class=\"bb-file-picker-hint\">\n <ng-template [bbTemplate]=\"hintContent\">\n {{ hintContent }}\n </ng-template>\n</p>\n\n<!-- Upload icon. -->\n<ng-template #uploadIcon>\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n class=\"bb-file-picker-icon\"\n width=\"24\"\n height=\"24\">\n <path fill=\"currentColor\"\n d=\"M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5a2.5 2.5 0 010-5H17v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z\"></path>\n <path fill=\"none\" d=\"M0 0h24v24H0V0z\"></path>\n </svg>\n</ng-template>\n\n<!-- Close icon. -->\n<ng-template #closeIcon>\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n class=\"bb-file-picker-icon\"\n width=\"24\"\n height=\"24\">\n <path fill=\"currentColor\"\n d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"></path>\n <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\n </svg>\n</ng-template>\n", styles: [".bb-file-picker{display:block}.bb-file-picker.disabled>.bb-file-picker-wrapper{cursor:default;background-color:#cccccca3}.bb-file-picker.grouped{margin-bottom:20px}.bb-file-picker.full>.bb-file-picker-wrapper{width:100%}.bb-file-picker:not(.disabled) .bb-file-picker-button{background-color:#fff}.bb-file-picker:not(.disabled):focus>.bb-file-picker-wrapper,.bb-file-picker:not(.disabled).hovered>.bb-file-picker-wrapper{box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #007bff33}.bb-file-picker.required>.bb-file-picker-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-file-picker.error>.bb-file-picker-label{color:#c23934}.bb-file-picker.error>.bb-file-picker-hint{display:none}.bb-file-picker.error>.bb-file-picker-wrapper{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-file-picker.error .bb-file-picker-button{background-color:transparent}.bb-file-picker-wrapper{max-width:100%;-webkit-user-select:none;user-select:none;border-radius:3px;display:inline-flex;flex-direction:column;border:1px solid #b6bbc1;background-color:#fff8ff;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-file-picker-label{color:#000;display:block;position:relative;margin-bottom:4px}.bb-file-picker-input{opacity:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;position:absolute}.bb-file-picker-container{min-height:38px;display:inline-flex}.bb-file-picker-button{margin:0;z-index:1;border:none;color:#2196f3;line-height:1;cursor:pointer;padding:0 12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:500;align-items:center;white-space:nowrap;display:inline-flex;border-top-left-radius:3px;border-bottom-left-radius:3px;border-right:1px solid #b6bbc1;background-color:#ffffff80;transition:box-shadow .2s cubic-bezier(0,0,.2,1)}.bb-file-picker-button:focus{box-shadow:0 0 0 3px #007bff33}.bb-file-picker-button:disabled{cursor:default}.bb-file-picker-button.destructive{color:#f55656}.bb-file-picker-button.standalone{width:100%;border-right:none;border-top-right-radius:3px;border-bottom-right-radius:3px}.bb-file-picker-icon{margin-right:4px}.bb-file-picker-zone{flex:1;color:#848f99;font-size:14px;padding:8px 12px;line-height:18px;align-items:center;display:inline-flex;justify-content:center}.bb-file-picker-info{height:0;color:#848f99;padding:0 12px;overflow:hidden;line-height:36px;align-items:center;display:inline-flex;background-color:#fff8ff;border-top:0 solid #b6bbc1;transition:height .2s cubic-bezier(0,0,.2,1)}.bb-file-picker-info.visible{height:38px;border-top-width:1px}.bb-file-picker-info>span{opacity:.4;max-width:100%;font-size:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-file-picker-info>span:first-child{flex:1}.bb-file-picker-info>span:last-child{margin-left:12px}.bb-file-picker-image-container{overflow:hidden;border-top:1px solid #b6bbc1}.bb-file-picker-image-wrapper{width:100%;max-width:40%;margin:20px auto}.bb-file-picker-image{width:100%;display:flex;overflow:hidden;position:relative;border-radius:4px;will-change:opacity;background-size:cover;background-position:center;background-repeat:no-repeat}.bb-file-picker-hint{display:block;color:#738694;font-size:13px;margin-top:4px}\n"] }]
205
+ ], inputs: ['disabled', 'hideErrors', 'grouped', 'required'], preserveWhitespaces: false, template: "<!-- The label of the input. -->\n<label *ngIf=\"label as labelContent\"\n [for]=\"labelId\"\n class=\"bb-file-picker-label\">\n <ng-template [bbTemplate]=\"labelContent\">\n {{ labelContent }}\n </ng-template>\n</label>\n\n<!-- The input that can open the file picker. -->\n<input #fileInput\n [accept]=\"accept\"\n [disabled]=\"disabled\"\n (change)=\"onFileChange($event)\"\n class=\"bb-file-picker-input\"\n type=\"file\"\n tabindex=\"-1\">\n\n<div *ngIf=\"value$ | async as data\"\n class=\"bb-file-picker-wrapper\">\n <!-- The button that accepts files. -->\n <div class=\"bb-file-picker-container\">\n <button [class.destructive]=\"!!data?.file\"\n [class.standalone]=\"!allowDragging\"\n [disabled]=\"disabled\"\n [id]=\"labelId\"\n (click)=\"onButtonPressed(data?.file)\"\n type=\"button\"\n class=\"bb-file-picker-button\">\n <ng-container *ngTemplateOutlet=\"data?.file ? closeIcon : uploadIcon\"></ng-container>\n {{ (data?.file ? 'file-picker.remove' : 'file-picker.choose') | bbLocalize }}\n </button>\n <div *ngIf=\"allowDragging\"\n class=\"bb-file-picker-zone\">\n {{ 'file-picker.drop' | bbLocalize }}\n </div>\n </div>\n\n <ng-container *ngIf=\"!!extraTemplate\">\n <ng-container *ngTemplateOutlet=\"extraTemplate; context: {$implicit: data?.file}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"showImages\">\n <div *ngIf=\"data?.file | bbFileImage | async as image\"\n class=\"bb-file-picker-image-container\">\n <div class=\"bb-file-picker-image-wrapper\">\n <div [@bbFilePickerImageAnimation]=\"true\"\n [style.padding-top.%]=\"image?.aspectRatio * 100\"\n [style.background-image]=\"image?.background\"\n class=\"bb-file-picker-image\">\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- Extra information of the file. -->\n <div [class.visible]=\"!!data?.file\"\n class=\"bb-file-picker-info\">\n <span *ngIf=\"data?.file?.name as name\">{{ name }}</span>\n <span *ngIf=\"data?.file?.size as size\">{{ size | bbFileSize }}</span>\n </div>\n</div>\n\n<bb-form-error *ngIf=\"!hideErrors\"\n (errorChange)=\"onErrorChange($event)\">\n</bb-form-error>\n\n<!-- The file picker hint. -->\n<p *ngIf=\"hint as hintContent\"\n class=\"bb-file-picker-hint\">\n <ng-template [bbTemplate]=\"hintContent\">\n {{ hintContent }}\n </ng-template>\n</p>\n\n<!-- Upload icon. -->\n<ng-template #uploadIcon>\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n class=\"bb-file-picker-icon\"\n width=\"24\"\n height=\"24\">\n <path fill=\"currentColor\"\n d=\"M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5a2.5 2.5 0 010-5H17v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z\"></path>\n <path fill=\"none\" d=\"M0 0h24v24H0V0z\"></path>\n </svg>\n</ng-template>\n\n<!-- Close icon. -->\n<ng-template #closeIcon>\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n class=\"bb-file-picker-icon\"\n width=\"24\"\n height=\"24\">\n <path fill=\"currentColor\"\n d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"></path>\n <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\n </svg>\n</ng-template>\n", styles: [".bb-file-picker{display:block}.bb-file-picker.disabled>.bb-file-picker-wrapper{cursor:default;background-color:#cccccca3}.bb-file-picker.grouped{margin-bottom:20px}.bb-file-picker.full>.bb-file-picker-wrapper{width:100%}.bb-file-picker:not(.disabled) .bb-file-picker-button{background-color:#fff}.bb-file-picker:not(.disabled):focus>.bb-file-picker-wrapper,.bb-file-picker:not(.disabled).hovered>.bb-file-picker-wrapper{box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #007bff33}.bb-file-picker.required>.bb-file-picker-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-file-picker.error>.bb-file-picker-label{color:#c23934}.bb-file-picker.error>.bb-file-picker-hint{display:none}.bb-file-picker.error>.bb-file-picker-wrapper{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-file-picker.error .bb-file-picker-button{background-color:transparent}.bb-file-picker-wrapper{max-width:100%;-webkit-user-select:none;user-select:none;border-radius:3px;display:inline-flex;flex-direction:column;border:1px solid #b6bbc1;background-color:#fff8ff;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-file-picker-label{color:#000;display:block;position:relative;margin-bottom:4px}.bb-file-picker-input{opacity:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;position:absolute}.bb-file-picker-container{min-height:38px;display:inline-flex}.bb-file-picker-button{margin:0;z-index:1;border:none;color:#2196f3;line-height:1;cursor:pointer;padding:0 12px;-webkit-appearance:none;appearance:none;font-weight:500;align-items:center;white-space:nowrap;display:inline-flex;border-top-left-radius:3px;border-bottom-left-radius:3px;border-right:1px solid #b6bbc1;background-color:#ffffff80;transition:box-shadow .2s cubic-bezier(0,0,.2,1)}.bb-file-picker-button:focus{box-shadow:0 0 0 3px #007bff33}.bb-file-picker-button:disabled{cursor:default}.bb-file-picker-button.destructive{color:#f55656}.bb-file-picker-button.standalone{width:100%;border-right:none;border-top-right-radius:3px;border-bottom-right-radius:3px}.bb-file-picker-icon{margin-right:4px}.bb-file-picker-zone{flex:1;color:#848f99;font-size:14px;padding:8px 12px;line-height:18px;align-items:center;display:inline-flex;justify-content:center}.bb-file-picker-info{height:0;color:#848f99;padding:0 12px;overflow:hidden;line-height:36px;align-items:center;display:inline-flex;background-color:#fff8ff;border-top:0 solid #b6bbc1;transition:height .2s cubic-bezier(0,0,.2,1)}.bb-file-picker-info.visible{height:38px;border-top-width:1px}.bb-file-picker-info>span{opacity:.4;max-width:100%;font-size:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-file-picker-info>span:first-child{flex:1}.bb-file-picker-info>span:last-child{margin-left:12px}.bb-file-picker-image-container{overflow:hidden;border-top:1px solid #b6bbc1}.bb-file-picker-image-wrapper{width:100%;max-width:40%;margin:20px auto}.bb-file-picker-image{width:100%;display:flex;overflow:hidden;position:relative;border-radius:4px;will-change:opacity;background-size:cover;background-position:center;background-repeat:no-repeat}.bb-file-picker-hint{display:block;color:#738694;font-size:13px;margin-top:4px}\n"] }]
206
206
  }], propDecorators: { fileInput: [{
207
207
  type: ViewChild,
208
208
  args: ['fileInput', { static: true }]
@@ -233,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
233
233
  type: HostListener,
234
234
  args: ['drop', ['$event']]
235
235
  }] } });
236
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2ZpbGUtcGlja2VyL2ZpbGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9maWxlLXBpY2tlci9maWxlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFXSCxhQUFhLEVBQ2IsWUFBWSxFQUNaLGFBQWEsRUFDYixVQUFVLEVBQ1YsZUFBZSxFQUNsQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBb0MsYUFBYSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkcsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBRXJDLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQUVyQixNQUFNLGdCQUFnQjtDQUNyQjtBQUVELE1BQU0scUJBQXFCLEdBTXJCLGFBQWEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBMENoRyxNQUFNLE9BQU8sWUFBYSxTQUFRLHFCQUFxQjtJQXhDdkQ7O1FB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T0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDO2dDQUNuQixPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDOzZCQUN4QyxDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ2pCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7NkJBQ3hDLENBQUM7eUJBQ0wsQ0FBQztxQkFDTCxVQUNPLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLHVCQUNwQyxLQUFLOzhCQUtjLFNBQVM7c0JBQWhELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDZixhQUFhO3NCQUFuQyxZQUFZO3VCQUFDLE9BQU87Z0JBR1osS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQVFGLEtBQUs7c0JBRFIsS0FBSztnQkFNSSxXQUFXO3NCQUFwQixNQUFNO2dCQVNQLE1BQU07c0JBRkwsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDOztzQkFDM0MsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO2dCQWM5QyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENhbkRpc2FibGUsXG4gICAgQ2FuRGlzYWJsZUNvbnN0cnVjdG9yLFxuICAgIElzR3JvdXBlZCxcbiAgICBJc0dyb3VwZWRDb25zdHJ1Y3RvcixcbiAgICBJc1JlcXVpcmVkLFxuICAgIElzUmVxdWlyZWRDb25zdHJ1Y3RvcixcbiAgICBDYW5IaWRlRXJyb3JzLFxuICAgIENhbkhpZGVFcnJvcnNDb25zdHJ1Y3RvcixcbiAgICBIYXNFcnJvcixcbiAgICBIYXNFcnJvckNvbnN0cnVjdG9yLFxuICAgIG1peGluRGlzYWJsZWQsXG4gICAgbWl4aW5Hcm91cGVkLFxuICAgIG1peGluUmVxdWlyZWQsXG4gICAgbWl4aW5FcnJvcixcbiAgICBtaXhpbkhpZGVFcnJvcnNcbn0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24nO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge2FuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbmNsYXNzIEJiRmlsZVBpY2tlckJhc2Uge1xufVxuXG5jb25zdCBCYkZpbGVQaWNrZXJNaXhpbkJhc2U6IElzUmVxdWlyZWRDb25zdHJ1Y3RvclxuICAgICYgQ2FuRGlzYWJsZUNvbnN0cnVjdG9yXG4gICAgJiBJc0dyb3VwZWRDb25zdHJ1Y3RvclxuICAgICYgSGFzRXJyb3JDb25zdHJ1Y3RvclxuICAgICYgQ2FuSGlkZUVycm9yc0NvbnN0cnVjdG9yXG4gICAgJiB0eXBlb2YgQmJGaWxlUGlja2VyQmFzZVxuICAgID0gbWl4aW5SZXF1aXJlZChtaXhpbkRpc2FibGVkKG1peGluR3JvdXBlZChtaXhpbkVycm9yKG1peGluSGlkZUVycm9ycyhCYkZpbGVQaWNrZXJCYXNlKSkpKSk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItZmlsZS1waWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmlsZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJiRmlsZVBpY2tlciksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IEJiRmlsZVBpY2tlcixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiLWZpbGUtcGlja2VyJyxcbiAgICAgICAgJ1tjbGFzcy5yZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuICAgICAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbY2xhc3MuZ3JvdXBlZF0nOiAnZ3JvdXBlZCcsXG4gICAgICAgICdbY2xhc3MuaG92ZXJlZF0nOiAnaG92ZXJlZCcsXG4gICAgICAgICdbY2xhc3MuZXJyb3JdJzogJ2Vycm9yJ1xuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdiYkZpbGVQaWNrZXJJbWFnZUFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzIwMG1zJywgc3R5bGUoe29wYWNpdHk6IDF9KSlcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzIwMG1zJywgc3R5bGUoe29wYWNpdHk6IDB9KSlcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaGlkZUVycm9ycycsICdncm91cGVkJywgJ3JlcXVpcmVkJ10sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmJGaWxlUGlja2VyIGV4dGVuZHMgQmJGaWxlUGlja2VyTWl4aW5CYXNlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIElzUmVxdWlyZWQsIENhbkRpc2FibGUsIElzR3JvdXBlZCwgSGFzRXJyb3IsIENhbkhpZGVFcnJvcnMge1xuXG4gICAgLy8gVmlld3MuXG4gICAgQFZpZXdDaGlsZCgnZmlsZUlucHV0Jywge3N0YXRpYzogdHJ1ZX0pIGZpbGVJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgICBAQ29udGVudENoaWxkKCdleHRyYScpIGV4dHJhVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnRSZWY+O1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgaGludDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGFjY2VwdDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgc2hvd0ltYWdlczogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYWxsb3dEcmFnZ2luZzogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBsYWJlbElkID0gYGJiLWZpbGUtcGlja2VyLSR7bmV4dFVuaXF1ZUlkKyt9YDtcbiAgICBob3ZlcmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IGZpbGU/OiBGaWxlIH0+KHt9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHZhbHVlKCkge1xuICAgICAgICBjb25zdCB7ZmlsZX0gPSB0aGlzLnZhbHVlJC5nZXRWYWx1ZSgpO1xuICAgICAgICByZXR1cm4gZmlsZTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGUgfCBudWxsPigpO1xuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBGaWxlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnZhbHVlJC5uZXh0KHtmaWxlOiB2YWx1ZX0pO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnLCAndHJ1ZSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50JywgJ2ZhbHNlJ10pXG4gICAgb25EcmFnKGV2ZW50OiBFdmVudCwgaXNIb3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIHRoZSBpbnB1dCBjYW4gc3VwcG9ydCBkcmFnLlxuICAgICAgICBpZiAoIXRoaXMuYWxsb3dEcmFnZ2luZyB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQcmV2ZW50IHRoZSBkZWZhdWx0IGV2ZW50IGFjdGlvblxuICAgICAgICAvLyBhbmQgc3RhcnQgdGhlIGhvdmVyaW5nLlxuICAgICAgICB0aGlzLnByZXZlbnREZWZhdWx0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5ob3ZlcmVkID0gaXNIb3ZlcmVkO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICAgIG9uRHJvcChldmVudDogRXZlbnQpIHtcbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGlucHV0IGNhbiBzdXBwb3J0IGRyYWcuXG4gICAgICAgIGlmICghdGhpcy5hbGxvd0RyYWdnaW5nIHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByZXZlbnQgdGhlIGRlZmF1bHQgZXZlbnQgYWN0aW9uXG4gICAgICAgIC8vIGFuZCBzdG9wIHRoZSBob3ZlcmluZy5cbiAgICAgICAgdGhpcy5wcmV2ZW50RGVmYXVsdChldmVudCk7XG4gICAgICAgIHRoaXMuaG92ZXJlZCA9IGZhbHNlO1xuXG4gICAgICAgIC8vIFNhdmUgdGhlIGZpbGUuXG4gICAgICAgIHRoaXMuc2F2ZUZpbGUoZXZlbnRbJ2RhdGFUcmFuc2ZlciddLmZpbGVzKTtcblxuICAgICAgICAvLyBSdW4gdGhlIG9uIGNoYW5nZSBjYWxsYmFjay5cbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIG9uQnV0dG9uUHJlc3NlZChmaWxlPzogRmlsZSkge1xuICAgICAgICBpZiAoZmlsZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuRmlsZVBpY2tlcigpO1xuICAgIH1cblxuICAgIG9wZW5GaWxlUGlja2VyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlSW5wdXRcbiAgICAgICAgICAgICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2tcbiAgICAgICAgICAgICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICBvbkZpbGVDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIHRoZSBpbnB1dCBpcyBub3QgZGlzYWJsZWQuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeHRyYWN0IHRoZSBmaWxlIGZyb20gdGhlIGV2ZW50LlxuICAgICAgICBjb25zdCBmaWxlTGlzdCA9IHRoaXMuZ2V0RmlsZUxpc3RGcm9tRXZlbnQoZXZlbnQpO1xuXG4gICAgICAgIC8vIFNhdmUgdGhlIGZpbGUuXG4gICAgICAgIHRoaXMuc2F2ZUZpbGUoZmlsZUxpc3QpO1xuXG4gICAgICAgIC8vIFJ1biB0aGUgb24gY2hhbmdlIGNhbGxiYWNrLlxuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy52YWx1ZSk7XG5cbiAgICAgICAgLy8gQ2xlYXIgdGhlIGZpbGUgaW5wdXQuXG4gICAgICAgIGlmICh0aGlzLmZpbGVJbnB1dCAmJiB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICB9O1xuXG4gICAgb25DaGFuZ2VDYWxsYmFjazogKF86IEZpbGUgfCBudWxsKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgIH07XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBGaWxlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShtZXRob2Q6IChfOiBGaWxlIHwgbnVsbCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBtZXRob2Q7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQobWV0aG9kOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBtZXRob2Q7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIG9uRXJyb3JDaGFuZ2UoZXJyb3I6IHsgdG9rZW46IHN0cmluZywgZGF0YT86IGFueSB9IHwgbnVsbCkge1xuICAgICAgICB0aGlzLmVycm9yID0gISFlcnJvcjtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZSh7dmFsdWV9OiBGb3JtQ29udHJvbCkge1xuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWdleFN0cmluZyA9ICh0aGlzLmFjY2VwdCB8fCAnKicpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFwqL2csICcuXFwqJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8sL2csICd8Jyk7XG4gICAgICAgIGNvbnN0IG1pbWVUeXBlUmVnZXggPSBuZXcgUmVnRXhwKHJlZ2V4U3RyaW5nKTtcblxuICAgICAgICBjb25zdCBpc05vdFZhbGlkID0gKHR5cGVvZiBGaWxlID09PSAndW5kZWZpbmVkJykgfHwgISh2YWx1ZSBpbnN0YW5jZW9mIEZpbGUpIHx8ICFtaW1lVHlwZVJlZ2V4LnRlc3QodmFsdWU/LnR5cGUpO1xuICAgICAgICByZXR1cm4gaXNOb3RWYWxpZCAmJiB7XG4gICAgICAgICAgICBpbnZhbGlkRmlsZVR5cGU6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVGaWxlID0gKGZpbGVzPzogRmlsZUxpc3QpID0+IHtcbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGZpbGVzIGV4aXN0LlxuICAgICAgICBpZiAoIWZpbGVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgZmlyc3QgZmlsZS5cbiAgICAgICAgY29uc3QgZmlsZSA9IGZpbGVzWzBdO1xuXG4gICAgICAgIC8vIFZhbGlkYXRlIHRoZSBmaXJzdCBmaWxlIGV4aXN0cy5cbiAgICAgICAgaWYgKCFmaWxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTYXZlIHRoZSBmaWxlLlxuICAgICAgICB0aGlzLnZhbHVlID0gZmlsZTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBnZXRGaWxlTGlzdEZyb21FdmVudCA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZWxlbWVudC5maWxlcztcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBwcmV2ZW50RGVmYXVsdCA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfTtcblxufVxuIiwiPCEtLSBUaGUgbGFiZWwgb2YgdGhlIGlucHV0LiAtLT5cbjxsYWJlbCAqbmdJZj1cImxhYmVsIGFzIGxhYmVsQ29udGVudFwiXG4gICAgICAgW2Zvcl09XCJsYWJlbElkXCJcbiAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWxhYmVsXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtiYlRlbXBsYXRlXT1cImxhYmVsQ29udGVudFwiPlxuICAgICAgICB7eyBsYWJlbENvbnRlbnQgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9sYWJlbD5cblxuPCEtLSBUaGUgaW5wdXQgdGhhdCBjYW4gb3BlbiB0aGUgZmlsZSBwaWNrZXIuIC0tPlxuPGlucHV0ICNmaWxlSW5wdXRcbiAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAoY2hhbmdlKT1cIm9uRmlsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWlucHV0XCJcbiAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgdGFiaW5kZXg9XCItMVwiPlxuXG48ZGl2ICpuZ0lmPVwidmFsdWUkIHwgYXN5bmMgYXMgZGF0YVwiXG4gICAgIGNsYXNzPVwiYmItZmlsZS1waWNrZXItd3JhcHBlclwiPlxuICAgIDwhLS0gVGhlIGJ1dHRvbiB0aGF0IGFjY2VwdHMgZmlsZXMuIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1jb250YWluZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBbY2xhc3MuZGVzdHJ1Y3RpdmVdPVwiISFkYXRhPy5maWxlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc3RhbmRhbG9uZV09XCIhYWxsb3dEcmFnZ2luZ1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwibGFiZWxJZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQnV0dG9uUHJlc3NlZChkYXRhPy5maWxlKVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1idXR0b25cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRhPy5maWxlID8gY2xvc2VJY29uIDogdXBsb2FkSWNvblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAge3sgKGRhdGE/LmZpbGUgPyAnZmlsZS1waWNrZXIucmVtb3ZlJyA6ICdmaWxlLXBpY2tlci5jaG9vc2UnKSB8IGJiTG9jYWxpemUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJhbGxvd0RyYWdnaW5nXCJcbiAgICAgICAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLXpvbmVcIj5cbiAgICAgICAgICAgIHt7ICdmaWxlLXBpY2tlci5kcm9wJyB8IGJiTG9jYWxpemUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISFleHRyYVRlbXBsYXRlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJleHRyYVRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBkYXRhPy5maWxlfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dJbWFnZXNcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImRhdGE/LmZpbGUgfCBiYkZpbGVJbWFnZSB8IGFzeW5jIGFzIGltYWdlXCJcbiAgICAgICAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWltYWdlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWltYWdlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IFtAYmJGaWxlUGlja2VySW1hZ2VBbmltYXRpb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICBbc3R5bGUucGFkZGluZy10b3AuJV09XCJpbWFnZT8uYXNwZWN0UmF0aW8gKiAxMDBcIlxuICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiaW1hZ2U/LmJhY2tncm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1pbWFnZVwiPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBFeHRyYSBpbmZvcm1hdGlvbiBvZiB0aGUgZmlsZS4gLS0+XG4gICAgPGRpdiBbY2xhc3MudmlzaWJsZV09XCIhIWRhdGE/LmZpbGVcIlxuICAgICAgICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1pbmZvXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZGF0YT8uZmlsZT8ubmFtZSBhcyBuYW1lXCI+e3sgbmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJkYXRhPy5maWxlPy5zaXplIGFzIHNpemVcIj57eyBzaXplIHwgYmJGaWxlU2l6ZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48YmItZm9ybS1lcnJvciAqbmdJZj1cIiFoaWRlRXJyb3JzXCJcbiAgICAgICAgICAgICAgIChlcnJvckNoYW5nZSk9XCJvbkVycm9yQ2hhbmdlKCRldmVudClcIj5cbjwvYmItZm9ybS1lcnJvcj5cblxuPCEtLSBUaGUgZmlsZSBwaWNrZXIgaGludC4gLS0+XG48cCAqbmdJZj1cImhpbnQgYXMgaGludENvbnRlbnRcIlxuICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1oaW50XCI+XG4gICAgPG5nLXRlbXBsYXRlIFtiYlRlbXBsYXRlXT1cImhpbnRDb250ZW50XCI+XG4gICAgICAgIHt7IGhpbnRDb250ZW50IH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvcD5cblxuPCEtLSBVcGxvYWQgaWNvbi4gLS0+XG48bmctdGVtcGxhdGUgI3VwbG9hZEljb24+XG4gICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgIGNsYXNzPVwiYmItZmlsZS1waWNrZXItaWNvblwiXG4gICAgICAgICB3aWR0aD1cIjI0XCJcbiAgICAgICAgIGhlaWdodD1cIjI0XCI+XG4gICAgICAgIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBkPVwiTTIgMTIuNUMyIDkuNDYgNC40NiA3IDcuNSA3SDE4YzIuMjEgMCA0IDEuNzkgNCA0cy0xLjc5IDQtNCA0SDkuNWEyLjUgMi41IDAgMDEwLTVIMTd2Mkg5LjQxYy0uNTUgMC0uNTUgMSAwIDFIMThjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0ySDcuNUM1LjU3IDkgNCAxMC41NyA0IDEyLjVTNS41NyAxNiA3LjUgMTZIMTd2Mkg3LjVDNC40NiAxOCAyIDE1LjU0IDIgMTIuNXpcIj48L3BhdGg+XG4gICAgICAgIDxwYXRoIGZpbGw9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMFYwelwiPjwvcGF0aD5cbiAgICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gQ2xvc2UgaWNvbi4gLS0+XG48bmctdGVtcGxhdGUgI2Nsb3NlSWNvbj5cbiAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1pY29uXCJcbiAgICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICAgaGVpZ2h0PVwiMjRcIj5cbiAgICAgICAgPHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgIGQ9XCJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyelwiPjwvcGF0aD5cbiAgICAgICAgPHBhdGggZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiPjwvcGF0aD5cbiAgICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2ZpbGUtcGlja2VyL2ZpbGUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9maWxlLXBpY2tlci9maWxlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFXSCxhQUFhLEVBQ2IsWUFBWSxFQUNaLGFBQWEsRUFDYixVQUFVLEVBQ1YsZUFBZSxFQUNsQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBb0MsYUFBYSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkcsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBRXJDLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQUVyQixNQUFNLGdCQUFnQjtDQUNyQjtBQUVELE1BQU0scUJBQXFCLEdBTXJCLGFBQWEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBMENoRyxNQUFNLE9BQU8sWUFBYSxTQUFRLHFCQUFxQjtJQXhDdkQ7O1FB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T0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDO2dDQUNuQixPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDOzZCQUN4QyxDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ2pCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7NkJBQ3hDLENBQUM7eUJBQ0wsQ0FBQztxQkFDTCxVQUNPLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLHVCQUNwQyxLQUFLOzhCQUtjLFNBQVM7c0JBQWhELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFDZixhQUFhO3NCQUFuQyxZQUFZO3VCQUFDLE9BQU87Z0JBR1osS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQVFGLEtBQUs7c0JBRFIsS0FBSztnQkFNSSxXQUFXO3NCQUFwQixNQUFNO2dCQVNQLE1BQU07c0JBRkwsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDOztzQkFDM0MsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO2dCQWM5QyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENhbkRpc2FibGUsXG4gICAgQ2FuRGlzYWJsZUNvbnN0cnVjdG9yLFxuICAgIElzR3JvdXBlZCxcbiAgICBJc0dyb3VwZWRDb25zdHJ1Y3RvcixcbiAgICBJc1JlcXVpcmVkLFxuICAgIElzUmVxdWlyZWRDb25zdHJ1Y3RvcixcbiAgICBDYW5IaWRlRXJyb3JzLFxuICAgIENhbkhpZGVFcnJvcnNDb25zdHJ1Y3RvcixcbiAgICBIYXNFcnJvcixcbiAgICBIYXNFcnJvckNvbnN0cnVjdG9yLFxuICAgIG1peGluRGlzYWJsZWQsXG4gICAgbWl4aW5Hcm91cGVkLFxuICAgIG1peGluUmVxdWlyZWQsXG4gICAgbWl4aW5FcnJvcixcbiAgICBtaXhpbkhpZGVFcnJvcnNcbn0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24nO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge2FuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbmNsYXNzIEJiRmlsZVBpY2tlckJhc2Uge1xufVxuXG5jb25zdCBCYkZpbGVQaWNrZXJNaXhpbkJhc2U6IElzUmVxdWlyZWRDb25zdHJ1Y3RvclxuICAgICYgQ2FuRGlzYWJsZUNvbnN0cnVjdG9yXG4gICAgJiBJc0dyb3VwZWRDb25zdHJ1Y3RvclxuICAgICYgSGFzRXJyb3JDb25zdHJ1Y3RvclxuICAgICYgQ2FuSGlkZUVycm9yc0NvbnN0cnVjdG9yXG4gICAgJiB0eXBlb2YgQmJGaWxlUGlja2VyQmFzZVxuICAgID0gbWl4aW5SZXF1aXJlZChtaXhpbkRpc2FibGVkKG1peGluR3JvdXBlZChtaXhpbkVycm9yKG1peGluSGlkZUVycm9ycyhCYkZpbGVQaWNrZXJCYXNlKSkpKSk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItZmlsZS1waWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmlsZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJiRmlsZVBpY2tlciksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IEJiRmlsZVBpY2tlcixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiLWZpbGUtcGlja2VyJyxcbiAgICAgICAgJ1tjbGFzcy5yZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuICAgICAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbY2xhc3MuZ3JvdXBlZF0nOiAnZ3JvdXBlZCcsXG4gICAgICAgICdbY2xhc3MuaG92ZXJlZF0nOiAnaG92ZXJlZCcsXG4gICAgICAgICdbY2xhc3MuZXJyb3JdJzogJ2Vycm9yJ1xuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdiYkZpbGVQaWNrZXJJbWFnZUFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzIwMG1zJywgc3R5bGUoe29wYWNpdHk6IDF9KSlcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzIwMG1zJywgc3R5bGUoe29wYWNpdHk6IDB9KSlcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaGlkZUVycm9ycycsICdncm91cGVkJywgJ3JlcXVpcmVkJ10sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmJGaWxlUGlja2VyIGV4dGVuZHMgQmJGaWxlUGlja2VyTWl4aW5CYXNlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIElzUmVxdWlyZWQsIENhbkRpc2FibGUsIElzR3JvdXBlZCwgSGFzRXJyb3IsIENhbkhpZGVFcnJvcnMge1xuXG4gICAgLy8gVmlld3MuXG4gICAgQFZpZXdDaGlsZCgnZmlsZUlucHV0Jywge3N0YXRpYzogdHJ1ZX0pIGZpbGVJbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgICBAQ29udGVudENoaWxkKCdleHRyYScpIGV4dHJhVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnRSZWY+O1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgaGludDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGFjY2VwdDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgc2hvd0ltYWdlczogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYWxsb3dEcmFnZ2luZzogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBsYWJlbElkID0gYGJiLWZpbGUtcGlja2VyLSR7bmV4dFVuaXF1ZUlkKyt9YDtcbiAgICBob3ZlcmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IGZpbGU/OiBGaWxlIH0+KHt9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHZhbHVlKCkge1xuICAgICAgICBjb25zdCB7ZmlsZX0gPSB0aGlzLnZhbHVlJC5nZXRWYWx1ZSgpO1xuICAgICAgICByZXR1cm4gZmlsZTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGUgfCBudWxsPigpO1xuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBGaWxlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnZhbHVlJC5uZXh0KHtmaWxlOiB2YWx1ZX0pO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnLCAndHJ1ZSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50JywgJ2ZhbHNlJ10pXG4gICAgb25EcmFnKGV2ZW50OiBFdmVudCwgaXNIb3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIHRoZSBpbnB1dCBjYW4gc3VwcG9ydCBkcmFnLlxuICAgICAgICBpZiAoIXRoaXMuYWxsb3dEcmFnZ2luZyB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQcmV2ZW50IHRoZSBkZWZhdWx0IGV2ZW50IGFjdGlvblxuICAgICAgICAvLyBhbmQgc3RhcnQgdGhlIGhvdmVyaW5nLlxuICAgICAgICB0aGlzLnByZXZlbnREZWZhdWx0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5ob3ZlcmVkID0gaXNIb3ZlcmVkO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICAgIG9uRHJvcChldmVudDogRXZlbnQpIHtcbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGlucHV0IGNhbiBzdXBwb3J0IGRyYWcuXG4gICAgICAgIGlmICghdGhpcy5hbGxvd0RyYWdnaW5nIHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByZXZlbnQgdGhlIGRlZmF1bHQgZXZlbnQgYWN0aW9uXG4gICAgICAgIC8vIGFuZCBzdG9wIHRoZSBob3ZlcmluZy5cbiAgICAgICAgdGhpcy5wcmV2ZW50RGVmYXVsdChldmVudCk7XG4gICAgICAgIHRoaXMuaG92ZXJlZCA9IGZhbHNlO1xuXG4gICAgICAgIC8vIFNhdmUgdGhlIGZpbGUuXG4gICAgICAgIHRoaXMuc2F2ZUZpbGUoZXZlbnRbJ2RhdGFUcmFuc2ZlciddLmZpbGVzKTtcblxuICAgICAgICAvLyBSdW4gdGhlIG9uIGNoYW5nZSBjYWxsYmFjay5cbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIG9uQnV0dG9uUHJlc3NlZChmaWxlPzogRmlsZSkge1xuICAgICAgICBpZiAoZmlsZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuRmlsZVBpY2tlcigpO1xuICAgIH1cblxuICAgIG9wZW5GaWxlUGlja2VyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlSW5wdXRcbiAgICAgICAgICAgICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2tcbiAgICAgICAgICAgICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICBvbkZpbGVDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIHRoZSBpbnB1dCBpcyBub3QgZGlzYWJsZWQuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeHRyYWN0IHRoZSBmaWxlIGZyb20gdGhlIGV2ZW50LlxuICAgICAgICBjb25zdCBmaWxlTGlzdCA9IHRoaXMuZ2V0RmlsZUxpc3RGcm9tRXZlbnQoZXZlbnQpO1xuXG4gICAgICAgIC8vIFNhdmUgdGhlIGZpbGUuXG4gICAgICAgIHRoaXMuc2F2ZUZpbGUoZmlsZUxpc3QpO1xuXG4gICAgICAgIC8vIFJ1biB0aGUgb24gY2hhbmdlIGNhbGxiYWNrLlxuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy52YWx1ZSk7XG5cbiAgICAgICAgLy8gQ2xlYXIgdGhlIGZpbGUgaW5wdXQuXG4gICAgICAgIGlmICh0aGlzLmZpbGVJbnB1dCAmJiB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICB9O1xuXG4gICAgb25DaGFuZ2VDYWxsYmFjazogKF86IEZpbGUgfCBudWxsKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgIH07XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBGaWxlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShtZXRob2Q6IChfOiBGaWxlIHwgbnVsbCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBtZXRob2Q7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQobWV0aG9kOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBtZXRob2Q7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIG9uRXJyb3JDaGFuZ2UoZXJyb3I6IHsgdG9rZW46IHN0cmluZywgZGF0YT86IGFueSB9IHwgbnVsbCkge1xuICAgICAgICB0aGlzLmVycm9yID0gISFlcnJvcjtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZSh7dmFsdWV9OiBGb3JtQ29udHJvbCkge1xuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWdleFN0cmluZyA9ICh0aGlzLmFjY2VwdCB8fCAnKicpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFwqL2csICcuXFwqJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8sL2csICd8Jyk7XG4gICAgICAgIGNvbnN0IG1pbWVUeXBlUmVnZXggPSBuZXcgUmVnRXhwKHJlZ2V4U3RyaW5nKTtcblxuICAgICAgICBjb25zdCBpc05vdFZhbGlkID0gKHR5cGVvZiBGaWxlID09PSAndW5kZWZpbmVkJykgfHwgISh2YWx1ZSBpbnN0YW5jZW9mIEZpbGUpIHx8ICFtaW1lVHlwZVJlZ2V4LnRlc3QodmFsdWU/LnR5cGUpO1xuICAgICAgICByZXR1cm4gaXNOb3RWYWxpZCAmJiB7XG4gICAgICAgICAgICBpbnZhbGlkRmlsZVR5cGU6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVGaWxlID0gKGZpbGVzPzogRmlsZUxpc3QpID0+IHtcbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGZpbGVzIGV4aXN0LlxuICAgICAgICBpZiAoIWZpbGVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgZmlyc3QgZmlsZS5cbiAgICAgICAgY29uc3QgZmlsZSA9IGZpbGVzWzBdO1xuXG4gICAgICAgIC8vIFZhbGlkYXRlIHRoZSBmaXJzdCBmaWxlIGV4aXN0cy5cbiAgICAgICAgaWYgKCFmaWxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTYXZlIHRoZSBmaWxlLlxuICAgICAgICB0aGlzLnZhbHVlID0gZmlsZTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBnZXRGaWxlTGlzdEZyb21FdmVudCA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZWxlbWVudC5maWxlcztcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBwcmV2ZW50RGVmYXVsdCA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfTtcblxufVxuIiwiPCEtLSBUaGUgbGFiZWwgb2YgdGhlIGlucHV0LiAtLT5cbjxsYWJlbCAqbmdJZj1cImxhYmVsIGFzIGxhYmVsQ29udGVudFwiXG4gICAgICAgW2Zvcl09XCJsYWJlbElkXCJcbiAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWxhYmVsXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtiYlRlbXBsYXRlXT1cImxhYmVsQ29udGVudFwiPlxuICAgICAgICB7eyBsYWJlbENvbnRlbnQgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9sYWJlbD5cblxuPCEtLSBUaGUgaW5wdXQgdGhhdCBjYW4gb3BlbiB0aGUgZmlsZSBwaWNrZXIuIC0tPlxuPGlucHV0ICNmaWxlSW5wdXRcbiAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAoY2hhbmdlKT1cIm9uRmlsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWlucHV0XCJcbiAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgdGFiaW5kZXg9XCItMVwiPlxuXG48ZGl2ICpuZ0lmPVwidmFsdWUkIHwgYXN5bmMgYXMgZGF0YVwiXG4gICAgIGNsYXNzPVwiYmItZmlsZS1waWNrZXItd3JhcHBlclwiPlxuICAgIDwhLS0gVGhlIGJ1dHRvbiB0aGF0IGFjY2VwdHMgZmlsZXMuIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1jb250YWluZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBbY2xhc3MuZGVzdHJ1Y3RpdmVdPVwiISFkYXRhPy5maWxlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc3RhbmRhbG9uZV09XCIhYWxsb3dEcmFnZ2luZ1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwibGFiZWxJZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQnV0dG9uUHJlc3NlZChkYXRhPy5maWxlKVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1idXR0b25cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRhPy5maWxlID8gY2xvc2VJY29uIDogdXBsb2FkSWNvblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAge3sgKGRhdGE/LmZpbGUgPyAnZmlsZS1waWNrZXIucmVtb3ZlJyA6ICdmaWxlLXBpY2tlci5jaG9vc2UnKSB8IGJiTG9jYWxpemUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJhbGxvd0RyYWdnaW5nXCJcbiAgICAgICAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLXpvbmVcIj5cbiAgICAgICAgICAgIHt7ICdmaWxlLXBpY2tlci5kcm9wJyB8IGJiTG9jYWxpemUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISFleHRyYVRlbXBsYXRlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJleHRyYVRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBkYXRhPy5maWxlfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dJbWFnZXNcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImRhdGE/LmZpbGUgfCBiYkZpbGVJbWFnZSB8IGFzeW5jIGFzIGltYWdlXCJcbiAgICAgICAgICAgICBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWltYWdlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJiLWZpbGUtcGlja2VyLWltYWdlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IFtAYmJGaWxlUGlja2VySW1hZ2VBbmltYXRpb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICBbc3R5bGUucGFkZGluZy10b3AuJV09XCJpbWFnZT8uYXNwZWN0UmF0aW8gKiAxMDBcIlxuICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiaW1hZ2U/LmJhY2tncm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1pbWFnZVwiPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBFeHRyYSBpbmZvcm1hdGlvbiBvZiB0aGUgZmlsZS4gLS0+XG4gICAgPGRpdiBbY2xhc3MudmlzaWJsZV09XCIhIWRhdGE/LmZpbGVcIlxuICAgICAgICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1pbmZvXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZGF0YT8uZmlsZT8ubmFtZSBhcyBuYW1lXCI+e3sgbmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJkYXRhPy5maWxlPy5zaXplIGFzIHNpemVcIj57eyBzaXplIHwgYmJGaWxlU2l6ZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48YmItZm9ybS1lcnJvciAqbmdJZj1cIiFoaWRlRXJyb3JzXCJcbiAgICAgICAgICAgICAgIChlcnJvckNoYW5nZSk9XCJvbkVycm9yQ2hhbmdlKCRldmVudClcIj5cbjwvYmItZm9ybS1lcnJvcj5cblxuPCEtLSBUaGUgZmlsZSBwaWNrZXIgaGludC4gLS0+XG48cCAqbmdJZj1cImhpbnQgYXMgaGludENvbnRlbnRcIlxuICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1oaW50XCI+XG4gICAgPG5nLXRlbXBsYXRlIFtiYlRlbXBsYXRlXT1cImhpbnRDb250ZW50XCI+XG4gICAgICAgIHt7IGhpbnRDb250ZW50IH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvcD5cblxuPCEtLSBVcGxvYWQgaWNvbi4gLS0+XG48bmctdGVtcGxhdGUgI3VwbG9hZEljb24+XG4gICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgIGNsYXNzPVwiYmItZmlsZS1waWNrZXItaWNvblwiXG4gICAgICAgICB3aWR0aD1cIjI0XCJcbiAgICAgICAgIGhlaWdodD1cIjI0XCI+XG4gICAgICAgIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBkPVwiTTIgMTIuNUMyIDkuNDYgNC40NiA3IDcuNSA3SDE4YzIuMjEgMCA0IDEuNzkgNCA0cy0xLjc5IDQtNCA0SDkuNWEyLjUgMi41IDAgMDEwLTVIMTd2Mkg5LjQxYy0uNTUgMC0uNTUgMSAwIDFIMThjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0ySDcuNUM1LjU3IDkgNCAxMC41NyA0IDEyLjVTNS41NyAxNiA3LjUgMTZIMTd2Mkg3LjVDNC40NiAxOCAyIDE1LjU0IDIgMTIuNXpcIj48L3BhdGg+XG4gICAgICAgIDxwYXRoIGZpbGw9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMFYwelwiPjwvcGF0aD5cbiAgICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gQ2xvc2UgaWNvbi4gLS0+XG48bmctdGVtcGxhdGUgI2Nsb3NlSWNvbj5cbiAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgY2xhc3M9XCJiYi1maWxlLXBpY2tlci1pY29uXCJcbiAgICAgICAgIHdpZHRoPVwiMjRcIlxuICAgICAgICAgaGVpZ2h0PVwiMjRcIj5cbiAgICAgICAgPHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgIGQ9XCJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyelwiPjwvcGF0aD5cbiAgICAgICAgPHBhdGggZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiPjwvcGF0aD5cbiAgICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -24,9 +24,9 @@ export class BbFormControl extends BbFormControlMixinBase {
24
24
  this.error = !!error;
25
25
  }
26
26
  }
27
- BbFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbFormControl, deps: null, target: i0.ɵɵFactoryTarget.Component });
28
- BbFormControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: BbFormControl, selector: "bb-form-control", inputs: { grouped: "grouped", hideErrors: "hideErrors", label: "label", hint: "hint" }, host: { properties: { "class.readonly": "readonly", "class.required": "required", "class.disabled": "disabled", "class.focused": "focused", "class.grouped": "grouped", "class.arrow": "arrow", "class.error": "error" }, classAttribute: "bb-form-control" }, queries: [{ propertyName: "ngControl", first: true, predicate: NgControl, descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- Label of the form control. -->\n<label *ngIf=\"label as labelContent\"\n [attr.for]=\"labelId\"\n class=\"bb-form-control-label\">\n <ng-template [bbTemplate]=\"labelContent\">\n {{ labelContent }}\n </ng-template>\n</label>\n\n<!-- The input with the addons. -->\n<div class=\"bb-form-control-container\">\n <ng-content select=\"[bbPrefix]\"></ng-content>\n <ng-content select=\"[bbInput]\"></ng-content>\n <ng-content select=\"[bbSuffix]\"></ng-content>\n</div>\n\n<!-- The error component. -->\n<bb-form-error *ngIf=\"!hideErrors\"\n [control]=\"ngControl\"\n (errorChange)=\"onErrorChange($event)\">\n</bb-form-error>\n\n<!-- The form control hint. -->\n<p *ngIf=\"hint as hintContent\"\n class=\"bb-form-control-hint\">\n <ng-template [bbTemplate]=\"hintContent\">\n {{ hintContent }}\n </ng-template>\n</p>\n", styles: [".bb-form-control{color:#2d3c4d;display:block}.bb-form-control>.bb-form-control-container>*.bb-prefix,.bb-form-control>.bb-form-control-container>*.bb-suffix{margin:0 8px;color:#b4b4b4;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control.grouped{margin-bottom:20px}.bb-form-control.small{max-width:240px}.bb-form-control.medium{max-width:480px}.bb-form-control.large{max-width:720px}.bb-form-control.required>.bb-form-control-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-form-control.disabled>.bb-form-control-container{cursor:default;pointer-events:none;background-color:#cccccca3}.bb-form-control.disabled>.bb-form-control-container>input,.bb-form-control.disabled>.bb-form-control-container>textarea,.bb-form-control.disabled>.bb-form-control-container>select{color:#aaa}.bb-form-control.readonly>.bb-form-control-container{cursor:default;border:1px dotted #bdc4c9}.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container{background-color:#fff;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #007bff33}.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container>input::placeholder,.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container>textarea::placeholder{color:#b4b4b4;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control.error>.bb-form-control-label{color:#c23934}.bb-form-control.error>.bb-form-control-hint{display:none}.bb-form-control.error>.bb-form-control-container{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-form-control.error>.bb-form-control-container>*.bb-prefix,.bb-form-control.error>.bb-form-control-container>.bb-suffix{color:#c23934}.bb-form-control.error>.bb-form-control-container>input::placeholder,.bb-form-control.error>.bb-form-control-container>textarea::placeholder{color:#c2393466!important}.bb-form-control.arrow>.bb-form-control-container:after{top:0;right:0;bottom:0;width:20px;content:\"\";height:36px;display:flex;min-width:20px;position:absolute;pointer-events:none;background-repeat:no-repeat;background-position:calc(100% - 8px) center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAGCAYAAAAYLBS/AAAACXBIWXMAAAsSAAALEgHS3X78AAAAWUlEQVQYlY3QsQ2DMAAEwMMTsAkrZInvWY3WXiIjJJtkA1OBRCIRf/nSffFTrXXGE4uxbCXJBw+8R0CStcAg3JKsUI7mDzzBBd3AC4Cp9/4z21o7znl9A9gBAf4fpjLTwkUAAAAASUVORK5CYII=)}.bb-form-control-container{width:100%;display:flex;overflow:hidden;position:relative;border-radius:3px;align-items:center;border:1px solid #b6bbc1;background-color:#fff8ff;transition-duration:.25s;transition-property:background-color,box-shadow;transition-timing-function:cubic-bezier(0,0,.2,1);box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-form-control-container>input::placeholder,.bb-form-control-container>textarea::placeholder{color:#d2d2d2;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control-container>input,.bb-form-control-container>textarea,.bb-form-control-container>select{margin:0;width:100%;border:none;color:#3d464d;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.bb-form-control-container>input,.bb-form-control-container>select{height:36px;padding:0 8px}.bb-form-control-container>select{padding-right:28px}.bb-form-control-container>select>::-ms-expand{display:none}.bb-form-control-container>input::-ms-clear,.bb-form-control-container>input::-ms-reveal{width:0;height:0;display:none}.bb-form-control-container>input::-webkit-search-decoration,.bb-form-control-container>input::-webkit-search-cancel-button,.bb-form-control-container>input::-webkit-search-results-button,.bb-form-control-container>input::-webkit-search-results-decoration{display:none}.bb-form-control-container>textarea{resize:none;padding:8px}.bb-form-control-label{color:#000;display:block;position:relative;margin-bottom:4px;transition:color 30ms cubic-bezier(0,0,.2,1)}.bb-form-control-error,.bb-form-control-hint{display:block;font-size:13px;margin-top:4px}.bb-form-control-error{color:#c23934}.bb-form-control-hint{color:#738694}\n"], components: [{ type: i1.BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbFormControl, decorators: [{
27
+ BbFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbFormControl, deps: null, target: i0.ɵɵFactoryTarget.Component });
28
+ BbFormControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BbFormControl, selector: "bb-form-control", inputs: { grouped: "grouped", hideErrors: "hideErrors", label: "label", hint: "hint" }, host: { properties: { "class.readonly": "readonly", "class.required": "required", "class.disabled": "disabled", "class.focused": "focused", "class.grouped": "grouped", "class.arrow": "arrow", "class.error": "error" }, classAttribute: "bb-form-control" }, queries: [{ propertyName: "ngControl", first: true, predicate: NgControl, descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- Label of the form control. -->\n<label *ngIf=\"label as labelContent\"\n [attr.for]=\"labelId\"\n class=\"bb-form-control-label\">\n <ng-template [bbTemplate]=\"labelContent\">\n {{ labelContent }}\n </ng-template>\n</label>\n\n<!-- The input with the addons. -->\n<div class=\"bb-form-control-container\">\n <ng-content select=\"[bbPrefix]\"></ng-content>\n <ng-content select=\"[bbInput]\"></ng-content>\n <ng-content select=\"[bbSuffix]\"></ng-content>\n</div>\n\n<!-- The error component. -->\n<bb-form-error *ngIf=\"!hideErrors\"\n [control]=\"ngControl\"\n (errorChange)=\"onErrorChange($event)\">\n</bb-form-error>\n\n<!-- The form control hint. -->\n<p *ngIf=\"hint as hintContent\"\n class=\"bb-form-control-hint\">\n <ng-template [bbTemplate]=\"hintContent\">\n {{ hintContent }}\n </ng-template>\n</p>\n", styles: [".bb-form-control{color:#2d3c4d;display:block}.bb-form-control>.bb-form-control-container>*.bb-prefix,.bb-form-control>.bb-form-control-container>*.bb-suffix{margin:0 8px;color:#b4b4b4;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control.grouped{margin-bottom:20px}.bb-form-control.small{max-width:240px}.bb-form-control.medium{max-width:480px}.bb-form-control.large{max-width:720px}.bb-form-control.required>.bb-form-control-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-form-control.disabled>.bb-form-control-container{cursor:default;pointer-events:none;background-color:#cccccca3}.bb-form-control.disabled>.bb-form-control-container>input,.bb-form-control.disabled>.bb-form-control-container>textarea,.bb-form-control.disabled>.bb-form-control-container>select{color:#aaa}.bb-form-control.readonly>.bb-form-control-container{cursor:default;border:1px dotted #bdc4c9}.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container{background-color:#fff;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #007bff33}.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container>input::placeholder,.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container>textarea::placeholder{color:#b4b4b4;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control.error>.bb-form-control-label{color:#c23934}.bb-form-control.error>.bb-form-control-hint{display:none}.bb-form-control.error>.bb-form-control-container{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-form-control.error>.bb-form-control-container>*.bb-prefix,.bb-form-control.error>.bb-form-control-container>.bb-suffix{color:#c23934}.bb-form-control.error>.bb-form-control-container>input::placeholder,.bb-form-control.error>.bb-form-control-container>textarea::placeholder{color:#c2393466!important}.bb-form-control.arrow>.bb-form-control-container:after{top:0;right:0;bottom:0;width:20px;content:\"\";height:36px;display:flex;min-width:20px;position:absolute;pointer-events:none;background-repeat:no-repeat;background-position:calc(100% - 8px) center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAGCAYAAAAYLBS/AAAACXBIWXMAAAsSAAALEgHS3X78AAAAWUlEQVQYlY3QsQ2DMAAEwMMTsAkrZInvWY3WXiIjJJtkA1OBRCIRf/nSffFTrXXGE4uxbCXJBw+8R0CStcAg3JKsUI7mDzzBBd3AC4Cp9/4z21o7znl9A9gBAf4fpjLTwkUAAAAASUVORK5CYII=)}.bb-form-control-container{width:100%;display:flex;overflow:hidden;position:relative;border-radius:3px;align-items:center;border:1px solid #b6bbc1;background-color:#fff8ff;transition-duration:.25s;transition-property:background-color,box-shadow;transition-timing-function:cubic-bezier(0,0,.2,1);box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-form-control-container>input::placeholder,.bb-form-control-container>textarea::placeholder{color:#d2d2d2;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control-container>input,.bb-form-control-container>textarea,.bb-form-control-container>select{margin:0;width:100%;border:none;color:#3d464d;font-size:16px;-webkit-appearance:none;appearance:none;background-color:transparent}.bb-form-control-container>input,.bb-form-control-container>select{height:36px;padding:0 8px}.bb-form-control-container>select{padding-right:28px}.bb-form-control-container>select>::-ms-expand{display:none}.bb-form-control-container>input::-ms-clear,.bb-form-control-container>input::-ms-reveal{width:0;height:0;display:none}.bb-form-control-container>input::-webkit-search-decoration,.bb-form-control-container>input::-webkit-search-cancel-button,.bb-form-control-container>input::-webkit-search-results-button,.bb-form-control-container>input::-webkit-search-results-decoration{display:none}.bb-form-control-container>textarea{resize:none;padding:8px}.bb-form-control-label{color:#000;display:block;position:relative;margin-bottom:4px;transition:color 30ms cubic-bezier(0,0,.2,1)}.bb-form-control-error,.bb-form-control-hint{display:block;font-size:13px;margin-top:4px}.bb-form-control-error{color:#c23934}.bb-form-control-hint{color:#738694}\n"], components: [{ type: i1.BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbFormControl, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'bb-form-control', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
32
32
  'class': 'bb-form-control',
@@ -37,7 +37,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
37
37
  '[class.grouped]': 'grouped',
38
38
  '[class.arrow]': 'arrow',
39
39
  '[class.error]': 'error'
40
- }, inputs: ['grouped', 'hideErrors'], preserveWhitespaces: false, template: "<!-- Label of the form control. -->\n<label *ngIf=\"label as labelContent\"\n [attr.for]=\"labelId\"\n class=\"bb-form-control-label\">\n <ng-template [bbTemplate]=\"labelContent\">\n {{ labelContent }}\n </ng-template>\n</label>\n\n<!-- The input with the addons. -->\n<div class=\"bb-form-control-container\">\n <ng-content select=\"[bbPrefix]\"></ng-content>\n <ng-content select=\"[bbInput]\"></ng-content>\n <ng-content select=\"[bbSuffix]\"></ng-content>\n</div>\n\n<!-- The error component. -->\n<bb-form-error *ngIf=\"!hideErrors\"\n [control]=\"ngControl\"\n (errorChange)=\"onErrorChange($event)\">\n</bb-form-error>\n\n<!-- The form control hint. -->\n<p *ngIf=\"hint as hintContent\"\n class=\"bb-form-control-hint\">\n <ng-template [bbTemplate]=\"hintContent\">\n {{ hintContent }}\n </ng-template>\n</p>\n", styles: [".bb-form-control{color:#2d3c4d;display:block}.bb-form-control>.bb-form-control-container>*.bb-prefix,.bb-form-control>.bb-form-control-container>*.bb-suffix{margin:0 8px;color:#b4b4b4;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control.grouped{margin-bottom:20px}.bb-form-control.small{max-width:240px}.bb-form-control.medium{max-width:480px}.bb-form-control.large{max-width:720px}.bb-form-control.required>.bb-form-control-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-form-control.disabled>.bb-form-control-container{cursor:default;pointer-events:none;background-color:#cccccca3}.bb-form-control.disabled>.bb-form-control-container>input,.bb-form-control.disabled>.bb-form-control-container>textarea,.bb-form-control.disabled>.bb-form-control-container>select{color:#aaa}.bb-form-control.readonly>.bb-form-control-container{cursor:default;border:1px dotted #bdc4c9}.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container{background-color:#fff;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #007bff33}.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container>input::placeholder,.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container>textarea::placeholder{color:#b4b4b4;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control.error>.bb-form-control-label{color:#c23934}.bb-form-control.error>.bb-form-control-hint{display:none}.bb-form-control.error>.bb-form-control-container{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-form-control.error>.bb-form-control-container>*.bb-prefix,.bb-form-control.error>.bb-form-control-container>.bb-suffix{color:#c23934}.bb-form-control.error>.bb-form-control-container>input::placeholder,.bb-form-control.error>.bb-form-control-container>textarea::placeholder{color:#c2393466!important}.bb-form-control.arrow>.bb-form-control-container:after{top:0;right:0;bottom:0;width:20px;content:\"\";height:36px;display:flex;min-width:20px;position:absolute;pointer-events:none;background-repeat:no-repeat;background-position:calc(100% - 8px) center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAGCAYAAAAYLBS/AAAACXBIWXMAAAsSAAALEgHS3X78AAAAWUlEQVQYlY3QsQ2DMAAEwMMTsAkrZInvWY3WXiIjJJtkA1OBRCIRf/nSffFTrXXGE4uxbCXJBw+8R0CStcAg3JKsUI7mDzzBBd3AC4Cp9/4z21o7znl9A9gBAf4fpjLTwkUAAAAASUVORK5CYII=)}.bb-form-control-container{width:100%;display:flex;overflow:hidden;position:relative;border-radius:3px;align-items:center;border:1px solid #b6bbc1;background-color:#fff8ff;transition-duration:.25s;transition-property:background-color,box-shadow;transition-timing-function:cubic-bezier(0,0,.2,1);box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-form-control-container>input::placeholder,.bb-form-control-container>textarea::placeholder{color:#d2d2d2;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control-container>input,.bb-form-control-container>textarea,.bb-form-control-container>select{margin:0;width:100%;border:none;color:#3d464d;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.bb-form-control-container>input,.bb-form-control-container>select{height:36px;padding:0 8px}.bb-form-control-container>select{padding-right:28px}.bb-form-control-container>select>::-ms-expand{display:none}.bb-form-control-container>input::-ms-clear,.bb-form-control-container>input::-ms-reveal{width:0;height:0;display:none}.bb-form-control-container>input::-webkit-search-decoration,.bb-form-control-container>input::-webkit-search-cancel-button,.bb-form-control-container>input::-webkit-search-results-button,.bb-form-control-container>input::-webkit-search-results-decoration{display:none}.bb-form-control-container>textarea{resize:none;padding:8px}.bb-form-control-label{color:#000;display:block;position:relative;margin-bottom:4px;transition:color 30ms cubic-bezier(0,0,.2,1)}.bb-form-control-error,.bb-form-control-hint{display:block;font-size:13px;margin-top:4px}.bb-form-control-error{color:#c23934}.bb-form-control-hint{color:#738694}\n"] }]
40
+ }, inputs: ['grouped', 'hideErrors'], preserveWhitespaces: false, template: "<!-- Label of the form control. -->\n<label *ngIf=\"label as labelContent\"\n [attr.for]=\"labelId\"\n class=\"bb-form-control-label\">\n <ng-template [bbTemplate]=\"labelContent\">\n {{ labelContent }}\n </ng-template>\n</label>\n\n<!-- The input with the addons. -->\n<div class=\"bb-form-control-container\">\n <ng-content select=\"[bbPrefix]\"></ng-content>\n <ng-content select=\"[bbInput]\"></ng-content>\n <ng-content select=\"[bbSuffix]\"></ng-content>\n</div>\n\n<!-- The error component. -->\n<bb-form-error *ngIf=\"!hideErrors\"\n [control]=\"ngControl\"\n (errorChange)=\"onErrorChange($event)\">\n</bb-form-error>\n\n<!-- The form control hint. -->\n<p *ngIf=\"hint as hintContent\"\n class=\"bb-form-control-hint\">\n <ng-template [bbTemplate]=\"hintContent\">\n {{ hintContent }}\n </ng-template>\n</p>\n", styles: [".bb-form-control{color:#2d3c4d;display:block}.bb-form-control>.bb-form-control-container>*.bb-prefix,.bb-form-control>.bb-form-control-container>*.bb-suffix{margin:0 8px;color:#b4b4b4;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control.grouped{margin-bottom:20px}.bb-form-control.small{max-width:240px}.bb-form-control.medium{max-width:480px}.bb-form-control.large{max-width:720px}.bb-form-control.required>.bb-form-control-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-form-control.disabled>.bb-form-control-container{cursor:default;pointer-events:none;background-color:#cccccca3}.bb-form-control.disabled>.bb-form-control-container>input,.bb-form-control.disabled>.bb-form-control-container>textarea,.bb-form-control.disabled>.bb-form-control-container>select{color:#aaa}.bb-form-control.readonly>.bb-form-control-container{cursor:default;border:1px dotted #bdc4c9}.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container{background-color:#fff;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #007bff33}.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container>input::placeholder,.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container>textarea::placeholder{color:#b4b4b4;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control.error>.bb-form-control-label{color:#c23934}.bb-form-control.error>.bb-form-control-hint{display:none}.bb-form-control.error>.bb-form-control-container{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-form-control.error>.bb-form-control-container>*.bb-prefix,.bb-form-control.error>.bb-form-control-container>.bb-suffix{color:#c23934}.bb-form-control.error>.bb-form-control-container>input::placeholder,.bb-form-control.error>.bb-form-control-container>textarea::placeholder{color:#c2393466!important}.bb-form-control.arrow>.bb-form-control-container:after{top:0;right:0;bottom:0;width:20px;content:\"\";height:36px;display:flex;min-width:20px;position:absolute;pointer-events:none;background-repeat:no-repeat;background-position:calc(100% - 8px) center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAGCAYAAAAYLBS/AAAACXBIWXMAAAsSAAALEgHS3X78AAAAWUlEQVQYlY3QsQ2DMAAEwMMTsAkrZInvWY3WXiIjJJtkA1OBRCIRf/nSffFTrXXGE4uxbCXJBw+8R0CStcAg3JKsUI7mDzzBBd3AC4Cp9/4z21o7znl9A9gBAf4fpjLTwkUAAAAASUVORK5CYII=)}.bb-form-control-container{width:100%;display:flex;overflow:hidden;position:relative;border-radius:3px;align-items:center;border:1px solid #b6bbc1;background-color:#fff8ff;transition-duration:.25s;transition-property:background-color,box-shadow;transition-timing-function:cubic-bezier(0,0,.2,1);box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-form-control-container>input::placeholder,.bb-form-control-container>textarea::placeholder{color:#d2d2d2;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control-container>input,.bb-form-control-container>textarea,.bb-form-control-container>select{margin:0;width:100%;border:none;color:#3d464d;font-size:16px;-webkit-appearance:none;appearance:none;background-color:transparent}.bb-form-control-container>input,.bb-form-control-container>select{height:36px;padding:0 8px}.bb-form-control-container>select{padding-right:28px}.bb-form-control-container>select>::-ms-expand{display:none}.bb-form-control-container>input::-ms-clear,.bb-form-control-container>input::-ms-reveal{width:0;height:0;display:none}.bb-form-control-container>input::-webkit-search-decoration,.bb-form-control-container>input::-webkit-search-cancel-button,.bb-form-control-container>input::-webkit-search-results-button,.bb-form-control-container>input::-webkit-search-results-decoration{display:none}.bb-form-control-container>textarea{resize:none;padding:8px}.bb-form-control-label{color:#000;display:block;position:relative;margin-bottom:4px;transition:color 30ms cubic-bezier(0,0,.2,1)}.bb-form-control-error,.bb-form-control-hint{display:block;font-size:13px;margin-top:4px}.bb-form-control-error{color:#c23934}.bb-form-control-hint{color:#738694}\n"] }]
41
41
  }], propDecorators: { ngControl: [{
42
42
  type: ContentChild,
43
43
  args: [NgControl]
@@ -84,9 +84,9 @@ export class BbFormError {
84
84
  return this.control.statusChanges.pipe(startWith(this.control.status), delay(0));
85
85
  }
86
86
  }
87
- BbFormError.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbFormError, deps: [{ token: i1.BbFormSubmit, optional: true }, { token: i2.NgControl, optional: true }, { token: ELEMENTS_ERRORS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
88
- BbFormError.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: BbFormError, selector: "bb-form-error", inputs: { control: "control" }, outputs: { errorChange: "errorChange" }, host: { classAttribute: "bb-form-error" }, ngImport: i0, template: "<ng-container *ngIf=\"error$ | async as error\">\n <p *ngIf=\"error?.token | bbLocalize:{optional: true, data: error?.data} as message\"\n class=\"bb-form-error-message\">\n {{ message }}\n </p>\n</ng-container>", styles: [".bb-form-error{display:block}.bb-form-error-message{color:#c23934;display:block;font-size:13px;margin-top:4px}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe, "bbLocalize": i4.BbLocalize }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbFormError, decorators: [{
87
+ BbFormError.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbFormError, deps: [{ token: i1.BbFormSubmit, optional: true }, { token: i2.NgControl, optional: true }, { token: ELEMENTS_ERRORS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
88
+ BbFormError.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BbFormError, selector: "bb-form-error", inputs: { control: "control" }, outputs: { errorChange: "errorChange" }, host: { classAttribute: "bb-form-error" }, ngImport: i0, template: "<ng-container *ngIf=\"error$ | async as error\">\n <p *ngIf=\"error?.token | bbLocalize:{optional: true, data: error?.data} as message\"\n class=\"bb-form-error-message\">\n {{ message }}\n </p>\n</ng-container>", styles: [".bb-form-error{display:block}.bb-form-error-message{color:#c23934;display:block;font-size:13px;margin-top:4px}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe, "bbLocalize": i4.BbLocalize }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbFormError, decorators: [{
90
90
  type: Component,
91
91
  args: [{ selector: 'bb-form-error', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
92
92
  'class': 'bb-form-error'
@@ -6,9 +6,9 @@ class BbFormGroupBase {
6
6
  const BbFormGroupMixinBase = mixinGrouped(BbFormGroupBase);
7
7
  export class BbFormGroup extends BbFormGroupMixinBase {
8
8
  }
9
- BbFormGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbFormGroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
10
- BbFormGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: BbFormGroup, selector: "bb-form-group", inputs: { grouped: "grouped" }, host: { properties: { "class.grouped": "grouped" }, classAttribute: "bb-form-group" }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bb-form-group{width:100%;display:flex;flex-wrap:wrap;margin-top:-10px}.bb-form-group>*{margin-top:10px}.bb-form-group>*:not(:first-child){margin-left:10px}.bb-form-group.start{justify-content:flex-start}.bb-form-group.end{justify-content:flex-end}.bb-form-group.vertical{flex-direction:column;justify-content:normal}.bb-form-group.vertical>*{margin-left:0}.bb-form-group.vertical.start{align-items:flex-start}.bb-form-group.vertical.end{align-items:flex-end}.bb-form-group.grouped{margin-bottom:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbFormGroup, decorators: [{
9
+ BbFormGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbFormGroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
10
+ BbFormGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BbFormGroup, selector: "bb-form-group", inputs: { grouped: "grouped" }, host: { properties: { "class.grouped": "grouped" }, classAttribute: "bb-form-group" }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bb-form-group{width:100%;display:flex;flex-wrap:wrap;margin-top:-10px}.bb-form-group>*{margin-top:10px}.bb-form-group>*:not(:first-child){margin-left:10px}.bb-form-group.start{justify-content:flex-start}.bb-form-group.end{justify-content:flex-end}.bb-form-group.vertical{flex-direction:column;justify-content:normal}.bb-form-group.vertical>*{margin-left:0}.bb-form-group.vertical.start{align-items:flex-start}.bb-form-group.vertical.end{align-items:flex-end}.bb-form-group.grouped{margin-bottom:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbFormGroup, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'bb-form-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
14
14
  'class': 'bb-form-group',
@@ -1,6 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, Inject, Input, Optional, ViewEncapsulation } from '@angular/core';
2
2
  import { ELEMENTS_ICONS } from '../elements.interfaces';
3
- import { coerceBooleanProperty } from '@bravobit/bb-foundation';
3
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
4
  import { BehaviorSubject } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
@@ -72,9 +72,9 @@ export class BbIcon {
72
72
  return { type: data['type'], className: data['className'], content };
73
73
  }
74
74
  }
75
- BbIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbIcon, deps: [{ token: ELEMENTS_ICONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
76
- BbIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: BbIcon, selector: "bb-icon", inputs: { alt: "alt", size: "size", src: "src", ariaHidden: "ariaHidden" }, host: { properties: { "attr.aria-hidden": "ariaHidden", "style.width.px": "size", "style.height.px": "size", "style.min-width.px": "size", "style.min-height.px": "size", "style.font-size.px": "size" }, classAttribute: "bb-icon" }, ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as data\"\n [ngSwitch]=\"data?.type\">\n <i *ngSwitchCase=\"'font'\"\n [attr.data-icon]=\"data?.attribute\"\n [class]=\"data?.className\">\n {{ data?.content }}\n </i>\n <img *ngSwitchCase=\"'image'\"\n [src]=\"data?.src\"\n [alt]=\"alt\">\n <svg *ngSwitchCase=\"'unknown'\"\n viewBox=\"0 0 1 1\">\n <rect x=\"0\" y=\"0\" width=\"1\" height=\"1\" fill=\"#c5c5c5\"></rect>\n </svg>\n</ng-container>\n", styles: [".bb-icon{display:flex;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center}.bb-icon>i{font-size:inherit}.bb-icon>img,.bb-icon>svg{width:100%;height:100%;display:flex}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbIcon, decorators: [{
75
+ BbIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbIcon, deps: [{ token: ELEMENTS_ICONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
76
+ BbIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BbIcon, selector: "bb-icon", inputs: { alt: "alt", size: "size", src: "src", ariaHidden: "ariaHidden" }, host: { properties: { "attr.aria-hidden": "ariaHidden", "style.width.px": "size", "style.height.px": "size", "style.min-width.px": "size", "style.min-height.px": "size", "style.font-size.px": "size" }, classAttribute: "bb-icon" }, ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as data\"\n [ngSwitch]=\"data?.type\">\n <i *ngSwitchCase=\"'font'\"\n [attr.data-icon]=\"data?.attribute\"\n [class]=\"data?.className\">\n {{ data?.content }}\n </i>\n <img *ngSwitchCase=\"'image'\"\n [src]=\"data?.src\"\n [alt]=\"alt\">\n <svg *ngSwitchCase=\"'unknown'\"\n viewBox=\"0 0 1 1\">\n <rect x=\"0\" y=\"0\" width=\"1\" height=\"1\" fill=\"#c5c5c5\"></rect>\n </svg>\n</ng-container>\n", styles: [".bb-icon{display:flex;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center}.bb-icon>i{font-size:inherit}.bb-icon>img,.bb-icon>svg{width:100%;height:100%;display:flex}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbIcon, decorators: [{
78
78
  type: Component,
79
79
  args: [{ selector: 'bb-icon', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
80
80
  'class': 'bb-icon',
@@ -99,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
99
99
  }], ariaHidden: [{
100
100
  type: Input
101
101
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2VsZW1lbnRzL3NyYy9saWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsY0FBYyxFQUFlLE1BQU0sd0JBQXdCLENBQUM7QUFDcEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBbUJyQyxNQUFNLE9BQU8sTUFBTTtJQWdDZixZQUF3RCxTQUF5QjtRQUF6QixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQTlCakYsUUFBUTtRQUNBLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBRW5DLFNBQVM7UUFDVCxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7UUFFL0IsUUFBRyxHQUFrQixJQUFJLENBQUM7UUFDMUIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQXFCbkIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUEwRG5CLFNBQUksR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO1lBQy9CLE9BQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUM7SUF6REYsQ0FBQztJQXRCRCxJQUNJLEdBQUcsQ0FBQyxRQUF1QjtRQUMzQixJ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Qzs7bUdBdEZRLE1BQU0sa0JBZ0NpQixjQUFjO3VGQWhDckMsTUFBTSxrV0N0Qm5CLG9nQkFlQTsyRkRPYSxNQUFNO2tCQWpCbEIsU0FBUzsrQkFDSSxTQUFTLG1CQUdGLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsT0FBTyxFQUFFLFNBQVM7d0JBQ2xCLG9CQUFvQixFQUFFLFlBQVk7d0JBQ2xDLGtCQUFrQixFQUFFLE1BQU07d0JBQzFCLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLHNCQUFzQixFQUFFLE1BQU07d0JBQzlCLHVCQUF1QixFQUFFLE1BQU07d0JBQy9CLHNCQUFzQixFQUFFLE1BQU07cUJBQ2pDLHVCQUNvQixLQUFLOzswQkFrQ2IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjOzRDQXhCckMsR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFHRixHQUFHO3NCQUROLEtBQUs7Z0JBV0YsVUFBVTtzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTEVNRU5UU19JQ09OUywgRWxlbWVudHNJY29ufSBmcm9tICcuLi9lbGVtZW50cy5pbnRlcmZhY2VzJztcbmltcG9ydCB7Y29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItaWNvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ljb24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiLWljb24nLFxuICAgICAgICAnW2F0dHIuYXJpYS1oaWRkZW5dJzogJ2FyaWFIaWRkZW4nLFxuICAgICAgICAnW3N0eWxlLndpZHRoLnB4XSc6ICdzaXplJyxcbiAgICAgICAgJ1tzdHlsZS5oZWlnaHQucHhdJzogJ3NpemUnLFxuICAgICAgICAnW3N0eWxlLm1pbi13aWR0aC5weF0nOiAnc2l6ZScsXG4gICAgICAgICdbc3R5bGUubWluLWhlaWdodC5weF0nOiAnc2l6ZScsXG4gICAgICAgICdbc3R5bGUuZm9udC1zaXplLnB4XSc6ICdzaXplJ1xuICAgIH0sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmJJY29uIHtcblxuICAgIC8vIERhdGEuXG4gICAgcHJpdmF0ZSBfc3JjOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8vIFN0YXRlLlxuICAgIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcblxuICAgIEBJbnB1dCgpIGFsdDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgc2l6ZTogbnVtYmVyID0gMjQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzcmMobmV3VmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5zdGF0ZSQubmV4dCh0aGlzLmNvbnZlcnQobmV3VmFsdWUpKTtcbiAgICAgICAgdGhpcy5fc3JjID0gbmV3VmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IHNyYygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NyYztcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBhcmlhSGlkZGVuKG5ld1ZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2FyaWFIaWRkZW4gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBhcmlhSGlkZGVuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXJpYUhpZGRlbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hcmlhSGlkZGVuID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoRUxFTUVOVFNfSUNPTlMpIHByaXZhdGUgX3JlZ2lzdHJ5OiBFbGVtZW50c0ljb25bXSkge1xuICAgIH1cblxuICAgIHByaXZhdGUgY29udmVydChzcmM6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgY29uc3QgW25hbWVzcGFjZSwgdmFsdWVdID0gKHNyYyB8fCAnJykuc3BsaXQoJzonKTtcblxuICAgICAgICBjb25zdCBvbkVycm9yID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy53YXJuKGBFbGVtZW50c01vZHVsZTogVGhlIGljb24gd2l0aCBzcmMgXCIke3NyY31cIiBjb3VsZCBub3QgYmUgcmVuZGVyZWQgY29ycmVjdGx5OyBEaWQgeW91IHB1dCBhIGNvcnJlY3Qgc3JjIGF0dHJpYnV0ZT9gKTtcbiAgICAgICAgICAgIHJldHVybiB7dHlwZTogJ3Vua25vd24nfTtcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoIW5hbWVzcGFjZSB8fCAhdmFsdWUgfHwgIXRoaXMuX3JlZ2lzdHJ5KSB7XG4gICAgICAgICAgICByZXR1cm4gb25FcnJvcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVHJ5IHRvIGZpbmQgYSBpbWFnZSBpY29uLlxuICAgICAgICBjb25zdCBpbWFnZUljb24gPSB0aGlzLmZpbmRJbWFnZUljb24obmFtZXNwYWNlLCB2YWx1ZSk7XG4gICAgICAgIGlmIChpbWFnZUljb24pIHtcbiAgICAgICAgICAgIHJldHVybiBpbWFnZUljb247XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUcnkgdG8gZmluZCBhIGZvbnQgaWNvbi5cbiAgICAgICAgY29uc3QgZm9udEljb24gPSB0aGlzLmZpbmRGb250SWNvbihuYW1lc3BhY2UsIHZhbHVlKTtcbiAgICAgICAgaWYgKGZvbnRJY29uKSB7XG4gICAgICAgICAgICByZXR1cm4gZm9udEljb247XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXR1cm4gdGhlIG9uIGVycm9yIGZ1bmN0aW9uLlxuICAgICAgICByZXR1cm4gb25FcnJvcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZEltYWdlSWNvbihuYW1lc3BhY2U6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5fcmVnaXN0cnkuZmluZChpdGVtID0+IGl0ZW1bJ25hbWVzcGFjZSddID09PSBuYW1lc3BhY2UgJiYgaXRlbVsnbmFtZSddID09PSB2YWx1ZSk7XG5cbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7dHlwZTogZGF0YVsndHlwZSddLCBzcmM6IGRhdGFbJ3NyYyddfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRGb250SWNvbihuYW1lc3BhY2U6IHN0cmluZywgY29udGVudDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9yZWdpc3RyeS5maW5kKGl0ZW0gPT4gaXRlbVsnbmFtZXNwYWNlJ10gPT09IG5hbWVzcGFjZSk7XG5cbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVzZXMgPSBkYXRhWyd1c2VzJ107XG4gICAgICAgIGlmICh1c2VzID09PSAnZGF0YS1hdHRyaWJ1dGUnKSB7XG4gICAgICAgICAgICByZXR1cm4ge3R5cGU6IGRhdGFbJ3R5cGUnXSwgY2xhc3NOYW1lOiBkYXRhWydjbGFzc05hbWUnXSwgYXR0cmlidXRlOiBjb250ZW50fTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7dHlwZTogZGF0YVsndHlwZSddLCBjbGFzc05hbWU6IGRhdGFbJ2NsYXNzTmFtZSddLCBjb250ZW50fTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdhcm4gPSAoY29udGVudDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBjb25zb2xlICYmIGNvbnNvbGUud2FybiAmJiBjb25zb2xlLndhcm4oY29udGVudCk7XG4gICAgfTtcblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlJCB8IGFzeW5jIGFzIGRhdGFcIlxuICAgICAgICAgICAgICBbbmdTd2l0Y2hdPVwiZGF0YT8udHlwZVwiPlxuICAgIDxpICpuZ1N3aXRjaENhc2U9XCInZm9udCdcIlxuICAgICAgIFthdHRyLmRhdGEtaWNvbl09XCJkYXRhPy5hdHRyaWJ1dGVcIlxuICAgICAgIFtjbGFzc109XCJkYXRhPy5jbGFzc05hbWVcIj5cbiAgICAgICAge3sgZGF0YT8uY29udGVudCB9fVxuICAgIDwvaT5cbiAgICA8aW1nICpuZ1N3aXRjaENhc2U9XCInaW1hZ2UnXCJcbiAgICAgICAgIFtzcmNdPVwiZGF0YT8uc3JjXCJcbiAgICAgICAgIFthbHRdPVwiYWx0XCI+XG4gICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiJ3Vua25vd24nXCJcbiAgICAgICAgIHZpZXdCb3g9XCIwIDAgMSAxXCI+XG4gICAgICAgIDxyZWN0IHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgZmlsbD1cIiNjNWM1YzVcIj48L3JlY3Q+XG4gICAgPC9zdmc+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2VsZW1lbnRzL3NyYy9saWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsY0FBYyxFQUFlLE1BQU0sd0JBQXdCLENBQUM7QUFDcEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBbUJyQyxNQUFNLE9BQU8sTUFBTTtJQWdDZixZQUF3RCxTQUF5QjtRQUF6QixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQTlCakYsUUFBUTtRQUNBLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBRW5DLFNBQVM7UUFDVCxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7UUFFL0IsUUFBRyxHQUFrQixJQUFJLENBQUM7UUFDMUIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQXFCbkIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUEwRG5CLFNBQUksR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO1lBQy9CLE9BQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUM7SUF6REYsQ0FBQztJQXRCRCxJQUNJLEdBQUcsQ0FBQyxRQUF1QjtRQUMzQixJ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Qzs7bUdBdEZRLE1BQU0sa0JBZ0NpQixjQUFjO3VGQWhDckMsTUFBTSxrV0N0Qm5CLG9nQkFlQTsyRkRPYSxNQUFNO2tCQWpCbEIsU0FBUzsrQkFDSSxTQUFTLG1CQUdGLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsT0FBTyxFQUFFLFNBQVM7d0JBQ2xCLG9CQUFvQixFQUFFLFlBQVk7d0JBQ2xDLGtCQUFrQixFQUFFLE1BQU07d0JBQzFCLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLHNCQUFzQixFQUFFLE1BQU07d0JBQzlCLHVCQUF1QixFQUFFLE1BQU07d0JBQy9CLHNCQUFzQixFQUFFLE1BQU07cUJBQ2pDLHVCQUNvQixLQUFLOzswQkFrQ2IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjOzRDQXhCckMsR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFHRixHQUFHO3NCQUROLEtBQUs7Z0JBV0YsVUFBVTtzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTEVNRU5UU19JQ09OUywgRWxlbWVudHNJY29ufSBmcm9tICcuLi9lbGVtZW50cy5pbnRlcmZhY2VzJztcbmltcG9ydCB7Y29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLWljb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1pY29uJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtaGlkZGVuXSc6ICdhcmlhSGlkZGVuJyxcbiAgICAgICAgJ1tzdHlsZS53aWR0aC5weF0nOiAnc2l6ZScsXG4gICAgICAgICdbc3R5bGUuaGVpZ2h0LnB4XSc6ICdzaXplJyxcbiAgICAgICAgJ1tzdHlsZS5taW4td2lkdGgucHhdJzogJ3NpemUnLFxuICAgICAgICAnW3N0eWxlLm1pbi1oZWlnaHQucHhdJzogJ3NpemUnLFxuICAgICAgICAnW3N0eWxlLmZvbnQtc2l6ZS5weF0nOiAnc2l6ZSdcbiAgICB9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJiSWNvbiB7XG5cbiAgICAvLyBEYXRhLlxuICAgIHByaXZhdGUgX3NyYzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBzdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG5cbiAgICBASW5wdXQoKSBhbHQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHNpemU6IG51bWJlciA9IDI0O1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgc3JjKG5ld1ZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuc3RhdGUkLm5leHQodGhpcy5jb252ZXJ0KG5ld1ZhbHVlKSk7XG4gICAgICAgIHRoaXMuX3NyYyA9IG5ld1ZhbHVlO1xuICAgIH1cblxuICAgIGdldCBzcmMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zcmM7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgYXJpYUhpZGRlbihuZXdWYWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9hcmlhSGlkZGVuID0gY29lcmNlQm9vbGVhblByb3BlcnR5KG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgYXJpYUhpZGRlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FyaWFIaWRkZW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYXJpYUhpZGRlbiA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KEVMRU1FTlRTX0lDT05TKSBwcml2YXRlIF9yZWdpc3RyeTogRWxlbWVudHNJY29uW10pIHtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnZlcnQoc3JjOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IFtuYW1lc3BhY2UsIHZhbHVlXSA9IChzcmMgfHwgJycpLnNwbGl0KCc6Jyk7XG5cbiAgICAgICAgY29uc3Qgb25FcnJvciA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMud2FybihgRWxlbWVudHNNb2R1bGU6IFRoZSBpY29uIHdpdGggc3JjIFwiJHtzcmN9XCIgY291bGQgbm90IGJlIHJlbmRlcmVkIGNvcnJlY3RseTsgRGlkIHlvdSBwdXQgYSBjb3JyZWN0IHNyYyBhdHRyaWJ1dGU/YCk7XG4gICAgICAgICAgICByZXR1cm4ge3R5cGU6ICd1bmtub3duJ307XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKCFuYW1lc3BhY2UgfHwgIXZhbHVlIHx8ICF0aGlzLl9yZWdpc3RyeSkge1xuICAgICAgICAgICAgcmV0dXJuIG9uRXJyb3IoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRyeSB0byBmaW5kIGEgaW1hZ2UgaWNvbi5cbiAgICAgICAgY29uc3QgaW1hZ2VJY29uID0gdGhpcy5maW5kSW1hZ2VJY29uKG5hbWVzcGFjZSwgdmFsdWUpO1xuICAgICAgICBpZiAoaW1hZ2VJY29uKSB7XG4gICAgICAgICAgICByZXR1cm4gaW1hZ2VJY29uO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVHJ5IHRvIGZpbmQgYSBmb250IGljb24uXG4gICAgICAgIGNvbnN0IGZvbnRJY29uID0gdGhpcy5maW5kRm9udEljb24obmFtZXNwYWNlLCB2YWx1ZSk7XG4gICAgICAgIGlmIChmb250SWNvbikge1xuICAgICAgICAgICAgcmV0dXJuIGZvbnRJY29uO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBvbiBlcnJvciBmdW5jdGlvbi5cbiAgICAgICAgcmV0dXJuIG9uRXJyb3IoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRJbWFnZUljb24obmFtZXNwYWNlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuX3JlZ2lzdHJ5LmZpbmQoaXRlbSA9PiBpdGVtWyduYW1lc3BhY2UnXSA9PT0gbmFtZXNwYWNlICYmIGl0ZW1bJ25hbWUnXSA9PT0gdmFsdWUpO1xuXG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge3R5cGU6IGRhdGFbJ3R5cGUnXSwgc3JjOiBkYXRhWydzcmMnXX07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kRm9udEljb24obmFtZXNwYWNlOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5fcmVnaXN0cnkuZmluZChpdGVtID0+IGl0ZW1bJ25hbWVzcGFjZSddID09PSBuYW1lc3BhY2UpO1xuXG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB1c2VzID0gZGF0YVsndXNlcyddO1xuICAgICAgICBpZiAodXNlcyA9PT0gJ2RhdGEtYXR0cmlidXRlJykge1xuICAgICAgICAgICAgcmV0dXJuIHt0eXBlOiBkYXRhWyd0eXBlJ10sIGNsYXNzTmFtZTogZGF0YVsnY2xhc3NOYW1lJ10sIGF0dHJpYnV0ZTogY29udGVudH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge3R5cGU6IGRhdGFbJ3R5cGUnXSwgY2xhc3NOYW1lOiBkYXRhWydjbGFzc05hbWUnXSwgY29udGVudH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YXJuID0gKGNvbnRlbnQ6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4gY29uc29sZSAmJiBjb25zb2xlLndhcm4gJiYgY29uc29sZS53YXJuKGNvbnRlbnQpO1xuICAgIH07XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZSQgfCBhc3luYyBhcyBkYXRhXCJcbiAgICAgICAgICAgICAgW25nU3dpdGNoXT1cImRhdGE/LnR5cGVcIj5cbiAgICA8aSAqbmdTd2l0Y2hDYXNlPVwiJ2ZvbnQnXCJcbiAgICAgICBbYXR0ci5kYXRhLWljb25dPVwiZGF0YT8uYXR0cmlidXRlXCJcbiAgICAgICBbY2xhc3NdPVwiZGF0YT8uY2xhc3NOYW1lXCI+XG4gICAgICAgIHt7IGRhdGE/LmNvbnRlbnQgfX1cbiAgICA8L2k+XG4gICAgPGltZyAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlJ1wiXG4gICAgICAgICBbc3JjXT1cImRhdGE/LnNyY1wiXG4gICAgICAgICBbYWx0XT1cImFsdFwiPlxuICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cIid1bmtub3duJ1wiXG4gICAgICAgICB2aWV3Qm94PVwiMCAwIDEgMVwiPlxuICAgICAgICA8cmVjdCB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIxXCIgaGVpZ2h0PVwiMVwiIGZpbGw9XCIjYzVjNWM1XCI+PC9yZWN0PlxuICAgIDwvc3ZnPlxuPC9uZy1jb250YWluZXI+XG4iXX0=