@daffodil/design 0.62.3 → 0.62.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 (81) hide show
  1. package/accordion/examples/package.json +1 -1
  2. package/article/examples/package.json +1 -1
  3. package/button/examples/package.json +1 -1
  4. package/callout/examples/package.json +1 -1
  5. package/card/examples/package.json +1 -1
  6. package/checkbox/examples/package.json +1 -1
  7. package/container/examples/package.json +1 -1
  8. package/esm2020/molecules/modal/modal/modal.component.mjs +37 -23
  9. package/esm2020/molecules/sidebar/sidebar-viewport/sidebar-viewport.component.mjs +3 -3
  10. package/esm2020/notification/daffodil-design-notification.mjs +5 -0
  11. package/esm2020/notification/examples/daffodil-design-notification-examples.mjs +5 -0
  12. package/esm2020/notification/examples/default-notification/default-notification.component.mjs +23 -0
  13. package/esm2020/notification/examples/default-notification/default-notification.module.mjs +38 -0
  14. package/esm2020/notification/examples/dismissable-notification/dismissable-notification.component.mjs +23 -0
  15. package/esm2020/notification/examples/dismissable-notification/dismissable-notification.module.mjs +38 -0
  16. package/esm2020/notification/examples/index.mjs +2 -0
  17. package/esm2020/notification/examples/notification-orientations/notification-orientations.component.mjs +23 -0
  18. package/esm2020/notification/examples/notification-orientations/notification-orientations.module.mjs +42 -0
  19. package/esm2020/notification/examples/notification-status/notification-status.component.mjs +24 -0
  20. package/esm2020/notification/examples/notification-status/notification-status.module.mjs +42 -0
  21. package/esm2020/notification/examples/public_api.mjs +15 -0
  22. package/esm2020/notification/notification/notification.component.mjs +95 -0
  23. package/esm2020/notification/notification-actions/notification-actions.directive.mjs +19 -0
  24. package/esm2020/notification/notification-message/notification-message.directive.mjs +19 -0
  25. package/esm2020/notification/notification-subtitle/notification-subtitle.directive.mjs +19 -0
  26. package/esm2020/notification/notification-title/notification-title.directive.mjs +19 -0
  27. package/esm2020/notification/notification.module.mjs +56 -0
  28. package/esm2020/notification/public_api.mjs +7 -0
  29. package/fesm2015/daffodil-design-notification-examples.mjs +221 -0
  30. package/fesm2015/daffodil-design-notification-examples.mjs.map +1 -0
  31. package/fesm2015/daffodil-design-notification.mjs +218 -0
  32. package/fesm2015/daffodil-design-notification.mjs.map +1 -0
  33. package/fesm2015/daffodil-design.mjs +34 -23
  34. package/fesm2015/daffodil-design.mjs.map +1 -1
  35. package/fesm2020/daffodil-design-notification-examples.mjs +221 -0
  36. package/fesm2020/daffodil-design-notification-examples.mjs.map +1 -0
  37. package/fesm2020/daffodil-design-notification.mjs +218 -0
  38. package/fesm2020/daffodil-design-notification.mjs.map +1 -0
  39. package/fesm2020/daffodil-design.mjs +34 -23
  40. package/fesm2020/daffodil-design.mjs.map +1 -1
  41. package/hero/examples/package.json +1 -1
  42. package/image/examples/package.json +1 -1
  43. package/input/examples/package.json +1 -1
  44. package/list/examples/package.json +1 -1
  45. package/loading-icon/examples/package.json +1 -1
  46. package/media-gallery/examples/package.json +1 -1
  47. package/menu/examples/package.json +1 -1
  48. package/modal/examples/package.json +1 -1
  49. package/molecules/modal/modal/modal.component.d.ts +16 -15
  50. package/navbar/examples/package.json +1 -1
  51. package/notification/README.md +23 -0
  52. package/notification/daffodil-design-notification.d.ts +5 -0
  53. package/notification/examples/daffodil-design-notification-examples.d.ts +5 -0
  54. package/notification/examples/default-notification/default-notification.component.d.ts +6 -0
  55. package/notification/examples/default-notification/default-notification.module.d.ts +11 -0
  56. package/notification/examples/dismissable-notification/dismissable-notification.component.d.ts +6 -0
  57. package/notification/examples/dismissable-notification/dismissable-notification.module.d.ts +11 -0
  58. package/notification/examples/index.d.ts +1 -0
  59. package/notification/examples/notification-orientations/notification-orientations.component.d.ts +10 -0
  60. package/notification/examples/notification-orientations/notification-orientations.module.d.ts +12 -0
  61. package/notification/examples/notification-status/notification-status.component.d.ts +10 -0
  62. package/notification/examples/notification-status/notification-status.module.d.ts +12 -0
  63. package/notification/examples/package.json +1 -0
  64. package/notification/examples/public_api.d.ts +2 -0
  65. package/notification/notification/notification.component.d.ts +47 -0
  66. package/notification/notification-actions/notification-actions.directive.d.ts +6 -0
  67. package/notification/notification-message/notification-message.directive.d.ts +6 -0
  68. package/notification/notification-subtitle/notification-subtitle.directive.d.ts +6 -0
  69. package/notification/notification-title/notification-title.directive.d.ts +6 -0
  70. package/notification/notification.module.d.ts +14 -0
  71. package/notification/package.json +1 -0
  72. package/notification/public_api.d.ts +6 -0
  73. package/notification/src/notification-theme.scss +50 -0
  74. package/package.json +1 -1
  75. package/paginator/examples/package.json +1 -1
  76. package/quantity-field/examples/package.json +1 -1
  77. package/radio/examples/package.json +1 -1
  78. package/scss/theme.scss +2 -0
  79. package/sidebar/examples/package.json +1 -1
  80. package/tree/examples/package.json +1 -1
  81. package/tree/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design.mjs","sources":["../../../libs/design/src/core/article-encapsulated/article-encapsulated-mixin.ts","../../../libs/design/src/core/colorable/colorable-enum.ts","../../../libs/design/src/core/colorable/color-in-palette.ts","../../../libs/design/src/core/colorable/colorable-mixin.ts","../../../libs/design/src/core/prefix-suffix/prefix.directive.ts","../../../libs/design/src/core/prefix-suffix/suffix.directive.ts","../../../libs/design/src/core/prefix-suffix/prefix-suffix.module.ts","../../../libs/design/src/core/prefix-suffix/suffixable/suffixable.ts","../../../libs/design/src/core/prefix-suffix/prefixable/prefixable.ts","../../../libs/design/src/core/sizeable/sizeable-mixin.ts","../../../libs/design/src/core/statusable/statusable-mixin.ts","../../../libs/design/src/atoms/loading-icon/loading-icon.component.ts","../../../libs/design/src/atoms/loading-icon/loading-icon.component.html","../../../libs/design/src/atoms/button/button.component.ts","../../../libs/design/src/atoms/button/button.component.html","../../../libs/design/src/atoms/loading-icon/loading-icon.module.ts","../../../libs/design/src/atoms/button/button.module.ts","../../../libs/design/src/atoms/form/core/error-state-matcher/error-state-matcher.ts","../../../libs/design/src/atoms/form/error-message/error-message.component.ts","../../../libs/design/src/atoms/form/error-message/error-message.module.ts","../../../libs/design/src/atoms/form/form-field/form-field-control.ts","../../../libs/design/src/atoms/form/form-field/form-field-errors.ts","../../../libs/design/src/atoms/form/form-field/form-field/form-field.component.ts","../../../libs/design/src/atoms/form/form-field/form-field/form-field.component.html","../../../libs/design/src/atoms/form/form-field/form-field.module.ts","../../../libs/design/src/core/skeletonable/skeletonable-mixin.ts","../../../libs/design/src/molecules/media-gallery/media-gallery-token.ts","../../../libs/design/src/molecules/media-gallery/registry/media-gallery.registry.ts","../../../libs/design/src/molecules/media-gallery/media-renderer/media-renderer.component.ts","../../../libs/design/src/molecules/media-gallery/media-renderer/media-renderer.component.html","../../../libs/design/src/molecules/media-gallery/media-gallery.component.ts","../../../libs/design/src/molecules/media-gallery/media-gallery.component.html","../../../libs/design/src/molecules/media-gallery/thumbnail/thumbnail-compat.token.ts","../../../libs/design/src/molecules/media-gallery/thumbnail/thumbnail.directive.ts","../../../libs/design/src/molecules/media-gallery/media-gallery.module.ts","../../../libs/design/src/atoms/image/image.component.ts","../../../libs/design/src/atoms/image/image.component.html","../../../libs/design/src/atoms/image/image.module.ts","../../../libs/design/src/atoms/form/input/input.component.ts","../../../libs/design/src/atoms/form/input/input.module.ts","../../../libs/design/src/atoms/form/native-select/native-select.component.ts","../../../libs/design/src/atoms/form/native-select/native-select.module.ts","../../../libs/design/src/atoms/form/checkbox/checkbox.component.ts","../../../libs/design/src/atoms/form/checkbox/checkbox.component.html","../../../libs/design/src/atoms/form/checkbox-set/checkbox-set.component.ts","../../../libs/design/src/atoms/form/checkbox-set/checkbox-set.component.html","../../../libs/design/src/atoms/form/checkbox/cva/checkbox-cva.directive.ts","../../../libs/design/src/atoms/form/checkbox/checkbox.module.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-input/quantity-input.component.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-input/quantity-input.component.html","../../../libs/design/src/atoms/form/quantity-field/quantity-select/quantity-select.component.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-select/quantity-select.component.html","../../../libs/design/src/atoms/form/quantity-field/quantity-field.component.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-field.component.html","../../../libs/design/src/atoms/form/quantity-field/quantity-field.module.ts","../../../libs/design/src/atoms/container/container.component.ts","../../../libs/design/src/atoms/container/container.module.ts","../../../libs/design/src/atoms/progress-indicator/animation/progress-indicator-animation.ts","../../../libs/design/src/atoms/progress-indicator/progress-indicator.component.ts","../../../libs/design/src/atoms/progress-indicator/progress-indicator.component.html","../../../libs/design/src/atoms/progress-indicator/progress-indicator.module.ts","../../../libs/design/src/atoms/form/radio-set/radio-set.component.ts","../../../libs/design/src/atoms/form/radio-set/radio-set.component.html","../../../libs/design/src/atoms/form/radio/radio.component.ts","../../../libs/design/src/atoms/form/radio/radio.html","../../../libs/design/src/atoms/form/radio/registry/radio-registry.ts","../../../libs/design/src/atoms/form/radio/cva/radio-cva.directive.ts","../../../libs/design/src/atoms/form/radio/radio.module.ts","../../../libs/design/src/atoms/form/form-label/form-label.directive.ts","../../../libs/design/src/atoms/form/form-label/form-label.module.ts","../../../libs/design/src/molecules/accordion/accordion-item-content/accordion-item-content.directive.ts","../../../libs/design/src/molecules/accordion/accordion-item-title/accordion-item-title.directive.ts","../../../libs/design/src/molecules/accordion/animation/accordion-animation.ts","../../../libs/design/src/molecules/accordion/animation/accordion-animation-state.ts","../../../libs/design/src/molecules/accordion/accordion-item/accordion-item.component.ts","../../../libs/design/src/molecules/accordion/accordion-item/accordion-item.component.html","../../../libs/design/src/molecules/accordion/accordion/accordion.component.ts","../../../libs/design/src/molecules/accordion/accordion/accordion.component.html","../../../libs/design/src/molecules/accordion/nav-accordion-item/nav-accordion-item.component.ts","../../../libs/design/src/molecules/accordion/nav-accordion-item/nav-accordion-item.component.html","../../../libs/design/src/molecules/accordion/accordion.module.ts","../../../libs/design/src/molecules/article/article/article.component.ts","../../../libs/design/src/molecules/article/article-lead/article-lead.directive.ts","../../../libs/design/src/molecules/article/article-meta/article-meta.directive.ts","../../../libs/design/src/molecules/article/article-title/article-title.directive.ts","../../../libs/design/src/molecules/article/article.module.ts","../../../libs/design/src/molecules/backdrop/animation/backdrop-animation.ts","../../../libs/design/src/molecules/backdrop/animation/backdrop-animation-state.ts","../../../libs/design/src/molecules/backdrop/backdrop/backdrop.component.ts","../../../libs/design/src/molecules/backdrop/backdrop/backdrop.component.html","../../../libs/design/src/molecules/backdrop/backdrop.module.ts","../../../libs/design/src/molecules/button-set/button-set.component.ts","../../../libs/design/src/molecules/button-set/button-set.module.ts","../../../libs/design/src/molecules/image-list/image-list.component.ts","../../../libs/design/src/molecules/image-gallery/image-gallery/image-gallery.component.ts","../../../libs/design/src/molecules/image-gallery/image-gallery/image-gallery.component.html","../../../libs/design/src/molecules/image-gallery/gallery-image/gallery-image.component.ts","../../../libs/design/src/molecules/image-gallery/gallery-image/gallery-image.component.html","../../../libs/design/src/molecules/image-list/image-list.module.ts","../../../libs/design/src/molecules/image-gallery/image-gallery.module.ts","../../../libs/design/src/molecules/link-set/link-set/link-set.component.ts","../../../libs/design/src/molecules/link-set/link-set-heading/link-set-heading.directive.ts","../../../libs/design/src/molecules/link-set/link-set-item/link-set-item.component.ts","../../../libs/design/src/molecules/link-set/link-set-subheading/link-set-subheading.directive.ts","../../../libs/design/src/molecules/link-set/link-set.module.ts","../../../libs/design/src/molecules/list/list-item/list-item.component.ts","../../../libs/design/src/molecules/list/list-item/list-item.component.html","../../../libs/design/src/molecules/list/list-subheader/list-subheader.directive.ts","../../../libs/design/src/molecules/list/list/list.component.ts","../../../libs/design/src/molecules/list/list.module.ts","../../../libs/design/src/molecules/menu/helpers/create-overlay.ts","../../../libs/design/src/molecules/menu/service/menu.service.ts","../../../libs/design/src/molecules/menu/menu-activator/menu-activator.component.ts","../../../libs/design/src/molecules/menu/menu-item/menu-item.component.ts","../../../libs/design/src/molecules/menu/menu-item/menu-item.component.html","../../../libs/design/src/core/focus/focusable-elements.ts","../../../libs/design/src/molecules/menu/menu/menu.component.ts","../../../libs/design/src/molecules/menu/menu.module.ts","../../../libs/design/src/molecules/modal/animations/modal-animation.ts","../../../libs/design/src/molecules/modal/animations/modal-animation-state.ts","../../../libs/design/src/molecules/modal/modal/modal.component.ts","../../../libs/design/src/molecules/modal/modal/modal.component.html","../../../libs/design/src/molecules/modal/modal-actions/modal-actions.component.ts","../../../libs/design/src/molecules/modal/modal-content/modal-content.component.ts","../../../libs/design/src/molecules/modal/modal-header/modal-header.component.ts","../../../libs/design/src/molecules/modal/modal-title/modal-title.directive.ts","../../../libs/design/src/molecules/modal/modal.module.ts","../../../libs/design/src/molecules/modal/service/modal.service.ts","../../../libs/design/src/core/manage-container-layout/manage-container-layout-mixin.ts","../../../libs/design/src/molecules/navbar/navbar.component.ts","../../../libs/design/src/molecules/navbar/navbar.module.ts","../../../libs/design/src/molecules/paginator/paginator-errors.ts","../../../libs/design/src/molecules/paginator/paginator.component.ts","../../../libs/design/src/molecules/paginator/paginator.component.html","../../../libs/design/src/molecules/paginator/paginator.module.ts","../../../libs/design/src/molecules/qty-dropdown/qty-dropdown.component.ts","../../../libs/design/src/molecules/qty-dropdown/qty-dropdown.component.html","../../../libs/design/src/molecules/qty-dropdown/qty-dropdown.module.ts","../../../libs/design/src/molecules/sidebar/animation/sidebar-animation.ts","../../../libs/design/src/molecules/sidebar/animation/sidebar-animation-state.ts","../../../libs/design/src/molecules/sidebar/animation/sidebar-animation-width.ts","../../../libs/design/src/molecules/sidebar/sidebar/sidebar.component.ts","../../../libs/design/src/molecules/sidebar/sidebar-viewport/backdrop-interactable.ts","../../../libs/design/src/molecules/sidebar/sidebar-viewport/content-pad.ts","../../../libs/design/src/molecules/sidebar/sidebar-viewport/content-shift.ts","../../../libs/design/src/molecules/sidebar/sidebar-viewport/sidebar-viewport.component.ts","../../../libs/design/src/molecules/sidebar/sidebar-viewport/sidebar-viewport.component.html","../../../libs/design/src/molecules/sidebar/sidebar.module.ts","../../../libs/design/src/molecules/hero/hero-body/hero-body.directive.ts","../../../libs/design/src/molecules/hero/hero-icon/hero-icon.directive.ts","../../../libs/design/src/molecules/hero/hero-subtitle/hero-subtitle.directive.ts","../../../libs/design/src/molecules/hero/hero-tagline/hero-tagline.directive.ts","../../../libs/design/src/molecules/hero/hero-title/hero-title.directive.ts","../../../libs/design/src/core/compactable/compactable-mixin.ts","../../../libs/design/src/core/text-alignable/text-alignable-mixin.ts","../../../libs/design/src/molecules/hero/hero/hero.component.ts","../../../libs/design/src/molecules/hero/hero.module.ts","../../../libs/design/src/molecules/callout/callout-body/callout-body.directive.ts","../../../libs/design/src/molecules/callout/callout-icon/callout-icon.directive.ts","../../../libs/design/src/molecules/callout/callout-subtitle/callout-subtitle.directive.ts","../../../libs/design/src/molecules/callout/callout-tagline/callout-tagline.directive.ts","../../../libs/design/src/molecules/callout/callout-title/callout-title.directive.ts","../../../libs/design/src/molecules/callout/callout/callout.component.ts","../../../libs/design/src/molecules/callout/callout.module.ts","../../../libs/design/src/molecules/feature/feature-icon/feature-icon.directive.ts","../../../libs/design/src/molecules/feature/feature-subheader/feature-subheader.directive.ts","../../../libs/design/src/molecules/feature/feature-subtitle/feature-subtitle.directive.ts","../../../libs/design/src/molecules/feature/feature-title/feature-title.directive.ts","../../../libs/design/src/molecules/feature/feature/feature.component.ts","../../../libs/design/src/molecules/feature/feature/feature.component.html","../../../libs/design/src/molecules/feature/feature.module.ts","../../../libs/design/src/molecules/card/card-actions/card-actions.directive.ts","../../../libs/design/src/molecules/card/card-content/card-content.directive.ts","../../../libs/design/src/molecules/card/card-icon/card-icon.directive.ts","../../../libs/design/src/molecules/card/card-image/card-image.directive.ts","../../../libs/design/src/molecules/card/card-tagline/card-tagline.directive.ts","../../../libs/design/src/molecules/card/card-title/card-title.directive.ts","../../../libs/design/src/molecules/card/card/card.component.ts","../../../libs/design/src/molecules/card/card/card.component.html","../../../libs/design/src/molecules/card/card.module.ts","../../../libs/design/src/core/breakpoints/breakpoints.ts","../../../libs/design/src/core/constructor/constructor.ts","../../../libs/design/src/core/statusable/statusable.ts","../../../libs/design/src/core/text-alignable/text-alignable.ts","../../../libs/design/src/core/theming/types/theme.ts","../../../libs/design/src/core/theming/functions/computer.ts","../../../libs/design/src/core/theming/services/os-theme/ostheme.service.ts","../../../libs/design/src/core/theming/services/storage/theme-storage.service.ts","../../../libs/design/src/core/theming/services/theming.service.ts","../../../libs/design/src/core/theming/services/class-setter/theme-class-setter.service.ts","../../../libs/design/src/core/theming/initializer.ts","../../../libs/design/src/core/public_api.ts","../../../libs/design/src/public_api.ts","../../../libs/design/src/daffodil-design.ts"],"sourcesContent":["import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\n/**\n * A mixin for giving a component the ability to prevent article styles from cascading down.\n */\nexport function\ndaffArticleEncapsulatedMixin<T extends Constructor<HasElementRef>>(Base: T) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n this._renderer.addClass(this._elementRef.nativeElement, `daff-ae`);\n }\n };\n}\n","export enum DaffPaletteEnum {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n ACCENT = 'accent', //TODO: damienwebdev Deprecate accent\n TERTIARY = 'tertiary',\n BLACK = 'black',\n WHITE = 'white',\n THEME = 'theme',\n THEMECONTRAST = 'theme-contrast'\n}\n","import { DaffPaletteEnum } from './colorable-enum';\n\nexport function colorInPalette(color: string): boolean{\n return (<any>Object).values(DaffPaletteEnum).includes(color);\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\nimport { colorInPalette } from './color-in-palette';\nimport { DaffPalette } from './colorable';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\n/**\n * This should be a trait, but typescript only supports mixins.\n * See: https://github.com/Microsoft/TypeScript/issues/311\n *\n * Turns out the material team followed the same path with the color mixin.\n * https://github.com/angular/material2/blob/master/src/lib/core/common-behaviors/color.ts\n */\nexport function\ndaffColorMixin<T extends Constructor<HasElementRef>>(Base: T, defaultColor?: DaffPalette) {\n class DaffColorableMixinClass extends Base {\n //TODO move this back to private in Typescript 3.1\n _color: DaffPalette;\n\n get color(): DaffPalette{\n return this._color;\n }\n set color(value: DaffPalette) {\n //Handle the default color\n const incomingColor = value || defaultColor;\n\n if(incomingColor !== undefined && !colorInPalette(incomingColor)){\n throw new TypeError(incomingColor + ' is not a valid color for the DaffPalette');\n }\n\n if(incomingColor !== this._color){ //Only run the dom-render if a change occurs\n //Remove the old color\n if(this._color){\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._color}`);\n }\n\n if(incomingColor){\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingColor}`);\n }\n\n this._color = incomingColor;\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.color = defaultColor;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffColorableMixinClass.prototype, 'color');\n\n return DaffColorableMixinClass;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n *\n * Prefix can be used to place content before another piece of content in components like\n * `daff-form-field`, `daff-solo-field`, and `daff-list`.\n */\n@Directive({\n selector: '[daffPrefix]',\n})\n\nexport class DaffPrefixDirective {\n\n @HostBinding('class.daff-prefix') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n *\n * Prefix can be used to place content after another piece of content in components like\n * `daff-form-field`, `daff-solo-field`, and `daff-list`.\n */\n@Directive({\n selector: '[daffSuffix]',\n})\n\nexport class DaffSuffixDirective {\n\n @HostBinding('class.daff-suffix') class = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffPrefixDirective } from './prefix.directive';\nimport { DaffSuffixDirective } from './suffix.directive';\n\n@NgModule({\n imports: [],\n exports: [\n DaffPrefixDirective,\n DaffSuffixDirective,\n ],\n declarations: [\n DaffPrefixDirective,\n DaffSuffixDirective,\n ],\n})\nexport class DaffPrefixSuffixModule {}\n","import {\n ContentChild,\n Directive,\n} from '@angular/core';\n\nimport { Constructor } from '../../../core/public_api';\nimport { DaffSuffixDirective } from '../suffix.directive';\n\n/**\n * A mixin for giving a component the ability to place content after another piece of content.\n */\nexport function daffSuffixableMixin<T extends Constructor>(Base: T) {\n @Directive()\n class SuffixableDirective extends Base {\n\n @ContentChild(DaffSuffixDirective, { static: true }) _suffix: DaffSuffixDirective;\n\n constructor(...args: any[]) {\n super(...args);\n }\n }\n\n return SuffixableDirective;\n}\n","import {\n ContentChild,\n Directive,\n} from '@angular/core';\n\nimport { Constructor } from '../../../core/public_api';\nimport { DaffPrefixDirective } from '../prefix.directive';\n\n/**\n * A mixin for giving a component the ability to place content before another piece of content.\n */\nexport function daffPrefixableMixin<T extends Constructor>(Base: T) {\n @Directive()\n class PrefixableDirective extends Base {\n\n @ContentChild(DaffPrefixDirective, { static: true }) _prefix: DaffPrefixDirective;\n\n constructor(...args: any[]) {\n super(...args);\n }\n }\n\n return PrefixableDirective;\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\nimport { DaffSizeAllType } from './sizeable';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffSizeMixin<V extends DaffSizeAllType, T extends Constructor<HasElementRef> = Constructor<HasElementRef>>(Base: T, defaultSize?: V) {\n class DaffSizeMixinClass extends Base {\n //TODO move this back to private in Typescript 3.1\n _size: V;\n\n get size(): V{\n return this._size;\n }\n set size(value: V) {\n // Handles the default size\n const incomingSize = value || defaultSize;\n\n if(incomingSize !== this._size){ //Only run the dom-render if a change occurs\n //Remove the old size\n if(this._size){\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._size}`);\n }\n\n if(incomingSize){\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingSize}`);\n }\n\n this._size = incomingSize;\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.size = defaultSize;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffSizeMixinClass.prototype, 'size');\n\n return DaffSizeMixinClass;\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\nimport { DaffStatus } from './statusable';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffStatusMixin<T extends Constructor<HasElementRef>>(Base: T, defaultStatus?: DaffStatus) {\n class DaffStatusMixinClass extends Base {\n // TODO move this back to private in Typescript 3.1\n _status: DaffStatus;\n\n get status(): DaffStatus {\n return this._status;\n }\n\n set status(value: DaffStatus) {\n // Handles the default status\n const incomingStatus = value || defaultStatus;\n\n if (incomingStatus === this._status) { // Only run the dom-render if a change occurs\n return;\n }\n\n // Removes the old status\n if (this._status) {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._status}`);\n }\n\n if (incomingStatus) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingStatus}`);\n }\n\n this._status = incomingStatus;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.status = defaultStatus;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffStatusMixinClass.prototype, 'status');\n\n return DaffStatusMixinClass;\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n Input,\n ElementRef,\n Renderer2,\n HostBinding,\n} from '@angular/core';\n\nimport {\n daffColorMixin,\n DaffColorable,\n} from '../../core/colorable/public_api';\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the Colorable mixin\n */\nclass DaffLoadingIconBase{\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffLoadingIconBase = daffColorMixin(DaffLoadingIconBase);\n\n/**\n * @inheritdoc\n */\n@Component({\n selector: 'daff-loading-icon',\n templateUrl: './loading-icon.component.html',\n styleUrls: ['./loading-icon.component.scss'],\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffLoadingIconComponent extends _daffLoadingIconBase implements DaffColorable {\n\n /**\n * The (pixel) diameter of the animation\n */\n @Input() diameter = 60;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-loading-icon') class = true;\n /**\n * @docs-private\n */\n @HostBinding('style.max-width') get maxWidth() {\n\t return this.diameter + 'px';\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n}\n","<svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 100 100\">\n <circle cx=\"50%\" cy=\"50%\" r=\"46\"></circle>\n</svg>","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n OnInit,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ElementRef,\n HostBinding,\n Renderer2,\n Input,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../core/article-encapsulated/public_api';\nimport {\n daffColorMixin,\n DaffColorable,\n} from '../../core/colorable/public_api';\nimport {\n DaffPrefixable,\n DaffSuffixable,\n daffPrefixableMixin,\n daffSuffixableMixin,\n} from '../../core/prefix-suffix/public_api';\nimport {\n DaffSizeable,\n DaffSizeSmallType,\n DaffSizeMediumType,\n DaffSizeLargeType,\n} from '../../core/sizeable/sizeable';\nimport { daffSizeMixin } from '../../core/sizeable/sizeable-mixin';\nimport { DaffStatusable } from '../../core/statusable/statusable';\nimport { daffStatusMixin } from '../../core/statusable/statusable-mixin';\n\n/**\n * List of classes to add to DaffButtonComponent instances based on host attributes to style as different variants.\n */\nconst BUTTON_HOST_ATTRIBUTES: DaffButtonType[] = [\n 'daff-button',\n 'daff-stroked-button',\n 'daff-raised-button',\n 'daff-flat-button',\n 'daff-icon-button',\n 'daff-underline-button',\n];\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the button mixins\n */\nclass DaffButtonBase{\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffButtonBase = daffArticleEncapsulatedMixin(daffPrefixableMixin(daffSuffixableMixin(daffColorMixin(daffStatusMixin(daffSizeMixin<DaffButtonSize>(DaffButtonBase, 'md'))))));\n\nexport type DaffButtonType = 'daff-button' | 'daff-stroked-button' | 'daff-raised-button' | 'daff-flat-button' | 'daff-icon-button' | 'daff-underline-button' | undefined;\n\n/**\n * The DaffSizeable types that the DaffButtonComponent can implement\n */\nexport type DaffButtonSize = DaffSizeSmallType | DaffSizeMediumType | DaffSizeLargeType;\n\nenum DaffButtonTypeEnum {\n Default = 'daff-button',\n Stroked = 'daff-stroked-button',\n Raised = 'daff-raised-button',\n Flat = 'daff-flat-button',\n Icon = 'daff-icon-button',\n Underline = 'daff-underline-button'\n}\n\n/**\n * @inheritdoc\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '' +\n 'button[daff-button]' + ',' +\n 'button[daff-stroked-button]' + ',' +\n 'button[daff-raised-button]' + ',' +\n 'button[daff-flat-button]' + ',' +\n 'button[daff-icon-button]' + ',' +\n 'button[daff-underline-button]' + ',' +\n 'a[daff-button]' + ',' +\n 'a[daff-stroked-button]' + ',' +\n 'a[daff-raised-button]' + ',' +\n 'a[daff-flat-button]' + ',' +\n 'a[daff-icon-button]' + ',' +\n 'a[daff-underline-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'size', 'status'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffButtonComponent\n extends _daffButtonBase\n implements OnInit, DaffPrefixable, DaffSuffixable, DaffColorable, DaffSizeable<DaffButtonSize>, DaffStatusable {\n\n private buttonType: DaffButtonType;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n\n for (const attr of BUTTON_HOST_ATTRIBUTES) {\n if (this._hasHostAttributes(attr)) {\n (<HTMLElement>elementRef.nativeElement).classList.add(attr);\n }\n }\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n for (const attr of BUTTON_HOST_ATTRIBUTES) {\n if (this._hasHostAttributes(attr)) {\n this.buttonType = attr;\n }\n }\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-button') get button() {\n return this.buttonType === DaffButtonTypeEnum.Default || this.buttonType === undefined;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-stroked-button') get stroked() {\n return this.buttonType === DaffButtonTypeEnum.Stroked;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-raised-button') get raised() {\n return this.buttonType === DaffButtonTypeEnum.Raised;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-flat-button') get flat() {\n return this.buttonType === DaffButtonTypeEnum.Flat;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-icon-button') get icon() {\n return this.buttonType === DaffButtonTypeEnum.Icon;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-underline-button') get underline() {\n return this.buttonType === DaffButtonTypeEnum.Underline;\n }\n\n @HostBinding('class.daff-button--disabled') get disabledClass() {\n\t return this.disabled;\n }\n\n @Input() loading = false;\n @Input() tabindex = 0;\n\n _disabled = false;\n\n /**\n * The disabled state of the button.\n */\n @Input() get disabled() {\n\t return this._disabled || this.loading;\n }\n set disabled(value: any) {\n\t this._disabled = coerceBooleanProperty(value);\n }\n\n @HostBinding('attr.disabled') get disabledAttribute() {\n\t return this.disabled ? true : null;\n }\n\n @HostBinding('attr.aria-disabled') get ariaDisabled() {\n\t return this.disabled ? true : null;\n }\n\n @HostBinding('attr.tabindex') get disabledTabIndex() {\n\t return this.disabled ? -1 : this.tabindex;\n }\n\n private _getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * Gets whether the button has one of the given attributes.\n * */\n private _hasHostAttributes(...attributes: string[]) {\n return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));\n }\n}\n","<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<span class=\"daff-button__content\" *ngIf=\"!loading\"><ng-content></ng-content></span>\n<daff-loading-icon *ngIf=\"loading\" [diameter]=\"24\"></daff-loading-icon>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffLoadingIconComponent } from './loading-icon.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffLoadingIconComponent,\n ],\n exports: [\n DaffLoadingIconComponent,\n ],\n})\nexport class DaffLoadingIconModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffPrefixSuffixModule } from '../../core/prefix-suffix/prefix-suffix.module';\nimport { DaffLoadingIconModule } from '../loading-icon/loading-icon.module';\nimport { DaffButtonComponent } from './button.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n DaffPrefixSuffixModule,\n DaffLoadingIconModule,\n ],\n declarations: [\n DaffButtonComponent,\n ],\n exports: [\n DaffButtonComponent,\n DaffPrefixSuffixModule,\n ],\n})\nexport class DaffButtonModule { }\n","import { FormControl } from '@angular/forms';\n\nexport class DaffErrorStateMatcher {\n\n isErrorState(control: FormControl, formSubmitted: boolean): boolean {\n return control.errors && (control.touched || formSubmitted);\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-error-message',\n template: '<ng-content></ng-content>',\n styleUrls: ['./error-message.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffErrorMessageComponent {\n @HostBinding('class.daff-error-message') class = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffErrorMessageComponent } from './error-message.component';\n\n@NgModule({\n exports: [\n DaffErrorMessageComponent,\n ],\n declarations: [\n DaffErrorMessageComponent,\n ],\n})\nexport class DaffErrorMessageModule { }\n","import { NgControl } from '@angular/forms';\n\n/**\n *\n * The class that a form control must **implement** in order to be\n * used with the DaffFormFieldComponent.\n *\n * You may ask: \"Why are you implementing an abstract class, not extending it?\"\n * We do this so that the Angular DI container can match the class token. A typical\n * interface would be \"more accurate\" here, but since interfaces don't exist\n * in javascript, they get thrown out by the typescript compiler and cannot\n * be used for the necessary dependency injection.\n */\nexport abstract class DaffFormFieldControl {\n readonly ngControl: NgControl | null;\n\n readonly controlType?: any;\n\n readonly focused: boolean;\n\n abstract focus(event?: Event): void;\n};\n","export const DaffFormFieldMissingControlMessage = 'A DaffFormFieldComponent must contain a DaffFormFieldControl';\n","import {\n Component,\n ViewEncapsulation,\n DoCheck,\n ContentChild,\n Input,\n AfterContentInit,\n AfterContentChecked,\n HostBinding,\n} from '@angular/core';\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffFormFieldControl } from '../form-field-control';\nimport { DaffFormFieldMissingControlMessage } from '../form-field-errors';\n\n// ChangeDetection is ignored because this component needs to be refactored\n// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n@Component({\n selector: 'daff-form-field',\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DaffFormFieldComponent implements DoCheck, AfterContentInit, AfterContentChecked {\n\n /**\n * @docs-private\n */\n faChevronDown = faChevronDown;\n\n @HostBinding('class.daff-form-field') class = true;\n\n /**\n * The tracking property used to determine if the parent form has been submitted,\n * and thus show an error message (even if the field hasn't been touched).\n *\n * @deprecated\n */\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n @Input() formSubmitted: boolean = false;\n\n /**\n * The child form control that the form-field manages\n *\n * @docs-private\n */\n @ContentChild(DaffFormFieldControl) _control: DaffFormFieldControl;\n\n /**\n * Tracking property to keep a record of whether or not the\n * form field should be marked as error.\n */\n isError = false;\n\n /**\n * Tracking property to keep a record of whether or not the\n * form field should be marked as valid.\n */\n isValid = false;\n\n /**\n * @docs\n *\n * Determines whether or not the form field should display its focused state.\n */\n get isFocused() {\n return this._control?.focused;\n }\n\n /**\n * Keeps the state of the form field consistent with its child DaffFormControl\n *\n * TODO: consider whether or not this can be refactored to some kind of\n * observable to remove unnecessary change detection.\n *\n * @docs-private\n */\n ngDoCheck() {\n if(this._control?.ngControl) {\n this.isError = this._control.ngControl.errors && (this._control.ngControl.touched);\n this.isValid = !this._control.ngControl.errors && this._control.ngControl.touched;\n }\n }\n\n /**\n * Validate whether or not the FormField is in\n * a \"usable\" state.\n */\n private _validateFormControl() {\n if (!this._control) {\n throw new Error(DaffFormFieldMissingControlMessage);\n }\n }\n\n /**\n * Life cycle hook to verify that the form field has an acceptable\n * child control instance. Mostly useful for development-time\n * validation of usage.\n *\n * @docs-private\n */\n ngAfterContentInit() {\n this._validateFormControl();\n }\n\n /**\n * Life cycle hook to verify that the form field has an acceptable\n * child control instance. Mostly useful for development-time\n * validation of usage.\n *\n * @docs-private\n */\n ngAfterContentChecked() {\n this._validateFormControl();\n }\n}\n","<div class=\"daff-form-field__control\" [class.daff-error]=\"isError\" [class.daff-valid]=\"isValid\" [class.daff-focus]=\"isFocused\">\n <ng-content></ng-content>\n <div class=\"daff-form-field__icon\" *ngIf=\"_control.controlType === 'native-select'\">\n <fa-icon [icon]=\"faChevronDown\"></fa-icon>\n </div>\n</div>\n<ng-content select=\"daff-error-message\"></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffErrorMessageModule } from '../error-message/error-message.module';\nimport { DaffFormFieldComponent } from './form-field/form-field.component';\n\n@NgModule({\n imports: [\n CommonModule,\n\n FontAwesomeModule,\n DaffErrorMessageModule,\n ],\n exports: [\n DaffFormFieldComponent,\n DaffErrorMessageModule,\n ],\n declarations: [\n DaffFormFieldComponent,\n ],\n})\nexport class DaffFormFieldModule { }\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffSkeletonableMixin<T extends Constructor<HasElementRef>>(Base: T, defaultSkeleton: boolean = false) {\n return class extends Base {\n // TODO move this back to private in Typescript 3.1\n _skeleton: boolean;\n\n get skeleton(): boolean {\n return this._skeleton;\n }\n\n set skeleton(value: boolean) {\n // Handles the default skeleton\n const incomingSkeleton = value || defaultSkeleton;\n\n if (incomingSkeleton === this._skeleton) { // Only run the dom-render if a change occurs\n return;\n }\n\n if (incomingSkeleton) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-skeleton`);\n } else {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-skeleton`);\n }\n\n this._skeleton = incomingSkeleton;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.skeleton = defaultSkeleton;\n }\n };\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { DaffMediaGalleryRegistration } from './media-gallery-registration.interface';\n\nexport const DAFF_MEDIA_GALLERY_TOKEN = new InjectionToken<DaffMediaGalleryRegistration>('DAFF_MEDIA_GALLERY_TOKEN');\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { DaffMediaGalleryRegistration } from '../media-gallery-registration.interface';\nimport { DaffThumbnailRegistration } from '../thumbnail/thumbnail-registration.interface';\n\nexport interface DaffMediaGalleryDict {\n [galleryName: string]: BehaviorSubject<DaffMediaGallery>;\n}\n\nexport interface DaffMediaGallery {\n gallery: DaffMediaGalleryRegistration;\n thumbnails: DaffThumbnailRegistration[];\n}\n\nexport const isGallery = (element: DaffThumbnailRegistration | DaffMediaGalleryRegistration): element is DaffMediaGalleryRegistration => !('gallery' in element);\n\n@Injectable({ providedIn: 'root' })\nexport class DaffMediaGalleryRegistry {\n galleries: DaffMediaGalleryDict = {};\n\n /**\n * @description\n * Adds a media element to the internal registry.\n */\n add(gallery: DaffMediaGalleryRegistration, thumbnail?: DaffThumbnailRegistration) {\n\t if(this.galleries[gallery.name]) {\n\t let newGallery = this.galleries[gallery.name].getValue();\n\n\t if(thumbnail) {\n\t newGallery = {\n\t ...newGallery,\n\t thumbnails: [\n\t ...newGallery.thumbnails.filter(t => t !== thumbnail),\n\t thumbnail,\n\t ],\n\t };\n\t }\n\n\t this.galleries[gallery.name].next(newGallery);\n\t } else {\n\t this.galleries[gallery.name] = new BehaviorSubject({\n\t gallery,\n\t thumbnails: thumbnail ? [thumbnail] : [],\n\t });\n\t }\n\n\t if(this.galleries[gallery.name].getValue().thumbnails.length === 1) {\n\t thumbnail.select();\n\t }\n }\n\n /**\n * @description\n * Removes a thumbnail or gallery from the internal registry.\n */\n remove(element: DaffThumbnailRegistration | DaffMediaGalleryRegistration) {\n\t if(isGallery(element)) {\n\t this.removeGallery(element);\n\t } else {\n\t this.removeThumbnail(element);\n\t }\n }\n\n private removeThumbnail(thumbnail: DaffThumbnailRegistration) {\n\t if(!this.galleries[thumbnail.gallery.name]) {\n\t return;\n\t }\n\t const gallery = this.galleries[thumbnail.gallery.name].getValue();\n\t const index = gallery.thumbnails.indexOf(thumbnail);\n\n\t if(index === -1) {\n\t return;\n\t }\n\n\t this.galleries[thumbnail.gallery.name].next({\n\t ...gallery,\n\t thumbnails: [\n\t ...gallery.thumbnails.slice(0, index),\n\t ...gallery.thumbnails.slice(index + 1),\n\t ],\n\t });\n }\n\n private removeGallery(gallery: DaffMediaGalleryRegistration) {\n\t delete this.galleries[gallery.name];\n }\n\n /**\n * @description\n * Selects a media element for a given gallery.\n */\n select(thumbnail: DaffThumbnailRegistration) {\n\t if(!this.galleries[thumbnail.gallery.name]) {\n\t return;\n\t }\n\n\t const gallery = this.galleries[thumbnail.gallery.name].getValue();\n\t const index = gallery.thumbnails.indexOf(thumbnail);\n\n\t if(thumbnail.selected || index === -1){\n\t return;\n\t }\n\n\t this.galleries[thumbnail.gallery.name].next({\n\t ...gallery,\n\t thumbnails: [\n\t ...gallery.thumbnails.filter(m => m !== thumbnail).map(m => m.deselect()),\n\t thumbnail.select(),\n\t ],\n\t });\n }\n}\n","import {\n Component,\n OnInit,\n ComponentFactoryResolver,\n Type,\n ViewChild,\n ViewContainerRef,\n TemplateRef,\n ChangeDetectionStrategy,\n OnDestroy,\n Inject,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffMediaGalleryRegistration } from '../media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../media-gallery-token';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\n\n/**\n * Dynamically renders the selected `DaffThumbnailDirective` in a `daff-media-gallery` any time the selected thumbnail\n * changes.\n */\n@Component({\n selector: 'daff-media-renderer',\n templateUrl: './media-renderer.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffMediaRendererComponent implements OnInit, OnDestroy {\n\n /**\n * Private tracker for indicating when the component is destroyed.\n */\n private _destroy$ = new Subject();\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private registry: DaffMediaGalleryRegistry,\n @Inject(DAFF_MEDIA_GALLERY_TOKEN) private gallery: DaffMediaGalleryRegistration,\n ) {}\n\n /**\n * The slot that the \"component\" is rendered into.\n */\n @ViewChild(TemplateRef, { static: true, read: ViewContainerRef })\n slot: ViewContainerRef;\n\n ngOnInit() {\n this.registry.galleries[this.gallery.name]\n .pipe(takeUntil(this._destroy$))\n .subscribe((gallery) => {\n\n /**\n * Clear out the slot for the dynamically rendered thumbnail\n */\n this.slot.clear();\n\n const _selectedThumbnail = gallery.thumbnails.filter(media => media.selected).shift();\n\n /**\n * If there's no selected media, render nothing.\n */\n if(!_selectedThumbnail) {\n return;\n }\n\n const _selectedThumbnailComponent = _selectedThumbnail.component;\n\n /**\n * Create the component to insert.\n */\n const component = this.componentFactoryResolver.resolveComponentFactory(\n <Type<unknown>>_selectedThumbnailComponent.constructor,\n );\n const componentRef = this.slot.createComponent(component);\n\n /**\n * Fill the component with it's values from the original component\n */\n component.inputs.forEach(input => {\n componentRef.instance[input.propName] = _selectedThumbnailComponent[input.propName];\n });\n\n /**\n * Trigger a change detection on the component tree, outside the cycle to address\n * the fact that the component was created outside a typical CD loop.\n */\n componentRef.changeDetectorRef.detectChanges();\n });\n }\n\n /**\n * Used to unsubscribe from the dynamic component.\n */\n ngOnDestroy() {\n this._destroy$.next(true);\n this._destroy$.unsubscribe();\n }\n}\n\n","<ng-template></ng-template>\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n Input,\n OnInit,\n OnDestroy,\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../core/article-encapsulated/public_api';\nimport {\n daffSkeletonableMixin,\n DaffSkeletonable,\n} from '../../core/skeletonable/public_api';\nimport { DaffMediaGalleryRegistration } from './media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from './media-gallery-token';\nimport { DaffMediaGalleryRegistry } from './registry/media-gallery.registry';\n\nlet uniqueGalleryId = 0;\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the link set mixins\n */\nclass DaffMediaGalleryBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffMediaGalleryBase = daffSkeletonableMixin(daffArticleEncapsulatedMixin((DaffMediaGalleryBase)));\n\n@Component({\n selector: 'daff-media-gallery',\n templateUrl: './media-gallery.component.html',\n styleUrls: ['./media-gallery.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DAFF_MEDIA_GALLERY_TOKEN, useExisting: DaffMediaGalleryComponent },\n ],\n // todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['skeleton'],\n})\nexport class DaffMediaGalleryComponent extends _daffMediaGalleryBase implements DaffMediaGalleryRegistration, DaffSkeletonable, OnInit, OnDestroy {\n /**\n * Adds a class for styling the media gallery\n */\n @HostBinding('class.daff-media-gallery') class = true;\n\n /**\n * The name of the gallery\n */\n @Input() name = `${uniqueGalleryId}`;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private registry: DaffMediaGalleryRegistry,\n ) {\n\t \tsuper(elementRef, renderer);\n\t \tuniqueGalleryId++;\n }\n\n ngOnInit() {\n\t this.registry.add(this);\n }\n\n ngOnDestroy() {\n\t this.registry.remove(this);\n }\n}\n","<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>","import { InjectionToken } from '@angular/core';\n\n/**\n * A multi provider injection token that marks a component as renderable for the `DaffMediaRendererComponent`.\n */\nexport const daffThumbnailCompatToken = new InjectionToken<unknown>('thumbnailCompatToken');\n","import {\n Directive,\n Inject,\n Type,\n HostBinding,\n HostListener,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { DaffMediaGalleryRegistration } from '../media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../media-gallery-token';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\nimport { daffThumbnailCompatToken } from './thumbnail-compat.token';\nimport { DaffThumbnailRegistration } from './thumbnail-registration.interface';\n\n/**\n * A directive marking thumbnails for the `DaffMediaRendererComponent`. Needs to be wrapped in a `daff-media-gallery` component\n * and needs to be placed on a component that is provided as a `daffThumbnailCompatToken`.\n */\n@Directive({\n selector: '[daffThumbnail]',\n})\nexport class DaffThumbnailDirective implements OnInit, OnDestroy, DaffThumbnailRegistration {\n\n /**\n * Adds a class for styling a selected thumbnail\n */\n @HostBinding('class.daff-thumbnail--selected') get selectedClass() {\n return this.selected;\n };\n\n constructor(\n @Inject(daffThumbnailCompatToken) public component: Type<unknown>,\n private cd: ChangeDetectorRef,\n private registry: DaffMediaGalleryRegistry,\n @Inject(DAFF_MEDIA_GALLERY_TOKEN) public gallery: DaffMediaGalleryRegistration,\n ) {}\n\n /**\n * Adds a class for styling a thumbnail\n */\n @HostBinding('class.daff-thumbnail') class = true;\n\n /**\n * A prop for determining whether or not the media element is selected.\n */\n selected = false;\n\n /**\n * An event that fires after the media element becomes selected.\n */\n @Output() becameSelected: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Adds a click event to trigger selection of the media element.\n *\n * @param event: MouseEvent\n */\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n\t this.registry.select(this);\n }\n\n ngOnInit(): void {\n\t this.registry.add(this.gallery, this);\n }\n\n ngOnDestroy(): void {\n\t this.registry.remove(this);\n }\n\n select() {\n\t this.selected = true;\n\t this.becameSelected.emit();\n\t this.cd.markForCheck();\n\t return this;\n }\n\n deselect() {\n\t this.selected = false;\n\t this.cd.markForCheck();\n\t return this;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffMediaGalleryComponent } from './media-gallery.component';\nimport { DaffMediaRendererComponent } from './media-renderer/media-renderer.component';\nimport { DaffThumbnailDirective } from './thumbnail/thumbnail.directive';\n\n@NgModule({\n declarations: [\n DaffMediaGalleryComponent,\n DaffThumbnailDirective,\n DaffMediaRendererComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n DaffThumbnailDirective,\n DaffMediaGalleryComponent,\n ],\n})\nexport class DaffMediaGalleryModule {}\n","import {\n Component,\n ChangeDetectionStrategy,\n Input,\n EventEmitter,\n OnInit,\n ElementRef,\n Renderer2,\n Output,\n HostBinding,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport {\n daffSkeletonableMixin,\n DaffSkeletonable,\n} from '../../core/skeletonable/public_api';\nimport { daffThumbnailCompatToken } from '../../molecules/media-gallery/public_api';\n\nconst validateProperty = (object: Record<string, any>, prop: string) => {\n if (object[prop] === null || object[prop] === undefined || object[prop] === '') {\n throw new Error(`DaffImageComponent must have a defined ${prop} attribute.`);\n }\n};\n\nconst validateProperties = (object: Record<string, any>, props: string[]) => {\n const invalidProps = props.filter(prop => {\n try {\n validateProperty(object, prop);\n } catch(e) {\n return true;\n }\n return false;\n });\n\n if (invalidProps.length) {\n throw new Error(`DaffImageComponent must have the ${invalidProps.join(',')} attributes defined.`);\n }\n};\n\n/**\n * An _elementRef is needed for the GolfGhostable mixin\n */\nclass DaffImageBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) { }\n}\n\nconst _daffImageBase = daffSkeletonableMixin(DaffImageBase);\n\n@Component({\n selector: 'daff-image',\n templateUrl: './image.component.html',\n styleUrls: ['./image.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\t provide: daffThumbnailCompatToken, useExisting: DaffImageComponent,\n },\n ],\n // todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['skeleton'],\n})\nexport class DaffImageComponent extends _daffImageBase implements OnInit, DaffSkeletonable {\n\n private _src: string;\n\n @Input()\n get src(): string {\n\t return this._src;\n }\n set src(value: string) {\n this._src = value;\n validateProperty(this, 'src');\n }\n\n private _alt: string;\n\n @Input()\n get alt(): string {\n return this._alt;\n }\n set alt(value: string) {\n this._alt = value;\n validateProperty(this, 'alt');\n }\n\n private _width: number;\n\n @Input()\n get width(): number {\n return this._width;\n }\n set width(value: number) {\n this._width = value;\n validateProperty(this, 'width');\n }\n\n private _height: number;\n\n @Input()\n get height(): number {\n return this._height;\n }\n set height(value: number) {\n this._height = value;\n validateProperty(this, 'height');\n }\n\n // TODO: rename event to not collide with native event (unless that's intentional)\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() load: EventEmitter<void> = new EventEmitter();\n\n /**\n * @docs-private\n */\n ngOnInit(): void {\n\t validateProperties(this, ['src', 'alt', 'width', 'height']);\n }\n\n constructor(\n private sanitizer: DomSanitizer,\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) {\n\t super(elementRef, renderer);\n }\n\n /**\n * @docs-private\n */\n get _paddingTop(): any {\n\t if (!this.height || !this.width ) {\n\t return undefined;\n\t }\n\n\t return this.sanitizer.bypassSecurityTrustStyle('calc(' + this.height + ' / ' + this.width + ' * 100%)');\n }\n\n /**\n * @docs-private\n */\n @HostBinding('style.max-width') get maxWidth(): string {\n\t return this.width + 'px';\n }\n}\n","<div class=\"daff-image__wrapper\" [style.paddingTop]=\"_paddingTop\">\n\t<img [src]=\"src\" [alt]=\"alt\" (load)=\"load.emit\" loading=\"lazy\"/>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffImageComponent } from './image.component';\n\n@NgModule({\n declarations: [\n DaffImageComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n DaffImageComponent,\n ],\n entryComponents: [\n DaffImageComponent,\n ],\n})\nexport class DaffImageModule { }\n","import {\n Component,\n Input,\n Optional,\n Self,\n ElementRef,\n HostListener,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffFormFieldControl } from '../form-field/form-field-control';\n\n/**\n * DaffInputComponent provides the same functionality as a native `<input>` and contains custom styling and functionality.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input[daff-input]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DaffFormFieldControl, useExisting: DaffInputComponent },\n ],\n})\nexport class DaffInputComponent implements DaffFormFieldControl {\n\n /**\n * Has the form been submitted.\n */\n @Input() formSubmitted: boolean;\n\n focused = false;\n\n /**\n * @docs-private\n */\n @HostListener('focus') focus() {\n this.focused = true;\n }\n\n /**\n * @docs-private\n */\n @HostListener('blur') blur() {\n this.focused = false;\n }\n\n constructor(\n /**\n * @docs-private\n */\n @Optional() @Self() public ngControl: NgControl,\n private _elementRef: ElementRef<HTMLInputElement>,\n ) {}\n\n onFocus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffInputComponent } from './input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n DaffInputComponent,\n ],\n declarations: [\n DaffInputComponent,\n ],\n})\nexport class DaffInputModule { }\n","import {\n Component,\n ViewEncapsulation,\n Optional,\n Self,\n Input,\n ElementRef,\n HostListener,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffFormFieldControl } from '../form-field/form-field-control';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[daff-native-select]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./native-select.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DaffFormFieldControl, useExisting: DaffNativeSelectComponent },\n ],\n})\n\nexport class DaffNativeSelectComponent implements DaffFormFieldControl {\n /**\n * @docs-private\n */\n controlType = 'native-select';\n\n @HostBinding('class.daff-native-select') class = true;\n\n /**\n * Has the form been submitted.\n */\n @Input() formSubmitted: boolean;\n focused = false;\n\n /**\n * @docs-private\n */\n @HostListener('focus') focus() {\n\t this.focused = true;\n }\n\n /**\n * @docs-private\n */\n @HostListener('blur') blur() {\n this.focused = false;\n }\n\n constructor(\n /**\n * @docs-private\n */\n @Optional() @Self() public ngControl: NgControl,\n private _elementRef: ElementRef<HTMLInputElement>,\n ) {}\n\n onFocus() {\n this._elementRef.nativeElement.focus();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffNativeSelectComponent } from './native-select.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n DaffNativeSelectComponent,\n ],\n declarations: [\n DaffNativeSelectComponent,\n ],\n})\nexport class DaffNativeSelectModule { }\n","import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n EventEmitter,\n Output,\n ChangeDetectorRef,\n ViewChild,\n ElementRef,\n} from '@angular/core';\n\nlet checkboxIdNum = 0;\n\n@Component({\n selector: 'daff-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCheckboxComponent {\n /**\n * @docs-private\n */\n @ViewChild('inputElement', { static: true, read: ElementRef }) nativeCheckbox: ElementRef<HTMLInputElement>;\n /**\n * The name of the checkbox.\n */\n @Input() name: string;\n /**\n * The value of the checkbox.\n */\n @Input() value: any;\n /**\n * Boolean value to determine whether or not the checkbox is checked.\n */\n private _checked = false;\n\n @Input()\n get checked() {\n\t return this._checked;\n }\n set checked(value: boolean) {\n if (this._checked === value) {\n return;\n }\n if (value === true) {\n this.nativeCheckbox.nativeElement.checked = true;\n this.becameChecked.emit(this._checked);\n } else {\n this.nativeCheckbox.nativeElement.checked = false;\n this.becameUnchecked.emit();\n }\n\n this._checked = value;\n }\n /**\n * The id of the checkbox. Must be unique. If not entered by a user then it is generated.\n */\n @Input() id: string = 'daff-checkbox-' + checkboxIdNum;\n\n /**\n * The aria-label of the checkbox.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label = '';\n\n /**\n * The aria-labeledby of the checkbox.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labeledBy: string;\n\n /**\n * Event on whether or not the selection has changed.\n */\n @Output() becameChecked: EventEmitter<boolean> = new EventEmitter();\n @Output() becameUnchecked: EventEmitter<void> = new EventEmitter();\n\n /**\n * Whether the checkbox is focused\n */\n focused: boolean;\n /**\n * Whether the checkbox is disabled.\n */\n disabled: boolean;\n\n /**\n * The role of the component. Set to \"checkbox\".\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'checkbox';\n\n\n /**\n * @docs-private\n */\n _onChange(val: Event) {\n if ((<HTMLInputElement>val.target).checked) {\n this.select();\n } else {\n this.deselect();\n }\n };\n /**\n * @docs-private\n */\n @HostBinding('class.focused') get focusClass() {\n return this.focused === true;\n };\n /**\n * @docs-private\n */\n @HostBinding('class.disabled') get disabledClass() {\n return this.disabled === true;\n };\n /**\n * Sets focused to false.\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * Sets focused to true.\n */\n onFocus() {\n this.focused = true;\n }\n\n constructor(private _cdRef: ChangeDetectorRef) {\n /**\n * Increments id number on new checkbox. Gurantees unique ID on generation.\n */\n checkboxIdNum++;\n }\n /**\n * Sets checked to true.\n */\n select() {\n this.checked = true;\n this._cdRef.markForCheck();\n }\n /**\n * Sets checked to false\n */\n deselect() {\n this.checked = false;\n this._cdRef.markForCheck();\n }\n}\n","<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>","import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { FormArray } from '@angular/forms';\n\nimport { DaffCheckboxComponent } from '../checkbox/checkbox.component';\n\n@Component({\n selector: 'daff-checkbox-set',\n templateUrl: './checkbox-set.component.html',\n styleUrls: ['./checkbox-set.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCheckboxSetComponent {\n\n @Input() formArray: FormArray;\n /**\n * The name of the checkbox-set\n */\n @Input() name: string;\n\n /**\n * The role of the component. Set to \"checkbox\".\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'group';\n\n /**\n * The list of checkboxes in the set.\n *\n * @docs-private\n */\n @ContentChildren(DaffCheckboxComponent) checkboxes: QueryList<DaffCheckboxComponent>;\n\n @Output() valueList = new EventEmitter<any[]>();\n\n getValues(): any[] {\n const checkboxes = this.checkboxes.toArray();\n return this.formArray.value.map((element, index) => element === true ? checkboxes[index].value : false).filter(element => element !== false);\n }\n}\n","<ng-content></ng-content>","import {\n Directive,\n Input,\n OnInit,\n Self,\n Optional,\n forwardRef,\n} from '@angular/core';\nimport {\n NgControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\nimport { DaffCheckboxComponent } from '../checkbox.component';\n\n/**\n * A directive for binding the DaffCheckboxComponent and the Control Value Accessor.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]',\n})\nexport class DaffCheckboxControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: (val: any) => void;\n _onTouched: () => void;\n\n /**\n * The value of the ControlValueAccessor\n */\n @Input() value: any;\n\n /**\n * The name of the ControlValueAccessor\n */\n @Input() name: string;\n\n constructor(\n @Optional() @Self() public _control: NgControl,\n private _checkbox: DaffCheckboxComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n\n /**\n * A lifecycle method called when the directive is initialized.\n */\n ngOnInit(): void {\n // See the note about `writeValue` usage.\n this.writeValue(this._control.value);\n\n // Watch for user events on the component to update the state\n this._checkbox.becameChecked.subscribe(\n () => {\n this._onChange(true);\n },\n );\n this._checkbox.becameUnchecked.subscribe(\n () => {\n this._onChange(false);\n },\n );\n }\n\n /**\n * writes a new value down into the component.\n */\n writeValue(value: any): void {\n value = !!value;\n if (value === true) {\n this.fireSelect();\n } else {\n this.fireDeselect();\n }\n }\n\n /**\n * Registers the change handler\n */\n registerOnChange(fn: any): void {\n this._onChange = (val) => {\n fn(val);\n };\n }\n\n /**\n * Registers the touched handler\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * Sets the disabled state.\n */\n setDisabledState?(isDisabled: boolean): void {\n this._checkbox.disabled = isDisabled;\n }\n\n /**\n * calls the child checkbox's select function\n */\n fireSelect() {\n this._checkbox.select();\n }\n\n /**\n * calls the child checkbox's deselect function\n */\n fireDeselect() {\n this._checkbox.deselect();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffCheckboxSetComponent } from '../checkbox-set/checkbox-set.component';\nimport { DaffCheckboxComponent } from './checkbox.component';\nimport { DaffCheckboxControlValueAccessorDirective } from './cva/checkbox-cva.directive';\n\n@NgModule({\n exports: [\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n ],\n declarations: [\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n ],\n imports: [\n CommonModule,\n ],\n providers: [\n DaffCheckboxSetComponent,\n ],\n})\nexport class DaffCheckboxModule { }\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ViewChild,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {\n FormControl,\n NgControl,\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffInputComponent } from '../../input/public_api';\n\n@Component({\n selector: 'daff-quantity-input',\n templateUrl: './quantity-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffQuantityInputComponent implements OnInit, OnDestroy {\n @ViewChild(DaffInputComponent) input: DaffInputComponent;\n\n /**\n * @docs\n * The minimum number for the quantity input field\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number for the quantity input field\n */\n @Input() max = 10;\n\n /**\n * A new control for the nested native input.\n * We don't bind the native input directly to the inherited form control\n * to avoid triggering updates on the input event.\n * Instead, we listen for the change event and manually patch form control values.\n */\n _inputControl = new FormControl();\n\n get focused(): boolean {\n return this.input?.focused;\n }\n\n _destroyed = new Subject();\n\n get value() {\n return this.ngControl.control.value;\n }\n set value(value) {\n const val = Math.min(Math.round(coerceNumberProperty(value)), this.max);\n this.ngControl.control.patchValue(val);\n this._inputControl.patchValue(val);\n this.changeDetectorRef.markForCheck();\n }\n\n get disabled() {\n return this.ngControl.control.disabled;\n }\n\n constructor(\n public ngControl: NgControl,\n private changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n this._inputControl.patchValue(this.ngControl.control.value);\n this.setInputDisabled();\n this.ngControl.statusChanges.pipe(\n takeUntil(this._destroyed),\n ).subscribe(() => {\n this.setInputDisabled();\n });\n }\n\n ngOnDestroy() {\n this._destroyed.next(true);\n }\n\n focus() {\n this.input.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n onBlur() {\n if (this.value === null || this.value === undefined) {\n this.value = 1;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e: any) {\n this.value = e.target.value;\n }\n\n private setInputDisabled() {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.ngControl.disabled\n ? this._inputControl.disable()\n : this._inputControl.enable();\n }\n}\n","<input daff-input\n type=\"number\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.step]=\"1\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"onValueChange($event)\"\n [formControl]=\"_inputControl\"\n>\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffNativeSelectComponent } from '../../native-select/public_api';\n\n/**\n * Create an array of numbers from min to max, not including max.\n */\nexport const makeValueArray = (min: number, max: number, increment: number) =>\n Array(max - min).fill(0).map((x, i) => (i * increment) + min);\n\n@Component({\n selector: 'daff-quantity-select',\n templateUrl: './quantity-select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffQuantitySelectComponent {\n\n @ViewChild(DaffNativeSelectComponent) select: DaffNativeSelectComponent;\n\n /**\n * @docs\n * The minimum number selectable.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number selectable;\n */\n @Input() max = 10;\n\n /**\n * @docs\n * Property used to determine whether or not the DaffQuantitySelectComponent is\n * used in a situation whether the `max` isn't a true max.\n */\n @Input() extendable = true;\n\n /**\n * The amount to increment between \"min\" and \"max\".\n */\n private increment = 1;\n\n _value = 1;\n\n get value() {\n return this._value;\n }\n set value(value) {\n this._value = value;\n this.ngControl.control.patchValue(this._value);\n this.changeDetectorRef.markForCheck();\n }\n\n constructor(public ngControl: NgControl, private changeDetectorRef: ChangeDetectorRef) {}\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e) {\n this.value = e.target.value;\n }\n\n get focused(): boolean {\n return this.select.focused;\n }\n\n focus() {\n this.select.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n /**\n * A helper function for easily making options for the `select`.\n */\n get valueArray() {\n return makeValueArray(this.min, this.max, this.increment);\n }\n}\n","<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n>\n <option *ngFor=\"let item of valueArray\" [value]=\"item\">{{ item }}</option>\n <option [value]=\"max\" *ngIf=\"extendable\">{{ max }}+</option>\n <option [value]=\"max\" *ngIf=\"!extendable\">{{ max }}</option>\n</select>\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n Optional,\n Self,\n ViewChild,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n} from '@angular/forms';\n\nimport { DaffFormFieldControl } from '../form-field/form-field-control';\nimport { DaffQuantityInputComponent } from './quantity-input/quantity-input.component';\nimport { DaffQuantitySelectComponent } from './quantity-select/quantity-select.component';\n\n@Component({\n selector: 'daff-quantity-field',\n templateUrl: './quantity-field.component.html',\n providers: [\n {\n provide: DaffFormFieldControl,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n useExisting: DaffQuantityFieldComponent,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffQuantityFieldComponent implements ControlValueAccessor, DaffFormFieldControl {\n\n @ViewChild(DaffQuantityInputComponent) input: DaffQuantityInputComponent;\n @ViewChild(DaffQuantitySelectComponent) select: DaffQuantitySelectComponent;\n\n /**\n * @docs\n * The minimum valid value of the quantity field.\n * Must be greater than or equal to 1.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum valid value of the quantity field.\n * Must be greater than min.\n */\n @Input() max = 500;\n\n /**\n * @docs\n * The range of numbers acceptable in a quantity dropdown\n * before it becomes an input element.\n */\n @Input() selectMax = 10;\n\n get focused(): boolean {\n return !!(this.input?.focused || this.select?.focused);\n }\n\n disabled = false;\n private _quantity = 1;\n private _inputHasBeenShown = false;\n\n get quantity() {\n return this._quantity;\n }\n set quantity(value: number) {\n this._quantity = coerceNumberProperty(value, 1);\n }\n\n /**\n * Returns the lesser of max and selectMax.\n */\n get _maxFloor(): number {\n return Math.min(this.max, this.selectMax);\n }\n\n get controlType() {\n // TODO: use enum\n return this.showInputField\n ? 'native-input'\n : 'native-select';\n }\n\n get showInputField(): boolean {\n const ret = this._inputHasBeenShown || (this.ngControl\n ? this.ngControl.value >= this.selectMax\n : this.quantity >= this.selectMax);\n\n if (ret) {\n this._inputHasBeenShown = true;\n }\n\n return ret;\n }\n\n get showSelectField(): boolean {\n return !this.showInputField;\n }\n\n constructor(\n @Optional() @Self() public ngControl: NgControl,\n private cd: ChangeDetectorRef,\n ) {\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n private onChange(quantity: number): void {};\n private onTouched(quantity: number): void {};\n\n writeValue(quantity: number): void {\n this.quantity = quantity;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: (quantity: number) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n focus() {\n if(this.select) {\n this.select.focus();\n }\n if(this.input) {\n this.input.focus();\n }\n }\n}\n","<daff-quantity-select\n *ngIf=\"showSelectField\"\n [min]=\"min\" [max]=\"_maxFloor\" [extendable]=\"max > selectMax\">\n</daff-quantity-select>\n<daff-quantity-input\n *ngIf=\"showInputField\"\n [min]=\"min\" [max]=\"max\">\n</daff-quantity-input>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { DaffInputModule } from '../input/public_api';\nimport { DaffNativeSelectModule } from '../native-select/public_api';\nimport { DaffQuantityFieldComponent } from './quantity-field.component';\nimport { DaffQuantityInputComponent } from './quantity-input/quantity-input.component';\nimport { DaffQuantitySelectComponent } from './quantity-select/quantity-select.component';\n\n@NgModule({\n declarations: [\n DaffQuantityFieldComponent,\n DaffQuantityInputComponent,\n DaffQuantitySelectComponent,\n ],\n imports: [\n CommonModule,\n DaffNativeSelectModule,\n DaffInputModule,\n ReactiveFormsModule,\n ],\n exports: [\n DaffQuantityFieldComponent,\n DaffQuantityInputComponent,\n DaffQuantitySelectComponent,\n ],\n})\nexport class DaffQuantityFieldModule { }\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n HostBinding,\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport {\n DaffSizeAllType,\n DaffSizeable,\n} from '../../core/sizeable/sizeable';\nimport { daffSizeMixin } from '../../core/sizeable/sizeable-mixin';\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the Sizeable mixin\n */\nclass DaffContainerBase{\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffContainerBase = daffSizeMixin(DaffContainerBase);\n\n/**\n * @inheritdoc\n */\n@Component({\n selector: 'daff-container',\n styleUrls: ['./container.component.scss'],\n template: '<ng-content></ng-content>',\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['size'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffContainerComponent extends _daffContainerBase implements DaffSizeable<DaffSizeAllType> {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-container') class = true;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffContainerComponent } from './container.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffContainerComponent,\n ],\n exports: [\n DaffContainerComponent,\n ],\n})\nexport class DaffContainerModule { }\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nexport const daffProgressIndicatorAnimation: {\n readonly fill: AnimationTriggerMetadata;\n} = {\n fill: trigger('fill', [\n state('*', style({ width: '{{ percentage }}%' }), { params: { percentage: 0 }}),\n transition('* <=> *', animate(1000)),\n ]),\n};\n","import { AnimationEvent } from '@angular/animations';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n ElementRef,\n Output,\n EventEmitter,\n Renderer2,\n HostBinding,\n} from '@angular/core';\n\nimport {\n daffColorMixin,\n DaffColorable,\n DaffPalette,\n} from '../../core/colorable/public_api';\nimport { daffProgressIndicatorAnimation } from './animation/progress-indicator-animation';\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the Colorable mixin\n */\nclass DaffProgressIndicatorBase{\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffProgressIndicatorBase = daffColorMixin(DaffProgressIndicatorBase, 'primary');\n\n/**\n * @inheritdoc\n */\n@Component({\n selector: 'daff-progress-indicator',\n templateUrl: './progress-indicator.component.html',\n styleUrls: ['./progress-indicator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color'],\n animations: [\n daffProgressIndicatorAnimation.fill,\n ],\n})\nexport class DaffProgressIndicatorComponent extends _daffProgressIndicatorBase implements DaffColorable {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-progress-indicator') class = true;\n\n /**\n * The percentage completion of the progression,\n * expressed as a whole number between 0 and 100.\n *\n */\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n @Input() percentage: number = 0;\n\n /**\n * An event that emits each time the progression reaches 100%\n * and the animation is finished\n */\n @Output() finished: EventEmitter<void> = new EventEmitter();\n\n\n /**\n * Calculates when the progress animation is fully completed\n *\n * @param event: AnimationEvent\n */\n onAnimationComplete(event: AnimationEvent): void {\n // @ts-ignore: @angular/animations typing error on event.toState as string\n // See: https://github.com/angular/angular/issues/26507\n if(event.toState === '100' || event.toState === 100) {\n this.finished.emit();\n }\n }\n\n /**\n * @docs-private\n */\n get fillState(): any {\n return {\n value: this.percentage,\n params: {\n percentage: this.percentage,\n },\n };\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n}\n","<div class=\"daff-progress-indicator__fill\" [@fill]=\"fillState\" (@fill.done)=\"onAnimationComplete($event)\"></div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffProgressIndicatorComponent } from './progress-indicator.component';\n\n@NgModule({\n declarations: [DaffProgressIndicatorComponent],\n imports: [\n CommonModule,\n ],\n exports: [DaffProgressIndicatorComponent],\n})\nexport class DaffProgressIndicatorModule { }\n","import {\n Component,\n HostBinding,\n Input,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-radio-set',\n templateUrl: './radio-set.component.html',\n styleUrls: ['./radio-set.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffRadioSetComponent {\n\n @Input() name: string;\n\n constructor() { }\n\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'radiogroup';\n\n}\n","<ng-content></ng-content>","import {\n Component,\n OnInit,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n forwardRef,\n Optional,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { DaffRadioSetComponent } from '../radio-set/radio-set.component';\n\nlet radioUniqueId = 0;\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'daff-radio',\n templateUrl: './radio.html',\n styleUrls: ['./radio.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffRadioComponent implements OnInit {\n\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'radio';\n /**\n * @docs-private\n */\n @HostBinding('class.focused') get focusClass() {\n return this.focused === true;\n };\n /**\n * @docs-private\n */\n @HostBinding('class.disabled') get disabledClass() {\n return this.disabled === true;\n };\n\n /**\n * @docs-private\n */\n _checked = false;\n /**\n * Output event of selection being changed\n */\n @Output() selectionChange: EventEmitter<boolean> = new EventEmitter();\n\n\n /**\n * The checked property of the radio\n */\n @Input()\n get checked() {\n return this._checked;\n }\n set checked(value: boolean) {\n\t if (this._checked !== value) {\n\t this._checked = value;\n\t this.selectionChange.emit(this.value);\n\t }\n }\n /**\n * The value of the radio\n */\n @Input() value: any;\n /**\n * The id of the radio. It is uniquely generated but can be overwritten by the user. Must be unique.\n */\n @Input() id: string = 'daff-radio-' + radioUniqueId;\n\n /**\n * Name of the Radio\n */\n @Input() name = '';\n\n /**\n * Used for aria-label. Default to name if user does not input a label.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label: string = this.name;\n\n /**\n * Used for aria-labelledby.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labelledby: string;\n\n\n disabled = false;\n focused = false;\n\n constructor(@Optional() private radioset: DaffRadioSetComponent) {\n radioUniqueId++;\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.name = this.radioset ? this.radioset.name : this.name;\n }\n\n /**\n * updates Focus styling\n */\n onFocus() {\n this.focused = true;\n }\n /**\n * updates Blur styling\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * toggles checked attribute on\n */\n select(): void {\n this.checked = true;\n }\n /**\n * toggles checked attribute off\n */\n deselect(): void {\n this.checked = false;\n }\n onChange() {\n this.select();\n };\n}\n","<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>","import { Injectable } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffRadioControlValueAccessorDirective } from '../cva/radio-cva.directive';\n\nexport interface ControlAccessorPair {\n control: NgControl;\n accessor: DaffRadioControlValueAccessorDirective;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class DaffRadioRegistry {\n private _accessors: ControlAccessorPair[] = [];\n\n /**\n * @description\n * Adds a control to the internal registry.\n */\n add(control: NgControl, accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.push({\n control,\n accessor,\n });\n }\n\n /**\n * @description\n * Removes a control from the internal registry.\n */\n remove(accessor: DaffRadioControlValueAccessorDirective) {\n for (let i = this._accessors.length - 1; i >= 0; --i) {\n if (this._accessors[i]['accessor'] === accessor) {\n this._accessors.splice(i, 1);\n return;\n }\n }\n }\n\n /**\n * @description\n * Selects a radio button.\n */\n select(accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.forEach((c) => {\n if (this._isSameGroup(c, accessor) && c['accessor'] !== accessor) {\n c['accessor'].fireDeselect();\n }\n });\n }\n\n private _isSameGroup(\n controlPair: ControlAccessorPair,\n accessor: DaffRadioControlValueAccessorDirective): boolean {\n if (!controlPair['control'].control) {\n return false;\n }\n return controlPair['control'].control.parent === accessor._control.control.parent\n && controlPair['accessor'].name === accessor.name;\n }\n}\n","import {\n Directive,\n Input,\n OnInit,\n Self,\n Optional,\n forwardRef,\n} from '@angular/core';\nimport {\n NgControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\nimport { DaffRadioComponent } from '../radio.component';\nimport { DaffRadioRegistry } from '../registry/radio-registry';\n\n/**\n * ControlValueAccessor functionality for the DaffRadio\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-radio[ngModel], daff-radio[formControl], daff-radio[formControlName]',\n})\nexport class DaffRadioControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: () => void;\n _onTouched: () => void;\n\n /**\n * The value of the ControlValueAccessor\n */\n @Input() value: any;\n\n /**\n * The name of the ControlValueAccessor\n */\n @Input() name: string;\n\n constructor(\n @Optional() @Self() public _control: NgControl,\n private _registry: DaffRadioRegistry,\n private _radio: DaffRadioComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.writeValue(this._control.value);\n this._registry.add(this._control, this);\n\n this._radio.selectionChange.subscribe(\n value => value ? this._onChange() : null,\n );\n }\n /**\n *\n * writeValue function from the CVA interface\n */\n writeValue(value: any): void {\n // the this._onChange null check here is necessary because of an ongoing bug in angular forms\n // where writeValue can be called before the component initializes: https://github.com/angular/angular/issues/29218\n if (this.value === value && this._onChange) {\n this._onChange();\n this.fireSelect();\n }\n }\n\n /**\n * registerOnChange implemented from the CVA interface\n */\n registerOnChange(fn: any): void {\n this._onChange = () => {\n fn(this.value);\n this._registry.select(this);\n };\n }\n\n /**\n * registerOnTouch implemented from the CVA interface\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * sets the disabled state.\n */\n setDisabledState?(isDisabled: boolean): void {\n this._radio.disabled = isDisabled;\n }\n\n /**\n calls select function for the radio\n */\n fireSelect() {\n this._radio.select();\n }\n\n /**\n calls deselect function for the radio\n */\n fireDeselect() {\n this._radio.deselect();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffRadioSetComponent } from '../radio-set/radio-set.component';\nimport { DaffRadioControlValueAccessorDirective } from './cva/radio-cva.directive';\nimport { DaffRadioComponent } from './radio.component';\n\n\n\n@NgModule({\n exports:[\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n\n ],\n declarations: [\n DaffRadioControlValueAccessorDirective,\n DaffRadioComponent,\n DaffRadioSetComponent,\n ],\n imports: [\n CommonModule,\n ],\n})\nexport class DaffRadioModule { }\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffFormLabel]',\n})\nexport class DaffFormLabelDirective {\n @HostBinding('class.daff-form-label') class = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffFormLabelDirective } from './form-label.directive';\n\n@NgModule({\n exports: [\n DaffFormLabelDirective,\n ],\n declarations: [\n DaffFormLabelDirective,\n ],\n})\n\nexport class DaffFormLabelModule {}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffAccordionItemContent]',\n})\nexport class DaffAccordionItemContentDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-accordion-item__content') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffAccordionItemTitle]',\n})\nexport class DaffAccordionItemTitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-accordion-item__title') class = true;\n}\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nexport const daffAccordionAnimations: {\n readonly openAccordion: AnimationTriggerMetadata;\n} = {\n openAccordion: trigger('openAccordion', [\n state('open', style({\n visibility: 'visible',\n opacity: '1',\n height: '*',\n })),\n state('void',style({\n visibility: 'hidden',\n overflow: 'hidden',\n opacity: '0',\n height: '0',\n })),\n transition('void <=> open',\n animate('150ms ease-in'),\n ),\n ]),\n};\n","export const getAnimationState = (open: boolean) => {\n if(open){\n return 'open';\n } else {\n return 'void';\n }\n};\n","import {\n Component,\n Input,\n OnInit,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n faChevronDown,\n faChevronUp,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { daffAccordionAnimations } from '../animation/accordion-animation';\nimport { getAnimationState } from '../animation/accordion-animation-state';\n\n@Component({\n selector: 'daff-accordion-item',\n templateUrl: './accordion-item.component.html',\n styleUrls: ['./accordion-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n daffAccordionAnimations.openAccordion,\n ],\n})\nexport class DaffAccordionItemComponent implements OnInit {\n /**\n * @docs-private\n */\n faChevronDown = faChevronDown;\n /**\n * @docs-private\n */\n faChevronUp = faChevronUp;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-accordion-item') class = true;\n\n @Input() initiallyActive: boolean;\n /**\n * @docs-private\n */\n _open = false;\n /**\n * @docs-private\n */\n _animationState: string;\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this._open = this.initiallyActive ? this.initiallyActive : this._open;\n this._animationState = getAnimationState(this._open);\n }\n\n toggleActive() {\n this._open = !this._open;\n this._animationState = getAnimationState(this._open);\n }\n}\n","<div class=\"daff-accordion-item__header\" (click)=\"toggleActive()\">\n <ng-content select=\"[daffAccordionItemTitle]\"></ng-content>\n <span [hidden]=\"_open\" daffSuffix>\n <fa-icon [icon]=\"faChevronDown\"></fa-icon>\n </span>\n <span [hidden]=\"!_open\" daffSuffix>\n <fa-icon [icon]=\"faChevronUp\"></fa-icon>\n </span>\n</div>\n<div [@openAccordion]=\"_animationState\">\n <ng-content></ng-content>\n</div>","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../../core/article-encapsulated/public_api';\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the link set mixins\n */\nclass DaffAccordionBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffAccordionBase = daffArticleEncapsulatedMixin((DaffAccordionBase));\n\n@Component({\n selector: 'daff-accordion',\n templateUrl: './accordion.component.html',\n styleUrls: ['./accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DaffAccordionComponent extends _daffAccordionBase {\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n}\n","<ng-content></ng-content>","import {\n Component,\n Input,\n OnInit,\n HostBinding,\n SkipSelf,\n Optional,\n ContentChildren,\n QueryList,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n faChevronDown,\n faChevronUp,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffAccordionComponent } from '../accordion/accordion.component';\nimport { daffAccordionAnimations } from '../animation/accordion-animation';\nimport { getAnimationState } from '../animation/accordion-animation-state';\n\n@Component({\n selector: 'daff-nav-accordion-item',\n templateUrl: './nav-accordion-item.component.html',\n styleUrls: ['./nav-accordion-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n daffAccordionAnimations.openAccordion,\n ],\n})\nexport class DaffNavAccordionItemComponent implements OnInit {\n\n constructor(\n private accordion: DaffAccordionComponent,\n @SkipSelf() @Optional() private navAccordionItemParent: DaffNavAccordionItemComponent,\n ) {}\n /**\n * @docs-private\n */\n faChevronDown = faChevronDown;\n /**\n * @docs-private\n */\n faChevronUp = faChevronUp;\n\n /**\n * @docs-private\n */\n @HostBinding('class') get classes() {\n return [\n 'daff-nav-accordion-item',\n 'daff-nav-accordion-item--level-' + this._level,\n ];\n }\n\n @Input() initiallyActive: boolean;\n\n @ContentChildren(DaffNavAccordionItemComponent, { descendants: true })\n _navAccordionItemChild: QueryList<DaffNavAccordionItemComponent>;\n\n /**\n * @docs-private\n */\n _open = false;\n /**\n * @docs-private\n */\n _animationState: string;\n\n /**\n * @docs-private\n */\n _level = 0;\n\n /**\n * @docs-private\n */\n ngOnInit() {\n\t if(this.navAccordionItemParent && this.accordion === this.navAccordionItemParent.accordion) {\n\t this._level = this.navAccordionItemParent._level + 1;\n\t }\n\t this._open = this.initiallyActive ? this.initiallyActive : this._open;\n\t this._animationState = getAnimationState(this._open);\n }\n\n toggleActive() {\n\t this._open = !this._open;\n\t this._animationState = getAnimationState(this._open);\n }\n}\n","<div class=\"daff-nav-accordion-item__header\" (click)=\"toggleActive()\">\n <ng-content select=\"[daffAccordionItemTitle]\"></ng-content>\n <span [hidden]=\"_open\" daffSuffix *ngIf=\"_navAccordionItemChild.toArray().length\">\n <fa-icon [icon]=\"faChevronDown\"></fa-icon>\n </span>\n <span [hidden]=\"!_open\" daffSuffix *ngIf=\"_navAccordionItemChild.toArray().length\">\n <fa-icon [icon]=\"faChevronUp\"></fa-icon>\n </span>\n</div>\n<div [@openAccordion]=\"_animationState\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffPrefixSuffixModule } from '../../core/prefix-suffix/prefix-suffix.module';\nimport { DaffAccordionItemContentDirective } from './accordion-item-content/accordion-item-content.directive';\nimport { DaffAccordionItemTitleDirective } from './accordion-item-title/accordion-item-title.directive';\nimport { DaffAccordionItemComponent } from './accordion-item/accordion-item.component';\nimport { DaffAccordionComponent } from './accordion/accordion.component';\nimport { DaffNavAccordionItemComponent } from './nav-accordion-item/nav-accordion-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n\n FontAwesomeModule,\n DaffPrefixSuffixModule,\n ],\n declarations: [\n DaffAccordionComponent,\n DaffAccordionItemComponent,\n DaffNavAccordionItemComponent,\n DaffAccordionItemTitleDirective,\n DaffAccordionItemContentDirective,\n ],\n exports: [\n DaffAccordionComponent,\n DaffAccordionItemComponent,\n DaffNavAccordionItemComponent,\n DaffAccordionItemTitleDirective,\n DaffAccordionItemContentDirective,\n ],\n})\nexport class DaffAccordionModule { }\n","import {\n Component,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n/**\n * A component for creating articles within your page.\n */\n@Component({\n selector: 'daff-article',\n template: '<ng-content></ng-content>',\n styleUrls: ['./article.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffArticleComponent {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-article') class = true;\n\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'article';\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffArticleLead]',\n})\nexport class DaffArticleLeadDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-article__lead') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffArticleMeta]',\n})\nexport class DaffArticleMetaDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-article__meta') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffArticleTitle]',\n})\nexport class DaffArticleTitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-article__title') class = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffArticleLeadDirective } from './article-lead/article-lead.directive';\nimport { DaffArticleMetaDirective } from './article-meta/article-meta.directive';\nimport { DaffArticleTitleDirective } from './article-title/article-title.directive';\nimport { DaffArticleComponent } from './article/article.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffArticleComponent,\n DaffArticleTitleDirective,\n DaffArticleLeadDirective,\n DaffArticleMetaDirective,\n ],\n exports: [\n DaffArticleComponent,\n DaffArticleTitleDirective,\n DaffArticleLeadDirective,\n DaffArticleMetaDirective,\n ],\n})\nexport class DaffArticleModule { }\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nconst animationDuration = '350ms';\nconst backdropTransitionOut = 'cubic-bezier(0.4, 0.0, 1, 1)';\nconst backdropTransitionIn = 'cubic-bezier(0.0, 0.0, 0.2, 1)';\n\nexport const daffBackdropAnimations: {\n readonly fadeBackdrop: AnimationTriggerMetadata;\n} = {\n fadeBackdrop: trigger('fadeBackdrop', [\n state('interactable', style({ opacity: 1 })),\n state('non-interactable', style({ opacity: 0 })),\n transition('interactable => non-interactable', animate(animationDuration + ' ' + backdropTransitionOut)),\n transition('non-interactable => interactable', animate(animationDuration + ' ' + backdropTransitionIn)),\n transition(':enter', [\n style({ opacity: 0 }),\n animate(animationDuration + ' ' + backdropTransitionIn, style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate(animationDuration + ' ' + backdropTransitionOut, style({ opacity: 0 })),\n ]),\n ]),\n};\n","export type DaffBackdropAnimationState = 'interactable' | 'non-interactable';\nexport const getAnimationState = (interactable: boolean): DaffBackdropAnimationState=> interactable ? 'interactable' : 'non-interactable';\n","import { AnimationEvent } from '@angular/animations';\nimport {\n Component,\n Output,\n EventEmitter,\n Input,\n ChangeDetectionStrategy,\n HostListener,\n HostBinding,\n ElementRef,\n OnInit,\n} from '@angular/core';\n\nimport { daffBackdropAnimations } from '../animation/backdrop-animation';\nimport { getAnimationState } from '../animation/backdrop-animation-state';\n\n@Component({\n selector: 'daff-backdrop',\n templateUrl: './backdrop.component.html',\n styleUrls: ['./backdrop.component.scss'],\n animations: [\n daffBackdropAnimations.fadeBackdrop,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffBackdropComponent implements OnInit {\n\n /**\n * Determines whether or not the backdrop is transparent.\n */\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n @Input() transparent: boolean = false;\n\n /**\n * Determines whether or not the backdrop is interactable.\n */\n @Input() interactable = true;\n\n /**\n * Boolean property that determines whether or not the\n * backdrop should fill up its containing window.\n */\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n @Input() fullscreen: boolean = false;\n\n /**\n * Output event triggered when the backdrop is clicked.\n */\n @Output() backdropClicked: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding('class.interactable') interactableClass = true;\n\n ngOnInit(): void {\n this.interactableClass = this.interactable;\n }\n\n /**\n * Animation hook for that controls the backdrops\n * entrance and fade animations.\n */\n @HostBinding('@fadeBackdrop') get fadeBackdropTrigger() {\n return getAnimationState(this.interactable);\n }\n\n @HostListener('@fadeBackdrop.done', ['$event'])\n animationDone(e: AnimationEvent) {\n\t this.interactableClass = !(e.toState === ':leave' || e.toState === 'non-interactable');\n }\n\n @HostListener('@fadeBackdrop.start', ['$event'])\n animationStart(e: AnimationEvent) {\n\t if(e.toState === ':enter' || e.toState === 'interactable'){\n\t this.interactableClass = true;\n\t }\n }\n\n /**\n * @deprecated\n * Backdrop event that triggers when the backdrop element is clicked.\n */\n @HostListener('click')\n onBackdropClicked(): void {\n\t this.backdropClicked.emit();\n }\n}\n","<div class=\"daff-backdrop\" [class.daff-backdrop--fullscreen]=\"fullscreen\" [class.daff-backdrop--transparent]=\"transparent\"></div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffBackdropComponent } from './backdrop/backdrop.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffBackdropComponent,\n ],\n exports: [\n DaffBackdropComponent,\n ],\n entryComponents: [\n DaffBackdropComponent,\n ],\n})\nexport class DaffBackdropModule { }\n","import {\n Component,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-button-set',\n template: '<ng-content></ng-content>',\n styleUrls: ['./button-set.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffButtonSetComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-button-set') class = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffButtonSetComponent } from './button-set.component';\n\n@NgModule({\n declarations: [\n DaffButtonSetComponent,\n ],\n exports: [\n DaffButtonSetComponent,\n ],\n})\nexport class DaffButtonSetModule { }\n","import {\n Component,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-image-list',\n template: '<ng-content></ng-content>',\n styleUrls: ['./image-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffImageListComponent {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-image-list') class = true;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @deprecated See {@link DaffMediaGalleryComponent}\n */\n@Component({\n selector: 'daff-image-gallery',\n templateUrl: './image-gallery.component.html',\n styleUrls: ['./image-gallery.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffImageGalleryComponent {}\n","<div class=\"daff-image-gallery\">\n <div class=\"daff-image-gallery__active-image\">\n <ng-content select=\"[daff-active-image]\"></ng-content>\n </div>\n\n <daff-image-list class=\"daff-image-gallery__image-list\">\n <ng-content select=\"daff-gallery-image\"></ng-content>\n </daff-image-list>\n</div>\n","import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n/**\n * @deprecated See {@link DaffThumbnailDirective}\n */\n@Component({\n selector: 'daff-gallery-image',\n templateUrl: './gallery-image.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffGalleryImageComponent {\n @HostBinding('class.daff-image-gallery__daff-gallery-image--selected') @Input() selected: boolean;\n @HostBinding('class.daff-image-gallery__daff-gallery-image') class = true;\n}\n","<div class=\"gallery-image__wrapper\">\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffImageListComponent } from './image-list.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffImageListComponent,\n ],\n exports: [\n DaffImageListComponent,\n ],\n})\nexport class DaffImageListModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffImageListModule } from '../image-list/public_api';\nimport { DaffGalleryImageComponent } from './gallery-image/gallery-image.component';\nimport { DaffImageGalleryComponent } from './image-gallery/image-gallery.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DaffImageListModule,\n ],\n declarations: [\n DaffImageGalleryComponent,\n DaffGalleryImageComponent,\n ],\n exports: [\n DaffImageGalleryComponent,\n DaffGalleryImageComponent,\n ],\n})\nexport class DaffImageGalleryModule { }\n","import {\n Component,\n HostBinding,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../../core/article-encapsulated/public_api';\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the link set mixins\n */\nclass DaffLinkSetBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffLinkSetBase = daffArticleEncapsulatedMixin((DaffLinkSetBase));\n\n/**\n * DaffLinkSetComponent is a component for displaying a two or more links.\n */\n@Component({\n selector: 'daff-link-set',\n template: '<ng-content></ng-content>',\n styleUrls: ['./link-set.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffLinkSetComponent extends _daffLinkSetBase {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-link-set') class = true;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n * A directive for adding a heading to a daff-link-set.\n */\n@Directive({\n selector: '[daffLinkSetHeading]',\n})\nexport class DaffLinkSetHeadingDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-link-set__heading') class = true;\n}\n","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n HostBinding,\n} from '@angular/core';\n\n@Component ({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[daff-link-set-item]',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffLinkSetItemComponent {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-link-set__item') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n * A directive for adding a subheading to a daff-link-set.\n */\n@Directive({\n selector: '[daffLinkSetSubheading]',\n})\nexport class DaffLinkSetSubheadingDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-link-set__subheading') class = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffLinkSetHeadingDirective } from './link-set-heading/link-set-heading.directive';\nimport { DaffLinkSetItemComponent } from './link-set-item/link-set-item.component';\nimport { DaffLinkSetSubheadingDirective } from './link-set-subheading/link-set-subheading.directive';\nimport { DaffLinkSetComponent } from './link-set/link-set.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n DaffLinkSetComponent,\n DaffLinkSetHeadingDirective,\n DaffLinkSetSubheadingDirective,\n DaffLinkSetItemComponent,\n ],\n declarations: [\n DaffLinkSetComponent,\n DaffLinkSetHeadingDirective,\n DaffLinkSetSubheadingDirective,\n DaffLinkSetItemComponent,\n ],\n})\nexport class DaffLinkSetModule {}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n ContentChild,\n ElementRef,\n} from '@angular/core';\n\nimport {\n DaffPrefixDirective,\n DaffSuffixDirective,\n} from '../../../core/prefix-suffix/public_api';\n\n@Component({\n selector:\n 'daff-list-item' + ',' +\n 'a[daff-list-item]',\n templateUrl: './list-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DaffListItemComponent {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-list-item') class = true;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n /**\n * @docs-private\n */\n @ContentChild(DaffSuffixDirective) _suffix: DaffSuffixDirective;\n\n constructor(private elementRef: ElementRef) {}\n\n /**\n * Sets the role for a regular `<daff-list-item>` to listitem.\n *\n * @docs-private\n */\n @HostBinding('attr.role') get role() {\n return this._isAnchor() ? null : 'listitem';\n };\n\n private _getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n /** Gets whether a list item has one of the given attributes. */\n private _isAnchor() {\n return this.elementRef.nativeElement.localName === 'a';\n }\n}\n","<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-list-item__content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n * @deprecated\n */\n@Directive({\n selector: '[daffListSubheader]',\n})\nexport class DaffListSubheaderDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-list__subheader') class = true;\n}\n","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n HostBinding,\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../../core/article-encapsulated/public_api';\n\n/**\n * @deprecated\n * DaffListMode will be completely deprecated in v1.0.0\n * */\nexport type DaffListMode = 'multi-line' | 'link' | 'navigation' | undefined;\nexport enum DaffListModeEnum {\n Multiline = 'multi-line',\n Link = 'link',\n Navigation = 'navigation'\n}\n\nexport type DaffListType = 'daff-list' | 'daff-nav-list';\n\nenum DaffListTypeEnum {\n Default = 'daff-list',\n Nav = 'daff-nav-list'\n}\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the list mixins\n */\nclass DaffListBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffListBase = daffArticleEncapsulatedMixin((DaffListBase));\n\n@Component({\n selector:\n 'daff-list' + ',' +\n 'daff-nav-list',\n template: '<ng-content></ng-content>',\n styleUrls: ['./list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DaffListComponent extends _daffListBase {\n /**\n * @deprecated\n * */\n @Input() mode: DaffListMode;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-list') get list() {\n return this.listType === DaffListTypeEnum.Default;\n }\n\n /**\n * @docs-private\n * @deprecated\n * */\n @HostBinding('class.daff-list--multi-line') get multiline() {\n return this.mode === DaffListModeEnum.Multiline;\n }\n\n /**\n * @docs-private\n * @deprecated\n * */\n @HostBinding('class.daff-list--link') get link() {\n return this.mode === DaffListModeEnum.Link;\n }\n\n /**\n * @docs-private\n * @deprecated\n * */\n @HostBinding('class.daff-list--navigation') get navigation() {\n return this.mode === DaffListModeEnum.Navigation;\n }\n\n /**\n * @docs-private\n */\n get listType(): DaffListType {\n return this._getHostElement().localName;\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-nav-list') get nav() {\n return this.listType === DaffListTypeEnum.Nav;\n }\n\n /**\n * Sets the role for a `<daff-nav-list>` to navigation.\n *\n * @docs-private\n */\n @HostBinding('attr.role') get role() {\n return this.listType === DaffListTypeEnum.Nav ? 'navigation' : 'list';\n };\n\n private _getHostElement() {\n return this.elementRef.nativeElement;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffPrefixSuffixModule } from '../../core/prefix-suffix/prefix-suffix.module';\nimport { DaffListItemComponent } from './list-item/list-item.component';\nimport { DaffListSubheaderDirective } from './list-subheader/list-subheader.directive';\nimport { DaffListComponent } from './list/list.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DaffPrefixSuffixModule,\n ],\n declarations: [\n DaffListComponent,\n DaffListSubheaderDirective,\n DaffListItemComponent,\n ],\n exports: [\n DaffListComponent,\n DaffListSubheaderDirective,\n DaffListItemComponent,\n DaffPrefixSuffixModule,\n ],\n})\nexport class DaffListModule { }\n","import {\n Overlay,\n OverlayConfig,\n} from '@angular/cdk/overlay';\nimport { ElementRef } from '@angular/core';\n\nexport function daffMenuCreateOverlay(overlay: Overlay, element: ElementRef, config: OverlayConfig = {}) {\n return overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: overlay.scrollStrategies.block(),\n disposeOnNavigation: true,\n positionStrategy: overlay\n .position()\n .flexibleConnectedTo(element)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 0,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]),\n ...config,\n });\n};\n","import {\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport {\n ComponentPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport {\n ElementRef,\n Injectable,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n BehaviorSubject,\n map,\n Observable,\n} from 'rxjs';\n\nimport { DaffLazyComponent } from '../../../core/lazy/public_api';\nimport { daffMenuCreateOverlay } from '../helpers/public_api';\n\nexport interface DaffActivatedMenu {\n el: ElementRef;\n component: Type<unknown>;\n}\n\nexport type DaffMenuSlot = TemplateRef<unknown> | DaffLazyComponent | Type<unknown>;\n\n@Injectable()\nexport class DaffMenuService {\n protected _overlay: OverlayRef | null;\n private _activator: ViewContainerRef;\n\n private $_open: BehaviorSubject<boolean> = new BehaviorSubject(false);\n public open$: Observable<boolean> = this.$_open.asObservable();\n\n constructor(protected overlay: Overlay) {}\n\n protected async _createOverlay(activatorElement: ViewContainerRef, component: DaffMenuSlot) {\n if (!this._overlay) {\n this._overlay = daffMenuCreateOverlay(this.overlay, activatorElement.element);\n if(typeof component === 'object' && (<DaffLazyComponent>component)?.import) {\n component = await (<DaffLazyComponent>component).import();\n }\n\n if(component instanceof Type) {\n this._overlay.attach(new ComponentPortal(<Type<unknown>>component));\n } else if (component instanceof TemplateRef) {\n this._overlay.attach(new TemplatePortal(component, activatorElement));\n }\n\n this._overlay.backdropClick().pipe(\n map(() => this._destroyOverlay()),\n ).subscribe();\n }\n }\n\n protected _destroyOverlay() {\n if (this._overlay) {\n this._overlay.detach();\n this._overlay.dispose();\n this._overlay = null;\n }\n }\n\n close() {\n this._destroyOverlay();\n\t this.$_open.next(false);\n this._activator.element.nativeElement.focus();\n }\n\n open(activator: ViewContainerRef, component: DaffMenuSlot) {\n\t this._createOverlay(activator, component);\n this._activator = activator;\n this.$_open.next(true);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n Subject,\n takeUntil,\n} from 'rxjs';\n\nimport { DaffMenuService } from '../service/menu.service';\n\n@Directive({\n selector: '[daffMenuActivator]',\n})\nexport class DaffMenuActivatorDirective implements OnDestroy {\n\n @Input() daffMenuActivator: Type<unknown> | TemplateRef<unknown>;\n\n private _destroyed$ = new Subject<boolean>();\n private _open: boolean;\n\n @HostBinding('class.open') get openClass() {\n\t return this._open;\n }\n\n constructor(\n private service: DaffMenuService,\n private viewContainerRef: ViewContainerRef,\n private cdRef: ChangeDetectorRef,\n ) {\n this.service.open$.pipe(\n takeUntil(this._destroyed$),\n ).subscribe((val: boolean) => {\n\t this._open = val;\n\t this.cdRef.markForCheck();\n\t });\n }\n\n ngOnDestroy(): void {\n this._destroyed$.next(true);\n this._destroyed$.complete();\n }\n\n focus() {\n this.viewContainerRef.element.nativeElement.focus();\n }\n\n @HostListener('click', ['$event'])\n openMenu(event) {\n\t event.preventDefault();\n\t this.service.open(this.viewContainerRef, this.daffMenuActivator);\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n ContentChild,\n ElementRef,\n} from '@angular/core';\n\nimport {\n DaffPrefixDirective,\n DaffSuffixDirective,\n} from '../../../core/prefix-suffix/public_api';\n\n@Component({\n selector:\n 'a[daff-menu-item]' + ',' +\n 'button[daff-menu-item]',\n templateUrl: './menu-item.component.html',\n styleUrls: ['./menu-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DaffMenuItemComponent {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-menu-item') class = true;\n\n /**\n * Sets the role of the component to menuitem.\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'menuitem';\n\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n}\n","<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-menu-item__content\">\n <ng-content></ng-content>\n</div>","export const daffFocusableElementsSelector = 'a[href],a[routerlink], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])';\n","import {\n ConfigurableFocusTrapFactory,\n ConfigurableFocusTrap,\n} from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n NgZone,\n} from '@angular/core';\nimport {\n filter,\n fromEvent,\n} from 'rxjs';\n\nimport { daffFocusableElementsSelector } from '../../../core/focus/public_api';\nimport { DaffMenuService } from '../service/menu.service';\n\n@Component({\n selector: 'daff-menu',\n template: '<ng-content select=\"[daff-menu-item]\"></ng-content>',\n styleUrls: ['./menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffMenuComponent implements AfterContentInit, AfterViewInit {\n @HostBinding('class.daff-menu') class = true;\n @HostBinding('tabindex') tabindex = 0;\n @HostBinding('attr.role') role = 'menu';\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private menuService: DaffMenuService,\n ) {\n /**\n * Listen to `keydown` events outside the zone so that change detection is not run every\n * time a key is pressed. Instead we re-enter the zone only if the `ESC` key is pressed.\n *\n */\n this._ngZone.runOutsideAngular(() => {\n fromEvent<KeyboardEvent>(this._elementRef.nativeElement, 'keyup')\n .pipe(\n filter((event) => event.key === 'Escape'),\n )\n .subscribe((event) =>\n this._ngZone.run(() => {\n this.menuService.close();\n event.stopPropagation();\n }),\n );\n });\n }\n\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(\n\t this._elementRef.nativeElement,\n\t );\n }\n\n ngAfterViewInit() {\n const focusableChild = (<HTMLElement>this._elementRef.nativeElement.querySelector(\n daffFocusableElementsSelector)\n );\n\n if(focusableChild) {\n focusableChild.focus();\n } else {\n // There's a timing condition when computing HostBindings afterContentInit\n // so to allow the menu to be focused, we manually set the tabindex.\n this._elementRef.nativeElement.tabIndex = 0;\n (<HTMLElement>this._elementRef.nativeElement).focus();\n }\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffMenuActivatorDirective } from './menu-activator/menu-activator.component';\nimport { DaffMenuItemComponent } from './menu-item/menu-item.component';\nimport { DaffMenuComponent } from './menu/menu.component';\nimport { DaffMenuService } from './service/menu.service';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n ],\n declarations: [\n DaffMenuActivatorDirective,\n DaffMenuComponent,\n DaffMenuItemComponent,\n ],\n exports: [\n DaffMenuActivatorDirective,\n DaffMenuComponent,\n DaffMenuItemComponent,\n ],\n providers: [\n DaffMenuService,\n ],\n})\n\nexport class DaffMenuModule {}\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nexport const daffFadeAnimations: {\n readonly fade: AnimationTriggerMetadata;\n} = {\n fade: trigger('fade', [\n state('open', style({ opacity: 1 })),\n state('closed', style({ opacity: 0 })),\n transition('open <=> closed', animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)')),\n ]),\n};\n","export const getAnimationState = (open: boolean) => open ? 'open' : 'closed';\n","import { AnimationEvent } from '@angular/animations';\nimport {\n CdkPortalOutlet,\n ComponentPortal,\n} from '@angular/cdk/portal';\nimport {\n Component,\n Output,\n EventEmitter,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n ViewChild,\n HostListener,\n} from '@angular/core';\n\nimport { daffFadeAnimations } from '../animations/modal-animation';\nimport { getAnimationState } from '../animations/modal-animation-state';\n\n\n@Component({\n selector: 'daff-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n animations: [daffFadeAnimations.fade],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffModalComponent {\n /**\n * Dictates whether or not a modal is open or closed.\n */\n @Input() open = false;\n\n /**\n * The CDK Portal outlet used to portal content into the modal.\n */\n @ViewChild(CdkPortalOutlet, { static: true }) private _portalOutlet: CdkPortalOutlet;\n\n /**\n * Event fired when the close animation is completed.\n */\n animationCompleted: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * Event fired when the close animation is completed.\n */\n closedAnimationCompleted: EventEmitter<any> = new EventEmitter<\n any\n >();\n\n /**\n * Event fired when the backdrop is clicked\n * This is often used to close the modal\n */\n hide: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Hostbinding to set the default modal class on the host element\n *\n * @docs-private\n */\n @HostBinding('class.daff-modal') modalClass = true;\n\n /**\n * Helper method to attach portable content to modal\n */\n attachContent(portal: ComponentPortal<any>): any {\n\t this._portalOutlet.attachComponentPortal(portal);\n }\n\n /**\n * Animation hook that controls the entrance and exit animations\n * of the modal\n */\n @HostBinding('@fade') get fadeState(): string {\n\t return getAnimationState(this.open);\n }\n\n /**\n * Animation event that can used to hook into when\n * animations are fully completed. We use this in the DaffModalService\n * to determine when to actually remove the dynamically rendered element from the DOM\n * so that the animation does not clip as the element is removed.\n */\n @HostListener('@fade.done', ['$event'])\n animationDone(e: AnimationEvent) {\n\t this.animationCompleted.emit(e);\n\t if (e.toState === 'closed') {\n\t this.closedAnimationCompleted.emit(e);\n\t }\n }\n}\n","<ng-template cdkPortalOutlet></ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-actions',\n template: '<ng-content></ng-content>',\n styleUrls: ['./modal-actions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffModalActionsComponent { }\n","import {\n Component,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-content',\n template: '<ng-content></ng-content>',\n styleUrls: ['./modal-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffModalContentComponent {}\n","import {\n Component,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-header',\n template: '<ng-content></ng-content>',\n styleUrls: ['./modal-header.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffModalHeaderComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-header') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffModalTitle]',\n})\nexport class DaffModalTitleDirective {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-title') class = true;\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\nimport { DaffModalComponent } from './modal/modal.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PortalModule,\n OverlayModule,\n ],\n exports: [\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n ],\n declarations: [\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n ],\n})\nexport class DaffModalModule { }\n","import { AnimationEvent } from '@angular/animations';\nimport {\n OverlayRef,\n Overlay,\n GlobalPositionStrategy,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Injectable,\n Type,\n ComponentRef,\n} from '@angular/core';\n\nimport { DaffModal } from '../modal';\nimport { DaffModalModule } from '../modal.module';\nimport { DaffModalConfiguration } from '../modal/modal-config';\nimport { DaffModalComponent } from '../modal/modal.component';\n\n@Injectable({\n providedIn: DaffModalModule,\n})\nexport class DaffModalService {\n private _modals: DaffModal[] = [];\n\n constructor(private overlay: Overlay) {}\n\n private defaultConfiguration: DaffModalConfiguration = {};\n\n private _attachModal(\n\t overlayRef: OverlayRef,\n ): ComponentRef<DaffModalComponent> {\n\t const modal = overlayRef.attach(new ComponentPortal(DaffModalComponent));\n\t modal.instance.open = true;\n\t return modal;\n }\n\n private _attachModalContent(\n\t component: Type<any>,\n\t modal: ComponentRef<DaffModalComponent>,\n ): void {\n\t modal.instance.attachContent(new ComponentPortal(component));\n }\n\n private _createOverlayRef(): OverlayRef {\n\t return this.overlay.create({\n\t hasBackdrop: true,\n\t positionStrategy: new GlobalPositionStrategy()\n\t .centerHorizontally()\n\t .centerVertically(),\n\t scrollStrategy: this.overlay.scrollStrategies.block(),\n\t });\n }\n\n private _removeModal(modal: DaffModal) {\n\t const index = this._modals.indexOf(modal);\n\t if (index === -1) {\n\t throw new Error(\n\t 'The Modal that you are trying to remove does not exist.',\n\t );\n\t }\n\n\t modal.overlay.dispose();\n\n\t this._modals = this._modals.filter(m => m !== modal);\n }\n\n open(\n\t component: Type<any>,\n\t configuration?: Partial<DaffModalConfiguration>,\n ): DaffModal {\n\t const config = { ...this.defaultConfiguration, ...configuration };\n\t const _ref = this._createOverlayRef();\n\t const _modal = this._attachModal(_ref);\n\t const _attachedModal = this._attachModalContent(component, _modal);\n\n\t const modal: DaffModal = {\n\t modal: _modal,\n\t overlay: _ref,\n\t };\n\n\t this._modals.push(modal);\n\n\t _ref\n\t .backdropClick()\n\t .subscribe(() =>\n\t config.onBackdropClicked\n\t ? config.onBackdropClicked()\n\t : this.close(modal),\n\t );\n\t return modal;\n }\n\n close(modal: DaffModal): void {\n\t modal.modal.instance.open = false;\n\t modal.overlay.detachBackdrop();\n\t modal.modal.instance.closedAnimationCompleted.subscribe(\n\t (e: AnimationEvent) => this._removeModal(modal),\n\t );\n }\n}\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\n/**\n * A mixin for giving a component the ability to manage a DaffContainerComponent's layout.\n * It passes predetermined layout styles down to the container. In order for a component to\n * do this, it must implement this mixin.\n */\nexport function\ndaffManageContainerLayoutMixin<T extends Constructor<HasElementRef>>(Base: T) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n this._renderer.addClass(this._elementRef.nativeElement, `daff-manage-container-layout`);\n }\n };\n}\n","import {\n Component,\n Input,\n ElementRef,\n HostBinding,\n Renderer2,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\nimport {\n DaffColorable,\n daffColorMixin,\n} from '../../core/colorable/public_api';\nimport { daffManageContainerLayoutMixin } from '../../core/manage-container-layout/public_api';\n\n/**\n * An _elementRef is needed for the Colorable mixin\n */\nclass DaffNavbarBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffNavbarBase = daffManageContainerLayoutMixin(daffColorMixin(DaffNavbarBase));\n\n/**\n * @inheritdoc\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'nav[daff-navbar]',\n styleUrls: ['./navbar.component.scss'],\n template: '<ng-content></ng-content>',\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffNavbarComponent extends _daffNavbarBase implements DaffColorable {\n\n @Input() raised = false;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-navbar--raised') get raisedClass() {\n return this.raised;\n };\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-navbar') hostClass = true;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffNavbarComponent } from './navbar.component';\n\n@NgModule({\n declarations: [\n DaffNavbarComponent,\n ],\n exports: [\n DaffNavbarComponent,\n ],\n})\nexport class DaffNavbarModule { }\n","export const DaffPaginatorNumberOfPagesErrorMessage = 'The numberOfPages in the daff-paginator must not be less than 1';\nexport const DaffPaginatorPageOutOfRangeErrorMessage = 'The numberOfPages in the daff-paginator should not be less than the currentPage';\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n HostBinding,\n ElementRef,\n OnChanges,\n ChangeDetectionStrategy,\n Renderer2,\n OnInit,\n} from '@angular/core';\nimport {\n faChevronRight,\n faChevronLeft,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport {\n daffColorMixin,\n DaffPalette,\n DaffColorable,\n} from '../../core/colorable/public_api';\nimport {\n DaffPaginatorNumberOfPagesErrorMessage,\n DaffPaginatorPageOutOfRangeErrorMessage,\n} from './paginator-errors';\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the Colorable mixin\n */\nclass DaffPaginatorBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffPaginatorBase = daffColorMixin(DaffPaginatorBase);\n\nconst visiblePageRange = 2;\n\n/**\n * @inheritdoc\n */\n@Component({\n selector: 'daff-paginator',\n styleUrls: ['./paginator.component.scss'],\n templateUrl: './paginator.component.html',\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffPaginatorComponent extends _daffPaginatorBase implements OnChanges, DaffColorable {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-paginator') class = true;\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'navigation';\n\n /**\n * @docs-private\n */\n faChevronRight = faChevronRight;\n /**\n * @docs-private\n */\n faChevronLeft = faChevronLeft;\n\n /**\n * @docs-private\n */\n _paginatorId: string;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n\t super(elementRef, renderer);\n\t const ariaLabel = elementRef.nativeElement.attributes['aria-label'];\n\t this._paginatorId = ariaLabel ? ariaLabel.nodeValue : null;\n }\n\n /**\n * The total number of pages the paginator tracks. This number can change dynamically, but the end user is responsible for keeping numberOfPages\n * and currentPage in sync. For example, if the numberOfPages is dynamically changed to a value less than the currentPage, the paginator will break.\n */\n @Input() numberOfPages: number;\n\n /**\n * The currently selected page.\n */\n @Input() currentPage: number;\n\n /**\n * @docs-private\n */\n _numberOfPagesArray: number[];\n\n /**\n * Emits when the current page changes with the new current page.\n */\n @Output() notifyPageChange: EventEmitter<any> = new EventEmitter();\n\n /**\n * @docs-private\n */\n ngOnChanges() {\n if(this.numberOfPages < 1) {\n throw new Error(DaffPaginatorNumberOfPagesErrorMessage);\n } else if(this.numberOfPages < this.currentPage) {\n throw new Error(DaffPaginatorPageOutOfRangeErrorMessage);\n }\n\n this._numberOfPagesArray = this.numberOfPages < 2 ? [] : Array(this.numberOfPages-2).fill(this.numberOfPages-2).map((x,i)=>i+2);\n }\n\n /**\n * Emits the previous page number through notifyPageChange Output.\n *\n * @docs-private\n */\n _onNotifyPrevPageChange() {\n this.notifyPageChange.emit(this.currentPage - 1);\n }\n\n /**\n * Emits the next page number through notifyPageChange Output.\n *\n * @docs-private\n */\n _onNotifyNextPageChange() {\n this.notifyPageChange.emit(this.currentPage + 1);\n }\n\n /**\n * Emits a pageNumber to notifyPageChange Output.\n *\n * @docs-private\n * @param pageNumber a page number\n */\n _onNotifyPageChange(pageNumber: number) {\n this.notifyPageChange.emit(pageNumber);\n }\n\n /**\n * A simple function that determines if the given page number is the current page number.\n *\n * @docs-private\n * @param page a page number\n */\n _isSelected(page: number): boolean {\n return page === this.currentPage;\n }\n\n /**\n * Determines when ellipsis after the first page number should show.\n *\n * @docs-private\n */\n _showFirstEllipsis(): boolean {\n return this.currentPage >= visiblePageRange+2;\n }\n\n /**\n * Determines when ellipsis before the final page number should show.\n *\n * @docs-private\n */\n _showLastEllipsis(): boolean {\n return this.currentPage < (this.numberOfPages - visiblePageRange);\n }\n\n /**\n * Determines if the given page number should be shown. The two additional 'or' conditionals are needed\n * so the paginator retains the same total width at the extreme page numbers (1 and numberOfPages).\n *\n * @docs-private\n * @param pageNumber page number to check.\n */\n _showNumber(pageNumber: number): boolean {\n return Math.abs(this.currentPage - pageNumber) < visiblePageRange\n || (this.currentPage <= visiblePageRange && pageNumber <= 2*visiblePageRange)\n || (this.currentPage > this.numberOfPages - visiblePageRange && pageNumber > this.numberOfPages - 2*visiblePageRange);\n }\n\n /**\n * Determines when the Previous button should be disabled.\n *\n * @docs-private\n */\n _disablePrev(): boolean {\n return this.currentPage === 1;\n }\n\n /**\n * Determines when the Next button should be disabled.\n *\n * @docs-private\n */\n _disableNext(): boolean {\n return this.currentPage === this.numberOfPages;\n }\n}\n","<button type=\"button\" class=\"daff-paginator__previous\"\n [disabled]=\"_disablePrev()\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Previous Page of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPrevPageChange()\">\n <fa-icon [icon]=\"faChevronLeft\"></fa-icon> Previous\n</button>\n\n<button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(1)\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page 1 of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPageChange(1)\">\n 1\n</button>\n\n<span class=\"daff-paginator__ellipsis\" *ngIf=\"_showFirstEllipsis()\">...</span>\n\n<ng-container *ngFor=\"let pageNumber of _numberOfPagesArray\">\n <button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(pageNumber)\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page {{pageNumber}} of {{_paginatorId}} Paginator\"\n aria-current=\"_isSelected(pageNumber)\"\n *ngIf=\"_showNumber(pageNumber)\"\n (click)=\"_onNotifyPageChange(pageNumber)\">\n {{ pageNumber }}\n </button>\n</ng-container>\n\n<span class=\"daff-paginator__ellipsis\" *ngIf=\"_showLastEllipsis()\">...</span>\n\n<button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(numberOfPages)\"\n tabindex=\"0\"\n attr.aria-label=\"Go To Page {{numberOfPages}} of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPageChange(numberOfPages)\"\n *ngIf=\"!(numberOfPages < 2)\">\n {{ numberOfPages }}\n</button>\n\n<button class=\"daff-paginator__next\"\n [disabled]=\"_disableNext()\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Next Page of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyNextPageChange()\">\n Next <fa-icon [icon]=\"faChevronRight\"></fa-icon>\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffButtonModule } from '../../atoms/button/public_api';\nimport { DaffPaginatorComponent } from './paginator.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FontAwesomeModule,\n DaffButtonModule,\n ],\n declarations: [\n DaffPaginatorComponent,\n ],\n exports: [\n DaffPaginatorComponent,\n ],\n})\nexport class DaffPaginatorModule {}\n","import {\n Component,\n OnInit,\n Input,\n Renderer2,\n Output,\n EventEmitter,\n} from '@angular/core';\n\n/**\n * @deprecated See {@link DaffQuantityFieldComponent}\n */\n// ChangeDetection is ignored because this component is deprecated and will be removed\n// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n@Component({\n selector: 'daff-qty-dropdown',\n styleUrls: ['./qty-dropdown.component.scss'],\n templateUrl: './qty-dropdown.component.html',\n})\nexport class DaffQtyDropdownComponent implements OnInit {\n\n private readonly dropdownRange = 9;\n\n @Input() qty: number;\n @Input() id: number | string;\n @Output() qtyChanged: EventEmitter<number> = new EventEmitter<number>();\n\n /**\n * @docs-private\n */\n dropdownItemCounter: number[];\n /**\n * @docs-private\n */\n inputHasBeenShown: boolean;\n /**\n * @docs-private\n */\n onChange = (qty: number) => {};\n /**\n * @docs-private\n */\n onTouched = () => {};\n\n constructor(private renderer: Renderer2) { }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.dropdownItemCounter = Array.from(Array(this.dropdownRange),(x,i)=>i);\n\n if (!this.qty) {\n this.qty = 1;\n }\n }\n\n /**\n * @docs-private\n */\n writeValue(qty: number): void {\n this.qty = qty;\n this.onChange(this.qty);\n }\n\n /**\n * @docs-private\n */\n registerOnChange(fn: (qty: number) => void): void {\n this.onChange = fn;\n }\n\n /**\n * @docs-private\n */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /**\n * @docs-private\n */\n setDisabledState(isDisabled: boolean): void {\n if (this.inputHasBeenShown) {\n this.renderer.setProperty(document.getElementById('input_' + this.id), 'disabled', isDisabled);\n } else {\n this.renderer.setProperty(document.getElementById('select_' + this.id), 'disabled', isDisabled);\n }\n }\n\n /**\n * @docs-private\n */\n get showQtyInputField(): boolean {\n if (!this.isQtyOutsideDropdownRange() && !this.inputHasBeenShown) {\n return false;\n } else {\n this.inputHasBeenShown = true;\n return true;\n }\n }\n\n /**\n * @docs-private\n */\n onChangedWrapper(value: any) {\n value = parseInt(value, 10);\n if (value === 10) {\n this.selectInput();\n }\n this.qtyChanged.emit(value);\n this.onChange(value);\n }\n\n private isQtyOutsideDropdownRange() {\n return this.qty > this.dropdownRange;\n }\n\n private selectInput() {\n // TODO: readdress this method\n // why are we binding `this`?\n // why use `setTimeout` instead of angular patterns?\n const that = this;\n setTimeout(() => {\n const input = <HTMLInputElement>document.getElementById('input_' + that.id);\n input?.select();\n });\n }\n}\n","<daff-form-field class=\"daff-qty-dropdown\">\n <select daff-native-select *ngIf=\"!showQtyInputField\" id=\"select_{{id}}\" [(ngModel)]=\"qty\" (ngModelChange)=\"onChangedWrapper(qty)\" (blur)=\"onTouched()\">\n <option *ngFor=\"let item of dropdownItemCounter\" [value]=\"item+1\">{{ item+1 }}</option>\n <option value=\"10\">10+</option>\n </select>\n <input daff-input id=\"input_{{id}}\" class=\"daff-qty-dropdown__input\" [(ngModel)]=\"qty\" (ngModelChange)=\"onChangedWrapper(qty)\" (blur)=\"onTouched()\" *ngIf=\"showQtyInputField\">\n</daff-form-field>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { DaffFormFieldModule } from '../../atoms/form/form-field/form-field.module';\nimport { DaffInputModule } from '../../atoms/form/input/input.module';\nimport { DaffNativeSelectModule } from '../../atoms/form/native-select/public_api';\nimport { DaffQtyDropdownComponent } from './qty-dropdown.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n DaffFormFieldModule,\n DaffNativeSelectModule,\n DaffInputModule,\n ],\n declarations: [\n DaffQtyDropdownComponent,\n ],\n exports: [\n DaffQtyDropdownComponent,\n ],\n})\nexport class DaffQtyDropdownModule { }\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nconst duration = '200ms';\nconst sidebarAnimateInTransition = 'cubic-bezier(0.0, 0.0, 0.2, 1)';\nconst sidebarAnimateOutTransition = 'cubic-bezier(0.4, 0.0, 1, 1)';\n\nexport const daffSidebarAnimations: {\n readonly transformSidebar: AnimationTriggerMetadata;\n readonly transformContent: AnimationTriggerMetadata;\n readonly backdropTrigger: AnimationTriggerMetadata;\n} = {\n transformSidebar: trigger('transformSidebar', [\n // We remove the `transform` here completely, rather than setting it to zero, because:\n // 1. 3d transforms causes text to appear blurry on IE and Edge.\n state('open', style({\n transform: 'none',\n })),\n state('closed', style({\n transform: 'translateX({{width}})',\n }), { params: { width: '-240px' }}),\n transition('open => closed', animate(duration + ' ' + sidebarAnimateOutTransition)),\n transition('closed => open', animate(duration + ' ' + sidebarAnimateInTransition)),\n ]),\n transformContent: trigger('transformContent', [\n // We remove the `transform` here completely, rather than setting it to zero, because:\n // 1. 3d transforms causes text to appear blurry on IE and Edge.\n state('closed', style({\n transform: 'none',\n })),\n state('open', style({\n transform: 'translateX({{shift}})',\n }), { params: { shift: '-240px' }}),\n transition('open => closed', animate(duration + ' ' + sidebarAnimateInTransition)),\n transition('closed => open', animate(duration + ' ' + sidebarAnimateOutTransition)),\n ]),\n backdropTrigger: trigger('backdropTrigger', [\n state('open', style({\n opacity: 1,\n })),\n state('closed', style({\n opacity: 0,\n })),\n transition('open => closed', animate(duration + ' ' + sidebarAnimateOutTransition)),\n transition('closed => open', animate(duration + ' ' + sidebarAnimateInTransition)),\n ]),\n};\n\nexport enum DaffSidebarAnimationStates {\n OPEN = 'open',\n CLOSED = 'closed',\n NONE = 'none'\n}\n","export type DaffSidebarAnimationState = 'open' | 'closed' | 'none';\n\nexport const getAnimationState = (open: boolean, enabled: boolean = true): DaffSidebarAnimationState => {\n if(!enabled){\n return 'none';\n }\n if(open && enabled){\n return 'open';\n } else {\n return 'closed';\n }\n};\n","import { DaffSidebarSide } from '../helper/sidebar-side';\n\nexport const getSidebarAnimationWidth =\n (side: DaffSidebarSide, width: number): string => side === 'left' ? -1 * width + 'px' : width + 'px';\n","import {\n Component,\n ViewEncapsulation,\n NgZone,\n ElementRef,\n Output,\n EventEmitter,\n HostBinding,\n ChangeDetectionStrategy,\n Input,\n} from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { daffSidebarAnimations } from '../animation/sidebar-animation';\nimport { getAnimationState } from '../animation/sidebar-animation-state';\nimport { getSidebarAnimationWidth } from '../animation/sidebar-animation-width';\nimport { DaffSidebarMode } from '../helper/sidebar-mode';\nimport { DaffSidebarSide } from '../helper/sidebar-side';\n\n/**\n * DaffSidebarComponent is heavily based upon the work done by the @angular/components\n * team on `mat-drawer` and `mat-sidenav`. `daff-sidebar` is intended to be\n * a simplified version (with a different design) of `mat-drawer`.\n */\n@Component({\n selector: 'daff-sidebar',\n styleUrls: ['./sidebar.component.scss'],\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n daffSidebarAnimations.transformSidebar,\n ],\n})\nexport class DaffSidebarComponent {\n /**\n * The CSS classes set.\n */\n @HostBinding('class') get classes() {\n return {\n 'daff-sidebar': true,\n [this.side]: true,\n [this.mode]: true,\n };\n };\n\n /**\n * The animation state of the sidebar.\n */\n @HostBinding('@transformSidebar') get transformSidebar() {\n return {\n value: getAnimationState(this.open, this.mode === 'over' || this.mode === 'side-fixed'),\n params: { width: getSidebarAnimationWidth(this.side, this.width) },\n };\n }\n\n /**\n * Event fired when `ESC` key is pressed when the sidebar has focus\n */\n @Output() escapePressed: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * What side of the viewport to show the sidebar on.\n */\n @Input() side: DaffSidebarSide = 'left';\n\n /**\n * The mode of the sidebar.\n */\n @Input() mode: DaffSidebarMode = 'side';\n\n /**\n * Whether or not the sidebar is open.\n */\n @Input() open = false;\n\n /**\n * The width of the sidebar.\n */\n get width() {\n return this._elementRef.nativeElement.offsetWidth;\n }\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone,\n ) {\n\n /**\n * Listen to `keydown` events outside the zone so that change detection is not run every\n * time a key is pressed. Instead we re-enter the zone only if the `ESC` key is pressed.\n *\n */\n this._ngZone.runOutsideAngular(() => {\n fromEvent<KeyboardEvent>(this._elementRef.nativeElement, 'keydown').pipe(\n filter(event => event.key === 'Escape'),\n ).subscribe(event => this._ngZone.run(() => {\n this.escapePressed.emit();\n event.stopPropagation();\n }));\n });\n }\n}\n","import { QueryList } from '@angular/core';\n\nimport { DaffSidebarComponent } from '../sidebar/sidebar.component';\n\n/**\n * Determines, given a list of sidebars, whether or not the backdrop is interactable (typically clickable).\n */\nexport const sidebarViewportBackdropInteractable = (sidebars: QueryList<DaffSidebarComponent>): boolean => sidebars.reduce(\n (acc: boolean, sidebar) => ((sidebar.mode === 'over' || sidebar.mode === 'under') && sidebar.open) || acc,\n false);\n","import { QueryList } from '@angular/core';\n\nimport { DaffSidebarModeEnum } from '../helper/sidebar-mode';\nimport { DaffSidebarSide } from '../helper/sidebar-side';\nimport { DaffSidebarComponent } from '../sidebar/sidebar.component';\n\n\n/**\n * Given a list of sidebars, compute the associated content shift.\n */\nexport const sidebarViewportContentPadding = (sidebars: QueryList<DaffSidebarComponent>, side: DaffSidebarSide): number =>\n sidebars.reduce((acc: number, sidebar) => {\n if(!(sidebar.mode === DaffSidebarModeEnum.SideFixed && sidebar.open)) {\n return acc;\n }\n\n if(sidebar.side === side){\n return sidebar.width;\n } else {\n // This component is \"stateless\", its possible to have two open \"under\" sidebars.\n // As such, we defer to \"left\" being open by default.\n return acc;\n }\n }, 0);\n","import { QueryList } from '@angular/core';\n\nimport { DaffSidebarMode } from '../helper/sidebar-mode';\nimport { DaffSidebarComponent } from '../sidebar/sidebar.component';\n\nexport const isViewportContentShifted = (mode: DaffSidebarMode, open: boolean): boolean => (mode === 'under' && open);\n\n/**\n * Given a list of sidebars, compute the associated content shift.\n */\nexport const sidebarViewportContentShift = (sidebars: QueryList<DaffSidebarComponent>): number =>\n sidebars.reduce((acc: number, sidebar) => {\n if(!isViewportContentShifted(sidebar.mode, sidebar.open)) {\n return acc;\n }\n\n if(sidebar.side === 'left'){\n return sidebar.width;\n } else if (sidebar.side === 'right' && acc === 0) {\n return -1 * sidebar.width;\n } else {\n // This component is \"stateless\", its possible to have two open \"under\" sidebars.\n // As such, we defer to \"left\" being open by default.\n return acc;\n }\n }, 0);\n\n\n","import {\n Component,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ContentChildren,\n QueryList,\n AfterContentChecked,\n} from '@angular/core';\n\nimport { daffSidebarAnimations } from '../animation/sidebar-animation';\nimport { getAnimationState } from '../animation/sidebar-animation-state';\nimport { DaffSidebarViewportAnimationState } from '../animation/sidebar-viewport-animation-state';\nimport { DaffSidebarMode } from '../helper/sidebar-mode';\nimport { DaffSidebarComponent } from '../sidebar/sidebar.component';\nimport { sidebarViewportBackdropInteractable } from './backdrop-interactable';\nimport { sidebarViewportContentPadding } from './content-pad';\nimport {\n isViewportContentShifted,\n sidebarViewportContentShift,\n} from './content-shift';\n\n/**\n * The DaffSidebarViewport is the \"holder\" of sidebars throughout an entire application.\n * It's generally only used once, like\n *\n * ```html\n * <daff-sidebar-viewport>\n * <daff-sidebar></daff-sidebar>\n * <p>Some Content</p>\n * </daff-sidebar-viewport>\n * ```\n *\n * Importantly, its possible for there to be multiple sidebars of many modes\n * at the same time. @see {@link DaffSidebarMode }\n *\n * Since this is a functional component, it's possible to have multiple \"open\" sidebars\n * within at the same time. As a result, this component attempts to\n * gracefully handle these situations. However, importantly, this sidebar\n * has a constraint, there's only allowed to be one sidebar,\n * of each mode, on each side, at any given time. If this is violated,\n * this component will throw an exception.\n */\n@Component({\n selector: 'daff-sidebar-viewport',\n templateUrl: './sidebar-viewport.component.html',\n styleUrls: ['./sidebar-viewport.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n daffSidebarAnimations.transformContent,\n ],\n})\nexport class DaffSidebarViewportComponent implements AfterContentChecked {\n\n constructor(private cdRef: ChangeDetectorRef) { }\n\n /**\n * The list of sidebars in the viewport.\n *\n * @docs-private\n */\n @ContentChildren(DaffSidebarComponent, { descendants: false }) private sidebars: QueryList<DaffSidebarComponent>;\n\n /**\n * The number of pixels that the main content of the page should be shifted to\n * right when there are child sidebars.\n */\n private _shift = '0px';\n\n /**\n * The left padding on the content when left side-fixed sidebars are open.\n */\n public _contentPadLeft = 0;\n\n /**\n * The right padding on the content when right side-fixed sidebars are open.\n */\n public _contentPadRight = 0;\n\n /**\n * Whether or not the backdrop is interactable\n */\n _backdropInteractable = false;\n\n /**\n * The animation state\n */\n _animationState: DaffSidebarViewportAnimationState = { value: 'closed', params: { shift: '0px' }};\n\n /**\n * Event fired when the backdrop is clicked\n * This is often used to close the sidebar\n */\n @Output() backdropClicked: EventEmitter<void> = new EventEmitter<void>();\n\n ngAfterContentChecked() {\n const nextShift = sidebarViewportContentShift(this.sidebars) + 'px';\n if (this._shift !== nextShift) {\n this._shift = nextShift;\n this.updateAnimationState();\n this.cdRef.markForCheck();\n }\n\n const nextBackdropInteractable = sidebarViewportBackdropInteractable(this.sidebars);\n if (this._backdropInteractable !== nextBackdropInteractable) {\n this._backdropInteractable = nextBackdropInteractable;\n this.updateAnimationState();\n this.cdRef.markForCheck();\n };\n\n const nextLeftPadding = sidebarViewportContentPadding(this.sidebars, 'left');\n if(this._contentPadLeft !== nextLeftPadding) {\n this._contentPadLeft = nextLeftPadding;\n this.updateAnimationState();\n this.cdRef.markForCheck();\n }\n\n const nextRightPadding = sidebarViewportContentPadding(this.sidebars, 'right');\n if(this._contentPadRight !== nextRightPadding) {\n this._contentPadRight = nextRightPadding;\n this.updateAnimationState();\n this.cdRef.markForCheck();\n }\n }\n\n /**\n * @docs-private\n *\n * Updates the animation state of the viewport depending upon the state\n * of all sidebars within the viewport.\n */\n private updateAnimationState() {\n this._animationState = {\n value: getAnimationState(\n this.sidebars.reduce((acc: boolean, sidebar) => acc || isViewportContentShifted(sidebar.mode, sidebar.open), false),\n ),\n params: { shift: this._shift },\n };\n }\n\n /**\n * @docs-private\n * The called when the backdrop of the viewport is clicked upon.\n */\n _backdropClicked(): void {\n this.backdropClicked.emit();\n }\n}\n","<ng-content select=\"daff-sidebar:not([side=right])\"></ng-content>\n\n<daff-backdrop\n [@transformContent]=\"_animationState\"\n class=\"daff-sidebar-viewport__backdrop\"\n [interactable]=\"_backdropInteractable\"\n (backdropClicked)=\"_backdropClicked()\"></daff-backdrop>\n\n<div class=\"daff-sidebar-viewport__content\" [@transformContent]=\"_animationState\">\n <ng-content select=\"[daff-sidebar-viewport-nav]\"></ng-content>\n <div class=\"daff-sidebar-viewport__inner\" [style.padding-left.px]=\"_contentPadLeft\" [style.padding-right.px]=\"_contentPadRight\">\n <ng-content></ng-content>\n </div>\n</div>\n\n<ng-content select=\"daff-sidebar[side=right]\"></ng-content>","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffBackdropModule } from '../backdrop/backdrop.module';\nimport { DaffSidebarViewportComponent } from './sidebar-viewport/sidebar-viewport.component';\nimport { DaffSidebarComponent } from './sidebar/sidebar.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n DaffBackdropModule,\n A11yModule,\n ],\n declarations: [\n DaffSidebarComponent,\n DaffSidebarViewportComponent,\n ],\n exports: [\n DaffSidebarComponent,\n DaffSidebarViewportComponent,\n ],\n})\nexport class DaffSidebarModule { }\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffHeroBody]',\n})\n\nexport class DaffHeroBodyDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-hero__body') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffHeroIcon]',\n})\n\nexport class DaffHeroIconDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-hero__icon') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffHeroSubtitle]',\n})\n\nexport class DaffHeroSubtitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-hero__subtitle') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffHeroTagline]',\n})\n\nexport class DaffHeroTaglineDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-hero__tagline') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffHeroTitle]',\n})\n\nexport class DaffHeroTitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-hero__title') class = true;\n}\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffCompactableMixin<T extends Constructor<HasElementRef>>(Base: T, defaultCompact: boolean = false) {\n return class extends Base {\n // TODO move this back to private in Typescript 3.1\n _compact: boolean;\n\n get compact(): boolean {\n return this._compact;\n }\n\n set compact(value: boolean) {\n // Handles the default compact\n const incomingCompact = value || defaultCompact;\n\n if (incomingCompact === this._compact) { // Only run the dom-render if a change occurs\n return;\n }\n\n if (incomingCompact) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-compact`);\n } else {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-compact`);\n }\n\n this._compact = incomingCompact;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.compact = defaultCompact;\n }\n };\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\nimport { DaffTextAlignment } from './text-alignable';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffTextAlignmentMixin<T extends Constructor<HasElementRef>>(Base: T, defaultTextAlignment?: DaffTextAlignment) {\n class DaffTextAlignableMixin extends Base {\n // TODO move this back to private in Typescript 3.1\n _textAlignment: DaffTextAlignment;\n\n /**\n * Controls text alignment for component-specific UI\n */\n get textAlignment(): DaffTextAlignment {\n return this._textAlignment;\n }\n set textAlignment(value: DaffTextAlignment) {\n // Handles the default text alignment\n const incomingTextAlignment = value || defaultTextAlignment;\n\n if (incomingTextAlignment === this._textAlignment) { // Only run the dom-render if a change occurs\n return;\n }\n\n // Removes the old text alignment\n if (this._textAlignment) {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._textAlignment}`);\n }\n\n if (incomingTextAlignment) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingTextAlignment}`);\n }\n\n this._textAlignment = incomingTextAlignment;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.textAlignment = defaultTextAlignment;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffTextAlignableMixin.prototype, 'textAlignment');\n\n return DaffTextAlignableMixin;\n}\n","import {\n Component,\n ViewEncapsulation,\n Input,\n ElementRef,\n ChangeDetectionStrategy,\n HostBinding,\n Renderer2,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../../core/article-encapsulated/public_api';\nimport {\n daffColorMixin,\n DaffColorable,\n} from '../../../core/colorable/public_api';\nimport {\n DaffCompactable,\n daffCompactableMixin,\n} from '../../../core/compactable/public_api';\nimport { daffManageContainerLayoutMixin } from '../../../core/manage-container-layout/public_api';\nimport { DaffTextAlignable } from '../../../core/text-alignable/text-alignable';\nimport { daffTextAlignmentMixin } from '../../../core/text-alignable/text-alignable-mixin';\n\n/**\n * @deprecated See {@link DaffTextAlignable}\n */\nexport type DaffHeroLayout = 'centered' | undefined;\nexport enum DaffHeroLayoutEnum {\n Centered = 'centered'\n}\n\n/**\n * @deprecated See {@link DaffCompactable}\n */\nexport type DaffHeroSize = 'compact' | 'small' | undefined;\nexport enum DaffHeroSizeEnum {\n Compact = 'compact',\n Small = 'small'\n}\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the hero mixins\n */\nclass DaffHeroBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffHeroBase = daffArticleEncapsulatedMixin(daffManageContainerLayoutMixin(daffColorMixin(daffCompactableMixin(daffTextAlignmentMixin(DaffHeroBase, 'left')))));\n\n/**\n * @inheritdoc\n */\n@Component({\n selector: 'daff-hero',\n template: '<ng-content></ng-content>',\n styleUrls: ['./hero.component.scss'],\n encapsulation: ViewEncapsulation.None,\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'compact', 'textAlignment'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffHeroComponent extends _daffHeroBase implements DaffColorable, DaffTextAlignable, DaffCompactable {\n\n /**\n * @deprecated See {@link DaffTextAlignable}\n */\n @Input() layout: DaffHeroLayout;\n\n /**\n * @deprecated See {@link DaffCompactable}\n */\n @Input() size: DaffHeroSize;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-hero') class = true;\n\n /**\n * @deprecated See {@link DaffTextAlignable}\n */\n @HostBinding('class.daff-hero--centered') get centered() {\n\t return this.layout === DaffHeroLayoutEnum.Centered;\n }\n\n /**\n * @deprecated See {@link DaffCompactable}\n */\n @HostBinding('class.daff-hero--compact') get compactClass() {\n\t return this.size === DaffHeroSizeEnum.Compact || this.compact === true || this.size === DaffHeroSizeEnum.Small;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffHeroBodyDirective } from './hero-body/hero-body.directive';\nimport { DaffHeroIconDirective } from './hero-icon/hero-icon.directive';\nimport { DaffHeroSubtitleDirective } from './hero-subtitle/hero-subtitle.directive';\nimport { DaffHeroTaglineDirective } from './hero-tagline/hero-tagline.directive';\nimport { DaffHeroTitleDirective } from './hero-title/hero-title.directive';\nimport { DaffHeroComponent } from './hero/hero.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffHeroComponent,\n DaffHeroIconDirective,\n DaffHeroTaglineDirective,\n DaffHeroTitleDirective,\n DaffHeroSubtitleDirective,\n DaffHeroBodyDirective,\n ],\n exports: [\n DaffHeroComponent,\n DaffHeroIconDirective,\n DaffHeroTaglineDirective,\n DaffHeroTitleDirective,\n DaffHeroSubtitleDirective,\n DaffHeroBodyDirective,\n ],\n})\nexport class DaffHeroModule { }\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCalloutBody]',\n})\n\nexport class DaffCalloutBodyDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-callout__body') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCalloutIcon]',\n})\n\nexport class DaffCalloutIconDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-callout__icon') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCalloutSubtitle]',\n})\n\nexport class DaffCalloutSubtitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-callout__subtitle') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCalloutTagline]',\n})\n\nexport class DaffCalloutTaglineDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-callout__tagline') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCalloutTitle]',\n})\n\nexport class DaffCalloutTitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-callout__title') class = true;\n}\n","import {\n Component,\n ViewEncapsulation,\n Input,\n ElementRef,\n ChangeDetectionStrategy,\n HostBinding,\n Renderer2,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../../core/article-encapsulated/public_api';\nimport {\n DaffColorable,\n daffColorMixin,\n} from '../../../core/colorable/public_api';\nimport {\n DaffCompactable,\n daffCompactableMixin,\n} from '../../../core/compactable/public_api';\nimport { daffManageContainerLayoutMixin } from '../../../core/manage-container-layout/public_api';\nimport { DaffTextAlignable } from '../../../core/text-alignable/text-alignable';\nimport { daffTextAlignmentMixin } from '../../../core/text-alignable/text-alignable-mixin';\n\n/**\n * @deprecated See {@link DaffTextAlignable}\n */\nexport type DaffCalloutLayout = 'centered' | undefined;\nexport enum DaffCalloutLayoutEnum {\n Centered = 'centered'\n}\n\n/**\n * @deprecated See {@link DaffCompactable}\n */\nexport type DaffCalloutSize = 'compact' | undefined;\nexport enum DaffCalloutSizeEnum {\n Compact = 'compact'\n}\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the Colorable mixin\n */\nclass DaffCalloutBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffCalloutBase = daffArticleEncapsulatedMixin(daffManageContainerLayoutMixin(daffColorMixin(daffCompactableMixin(daffTextAlignmentMixin(DaffCalloutBase, 'left')))));\n\n/**\n * @inheritdoc\n */\n@Component({\n selector: 'daff-callout',\n template: '<ng-content></ng-content>',\n styleUrls: ['./callout.component.scss'],\n encapsulation: ViewEncapsulation.None,\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'compact', 'textAlignment'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCalloutComponent extends _daffCalloutBase implements DaffColorable, DaffTextAlignable, DaffCompactable {\n /**\n * @deprecated See {@link DaffTextAlignable}\n */\n @Input() layout: DaffCalloutLayout;\n\n /**\n * @deprecated See {@link DaffCompactable}\n */\n @Input() size: DaffCalloutSize;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-callout') class = true;\n\n /**\n * @deprecated See {@link DaffTextAlignable}\n */\n @HostBinding('class.daff-callout--centered') get centered() {\n\t return this.layout === DaffCalloutLayoutEnum.Centered;\n }\n\n /**\n * @deprecated See {@link DaffCompactable}\n */\n @HostBinding('class.daff-callout--compact') get compactClass() {\n\t return this.size === DaffCalloutSizeEnum.Compact;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffCalloutBodyDirective } from './callout-body/callout-body.directive';\nimport { DaffCalloutIconDirective } from './callout-icon/callout-icon.directive';\nimport { DaffCalloutSubtitleDirective } from './callout-subtitle/callout-subtitle.directive';\nimport { DaffCalloutTaglineDirective } from './callout-tagline/callout-tagline.directive';\nimport { DaffCalloutTitleDirective } from './callout-title/callout-title.directive';\nimport { DaffCalloutComponent } from './callout/callout.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffCalloutComponent,\n DaffCalloutIconDirective,\n DaffCalloutTitleDirective,\n DaffCalloutSubtitleDirective,\n DaffCalloutTaglineDirective,\n DaffCalloutBodyDirective,\n ],\n exports: [\n DaffCalloutComponent,\n DaffCalloutIconDirective,\n DaffCalloutSubtitleDirective,\n DaffCalloutTitleDirective,\n DaffCalloutTaglineDirective,\n DaffCalloutBodyDirective,\n ],\n})\n\nexport class DaffCalloutModule { }\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive ({\n selector: '[daffFeatureIcon]',\n})\nexport class DaffFeatureIconDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature__icon') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffFeatureSubheader]',\n})\nexport class DaffFeatureSubheaderDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature__subheader') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffFeatureSubtitle]',\n})\nexport class DaffFeatureSubtitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature__subtitle') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffFeatureTitle]',\n})\nexport class DaffFeatureTitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature__title') class = true;\n}\n","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n HostBinding,\n} from '@angular/core';\n\nexport type DaffFeatureMode = 'compact' | 'normal' | undefined;\nexport enum DaffFeatureModeEnum {\n Compact = 'compact',\n Normal = 'normal'\n}\n\n/**\n * @deprecated See {@link DaffCardComponent}\n */\n@Component({\n selector: 'daff-feature',\n templateUrl: './feature.component.html',\n styleUrls: ['./feature.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DaffFeatureComponent {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature') class = true;\n\n @Input() mode: DaffFeatureMode = DaffFeatureModeEnum.Normal;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature--compact') get compact() {\n return this.mode === DaffFeatureModeEnum.Compact;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature--normal') get normal() {\n return this.mode === DaffFeatureModeEnum.Normal;\n }\n}\n","<ng-content select=\"[daffFeatureIcon]\"></ng-content>\n<div class=\"daff-feature__content\">\n <ng-content select=\"[daffFeatureSubheader]\"></ng-content>\n <ng-content select=\"[daffFeatureTitle]\"></ng-content>\n <ng-content select=\"[daffFeatureSubtitle]\"></ng-content>\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffFeatureIconDirective } from './feature-icon/feature-icon.directive';\nimport { DaffFeatureSubheaderDirective } from './feature-subheader/feature-subheader.directive';\nimport { DaffFeatureSubtitleDirective } from './feature-subtitle/feature-subtitle.directive';\nimport { DaffFeatureTitleDirective } from './feature-title/feature-title.directive';\nimport { DaffFeatureComponent } from './feature/feature.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffFeatureComponent,\n DaffFeatureTitleDirective,\n DaffFeatureSubtitleDirective,\n DaffFeatureIconDirective,\n DaffFeatureSubheaderDirective,\n ],\n exports: [\n DaffFeatureComponent,\n DaffFeatureTitleDirective,\n DaffFeatureSubtitleDirective,\n DaffFeatureIconDirective,\n DaffFeatureSubheaderDirective,\n ],\n})\nexport class DaffFeatureModule { }\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCardActions]',\n})\nexport class DaffCardActionsDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card__actions') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCardContent]',\n})\nexport class DaffCardContentDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card__content') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCardIcon]',\n})\nexport class DaffCardIconDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card__icon') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCardImage]',\n})\nexport class DaffCardImageDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card__image') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCardTagline]',\n})\nexport class DaffCardTaglineDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card__tagline') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCardTitle]',\n})\nexport class DaffCardTitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card__title') class = true;\n}\n","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n HostBinding,\n ElementRef,\n Renderer2,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../../core/article-encapsulated/public_api';\nimport {\n DaffColorable,\n daffColorMixin,\n} from '../../../core/colorable/public_api';\n\nexport type DaffCardType = null | 'daff-raised-card' | 'daff-stroked-card';\n\nenum DaffCardTypeEnum {\n Raised = 'daff-raised-card',\n Stroked = 'daff-stroked-card'\n}\n\n/**\n * This attribute determines what orientation the the card contents are stacked.\n */\nexport type DaffCardOrientation = 'vertical' | 'horizontal';\nexport enum DaffCardOrientationEnum {\n Vertical = 'vertical',\n Horizontal = 'horizontal',\n}\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the Colorable mixin\n */\nclass DaffCardBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffCardBase = daffArticleEncapsulatedMixin(daffColorMixin(DaffCardBase));\n\n/**\n * @inheritdoc\n */\n@Component({\n selector:\n 'daff-card' + ',' +\n 'daff-raised-card' + ',' +\n 'daff-stroked-card' + ',' +\n 'a[daff-card]' + ',' +\n 'a[daff-raised-card]' + ',' +\n 'a[daff-stroked-card]',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n encapsulation: ViewEncapsulation.None,\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DaffCardComponent extends _daffCardBase implements OnInit, DaffColorable {\n private _orientation: DaffCardOrientation = DaffCardOrientationEnum.Vertical;\n\n @Input()\n get orientation() {\n return this._orientation;\n }\n\n set orientation(value: DaffCardOrientation) {\n if(value === null || value === undefined || <unknown>value === '') {\n this._orientation = DaffCardOrientationEnum.Vertical;\n } else {\n this._orientation = value;\n }\n };\n\n /**\n * @docs-private\n */\n private cardType: DaffCardType;\n\n private initCardType(): DaffCardType {\n const values = Object.keys(DaffCardTypeEnum).map((k) => DaffCardTypeEnum[k]);\n\n if (values.indexOf(this._getHostElement().localName) >= 0) {\n return this._getHostElement().localName;\n }\n\n for (const attr of values) {\n if (this._hasHostAttributes(attr)) {\n return <DaffCardType>attr;\n }\n }\n\n return null;\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n\n this.cardType = this.initCardType();\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n if (this.cardType) {\n (<HTMLElement>this.elementRef.nativeElement).classList.add(this.cardType);\n }\n }\n\n @HostBinding('class.daff-card') class = true;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card--vertical') get verticalClass() {\n return this.orientation === DaffCardOrientationEnum.Vertical;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card--horizontal') get horizontalClass() {\n return this.orientation === DaffCardOrientationEnum.Horizontal;\n }\n\n private _getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * Gets whether the button has one of the given attributes.\n * */\n private _hasHostAttributes(...attributes: string[]) {\n return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));\n }\n}\n","<ng-content select=\"[daffCardImage]\"></ng-content>\n<div class=\"daff-card__wrapper\">\n\t<div class=\"daff-card__body\">\n\t\t<ng-content select=\"[daffCardIcon]\"></ng-content>\n\t\t<ng-content select=\"[daffCardTagline]\"></ng-content>\n\t\t<ng-content select=\"[daffCardTitle]\"></ng-content>\n\t\t<ng-content select=\"[daffCardContent]\"></ng-content>\n\t</div>\n\t<ng-content select=\"[daffCardActions]\"></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffCardActionsDirective } from './card-actions/card-actions.directive';\nimport { DaffCardContentDirective } from './card-content/card-content.directive';\nimport { DaffCardIconDirective } from './card-icon/card-icon.directive';\nimport { DaffCardImageDirective } from './card-image/card-image.directive';\nimport { DaffCardTaglineDirective } from './card-tagline/card-tagline.directive';\nimport { DaffCardTitleDirective } from './card-title/card-title.directive';\nimport { DaffCardComponent } from './card/card.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffCardComponent,\n DaffCardIconDirective,\n DaffCardImageDirective,\n DaffCardTaglineDirective,\n DaffCardTitleDirective,\n DaffCardContentDirective,\n DaffCardActionsDirective,\n ],\n exports: [\n DaffCardComponent,\n DaffCardIconDirective,\n DaffCardImageDirective,\n DaffCardTaglineDirective,\n DaffCardTitleDirective,\n DaffCardContentDirective,\n DaffCardActionsDirective,\n ],\n})\nexport class DaffCardModule { }\n","export enum DaffBreakpoints {\n DESKTOP = '(min-width: 1920px)',\n LAPTOP = '(min-width: 1440px)',\n SMALL_LAPTOP = '(min-width: 1200px)',\n BIG_TABLET = '(min-width: 1024px)',\n TABLET = '(min-width: 768px)',\n MOBILE = '(min-width: 480px)',\n}\n","/**\n * A basic constructor type useful for mixins\n * See https://blog.mariusschulz.com/2017/05/26/typescript-2-2-mixin-classes\n * for a really good explanation of why mixins are useful.\n */\n\nexport type Constructor<T = Record<string, any>> = new (...args: any[]) => T;\n","export interface DaffStatusable {\n status: DaffStatus;\n}\n\nexport type DaffStatus = 'warn' | 'danger' | 'success';\n\nexport enum DaffStatusEnum {\n Warn = 'warn',\n Danger = 'danger',\n Success = 'success'\n}\n","/**\n * An interface for giving a component the ability to customize text alignment for component-specific UI.\n * In order to be text alignable, a component class must implement this property.\n */\nexport interface DaffTextAlignable {\n textAlignment: DaffTextAlignment;\n}\n\nexport type DaffTextAlignment = 'left' | 'center' | 'right';\n\nexport enum DaffTextAlignmentEnum {\n Left = 'left',\n Center = 'center',\n Right = 'right'\n}\n","/**\n * The possible states of a theme.\n */\nexport enum DaffTheme {\n Light = 'light',\n Dark = 'dark',\n None = 'none'\n}\n","import { DaffTheme } from '../types/theme';\n\n/**\n * Computes the appropriate application theme from the specified values.\n * It cascades from `storedPreference` to `osPreference` to `defaultTheme`.\n */\nexport const daffComputeThemeSetting = (\n osPreference?: DaffTheme,\n storedPreference?: DaffTheme,\n defaultTheme: DaffTheme = DaffTheme.Dark,\n): DaffTheme => {\n if (storedPreference) {\n return storedPreference;\n }\n\n if (osPreference === 'dark') {\n return DaffTheme.Dark;\n }\n\n if (osPreference === 'light') {\n return DaffTheme.Light;\n }\n\n return defaultTheme;\n};\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n of,\n fromEventPattern,\n} from 'rxjs';\nimport {\n map,\n startWith,\n} from 'rxjs/operators';\n\nimport { DaffTheme } from '../../types/theme';\n\nexport const mediaQueryDarkPreference = '(prefers-color-scheme: dark)';\n\nexport const addHandlerFactory = (window: Window) => (handler: any) => {\n const query = window.matchMedia(mediaQueryDarkPreference);\n return 'addEventListener' in query\n ? query.addEventListener('change', handler)\n : (<MediaQueryList>query).addListener(handler);\n};\n\nexport const removeHandlerFactory = (window: Window) => (handler: any) => {\n const query = window.matchMedia(mediaQueryDarkPreference);\n return 'removeEventListener' in query\n ? query.removeEventListener('change', handler)\n : (<MediaQueryList>query).removeListener(handler);\n};\n\n/**\n * A service for retrieving the operating system's theme preference.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffOsThemeService {\n\n preference$: Observable<DaffTheme>;\n\n private doc?: Document;\n\n constructor(@Inject(DOCUMENT) _doc: any) {\n\t this.doc = <Document>_doc;\n\n\t this.preference$ = this.doc.defaultView?.matchMedia\n\t ? fromEventPattern<MediaQueryListEvent>(\n\t addHandlerFactory(this.doc.defaultView),\n\t \tremoveHandlerFactory(this.doc.defaultView),\n\t )\n\t .pipe(\n\t startWith(this.doc.defaultView?.matchMedia(mediaQueryDarkPreference)),\n\t map((e: MediaQueryListEvent) => e.matches),\n\t map((prefersDark) => prefersDark ? DaffTheme.Dark : DaffTheme.Light),\n\t )\n\t : of(DaffTheme.None);\n }\n\n /**\n * Get the operating system's theme preference.\n */\n public getThemePreference(): Observable<DaffTheme> {\n\t return this.preference$;\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n fromEvent,\n Subject,\n merge,\n EMPTY,\n of,\n} from 'rxjs';\nimport {\n map,\n filter,\n startWith,\n shareReplay,\n catchError,\n} from 'rxjs/operators';\n\nimport {\n DaffPersistenceService,\n DaffServerSafePersistenceServiceToken,\n} from '@daffodil/core';\n\nimport { DaffTheme } from '../../types/theme';\n\nexport type ThemeStorageEvent = Pick<StorageEvent, 'newValue' | 'key'>;\n\nexport const THEME_STORAGE_KEY = 'DAFF_THEME';\n\nexport const coerceValue = (val?: string): DaffTheme =>\n val === DaffTheme.Dark || val === DaffTheme.Light\n ? val\n : DaffTheme.None;\n\n/**\n * Generate a StorageEvent\n */\nconst storageEventBuilder = (\n value: DaffTheme,\n): ThemeStorageEvent => ({\n key: THEME_STORAGE_KEY,\n newValue: coerceValue(value) !== DaffTheme.None ? value : null,\n});\n\n/**\n * A service for retrieving and managing the application's stored theme.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffThemeStorageService {\n private theme$: Observable<DaffTheme>;\n private storage$: Subject<ThemeStorageEvent> = new Subject();\n private doc?: Document;\n\n constructor(\n @Inject(DaffServerSafePersistenceServiceToken)\n private storage: DaffPersistenceService,\n @Inject(DOCUMENT) _doc: any,\n ) {\n\t this.doc = <Document>_doc;\n\t this.theme$ = merge(\n\t this.storage$,\n\t this.doc.defaultView\n\t ? fromEvent<ThemeStorageEvent>(\n <Window & typeof globalThis>this.doc.defaultView,\n 'storage',\n\t ).pipe(\n\t startWith(\n\t storageEventBuilder(\n\t this.storage.getItem(THEME_STORAGE_KEY),\n\t ),\n\t ),\n\t catchError((e) => EMPTY),\n\t )\n\t : of(storageEventBuilder(\n\t this.storage.getItem(THEME_STORAGE_KEY),\n\t )),\n\t ).pipe(\n\t filter(\n\t (e: ThemeStorageEvent) => e.key === THEME_STORAGE_KEY,\n\t ),\n\t map((e) => coerceValue(e.newValue)),\n\t shareReplay(1),\n\t );\n }\n\n /**\n * Given that Safari doesn't respect in-tab storage events, we have to manually\n * fire storage events in the open tab on Webkit based browsers.\n */\n private progressStorageEvent(theme: DaffTheme) {\n\t this.storage$.next(storageEventBuilder(theme));\n }\n\n getThemeAsObservable(): Observable<DaffTheme> {\n\t return this.theme$;\n }\n\n getTheme(): DaffTheme {\n\t return coerceValue(this.storage.getItem(THEME_STORAGE_KEY));\n }\n\n setTheme(theme: DaffTheme): void {\n\t this.progressStorageEvent(theme);\n\t this.storage.setItem(THEME_STORAGE_KEY, theme);\n }\n\n removeThemeSetting(): void {\n\t this.progressStorageEvent(DaffTheme.None);\n\t this.storage.removeItem(THEME_STORAGE_KEY);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { daffComputeThemeSetting } from '../functions/computer';\nimport { DaffTheme } from '../types/theme';\nimport { DaffOsThemeService } from './os-theme/ostheme.service';\nimport { DaffThemeStorageService } from './storage/theme-storage.service';\n\n/**\n * A service for controlling the application's theme.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffThemingService {\n private theme$: Observable<DaffTheme>;\n private theme: DaffTheme;\n\n constructor(\n private osTheme: DaffOsThemeService,\n private themeStorage: DaffThemeStorageService,\n ) {\n\n\t this.theme$ = combineLatest([\n\t this.osTheme.getThemePreference(),\n\t this.themeStorage.getThemeAsObservable(),\n\t ]).pipe(\n\t map(([osPreference, storedPreference]) => daffComputeThemeSetting(osPreference, storedPreference)),\n\t );\n\n\t this.theme$.subscribe((theme) => {\n\t this.theme = theme;\n\t });\n }\n\n /**\n * Get the current theme.\n */\n getTheme(): Observable<DaffTheme> {\n\t return this.theme$;\n }\n\n /**\n * Set the theme to dark mode.\n */\n darkMode() {\n\t this.themeStorage.setTheme(DaffTheme.Dark);\n }\n\n /**\n * Set the theme to light mode.\n */\n lightMode() {\n\t this.themeStorage.setTheme(DaffTheme.Light);\n }\n\n /**\n * Switch between themes.\n */\n switchTheme(): void {\n\t return this.theme === DaffTheme.Dark\n\t ? this.lightMode()\n\t : this.darkMode();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n Inject,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DaffTheme } from '../../types/theme';\nimport { DaffThemingService } from '../theming.service';\n\nexport const DAFF_THEME_DARK_CSS_CLASS = 'daff-theme-dark';\nexport const DAFF_THEME_LIGHT_CSS_CLASS = 'daff-theme-light';\n\n/**\n * This class updates the body of the application with the theme's appropriate class.\n * Note that this service is not provided tree-shakably by intention.\n * It is intended to be provided manually during setup.\n */\n@Injectable()\nexport class DaffThemeClassSetterService {\n private renderer: Renderer2;\n private subscription: Subscription;\n private doc?: Document;\n\n constructor(\n @Inject(DOCUMENT) _doc: any,\n private rendererFactory: RendererFactory2,\n private themingService: DaffThemingService,\n ) {\n\t this.doc = <Document>_doc;\n\t this.renderer = this.rendererFactory.createRenderer(null, null);\n }\n\n /**\n * This function is intended to only be called once when the service\n * is initialized for the very first time. This will mutate the class\n * on the body of the document for the appropriate theme as controlled\n * by the state of the application's theme.\n */\n beginThemeSync(): void {\n\t this.subscription = this.themingService.getTheme().subscribe((theme) => {\n\t // For simplicty, remove all previously applied themes.\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_LIGHT_CSS_CLASS);\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_DARK_CSS_CLASS);\n\t this.renderer.addClass(this.doc.body, theme === DaffTheme.Dark ? DAFF_THEME_DARK_CSS_CLASS : DAFF_THEME_LIGHT_CSS_CLASS);\n\t });\n }\n\n /**\n * This unsubscribes from the bodyClass subscription that exists.\n */\n destroy(): void {\n\t this.subscription?.unsubscribe();\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_LIGHT_CSS_CLASS);\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_DARK_CSS_CLASS);\n }\n}\n","import {\n Provider,\n APP_INITIALIZER,\n} from '@angular/core';\n\nimport { DaffThemeClassSetterService } from './services/class-setter/theme-class-setter.service';\n\nexport const DAFF_THEME_INIT = (classSetter: DaffThemeClassSetterService) => () => classSetter.beginThemeSync();\n\n/**\n * The theme provider for the app.\n * This configures updating the body with the theme class.\n */\nexport const DAFF_THEME_INITIALIZER: Provider[] = [\n DaffThemeClassSetterService,\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [DaffThemeClassSetterService],\n useFactory: DAFF_THEME_INIT,\n },\n];\n","// Core\nexport * from './animation/animation-state-with-params';\nexport * from './prefix-suffix/public_api';\nexport * from './colorable/public_api';\nexport * from './breakpoints/breakpoints';\nexport * from './constructor/constructor';\nexport * from './statusable/public_api';\nexport * from './skeletonable/skeletonable';\nexport * from './mutable/mutable';\nexport * from './text-alignable/text-alignable';\nexport * from './compactable/public_api';\nexport * from './manage-container-layout/public_api';\nexport * from './article-encapsulated/public_api';\nexport * from './theming/public_api';\nexport * from './lazy/public_api';\nexport * from './focus/public_api';\n","/*\n * Public API Surface of @daffodil/design\n */\n\n// Atoms\nexport * from './atoms/button/public_api';\nexport * from './atoms/form/core/public_api';\nexport * from './atoms/form/form-field/public_api';\nexport * from './atoms/form/error-message/public_api';\nexport * from './atoms/image/public_api';\nexport * from './atoms/form/input/public_api';\nexport * from './atoms/form/native-select/public_api';\nexport * from './atoms/form/checkbox/public_api';\nexport * from './atoms/form/quantity-field/public_api';\nexport * from './atoms/container/public_api';\nexport * from './atoms/loading-icon/public_api';\nexport * from './atoms/progress-indicator/public_api';\nexport * from './atoms/form/radio/public_api';\nexport * from './atoms/form/form-label/public_api';\n\n// Molecules\nexport * from './molecules/accordion/public_api';\nexport * from './molecules/article/public_api';\nexport * from './molecules/backdrop/public_api';\nexport * from './molecules/button-set/public_api';\nexport * from './molecules/image-gallery/public_api';\nexport * from './molecules/image-list/public_api';\nexport * from './molecules/link-set/public_api';\nexport * from './molecules/list/public_api';\nexport * from './molecules/media-gallery/public_api';\nexport * from './molecules/menu/public_api';\nexport * from './molecules/modal/public_api';\nexport * from './molecules/navbar/public_api';\nexport * from './molecules/paginator/public_api';\nexport * from './molecules/qty-dropdown/public_api';\nexport * from './molecules/sidebar/public_api';\nexport * from './molecules/hero/public_api';\nexport * from './molecules/callout/public_api';\nexport * from './molecules/feature/public_api';\nexport * from './molecules/card/public_api';\n\n// Core\nexport * from './core/public_api';\n\n// Examples\nexport * from './examples/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.DaffLoadingIconComponent","i1.DaffMediaGalleryRegistry","i2.DaffMediaRendererComponent","i1","i2.DaffCheckboxComponent","i2.DaffInputComponent","i2.DaffNativeSelectComponent","i3","i2.DaffQuantitySelectComponent","i3.DaffQuantityInputComponent","i4","i1.DaffRadioSetComponent","i2.DaffRadioRegistry","i3.DaffRadioComponent","getAnimationState","i2.DaffSuffixDirective","i2","i4.DaffSuffixDirective","i1.DaffImageListComponent","takeUntil","i1.DaffMenuService","i2.DaffMenuService","i1.DaffFormFieldComponent","i3.DaffInputComponent","i5","filter","i1.DaffBackdropComponent","map","i1.DaffOsThemeService","i2.DaffThemeStorageService","i1.DaffThemingService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYA;;AAEG;AACG,SACN,4BAA4B,CAAuC,IAAO,EAAA;IACxE,OAAO,cAAc,IAAI,CAAA;AACvB,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAA,OAAA,CAAS,CAAC,CAAC;SACpE;KACF,CAAC;AACJ;;ACvBA,IAAY,eASX,CAAA;AATD,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,eAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,eAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC,CAAA;AAClC,CAAC,EATW,eAAe,KAAf,eAAe,GAS1B,EAAA,CAAA,CAAA;;ACPK,SAAU,cAAc,CAAC,KAAa,EAAA;IAC1C,OAAa,MAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/D;;ACWA;;;;;;AAMG;AAEH,SAAA,cAAc,CAAuC,IAAO,EAAE,YAA0B,EAAA;IACtF,MAAM,uBAAwB,SAAQ,IAAI,CAAA;AA6BxC,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;SAC3B;AA5BD,QAAA,IAAI,KAAK,GAAA;YACP,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;QACD,IAAI,KAAK,CAAC,KAAkB,EAAA;;AAE1B,YAAA,MAAM,aAAa,GAAG,KAAK,IAAI,YAAY,CAAC;YAE5C,IAAG,aAAa,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAC;AAC/D,gBAAA,MAAM,IAAI,SAAS,CAAC,aAAa,GAAG,2CAA2C,CAAC,CAAC;AAClF,aAAA;AAED,YAAA,IAAG,aAAa,KAAK,IAAI,CAAC,MAAM,EAAC;;gBAE/B,IAAG,IAAI,CAAC,MAAM,EAAC;AACb,oBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAQ,KAAA,EAAA,IAAI,CAAC,MAAM,CAAA,CAAE,CAAC,CAAC;AACnF,iBAAA;AAED,gBAAA,IAAG,aAAa,EAAC;AACf,oBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAA,KAAA,EAAQ,aAAa,CAAA,CAAE,CAAC,CAAC;AAClF,iBAAA;AAED,gBAAA,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;AAC7B,aAAA;SACF;AAMF,KAAA;IAAA,CAAC;;IAGF,KAAK,EAAE,CAAC,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEpD,IAAA,OAAO,uBAAuB,CAAC;AACjC;;AC1DA;;;;AAIG;MAKU,mBAAmB,CAAA;AAJhC,IAAA,WAAA,GAAA;QAMoC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAChD,KAAA;;mIAHY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uHAAnB,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA,CAAA;8BAImC,KAAK,EAAA,CAAA;sBAAtC,WAAW;uBAAC,mBAAmB,CAAA;;;ACXlC;;;;AAIG;MAKU,mBAAmB,CAAA;AAJhC,IAAA,WAAA,GAAA;QAMoC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAChD,KAAA;;mIAHY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uHAAnB,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA,CAAA;8BAImC,KAAK,EAAA,CAAA;sBAAtC,WAAW;uBAAC,mBAAmB,CAAA;;;MCArB,sBAAsB,CAAA;;sIAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,mBAAA,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,iBAJ/B,mBAAmB;AACnB,QAAA,mBAAmB,aALnB,mBAAmB;QACnB,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAOV,mBAAA,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAVxB,EAAE,CAAA,EAAA,CAAA,CAAA;2FAUA,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAXlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE;wBACP,mBAAmB;wBACnB,mBAAmB;AACpB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,mBAAmB;wBACnB,mBAAmB;AACpB,qBAAA;AACF,iBAAA,CAAA;;;ACPD;;AAEG;AACG,SAAU,mBAAmB,CAAwB,IAAO,EAAA;IAChE,MACM,mBAAoB,SAAQ,IAAI,CAAA;AAIpC,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;;uIANG,mBAAmB,EAAA,IAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,uBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,+DAET,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;+FAF7B,mBAAmB,EAAA,UAAA,EAAA,CAAA;sBADxB,SAAS;iGAG6C,OAAO,EAAA,CAAA;0BAA3D,YAAY;AAAC,oBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;AAOrD,IAAA,OAAO,mBAAmB,CAAC;AAC5B;;ACfD;;AAEG;AACG,SAAU,mBAAmB,CAAwB,IAAO,EAAA;IAChE,MACM,mBAAoB,SAAQ,IAAI,CAAA;AAIpC,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;SAChB;;uIANG,mBAAmB,EAAA,IAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,uBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,+DAET,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;+FAF7B,mBAAmB,EAAA,UAAA,EAAA,CAAA;sBADxB,SAAS;iGAG6C,OAAO,EAAA,CAAA;0BAA3D,YAAY;AAAC,oBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;AAOrD,IAAA,OAAO,mBAAmB,CAAC;AAC5B;;ACRD,SAAA,aAAa,CAA+F,IAAO,EAAE,WAAe,EAAA;IAClI,MAAM,kBAAmB,SAAQ,IAAI,CAAA;AAyBnC,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;SACzB;AAxBD,QAAA,IAAI,IAAI,GAAA;YACN,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;QACD,IAAI,IAAI,CAAC,KAAQ,EAAA;;AAEf,YAAA,MAAM,YAAY,GAAG,KAAK,IAAI,WAAW,CAAC;AAE1C,YAAA,IAAG,YAAY,KAAK,IAAI,CAAC,KAAK,EAAC;;gBAE7B,IAAG,IAAI,CAAC,KAAK,EAAC;AACZ,oBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAQ,KAAA,EAAA,IAAI,CAAC,KAAK,CAAA,CAAE,CAAC,CAAC;AAClF,iBAAA;AAED,gBAAA,IAAG,YAAY,EAAC;AACd,oBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAA,KAAA,EAAQ,YAAY,CAAA,CAAE,CAAC,CAAC;AACjF,iBAAA;AAED,gBAAA,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;AAC3B,aAAA;SACF;AAMF,KAAA;IAAA,CAAC;;IAGF,KAAK,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAE9C,IAAA,OAAO,kBAAkB,CAAC;AAC5B;;ACpCA,SAAA,eAAe,CAAuC,IAAO,EAAE,aAA0B,EAAA;IACvF,MAAM,oBAAqB,SAAQ,IAAI,CAAA;AA4BrC,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;SAC7B;AA3BD,QAAA,IAAI,MAAM,GAAA;YACR,OAAO,IAAI,CAAC,OAAO,CAAC;SACrB;QAED,IAAI,MAAM,CAAC,KAAiB,EAAA;;AAE1B,YAAA,MAAM,cAAc,GAAG,KAAK,IAAI,aAAa,CAAC;AAE9C,YAAA,IAAI,cAAc,KAAK,IAAI,CAAC,OAAO,EAAE;gBACnC,OAAO;AACR,aAAA;;YAGD,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,gBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAQ,KAAA,EAAA,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC;AACpF,aAAA;AAED,YAAA,IAAI,cAAc,EAAE;AAClB,gBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAA,KAAA,EAAQ,cAAc,CAAA,CAAE,CAAC,CAAC;AACnF,aAAA;AAED,YAAA,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;SAC/B;AAMF,KAAA;IAAA,CAAC;;IAGF,KAAK,EAAE,CAAC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAElD,IAAA,OAAO,oBAAoB,CAAC;AAC9B;;ACxCA;;AAEG;AACH,MAAM,mBAAmB,CAAA;IACvB,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAC5E,CAAA;AAED,MAAM,oBAAoB,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;AAEjE;;AAEG;AAUG,MAAO,wBAAyB,SAAQ,oBAAoB,CAAA;IAkBhE,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;AACrE,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QADV,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAhBvE;;AAEG;QACM,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;AAEvB;;AAEG;QACqC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;KAUpD;AATD;;AAEG;AACH,IAAA,IAAoC,QAAQ,GAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;KAC5B;;wIAhBU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,mBAAA,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,yOCnCrC,2JAEM,EAAA,MAAA,EAAA,CAAA,iwBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDiCO,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBATpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,UAKrB,CAAC,OAAO,CAAC,EACA,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2JAAA,EAAA,MAAA,EAAA,CAAA,iwBAAA,CAAA,EAAA,CAAA;yHAOtC,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKkC,KAAK,EAAA,CAAA;sBAA5C,WAAW;uBAAC,yBAAyB,CAAA;gBAIF,QAAQ,EAAA,CAAA;sBAA3C,WAAW;uBAAC,iBAAiB,CAAA;;;AEhBhC;;AAEG;AACH,MAAM,sBAAsB,GAAqB;IAC/C,aAAa;IACb,qBAAqB;IACrB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,uBAAuB;CACxB,CAAC;AAEF;;AAEG;AACH,MAAM,cAAc,CAAA;IAClB,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAC5E,CAAA;AAED,MAAM,eAAe,GAAG,4BAA4B,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,aAAa,CAAiB,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AASrL,IAAK,kBAOJ,CAAA;AAPD,CAAA,UAAK,kBAAkB,EAAA;AACrB,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,aAAuB,CAAA;AACvB,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,qBAA+B,CAAA;AAC/B,IAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,oBAA6B,CAAA;AAC7B,IAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,kBAAyB,CAAA;AACzB,IAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,kBAAyB,CAAA;AACzB,IAAA,kBAAA,CAAA,WAAA,CAAA,GAAA,uBAAmC,CAAA;AACrC,CAAC,EAPI,kBAAkB,KAAlB,kBAAkB,GAOtB,EAAA,CAAA,CAAA,CAAA;AAED;;AAEG;AAwBG,MAAO,mBACX,SAAQ,eAAe,CAAA;IAKvB,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;AACrE,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QADV,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAmE9D,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAChB,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;QAEtB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAnEhB,QAAA,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE;AACzC,YAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBACnB,UAAU,CAAC,aAAc,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7D,aAAA;AACF,SAAA;KACF;AAED;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE;AACzC,YAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;AACjC,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACxB,aAAA;AACF,SAAA;KACF;AAED;;AAEG;AACH,IAAA,IAAsC,MAAM,GAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,UAAU,KAAK,kBAAkB,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC;KACxF;AAED;;AAEG;AACH,IAAA,IAA8C,OAAO,GAAA;AACnD,QAAA,OAAO,IAAI,CAAC,UAAU,KAAK,kBAAkB,CAAC,OAAO,CAAC;KACvD;AAED;;AAEG;AACH,IAAA,IAA6C,MAAM,GAAA;AACjD,QAAA,OAAO,IAAI,CAAC,UAAU,KAAK,kBAAkB,CAAC,MAAM,CAAC;KACtD;AAED;;AAEG;AACH,IAAA,IAA2C,IAAI,GAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,UAAU,KAAK,kBAAkB,CAAC,IAAI,CAAC;KACpD;AAED;;AAEG;AACH,IAAA,IAA2C,IAAI,GAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,UAAU,KAAK,kBAAkB,CAAC,IAAI,CAAC;KACpD;AAED;;AAEG;AACH,IAAA,IAAgD,SAAS,GAAA;AACvD,QAAA,OAAO,IAAI,CAAC,UAAU,KAAK,kBAAkB,CAAC,SAAS,CAAC;KACzD;AAED,IAAA,IAAgD,aAAa,GAAA;QAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC;KACrB;AAOD;;AAEG;AACH,IAAA,IAAa,QAAQ,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC;KACtC;IACD,IAAI,QAAQ,CAAC,KAAU,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC9C;AAED,IAAA,IAAkC,iBAAiB,GAAA;QAClD,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;KACnC;AAED,IAAA,IAAuC,YAAY,GAAA;QAClD,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;KACnC;AAED,IAAA,IAAkC,gBAAgB,GAAA;AACjD,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC1C;IAEO,eAAe,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;KACtC;AAED;;AAEK;IACG,kBAAkB,CAAC,GAAG,UAAoB,EAAA;AAChD,QAAA,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;KACrF;;mIA7GU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,45BChGhC,uXAOe,EAAA,MAAA,EAAA,CAAA,k+JAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDyFF,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAvB/B,SAAS;+BAEE,EAAE;AACV,wBAAA,qBAAqB,GAAG,GAAG;AAC3B,wBAAA,6BAA6B,GAAG,GAAG;AACnC,wBAAA,4BAA4B,GAAG,GAAG;AAClC,wBAAA,0BAA0B,GAAG,GAAG;AAChC,wBAAA,0BAA0B,GAAG,GAAG;AAChC,wBAAA,+BAA+B,GAAG,GAAG;AACrC,wBAAA,gBAAgB,GAAG,GAAG;AACtB,wBAAA,wBAAwB,GAAG,GAAG;AAC9B,wBAAA,uBAAuB,GAAG,GAAG;AAC7B,wBAAA,qBAAqB,GAAG,GAAG;AAC3B,wBAAA,qBAAqB,GAAG,GAAG;AAC3B,wBAAA,0BAA0B,EAKpB,MAAA,EAAA,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAA,aAAA,EACpB,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,uXAAA,EAAA,MAAA,EAAA,CAAA,k+JAAA,CAAA,EAAA,CAAA;yHAgCT,MAAM,EAAA,CAAA;sBAA3C,WAAW;uBAAC,mBAAmB,CAAA;gBAOc,OAAO,EAAA,CAAA;sBAApD,WAAW;uBAAC,2BAA2B,CAAA;gBAOK,MAAM,EAAA,CAAA;sBAAlD,WAAW;uBAAC,0BAA0B,CAAA;gBAOI,IAAI,EAAA,CAAA;sBAA9C,WAAW;uBAAC,wBAAwB,CAAA;gBAOM,IAAI,EAAA,CAAA;sBAA9C,WAAW;uBAAC,wBAAwB,CAAA;gBAOW,SAAS,EAAA,CAAA;sBAAxD,WAAW;uBAAC,6BAA6B,CAAA;gBAIM,aAAa,EAAA,CAAA;sBAA5D,WAAW;uBAAC,6BAA6B,CAAA;gBAIjC,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAOO,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAO4B,iBAAiB,EAAA,CAAA;sBAAlD,WAAW;uBAAC,eAAe,CAAA;gBAIW,YAAY,EAAA,CAAA;sBAAlD,WAAW;uBAAC,oBAAoB,CAAA;gBAIC,gBAAgB,EAAA,CAAA;sBAAjD,WAAW;uBAAC,eAAe,CAAA;;;MEhLjB,qBAAqB,CAAA;;qIAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,mBAAA,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAN9B,YAAA,EAAA,CAAA,wBAAwB,CAHxB,EAAA,OAAA,EAAA,CAAA,YAAY,aAMZ,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAGf,mBAAA,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAVvB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAQU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;AACzB,qBAAA;AACF,iBAAA,CAAA;;;MCOY,gBAAgB,CAAA;;gIAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iIAAhB,gBAAgB,EAAA,YAAA,EAAA,CAPzB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CALnB,YAAY;QACZ,sBAAsB;AACtB,QAAA,qBAAqB,aAMrB,mBAAmB;QACnB,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAGb,mBAAA,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAblB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,sBAAsB;YACtB,qBAAqB;AACtB,SAAA,EAMC,sBAAsB,CAAA,EAAA,CAAA,CAAA;2FAGb,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAd5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,sBAAsB;wBACtB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,mBAAmB;wBACnB,sBAAsB;AACvB,qBAAA;AACF,iBAAA,CAAA;;;MCnBY,qBAAqB,CAAA;IAEhC,YAAY,CAAC,OAAoB,EAAE,aAAsB,EAAA;QACvD,OAAO,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC,CAAC;KAC7D;AACF;;MCKY,yBAAyB,CAAA;AANtC,IAAA,WAAA,GAAA;QAO2C,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACvD,KAAA;;yIAFY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,mBAAA,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,8HAJ1B,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,yDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAI1B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EACpB,QAAA,EAAA,2BAA2B,EAEpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,yDAAA,CAAA,EAAA,CAAA;8BAGN,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B,CAAA;;;MCA5B,sBAAsB,CAAA;;sIAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;uIAAtB,sBAAsB,EAAA,YAAA,EAAA,CAH/B,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAHzB,yBAAyB,CAAA,EAAA,CAAA,CAAA;uIAMhB,sBAAsB,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,yBAAyB;AAC1B,qBAAA;AACF,iBAAA,CAAA;;;ACVD;;;;;;;;;;AAUG;MACmB,oBAAoB,CAAA;AAQzC,CAAA;AAAA;;ACrBM,MAAM,kCAAkC,GAAG,8DAA8D;;ACehH;AACA;MAOa,sBAAsB,CAAA;AANnC,IAAA,WAAA,GAAA;AAQE;;AAEG;QACH,IAAa,CAAA,aAAA,GAAG,aAAa,CAAC;QAEQ,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAEnD;;;;;AAKG;;QAEM,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;AASxC;;;AAGG;QACH,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAEhB;;;AAGG;QACH,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAyDjB,KAAA;AAvDC;;;;AAIG;AACH,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;KAC/B;AAED;;;;;;;AAOG;IACH,SAAS,GAAA;AACP,QAAA,IAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACnF,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;AACnF,SAAA;KACF;AAED;;;AAGG;IACK,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACrD,SAAA;KACF;AAED;;;;;;AAMG;IACH,kBAAkB,GAAA;QAChB,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;AAED;;;;;;AAMG;IACH,qBAAqB,GAAA;QACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;;sIA3FU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0HAAtB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAuBnB,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9CpC,iYAOA,EAAA,MAAA,EAAA,CAAA,iSAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDgBa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACE,iBAAiB,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,iYAAA,EAAA,MAAA,EAAA,CAAA,iSAAA,CAAA,EAAA,CAAA;8BASC,KAAK,EAAA,CAAA;sBAA1C,WAAW;uBAAC,uBAAuB,CAAA;gBAS3B,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAO8B,QAAQ,EAAA,CAAA;sBAA3C,YAAY;uBAAC,oBAAoB,CAAA;;;MExBvB,mBAAmB,CAAA;;mIAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oIAAnB,mBAAmB,EAAA,YAAA,EAAA,CAH5B,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAVtB,YAAY;QAEZ,iBAAiB;AACjB,QAAA,sBAAsB,aAGtB,sBAAsB;QACtB,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAMb,mBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAdrB,OAAA,EAAA,CAAA;YACP,YAAY;YAEZ,iBAAiB;YACjB,sBAAsB;AACvB,SAAA,EAGC,sBAAsB,CAAA,EAAA,CAAA,CAAA;2FAMb,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAf/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBAEZ,iBAAiB;wBACjB,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB,sBAAsB;AACvB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;AACvB,qBAAA;AACF,iBAAA,CAAA;;;SCRD,qBAAqB,CAAuC,IAAO,EAAE,kBAA2B,KAAK,EAAA;IACnG,OAAO,cAAc,IAAI,CAAA;AAyBvB,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;SACjC;AAxBD,QAAA,IAAI,QAAQ,GAAA;YACV,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QAED,IAAI,QAAQ,CAAC,KAAc,EAAA;;AAEzB,YAAA,MAAM,gBAAgB,GAAG,KAAK,IAAI,eAAe,CAAC;AAElD,YAAA,IAAI,gBAAgB,KAAK,IAAI,CAAC,SAAS,EAAE;gBACvC,OAAO;AACR,aAAA;AAED,YAAA,IAAI,gBAAgB,EAAE;AACpB,gBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAA,aAAA,CAAe,CAAC,CAAC;AAC1E,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAA,aAAA,CAAe,CAAC,CAAC;AAC7E,aAAA;AAED,YAAA,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;SACnC;KAMF,CAAC;AACJ;;ACxCO,MAAM,wBAAwB,GAAG,IAAI,cAAc,CAA+B,0BAA0B,CAAC;;ACW7G,MAAM,SAAS,GAAG,CAAC,OAAiE,KAA8C,EAAE,SAAS,IAAI,OAAO,CAAC,CAAC;MAGpJ,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;QAEE,IAAS,CAAA,SAAA,GAAyB,EAAE,CAAC;AA6FtC,KAAA;AA3FC;;;AAGG;IACH,GAAG,CAAC,OAAqC,EAAE,SAAqC,EAAA;QAC/E,IAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC/B,YAAA,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEzD,YAAA,IAAG,SAAS,EAAE;AACZ,gBAAA,UAAU,GAAG;AACX,oBAAA,GAAG,UAAU;AACb,oBAAA,UAAU,EAAE;AACV,wBAAA,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;wBACrD,SAAS;AACV,qBAAA;iBACF,CAAC;AACH,aAAA;AAED,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/C,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,eAAe,CAAC;gBACjD,OAAO;gBACP,UAAU,EAAE,SAAS,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;AACzC,aAAA,CAAC,CAAC;AACJ,SAAA;AAED,QAAA,IAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAClE,SAAS,CAAC,MAAM,EAAE,CAAC;AACpB,SAAA;KACD;AAED;;;AAGG;AACH,IAAA,MAAM,CAAC,OAAiE,EAAA;AACvE,QAAA,IAAG,SAAS,CAAC,OAAO,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC7B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAC/B,SAAA;KACD;AAEO,IAAA,eAAe,CAAC,SAAoC,EAAA;QAC3D,IAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1C,OAAO;AACR,SAAA;AACD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEpD,QAAA,IAAG,KAAK,KAAK,CAAC,CAAC,EAAE;YACf,OAAO;AACR,SAAA;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAC1C,YAAA,GAAG,OAAO;AACV,YAAA,UAAU,EAAE;gBACV,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;gBACrC,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AACvC,aAAA;AACF,SAAA,CAAC,CAAC;KACH;AAEO,IAAA,aAAa,CAAC,OAAqC,EAAA;QAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACpC;AAED;;;AAGG;AACH,IAAA,MAAM,CAAC,SAAoC,EAAA;QAC1C,IAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1C,OAAO;AACR,SAAA;AAED,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAG,SAAS,CAAC,QAAQ,IAAI,KAAK,KAAK,CAAC,CAAC,EAAC;YACpC,OAAO;AACR,SAAA;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAC1C,YAAA,GAAG,OAAO;AACV,YAAA,UAAU,EAAE;gBACV,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACzE,SAAS,CAAC,MAAM,EAAE;AACnB,aAAA;AACF,SAAA,CAAC,CAAC;KACH;;wIA7FU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,mBAAA,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADX,MAAM,EAAA,CAAA,CAAA;2FACnB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACElC;;;AAGG;MAMU,0BAA0B,CAAA;AAOrC,IAAA,WAAA,CACU,wBAAkD,EAClD,QAAkC,EACA,OAAqC,EAAA;QAFvE,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAClD,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA0B;QACA,IAAO,CAAA,OAAA,GAAP,OAAO,CAA8B;AARjF;;AAEG;AACK,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;KAM9B;IAQJ,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACvC,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,aAAA,SAAS,CAAC,CAAC,OAAO,KAAI;AAErB;;AAEG;AACH,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AAElB,YAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;AAEtF;;AAEG;YACH,IAAG,CAAC,kBAAkB,EAAE;gBACtB,OAAO;AACR,aAAA;AAED,YAAA,MAAM,2BAA2B,GAAG,kBAAkB,CAAC,SAAS,CAAC;AAEjE;;AAEG;AACH,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CACxD,2BAA2B,CAAC,WAAW,CACrD,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AAE1D;;AAEG;AACH,YAAA,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAG;AAC/B,gBAAA,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACtF,aAAC,CAAC,CAAC;AAEH;;;AAGG;AACH,YAAA,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;AACjD,SAAC,CAAC,CAAC;KACN;AAED;;AAEG;IACH,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;KAC9B;;AArEU,mBAAA,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,+FAU3B,wBAAwB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAVvB,mBAAA,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAgB1B,QAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,WAAW,EAAwB,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,gBAAgB,2CC5ChE,+BACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FD2Ba,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,qBAAqB,EAAA,eAAA,EAEd,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+BAAA,EAAA,CAAA;;0BAY5C,MAAM;2BAAC,wBAAwB,CAAA;4CAOlC,IAAI,EAAA,CAAA;sBADH,SAAS;uBAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;;;AExBlE,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB;;AAEG;AACH,MAAM,oBAAoB,CAAA;IACxB,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAC5E,CAAA;AAED,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,4BAA4B,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAepG,MAAO,yBAA0B,SAAQ,qBAAqB,CAAA;AAWlE,IAAA,WAAA,CACU,UAAsB,EACtB,QAAmB,EACnB,QAAkC,EAAA;AAE1C,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAJpB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA0B;AAb5C;;AAEG;QACsC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAEtD;;AAEG;AACM,QAAA,IAAA,CAAA,IAAI,GAAG,CAAA,EAAG,eAAe,CAAA,CAAE,CAAC;AAQnC,QAAA,eAAe,EAAE,CAAC;KACnB;IAED,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACxB;IAED,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC3B;;yIA1BU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,mBAAA,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EARzB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;;AAET,QAAA,EAAE,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,yBAAyB,EAAE;AAC9E,KAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvCH,+NAKM,EAAA,MAAA,EAAA,CAAA,0nEAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDuCO,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAbrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAGb,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;;AAET,wBAAA,EAAE,OAAO,EAAE,wBAAwB,EAAE,WAAW,2BAA2B,EAAE;qBAC9E,EAGO,MAAA,EAAA,CAAC,UAAU,CAAC,EAAA,QAAA,EAAA,+NAAA,EAAA,MAAA,EAAA,CAAA,0nEAAA,CAAA,EAAA,CAAA;6JAMqB,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B,CAAA;gBAK9B,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;AEnDR;;AAEG;MACU,wBAAwB,GAAG,IAAI,cAAc,CAAU,sBAAsB;;ACc1F;;;AAGG;MAIU,sBAAsB,CAAA;AASjC,IAAA,WAAA,CAC2C,SAAwB,EACzD,EAAqB,EACrB,QAAkC,EACD,OAAqC,EAAA;QAHrC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAe;QACzD,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;QACrB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA0B;QACD,IAAO,CAAA,OAAA,GAAP,OAAO,CAA8B;AAGhF;;AAEG;QACkC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAElD;;AAEG;QACH,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAEjB;;AAEG;AACO,QAAA,IAAA,CAAA,cAAc,GAAuB,IAAI,YAAY,EAAQ,CAAC;KAfpE;AAZJ;;AAEG;AACH,IAAA,IAAmD,aAAa,GAAA;QAC9D,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;;AAwBD;;;;AAIG;AACgC,IAAA,OAAO,CAAC,MAAkB,EAAA;AAC5D,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC3B;IAED,QAAQ,GAAA;QACP,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACtC;IAED,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC3B;IAED,MAAM,GAAA;AACL,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;AACvB,QAAA,OAAO,IAAI,CAAC;KACZ;IAED,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;AACvB,QAAA,OAAO,IAAI,CAAC;KACZ;;sIA3DU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAUvB,wBAAwB,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAD,wBAAA,EAAA,EAAA,EAAA,KAAA,EAGxB,wBAAwB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0HAbvB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gCAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC5B,iBAAA,CAAA;;0BAWI,MAAM;2BAAC,wBAAwB,CAAA;;0BAG/B,MAAM;2BAAC,wBAAwB,CAAA;4CARiB,aAAa,EAAA,CAAA;sBAA/D,WAAW;uBAAC,gCAAgC,CAAA;gBAcR,KAAK,EAAA,CAAA;sBAAzC,WAAW;uBAAC,sBAAsB,CAAA;gBAUzB,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBAO4B,OAAO,EAAA,CAAA;sBAAzC,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCzCtB,sBAAsB,CAAA;;sIAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,mBAAA,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,iBAZ/B,yBAAyB;QACzB,sBAAsB;QACtB,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAG1B,YAAY,CAAA,EAAA,OAAA,EAAA,CAGZ,sBAAsB;QACtB,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAGhB,mBAAA,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EARxB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAMU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAdlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,yBAAyB;wBACzB,sBAAsB;wBACtB,0BAA0B;AAC3B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB,yBAAyB;AAC1B,qBAAA;AACF,iBAAA,CAAA;;;ACDD,MAAM,gBAAgB,GAAG,CAAC,MAA2B,EAAE,IAAY,KAAI;IACrE,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;AAC9E,QAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,CAAA,WAAA,CAAa,CAAC,CAAC;AAC9E,KAAA;AACH,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,MAA2B,EAAE,KAAe,KAAI;IAC1E,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAG;QACvC,IAAI;AACF,YAAA,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAChC,SAAA;AAAC,QAAA,OAAM,CAAC,EAAE;AACT,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;AACf,KAAC,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,MAAM,EAAE;AACvB,QAAA,MAAM,IAAI,KAAK,CAAC,CAAA,iCAAA,EAAoC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAsB,oBAAA,CAAA,CAAC,CAAC;AACnG,KAAA;AACH,CAAC,CAAC;AAEF;;AAEG;AACH,MAAM,aAAa,CAAA;IACjB,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAK;AAC7E,CAAA;AAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAiBtD,MAAO,kBAAmB,SAAQ,cAAc,CAAA;AAyDpD,IAAA,WAAA,CACU,SAAuB,EACvB,UAAsB,EACtB,QAAmB,EAAA;AAE5B,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAJnB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;QACvB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;;;AAZnB,QAAA,IAAA,CAAA,IAAI,GAAuB,IAAI,YAAY,EAAE,CAAC;KAevD;AA3DD,IAAA,IACI,GAAG,GAAA;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;KACjB;IACD,IAAI,GAAG,CAAC,KAAa,EAAA;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AAClB,QAAA,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC/B;AAID,IAAA,IACI,GAAG,GAAA;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IACD,IAAI,GAAG,CAAC,KAAa,EAAA;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AAClB,QAAA,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC/B;AAID,IAAA,IACI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IACD,IAAI,KAAK,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACjC;AAID,IAAA,IACI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;IACD,IAAI,MAAM,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KAClC;AAMD;;AAEG;IACH,QAAQ,GAAA;AACP,QAAA,kBAAkB,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;KAC5D;AAUD;;AAEG;AACH,IAAA,IAAI,WAAW,GAAA;QACd,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAG;AAChC,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;KACxG;AAED;;AAEG;AACH,IAAA,IAAoC,QAAQ,GAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACzB;;kIAjFU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAE,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAVlB,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;;AAEA,YAAA,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,kBAAkB;AACjE,SAAA;AACF,KAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3DH,4JAEM,EAAA,MAAA,EAAA,CAAA,2iBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FD8DO,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAf9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGL,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA;;AAEA,4BAAA,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAoB,kBAAA;AACjE,yBAAA;qBACF,EAGO,MAAA,EAAA,CAAC,UAAU,CAAC,EAAA,QAAA,EAAA,4JAAA,EAAA,MAAA,EAAA,CAAA,2iBAAA,CAAA,EAAA,CAAA;sJAOhB,GAAG,EAAA,CAAA;sBADN,KAAK;gBAYF,GAAG,EAAA,CAAA;sBADN,KAAK;gBAYF,KAAK,EAAA,CAAA;sBADR,KAAK;gBAYF,MAAM,EAAA,CAAA;sBADT,KAAK;gBAWI,IAAI,EAAA,CAAA;sBAAb,MAAM;gBA+B6B,QAAQ,EAAA,CAAA;sBAA3C,WAAW;uBAAC,iBAAiB,CAAA;;;ME5HnB,eAAe,CAAA;;+HAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAZxB,YAAA,EAAA,CAAA,kBAAkB,CAGlB,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAMT,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAVjB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAQU,eAAe,EAAA,UAAA,EAAA,CAAA;kBAd3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;AACnB,qBAAA;AACD,oBAAA,eAAe,EAAE;wBACf,kBAAkB;AACnB,qBAAA;AACF,iBAAA,CAAA;;;ACLD;;AAEG;MAYU,kBAAkB,CAAA;AAuB7B,IAAA,WAAA;AACE;;AAEG;AACwB,IAAA,SAAoB,EACvC,WAAyC,EAAA;QADtB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACvC,IAAW,CAAA,WAAA,GAAX,WAAW,CAA8B;QArBnD,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;KAsBZ;AApBJ;;AAEG;IACoB,KAAK,GAAA;AAC1B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;AAED;;AAEG;IACmB,IAAI,GAAA;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;IAUD,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACxC;;kIAjCU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EALlB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAAA;;AAET,QAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,kBAAkB,EAAE;AACnE,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EANS,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,mMAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAQ1B,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,YACnB,2BAA2B,EAAA,eAAA,EAEpB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;;AAET,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,oBAAoB,EAAE;AACnE,qBAAA,EAAA,MAAA,EAAA,CAAA,mMAAA,CAAA,EAAA,CAAA;;0BA6BE,QAAQ;;0BAAI,IAAI;qEAtBV,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAOiB,KAAK,EAAA,CAAA;sBAA3B,YAAY;uBAAC,OAAO,CAAA;gBAOC,IAAI,EAAA,CAAA;sBAAzB,YAAY;uBAAC,MAAM,CAAA;;;MC9BT,eAAe,CAAA;;+HAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAHxB,YAAA,EAAA,CAAA,kBAAkB,CANlB,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAMT,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAVjB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAQU,eAAe,EAAA,UAAA,EAAA,CAAA;kBAX3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;AACnB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,kBAAkB;AACnB,qBAAA;AACF,iBAAA,CAAA;;;MCaY,yBAAyB,CAAA;AA4BpC,IAAA,WAAA;AACE;;AAEG;AACwB,IAAA,SAAoB,EACvC,WAAyC,EAAA;QADtB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACvC,IAAW,CAAA,WAAA,GAAX,WAAW,CAA8B;AAhCnD;;AAEG;QACH,IAAW,CAAA,WAAA,GAAG,eAAe,CAAC;QAEW,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;QAMtD,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;KAsBZ;AApBJ;;AAEG;IACoB,KAAK,GAAA;AAC3B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACpB;AAED;;AAEG;IACmB,IAAI,GAAA;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;IAUD,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACxC;;yIAtCU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,mBAAA,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EANzB,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;;AAET,QAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,yBAAyB,EAAE;AAC1E,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAPS,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,iRAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAU1B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAbrC,SAAS;+BAEE,4BAA4B,EAAA,QAAA,EAC5B,2BAA2B,EAAA,aAAA,EAEtB,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;;AAET,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,2BAA2B,EAAE;AAC1E,qBAAA,EAAA,MAAA,EAAA,CAAA,iRAAA,CAAA,EAAA,CAAA;;0BAmCE,QAAQ;;0BAAI,IAAI;qEA1BsB,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B,CAAA;gBAK9B,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAMiB,KAAK,EAAA,CAAA;sBAA3B,YAAY;uBAAC,OAAO,CAAA;gBAOC,IAAI,EAAA,CAAA;sBAAzB,YAAY;uBAAC,MAAM,CAAA;;;MCpCT,sBAAsB,CAAA;;sIAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,mBAAA,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAH/B,YAAA,EAAA,CAAA,yBAAyB,CANzB,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAMhB,mBAAA,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAVxB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAQU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAXlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,yBAAyB;AAC1B,qBAAA;AACF,iBAAA,CAAA;;;ACHD,IAAI,aAAa,GAAG,CAAC,CAAC;MAQT,qBAAqB,CAAA;AA+GhC,IAAA,WAAA,CAAoB,MAAyB,EAAA;QAAzB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;AAlG7C;;AAEG;QACK,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAoBzB;;AAEG;AACM,QAAA,IAAA,CAAA,EAAE,GAAW,gBAAgB,GAAG,aAAa,CAAC;AAEvD;;AAEG;;QAEkB,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AAQhC;;AAEG;AACO,QAAA,IAAA,CAAA,aAAa,GAA0B,IAAI,YAAY,EAAE,CAAC;AAC1D,QAAA,IAAA,CAAA,eAAe,GAAuB,IAAI,YAAY,EAAE,CAAC;AAWnE;;;;AAIG;QACuB,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;AAuC1C;;AAEG;AACH,QAAA,aAAa,EAAE,CAAC;KACjB;AAlGD,IAAA,IACI,OAAO,GAAA;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;KACrB;IACD,IAAI,OAAO,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;YAC3B,OAAO;AACR,SAAA;QACD,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxC,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;AAClD,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;AAC7B,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;KACvB;AAyCD;;AAEG;AACH,IAAA,SAAS,CAAC,GAAU,EAAA;AAClB,QAAA,IAAuB,GAAG,CAAC,MAAO,CAAC,OAAO,EAAE;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;AACf,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjB,SAAA;KACF;;AACD;;AAEG;AACH,IAAA,IAAkC,UAAU,GAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;KAC9B;;AACD;;AAEG;AACH,IAAA,IAAmC,aAAa,GAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;KAC/B;;AACD;;AAEG;IACH,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;AACD;;AAEG;IACH,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;AAQD;;AAEG;IACH,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KAC5B;AACD;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KAC5B;;qIAlIU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yHAArB,qBAAqB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,YAAA,EAAA,OAAA,CAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAIiB,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxB7D,+YAawD,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDO3C,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,eAAe,EAAA,eAAA,EAGR,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+YAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;wGAMgB,cAAc,EAAA,CAAA;sBAA5E,SAAS;uBAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAIpD,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAIG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAOF,OAAO,EAAA,CAAA;sBADV,KAAK;gBAqBG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBAMe,KAAK,EAAA,CAAA;sBAAzB,KAAK;uBAAC,YAAY,CAAA;gBAMO,SAAS,EAAA,CAAA;sBAAlC,KAAK;uBAAC,iBAAiB,CAAA;gBAKd,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBACG,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBAgBmB,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW,CAAA;gBAgBU,UAAU,EAAA,CAAA;sBAA3C,WAAW;uBAAC,eAAe,CAAA;gBAMO,aAAa,EAAA,CAAA;sBAA/C,WAAW;uBAAC,gBAAgB,CAAA;;;ME/FlB,wBAAwB,CAAA;AANrC,IAAA,WAAA,GAAA;AAcE;;;;AAIG;QACuB,IAAI,CAAA,IAAA,GAAG,OAAO,CAAC;AAS/B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAS,CAAC;AAMjD,KAAA;IAJC,SAAS,GAAA;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;AAC7C,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,KAAK,OAAO,KAAK,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC;KAC9I;;wIA3BU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAoBlB,qBAAqB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxCxC,2BAAyB,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDoBZ,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;+BACE,mBAAmB,EAAA,eAAA,EAGZ,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;8BAItC,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAIG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAOoB,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW,CAAA;gBAOgB,UAAU,EAAA,CAAA;sBAAjD,eAAe;uBAAC,qBAAqB,CAAA;gBAE5B,SAAS,EAAA,CAAA;sBAAlB,MAAM;;;AE1BT;;AAEG;MAKU,yCAAyC,CAAA;IAcpD,WAC6B,CAAA,QAAmB,EACtC,SAAgC,EAAA;QADb,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACtC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAuB;AAExC,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;AACzB,YAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;AACpC,SAAA;KACF;AAGD;;AAEG;IACH,QAAQ,GAAA;;QAEN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;;QAGrC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CACpC,MAAK;AACH,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACvB,SAAC,CACF,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CACtC,MAAK;AACH,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACxB,SAAC,CACF,CAAC;KACH;AAED;;AAEG;AACH,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAChB,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,UAAU,EAAE,CAAC;AACnB,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,YAAY,EAAE,CAAC;AACrB,SAAA;KACF;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,KAAI;YACvB,EAAE,CAAC,GAAG,CAAC,CAAC;AACV,SAAC,CAAC;KACH;AAED;;AAEG;AACH,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAU,CAAC;KACtC;AAED;;AAEG;IACH,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;KACzB;AAED;;AAEG;IACH,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;;yJA3FU,yCAAyC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6IAAzC,yCAAyC,EAAA,QAAA,EAAA,oFAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAzC,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBAJrD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,oFAAoF;AAC/F,iBAAA,CAAA;;0BAgBI,QAAQ;;0BAAI,IAAI;6EARV,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MCVK,kBAAkB,CAAA;;kIAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,iBAX3B,qBAAqB;QACrB,wBAAwB;QACxB,yCAAyC,CAAA,EAAA,OAAA,EAAA,CAGzC,YAAY,CAAA,EAAA,OAAA,EAAA,CAVZ,qBAAqB;QACrB,wBAAwB;QACxB,yCAAyC,CAAA,EAAA,CAAA,CAAA;AAchC,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAJlB,SAAA,EAAA;QACT,wBAAwB;KACzB,EALQ,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAKU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAlB9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,qBAAqB;wBACrB,wBAAwB;wBACxB,yCAAyC;AAC1C,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,qBAAqB;wBACrB,wBAAwB;wBACxB,yCAAyC;AAC1C,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,wBAAwB;AACzB,qBAAA;AACF,iBAAA,CAAA;;;MCAY,0BAA0B,CAAA;IA2CrC,WACS,CAAA,SAAoB,EACnB,iBAAoC,EAAA;QADrC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACnB,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;AA1C9C;;;AAGG;QACM,IAAG,CAAA,GAAA,GAAG,CAAC,CAAC;AAEjB;;;AAGG;QACM,IAAG,CAAA,GAAA,GAAG,EAAE,CAAC;AAElB;;;;;AAKG;AACH,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,WAAW,EAAE,CAAC;AAMlC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;KAmBvB;AAvBJ,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;KAC5B;AAID,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;KACrC;IACD,IAAI,KAAK,CAAC,KAAK,EAAA;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACxE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACvC;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;KACxC;IAOD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAC/B,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3B,CAAC,SAAS,CAAC,MAAK;YACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;KACpB;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;KACxC;IAED,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AACnD,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACvC,SAAA;KACF;AAED;;;AAGG;AACH,IAAA,aAAa,CAAC,CAAM,EAAA;QAClB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KAC7B;IAEO,gBAAgB,GAAA;;QAEtB,IAAI,CAAC,SAAS,CAAC,QAAQ;AACrB,cAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;AAC9B,cAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;KACjC;;0IA1FU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;8HAA1B,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAC1B,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzB/B,qOAUA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAE,kBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gHAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gHAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iGAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDca,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,qBAAqB,EAAA,eAAA,EAEd,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,qOAAA,EAAA,CAAA;kIAGhB,KAAK,EAAA,CAAA;sBAAnC,SAAS;uBAAC,kBAAkB,CAAA;gBAMpB,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAMG,GAAG,EAAA,CAAA;sBAAX,KAAK;;;AE1BR;;AAEG;AACI,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,SAAiB,KACxE,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,IAAI,GAAG,CAAC,CAAC;MAOnD,2BAA2B,CAAA;IAuCtC,WAAmB,CAAA,SAAoB,EAAU,iBAAoC,EAAA;QAAlE,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAAU,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;AAnCrF;;;AAGG;QACM,IAAG,CAAA,GAAA,GAAG,CAAC,CAAC;AAEjB;;;AAGG;QACM,IAAG,CAAA,GAAA,GAAG,EAAE,CAAC;AAElB;;;;AAIG;QACM,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;AAE3B;;AAEG;QACK,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;QAEtB,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;KAW8E;AATzF,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;IACD,IAAI,KAAK,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACvC;AAID;;;AAGG;AACH,IAAA,aAAa,CAAC,CAAC,EAAA;QACb,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KAC7B;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;KAC5B;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;KACrB;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;KACxC;AAED;;AAEG;AACH,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KAC3D;;2IAlEU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+HAA3B,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAE3B,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBtC,sUAQA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAG,yBAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDca,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,sBAAsB,EAAA,eAAA,EAEf,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,sUAAA,EAAA,CAAA;kIAIT,MAAM,EAAA,CAAA;sBAA3C,SAAS;uBAAC,yBAAyB,CAAA;gBAM3B,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAMG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAOG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MEZK,0BAA0B,CAAA;IAuErC,WAC6B,CAAA,SAAoB,EACvC,EAAqB,EAAA;QADF,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACvC,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;AApE/B;;;;AAIG;QACM,IAAG,CAAA,GAAA,GAAG,CAAC,CAAC;AAEjB;;;;AAIG;QACM,IAAG,CAAA,GAAA,GAAG,GAAG,CAAC;AAEnB;;;;AAIG;QACM,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;QAMxB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACT,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;QACd,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;AA2CjC,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;AACrC,SAAA;KACF;AApDD,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxD;AAMD,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,KAAa,EAAA;QACxB,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KACjD;AAED;;AAEG;AACH,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KAC3C;AAED,IAAA,IAAI,WAAW,GAAA;;QAEb,OAAO,IAAI,CAAC,cAAc;AACxB,cAAE,cAAc;cACd,eAAe,CAAC;KACrB;AAED,IAAA,IAAI,cAAc,GAAA;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC,SAAS;cAClD,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS;cACtC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;AAErC,QAAA,IAAI,GAAG,EAAE;AACP,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAChC,SAAA;AAED,QAAA,OAAO,GAAG,CAAC;KACZ;AAED,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;KAC7B;IAWO,QAAQ,CAAC,QAAgB,EAAA,GAAU;;IACnC,SAAS,CAAC,QAAgB,EAAA,GAAU;;AAE5C,IAAA,UAAU,CAAC,QAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;KACxB;AAED,IAAA,gBAAgB,CAAC,EAA8B,EAAA;AAC7C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;IAED,KAAK,GAAA;QACH,IAAG,IAAI,CAAC,MAAM,EAAE;AACd,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AACrB,SAAA;QACD,IAAG,IAAI,CAAC,KAAK,EAAE;AACb,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AACpB,SAAA;KACF;;0IA3GU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAJ,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,mBAAA,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAT1B,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,oBAAoB;;AAE7B,YAAA,WAAW,EAAE,0BAA0B;AACxC,SAAA;AACF,KAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAKU,0BAA0B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAC1B,2BAA2B,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClCxC,gQAQA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAK,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDuBa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAZtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAEpB,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,oBAAoB;;AAE7B,4BAAA,WAAW,EAA4B,0BAAA;AACxC,yBAAA;qBACF,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,gQAAA,EAAA,CAAA;;0BA0E5C,QAAQ;;0BAAI,IAAI;4EAtEoB,KAAK,EAAA,CAAA;sBAA3C,SAAS;uBAAC,0BAA0B,CAAA;gBACG,MAAM,EAAA,CAAA;sBAA7C,SAAS;uBAAC,2BAA2B,CAAA;gBAO7B,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAOG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAOG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;ME3BK,uBAAuB,CAAA;;uIAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,mBAAA,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBAhBhC,0BAA0B;QAC1B,0BAA0B;AAC1B,QAAA,2BAA2B,aAG3B,YAAY;QACZ,sBAAsB;QACtB,eAAe;AACf,QAAA,mBAAmB,aAGnB,0BAA0B;QAC1B,0BAA0B;QAC1B,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAGlB,mBAAA,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAZzB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,sBAAsB;YACtB,eAAe;YACf,mBAAmB;AACpB,SAAA,CAAA,EAAA,CAAA,CAAA;2FAOU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAlBnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;wBAC1B,0BAA0B;wBAC1B,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,sBAAsB;wBACtB,eAAe;wBACf,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;wBAC1B,0BAA0B;wBAC1B,2BAA2B;AAC5B,qBAAA;AACF,iBAAA,CAAA;;;ACZD;;AAEG;AACH,MAAM,iBAAiB,CAAA;IACrB,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAC5E,CAAA;AAED,MAAM,kBAAkB,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAE5D;;AAEG;AAUG,MAAO,sBAAuB,SAAQ,kBAAkB,CAAA;IAO5D,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;AACrE,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QADV,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AALvE;;AAEG;QACkC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;KAIjD;;sIATU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,mBAAA,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,uKANvB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wwBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAM1B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBATlC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAEhB,2BAA2B,EAG7B,MAAA,EAAA,CAAC,MAAM,CAAC,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,wwBAAA,CAAA,EAAA,CAAA;yHAOV,KAAK,EAAA,CAAA;sBAAzC,WAAW;uBAAC,sBAAsB,CAAA;;;MCzBxB,mBAAmB,CAAA;;mIAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAN5B,YAAA,EAAA,CAAA,sBAAsB,CAHtB,EAAA,OAAA,EAAA,CAAA,YAAY,aAMZ,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAGb,mBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAVrB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAQU,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAX/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;AACvB,qBAAA;AACF,iBAAA,CAAA;;;ACNM,MAAM,8BAA8B,GAEvC;AACF,IAAA,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE;QACpB,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAC,CAAC;AAC/E,QAAA,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACrC,CAAC;CACH;;ACGD;;AAEG;AACH,MAAM,yBAAyB,CAAA;IAC7B,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAC5E,CAAA;AAED,MAAM,0BAA0B,GAAG,cAAc,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;AAExF;;AAEG;AAaG,MAAO,8BAA+B,SAAQ,0BAA0B,CAAA;IA+C5E,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;AACrE,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QADV,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AA7CvE;;AAEG;QAC2C,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAE3D;;;;AAIG;;QAEM,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;AAEhC;;;AAGG;AACO,QAAA,IAAA,CAAA,QAAQ,GAAuB,IAAI,YAAY,EAAE,CAAC;KA8B3D;AA3BD;;;;AAIG;AACH,IAAA,mBAAmB,CAAC,KAAqB,EAAA;;;QAGvC,IAAG,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,EAAE;AACnD,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACtB,SAAA;KACF;AAED;;AAEG;AACH,IAAA,IAAI,SAAS,GAAA;QACX,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,UAAU;AACtB,YAAA,MAAM,EAAE;gBACN,UAAU,EAAE,IAAI,CAAC,UAAU;AAC5B,aAAA;SACF,CAAC;KACH;;8IA7CU,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kIAA9B,8BAA8B,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,+BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3C3C,wHAAgH,EDuClG,MAAA,EAAA,CAAA,6CAAA,CAAA,EAAA,UAAA,EAAA;AACV,QAAA,8BAA8B,CAAC,IAAI;AACpC,KAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAEU,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAZ1C,SAAS;+BACE,yBAAyB,EAAA,eAAA,EAGlB,uBAAuB,CAAC,MAAM,UAGvC,CAAC,OAAO,CAAC,EACL,UAAA,EAAA;AACV,wBAAA,8BAA8B,CAAC,IAAI;AACpC,qBAAA,EAAA,QAAA,EAAA,wHAAA,EAAA,MAAA,EAAA,CAAA,6CAAA,CAAA,EAAA,CAAA;yHAO6C,KAAK,EAAA,CAAA;sBAAlD,WAAW;uBAAC,+BAA+B,CAAA;gBAQnC,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAMI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;;;MElDI,2BAA2B,CAAA;;2IAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA3B,mBAAA,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,EANvB,YAAA,EAAA,CAAA,8BAA8B,CAE3C,EAAA,OAAA,EAAA,CAAA,YAAY,aAEJ,8BAA8B,CAAA,EAAA,CAAA,CAAA;AAE7B,mBAAA,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,EAL7B,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAGU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,8BAA8B,CAAC;AAC9C,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;oBACD,OAAO,EAAE,CAAC,8BAA8B,CAAC;AAC1C,iBAAA,CAAA;;;MCEY,qBAAqB,CAAA;AAIhC,IAAA,WAAA,GAAA;AAEA;;AAEG;QACuB,IAAI,CAAA,IAAA,GAAG,YAAY,CAAC;KAL7B;;qIAJN,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,mBAAA,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,oICblC,2BAAyB,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDaZ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,gBAAgB,EAAA,eAAA,EAGT,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;0EAItC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAOoB,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW,CAAA;;;AEP1B,IAAI,aAAa,GAAG,CAAC,CAAC;MAQT,kBAAkB,CAAA;AAwE7B,IAAA,WAAA,CAAgC,QAA+B,EAAA;QAA/B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAuB;AAtE/D;;AAEG;QACuB,IAAI,CAAA,IAAA,GAAG,OAAO,CAAC;AAczC;;AAEG;QACH,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB;;AAEG;AACO,QAAA,IAAA,CAAA,eAAe,GAA0B,IAAI,YAAY,EAAE,CAAC;AAoBtE;;AAEG;AACM,QAAA,IAAA,CAAA,EAAE,GAAW,aAAa,GAAG,aAAa,CAAC;AAEpD;;AAEG;QACM,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AAEnB;;AAEG;;AAEkB,QAAA,IAAA,CAAA,KAAK,GAAW,IAAI,CAAC,IAAI,CAAC;QAS/C,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAGd,QAAA,aAAa,EAAE,CAAC;KACjB;AApED;;AAEG;AACH,IAAA,IAAkC,UAAU,GAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;KAC9B;;AACD;;AAEG;AACH,IAAA,IAAmC,aAAa,GAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;KAC/B;;AAYD;;AAEG;AACH,IAAA,IACI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IACD,IAAI,OAAO,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,SAAA;KACD;AAmCD;;AAEG;IACH,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KAC5D;AAED;;AAEG;IACH,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;AACD;;AAEG;IACH,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;AACD;;AAEG;IACH,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;AACD;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;;;kIA7GU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,0XCvB/B,6XAaQ,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDUK,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;+BAEE,YAAY,EAAA,eAAA,EAGL,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6XAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;0BA0ElC,QAAQ;4CAnEK,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW,CAAA;gBAIU,UAAU,EAAA,CAAA;sBAA3C,WAAW;uBAAC,eAAe,CAAA;gBAMO,aAAa,EAAA,CAAA;sBAA/C,WAAW;uBAAC,gBAAgB,CAAA;gBAWnB,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBAOH,OAAO,EAAA,CAAA;sBADV,KAAK;gBAaG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAIG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAMe,KAAK,EAAA,CAAA;sBAAzB,KAAK;uBAAC,YAAY,CAAA;gBAMO,UAAU,EAAA,CAAA;sBAAnC,KAAK;uBAAC,iBAAiB,CAAA;;;ME9Eb,iBAAiB,CAAA;AAD9B,IAAA,WAAA,GAAA;QAEU,IAAU,CAAA,UAAA,GAA0B,EAAE,CAAC;AA+ChD,KAAA;AA7CC;;;AAGG;IACH,GAAG,CAAC,OAAkB,EAAE,QAAgD,EAAA;AACtE,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,OAAO;YACP,QAAQ;AACT,SAAA,CAAC,CAAC;KACJ;AAED;;;AAGG;AACH,IAAA,MAAM,CAAC,QAAgD,EAAA;AACrD,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YACpD,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE;gBAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7B,OAAO;AACR,aAAA;AACF,SAAA;KACF;AAED;;;AAGG;AACH,IAAA,MAAM,CAAC,QAAgD,EAAA;QACrD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AAC5B,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE;AAChE,gBAAA,CAAC,CAAC,UAAU,CAAC,CAAC,YAAY,EAAE,CAAC;AAC9B,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAEO,YAAY,CAClB,WAAgC,EAChC,QAAgD,EAAA;AAChD,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;AACnC,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AACD,QAAA,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM;eAC5E,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC;KACrD;;iIA/CU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,mBAAA,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADJ,MAAM,EAAA,CAAA,CAAA;2FACnB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACOlC;;AAEG;MAKU,sCAAsC,CAAA;AAcjD,IAAA,WAAA,CAC6B,QAAmB,EACtC,SAA4B,EAC5B,MAA0B,EAAA;QAFP,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACtC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;QAC5B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAoB;AAElC,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;AACzB,YAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;AACpC,SAAA;KACF;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,CACnC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CACzC,CAAC;KACH;AACD;;;AAGG;AACH,IAAA,UAAU,CAAC,KAAU,EAAA;;;QAGnB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;YAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,EAAE,CAAC;AACnB,SAAA;KACF;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,MAAK;AACpB,YAAA,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9B,SAAC,CAAC;KACH;AAED;;AAEG;AACH,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC;KACnC;AAED;;AAEG;IACH,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;KACtB;AAED;;AAEG;IACH,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;KACxB;;sJAjFU,sCAAsC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAR,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAS,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0IAAtC,sCAAsC,EAAA,QAAA,EAAA,2EAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAtC,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAJlD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,2EAA2E;AACtF,iBAAA,CAAA;;0BAgBI,QAAQ;;0BAAI,IAAI;uGARV,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MCXK,eAAe,CAAA;;+HAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBARxB,sCAAsC;QACtC,kBAAkB;QAClB,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAGrB,YAAY,CAAA,EAAA,OAAA,EAAA,CAXZ,kBAAkB;QAClB,qBAAqB;QACrB,sCAAsC,CAAA,EAAA,CAAA,CAAA;AAY7B,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAJjB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAEU,eAAe,EAAA,UAAA,EAAA,CAAA;kBAhB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAC;wBACN,kBAAkB;wBAClB,qBAAqB;wBACrB,sCAAsC;AAEvC,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,sCAAsC;wBACtC,kBAAkB;wBAClB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACF,iBAAA,CAAA;;;MChBY,sBAAsB,CAAA;AAHnC,IAAA,WAAA,GAAA;QAIwC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACpD,KAAA;;sIAFY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0HAAtB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC5B,iBAAA,CAAA;8BAEuC,KAAK,EAAA,CAAA;sBAA1C,WAAW;uBAAC,uBAAuB,CAAA;;;MCIzB,mBAAmB,CAAA;;mIAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oIAAnB,mBAAmB,EAAA,YAAA,EAAA,CAJ5B,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAHtB,sBAAsB,CAAA,EAAA,CAAA,CAAA;oIAOb,mBAAmB,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAT/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,sBAAsB;AACvB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;AACvB,qBAAA;AACF,iBAAA,CAAA;;;MCHY,iCAAiC,CAAA;AAH9C,IAAA,WAAA,GAAA;AAKE;;AAEG;QACgD,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACjE,KAAA;;iJANY,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qIAAjC,iCAAiC,EAAA,QAAA,EAAA,4BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oCAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAH7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACvC,iBAAA,CAAA;8BAMoD,KAAK,EAAA,CAAA;sBAAvD,WAAW;uBAAC,oCAAoC,CAAA;;;MCLtC,+BAA+B,CAAA;AAH5C,IAAA,WAAA,GAAA;AAKE;;AAEG;QAC8C,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAC/D,KAAA;;+IANY,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mIAA/B,+BAA+B,EAAA,QAAA,EAAA,0BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kCAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAH3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACrC,iBAAA,CAAA;8BAMkD,KAAK,EAAA,CAAA;sBAArD,WAAW;uBAAC,kCAAkC,CAAA;;;ACJ1C,MAAM,uBAAuB,GAEhC;AACF,IAAA,aAAa,EAAE,OAAO,CAAC,eAAe,EAAE;AACtC,QAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAClB,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CAAC,CAAC;AACH,QAAA,KAAK,CAAC,MAAM,EAAC,KAAK,CAAC;AACjB,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CAAC,CAAC;AACH,QAAA,UAAU,CAAC,eAAe,EACxB,OAAO,CAAC,eAAe,CAAC,CACzB;KACF,CAAC;CACH;;AC5BM,MAAMC,mBAAiB,GAAG,CAAC,IAAa,KAAI;AACjD,IAAA,IAAG,IAAI,EAAC;AACN,QAAA,OAAO,MAAM,CAAC;AACf,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,MAAM,CAAC;AACf,KAAA;AACH,CAAC;;MCoBY,0BAA0B,CAAA;AAVvC,IAAA,WAAA,GAAA;AAWE;;AAEG;QACH,IAAa,CAAA,aAAA,GAAG,aAAa,CAAC;AAC9B;;AAEG;QACH,IAAW,CAAA,WAAA,GAAG,WAAW,CAAC;AAE1B;;AAEG;QACuC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAGvD;;AAEG;QACH,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;AAkBf,KAAA;AAZC;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;QACtE,IAAI,CAAC,eAAe,GAAGA,mBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACtD;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,eAAe,GAAGA,mBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACtD;;0IApCU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;8HAA1B,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1BvC,2aAWM,EDWQ,MAAA,EAAA,CAAA,6iBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,CAAA,EAAA,UAAA,EAAA;AACV,QAAA,uBAAuB,CAAC,aAAa;AACtC,KAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAEU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAVtC,SAAS;+BACE,qBAAqB,EAAA,aAAA,EAGhB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA;AACV,wBAAA,uBAAuB,CAAC,aAAa;AACtC,qBAAA,EAAA,QAAA,EAAA,2aAAA,EAAA,MAAA,EAAA,CAAA,6iBAAA,CAAA,EAAA,CAAA;8BAeyC,KAAK,EAAA,CAAA;sBAA9C,WAAW;uBAAC,2BAA2B,CAAA;gBAE/B,eAAe,EAAA,CAAA;sBAAvB,KAAK;;;AEhCR;;AAEG;AACH,MAAM,iBAAiB,CAAA;IACrB,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAC5E,CAAA;AAED,MAAM,kBAAkB,GAAG,4BAA4B,EAAE,iBAAiB,EAAE,CAAC;AASvE,MAAO,sBAAuB,SAAQ,kBAAkB,CAAA;IAC5D,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;AACrE,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QADV,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;KAEtE;;sIAHU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,mBAAA,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,6ECzBnC,2BAAyB,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDyBZ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;+BACE,gBAAgB,EAAA,eAAA,EAGT,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,CAAA;;;MEOpC,6BAA6B,CAAA;IAExC,WACU,CAAA,SAAiC,EACT,sBAAqD,EAAA;QAD7E,IAAS,CAAA,SAAA,GAAT,SAAS,CAAwB;QACT,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAA+B;AAEvF;;AAEG;QACH,IAAa,CAAA,aAAA,GAAG,aAAa,CAAC;AAC9B;;AAEG;QACH,IAAW,CAAA,WAAA,GAAG,WAAW,CAAC;AAiB1B;;AAEG;QACH,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;AAMd;;AAEG;QACH,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;KArCP;AAUJ;;AAEG;AACH,IAAA,IAA0B,OAAO,GAAA;QAC/B,OAAO;YACL,yBAAyB;YACzB,iCAAiC,GAAG,IAAI,CAAC,MAAM;SAChD,CAAC;KACH;AAqBD;;AAEG;IACH,QAAQ,GAAA;AACP,QAAA,IAAG,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE;YAC1F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC;AACtD,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;QACtE,IAAI,CAAC,eAAe,GAAGD,mBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACrD;IAED,YAAY,GAAA;AACX,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,eAAe,GAAGA,mBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACrD;;AA1DU,mBAAA,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,qDAIkB,6BAA6B,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAJ5E,mBAAA,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EA2BvB,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,6BAA6B,ECxDhD,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qhBAYA,EDac,MAAA,EAAA,CAAA,8iBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAT,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAU,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,CAAA,EAAA,UAAA,EAAA;AACV,QAAA,uBAAuB,CAAC,aAAa;AACtC,KAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAEU,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBATzC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EAGlB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA;AACV,wBAAA,uBAAuB,CAAC,aAAa;AACtC,qBAAA,EAAA,QAAA,EAAA,qhBAAA,EAAA,MAAA,EAAA,CAAA,8iBAAA,CAAA,EAAA,CAAA;4FAMyD,6BAA6B,EAAA,UAAA,EAAA,CAAA;0BAApF,QAAQ;;0BAAI,QAAQ;4CAcG,OAAO,EAAA,CAAA;sBAAhC,WAAW;uBAAC,OAAO,CAAA;gBAOX,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAGN,sBAAsB,EAAA,CAAA;sBADrB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,6BAA6B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;;;MEvB1D,mBAAmB,CAAA;;mIAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBAd5B,sBAAsB;QACtB,0BAA0B;QAC1B,6BAA6B;QAC7B,+BAA+B;AAC/B,QAAA,iCAAiC,aAVjC,YAAY;QAEZ,iBAAiB;AACjB,QAAA,sBAAsB,aAUtB,sBAAsB;QACtB,0BAA0B;QAC1B,6BAA6B;QAC7B,+BAA+B;QAC/B,iCAAiC,CAAA,EAAA,CAAA,CAAA;AAGxB,mBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EArBrB,OAAA,EAAA,CAAA;YACP,YAAY;YAEZ,iBAAiB;YACjB,sBAAsB;AACvB,SAAA,CAAA,EAAA,CAAA,CAAA;2FAgBU,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAtB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBAEZ,iBAAiB;wBACjB,sBAAsB;AACvB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;wBACtB,0BAA0B;wBAC1B,6BAA6B;wBAC7B,+BAA+B;wBAC/B,iCAAiC;AAClC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB,0BAA0B;wBAC1B,6BAA6B;wBAC7B,+BAA+B;wBAC/B,iCAAiC;AAClC,qBAAA;AACF,iBAAA,CAAA;;;ACzBD;;AAEG;MAQU,oBAAoB,CAAA;AAPjC,IAAA,WAAA,GAAA;AASE;;AAEG;QACgC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAEhD;;AAEG;QACuB,IAAI,CAAA,IAAA,GAAG,SAAS,CAAC;AAC5C,KAAA;;oIAXY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,mBAAA,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,4IALrB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,4sFAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAK1B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACE,cAAc,EAAA,QAAA,EACd,2BAA2B,EAEtB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,4sFAAA,CAAA,EAAA,CAAA;8BAOZ,KAAK,EAAA,CAAA;sBAAvC,WAAW;uBAAC,oBAAoB,CAAA;gBAKP,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW,CAAA;;;MCnBb,wBAAwB,CAAA;AAHrC,IAAA,WAAA,GAAA;AAKE;;AAEG;QACsC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACvD,KAAA;;wIANY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA,CAAA;8BAM0C,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B,CAAA;;;MCL5B,wBAAwB,CAAA;AAHrC,IAAA,WAAA,GAAA;AAKE;;AAEG;QACsC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACvD,KAAA;;wIANY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA,CAAA;8BAM0C,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B,CAAA;;;MCL5B,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;AAKE;;AAEG;QACuC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACxD,KAAA;;yIANY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6HAAzB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA,CAAA;8BAM2C,KAAK,EAAA,CAAA;sBAA9C,WAAW;uBAAC,2BAA2B,CAAA;;;MCY7B,iBAAiB,CAAA;;iIAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAZ1B,oBAAoB;QACpB,yBAAyB;QACzB,wBAAwB;QACxB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CANxB,YAAY,CAAA,EAAA,OAAA,EAAA,CASZ,oBAAoB;QACpB,yBAAyB;QACzB,wBAAwB;QACxB,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAGf,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAhBnB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAcU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAjB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;wBACpB,yBAAyB;wBACzB,wBAAwB;wBACxB,wBAAwB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,yBAAyB;wBACzB,wBAAwB;wBACxB,wBAAwB;AACzB,qBAAA;AACF,iBAAA,CAAA;;;ACfD,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAClC,MAAM,qBAAqB,GAAG,8BAA8B,CAAC;AAC7D,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAEvD,MAAM,sBAAsB,GAE/B;AACF,IAAA,YAAY,EAAE,OAAO,CAAC,cAAc,EAAE;QACpC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5C,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChD,UAAU,CAAC,kCAAkC,EAAE,OAAO,CAAC,iBAAiB,GAAG,GAAG,GAAG,qBAAqB,CAAC,CAAC;QACxG,UAAU,CAAC,kCAAkC,EAAE,OAAO,CAAC,iBAAiB,GAAG,GAAG,GAAG,oBAAoB,CAAC,CAAC;QACvG,UAAU,CAAC,QAAQ,EAAE;AACnB,YAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACrB,YAAA,OAAO,CAAC,iBAAiB,GAAG,GAAG,GAAG,oBAAoB,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;SAC/E,CAAC;QACF,UAAU,CAAC,QAAQ,EAAE;AACnB,YAAA,OAAO,CAAC,iBAAiB,GAAG,GAAG,GAAG,qBAAqB,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;SAChF,CAAC;KACH,CAAC;CACH;;AC5BM,MAAMH,mBAAiB,GAAG,CAAC,YAAqB,KAAgC,YAAY,GAAG,cAAc,GAAG,kBAAkB;;MCwB5H,qBAAqB,CAAA;AATlC,IAAA,WAAA,GAAA;AAWE;;AAEG;;QAEM,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAEtC;;AAEG;QACM,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC;AAE7B;;;AAGG;;QAEM,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;AAErC;;AAEG;AACO,QAAA,IAAA,CAAA,eAAe,GAAuB,IAAI,YAAY,EAAQ,CAAC;QAEtC,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AAkC7D,KAAA;IAhCC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;KAC5C;AAED;;;AAGG;AACH,IAAA,IAAkC,mBAAmB,GAAA;AACnD,QAAA,OAAOA,mBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC7C;AAGD,IAAA,aAAa,CAAC,CAAiB,EAAA;AAC9B,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,kBAAkB,CAAC,CAAC;KACvF;AAGD,IAAA,cAAc,CAAC,CAAiB,EAAA;QAC/B,IAAG,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,cAAc,EAAC;AACxD,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AAC/B,SAAA;KACD;AAED;;;AAGG;IAEH,iBAAiB,GAAA;AAChB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;KAC5B;;qIA1DU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yHAArB,qBAAqB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBlC,2IACA,EDmBc,MAAA,EAAA,CAAA,+bAAA,CAAA,EAAA,UAAA,EAAA;AACV,QAAA,sBAAsB,CAAC,YAAY;AACpC,KAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGb,UAAA,EAAA;AACV,wBAAA,sBAAsB,CAAC,YAAY;qBACpC,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2IAAA,EAAA,MAAA,EAAA,CAAA,+bAAA,CAAA,EAAA,CAAA;8BAQtC,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAKG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAOG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAKI,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBAE4B,iBAAiB,EAAA,CAAA;sBAAnD,WAAW;uBAAC,oBAAoB,CAAA;gBAUC,mBAAmB,EAAA,CAAA;sBAApD,WAAW;uBAAC,eAAe,CAAA;gBAK5B,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAM9C,cAAc,EAAA,CAAA;sBADb,YAAY;uBAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAY/C,iBAAiB,EAAA,CAAA;sBADhB,YAAY;uBAAC,OAAO,CAAA;;;ME7DV,kBAAkB,CAAA;;kIAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAT3B,YAAA,EAAA,CAAA,qBAAqB,CAHrB,EAAA,OAAA,EAAA,CAAA,YAAY,aAMZ,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAMZ,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAbpB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAWU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAd9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,qBAAqB;AACtB,qBAAA;AACD,oBAAA,eAAe,EAAE;wBACf,qBAAqB;AACtB,qBAAA;AACF,iBAAA,CAAA;;;MCJY,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;AAQE;;AAEG;QACmC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACpD,KAAA;;sIALY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,mBAAA,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,wHALvB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qTAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAK1B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EACjB,2BAA2B,EAEtB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,qTAAA,CAAA,EAAA,CAAA;8BAMT,KAAK,EAAA,CAAA;sBAA1C,WAAW;uBAAC,uBAAuB,CAAA;;;MCNzB,mBAAmB,CAAA;;mIAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oIAAnB,mBAAmB,EAAA,YAAA,EAAA,CAN5B,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAGtB,sBAAsB,CAAA,EAAA,CAAA,CAAA;oIAGb,mBAAmB,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;AACvB,qBAAA;AACF,iBAAA,CAAA;;;MCGY,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;AASE;;AAEG;QACmC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACpD,KAAA;;sIANY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,mBAAA,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,wHALvB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAK1B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EACjB,2BAA2B,EAEtB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;8BAOT,KAAK,EAAA,CAAA;sBAA1C,WAAW;uBAAC,uBAAuB,CAAA;;;ACbtC;;AAEG;MAQU,yBAAyB,CAAA;;yIAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,mBAAA,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,0DChBtC,6TASA,EAAA,MAAA,EAAA,CAAA,ssBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAI,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDOa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,iBAGf,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6TAAA,EAAA,MAAA,EAAA,CAAA,ssBAAA,CAAA,EAAA,CAAA;;;AEPjD;;AAEG;MAMU,yBAAyB,CAAA;AALtC,IAAA,WAAA,GAAA;QAO+D,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAC3E,KAAA;;yIAHY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,mBAAA,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,+PCftC,6EAEM,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDaO,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,oBAAoB,EAAA,eAAA,EAEb,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6EAAA,EAAA,CAAA;8BAGiC,QAAQ,EAAA,CAAA;sBAAvF,WAAW;uBAAC,wDAAwD,CAAA;;sBAAG,KAAK;gBAChB,KAAK,EAAA,CAAA;sBAAjE,WAAW;uBAAC,8CAA8C,CAAA;;;MEDhD,mBAAmB,CAAA;;mIAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAN5B,YAAA,EAAA,CAAA,sBAAsB,CAHtB,EAAA,OAAA,EAAA,CAAA,YAAY,aAMZ,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAGb,mBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAVrB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAQU,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAX/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;AACvB,qBAAA;AACF,iBAAA,CAAA;;;MCMY,sBAAsB,CAAA;;sIAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,mBAAA,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,iBAR/B,yBAAyB;AACzB,QAAA,yBAAyB,aALzB,YAAY;AACZ,QAAA,mBAAmB,aAOnB,yBAAyB;QACzB,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAGhB,mBAAA,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAbxB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,mBAAmB;AACpB,SAAA,CAAA,EAAA,CAAA,CAAA;2FAUU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAdlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;AACpB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,yBAAyB;wBACzB,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,yBAAyB;wBACzB,yBAAyB;AAC1B,qBAAA;AACF,iBAAA,CAAA;;;ACTD;;AAEG;AACH,MAAM,eAAe,CAAA;IACnB,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAC5E,CAAA;AAED,MAAM,gBAAgB,GAAG,4BAA4B,EAAE,eAAe,EAAE,CAAC;AAEzE;;AAEG;AAQG,MAAO,oBAAqB,SAAQ,gBAAgB,CAAA;IAOxD,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;AACrE,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QADV,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AALvE;;AAEG;QACiC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;KAIhD;;oIATU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,mBAAA,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,2IALrB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,olBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAK1B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACE,eAAe,EAAA,QAAA,EACf,2BAA2B,EAEtB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,olBAAA,CAAA,EAAA,CAAA;yHAOX,KAAK,EAAA,CAAA;sBAAxC,WAAW;uBAAC,qBAAqB,CAAA;;;AC9BpC;;AAEG;MAIU,2BAA2B,CAAA;AAHxC,IAAA,WAAA,GAAA;AAKE;;AAEG;QAC0C,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAC3D,KAAA;;2IANY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+HAA3B,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,8BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AACjC,iBAAA,CAAA;8BAM8C,KAAK,EAAA,CAAA;sBAAjD,WAAW;uBAAC,8BAA8B,CAAA;;;MCFhC,wBAAwB,CAAA;AAPrC,IAAA,WAAA,GAAA;AASE;;AAEG;QACuC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACxD,KAAA;;wIANY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,mBAAA,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,kIAJzB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAI1B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AAAE,YAAA,IAAA,EAAA,CAAA;;AAEV,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,2BAA2B;oBACrC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;8BAM2C,KAAK,EAAA,CAAA;sBAA9C,WAAW;uBAAC,2BAA2B,CAAA;;;ACd1C;;AAEG;MAIU,8BAA8B,CAAA;AAH3C,IAAA,WAAA,GAAA;AAKE;;AAEG;QAC6C,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAC9D,KAAA;;8IANY,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kIAA9B,8BAA8B,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iCAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACpC,iBAAA,CAAA;8BAMiD,KAAK,EAAA,CAAA;sBAApD,WAAW;uBAAC,iCAAiC,CAAA;;;MCSnC,iBAAiB,CAAA;;iIAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAN1B,oBAAoB;QACpB,2BAA2B;QAC3B,8BAA8B;QAC9B,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAZxB,YAAY,CAAA,EAAA,OAAA,EAAA,CAGZ,oBAAoB;QACpB,2BAA2B;QAC3B,8BAA8B;QAC9B,wBAAwB,CAAA,EAAA,CAAA,CAAA;AASf,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAhBnB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAcU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAjB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,2BAA2B;wBAC3B,8BAA8B;wBAC9B,wBAAwB;AACzB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;wBACpB,2BAA2B;wBAC3B,8BAA8B;wBAC9B,wBAAwB;AACzB,qBAAA;AACF,iBAAA,CAAA;;;MCHY,qBAAqB,CAAA;AAgBhC,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAd1C;;AAEG;QACkC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;KAWJ;AAE9C;;;;AAIG;AACH,IAAA,IAA8B,IAAI,GAAA;AAChC,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,GAAG,UAAU,CAAC;KAC7C;;IAEO,eAAe,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;KACtC;;IAGO,SAAS,GAAA;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,KAAK,GAAG,CAAC;KACxD;;qIAlCU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,mBAAA,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAUlB,QAAA,EAAA,kCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,mBAAmB,EAInB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,mBAAmB,gDCnCnC,8RAQe,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAf,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDaF,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;AAEN,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,GAAG,GAAG;wBACtB,mBAAmB,EAAA,eAAA,EAEJ,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8RAAA,EAAA,CAAA;iGAQV,KAAK,EAAA,CAAA;sBAAzC,WAAW;uBAAC,sBAAsB,CAAA;gBAKA,OAAO,EAAA,CAAA;sBAAzC,YAAY;uBAAC,mBAAmB,CAAA;gBAIE,OAAO,EAAA,CAAA;sBAAzC,YAAY;uBAAC,mBAAmB,CAAA;gBASH,IAAI,EAAA,CAAA;sBAAjC,WAAW;uBAAC,WAAW,CAAA;;;AEvC1B;;AAEG;MAIU,0BAA0B,CAAA;AAHvC,IAAA,WAAA,GAAA;AAKE;;AAEG;QACwC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACzD,KAAA;;0IANY,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;8HAA1B,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,4BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAChC,iBAAA,CAAA;8BAM4C,KAAK,EAAA,CAAA;sBAA/C,WAAW;uBAAC,4BAA4B,CAAA;;;ICC/B,iBAIX;AAJD,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,WAAA,CAAA,GAAA,YAAwB,CAAA;AACxB,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,gBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC3B,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,GAI3B,EAAA,CAAA,CAAA,CAAA;AAID,IAAK,gBAGJ,CAAA;AAHD,CAAA,UAAK,gBAAgB,EAAA;AACnB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,WAAqB,CAAA;AACrB,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,eAAqB,CAAA;AACvB,CAAC,EAHI,gBAAgB,KAAhB,gBAAgB,GAGpB,EAAA,CAAA,CAAA,CAAA;AAED;;AAEG;AACH,MAAM,YAAY,CAAA;IAChB,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAC5E,CAAA;AAED,MAAM,aAAa,GAAG,4BAA4B,EAAE,YAAY,EAAE,CAAC;AAY7D,MAAO,iBAAkB,SAAQ,aAAa,CAAA;IA4ClD,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;AACrE,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QADV,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;KAEtE;AAxCD;;AAEG;AACH,IAAA,IAAoC,IAAI,GAAA;AACtC,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,gBAAgB,CAAC,OAAO,CAAC;KACnD;AAED;;;AAGK;AACL,IAAA,IAAgD,SAAS,GAAA;AACvD,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,SAAS,CAAC;KACjD;AAED;;;AAGK;AACL,IAAA,IAA0C,IAAI,GAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,CAAC;KAC5C;AAED;;;AAGK;AACL,IAAA,IAAgD,UAAU,GAAA;AACxD,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,UAAU,CAAC;KAClD;AAED;;AAEG;AACH,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC;KACzC;AAMD;;AAEG;AACH,IAAA,IAAwC,GAAG,GAAA;AACzC,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,gBAAgB,CAAC,GAAG,CAAC;KAC/C;AAED;;;;AAIG;AACH,IAAA,IAA8B,IAAI,GAAA;AAChC,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,gBAAgB,CAAC,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC;KACvE;;IAEO,eAAe,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;KACtC;;iIAlEU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,gXANlB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,g3DAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAM1B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;AAEN,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,GAAG,GAAG;wBACjB,eAAe,EAAA,QAAA,EACP,2BAA2B,EAEtB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,g3DAAA,CAAA,EAAA,CAAA;yHAOtC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAK8B,IAAI,EAAA,CAAA;sBAAvC,WAAW;uBAAC,iBAAiB,CAAA;gBAQkB,SAAS,EAAA,CAAA;sBAAxD,WAAW;uBAAC,6BAA6B,CAAA;gBAQA,IAAI,EAAA,CAAA;sBAA7C,WAAW;uBAAC,uBAAuB,CAAA;gBAQY,UAAU,EAAA,CAAA;sBAAzD,WAAW;uBAAC,6BAA6B,CAAA;gBAkBF,GAAG,EAAA,CAAA;sBAA1C,WAAW;uBAAC,qBAAqB,CAAA;gBASJ,IAAI,EAAA,CAAA;sBAAjC,WAAW;uBAAC,WAAW,CAAA;;;MCpFb,cAAc,CAAA;;8HAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,mBAAA,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAXvB,iBAAiB;QACjB,0BAA0B;AAC1B,QAAA,qBAAqB,aANrB,YAAY;AACZ,QAAA,sBAAsB,aAQtB,iBAAiB;QACjB,0BAA0B;QAC1B,qBAAqB;QACrB,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAGb,mBAAA,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAhBhB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,sBAAsB;AACvB,SAAA,EAUC,sBAAsB,CAAA,EAAA,CAAA,CAAA;2FAGb,cAAc,EAAA,UAAA,EAAA,CAAA;kBAjB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,sBAAsB;AACvB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,iBAAiB;wBACjB,0BAA0B;wBAC1B,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iBAAiB;wBACjB,0BAA0B;wBAC1B,qBAAqB;wBACrB,sBAAsB;AACvB,qBAAA;AACF,iBAAA,CAAA;;;AClBK,SAAU,qBAAqB,CAAC,OAAgB,EAAE,OAAmB,EAAE,SAAwB,EAAE,EAAA;IACrG,OAAO,OAAO,CAAC,MAAM,CAAC;AACpB,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,aAAa,EAAE,kCAAkC;AACjD,QAAA,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;AAChD,QAAA,mBAAmB,EAAE,IAAI;AACzB,QAAA,gBAAgB,EAAE,OAAO;AACtB,aAAA,QAAQ,EAAE;aACV,mBAAmB,CAAC,OAAO,CAAC;AAC5B,aAAA,aAAa,CAAC;AACb,YAAA;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,QAAQ;AACnB,aAAA;SACF,CAAC;AACJ,QAAA,GAAG,MAAM;AACV,KAAA,CAAC,CAAC;AACL,CAAC;AAAA;;MCAY,eAAe,CAAA;AAO1B,IAAA,WAAA,CAAsB,OAAgB,EAAA;QAAhB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;AAH9B,QAAA,IAAA,CAAA,MAAM,GAA6B,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AAC/D,QAAA,IAAA,CAAA,KAAK,GAAwB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KAErB;AAEhC,IAAA,MAAM,cAAc,CAAC,gBAAkC,EAAE,SAAuB,EAAA;AACxF,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC9E,IAAG,OAAO,SAAS,KAAK,QAAQ,IAAwB,SAAU,EAAE,MAAM,EAAE;AAC1E,gBAAA,SAAS,GAAG,MAA0B,SAAU,CAAC,MAAM,EAAE,CAAC;AAC3D,aAAA;YAED,IAAG,SAAS,YAAY,IAAI,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,eAAe,CAAgB,SAAS,CAAC,CAAC,CAAC;AACrE,aAAA;iBAAM,IAAI,SAAS,YAAY,WAAW,EAAE;AAC3C,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACvE,aAAA;YAED,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,CAChC,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAClC,CAAC,SAAS,EAAE,CAAC;AACf,SAAA;KACF;IAES,eAAe,GAAA;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AACvB,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AACxB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACtB,SAAA;KACF;IAED,KAAK,GAAA;QACH,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC/C;IAED,IAAI,CAAC,SAA2B,EAAE,SAAuB,EAAA;AACxD,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACxB;;+HA9CU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mIAAf,eAAe,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;;;MCVE,0BAA0B,CAAA;AAWrC,IAAA,WAAA,CACU,OAAwB,EACxB,gBAAkC,EAClC,KAAwB,EAAA;QAFxB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;QACxB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AAV1B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAW,CAAC;QAY3C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CACrBgB,WAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAC5B,CAAC,SAAS,CAAC,CAAC,GAAY,KAAI;AAC5B,YAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;AACjB,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;KACH;AAfD,IAAA,IAA+B,SAAS,GAAA;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC;KAClB;IAeD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;KAC7B;IAED,KAAK,GAAA;QACH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACrD;AAGD,IAAA,QAAQ,CAAC,KAAK,EAAA;QACb,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACjE;;0IArCU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;8HAA1B,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAChC,iBAAA,CAAA;kKAGU,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAKyB,SAAS,EAAA,CAAA;sBAAvC,WAAW;uBAAC,YAAY,CAAA;gBA2BzB,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MChCtB,qBAAqB,CAAA;AATlC,IAAA,WAAA,GAAA;AAWE;;AAEG;QACkC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAElD;;;;AAIG;QACuB,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;AAM7C,KAAA;;qIAlBY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yHAArB,qBAAqB,EAAA,QAAA,EAAA,0CAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAiBlB,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvCnC,sLAKM,EAAA,MAAA,EAAA,CAAA,2QAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAjB,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDiBO,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,SAAS;AAEN,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,GAAG,GAAG;wBACzB,wBAAwB,EAAA,eAAA,EAGT,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,sLAAA,EAAA,MAAA,EAAA,CAAA,2QAAA,CAAA,EAAA,CAAA;8BAQV,KAAK,EAAA,CAAA;sBAAzC,WAAW;uBAAC,sBAAsB,CAAA;gBAOT,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW,CAAA;gBAKW,OAAO,EAAA,CAAA;sBAAzC,YAAY;uBAAC,mBAAmB,CAAA;;;AEvC5B,MAAM,6BAA6B,GAAG;;MC2BhC,iBAAiB,CAAA;AAO5B,IAAA,WAAA,CACU,iBAA+C,EAC/C,OAAe,EACf,WAAoC,EACpC,WAA4B,EAAA;QAH5B,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAA8B;QAC/C,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QACf,IAAW,CAAA,WAAA,GAAX,WAAW,CAAyB;QACpC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAVN,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;QACpB,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;QACZ,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC;AAUtC;;;;AAIG;AACH,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAK;YAClC,SAAS,CAAgB,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC;AAC9D,iBAAA,IAAI,CACH,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAC1C;AACA,iBAAA,SAAS,CAAC,CAAC,KAAK,KACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAK;AACpB,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACzB,KAAK,CAAC,eAAe,EAAE,CAAC;aACzB,CAAC,CACH,CAAC;AACN,SAAC,CAAC,CAAC;KACJ;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAC9C,IAAI,CAAC,WAAW,CAAC,aAAa,CAC/B,CAAC;KACF;IAED,eAAe,GAAA;AACb,QAAA,MAAM,cAAc,GAAiB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAC/E,6BAA6B,CAC9B,CAAC;AAEF,QAAA,IAAG,cAAc,EAAE;YACjB,cAAc,CAAC,KAAK,EAAE,CAAC;AACxB,SAAA;AAAM,aAAA;;;YAGL,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,aAAc,CAAC,KAAK,EAAE,CAAC;AACvD,SAAA;KACF;;iIAnDU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,4BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAkB,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,mKAJlB,qDAAqD,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sFAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAIpD,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EACX,QAAA,EAAA,qDAAqD,EAE9C,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,sFAAA,CAAA,EAAA,CAAA;8LAGf,KAAK,EAAA,CAAA;sBAApC,WAAW;uBAAC,iBAAiB,CAAA;gBACL,QAAQ,EAAA,CAAA;sBAAhC,WAAW;uBAAC,UAAU,CAAA;gBACG,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW,CAAA;;;MCDb,cAAc,CAAA;;8HAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,mBAAA,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAdvB,0BAA0B;QAC1B,iBAAiB;AACjB,QAAA,qBAAqB,aANrB,YAAY;AACZ,QAAA,aAAa,aAQb,0BAA0B;QAC1B,iBAAiB;QACjB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAOZ,mBAAA,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EALd,SAAA,EAAA;QACT,eAAe;KAChB,EAhBQ,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,aAAa;AACd,SAAA,CAAA,EAAA,CAAA,CAAA;2FAgBU,cAAc,EAAA,UAAA,EAAA,CAAA;kBApB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,aAAa;AACd,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;wBAC1B,iBAAiB;wBACjB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;wBAC1B,iBAAiB;wBACjB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,eAAe;AAChB,qBAAA;AACF,iBAAA,CAAA;;;AClBM,MAAM,kBAAkB,GAE3B;AACF,IAAA,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE;QACpB,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACtC,QAAA,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,wCAAwC,CAAC,CAAC;KACjF,CAAC;CACH;;ACjBM,MAAMP,mBAAiB,GAAG,CAAC,IAAa,KAAK,IAAI,GAAG,MAAM,GAAG,QAAQ;;MC2B/D,kBAAkB,CAAA;AAP/B,IAAA,WAAA,GAAA;AAQE;;AAEG;QACM,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;AAOtB;;AAEG;AACH,QAAA,IAAA,CAAA,kBAAkB,GAAsB,IAAI,YAAY,EAAO,CAAC;AAEhE;;AAEG;AACH,QAAA,IAAA,CAAA,wBAAwB,GAAsB,IAAI,YAAY,EAE3D,CAAC;AAEJ;;;AAGG;AACH,QAAA,IAAA,CAAA,IAAI,GAAuB,IAAI,YAAY,EAAQ,CAAC;AAEpD;;;;AAIG;QAC8B,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;AA8BpD,KAAA;AA5BC;;AAEG;AACH,IAAA,aAAa,CAAC,MAA4B,EAAA;AACzC,QAAA,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;KACjD;AAED;;;AAGG;AACH,IAAA,IAA0B,SAAS,GAAA;AAClC,QAAA,OAAOA,mBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpC;AAED;;;;;AAKG;AAEH,IAAA,aAAa,CAAC,CAAiB,EAAA;AAC9B,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE;AAC1B,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvC,SAAA;KACD;;kIA/DU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAAlB,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EASlB,eAAe,ECpC5B,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,+CACA,mVDuBc,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAG1B,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;+BACE,YAAY,EAAA,UAAA,EAGV,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,yJAAA,CAAA,EAAA,CAAA;8BAMtC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKgD,aAAa,EAAA,CAAA;sBAAlE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAyBX,UAAU,EAAA,CAAA;sBAA1C,WAAW;uBAAC,kBAAkB,CAAA;gBAaL,SAAS,EAAA,CAAA;sBAAlC,WAAW;uBAAC,OAAO,CAAA;gBAWpB,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MEzE3B,yBAAyB,CAAA;;yIAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,mBAAA,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,0DAJ1B,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAI1B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EACpB,QAAA,EAAA,2BAA2B,EAEpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,CAAA;;;MCEpC,yBAAyB,CAAA;;yIAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,mBAAA,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,0DAJ1B,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,oFAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAI1B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EACpB,QAAA,EAAA,2BAA2B,EAEpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,oFAAA,CAAA,EAAA,CAAA;;;MCKpC,wBAAwB,CAAA;AAPrC,IAAA,WAAA,GAAA;AAQE;;AAEG;QACqC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACtD,KAAA;;wIALY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,mBAAA,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,4HALzB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,uSAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAK1B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EACnB,2BAA2B,EAEtB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,uSAAA,CAAA,EAAA,CAAA;8BAMP,KAAK,EAAA,CAAA;sBAA5C,WAAW;uBAAC,yBAAyB,CAAA;;;MCV3B,uBAAuB,CAAA;AAHpC,IAAA,WAAA,GAAA;AAIE;;AAEG;QACoC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACrD,KAAA;;uIALY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2HAAvB,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC7B,iBAAA,CAAA;8BAKwC,KAAK,EAAA,CAAA;sBAA3C,WAAW;uBAAC,wBAAwB,CAAA;;;MCmB1B,eAAe,CAAA;;+HAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBAPxB,kBAAkB;QAClB,wBAAwB;QACxB,uBAAuB;QACvB,yBAAyB;AACzB,QAAA,yBAAyB,aAfzB,YAAY;QACZ,YAAY;AACZ,QAAA,aAAa,aAGb,wBAAwB;QACxB,uBAAuB;QACvB,yBAAyB;QACzB,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAUhB,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAnBjB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,YAAY;YACZ,aAAa;AACd,SAAA,CAAA,EAAA,CAAA,CAAA;2FAeU,eAAe,EAAA,UAAA,EAAA,CAAA;kBApB3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,uBAAuB;wBACvB,yBAAyB;wBACzB,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,kBAAkB;wBAClB,wBAAwB;wBACxB,uBAAuB;wBACvB,yBAAyB;wBACzB,yBAAyB;AAC1B,qBAAA;AACF,iBAAA,CAAA;;;MCTY,gBAAgB,CAAA;AAG3B,IAAA,WAAA,CAAoB,OAAgB,EAAA;QAAhB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAF5B,IAAO,CAAA,OAAA,GAAgB,EAAE,CAAC;QAI1B,IAAoB,CAAA,oBAAA,GAA2B,EAAE,CAAC;KAFlB;AAIhC,IAAA,YAAY,CACnB,UAAsB,EAAA;AAEtB,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACzE,QAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AAC3B,QAAA,OAAO,KAAK,CAAC;KACb;IAEO,mBAAmB,CAC1B,SAAoB,EACpB,KAAuC,EAAA;QAEvC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;KAC7D;IAEO,iBAAiB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACzB,YAAA,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,IAAI,sBAAsB,EAAE;AAC3C,iBAAA,kBAAkB,EAAE;AACpB,iBAAA,gBAAgB,EAAE;YACrB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACtD,SAAA,CAAC,CAAC;KACH;AAEO,IAAA,YAAY,CAAC,KAAgB,EAAA;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1C,QAAA,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;AACH,SAAA;AAED,QAAA,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AAExB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;KACrD;IAED,IAAI,CACH,SAAoB,EACpB,aAA+C,EAAA;QAE/C,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,oBAAoB,EAAE,GAAG,aAAa,EAAE,CAAC;AAClE,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAEnE,QAAA,MAAM,KAAK,GAAc;AACvB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,OAAO,EAAE,IAAI;SACd,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzB,IAAI;AACD,aAAA,aAAa,EAAE;AACf,aAAA,SAAS,CAAC,MACT,MAAM,CAAC,iBAAiB;AACtB,cAAE,MAAM,CAAC,iBAAiB,EAAE;cAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CACtB,CAAC;AACJ,QAAA,OAAO,KAAK,CAAC;KACb;AAED,IAAA,KAAK,CAAC,KAAgB,EAAA;QACrB,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;AAClC,QAAA,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAC/B,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,wBAAwB,CAAC,SAAS,CACrD,CAAC,CAAiB,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAChD,CAAC;KACF;;gIA7EU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAX,IAAA,CAAA,OAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,mBAAA,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,eAAe,EAAA,CAAA,CAAA;2FAEhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,eAAe;AAC5B,iBAAA,CAAA;;;ACRD;;;;AAIG;AACG,SACN,8BAA8B,CAAuC,IAAO,EAAA;IAC1E,OAAO,cAAc,IAAI,CAAA;AACvB,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAA,4BAAA,CAA8B,CAAC,CAAC;SACzF;KACF,CAAC;AACJ;;ACVA;;AAEG;AACH,MAAM,cAAc,CAAA;IAClB,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAC5E,CAAA;AAED,MAAM,eAAe,GAAG,8BAA8B,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;AAEvF;;AAEG;AAWG,MAAO,mBAAoB,SAAQ,eAAe,CAAA;IAgBtD,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;AACrE,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QADV,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAd9D,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AASxB;;AAEG;QAC+B,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;KAIlD;AAdD;;AAEG;AACH,IAAA,IAA8C,WAAW,GAAA;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;;;mIATU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,+OANpB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,gFAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAM1B,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;+BAEE,kBAAkB,EAAA,QAAA,EAElB,2BAA2B,EAG7B,MAAA,EAAA,CAAC,OAAO,CAAC,EAAA,eAAA,EACA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,gFAAA,CAAA,EAAA,CAAA;yHAItC,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKwC,WAAW,EAAA,CAAA;sBAAxD,WAAW;uBAAC,2BAA2B,CAAA;gBAON,SAAS,EAAA,CAAA;sBAA1C,WAAW;uBAAC,mBAAmB,CAAA;;;MCvCrB,gBAAgB,CAAA;;gIAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iIAAhB,gBAAgB,EAAA,YAAA,EAAA,CANzB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAGnB,mBAAmB,CAAA,EAAA,CAAA,CAAA;iIAGV,gBAAgB,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,mBAAmB;AACpB,qBAAA;AACF,iBAAA,CAAA;;;ACXM,MAAM,sCAAsC,GAAG,iEAAiE,CAAC;AACjH,MAAM,uCAAuC,GAAG,iFAAiF;;AC0BxI;;AAEG;AACH,MAAM,iBAAiB,CAAA;IACrB,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAC5E,CAAA;AAED,MAAM,kBAAkB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;AAE7D,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B;;AAEG;AAUG,MAAO,sBAAuB,SAAQ,kBAAkB,CAAA;IAyB5D,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;AACtE,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QADT,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAvBvE;;AAEG;QACkC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAClD;;AAEG;QACuB,IAAI,CAAA,IAAA,GAAG,YAAY,CAAC;AAE9C;;AAEG;QACH,IAAc,CAAA,cAAA,GAAG,cAAc,CAAC;AAChC;;AAEG;QACH,IAAa,CAAA,aAAA,GAAG,aAAa,CAAC;AA6B9B;;AAEG;AACO,QAAA,IAAA,CAAA,gBAAgB,GAAsB,IAAI,YAAY,EAAE,CAAC;QAvBlE,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACpE,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;KAC3D;AAuBD;;AAEG;IACH,WAAW,GAAA;AACT,QAAA,IAAG,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE;AACzB,YAAA,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AACzD,SAAA;AAAM,aAAA,IAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE;AAC/C,YAAA,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC1D,SAAA;QAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,GAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,KAAG,CAAC,GAAC,CAAC,CAAC,CAAC;KACjI;AAED;;;;AAIG;IACH,uBAAuB,GAAA;QACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;KAClD;AAED;;;;AAIG;IACH,uBAAuB,GAAA;QACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;KAClD;AAED;;;;;AAKG;AACH,IAAA,mBAAmB,CAAC,UAAkB,EAAA;AACpC,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACxC;AAED;;;;;AAKG;AACH,IAAA,WAAW,CAAC,IAAY,EAAA;AACtB,QAAA,OAAO,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC;KAClC;AAED;;;;AAIG;IACH,kBAAkB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,WAAW,IAAI,gBAAgB,GAAC,CAAC,CAAC;KAC/C;AAED;;;;AAIG;IACH,iBAAiB,GAAA;QACf,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC,CAAC;KACnE;AAED;;;;;;AAMG;AACH,IAAA,WAAW,CAAC,UAAkB,EAAA;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,gBAAgB;gBAC3D,IAAI,CAAC,WAAW,IAAI,gBAAgB,IAAI,UAAU,IAAI,CAAC,GAAC,gBAAgB,CAAC;gBACzE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,GAAG,gBAAgB,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,GAAC,gBAAgB,CAAC,CAAC;KACzH;AAED;;;;AAIG;IACH,YAAY,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC;KAC/B;AAED;;;;AAIG;IACH,YAAY,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,aAAa,CAAC;KAChD;;sIAtJU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,mBAAA,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,uUClDnC,kvDAgDA,EAAA,MAAA,EAAA,CAAA,srBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDEa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBATlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,UAKlB,CAAC,OAAO,CAAC,EACA,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kvDAAA,EAAA,MAAA,EAAA,CAAA,srBAAA,CAAA,EAAA,CAAA;yHAOV,KAAK,EAAA,CAAA;sBAAzC,WAAW;uBAAC,sBAAsB,CAAA;gBAIT,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW,CAAA;gBA0Bf,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAKG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAUI,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;;;MEhFI,mBAAmB,CAAA;;mIAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oIAAnB,mBAAmB,EAAA,YAAA,EAAA,CAN5B,sBAAsB,CAAA,EAAA,OAAA,EAAA,CALtB,YAAY;QACZ,iBAAiB;AACjB,QAAA,gBAAgB,aAMhB,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAGb,mBAAA,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAZrB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,iBAAiB;YACjB,gBAAgB;AACjB,SAAA,CAAA,EAAA,CAAA,CAAA;2FAQU,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,gBAAgB;AACjB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;AACvB,qBAAA;AACF,iBAAA,CAAA;;;ACVD;;AAEG;AACH;AACA;MAMa,wBAAwB,CAAA;AAyBnC,IAAA,WAAA,CAAoB,QAAmB,EAAA;QAAnB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAvBtB,IAAa,CAAA,aAAA,GAAG,CAAC,CAAC;AAIzB,QAAA,IAAA,CAAA,UAAU,GAAyB,IAAI,YAAY,EAAU,CAAC;AAUxE;;AAEG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,GAAW,KAAI,GAAG,CAAC;AAC/B;;AAEG;AACH,QAAA,IAAA,CAAA,SAAS,GAAG,MAAK,GAAG,CAAC;KAEuB;AAE5C;;AAEG;IACH,QAAQ,GAAA;QACN,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,KAAG,CAAC,CAAC,CAAC;AAE1E,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;AACb,YAAA,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AACd,SAAA;KACF;AAED;;AAEG;AACH,IAAA,UAAU,CAAC,GAAW,EAAA;AACpB,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACzB;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,EAAyB,EAAA;AACxC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED;;AAEG;AACH,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,UAAmB,EAAA;QAClC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAChG,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACjG,SAAA;KACF;AAED;;AAEG;AACH,IAAA,IAAI,iBAAiB,GAAA;QACnB,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AAChE,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AAC9B,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;KACF;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,KAAU,EAAA;AACzB,QAAA,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,EAAE,EAAE;YAChB,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACtB;IAEO,yBAAyB,GAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;KACtC;IAEO,WAAW,GAAA;;;;QAIjB,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,UAAU,CAAC,MAAK;AACd,YAAA,MAAM,KAAK,GAAqB,QAAQ,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5E,KAAK,EAAE,MAAM,EAAE,CAAC;AAClB,SAAC,CAAC,CAAC;KACJ;;wIA5GU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,mBAAA,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,kICnBrC,4jBAMkB,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAmB,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAhB,yBAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAiB,kBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAb,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAc,IAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAc,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDaL,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,4jBAAA,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA,CAAA;gGAQpB,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;MEDI,qBAAqB,CAAA;;qIAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sIAArB,qBAAqB,EAAA,YAAA,EAAA,CAN9B,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAPxB,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,sBAAsB;AACtB,QAAA,eAAe,aAMf,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAGf,mBAAA,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAdvB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,sBAAsB;YACtB,eAAe;AAChB,SAAA,CAAA,EAAA,CAAA,CAAA;2FAQU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAfjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,sBAAsB;wBACtB,eAAe;AAChB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;AACzB,qBAAA;AACF,iBAAA,CAAA;;;ACdD,MAAM,QAAQ,GAAG,OAAO,CAAC;AACzB,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AACpE,MAAM,2BAA2B,GAAG,8BAA8B,CAAC;AAE5D,MAAM,qBAAqB,GAI9B;AACF,IAAA,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,EAAE;;;AAG5C,QAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAClB,YAAA,SAAS,EAAE,MAAM;AAClB,SAAA,CAAC,CAAC;AACH,QAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;AACpB,YAAA,SAAS,EAAE,uBAAuB;SACnC,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAC,CAAC;QACnC,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,2BAA2B,CAAC,CAAC;QACnF,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,0BAA0B,CAAC,CAAC;KACnF,CAAC;AACF,IAAA,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,EAAE;;;AAG5C,QAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;AACpB,YAAA,SAAS,EAAE,MAAM;AAClB,SAAA,CAAC,CAAC;AACH,QAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAClB,YAAA,SAAS,EAAE,uBAAuB;SACnC,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAC,CAAC;QACnC,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,0BAA0B,CAAC,CAAC;QAClF,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,2BAA2B,CAAC,CAAC;KACpF,CAAC;AACF,IAAA,eAAe,EAAE,OAAO,CAAC,iBAAiB,EAAE;AAC1C,QAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAClB,YAAA,OAAO,EAAE,CAAC;AACX,SAAA,CAAC,CAAC;AACH,QAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;AACpB,YAAA,OAAO,EAAE,CAAC;AACX,SAAA,CAAC,CAAC;QACH,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,2BAA2B,CAAC,CAAC;QACnF,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,0BAA0B,CAAC,CAAC;KACnF,CAAC;CACH,CAAC;AAEF,IAAY,0BAIX,CAAA;AAJD,CAAA,UAAY,0BAA0B,EAAA;AACpC,IAAA,0BAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,0BAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EAJW,0BAA0B,KAA1B,0BAA0B,GAIrC,EAAA,CAAA,CAAA;;ACxDM,MAAM,iBAAiB,GAAG,CAAC,IAAa,EAAE,OAAA,GAAmB,IAAI,KAA+B;IACrG,IAAG,CAAC,OAAO,EAAC;AACV,QAAA,OAAO,MAAM,CAAC;AACf,KAAA;IACD,IAAG,IAAI,IAAI,OAAO,EAAC;AACjB,QAAA,OAAO,MAAM,CAAC;AACf,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,QAAQ,CAAC;AACjB,KAAA;AACH,CAAC;;ACTM,MAAM,wBAAwB,GACnC,CAAC,IAAqB,EAAE,KAAa,KAAa,IAAI,KAAK,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI;;ACiBtG;;;;AAIG;MAUU,oBAAoB,CAAA;IAiD/B,WACU,CAAA,WAAoC,EACpC,OAAe,EAAA;QADf,IAAW,CAAA,WAAA,GAAX,WAAW,CAAyB;QACpC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AA7BzB;;AAEG;AACO,QAAA,IAAA,CAAA,aAAa,GAAuB,IAAI,YAAY,EAAQ,CAAC;AAEvE;;AAEG;QACM,IAAI,CAAA,IAAA,GAAoB,MAAM,CAAC;AAExC;;AAEG;QACM,IAAI,CAAA,IAAA,GAAoB,MAAM,CAAC;AAExC;;AAEG;QACM,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;AAcpB;;;;AAIG;AACH,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAK;AAClC,YAAA,SAAS,CAAgB,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,IAAI,CACtEC,QAAM,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CACxC,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAK;AACzC,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBAC1B,KAAK,CAAC,eAAe,EAAE,CAAC;aACzB,CAAC,CAAC,CAAC;AACN,SAAC,CAAC,CAAC;KACJ;AAlED;;AAEG;AACH,IAAA,IAA0B,OAAO,GAAA;QAC/B,OAAO;AACL,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI;AACjB,YAAA,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI;SAClB,CAAC;KACH;;AAED;;AAEG;AACH,IAAA,IAAsC,gBAAgB,GAAA;QACpD,OAAO;AACL,YAAA,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;AACvF,YAAA,MAAM,EAAE,EAAE,KAAK,EAAG,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;SACpE,CAAC;KACH;AAsBD;;AAEG;AACH,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC;KACnD;;oIA/CU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wHAApB,oBAAoB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EANrB,2BAA2B,EAEzB,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,yiBAAA,CAAA,EAAA,UAAA,EAAA;AACV,QAAA,qBAAqB,CAAC,gBAAgB;AACvC,KAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAEU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAThC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,YAEd,2BAA2B,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA;AACV,wBAAA,qBAAqB,CAAC,gBAAgB;AACvC,qBAAA,EAAA,MAAA,EAAA,CAAA,yiBAAA,CAAA,EAAA,CAAA;sHAMyB,OAAO,EAAA,CAAA;sBAAhC,WAAW;uBAAC,OAAO,CAAA;gBAWkB,gBAAgB,EAAA,CAAA;sBAArD,WAAW;uBAAC,mBAAmB,CAAA;gBAUtB,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBAKE,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;ACtER;;AAEG;AACI,MAAM,mCAAmC,GAAG,CAAC,QAAyC,KAAc,QAAQ,CAAC,MAAM,CACxH,CAAC,GAAY,EAAE,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,GAAG,EACzG,KAAK,CAAC;;ACFR;;AAEG;AACI,MAAM,6BAA6B,GAAG,CAAC,QAAyC,EAAE,IAAqB,KAC5G,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,OAAO,KAAI;IACvC,IAAG,EAAE,OAAO,CAAC,IAAI,KAAkC,YAAA,oBAAI,OAAO,CAAC,IAAI,CAAC,EAAE;AACpE,QAAA,OAAO,GAAG,CAAC;AACZ,KAAA;AAED,IAAA,IAAG,OAAO,CAAC,IAAI,KAAK,IAAI,EAAC;QACvB,OAAO,OAAO,CAAC,KAAK,CAAC;AACtB,KAAA;AAAM,SAAA;;;AAGL,QAAA,OAAO,GAAG,CAAC;AACZ,KAAA;AACH,CAAC,EAAE,CAAC,CAAC;;AClBA,MAAM,wBAAwB,GAAG,CAAC,IAAqB,EAAE,IAAa,MAAe,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC;AAEtH;;AAEG;AACI,MAAM,2BAA2B,GAAG,CAAC,QAAyC,KACnF,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,OAAO,KAAI;IACvC,IAAG,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;AACxD,QAAA,OAAO,GAAG,CAAC;AACZ,KAAA;AAED,IAAA,IAAG,OAAO,CAAC,IAAI,KAAK,MAAM,EAAC;QACzB,OAAO,OAAO,CAAC,KAAK,CAAC;AACtB,KAAA;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,KAAK,CAAC,EAAE;AAChD,QAAA,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;AAC3B,KAAA;AAAM,SAAA;;;AAGL,QAAA,OAAO,GAAG,CAAC;AACZ,KAAA;AACH,CAAC,EAAE,CAAC,CAAC;;ACFP;;;;;;;;;;;;;;;;;;;;AAoBG;MAUU,4BAA4B,CAAA;AAEvC,IAAA,WAAA,CAAoB,KAAwB,EAAA;QAAxB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AAS5C;;;AAGG;QACK,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AAEvB;;AAEG;QACI,IAAe,CAAA,eAAA,GAAG,CAAC,CAAC;AAE3B;;AAEG;QACI,IAAgB,CAAA,gBAAA,GAAG,CAAC,CAAC;AAE5B;;AAEG;QACH,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;AAE9B;;AAEG;AACH,QAAA,IAAA,CAAA,eAAe,GAAsC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAC,CAAC;AAElG;;;AAGG;AACO,QAAA,IAAA,CAAA,eAAe,GAAuB,IAAI,YAAY,EAAQ,CAAC;KAvCxB;IAyCjD,qBAAqB,GAAA;QACnB,MAAM,SAAS,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AACpE,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;AAC7B,YAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC5B,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;AAC3B,SAAA;QAED,MAAM,wBAAwB,GAAG,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpF,QAAA,IAAI,IAAI,CAAC,qBAAqB,KAAK,wBAAwB,EAAE;AAC3D,YAAA,IAAI,CAAC,qBAAqB,GAAG,wBAAwB,CAAC;YACtD,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC5B,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;AAC3B,SAAA;QAAA,CAAC;QAEF,MAAM,eAAe,GAAG,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC7E,QAAA,IAAG,IAAI,CAAC,eAAe,KAAK,eAAe,EAAE;AAC3C,YAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YACvC,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC5B,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;AAC3B,SAAA;QAED,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/E,QAAA,IAAG,IAAI,CAAC,gBAAgB,KAAK,gBAAgB,EAAE;AAC7C,YAAA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YACzC,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC5B,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;AAC3B,SAAA;KACF;AAED;;;;;AAKG;IACK,oBAAoB,GAAA;QAC1B,IAAI,CAAC,eAAe,GAAG;AACrB,YAAA,KAAK,EAAE,iBAAiB,CACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAY,EAAE,OAAO,KAAK,GAAG,IAAI,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CACpH;AACD,YAAA,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;SAC/B,CAAC;KACH;AAED;;;AAGG;IACH,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;KAC7B;;4IA9FU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,mBAAA,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAStB,QAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAAA,oBAAoB,EC9DvC,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,krBAe2D,EDkC7C,MAAA,EAAA,CAAA,4fAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;AACV,QAAA,qBAAqB,CAAC,gBAAgB;AACvC,KAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAEU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBATxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAGhB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA;AACV,wBAAA,qBAAqB,CAAC,gBAAgB;AACvC,qBAAA,EAAA,QAAA,EAAA,krBAAA,EAAA,MAAA,EAAA,CAAA,4fAAA,CAAA,EAAA,CAAA;wGAWsE,QAAQ,EAAA,CAAA;sBAA9E,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,oBAAoB,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;gBAgCnD,eAAe,EAAA,CAAA;sBAAxB,MAAM;;;MEtEI,iBAAiB,CAAA;;iIAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAR1B,oBAAoB;AACpB,QAAA,4BAA4B,aAN5B,YAAY;QACZ,kBAAkB;AAClB,QAAA,UAAU,aAOV,oBAAoB;QACpB,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAGnB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAdnB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,kBAAkB;YAClB,UAAU;AACX,SAAA,CAAA,EAAA,CAAA,CAAA;2FAUU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAf7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,kBAAkB;wBAClB,UAAU;AACX,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;wBACpB,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,4BAA4B;AAC7B,qBAAA;AACF,iBAAA,CAAA;;;MCdY,qBAAqB,CAAA;AAJlC,IAAA,WAAA,GAAA;AAME;;AAEG;QACmC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACpD,KAAA;;qIANY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yHAArB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC3B,iBAAA,CAAA;8BAOuC,KAAK,EAAA,CAAA;sBAA1C,WAAW;uBAAC,uBAAuB,CAAA;;;MCLzB,qBAAqB,CAAA;AAJlC,IAAA,WAAA,GAAA;AAME;;AAEG;QACmC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACpD,KAAA;;qIANY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yHAArB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC3B,iBAAA,CAAA;8BAOuC,KAAK,EAAA,CAAA;sBAA1C,WAAW;uBAAC,uBAAuB,CAAA;;;MCLzB,yBAAyB,CAAA;AAJtC,IAAA,WAAA,GAAA;AAME;;AAEG;QACuC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACxD,KAAA;;yIANY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6HAAzB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA,CAAA;8BAO2C,KAAK,EAAA,CAAA;sBAA9C,WAAW;uBAAC,2BAA2B,CAAA;;;MCL7B,wBAAwB,CAAA;AAJrC,IAAA,WAAA,GAAA;AAME;;AAEG;QACsC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACvD,KAAA;;wIANY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA,CAAA;8BAO0C,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B,CAAA;;;MCL5B,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;AAME;;AAEG;QACoC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACrD,KAAA;;sIANY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0HAAtB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC5B,iBAAA,CAAA;8BAOwC,KAAK,EAAA,CAAA;sBAA3C,WAAW;uBAAC,wBAAwB,CAAA;;;SCDvC,oBAAoB,CAAuC,IAAO,EAAE,iBAA0B,KAAK,EAAA;IACjG,OAAO,cAAc,IAAI,CAAA;AAyBvB,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;SAC/B;AAxBD,QAAA,IAAI,OAAO,GAAA;YACT,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;QAED,IAAI,OAAO,CAAC,KAAc,EAAA;;AAExB,YAAA,MAAM,eAAe,GAAG,KAAK,IAAI,cAAc,CAAC;AAEhD,YAAA,IAAI,eAAe,KAAK,IAAI,CAAC,QAAQ,EAAE;gBACrC,OAAO;AACR,aAAA;AAED,YAAA,IAAI,eAAe,EAAE;AACnB,gBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAA,YAAA,CAAc,CAAC,CAAC;AACzE,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAA,YAAA,CAAc,CAAC,CAAC;AAC5E,aAAA;AAED,YAAA,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;SACjC;KAMF,CAAC;AACJ;;AC7BA,SAAA,sBAAsB,CAAuC,IAAO,EAAE,oBAAwC,EAAA;IAC5G,MAAM,sBAAuB,SAAQ,IAAI,CAAA;AA8BvC,QAAA,WAAA,CAAY,GAAG,IAAW,EAAA;AACxB,YAAA,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC;SAC3C;AA7BD;;AAEG;AACH,QAAA,IAAI,aAAa,GAAA;YACf,OAAO,IAAI,CAAC,cAAc,CAAC;SAC5B;QACD,IAAI,aAAa,CAAC,KAAwB,EAAA;;AAExC,YAAA,MAAM,qBAAqB,GAAG,KAAK,IAAI,oBAAoB,CAAC;AAE5D,YAAA,IAAI,qBAAqB,KAAK,IAAI,CAAC,cAAc,EAAE;gBACjD,OAAO;AACR,aAAA;;YAGD,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,gBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAQ,KAAA,EAAA,IAAI,CAAC,cAAc,CAAA,CAAE,CAAC,CAAC;AAC3F,aAAA;AAED,YAAA,IAAI,qBAAqB,EAAE;AACzB,gBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAA,KAAA,EAAQ,qBAAqB,CAAA,CAAE,CAAC,CAAC;AAC1F,aAAA;AAED,YAAA,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC;SAC7C;AAMF,KAAA;IAAA,CAAC;;IAGF,KAAK,EAAE,CAAC,sBAAsB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAE3D,IAAA,OAAO,sBAAsB,CAAC;AAChC;;IC7BY,mBAEX;AAFD,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EAFW,kBAAkB,KAAlB,kBAAkB,GAE7B,EAAA,CAAA,CAAA,CAAA;IAMW,iBAGX;AAHD,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,GAG3B,EAAA,CAAA,CAAA,CAAA;AAED;;AAEG;AACH,MAAM,YAAY,CAAA;IAChB,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAC5E,CAAA;AAED,MAAM,aAAa,GAAG,4BAA4B,CAAC,8BAA8B,CAAC,cAAc,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvK;;AAEG;AAWG,MAAO,iBAAkB,SAAQ,aAAa,CAAA;IAYlD,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;AACrE,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QADV,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAIvE;;AAEG;QAC6B,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;KAL5C;AAOD;;AAEG;AACH,IAAA,IAA8C,QAAQ,GAAA;AACrD,QAAA,OAAO,IAAI,CAAC,MAAM,KAAK,kBAAkB,CAAC,QAAQ,CAAC;KACnD;AAED;;AAEG;AACH,IAAA,IAA6C,YAAY,GAAA;QACxD,OAAO,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,KAAK,CAAC;KAC/G;;iIAjCU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,kVARlB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,q1DAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAQ1B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,YACX,2BAA2B,EAAA,aAAA,EAEtB,iBAAiB,CAAC,IAAI,EAG7B,MAAA,EAAA,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,EAC5B,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,q1DAAA,CAAA,EAAA,CAAA;yHAOtC,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAS0B,KAAK,EAAA,CAAA;sBAApC,WAAW;uBAAC,iBAAiB,CAAA;gBAKgB,QAAQ,EAAA,CAAA;sBAArD,WAAW;uBAAC,2BAA2B,CAAA;gBAOK,YAAY,EAAA,CAAA;sBAAxD,WAAW;uBAAC,0BAA0B,CAAA;;;MC9D5B,cAAc,CAAA;;8HAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,mBAAA,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAhBvB,iBAAiB;QACjB,qBAAqB;QACrB,wBAAwB;QACxB,sBAAsB;QACtB,yBAAyB;QACzB,qBAAqB,CAAA,EAAA,OAAA,EAAA,CARrB,YAAY,CAAA,EAAA,OAAA,EAAA,CAWZ,iBAAiB;QACjB,qBAAqB;QACrB,wBAAwB;QACxB,sBAAsB;QACtB,yBAAyB;QACzB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAGZ,mBAAA,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EApBhB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAkBU,cAAc,EAAA,UAAA,EAAA,CAAA;kBArB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,iBAAiB;wBACjB,qBAAqB;wBACrB,wBAAwB;wBACxB,sBAAsB;wBACtB,yBAAyB;wBACzB,qBAAqB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iBAAiB;wBACjB,qBAAqB;wBACrB,wBAAwB;wBACxB,sBAAsB;wBACtB,yBAAyB;wBACzB,qBAAqB;AACtB,qBAAA;AACF,iBAAA,CAAA;;;MCrBY,wBAAwB,CAAA;AAJrC,IAAA,WAAA,GAAA;AAME;;AAEG;QACsC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACvD,KAAA;;wIANY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA,CAAA;8BAO0C,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B,CAAA;;;MCL5B,wBAAwB,CAAA;AAJrC,IAAA,WAAA,GAAA;AAME;;AAEG;QACsC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACvD,KAAA;;wIANY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA,CAAA;8BAO0C,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B,CAAA;;;MCL5B,4BAA4B,CAAA;AAJzC,IAAA,WAAA,GAAA;AAME;;AAEG;QAC0C,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAC3D,KAAA;;4IANY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gIAA5B,4BAA4B,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,8BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AAClC,iBAAA,CAAA;8BAO8C,KAAK,EAAA,CAAA;sBAAjD,WAAW;uBAAC,8BAA8B,CAAA;;;MCLhC,2BAA2B,CAAA;AAJxC,IAAA,WAAA,GAAA;AAME;;AAEG;QACyC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAC1D,KAAA;;2IANY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+HAA3B,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,6BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AACjC,iBAAA,CAAA;8BAO6C,KAAK,EAAA,CAAA;sBAAhD,WAAW;uBAAC,6BAA6B,CAAA;;;MCL/B,yBAAyB,CAAA;AAJtC,IAAA,WAAA,GAAA;AAME;;AAEG;QACuC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACxD,KAAA;;yIANY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6HAAzB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA,CAAA;8BAO2C,KAAK,EAAA,CAAA;sBAA9C,WAAW;uBAAC,2BAA2B,CAAA;;;ICa9B,sBAEX;AAFD,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EAFW,qBAAqB,KAArB,qBAAqB,GAEhC,EAAA,CAAA,CAAA,CAAA;IAMW,oBAEX;AAFD,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EAFW,mBAAmB,KAAnB,mBAAmB,GAE9B,EAAA,CAAA,CAAA,CAAA;AAED;;AAEG;AACH,MAAM,eAAe,CAAA;IACnB,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAC5E,CAAA;AAED,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,8BAA8B,CAAC,cAAc,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7K;;AAEG;AAWG,MAAO,oBAAqB,SAAQ,gBAAgB,CAAA;IAWxD,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;AACrE,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QADV,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAIvE;;AAEG;QACgC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;KAL/C;AAOD;;AAEG;AACH,IAAA,IAAiD,QAAQ,GAAA;AACxD,QAAA,OAAO,IAAI,CAAC,MAAM,KAAK,qBAAqB,CAAC,QAAQ,CAAC;KACtD;AAED;;AAEG;AACH,IAAA,IAAgD,YAAY,GAAA;AAC3D,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,OAAO,CAAC;KACjD;;oIAhCU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,mBAAA,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,8VARrB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,siEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAQ1B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,YACd,2BAA2B,EAAA,aAAA,EAEtB,iBAAiB,CAAC,IAAI,EAG7B,MAAA,EAAA,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,EAC5B,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,siEAAA,CAAA,EAAA,CAAA;yHAMtC,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAS6B,KAAK,EAAA,CAAA;sBAAvC,WAAW;uBAAC,oBAAoB,CAAA;gBAKgB,QAAQ,EAAA,CAAA;sBAAxD,WAAW;uBAAC,8BAA8B,CAAA;gBAOK,YAAY,EAAA,CAAA;sBAA3D,WAAW;uBAAC,6BAA6B,CAAA;;;MC3D/B,iBAAiB,CAAA;;iIAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAjB1B,oBAAoB;QACpB,wBAAwB;QACxB,yBAAyB;QACzB,4BAA4B;QAC5B,2BAA2B;QAC3B,wBAAwB,CAAA,EAAA,OAAA,EAAA,CARxB,YAAY,CAAA,EAAA,OAAA,EAAA,CAWZ,oBAAoB;QACpB,wBAAwB;QACxB,4BAA4B;QAC5B,yBAAyB;QACzB,2BAA2B;QAC3B,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAIf,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EArBnB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAmBU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAtB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;wBACpB,wBAAwB;wBACxB,yBAAyB;wBACzB,4BAA4B;wBAC5B,2BAA2B;wBAC3B,wBAAwB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,wBAAwB;wBACxB,4BAA4B;wBAC5B,yBAAyB;wBACzB,2BAA2B;wBAC3B,wBAAwB;AACzB,qBAAA;AACF,iBAAA,CAAA;;;MCtBY,wBAAwB,CAAA;AAHrC,IAAA,WAAA,GAAA;AAKE;;AAEG;QACsC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACvD,KAAA;;wIANY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAE,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA,CAAA;8BAM0C,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B,CAAA;;;MCL5B,6BAA6B,CAAA;AAH1C,IAAA,WAAA,GAAA;AAKE;;AAEG;QAC2C,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAC5D,KAAA;;6IANY,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;iIAA7B,6BAA6B,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,+BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AACnC,iBAAA,CAAA;8BAM+C,KAAK,EAAA,CAAA;sBAAlD,WAAW;uBAAC,+BAA+B,CAAA;;;MCLjC,4BAA4B,CAAA;AAHzC,IAAA,WAAA,GAAA;AAKE;;AAEG;QAC0C,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAC3D,KAAA;;4IANY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gIAA5B,4BAA4B,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,8BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AAClC,iBAAA,CAAA;8BAM8C,KAAK,EAAA,CAAA;sBAAjD,WAAW;uBAAC,8BAA8B,CAAA;;;MCLhC,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;AAKE;;AAEG;QACuC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACxD,KAAA;;yIANY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6HAAzB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA,CAAA;8BAM2C,KAAK,EAAA,CAAA;sBAA9C,WAAW;uBAAC,2BAA2B,CAAA;;;ICJ9B,oBAGX;AAHD,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,GAG9B,EAAA,CAAA,CAAA,CAAA;AAED;;AAEG;MASU,oBAAoB,CAAA;AARjC,IAAA,WAAA,GAAA;AAUE;;AAEG;QACgC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAEvC,QAAA,IAAA,CAAA,IAAI,GAAoB,mBAAmB,CAAC,MAAM,CAAC;AAe7D,KAAA;AAbC;;AAEG;AACH,IAAA,IAAgD,OAAO,GAAA;AACrD,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,OAAO,CAAC;KAClD;AAED;;AAEG;AACH,IAAA,IAA+C,MAAM,GAAA;AACnD,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,MAAM,CAAC;KACjD;;oIArBU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,mBAAA,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,wOCzBjC,4TAMM,EAAA,MAAA,EAAA,CAAA,++CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDmBO,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,iBAGT,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4TAAA,EAAA,MAAA,EAAA,CAAA,++CAAA,CAAA,EAAA,CAAA;8BAQZ,KAAK,EAAA,CAAA;sBAAvC,WAAW;uBAAC,oBAAoB,CAAA;gBAExB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAK0C,OAAO,EAAA,CAAA;sBAAtD,WAAW;uBAAC,6BAA6B,CAAA;gBAOK,MAAM,EAAA,CAAA;sBAApD,WAAW;uBAAC,4BAA4B,CAAA;;;MEhB9B,iBAAiB,CAAA;;iIAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBAd1B,oBAAoB;QACpB,yBAAyB;QACzB,4BAA4B;QAC5B,wBAAwB;QACxB,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAP7B,YAAY,CAAA,EAAA,OAAA,EAAA,CAUZ,oBAAoB;QACpB,yBAAyB;QACzB,4BAA4B;QAC5B,wBAAwB;QACxB,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAGpB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAlBnB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAgBU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAnB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;wBACpB,yBAAyB;wBACzB,4BAA4B;wBAC5B,wBAAwB;wBACxB,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,yBAAyB;wBACzB,4BAA4B;wBAC5B,wBAAwB;wBACxB,6BAA6B;AAC9B,qBAAA;AACF,iBAAA,CAAA;;;MCnBY,wBAAwB,CAAA;AAHrC,IAAA,WAAA,GAAA;AAKE;;AAEG;QACsC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACvD,KAAA;;wIANY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA,CAAA;8BAM0C,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B,CAAA;;;MCL5B,wBAAwB,CAAA;AAHrC,IAAA,WAAA,GAAA;AAKE;;AAEG;QACsC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACvD,KAAA;;wIANY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA,CAAA;8BAM0C,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B,CAAA;;;MCL5B,qBAAqB,CAAA;AAHlC,IAAA,WAAA,GAAA;AAKE;;AAEG;QACmC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACpD,KAAA;;qIANY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yHAArB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC3B,iBAAA,CAAA;8BAMuC,KAAK,EAAA,CAAA;sBAA1C,WAAW;uBAAC,uBAAuB,CAAA;;;MCLzB,sBAAsB,CAAA;AAHnC,IAAA,WAAA,GAAA;AAKE;;AAEG;QACoC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACrD,KAAA;;sIANY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0HAAtB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC5B,iBAAA,CAAA;8BAMwC,KAAK,EAAA,CAAA;sBAA3C,WAAW;uBAAC,wBAAwB,CAAA;;;MCL1B,wBAAwB,CAAA;AAHrC,IAAA,WAAA,GAAA;AAKE;;AAEG;QACsC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACvD,KAAA;;wIANY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC9B,iBAAA,CAAA;8BAM0C,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B,CAAA;;;MCL5B,sBAAsB,CAAA;AAHnC,IAAA,WAAA,GAAA;AAKE;;AAEG;QACoC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACrD,KAAA;;sIANY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0HAAtB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC5B,iBAAA,CAAA;8BAMwC,KAAK,EAAA,CAAA;sBAA3C,WAAW;uBAAC,wBAAwB,CAAA;;;ACMvC,IAAK,gBAGJ,CAAA;AAHD,CAAA,UAAK,gBAAgB,EAAA;AACnB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,kBAA2B,CAAA;AAC3B,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B,CAAA;AAC/B,CAAC,EAHI,gBAAgB,KAAhB,gBAAgB,GAGpB,EAAA,CAAA,CAAA,CAAA;IAMW,wBAGX;AAHD,CAAA,UAAY,uBAAuB,EAAA;AACjC,IAAA,uBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,uBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC3B,CAAC,EAHW,uBAAuB,KAAvB,uBAAuB,GAGlC,EAAA,CAAA,CAAA,CAAA;AAED;;AAEG;AACH,MAAM,YAAY,CAAA;IAChB,WAAmB,CAAA,WAAuB,EAAS,SAAoB,EAAA;QAApD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAC5E,CAAA;AAED,MAAM,aAAa,GAAG,4BAA4B,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;AAEjF;;AAEG;AAkBG,MAAO,iBAAkB,SAAQ,aAAa,CAAA;IAqClD,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;AACrE,QAAA,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QADV,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AApC/D,QAAA,IAAA,CAAA,YAAY,GAAwB,uBAAuB,CAAC,QAAQ,CAAC;QAmD7C,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAZ3C,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;KACrC;AAtCD,IAAA,IACI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IAED,IAAI,WAAW,CAAC,KAA0B,EAAA;QACxC,IAAG,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAa,KAAK,KAAK,EAAE,EAAE;AACjE,YAAA,IAAI,CAAC,YAAY,GAAG,uBAAuB,CAAC,QAAQ,CAAC;AACtD,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC3B,SAAA;KACF;;IAOO,YAAY,GAAA;QAClB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7E,QAAA,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;AACzD,YAAA,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC;AACzC,SAAA;AAED,QAAA,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;AACzB,YAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;AACjC,gBAAA,OAAqB,IAAI,CAAC;AAC3B,aAAA;AACF,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;AAQD;;AAEG;IACH,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,QAAQ,EAAE;AACH,YAAA,IAAI,CAAC,UAAU,CAAC,aAAc,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3E,SAAA;KACF;AAID;;AAEG;AACH,IAAA,IAA8C,aAAa,GAAA;AACzD,QAAA,OAAO,IAAI,CAAC,WAAW,KAAK,uBAAuB,CAAC,QAAQ,CAAC;KAC9D;AAED;;AAEG;AACH,IAAA,IAAgD,eAAe,GAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,WAAW,KAAK,uBAAuB,CAAC,UAAU,CAAC;KAChE;IAEO,eAAe,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;KACtC;AAED;;AAEK;IACG,kBAAkB,CAAC,GAAG,UAAoB,EAAA;AAChD,QAAA,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;KACrF;;iIA7EU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,mBAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,8XC9D9B,obASM,EAAA,MAAA,EAAA,CAAA,8zCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDqDO,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAjB7B,SAAS;AAEN,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,GAAG,GAAG;AACjB,wBAAA,kBAAkB,GAAG,GAAG;AACxB,wBAAA,mBAAmB,GAAG,GAAG;AACzB,wBAAA,cAAc,GAAG,GAAG;AACpB,wBAAA,qBAAqB,GAAG,GAAG;wBAC3B,sBAAsB,EAAA,aAAA,EAGT,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAG7B,CAAC,OAAO,CAAC,EAAA,eAAA,EACA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,obAAA,EAAA,MAAA,EAAA,CAAA,8zCAAA,CAAA,EAAA,CAAA;yHAO3C,WAAW,EAAA,CAAA;sBADd,KAAK;gBAiD0B,KAAK,EAAA,CAAA;sBAApC,WAAW;uBAAC,iBAAiB,CAAA;gBAKgB,aAAa,EAAA,CAAA;sBAA1D,WAAW;uBAAC,2BAA2B,CAAA;gBAOQ,eAAe,EAAA,CAAA;sBAA9D,WAAW;uBAAC,6BAA6B,CAAA;;;ME5F/B,cAAc,CAAA;;8HAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,mBAAA,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAlBvB,iBAAiB;QACjB,qBAAqB;QACrB,sBAAsB;QACtB,wBAAwB;QACxB,sBAAsB;QACtB,wBAAwB;QACxB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CATxB,YAAY,CAAA,EAAA,OAAA,EAAA,CAYZ,iBAAiB;QACjB,qBAAqB;QACrB,sBAAsB;QACtB,wBAAwB;QACxB,sBAAsB;QACtB,wBAAwB;QACxB,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAGf,mBAAA,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAtBhB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;2FAoBU,cAAc,EAAA,UAAA,EAAA,CAAA;kBAvB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,iBAAiB;wBACjB,qBAAqB;wBACrB,sBAAsB;wBACtB,wBAAwB;wBACxB,sBAAsB;wBACtB,wBAAwB;wBACxB,wBAAwB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iBAAiB;wBACjB,qBAAqB;wBACrB,sBAAsB;wBACtB,wBAAwB;wBACxB,sBAAsB;wBACtB,wBAAwB;wBACxB,wBAAwB;AACzB,qBAAA;AACF,iBAAA,CAAA;;;ICjCW,gBAOX;AAPD,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,qBAA+B,CAAA;AAC/B,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,qBAA8B,CAAA;AAC9B,IAAA,eAAA,CAAA,cAAA,CAAA,GAAA,qBAAoC,CAAA;AACpC,IAAA,eAAA,CAAA,YAAA,CAAA,GAAA,qBAAkC,CAAA;AAClC,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,oBAA6B,CAAA;AAC7B,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,oBAA6B,CAAA;AAC/B,CAAC,EAPW,eAAe,KAAf,eAAe,GAO1B,EAAA,CAAA,CAAA;;ACPD;;;;AAIG;;ICES,eAIX;AAJD,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EAJW,cAAc,KAAd,cAAc,GAIzB,EAAA,CAAA,CAAA;;ICAW,sBAIX;AAJD,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,qBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,GAIhC,EAAA,CAAA,CAAA;;ACdD;;AAEG;IACS,UAIX;AAJD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EAJW,SAAS,KAAT,SAAS,GAIpB,EAAA,CAAA,CAAA;;ACLD;;;AAGG;AACI,MAAM,uBAAuB,GAAG,CACrC,YAAwB,EACxB,gBAA4B,EAC5B,YAA0B,GAAA,SAAS,CAAC,IAAI,KAC3B;AACb,IAAA,IAAI,gBAAgB,EAAE;AACpB,QAAA,OAAO,gBAAgB,CAAC;AACzB,KAAA;IAED,IAAI,YAAY,KAAK,MAAM,EAAE;QAC3B,OAAO,SAAS,CAAC,IAAI,CAAC;AACvB,KAAA;IAED,IAAI,YAAY,KAAK,OAAO,EAAE;QAC5B,OAAO,SAAS,CAAC,KAAK,CAAC;AACxB,KAAA;AAED,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;;ACPM,MAAM,wBAAwB,GAAG,8BAA8B,CAAC;AAEhE,MAAM,iBAAiB,GAAG,CAAC,MAAc,KAAK,CAAC,OAAY,KAAI;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAC1D,OAAO,kBAAkB,IAAI,KAAK;UAC9B,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC3C,UAAmB,KAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC,CAAC;AAEK,MAAM,oBAAoB,GAAG,CAAC,MAAc,KAAK,CAAC,OAAY,KAAI;IACvE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAC1D,OAAO,qBAAqB,IAAI,KAAK;UACjC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC9C,UAAmB,KAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF;;AAEG;MAIU,kBAAkB,CAAA;AAM7B,IAAA,WAAA,CAA8B,IAAS,EAAA;AACtC,QAAA,IAAI,CAAC,GAAG,GAAa,IAAI,CAAC;QAE1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU;cAC/C,gBAAgB,CAChB,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EACvC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAC3C;iBACE,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC,EACrEC,KAAG,CAAC,CAAC,CAAsB,KAAK,CAAC,CAAC,OAAO,CAAC,EAC1CA,KAAG,CAAC,CAAC,WAAW,KAAK,WAAW,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CACrE;AACH,cAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KACvB;AAED;;AAEG;IACI,kBAAkB,GAAA;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC;KACxB;;AA3BU,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAMT,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AANjB,mBAAA,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAOc,MAAM;2BAAC,QAAQ,CAAA;;;ACfvB,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAEvC,MAAM,WAAW,GAAG,CAAC,GAAY,KACtC,GAAG,KAAK,SAAS,CAAC,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,KAAK;AAC/C,MAAE,GAAG;AACL,MAAE,SAAS,CAAC,IAAI,CAAC;AAErB;;AAEG;AACH,MAAM,mBAAmB,GAAG,CAC1B,KAAgB,MACO;AACvB,IAAA,GAAG,EAAE,iBAAiB;AACtB,IAAA,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI;AAC/D,CAAA,CAAC,CAAC;AAEH;;AAEG;MAIU,uBAAuB,CAAA;IAKlC,WAEU,CAAA,OAA+B,EACrB,IAAS,EAAA;QADnB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAwB;AALjC,QAAA,IAAA,CAAA,QAAQ,GAA+B,IAAI,OAAO,EAAE,CAAC;AAQ5D,QAAA,IAAI,CAAC,GAAG,GAAa,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CACjB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,GAAG,CAAC,WAAW;AAClB,cAAE,SAAS,CACoB,IAAI,CAAC,GAAG,CAAC,WAAW,EAChD,SAAS,CACX,CAAC,IAAI,CACJ,SAAS,CACP,mBAAmB,CACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CACxC,CACF,EACD,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CACzB;cACC,EAAE,CAAC,mBAAmB,CACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CACxC,CAAC,CACL,CAAC,IAAI,CACJF,QAAM,CACJ,CAAC,CAAoB,KAAK,CAAC,CAAC,GAAG,KAAK,iBAAiB,CACtD,EACDE,KAAG,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EACnC,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;KACF;AAED;;;AAGG;AACK,IAAA,oBAAoB,CAAC,KAAgB,EAAA;QAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;KAC/C;IAED,oBAAoB,GAAA;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC;KACnB;IAED,QAAQ,GAAA;QACP,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;KAC5D;AAED,IAAA,QAAQ,CAAC,KAAgB,EAAA;AACxB,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;KAC/C;IAED,kBAAkB,GAAA;AACjB,QAAA,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;KAC3C;;uIA7DU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAMxB,qCAAqC,EAAA,EAAA,EAAA,KAAA,EAErC,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AARP,mBAAA,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA,CAAA;2FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAOI,MAAM;2BAAC,qCAAqC,CAAA;;0BAE5C,MAAM;2BAAC,QAAQ,CAAA;;;ACjDpB;;AAEG;MAIU,kBAAkB,CAAA;IAI7B,WACU,CAAA,OAA2B,EAC3B,YAAqC,EAAA;QADrC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;QAC3B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAyB;AAG9C,QAAA,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;AAC1B,YAAA,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;AACjC,YAAA,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE;SACzC,CAAC,CAAC,IAAI,CACLA,KAAG,CAAC,CAAC,CAAC,YAAY,EAAE,gBAAgB,CAAC,KAAK,uBAAuB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CACnG,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC9B,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACrB,SAAC,CAAC,CAAC;KACH;AAED;;AAEG;IACH,QAAQ,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACnB;AAED;;AAEG;IACH,QAAQ,GAAA;QACP,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KAC3C;AAED;;AAEG;IACH,SAAS,GAAA;QACR,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KAC5C;AAED;;AAEG;IACH,WAAW,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI;AAClC,cAAE,IAAI,CAAC,SAAS,EAAE;AAClB,cAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;KACpB;;kIAjDU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,mBAAA,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACLM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AACpD,MAAM,0BAA0B,GAAG,kBAAkB,CAAC;AAE7D;;;;AAIG;MAEU,2BAA2B,CAAA;AAKtC,IAAA,WAAA,CACkB,IAAS,EACjB,eAAiC,EACjC,cAAkC,EAAA;QADlC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAkB;QACjC,IAAc,CAAA,cAAA,GAAd,cAAc,CAAoB;AAE3C,QAAA,IAAI,CAAC,GAAG,GAAa,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAChE;AAED;;;;;AAKG;IACH,cAAc,GAAA;AACb,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;;AAErE,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;AACrE,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,IAAI,GAAG,yBAAyB,GAAG,0BAA0B,CAAC,CAAC;AAC3H,SAAC,CAAC,CAAC;KACH;AAED;;AAEG;IACH,OAAO,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;AACjC,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;KACpE;;AApCU,mBAAA,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAM9B,QAAQ,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;+IANL,2BAA2B,EAAA,CAAA,CAAA;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,UAAU;;0BAOR,MAAM;2BAAC,QAAQ,CAAA;;;ACpBX,MAAM,eAAe,GAAG,CAAC,WAAwC,KAAK,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC;AAEhH;;;AAGG;AACU,MAAA,sBAAsB,GAAe;IAChD,2BAA2B;AAC3B,IAAA;AACE,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,CAAC,2BAA2B,CAAC;AACnC,QAAA,UAAU,EAAE,eAAe;AAC5B,KAAA;;;ACpBH;;ACAA;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"daffodil-design.mjs","sources":["../../../libs/design/src/core/article-encapsulated/article-encapsulated-mixin.ts","../../../libs/design/src/core/colorable/colorable-enum.ts","../../../libs/design/src/core/colorable/color-in-palette.ts","../../../libs/design/src/core/colorable/colorable-mixin.ts","../../../libs/design/src/core/prefix-suffix/prefix.directive.ts","../../../libs/design/src/core/prefix-suffix/suffix.directive.ts","../../../libs/design/src/core/prefix-suffix/prefix-suffix.module.ts","../../../libs/design/src/core/prefix-suffix/suffixable/suffixable.ts","../../../libs/design/src/core/prefix-suffix/prefixable/prefixable.ts","../../../libs/design/src/core/sizeable/sizeable-mixin.ts","../../../libs/design/src/core/statusable/statusable-mixin.ts","../../../libs/design/src/atoms/loading-icon/loading-icon.component.ts","../../../libs/design/src/atoms/loading-icon/loading-icon.component.html","../../../libs/design/src/atoms/button/button.component.ts","../../../libs/design/src/atoms/button/button.component.html","../../../libs/design/src/atoms/loading-icon/loading-icon.module.ts","../../../libs/design/src/atoms/button/button.module.ts","../../../libs/design/src/atoms/form/core/error-state-matcher/error-state-matcher.ts","../../../libs/design/src/atoms/form/error-message/error-message.component.ts","../../../libs/design/src/atoms/form/error-message/error-message.module.ts","../../../libs/design/src/atoms/form/form-field/form-field-control.ts","../../../libs/design/src/atoms/form/form-field/form-field-errors.ts","../../../libs/design/src/atoms/form/form-field/form-field/form-field.component.ts","../../../libs/design/src/atoms/form/form-field/form-field/form-field.component.html","../../../libs/design/src/atoms/form/form-field/form-field.module.ts","../../../libs/design/src/core/skeletonable/skeletonable-mixin.ts","../../../libs/design/src/molecules/media-gallery/media-gallery-token.ts","../../../libs/design/src/molecules/media-gallery/registry/media-gallery.registry.ts","../../../libs/design/src/molecules/media-gallery/media-renderer/media-renderer.component.ts","../../../libs/design/src/molecules/media-gallery/media-renderer/media-renderer.component.html","../../../libs/design/src/molecules/media-gallery/media-gallery.component.ts","../../../libs/design/src/molecules/media-gallery/media-gallery.component.html","../../../libs/design/src/molecules/media-gallery/thumbnail/thumbnail-compat.token.ts","../../../libs/design/src/molecules/media-gallery/thumbnail/thumbnail.directive.ts","../../../libs/design/src/molecules/media-gallery/media-gallery.module.ts","../../../libs/design/src/atoms/image/image.component.ts","../../../libs/design/src/atoms/image/image.component.html","../../../libs/design/src/atoms/image/image.module.ts","../../../libs/design/src/atoms/form/input/input.component.ts","../../../libs/design/src/atoms/form/input/input.module.ts","../../../libs/design/src/atoms/form/native-select/native-select.component.ts","../../../libs/design/src/atoms/form/native-select/native-select.module.ts","../../../libs/design/src/atoms/form/checkbox/checkbox.component.ts","../../../libs/design/src/atoms/form/checkbox/checkbox.component.html","../../../libs/design/src/atoms/form/checkbox-set/checkbox-set.component.ts","../../../libs/design/src/atoms/form/checkbox-set/checkbox-set.component.html","../../../libs/design/src/atoms/form/checkbox/cva/checkbox-cva.directive.ts","../../../libs/design/src/atoms/form/checkbox/checkbox.module.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-input/quantity-input.component.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-input/quantity-input.component.html","../../../libs/design/src/atoms/form/quantity-field/quantity-select/quantity-select.component.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-select/quantity-select.component.html","../../../libs/design/src/atoms/form/quantity-field/quantity-field.component.ts","../../../libs/design/src/atoms/form/quantity-field/quantity-field.component.html","../../../libs/design/src/atoms/form/quantity-field/quantity-field.module.ts","../../../libs/design/src/atoms/container/container.component.ts","../../../libs/design/src/atoms/container/container.module.ts","../../../libs/design/src/atoms/progress-indicator/animation/progress-indicator-animation.ts","../../../libs/design/src/atoms/progress-indicator/progress-indicator.component.ts","../../../libs/design/src/atoms/progress-indicator/progress-indicator.component.html","../../../libs/design/src/atoms/progress-indicator/progress-indicator.module.ts","../../../libs/design/src/atoms/form/radio-set/radio-set.component.ts","../../../libs/design/src/atoms/form/radio-set/radio-set.component.html","../../../libs/design/src/atoms/form/radio/radio.component.ts","../../../libs/design/src/atoms/form/radio/radio.html","../../../libs/design/src/atoms/form/radio/registry/radio-registry.ts","../../../libs/design/src/atoms/form/radio/cva/radio-cva.directive.ts","../../../libs/design/src/atoms/form/radio/radio.module.ts","../../../libs/design/src/atoms/form/form-label/form-label.directive.ts","../../../libs/design/src/atoms/form/form-label/form-label.module.ts","../../../libs/design/src/molecules/accordion/accordion-item-content/accordion-item-content.directive.ts","../../../libs/design/src/molecules/accordion/accordion-item-title/accordion-item-title.directive.ts","../../../libs/design/src/molecules/accordion/animation/accordion-animation.ts","../../../libs/design/src/molecules/accordion/animation/accordion-animation-state.ts","../../../libs/design/src/molecules/accordion/accordion-item/accordion-item.component.ts","../../../libs/design/src/molecules/accordion/accordion-item/accordion-item.component.html","../../../libs/design/src/molecules/accordion/accordion/accordion.component.ts","../../../libs/design/src/molecules/accordion/accordion/accordion.component.html","../../../libs/design/src/molecules/accordion/nav-accordion-item/nav-accordion-item.component.ts","../../../libs/design/src/molecules/accordion/nav-accordion-item/nav-accordion-item.component.html","../../../libs/design/src/molecules/accordion/accordion.module.ts","../../../libs/design/src/molecules/article/article/article.component.ts","../../../libs/design/src/molecules/article/article-lead/article-lead.directive.ts","../../../libs/design/src/molecules/article/article-meta/article-meta.directive.ts","../../../libs/design/src/molecules/article/article-title/article-title.directive.ts","../../../libs/design/src/molecules/article/article.module.ts","../../../libs/design/src/molecules/backdrop/animation/backdrop-animation.ts","../../../libs/design/src/molecules/backdrop/animation/backdrop-animation-state.ts","../../../libs/design/src/molecules/backdrop/backdrop/backdrop.component.ts","../../../libs/design/src/molecules/backdrop/backdrop/backdrop.component.html","../../../libs/design/src/molecules/backdrop/backdrop.module.ts","../../../libs/design/src/molecules/button-set/button-set.component.ts","../../../libs/design/src/molecules/button-set/button-set.module.ts","../../../libs/design/src/molecules/image-list/image-list.component.ts","../../../libs/design/src/molecules/image-gallery/image-gallery/image-gallery.component.ts","../../../libs/design/src/molecules/image-gallery/image-gallery/image-gallery.component.html","../../../libs/design/src/molecules/image-gallery/gallery-image/gallery-image.component.ts","../../../libs/design/src/molecules/image-gallery/gallery-image/gallery-image.component.html","../../../libs/design/src/molecules/image-list/image-list.module.ts","../../../libs/design/src/molecules/image-gallery/image-gallery.module.ts","../../../libs/design/src/molecules/link-set/link-set/link-set.component.ts","../../../libs/design/src/molecules/link-set/link-set-heading/link-set-heading.directive.ts","../../../libs/design/src/molecules/link-set/link-set-item/link-set-item.component.ts","../../../libs/design/src/molecules/link-set/link-set-subheading/link-set-subheading.directive.ts","../../../libs/design/src/molecules/link-set/link-set.module.ts","../../../libs/design/src/molecules/list/list-item/list-item.component.ts","../../../libs/design/src/molecules/list/list-item/list-item.component.html","../../../libs/design/src/molecules/list/list-subheader/list-subheader.directive.ts","../../../libs/design/src/molecules/list/list/list.component.ts","../../../libs/design/src/molecules/list/list.module.ts","../../../libs/design/src/molecules/menu/helpers/create-overlay.ts","../../../libs/design/src/molecules/menu/service/menu.service.ts","../../../libs/design/src/molecules/menu/menu-activator/menu-activator.component.ts","../../../libs/design/src/molecules/menu/menu-item/menu-item.component.ts","../../../libs/design/src/molecules/menu/menu-item/menu-item.component.html","../../../libs/design/src/core/focus/focusable-elements.ts","../../../libs/design/src/molecules/menu/menu/menu.component.ts","../../../libs/design/src/molecules/menu/menu.module.ts","../../../libs/design/src/molecules/modal/animations/modal-animation.ts","../../../libs/design/src/molecules/modal/animations/modal-animation-state.ts","../../../libs/design/src/molecules/modal/modal/modal.component.ts","../../../libs/design/src/molecules/modal/modal/modal.component.html","../../../libs/design/src/molecules/modal/modal-actions/modal-actions.component.ts","../../../libs/design/src/molecules/modal/modal-content/modal-content.component.ts","../../../libs/design/src/molecules/modal/modal-header/modal-header.component.ts","../../../libs/design/src/molecules/modal/modal-title/modal-title.directive.ts","../../../libs/design/src/molecules/modal/modal.module.ts","../../../libs/design/src/molecules/modal/service/modal.service.ts","../../../libs/design/src/core/manage-container-layout/manage-container-layout-mixin.ts","../../../libs/design/src/molecules/navbar/navbar.component.ts","../../../libs/design/src/molecules/navbar/navbar.module.ts","../../../libs/design/src/molecules/paginator/paginator-errors.ts","../../../libs/design/src/molecules/paginator/paginator.component.ts","../../../libs/design/src/molecules/paginator/paginator.component.html","../../../libs/design/src/molecules/paginator/paginator.module.ts","../../../libs/design/src/molecules/qty-dropdown/qty-dropdown.component.ts","../../../libs/design/src/molecules/qty-dropdown/qty-dropdown.component.html","../../../libs/design/src/molecules/qty-dropdown/qty-dropdown.module.ts","../../../libs/design/src/molecules/sidebar/animation/sidebar-animation.ts","../../../libs/design/src/molecules/sidebar/animation/sidebar-animation-state.ts","../../../libs/design/src/molecules/sidebar/animation/sidebar-animation-width.ts","../../../libs/design/src/molecules/sidebar/sidebar/sidebar.component.ts","../../../libs/design/src/molecules/sidebar/sidebar-viewport/backdrop-interactable.ts","../../../libs/design/src/molecules/sidebar/sidebar-viewport/content-pad.ts","../../../libs/design/src/molecules/sidebar/sidebar-viewport/content-shift.ts","../../../libs/design/src/molecules/sidebar/sidebar-viewport/sidebar-viewport.component.ts","../../../libs/design/src/molecules/sidebar/sidebar-viewport/sidebar-viewport.component.html","../../../libs/design/src/molecules/sidebar/sidebar.module.ts","../../../libs/design/src/molecules/hero/hero-body/hero-body.directive.ts","../../../libs/design/src/molecules/hero/hero-icon/hero-icon.directive.ts","../../../libs/design/src/molecules/hero/hero-subtitle/hero-subtitle.directive.ts","../../../libs/design/src/molecules/hero/hero-tagline/hero-tagline.directive.ts","../../../libs/design/src/molecules/hero/hero-title/hero-title.directive.ts","../../../libs/design/src/core/compactable/compactable-mixin.ts","../../../libs/design/src/core/text-alignable/text-alignable-mixin.ts","../../../libs/design/src/molecules/hero/hero/hero.component.ts","../../../libs/design/src/molecules/hero/hero.module.ts","../../../libs/design/src/molecules/callout/callout-body/callout-body.directive.ts","../../../libs/design/src/molecules/callout/callout-icon/callout-icon.directive.ts","../../../libs/design/src/molecules/callout/callout-subtitle/callout-subtitle.directive.ts","../../../libs/design/src/molecules/callout/callout-tagline/callout-tagline.directive.ts","../../../libs/design/src/molecules/callout/callout-title/callout-title.directive.ts","../../../libs/design/src/molecules/callout/callout/callout.component.ts","../../../libs/design/src/molecules/callout/callout.module.ts","../../../libs/design/src/molecules/feature/feature-icon/feature-icon.directive.ts","../../../libs/design/src/molecules/feature/feature-subheader/feature-subheader.directive.ts","../../../libs/design/src/molecules/feature/feature-subtitle/feature-subtitle.directive.ts","../../../libs/design/src/molecules/feature/feature-title/feature-title.directive.ts","../../../libs/design/src/molecules/feature/feature/feature.component.ts","../../../libs/design/src/molecules/feature/feature/feature.component.html","../../../libs/design/src/molecules/feature/feature.module.ts","../../../libs/design/src/molecules/card/card-actions/card-actions.directive.ts","../../../libs/design/src/molecules/card/card-content/card-content.directive.ts","../../../libs/design/src/molecules/card/card-icon/card-icon.directive.ts","../../../libs/design/src/molecules/card/card-image/card-image.directive.ts","../../../libs/design/src/molecules/card/card-tagline/card-tagline.directive.ts","../../../libs/design/src/molecules/card/card-title/card-title.directive.ts","../../../libs/design/src/molecules/card/card/card.component.ts","../../../libs/design/src/molecules/card/card/card.component.html","../../../libs/design/src/molecules/card/card.module.ts","../../../libs/design/src/core/breakpoints/breakpoints.ts","../../../libs/design/src/core/constructor/constructor.ts","../../../libs/design/src/core/statusable/statusable.ts","../../../libs/design/src/core/text-alignable/text-alignable.ts","../../../libs/design/src/core/theming/types/theme.ts","../../../libs/design/src/core/theming/functions/computer.ts","../../../libs/design/src/core/theming/services/os-theme/ostheme.service.ts","../../../libs/design/src/core/theming/services/storage/theme-storage.service.ts","../../../libs/design/src/core/theming/services/theming.service.ts","../../../libs/design/src/core/theming/services/class-setter/theme-class-setter.service.ts","../../../libs/design/src/core/theming/initializer.ts","../../../libs/design/src/core/public_api.ts","../../../libs/design/src/public_api.ts","../../../libs/design/src/daffodil-design.ts"],"sourcesContent":["import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\n/**\n * A mixin for giving a component the ability to prevent article styles from cascading down.\n */\nexport function\ndaffArticleEncapsulatedMixin<T extends Constructor<HasElementRef>>(Base: T) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n this._renderer.addClass(this._elementRef.nativeElement, `daff-ae`);\n }\n };\n}\n","export enum DaffPaletteEnum {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n ACCENT = 'accent', //TODO: damienwebdev Deprecate accent\n TERTIARY = 'tertiary',\n BLACK = 'black',\n WHITE = 'white',\n THEME = 'theme',\n THEMECONTRAST = 'theme-contrast'\n}\n","import { DaffPaletteEnum } from './colorable-enum';\n\nexport function colorInPalette(color: string): boolean{\n return (<any>Object).values(DaffPaletteEnum).includes(color);\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\nimport { colorInPalette } from './color-in-palette';\nimport { DaffPalette } from './colorable';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\n/**\n * This should be a trait, but typescript only supports mixins.\n * See: https://github.com/Microsoft/TypeScript/issues/311\n *\n * Turns out the material team followed the same path with the color mixin.\n * https://github.com/angular/material2/blob/master/src/lib/core/common-behaviors/color.ts\n */\nexport function\ndaffColorMixin<T extends Constructor<HasElementRef>>(Base: T, defaultColor?: DaffPalette) {\n class DaffColorableMixinClass extends Base {\n //TODO move this back to private in Typescript 3.1\n _color: DaffPalette;\n\n get color(): DaffPalette{\n return this._color;\n }\n set color(value: DaffPalette) {\n //Handle the default color\n const incomingColor = value || defaultColor;\n\n if(incomingColor !== undefined && !colorInPalette(incomingColor)){\n throw new TypeError(incomingColor + ' is not a valid color for the DaffPalette');\n }\n\n if(incomingColor !== this._color){ //Only run the dom-render if a change occurs\n //Remove the old color\n if(this._color){\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._color}`);\n }\n\n if(incomingColor){\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingColor}`);\n }\n\n this._color = incomingColor;\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.color = defaultColor;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffColorableMixinClass.prototype, 'color');\n\n return DaffColorableMixinClass;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n *\n * Prefix can be used to place content before another piece of content in components like\n * `daff-form-field`, `daff-solo-field`, and `daff-list`.\n */\n@Directive({\n selector: '[daffPrefix]',\n})\n\nexport class DaffPrefixDirective {\n\n @HostBinding('class.daff-prefix') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n *\n * Prefix can be used to place content after another piece of content in components like\n * `daff-form-field`, `daff-solo-field`, and `daff-list`.\n */\n@Directive({\n selector: '[daffSuffix]',\n})\n\nexport class DaffSuffixDirective {\n\n @HostBinding('class.daff-suffix') class = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffPrefixDirective } from './prefix.directive';\nimport { DaffSuffixDirective } from './suffix.directive';\n\n@NgModule({\n imports: [],\n exports: [\n DaffPrefixDirective,\n DaffSuffixDirective,\n ],\n declarations: [\n DaffPrefixDirective,\n DaffSuffixDirective,\n ],\n})\nexport class DaffPrefixSuffixModule {}\n","import {\n ContentChild,\n Directive,\n} from '@angular/core';\n\nimport { Constructor } from '../../../core/public_api';\nimport { DaffSuffixDirective } from '../suffix.directive';\n\n/**\n * A mixin for giving a component the ability to place content after another piece of content.\n */\nexport function daffSuffixableMixin<T extends Constructor>(Base: T) {\n @Directive()\n class SuffixableDirective extends Base {\n\n @ContentChild(DaffSuffixDirective, { static: true }) _suffix: DaffSuffixDirective;\n\n constructor(...args: any[]) {\n super(...args);\n }\n }\n\n return SuffixableDirective;\n}\n","import {\n ContentChild,\n Directive,\n} from '@angular/core';\n\nimport { Constructor } from '../../../core/public_api';\nimport { DaffPrefixDirective } from '../prefix.directive';\n\n/**\n * A mixin for giving a component the ability to place content before another piece of content.\n */\nexport function daffPrefixableMixin<T extends Constructor>(Base: T) {\n @Directive()\n class PrefixableDirective extends Base {\n\n @ContentChild(DaffPrefixDirective, { static: true }) _prefix: DaffPrefixDirective;\n\n constructor(...args: any[]) {\n super(...args);\n }\n }\n\n return PrefixableDirective;\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\nimport { DaffSizeAllType } from './sizeable';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffSizeMixin<V extends DaffSizeAllType, T extends Constructor<HasElementRef> = Constructor<HasElementRef>>(Base: T, defaultSize?: V) {\n class DaffSizeMixinClass extends Base {\n //TODO move this back to private in Typescript 3.1\n _size: V;\n\n get size(): V{\n return this._size;\n }\n set size(value: V) {\n // Handles the default size\n const incomingSize = value || defaultSize;\n\n if(incomingSize !== this._size){ //Only run the dom-render if a change occurs\n //Remove the old size\n if(this._size){\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._size}`);\n }\n\n if(incomingSize){\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingSize}`);\n }\n\n this._size = incomingSize;\n }\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.size = defaultSize;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffSizeMixinClass.prototype, 'size');\n\n return DaffSizeMixinClass;\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\nimport { DaffStatus } from './statusable';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffStatusMixin<T extends Constructor<HasElementRef>>(Base: T, defaultStatus?: DaffStatus) {\n class DaffStatusMixinClass extends Base {\n // TODO move this back to private in Typescript 3.1\n _status: DaffStatus;\n\n get status(): DaffStatus {\n return this._status;\n }\n\n set status(value: DaffStatus) {\n // Handles the default status\n const incomingStatus = value || defaultStatus;\n\n if (incomingStatus === this._status) { // Only run the dom-render if a change occurs\n return;\n }\n\n // Removes the old status\n if (this._status) {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._status}`);\n }\n\n if (incomingStatus) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingStatus}`);\n }\n\n this._status = incomingStatus;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.status = defaultStatus;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffStatusMixinClass.prototype, 'status');\n\n return DaffStatusMixinClass;\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n Input,\n ElementRef,\n Renderer2,\n HostBinding,\n} from '@angular/core';\n\nimport {\n daffColorMixin,\n DaffColorable,\n} from '../../core/colorable/public_api';\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the Colorable mixin\n */\nclass DaffLoadingIconBase{\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffLoadingIconBase = daffColorMixin(DaffLoadingIconBase);\n\n/**\n * @inheritdoc\n */\n@Component({\n selector: 'daff-loading-icon',\n templateUrl: './loading-icon.component.html',\n styleUrls: ['./loading-icon.component.scss'],\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffLoadingIconComponent extends _daffLoadingIconBase implements DaffColorable {\n\n /**\n * The (pixel) diameter of the animation\n */\n @Input() diameter = 60;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-loading-icon') class = true;\n /**\n * @docs-private\n */\n @HostBinding('style.max-width') get maxWidth() {\n\t return this.diameter + 'px';\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n}\n","<svg focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"0 0 100 100\">\n <circle cx=\"50%\" cy=\"50%\" r=\"46\"></circle>\n</svg>","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n OnInit,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ElementRef,\n HostBinding,\n Renderer2,\n Input,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../core/article-encapsulated/public_api';\nimport {\n daffColorMixin,\n DaffColorable,\n} from '../../core/colorable/public_api';\nimport {\n DaffPrefixable,\n DaffSuffixable,\n daffPrefixableMixin,\n daffSuffixableMixin,\n} from '../../core/prefix-suffix/public_api';\nimport {\n DaffSizeable,\n DaffSizeSmallType,\n DaffSizeMediumType,\n DaffSizeLargeType,\n} from '../../core/sizeable/sizeable';\nimport { daffSizeMixin } from '../../core/sizeable/sizeable-mixin';\nimport { DaffStatusable } from '../../core/statusable/statusable';\nimport { daffStatusMixin } from '../../core/statusable/statusable-mixin';\n\n/**\n * List of classes to add to DaffButtonComponent instances based on host attributes to style as different variants.\n */\nconst BUTTON_HOST_ATTRIBUTES: DaffButtonType[] = [\n 'daff-button',\n 'daff-stroked-button',\n 'daff-raised-button',\n 'daff-flat-button',\n 'daff-icon-button',\n 'daff-underline-button',\n];\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the button mixins\n */\nclass DaffButtonBase{\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffButtonBase = daffArticleEncapsulatedMixin(daffPrefixableMixin(daffSuffixableMixin(daffColorMixin(daffStatusMixin(daffSizeMixin<DaffButtonSize>(DaffButtonBase, 'md'))))));\n\nexport type DaffButtonType = 'daff-button' | 'daff-stroked-button' | 'daff-raised-button' | 'daff-flat-button' | 'daff-icon-button' | 'daff-underline-button' | undefined;\n\n/**\n * The DaffSizeable types that the DaffButtonComponent can implement\n */\nexport type DaffButtonSize = DaffSizeSmallType | DaffSizeMediumType | DaffSizeLargeType;\n\nenum DaffButtonTypeEnum {\n Default = 'daff-button',\n Stroked = 'daff-stroked-button',\n Raised = 'daff-raised-button',\n Flat = 'daff-flat-button',\n Icon = 'daff-icon-button',\n Underline = 'daff-underline-button'\n}\n\n/**\n * @inheritdoc\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '' +\n 'button[daff-button]' + ',' +\n 'button[daff-stroked-button]' + ',' +\n 'button[daff-raised-button]' + ',' +\n 'button[daff-flat-button]' + ',' +\n 'button[daff-icon-button]' + ',' +\n 'button[daff-underline-button]' + ',' +\n 'a[daff-button]' + ',' +\n 'a[daff-stroked-button]' + ',' +\n 'a[daff-raised-button]' + ',' +\n 'a[daff-flat-button]' + ',' +\n 'a[daff-icon-button]' + ',' +\n 'a[daff-underline-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'size', 'status'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffButtonComponent\n extends _daffButtonBase\n implements OnInit, DaffPrefixable, DaffSuffixable, DaffColorable, DaffSizeable<DaffButtonSize>, DaffStatusable {\n\n private buttonType: DaffButtonType;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n\n for (const attr of BUTTON_HOST_ATTRIBUTES) {\n if (this._hasHostAttributes(attr)) {\n (<HTMLElement>elementRef.nativeElement).classList.add(attr);\n }\n }\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n for (const attr of BUTTON_HOST_ATTRIBUTES) {\n if (this._hasHostAttributes(attr)) {\n this.buttonType = attr;\n }\n }\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-button') get button() {\n return this.buttonType === DaffButtonTypeEnum.Default || this.buttonType === undefined;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-stroked-button') get stroked() {\n return this.buttonType === DaffButtonTypeEnum.Stroked;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-raised-button') get raised() {\n return this.buttonType === DaffButtonTypeEnum.Raised;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-flat-button') get flat() {\n return this.buttonType === DaffButtonTypeEnum.Flat;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-icon-button') get icon() {\n return this.buttonType === DaffButtonTypeEnum.Icon;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-underline-button') get underline() {\n return this.buttonType === DaffButtonTypeEnum.Underline;\n }\n\n @HostBinding('class.daff-button--disabled') get disabledClass() {\n\t return this.disabled;\n }\n\n @Input() loading = false;\n @Input() tabindex = 0;\n\n _disabled = false;\n\n /**\n * The disabled state of the button.\n */\n @Input() get disabled() {\n\t return this._disabled || this.loading;\n }\n set disabled(value: any) {\n\t this._disabled = coerceBooleanProperty(value);\n }\n\n @HostBinding('attr.disabled') get disabledAttribute() {\n\t return this.disabled ? true : null;\n }\n\n @HostBinding('attr.aria-disabled') get ariaDisabled() {\n\t return this.disabled ? true : null;\n }\n\n @HostBinding('attr.tabindex') get disabledTabIndex() {\n\t return this.disabled ? -1 : this.tabindex;\n }\n\n private _getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * Gets whether the button has one of the given attributes.\n * */\n private _hasHostAttributes(...attributes: string[]) {\n return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));\n }\n}\n","<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<span class=\"daff-button__content\" *ngIf=\"!loading\"><ng-content></ng-content></span>\n<daff-loading-icon *ngIf=\"loading\" [diameter]=\"24\"></daff-loading-icon>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffLoadingIconComponent } from './loading-icon.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffLoadingIconComponent,\n ],\n exports: [\n DaffLoadingIconComponent,\n ],\n})\nexport class DaffLoadingIconModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffPrefixSuffixModule } from '../../core/prefix-suffix/prefix-suffix.module';\nimport { DaffLoadingIconModule } from '../loading-icon/loading-icon.module';\nimport { DaffButtonComponent } from './button.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n DaffPrefixSuffixModule,\n DaffLoadingIconModule,\n ],\n declarations: [\n DaffButtonComponent,\n ],\n exports: [\n DaffButtonComponent,\n DaffPrefixSuffixModule,\n ],\n})\nexport class DaffButtonModule { }\n","import { FormControl } from '@angular/forms';\n\nexport class DaffErrorStateMatcher {\n\n isErrorState(control: FormControl, formSubmitted: boolean): boolean {\n return control.errors && (control.touched || formSubmitted);\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-error-message',\n template: '<ng-content></ng-content>',\n styleUrls: ['./error-message.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffErrorMessageComponent {\n @HostBinding('class.daff-error-message') class = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffErrorMessageComponent } from './error-message.component';\n\n@NgModule({\n exports: [\n DaffErrorMessageComponent,\n ],\n declarations: [\n DaffErrorMessageComponent,\n ],\n})\nexport class DaffErrorMessageModule { }\n","import { NgControl } from '@angular/forms';\n\n/**\n *\n * The class that a form control must **implement** in order to be\n * used with the DaffFormFieldComponent.\n *\n * You may ask: \"Why are you implementing an abstract class, not extending it?\"\n * We do this so that the Angular DI container can match the class token. A typical\n * interface would be \"more accurate\" here, but since interfaces don't exist\n * in javascript, they get thrown out by the typescript compiler and cannot\n * be used for the necessary dependency injection.\n */\nexport abstract class DaffFormFieldControl {\n readonly ngControl: NgControl | null;\n\n readonly controlType?: any;\n\n readonly focused: boolean;\n\n abstract focus(event?: Event): void;\n};\n","export const DaffFormFieldMissingControlMessage = 'A DaffFormFieldComponent must contain a DaffFormFieldControl';\n","import {\n Component,\n ViewEncapsulation,\n DoCheck,\n ContentChild,\n Input,\n AfterContentInit,\n AfterContentChecked,\n HostBinding,\n} from '@angular/core';\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffFormFieldControl } from '../form-field-control';\nimport { DaffFormFieldMissingControlMessage } from '../form-field-errors';\n\n// ChangeDetection is ignored because this component needs to be refactored\n// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n@Component({\n selector: 'daff-form-field',\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DaffFormFieldComponent implements DoCheck, AfterContentInit, AfterContentChecked {\n\n /**\n * @docs-private\n */\n faChevronDown = faChevronDown;\n\n @HostBinding('class.daff-form-field') class = true;\n\n /**\n * The tracking property used to determine if the parent form has been submitted,\n * and thus show an error message (even if the field hasn't been touched).\n *\n * @deprecated\n */\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n @Input() formSubmitted: boolean = false;\n\n /**\n * The child form control that the form-field manages\n *\n * @docs-private\n */\n @ContentChild(DaffFormFieldControl) _control: DaffFormFieldControl;\n\n /**\n * Tracking property to keep a record of whether or not the\n * form field should be marked as error.\n */\n isError = false;\n\n /**\n * Tracking property to keep a record of whether or not the\n * form field should be marked as valid.\n */\n isValid = false;\n\n /**\n * @docs\n *\n * Determines whether or not the form field should display its focused state.\n */\n get isFocused() {\n return this._control?.focused;\n }\n\n /**\n * Keeps the state of the form field consistent with its child DaffFormControl\n *\n * TODO: consider whether or not this can be refactored to some kind of\n * observable to remove unnecessary change detection.\n *\n * @docs-private\n */\n ngDoCheck() {\n if(this._control?.ngControl) {\n this.isError = this._control.ngControl.errors && (this._control.ngControl.touched);\n this.isValid = !this._control.ngControl.errors && this._control.ngControl.touched;\n }\n }\n\n /**\n * Validate whether or not the FormField is in\n * a \"usable\" state.\n */\n private _validateFormControl() {\n if (!this._control) {\n throw new Error(DaffFormFieldMissingControlMessage);\n }\n }\n\n /**\n * Life cycle hook to verify that the form field has an acceptable\n * child control instance. Mostly useful for development-time\n * validation of usage.\n *\n * @docs-private\n */\n ngAfterContentInit() {\n this._validateFormControl();\n }\n\n /**\n * Life cycle hook to verify that the form field has an acceptable\n * child control instance. Mostly useful for development-time\n * validation of usage.\n *\n * @docs-private\n */\n ngAfterContentChecked() {\n this._validateFormControl();\n }\n}\n","<div class=\"daff-form-field__control\" [class.daff-error]=\"isError\" [class.daff-valid]=\"isValid\" [class.daff-focus]=\"isFocused\">\n <ng-content></ng-content>\n <div class=\"daff-form-field__icon\" *ngIf=\"_control.controlType === 'native-select'\">\n <fa-icon [icon]=\"faChevronDown\"></fa-icon>\n </div>\n</div>\n<ng-content select=\"daff-error-message\"></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffErrorMessageModule } from '../error-message/error-message.module';\nimport { DaffFormFieldComponent } from './form-field/form-field.component';\n\n@NgModule({\n imports: [\n CommonModule,\n\n FontAwesomeModule,\n DaffErrorMessageModule,\n ],\n exports: [\n DaffFormFieldComponent,\n DaffErrorMessageModule,\n ],\n declarations: [\n DaffFormFieldComponent,\n ],\n})\nexport class DaffFormFieldModule { }\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffSkeletonableMixin<T extends Constructor<HasElementRef>>(Base: T, defaultSkeleton: boolean = false) {\n return class extends Base {\n // TODO move this back to private in Typescript 3.1\n _skeleton: boolean;\n\n get skeleton(): boolean {\n return this._skeleton;\n }\n\n set skeleton(value: boolean) {\n // Handles the default skeleton\n const incomingSkeleton = value || defaultSkeleton;\n\n if (incomingSkeleton === this._skeleton) { // Only run the dom-render if a change occurs\n return;\n }\n\n if (incomingSkeleton) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-skeleton`);\n } else {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-skeleton`);\n }\n\n this._skeleton = incomingSkeleton;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.skeleton = defaultSkeleton;\n }\n };\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { DaffMediaGalleryRegistration } from './media-gallery-registration.interface';\n\nexport const DAFF_MEDIA_GALLERY_TOKEN = new InjectionToken<DaffMediaGalleryRegistration>('DAFF_MEDIA_GALLERY_TOKEN');\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { DaffMediaGalleryRegistration } from '../media-gallery-registration.interface';\nimport { DaffThumbnailRegistration } from '../thumbnail/thumbnail-registration.interface';\n\nexport interface DaffMediaGalleryDict {\n [galleryName: string]: BehaviorSubject<DaffMediaGallery>;\n}\n\nexport interface DaffMediaGallery {\n gallery: DaffMediaGalleryRegistration;\n thumbnails: DaffThumbnailRegistration[];\n}\n\nexport const isGallery = (element: DaffThumbnailRegistration | DaffMediaGalleryRegistration): element is DaffMediaGalleryRegistration => !('gallery' in element);\n\n@Injectable({ providedIn: 'root' })\nexport class DaffMediaGalleryRegistry {\n galleries: DaffMediaGalleryDict = {};\n\n /**\n * @description\n * Adds a media element to the internal registry.\n */\n add(gallery: DaffMediaGalleryRegistration, thumbnail?: DaffThumbnailRegistration) {\n\t if(this.galleries[gallery.name]) {\n\t let newGallery = this.galleries[gallery.name].getValue();\n\n\t if(thumbnail) {\n\t newGallery = {\n\t ...newGallery,\n\t thumbnails: [\n\t ...newGallery.thumbnails.filter(t => t !== thumbnail),\n\t thumbnail,\n\t ],\n\t };\n\t }\n\n\t this.galleries[gallery.name].next(newGallery);\n\t } else {\n\t this.galleries[gallery.name] = new BehaviorSubject({\n\t gallery,\n\t thumbnails: thumbnail ? [thumbnail] : [],\n\t });\n\t }\n\n\t if(this.galleries[gallery.name].getValue().thumbnails.length === 1) {\n\t thumbnail.select();\n\t }\n }\n\n /**\n * @description\n * Removes a thumbnail or gallery from the internal registry.\n */\n remove(element: DaffThumbnailRegistration | DaffMediaGalleryRegistration) {\n\t if(isGallery(element)) {\n\t this.removeGallery(element);\n\t } else {\n\t this.removeThumbnail(element);\n\t }\n }\n\n private removeThumbnail(thumbnail: DaffThumbnailRegistration) {\n\t if(!this.galleries[thumbnail.gallery.name]) {\n\t return;\n\t }\n\t const gallery = this.galleries[thumbnail.gallery.name].getValue();\n\t const index = gallery.thumbnails.indexOf(thumbnail);\n\n\t if(index === -1) {\n\t return;\n\t }\n\n\t this.galleries[thumbnail.gallery.name].next({\n\t ...gallery,\n\t thumbnails: [\n\t ...gallery.thumbnails.slice(0, index),\n\t ...gallery.thumbnails.slice(index + 1),\n\t ],\n\t });\n }\n\n private removeGallery(gallery: DaffMediaGalleryRegistration) {\n\t delete this.galleries[gallery.name];\n }\n\n /**\n * @description\n * Selects a media element for a given gallery.\n */\n select(thumbnail: DaffThumbnailRegistration) {\n\t if(!this.galleries[thumbnail.gallery.name]) {\n\t return;\n\t }\n\n\t const gallery = this.galleries[thumbnail.gallery.name].getValue();\n\t const index = gallery.thumbnails.indexOf(thumbnail);\n\n\t if(thumbnail.selected || index === -1){\n\t return;\n\t }\n\n\t this.galleries[thumbnail.gallery.name].next({\n\t ...gallery,\n\t thumbnails: [\n\t ...gallery.thumbnails.filter(m => m !== thumbnail).map(m => m.deselect()),\n\t thumbnail.select(),\n\t ],\n\t });\n }\n}\n","import {\n Component,\n OnInit,\n ComponentFactoryResolver,\n Type,\n ViewChild,\n ViewContainerRef,\n TemplateRef,\n ChangeDetectionStrategy,\n OnDestroy,\n Inject,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffMediaGalleryRegistration } from '../media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../media-gallery-token';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\n\n/**\n * Dynamically renders the selected `DaffThumbnailDirective` in a `daff-media-gallery` any time the selected thumbnail\n * changes.\n */\n@Component({\n selector: 'daff-media-renderer',\n templateUrl: './media-renderer.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffMediaRendererComponent implements OnInit, OnDestroy {\n\n /**\n * Private tracker for indicating when the component is destroyed.\n */\n private _destroy$ = new Subject();\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private registry: DaffMediaGalleryRegistry,\n @Inject(DAFF_MEDIA_GALLERY_TOKEN) private gallery: DaffMediaGalleryRegistration,\n ) {}\n\n /**\n * The slot that the \"component\" is rendered into.\n */\n @ViewChild(TemplateRef, { static: true, read: ViewContainerRef })\n slot: ViewContainerRef;\n\n ngOnInit() {\n this.registry.galleries[this.gallery.name]\n .pipe(takeUntil(this._destroy$))\n .subscribe((gallery) => {\n\n /**\n * Clear out the slot for the dynamically rendered thumbnail\n */\n this.slot.clear();\n\n const _selectedThumbnail = gallery.thumbnails.filter(media => media.selected).shift();\n\n /**\n * If there's no selected media, render nothing.\n */\n if(!_selectedThumbnail) {\n return;\n }\n\n const _selectedThumbnailComponent = _selectedThumbnail.component;\n\n /**\n * Create the component to insert.\n */\n const component = this.componentFactoryResolver.resolveComponentFactory(\n <Type<unknown>>_selectedThumbnailComponent.constructor,\n );\n const componentRef = this.slot.createComponent(component);\n\n /**\n * Fill the component with it's values from the original component\n */\n component.inputs.forEach(input => {\n componentRef.instance[input.propName] = _selectedThumbnailComponent[input.propName];\n });\n\n /**\n * Trigger a change detection on the component tree, outside the cycle to address\n * the fact that the component was created outside a typical CD loop.\n */\n componentRef.changeDetectorRef.detectChanges();\n });\n }\n\n /**\n * Used to unsubscribe from the dynamic component.\n */\n ngOnDestroy() {\n this._destroy$.next(true);\n this._destroy$.unsubscribe();\n }\n}\n\n","<ng-template></ng-template>\n","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n Input,\n OnInit,\n OnDestroy,\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../core/article-encapsulated/public_api';\nimport {\n daffSkeletonableMixin,\n DaffSkeletonable,\n} from '../../core/skeletonable/public_api';\nimport { DaffMediaGalleryRegistration } from './media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from './media-gallery-token';\nimport { DaffMediaGalleryRegistry } from './registry/media-gallery.registry';\n\nlet uniqueGalleryId = 0;\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the link set mixins\n */\nclass DaffMediaGalleryBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffMediaGalleryBase = daffSkeletonableMixin(daffArticleEncapsulatedMixin((DaffMediaGalleryBase)));\n\n@Component({\n selector: 'daff-media-gallery',\n templateUrl: './media-gallery.component.html',\n styleUrls: ['./media-gallery.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DAFF_MEDIA_GALLERY_TOKEN, useExisting: DaffMediaGalleryComponent },\n ],\n // todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['skeleton'],\n})\nexport class DaffMediaGalleryComponent extends _daffMediaGalleryBase implements DaffMediaGalleryRegistration, DaffSkeletonable, OnInit, OnDestroy {\n /**\n * Adds a class for styling the media gallery\n */\n @HostBinding('class.daff-media-gallery') class = true;\n\n /**\n * The name of the gallery\n */\n @Input() name = `${uniqueGalleryId}`;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private registry: DaffMediaGalleryRegistry,\n ) {\n\t \tsuper(elementRef, renderer);\n\t \tuniqueGalleryId++;\n }\n\n ngOnInit() {\n\t this.registry.add(this);\n }\n\n ngOnDestroy() {\n\t this.registry.remove(this);\n }\n}\n","<div class=\"daff-media-gallery__thumbnails\">\n\t<ng-content select=\"[daffThumbnail]\"></ng-content>\n</div>\n<div class=\"daff-media-gallery__selected-thumbnail\">\n\t<daff-media-renderer></daff-media-renderer>\n</div>","import { InjectionToken } from '@angular/core';\n\n/**\n * A multi provider injection token that marks a component as renderable for the `DaffMediaRendererComponent`.\n */\nexport const daffThumbnailCompatToken = new InjectionToken<unknown>('thumbnailCompatToken');\n","import {\n Directive,\n Inject,\n Type,\n HostBinding,\n HostListener,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { DaffMediaGalleryRegistration } from '../media-gallery-registration.interface';\nimport { DAFF_MEDIA_GALLERY_TOKEN } from '../media-gallery-token';\nimport { DaffMediaGalleryRegistry } from '../registry/media-gallery.registry';\nimport { daffThumbnailCompatToken } from './thumbnail-compat.token';\nimport { DaffThumbnailRegistration } from './thumbnail-registration.interface';\n\n/**\n * A directive marking thumbnails for the `DaffMediaRendererComponent`. Needs to be wrapped in a `daff-media-gallery` component\n * and needs to be placed on a component that is provided as a `daffThumbnailCompatToken`.\n */\n@Directive({\n selector: '[daffThumbnail]',\n})\nexport class DaffThumbnailDirective implements OnInit, OnDestroy, DaffThumbnailRegistration {\n\n /**\n * Adds a class for styling a selected thumbnail\n */\n @HostBinding('class.daff-thumbnail--selected') get selectedClass() {\n return this.selected;\n };\n\n constructor(\n @Inject(daffThumbnailCompatToken) public component: Type<unknown>,\n private cd: ChangeDetectorRef,\n private registry: DaffMediaGalleryRegistry,\n @Inject(DAFF_MEDIA_GALLERY_TOKEN) public gallery: DaffMediaGalleryRegistration,\n ) {}\n\n /**\n * Adds a class for styling a thumbnail\n */\n @HostBinding('class.daff-thumbnail') class = true;\n\n /**\n * A prop for determining whether or not the media element is selected.\n */\n selected = false;\n\n /**\n * An event that fires after the media element becomes selected.\n */\n @Output() becameSelected: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Adds a click event to trigger selection of the media element.\n *\n * @param event: MouseEvent\n */\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n\t this.registry.select(this);\n }\n\n ngOnInit(): void {\n\t this.registry.add(this.gallery, this);\n }\n\n ngOnDestroy(): void {\n\t this.registry.remove(this);\n }\n\n select() {\n\t this.selected = true;\n\t this.becameSelected.emit();\n\t this.cd.markForCheck();\n\t return this;\n }\n\n deselect() {\n\t this.selected = false;\n\t this.cd.markForCheck();\n\t return this;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffMediaGalleryComponent } from './media-gallery.component';\nimport { DaffMediaRendererComponent } from './media-renderer/media-renderer.component';\nimport { DaffThumbnailDirective } from './thumbnail/thumbnail.directive';\n\n@NgModule({\n declarations: [\n DaffMediaGalleryComponent,\n DaffThumbnailDirective,\n DaffMediaRendererComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n DaffThumbnailDirective,\n DaffMediaGalleryComponent,\n ],\n})\nexport class DaffMediaGalleryModule {}\n","import {\n Component,\n ChangeDetectionStrategy,\n Input,\n EventEmitter,\n OnInit,\n ElementRef,\n Renderer2,\n Output,\n HostBinding,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport {\n daffSkeletonableMixin,\n DaffSkeletonable,\n} from '../../core/skeletonable/public_api';\nimport { daffThumbnailCompatToken } from '../../molecules/media-gallery/public_api';\n\nconst validateProperty = (object: Record<string, any>, prop: string) => {\n if (object[prop] === null || object[prop] === undefined || object[prop] === '') {\n throw new Error(`DaffImageComponent must have a defined ${prop} attribute.`);\n }\n};\n\nconst validateProperties = (object: Record<string, any>, props: string[]) => {\n const invalidProps = props.filter(prop => {\n try {\n validateProperty(object, prop);\n } catch(e) {\n return true;\n }\n return false;\n });\n\n if (invalidProps.length) {\n throw new Error(`DaffImageComponent must have the ${invalidProps.join(',')} attributes defined.`);\n }\n};\n\n/**\n * An _elementRef is needed for the GolfGhostable mixin\n */\nclass DaffImageBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) { }\n}\n\nconst _daffImageBase = daffSkeletonableMixin(DaffImageBase);\n\n@Component({\n selector: 'daff-image',\n templateUrl: './image.component.html',\n styleUrls: ['./image.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\t provide: daffThumbnailCompatToken, useExisting: DaffImageComponent,\n },\n ],\n // todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['skeleton'],\n})\nexport class DaffImageComponent extends _daffImageBase implements OnInit, DaffSkeletonable {\n\n private _src: string;\n\n @Input()\n get src(): string {\n\t return this._src;\n }\n set src(value: string) {\n this._src = value;\n validateProperty(this, 'src');\n }\n\n private _alt: string;\n\n @Input()\n get alt(): string {\n return this._alt;\n }\n set alt(value: string) {\n this._alt = value;\n validateProperty(this, 'alt');\n }\n\n private _width: number;\n\n @Input()\n get width(): number {\n return this._width;\n }\n set width(value: number) {\n this._width = value;\n validateProperty(this, 'width');\n }\n\n private _height: number;\n\n @Input()\n get height(): number {\n return this._height;\n }\n set height(value: number) {\n this._height = value;\n validateProperty(this, 'height');\n }\n\n // TODO: rename event to not collide with native event (unless that's intentional)\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() load: EventEmitter<void> = new EventEmitter();\n\n /**\n * @docs-private\n */\n ngOnInit(): void {\n\t validateProperties(this, ['src', 'alt', 'width', 'height']);\n }\n\n constructor(\n private sanitizer: DomSanitizer,\n private elementRef: ElementRef,\n private renderer: Renderer2,\n ) {\n\t super(elementRef, renderer);\n }\n\n /**\n * @docs-private\n */\n get _paddingTop(): any {\n\t if (!this.height || !this.width ) {\n\t return undefined;\n\t }\n\n\t return this.sanitizer.bypassSecurityTrustStyle('calc(' + this.height + ' / ' + this.width + ' * 100%)');\n }\n\n /**\n * @docs-private\n */\n @HostBinding('style.max-width') get maxWidth(): string {\n\t return this.width + 'px';\n }\n}\n","<div class=\"daff-image__wrapper\" [style.paddingTop]=\"_paddingTop\">\n\t<img [src]=\"src\" [alt]=\"alt\" (load)=\"load.emit\" loading=\"lazy\"/>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffImageComponent } from './image.component';\n\n@NgModule({\n declarations: [\n DaffImageComponent,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n DaffImageComponent,\n ],\n entryComponents: [\n DaffImageComponent,\n ],\n})\nexport class DaffImageModule { }\n","import {\n Component,\n Input,\n Optional,\n Self,\n ElementRef,\n HostListener,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffFormFieldControl } from '../form-field/form-field-control';\n\n/**\n * DaffInputComponent provides the same functionality as a native `<input>` and contains custom styling and functionality.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input[daff-input]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DaffFormFieldControl, useExisting: DaffInputComponent },\n ],\n})\nexport class DaffInputComponent implements DaffFormFieldControl {\n\n /**\n * Has the form been submitted.\n */\n @Input() formSubmitted: boolean;\n\n focused = false;\n\n /**\n * @docs-private\n */\n @HostListener('focus') focus() {\n this.focused = true;\n }\n\n /**\n * @docs-private\n */\n @HostListener('blur') blur() {\n this.focused = false;\n }\n\n constructor(\n /**\n * @docs-private\n */\n @Optional() @Self() public ngControl: NgControl,\n private _elementRef: ElementRef<HTMLInputElement>,\n ) {}\n\n onFocus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffInputComponent } from './input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n DaffInputComponent,\n ],\n declarations: [\n DaffInputComponent,\n ],\n})\nexport class DaffInputModule { }\n","import {\n Component,\n ViewEncapsulation,\n Optional,\n Self,\n Input,\n ElementRef,\n HostListener,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffFormFieldControl } from '../form-field/form-field-control';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[daff-native-select]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./native-select.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DaffFormFieldControl, useExisting: DaffNativeSelectComponent },\n ],\n})\n\nexport class DaffNativeSelectComponent implements DaffFormFieldControl {\n /**\n * @docs-private\n */\n controlType = 'native-select';\n\n @HostBinding('class.daff-native-select') class = true;\n\n /**\n * Has the form been submitted.\n */\n @Input() formSubmitted: boolean;\n focused = false;\n\n /**\n * @docs-private\n */\n @HostListener('focus') focus() {\n\t this.focused = true;\n }\n\n /**\n * @docs-private\n */\n @HostListener('blur') blur() {\n this.focused = false;\n }\n\n constructor(\n /**\n * @docs-private\n */\n @Optional() @Self() public ngControl: NgControl,\n private _elementRef: ElementRef<HTMLInputElement>,\n ) {}\n\n onFocus() {\n this._elementRef.nativeElement.focus();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffNativeSelectComponent } from './native-select.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n DaffNativeSelectComponent,\n ],\n declarations: [\n DaffNativeSelectComponent,\n ],\n})\nexport class DaffNativeSelectModule { }\n","import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n EventEmitter,\n Output,\n ChangeDetectorRef,\n ViewChild,\n ElementRef,\n} from '@angular/core';\n\nlet checkboxIdNum = 0;\n\n@Component({\n selector: 'daff-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCheckboxComponent {\n /**\n * @docs-private\n */\n @ViewChild('inputElement', { static: true, read: ElementRef }) nativeCheckbox: ElementRef<HTMLInputElement>;\n /**\n * The name of the checkbox.\n */\n @Input() name: string;\n /**\n * The value of the checkbox.\n */\n @Input() value: any;\n /**\n * Boolean value to determine whether or not the checkbox is checked.\n */\n private _checked = false;\n\n @Input()\n get checked() {\n\t return this._checked;\n }\n set checked(value: boolean) {\n if (this._checked === value) {\n return;\n }\n if (value === true) {\n this.nativeCheckbox.nativeElement.checked = true;\n this.becameChecked.emit(this._checked);\n } else {\n this.nativeCheckbox.nativeElement.checked = false;\n this.becameUnchecked.emit();\n }\n\n this._checked = value;\n }\n /**\n * The id of the checkbox. Must be unique. If not entered by a user then it is generated.\n */\n @Input() id: string = 'daff-checkbox-' + checkboxIdNum;\n\n /**\n * The aria-label of the checkbox.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label = '';\n\n /**\n * The aria-labeledby of the checkbox.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labeledBy: string;\n\n /**\n * Event on whether or not the selection has changed.\n */\n @Output() becameChecked: EventEmitter<boolean> = new EventEmitter();\n @Output() becameUnchecked: EventEmitter<void> = new EventEmitter();\n\n /**\n * Whether the checkbox is focused\n */\n focused: boolean;\n /**\n * Whether the checkbox is disabled.\n */\n disabled: boolean;\n\n /**\n * The role of the component. Set to \"checkbox\".\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'checkbox';\n\n\n /**\n * @docs-private\n */\n _onChange(val: Event) {\n if ((<HTMLInputElement>val.target).checked) {\n this.select();\n } else {\n this.deselect();\n }\n };\n /**\n * @docs-private\n */\n @HostBinding('class.focused') get focusClass() {\n return this.focused === true;\n };\n /**\n * @docs-private\n */\n @HostBinding('class.disabled') get disabledClass() {\n return this.disabled === true;\n };\n /**\n * Sets focused to false.\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * Sets focused to true.\n */\n onFocus() {\n this.focused = true;\n }\n\n constructor(private _cdRef: ChangeDetectorRef) {\n /**\n * Increments id number on new checkbox. Gurantees unique ID on generation.\n */\n checkboxIdNum++;\n }\n /**\n * Sets checked to true.\n */\n select() {\n this.checked = true;\n this._cdRef.markForCheck();\n }\n /**\n * Sets checked to false\n */\n deselect() {\n this.checked = false;\n this._cdRef.markForCheck();\n }\n}\n","<input #inputElement\ntype=\"checkbox\"\n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labeledBy\"\n[attr.checked]=\"checked ? '' : null\"\n[attr.id] = \"id\"\n[attr.value]=\"value\"\n[attr.name]=\"name\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"_onChange($event)\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"\n/>\n<label [attr.for]=\"id\"><ng-content></ng-content></label>","import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { FormArray } from '@angular/forms';\n\nimport { DaffCheckboxComponent } from '../checkbox/checkbox.component';\n\n@Component({\n selector: 'daff-checkbox-set',\n templateUrl: './checkbox-set.component.html',\n styleUrls: ['./checkbox-set.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCheckboxSetComponent {\n\n @Input() formArray: FormArray;\n /**\n * The name of the checkbox-set\n */\n @Input() name: string;\n\n /**\n * The role of the component. Set to \"checkbox\".\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'group';\n\n /**\n * The list of checkboxes in the set.\n *\n * @docs-private\n */\n @ContentChildren(DaffCheckboxComponent) checkboxes: QueryList<DaffCheckboxComponent>;\n\n @Output() valueList = new EventEmitter<any[]>();\n\n getValues(): any[] {\n const checkboxes = this.checkboxes.toArray();\n return this.formArray.value.map((element, index) => element === true ? checkboxes[index].value : false).filter(element => element !== false);\n }\n}\n","<ng-content></ng-content>","import {\n Directive,\n Input,\n OnInit,\n Self,\n Optional,\n forwardRef,\n} from '@angular/core';\nimport {\n NgControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\nimport { DaffCheckboxComponent } from '../checkbox.component';\n\n/**\n * A directive for binding the DaffCheckboxComponent and the Control Value Accessor.\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-checkbox[ngModel], daff-checkbox[formControl], daff-checkbox[formControlName]',\n})\nexport class DaffCheckboxControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: (val: any) => void;\n _onTouched: () => void;\n\n /**\n * The value of the ControlValueAccessor\n */\n @Input() value: any;\n\n /**\n * The name of the ControlValueAccessor\n */\n @Input() name: string;\n\n constructor(\n @Optional() @Self() public _control: NgControl,\n private _checkbox: DaffCheckboxComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n\n /**\n * A lifecycle method called when the directive is initialized.\n */\n ngOnInit(): void {\n // See the note about `writeValue` usage.\n this.writeValue(this._control.value);\n\n // Watch for user events on the component to update the state\n this._checkbox.becameChecked.subscribe(\n () => {\n this._onChange(true);\n },\n );\n this._checkbox.becameUnchecked.subscribe(\n () => {\n this._onChange(false);\n },\n );\n }\n\n /**\n * writes a new value down into the component.\n */\n writeValue(value: any): void {\n value = !!value;\n if (value === true) {\n this.fireSelect();\n } else {\n this.fireDeselect();\n }\n }\n\n /**\n * Registers the change handler\n */\n registerOnChange(fn: any): void {\n this._onChange = (val) => {\n fn(val);\n };\n }\n\n /**\n * Registers the touched handler\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * Sets the disabled state.\n */\n setDisabledState?(isDisabled: boolean): void {\n this._checkbox.disabled = isDisabled;\n }\n\n /**\n * calls the child checkbox's select function\n */\n fireSelect() {\n this._checkbox.select();\n }\n\n /**\n * calls the child checkbox's deselect function\n */\n fireDeselect() {\n this._checkbox.deselect();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffCheckboxSetComponent } from '../checkbox-set/checkbox-set.component';\nimport { DaffCheckboxComponent } from './checkbox.component';\nimport { DaffCheckboxControlValueAccessorDirective } from './cva/checkbox-cva.directive';\n\n@NgModule({\n exports: [\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n ],\n declarations: [\n DaffCheckboxComponent,\n DaffCheckboxSetComponent,\n DaffCheckboxControlValueAccessorDirective,\n ],\n imports: [\n CommonModule,\n ],\n providers: [\n DaffCheckboxSetComponent,\n ],\n})\nexport class DaffCheckboxModule { }\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ViewChild,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {\n FormControl,\n NgControl,\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffInputComponent } from '../../input/public_api';\n\n@Component({\n selector: 'daff-quantity-input',\n templateUrl: './quantity-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffQuantityInputComponent implements OnInit, OnDestroy {\n @ViewChild(DaffInputComponent) input: DaffInputComponent;\n\n /**\n * @docs\n * The minimum number for the quantity input field\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number for the quantity input field\n */\n @Input() max = 10;\n\n /**\n * A new control for the nested native input.\n * We don't bind the native input directly to the inherited form control\n * to avoid triggering updates on the input event.\n * Instead, we listen for the change event and manually patch form control values.\n */\n _inputControl = new FormControl();\n\n get focused(): boolean {\n return this.input?.focused;\n }\n\n _destroyed = new Subject();\n\n get value() {\n return this.ngControl.control.value;\n }\n set value(value) {\n const val = Math.min(Math.round(coerceNumberProperty(value)), this.max);\n this.ngControl.control.patchValue(val);\n this._inputControl.patchValue(val);\n this.changeDetectorRef.markForCheck();\n }\n\n get disabled() {\n return this.ngControl.control.disabled;\n }\n\n constructor(\n public ngControl: NgControl,\n private changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n this._inputControl.patchValue(this.ngControl.control.value);\n this.setInputDisabled();\n this.ngControl.statusChanges.pipe(\n takeUntil(this._destroyed),\n ).subscribe(() => {\n this.setInputDisabled();\n });\n }\n\n ngOnDestroy() {\n this._destroyed.next(true);\n }\n\n focus() {\n this.input.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n onBlur() {\n if (this.value === null || this.value === undefined) {\n this.value = 1;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e: any) {\n this.value = e.target.value;\n }\n\n private setInputDisabled() {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.ngControl.disabled\n ? this._inputControl.disable()\n : this._inputControl.enable();\n }\n}\n","<input daff-input\n type=\"number\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.step]=\"1\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"onValueChange($event)\"\n [formControl]=\"_inputControl\"\n>\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffNativeSelectComponent } from '../../native-select/public_api';\n\n/**\n * Create an array of numbers from min to max, not including max.\n */\nexport const makeValueArray = (min: number, max: number, increment: number) =>\n Array(max - min).fill(0).map((x, i) => (i * increment) + min);\n\n@Component({\n selector: 'daff-quantity-select',\n templateUrl: './quantity-select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffQuantitySelectComponent {\n\n @ViewChild(DaffNativeSelectComponent) select: DaffNativeSelectComponent;\n\n /**\n * @docs\n * The minimum number selectable.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number selectable;\n */\n @Input() max = 10;\n\n /**\n * @docs\n * Property used to determine whether or not the DaffQuantitySelectComponent is\n * used in a situation whether the `max` isn't a true max.\n */\n @Input() extendable = true;\n\n /**\n * The amount to increment between \"min\" and \"max\".\n */\n private increment = 1;\n\n _value = 1;\n\n get value() {\n return this._value;\n }\n set value(value) {\n this._value = value;\n this.ngControl.control.patchValue(this._value);\n this.changeDetectorRef.markForCheck();\n }\n\n constructor(public ngControl: NgControl, private changeDetectorRef: ChangeDetectorRef) {}\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e) {\n this.value = e.target.value;\n }\n\n get focused(): boolean {\n return this.select.focused;\n }\n\n focus() {\n this.select.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n /**\n * A helper function for easily making options for the `select`.\n */\n get valueArray() {\n return makeValueArray(this.min, this.max, this.increment);\n }\n}\n","<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n>\n <option *ngFor=\"let item of valueArray\" [value]=\"item\">{{ item }}</option>\n <option [value]=\"max\" *ngIf=\"extendable\">{{ max }}+</option>\n <option [value]=\"max\" *ngIf=\"!extendable\">{{ max }}</option>\n</select>\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n Optional,\n Self,\n ViewChild,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n} from '@angular/forms';\n\nimport { DaffFormFieldControl } from '../form-field/form-field-control';\nimport { DaffQuantityInputComponent } from './quantity-input/quantity-input.component';\nimport { DaffQuantitySelectComponent } from './quantity-select/quantity-select.component';\n\n@Component({\n selector: 'daff-quantity-field',\n templateUrl: './quantity-field.component.html',\n providers: [\n {\n provide: DaffFormFieldControl,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n useExisting: DaffQuantityFieldComponent,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffQuantityFieldComponent implements ControlValueAccessor, DaffFormFieldControl {\n\n @ViewChild(DaffQuantityInputComponent) input: DaffQuantityInputComponent;\n @ViewChild(DaffQuantitySelectComponent) select: DaffQuantitySelectComponent;\n\n /**\n * @docs\n * The minimum valid value of the quantity field.\n * Must be greater than or equal to 1.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum valid value of the quantity field.\n * Must be greater than min.\n */\n @Input() max = 500;\n\n /**\n * @docs\n * The range of numbers acceptable in a quantity dropdown\n * before it becomes an input element.\n */\n @Input() selectMax = 10;\n\n get focused(): boolean {\n return !!(this.input?.focused || this.select?.focused);\n }\n\n disabled = false;\n private _quantity = 1;\n private _inputHasBeenShown = false;\n\n get quantity() {\n return this._quantity;\n }\n set quantity(value: number) {\n this._quantity = coerceNumberProperty(value, 1);\n }\n\n /**\n * Returns the lesser of max and selectMax.\n */\n get _maxFloor(): number {\n return Math.min(this.max, this.selectMax);\n }\n\n get controlType() {\n // TODO: use enum\n return this.showInputField\n ? 'native-input'\n : 'native-select';\n }\n\n get showInputField(): boolean {\n const ret = this._inputHasBeenShown || (this.ngControl\n ? this.ngControl.value >= this.selectMax\n : this.quantity >= this.selectMax);\n\n if (ret) {\n this._inputHasBeenShown = true;\n }\n\n return ret;\n }\n\n get showSelectField(): boolean {\n return !this.showInputField;\n }\n\n constructor(\n @Optional() @Self() public ngControl: NgControl,\n private cd: ChangeDetectorRef,\n ) {\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n private onChange(quantity: number): void {};\n private onTouched(quantity: number): void {};\n\n writeValue(quantity: number): void {\n this.quantity = quantity;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: (quantity: number) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n focus() {\n if(this.select) {\n this.select.focus();\n }\n if(this.input) {\n this.input.focus();\n }\n }\n}\n","<daff-quantity-select\n *ngIf=\"showSelectField\"\n [min]=\"min\" [max]=\"_maxFloor\" [extendable]=\"max > selectMax\">\n</daff-quantity-select>\n<daff-quantity-input\n *ngIf=\"showInputField\"\n [min]=\"min\" [max]=\"max\">\n</daff-quantity-input>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { DaffInputModule } from '../input/public_api';\nimport { DaffNativeSelectModule } from '../native-select/public_api';\nimport { DaffQuantityFieldComponent } from './quantity-field.component';\nimport { DaffQuantityInputComponent } from './quantity-input/quantity-input.component';\nimport { DaffQuantitySelectComponent } from './quantity-select/quantity-select.component';\n\n@NgModule({\n declarations: [\n DaffQuantityFieldComponent,\n DaffQuantityInputComponent,\n DaffQuantitySelectComponent,\n ],\n imports: [\n CommonModule,\n DaffNativeSelectModule,\n DaffInputModule,\n ReactiveFormsModule,\n ],\n exports: [\n DaffQuantityFieldComponent,\n DaffQuantityInputComponent,\n DaffQuantitySelectComponent,\n ],\n})\nexport class DaffQuantityFieldModule { }\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n HostBinding,\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport {\n DaffSizeAllType,\n DaffSizeable,\n} from '../../core/sizeable/sizeable';\nimport { daffSizeMixin } from '../../core/sizeable/sizeable-mixin';\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the Sizeable mixin\n */\nclass DaffContainerBase{\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffContainerBase = daffSizeMixin(DaffContainerBase);\n\n/**\n * @inheritdoc\n */\n@Component({\n selector: 'daff-container',\n styleUrls: ['./container.component.scss'],\n template: '<ng-content></ng-content>',\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['size'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffContainerComponent extends _daffContainerBase implements DaffSizeable<DaffSizeAllType> {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-container') class = true;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffContainerComponent } from './container.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffContainerComponent,\n ],\n exports: [\n DaffContainerComponent,\n ],\n})\nexport class DaffContainerModule { }\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nexport const daffProgressIndicatorAnimation: {\n readonly fill: AnimationTriggerMetadata;\n} = {\n fill: trigger('fill', [\n state('*', style({ width: '{{ percentage }}%' }), { params: { percentage: 0 }}),\n transition('* <=> *', animate(1000)),\n ]),\n};\n","import { AnimationEvent } from '@angular/animations';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n ElementRef,\n Output,\n EventEmitter,\n Renderer2,\n HostBinding,\n} from '@angular/core';\n\nimport {\n daffColorMixin,\n DaffColorable,\n DaffPalette,\n} from '../../core/colorable/public_api';\nimport { daffProgressIndicatorAnimation } from './animation/progress-indicator-animation';\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the Colorable mixin\n */\nclass DaffProgressIndicatorBase{\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffProgressIndicatorBase = daffColorMixin(DaffProgressIndicatorBase, 'primary');\n\n/**\n * @inheritdoc\n */\n@Component({\n selector: 'daff-progress-indicator',\n templateUrl: './progress-indicator.component.html',\n styleUrls: ['./progress-indicator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color'],\n animations: [\n daffProgressIndicatorAnimation.fill,\n ],\n})\nexport class DaffProgressIndicatorComponent extends _daffProgressIndicatorBase implements DaffColorable {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-progress-indicator') class = true;\n\n /**\n * The percentage completion of the progression,\n * expressed as a whole number between 0 and 100.\n *\n */\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n @Input() percentage: number = 0;\n\n /**\n * An event that emits each time the progression reaches 100%\n * and the animation is finished\n */\n @Output() finished: EventEmitter<void> = new EventEmitter();\n\n\n /**\n * Calculates when the progress animation is fully completed\n *\n * @param event: AnimationEvent\n */\n onAnimationComplete(event: AnimationEvent): void {\n // @ts-ignore: @angular/animations typing error on event.toState as string\n // See: https://github.com/angular/angular/issues/26507\n if(event.toState === '100' || event.toState === 100) {\n this.finished.emit();\n }\n }\n\n /**\n * @docs-private\n */\n get fillState(): any {\n return {\n value: this.percentage,\n params: {\n percentage: this.percentage,\n },\n };\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n}\n","<div class=\"daff-progress-indicator__fill\" [@fill]=\"fillState\" (@fill.done)=\"onAnimationComplete($event)\"></div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffProgressIndicatorComponent } from './progress-indicator.component';\n\n@NgModule({\n declarations: [DaffProgressIndicatorComponent],\n imports: [\n CommonModule,\n ],\n exports: [DaffProgressIndicatorComponent],\n})\nexport class DaffProgressIndicatorModule { }\n","import {\n Component,\n HostBinding,\n Input,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-radio-set',\n templateUrl: './radio-set.component.html',\n styleUrls: ['./radio-set.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffRadioSetComponent {\n\n @Input() name: string;\n\n constructor() { }\n\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'radiogroup';\n\n}\n","<ng-content></ng-content>","import {\n Component,\n OnInit,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n forwardRef,\n Optional,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { DaffRadioSetComponent } from '../radio-set/radio-set.component';\n\nlet radioUniqueId = 0;\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'daff-radio',\n templateUrl: './radio.html',\n styleUrls: ['./radio.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffRadioComponent implements OnInit {\n\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'radio';\n /**\n * @docs-private\n */\n @HostBinding('class.focused') get focusClass() {\n return this.focused === true;\n };\n /**\n * @docs-private\n */\n @HostBinding('class.disabled') get disabledClass() {\n return this.disabled === true;\n };\n\n /**\n * @docs-private\n */\n _checked = false;\n /**\n * Output event of selection being changed\n */\n @Output() selectionChange: EventEmitter<boolean> = new EventEmitter();\n\n\n /**\n * The checked property of the radio\n */\n @Input()\n get checked() {\n return this._checked;\n }\n set checked(value: boolean) {\n\t if (this._checked !== value) {\n\t this._checked = value;\n\t this.selectionChange.emit(this.value);\n\t }\n }\n /**\n * The value of the radio\n */\n @Input() value: any;\n /**\n * The id of the radio. It is uniquely generated but can be overwritten by the user. Must be unique.\n */\n @Input() id: string = 'daff-radio-' + radioUniqueId;\n\n /**\n * Name of the Radio\n */\n @Input() name = '';\n\n /**\n * Used for aria-label. Default to name if user does not input a label.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label: string = this.name;\n\n /**\n * Used for aria-labelledby.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labelledby: string;\n\n\n disabled = false;\n focused = false;\n\n constructor(@Optional() private radioset: DaffRadioSetComponent) {\n radioUniqueId++;\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.name = this.radioset ? this.radioset.name : this.name;\n }\n\n /**\n * updates Focus styling\n */\n onFocus() {\n this.focused = true;\n }\n /**\n * updates Blur styling\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * toggles checked attribute on\n */\n select(): void {\n this.checked = true;\n }\n /**\n * toggles checked attribute off\n */\n deselect(): void {\n this.checked = false;\n }\n onChange() {\n this.select();\n };\n}\n","<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>","import { Injectable } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffRadioControlValueAccessorDirective } from '../cva/radio-cva.directive';\n\nexport interface ControlAccessorPair {\n control: NgControl;\n accessor: DaffRadioControlValueAccessorDirective;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class DaffRadioRegistry {\n private _accessors: ControlAccessorPair[] = [];\n\n /**\n * @description\n * Adds a control to the internal registry.\n */\n add(control: NgControl, accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.push({\n control,\n accessor,\n });\n }\n\n /**\n * @description\n * Removes a control from the internal registry.\n */\n remove(accessor: DaffRadioControlValueAccessorDirective) {\n for (let i = this._accessors.length - 1; i >= 0; --i) {\n if (this._accessors[i]['accessor'] === accessor) {\n this._accessors.splice(i, 1);\n return;\n }\n }\n }\n\n /**\n * @description\n * Selects a radio button.\n */\n select(accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.forEach((c) => {\n if (this._isSameGroup(c, accessor) && c['accessor'] !== accessor) {\n c['accessor'].fireDeselect();\n }\n });\n }\n\n private _isSameGroup(\n controlPair: ControlAccessorPair,\n accessor: DaffRadioControlValueAccessorDirective): boolean {\n if (!controlPair['control'].control) {\n return false;\n }\n return controlPair['control'].control.parent === accessor._control.control.parent\n && controlPair['accessor'].name === accessor.name;\n }\n}\n","import {\n Directive,\n Input,\n OnInit,\n Self,\n Optional,\n forwardRef,\n} from '@angular/core';\nimport {\n NgControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\nimport { DaffRadioComponent } from '../radio.component';\nimport { DaffRadioRegistry } from '../registry/radio-registry';\n\n/**\n * ControlValueAccessor functionality for the DaffRadio\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-radio[ngModel], daff-radio[formControl], daff-radio[formControlName]',\n})\nexport class DaffRadioControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: () => void;\n _onTouched: () => void;\n\n /**\n * The value of the ControlValueAccessor\n */\n @Input() value: any;\n\n /**\n * The name of the ControlValueAccessor\n */\n @Input() name: string;\n\n constructor(\n @Optional() @Self() public _control: NgControl,\n private _registry: DaffRadioRegistry,\n private _radio: DaffRadioComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.writeValue(this._control.value);\n this._registry.add(this._control, this);\n\n this._radio.selectionChange.subscribe(\n value => value ? this._onChange() : null,\n );\n }\n /**\n *\n * writeValue function from the CVA interface\n */\n writeValue(value: any): void {\n // the this._onChange null check here is necessary because of an ongoing bug in angular forms\n // where writeValue can be called before the component initializes: https://github.com/angular/angular/issues/29218\n if (this.value === value && this._onChange) {\n this._onChange();\n this.fireSelect();\n }\n }\n\n /**\n * registerOnChange implemented from the CVA interface\n */\n registerOnChange(fn: any): void {\n this._onChange = () => {\n fn(this.value);\n this._registry.select(this);\n };\n }\n\n /**\n * registerOnTouch implemented from the CVA interface\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * sets the disabled state.\n */\n setDisabledState?(isDisabled: boolean): void {\n this._radio.disabled = isDisabled;\n }\n\n /**\n calls select function for the radio\n */\n fireSelect() {\n this._radio.select();\n }\n\n /**\n calls deselect function for the radio\n */\n fireDeselect() {\n this._radio.deselect();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffRadioSetComponent } from '../radio-set/radio-set.component';\nimport { DaffRadioControlValueAccessorDirective } from './cva/radio-cva.directive';\nimport { DaffRadioComponent } from './radio.component';\n\n\n\n@NgModule({\n exports:[\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n\n ],\n declarations: [\n DaffRadioControlValueAccessorDirective,\n DaffRadioComponent,\n DaffRadioSetComponent,\n ],\n imports: [\n CommonModule,\n ],\n})\nexport class DaffRadioModule { }\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffFormLabel]',\n})\nexport class DaffFormLabelDirective {\n @HostBinding('class.daff-form-label') class = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffFormLabelDirective } from './form-label.directive';\n\n@NgModule({\n exports: [\n DaffFormLabelDirective,\n ],\n declarations: [\n DaffFormLabelDirective,\n ],\n})\n\nexport class DaffFormLabelModule {}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffAccordionItemContent]',\n})\nexport class DaffAccordionItemContentDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-accordion-item__content') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffAccordionItemTitle]',\n})\nexport class DaffAccordionItemTitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-accordion-item__title') class = true;\n}\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nexport const daffAccordionAnimations: {\n readonly openAccordion: AnimationTriggerMetadata;\n} = {\n openAccordion: trigger('openAccordion', [\n state('open', style({\n visibility: 'visible',\n opacity: '1',\n height: '*',\n })),\n state('void',style({\n visibility: 'hidden',\n overflow: 'hidden',\n opacity: '0',\n height: '0',\n })),\n transition('void <=> open',\n animate('150ms ease-in'),\n ),\n ]),\n};\n","export const getAnimationState = (open: boolean) => {\n if(open){\n return 'open';\n } else {\n return 'void';\n }\n};\n","import {\n Component,\n Input,\n OnInit,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n faChevronDown,\n faChevronUp,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { daffAccordionAnimations } from '../animation/accordion-animation';\nimport { getAnimationState } from '../animation/accordion-animation-state';\n\n@Component({\n selector: 'daff-accordion-item',\n templateUrl: './accordion-item.component.html',\n styleUrls: ['./accordion-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n daffAccordionAnimations.openAccordion,\n ],\n})\nexport class DaffAccordionItemComponent implements OnInit {\n /**\n * @docs-private\n */\n faChevronDown = faChevronDown;\n /**\n * @docs-private\n */\n faChevronUp = faChevronUp;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-accordion-item') class = true;\n\n @Input() initiallyActive: boolean;\n /**\n * @docs-private\n */\n _open = false;\n /**\n * @docs-private\n */\n _animationState: string;\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this._open = this.initiallyActive ? this.initiallyActive : this._open;\n this._animationState = getAnimationState(this._open);\n }\n\n toggleActive() {\n this._open = !this._open;\n this._animationState = getAnimationState(this._open);\n }\n}\n","<div class=\"daff-accordion-item__header\" (click)=\"toggleActive()\">\n <ng-content select=\"[daffAccordionItemTitle]\"></ng-content>\n <span [hidden]=\"_open\" daffSuffix>\n <fa-icon [icon]=\"faChevronDown\"></fa-icon>\n </span>\n <span [hidden]=\"!_open\" daffSuffix>\n <fa-icon [icon]=\"faChevronUp\"></fa-icon>\n </span>\n</div>\n<div [@openAccordion]=\"_animationState\">\n <ng-content></ng-content>\n</div>","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../../core/article-encapsulated/public_api';\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the link set mixins\n */\nclass DaffAccordionBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffAccordionBase = daffArticleEncapsulatedMixin((DaffAccordionBase));\n\n@Component({\n selector: 'daff-accordion',\n templateUrl: './accordion.component.html',\n styleUrls: ['./accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DaffAccordionComponent extends _daffAccordionBase {\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n}\n","<ng-content></ng-content>","import {\n Component,\n Input,\n OnInit,\n HostBinding,\n SkipSelf,\n Optional,\n ContentChildren,\n QueryList,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n faChevronDown,\n faChevronUp,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffAccordionComponent } from '../accordion/accordion.component';\nimport { daffAccordionAnimations } from '../animation/accordion-animation';\nimport { getAnimationState } from '../animation/accordion-animation-state';\n\n@Component({\n selector: 'daff-nav-accordion-item',\n templateUrl: './nav-accordion-item.component.html',\n styleUrls: ['./nav-accordion-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n daffAccordionAnimations.openAccordion,\n ],\n})\nexport class DaffNavAccordionItemComponent implements OnInit {\n\n constructor(\n private accordion: DaffAccordionComponent,\n @SkipSelf() @Optional() private navAccordionItemParent: DaffNavAccordionItemComponent,\n ) {}\n /**\n * @docs-private\n */\n faChevronDown = faChevronDown;\n /**\n * @docs-private\n */\n faChevronUp = faChevronUp;\n\n /**\n * @docs-private\n */\n @HostBinding('class') get classes() {\n return [\n 'daff-nav-accordion-item',\n 'daff-nav-accordion-item--level-' + this._level,\n ];\n }\n\n @Input() initiallyActive: boolean;\n\n @ContentChildren(DaffNavAccordionItemComponent, { descendants: true })\n _navAccordionItemChild: QueryList<DaffNavAccordionItemComponent>;\n\n /**\n * @docs-private\n */\n _open = false;\n /**\n * @docs-private\n */\n _animationState: string;\n\n /**\n * @docs-private\n */\n _level = 0;\n\n /**\n * @docs-private\n */\n ngOnInit() {\n\t if(this.navAccordionItemParent && this.accordion === this.navAccordionItemParent.accordion) {\n\t this._level = this.navAccordionItemParent._level + 1;\n\t }\n\t this._open = this.initiallyActive ? this.initiallyActive : this._open;\n\t this._animationState = getAnimationState(this._open);\n }\n\n toggleActive() {\n\t this._open = !this._open;\n\t this._animationState = getAnimationState(this._open);\n }\n}\n","<div class=\"daff-nav-accordion-item__header\" (click)=\"toggleActive()\">\n <ng-content select=\"[daffAccordionItemTitle]\"></ng-content>\n <span [hidden]=\"_open\" daffSuffix *ngIf=\"_navAccordionItemChild.toArray().length\">\n <fa-icon [icon]=\"faChevronDown\"></fa-icon>\n </span>\n <span [hidden]=\"!_open\" daffSuffix *ngIf=\"_navAccordionItemChild.toArray().length\">\n <fa-icon [icon]=\"faChevronUp\"></fa-icon>\n </span>\n</div>\n<div [@openAccordion]=\"_animationState\">\n <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffPrefixSuffixModule } from '../../core/prefix-suffix/prefix-suffix.module';\nimport { DaffAccordionItemContentDirective } from './accordion-item-content/accordion-item-content.directive';\nimport { DaffAccordionItemTitleDirective } from './accordion-item-title/accordion-item-title.directive';\nimport { DaffAccordionItemComponent } from './accordion-item/accordion-item.component';\nimport { DaffAccordionComponent } from './accordion/accordion.component';\nimport { DaffNavAccordionItemComponent } from './nav-accordion-item/nav-accordion-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n\n FontAwesomeModule,\n DaffPrefixSuffixModule,\n ],\n declarations: [\n DaffAccordionComponent,\n DaffAccordionItemComponent,\n DaffNavAccordionItemComponent,\n DaffAccordionItemTitleDirective,\n DaffAccordionItemContentDirective,\n ],\n exports: [\n DaffAccordionComponent,\n DaffAccordionItemComponent,\n DaffNavAccordionItemComponent,\n DaffAccordionItemTitleDirective,\n DaffAccordionItemContentDirective,\n ],\n})\nexport class DaffAccordionModule { }\n","import {\n Component,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n/**\n * A component for creating articles within your page.\n */\n@Component({\n selector: 'daff-article',\n template: '<ng-content></ng-content>',\n styleUrls: ['./article.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffArticleComponent {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-article') class = true;\n\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'article';\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffArticleLead]',\n})\nexport class DaffArticleLeadDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-article__lead') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffArticleMeta]',\n})\nexport class DaffArticleMetaDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-article__meta') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffArticleTitle]',\n})\nexport class DaffArticleTitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-article__title') class = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffArticleLeadDirective } from './article-lead/article-lead.directive';\nimport { DaffArticleMetaDirective } from './article-meta/article-meta.directive';\nimport { DaffArticleTitleDirective } from './article-title/article-title.directive';\nimport { DaffArticleComponent } from './article/article.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffArticleComponent,\n DaffArticleTitleDirective,\n DaffArticleLeadDirective,\n DaffArticleMetaDirective,\n ],\n exports: [\n DaffArticleComponent,\n DaffArticleTitleDirective,\n DaffArticleLeadDirective,\n DaffArticleMetaDirective,\n ],\n})\nexport class DaffArticleModule { }\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nconst animationDuration = '350ms';\nconst backdropTransitionOut = 'cubic-bezier(0.4, 0.0, 1, 1)';\nconst backdropTransitionIn = 'cubic-bezier(0.0, 0.0, 0.2, 1)';\n\nexport const daffBackdropAnimations: {\n readonly fadeBackdrop: AnimationTriggerMetadata;\n} = {\n fadeBackdrop: trigger('fadeBackdrop', [\n state('interactable', style({ opacity: 1 })),\n state('non-interactable', style({ opacity: 0 })),\n transition('interactable => non-interactable', animate(animationDuration + ' ' + backdropTransitionOut)),\n transition('non-interactable => interactable', animate(animationDuration + ' ' + backdropTransitionIn)),\n transition(':enter', [\n style({ opacity: 0 }),\n animate(animationDuration + ' ' + backdropTransitionIn, style({ opacity: 1 })),\n ]),\n transition(':leave', [\n animate(animationDuration + ' ' + backdropTransitionOut, style({ opacity: 0 })),\n ]),\n ]),\n};\n","export type DaffBackdropAnimationState = 'interactable' | 'non-interactable';\nexport const getAnimationState = (interactable: boolean): DaffBackdropAnimationState=> interactable ? 'interactable' : 'non-interactable';\n","import { AnimationEvent } from '@angular/animations';\nimport {\n Component,\n Output,\n EventEmitter,\n Input,\n ChangeDetectionStrategy,\n HostListener,\n HostBinding,\n ElementRef,\n OnInit,\n} from '@angular/core';\n\nimport { daffBackdropAnimations } from '../animation/backdrop-animation';\nimport { getAnimationState } from '../animation/backdrop-animation-state';\n\n@Component({\n selector: 'daff-backdrop',\n templateUrl: './backdrop.component.html',\n styleUrls: ['./backdrop.component.scss'],\n animations: [\n daffBackdropAnimations.fadeBackdrop,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffBackdropComponent implements OnInit {\n\n /**\n * Determines whether or not the backdrop is transparent.\n */\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n @Input() transparent: boolean = false;\n\n /**\n * Determines whether or not the backdrop is interactable.\n */\n @Input() interactable = true;\n\n /**\n * Boolean property that determines whether or not the\n * backdrop should fill up its containing window.\n */\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n @Input() fullscreen: boolean = false;\n\n /**\n * Output event triggered when the backdrop is clicked.\n */\n @Output() backdropClicked: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding('class.interactable') interactableClass = true;\n\n ngOnInit(): void {\n this.interactableClass = this.interactable;\n }\n\n /**\n * Animation hook for that controls the backdrops\n * entrance and fade animations.\n */\n @HostBinding('@fadeBackdrop') get fadeBackdropTrigger() {\n return getAnimationState(this.interactable);\n }\n\n @HostListener('@fadeBackdrop.done', ['$event'])\n animationDone(e: AnimationEvent) {\n\t this.interactableClass = !(e.toState === ':leave' || e.toState === 'non-interactable');\n }\n\n @HostListener('@fadeBackdrop.start', ['$event'])\n animationStart(e: AnimationEvent) {\n\t if(e.toState === ':enter' || e.toState === 'interactable'){\n\t this.interactableClass = true;\n\t }\n }\n\n /**\n * @deprecated\n * Backdrop event that triggers when the backdrop element is clicked.\n */\n @HostListener('click')\n onBackdropClicked(): void {\n\t this.backdropClicked.emit();\n }\n}\n","<div class=\"daff-backdrop\" [class.daff-backdrop--fullscreen]=\"fullscreen\" [class.daff-backdrop--transparent]=\"transparent\"></div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffBackdropComponent } from './backdrop/backdrop.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffBackdropComponent,\n ],\n exports: [\n DaffBackdropComponent,\n ],\n entryComponents: [\n DaffBackdropComponent,\n ],\n})\nexport class DaffBackdropModule { }\n","import {\n Component,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-button-set',\n template: '<ng-content></ng-content>',\n styleUrls: ['./button-set.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffButtonSetComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-button-set') class = true;\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffButtonSetComponent } from './button-set.component';\n\n@NgModule({\n declarations: [\n DaffButtonSetComponent,\n ],\n exports: [\n DaffButtonSetComponent,\n ],\n})\nexport class DaffButtonSetModule { }\n","import {\n Component,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-image-list',\n template: '<ng-content></ng-content>',\n styleUrls: ['./image-list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffImageListComponent {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-image-list') class = true;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @deprecated See {@link DaffMediaGalleryComponent}\n */\n@Component({\n selector: 'daff-image-gallery',\n templateUrl: './image-gallery.component.html',\n styleUrls: ['./image-gallery.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffImageGalleryComponent {}\n","<div class=\"daff-image-gallery\">\n <div class=\"daff-image-gallery__active-image\">\n <ng-content select=\"[daff-active-image]\"></ng-content>\n </div>\n\n <daff-image-list class=\"daff-image-gallery__image-list\">\n <ng-content select=\"daff-gallery-image\"></ng-content>\n </daff-image-list>\n</div>\n","import {\n Component,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n/**\n * @deprecated See {@link DaffThumbnailDirective}\n */\n@Component({\n selector: 'daff-gallery-image',\n templateUrl: './gallery-image.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffGalleryImageComponent {\n @HostBinding('class.daff-image-gallery__daff-gallery-image--selected') @Input() selected: boolean;\n @HostBinding('class.daff-image-gallery__daff-gallery-image') class = true;\n}\n","<div class=\"gallery-image__wrapper\">\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffImageListComponent } from './image-list.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffImageListComponent,\n ],\n exports: [\n DaffImageListComponent,\n ],\n})\nexport class DaffImageListModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffImageListModule } from '../image-list/public_api';\nimport { DaffGalleryImageComponent } from './gallery-image/gallery-image.component';\nimport { DaffImageGalleryComponent } from './image-gallery/image-gallery.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DaffImageListModule,\n ],\n declarations: [\n DaffImageGalleryComponent,\n DaffGalleryImageComponent,\n ],\n exports: [\n DaffImageGalleryComponent,\n DaffGalleryImageComponent,\n ],\n})\nexport class DaffImageGalleryModule { }\n","import {\n Component,\n HostBinding,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../../core/article-encapsulated/public_api';\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the link set mixins\n */\nclass DaffLinkSetBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffLinkSetBase = daffArticleEncapsulatedMixin((DaffLinkSetBase));\n\n/**\n * DaffLinkSetComponent is a component for displaying a two or more links.\n */\n@Component({\n selector: 'daff-link-set',\n template: '<ng-content></ng-content>',\n styleUrls: ['./link-set.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffLinkSetComponent extends _daffLinkSetBase {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-link-set') class = true;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n * A directive for adding a heading to a daff-link-set.\n */\n@Directive({\n selector: '[daffLinkSetHeading]',\n})\nexport class DaffLinkSetHeadingDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-link-set__heading') class = true;\n}\n","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n HostBinding,\n} from '@angular/core';\n\n@Component ({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[daff-link-set-item]',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffLinkSetItemComponent {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-link-set__item') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n * A directive for adding a subheading to a daff-link-set.\n */\n@Directive({\n selector: '[daffLinkSetSubheading]',\n})\nexport class DaffLinkSetSubheadingDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-link-set__subheading') class = true;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffLinkSetHeadingDirective } from './link-set-heading/link-set-heading.directive';\nimport { DaffLinkSetItemComponent } from './link-set-item/link-set-item.component';\nimport { DaffLinkSetSubheadingDirective } from './link-set-subheading/link-set-subheading.directive';\nimport { DaffLinkSetComponent } from './link-set/link-set.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n DaffLinkSetComponent,\n DaffLinkSetHeadingDirective,\n DaffLinkSetSubheadingDirective,\n DaffLinkSetItemComponent,\n ],\n declarations: [\n DaffLinkSetComponent,\n DaffLinkSetHeadingDirective,\n DaffLinkSetSubheadingDirective,\n DaffLinkSetItemComponent,\n ],\n})\nexport class DaffLinkSetModule {}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n ContentChild,\n ElementRef,\n} from '@angular/core';\n\nimport {\n DaffPrefixDirective,\n DaffSuffixDirective,\n} from '../../../core/prefix-suffix/public_api';\n\n@Component({\n selector:\n 'daff-list-item' + ',' +\n 'a[daff-list-item]',\n templateUrl: './list-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DaffListItemComponent {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-list-item') class = true;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n /**\n * @docs-private\n */\n @ContentChild(DaffSuffixDirective) _suffix: DaffSuffixDirective;\n\n constructor(private elementRef: ElementRef) {}\n\n /**\n * Sets the role for a regular `<daff-list-item>` to listitem.\n *\n * @docs-private\n */\n @HostBinding('attr.role') get role() {\n return this._isAnchor() ? null : 'listitem';\n };\n\n private _getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n /** Gets whether a list item has one of the given attributes. */\n private _isAnchor() {\n return this.elementRef.nativeElement.localName === 'a';\n }\n}\n","<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-list-item__content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"_suffix\">\n <ng-content select=\"[daffSuffix]\"></ng-content>\n</ng-container>","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n/**\n * @deprecated\n */\n@Directive({\n selector: '[daffListSubheader]',\n})\nexport class DaffListSubheaderDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-list__subheader') class = true;\n}\n","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n HostBinding,\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../../core/article-encapsulated/public_api';\n\n/**\n * @deprecated\n * DaffListMode will be completely deprecated in v1.0.0\n * */\nexport type DaffListMode = 'multi-line' | 'link' | 'navigation' | undefined;\nexport enum DaffListModeEnum {\n Multiline = 'multi-line',\n Link = 'link',\n Navigation = 'navigation'\n}\n\nexport type DaffListType = 'daff-list' | 'daff-nav-list';\n\nenum DaffListTypeEnum {\n Default = 'daff-list',\n Nav = 'daff-nav-list'\n}\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the list mixins\n */\nclass DaffListBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffListBase = daffArticleEncapsulatedMixin((DaffListBase));\n\n@Component({\n selector:\n 'daff-list' + ',' +\n 'daff-nav-list',\n template: '<ng-content></ng-content>',\n styleUrls: ['./list.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DaffListComponent extends _daffListBase {\n /**\n * @deprecated\n * */\n @Input() mode: DaffListMode;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-list') get list() {\n return this.listType === DaffListTypeEnum.Default;\n }\n\n /**\n * @docs-private\n * @deprecated\n * */\n @HostBinding('class.daff-list--multi-line') get multiline() {\n return this.mode === DaffListModeEnum.Multiline;\n }\n\n /**\n * @docs-private\n * @deprecated\n * */\n @HostBinding('class.daff-list--link') get link() {\n return this.mode === DaffListModeEnum.Link;\n }\n\n /**\n * @docs-private\n * @deprecated\n * */\n @HostBinding('class.daff-list--navigation') get navigation() {\n return this.mode === DaffListModeEnum.Navigation;\n }\n\n /**\n * @docs-private\n */\n get listType(): DaffListType {\n return this._getHostElement().localName;\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-nav-list') get nav() {\n return this.listType === DaffListTypeEnum.Nav;\n }\n\n /**\n * Sets the role for a `<daff-nav-list>` to navigation.\n *\n * @docs-private\n */\n @HostBinding('attr.role') get role() {\n return this.listType === DaffListTypeEnum.Nav ? 'navigation' : 'list';\n };\n\n private _getHostElement() {\n return this.elementRef.nativeElement;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffPrefixSuffixModule } from '../../core/prefix-suffix/prefix-suffix.module';\nimport { DaffListItemComponent } from './list-item/list-item.component';\nimport { DaffListSubheaderDirective } from './list-subheader/list-subheader.directive';\nimport { DaffListComponent } from './list/list.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DaffPrefixSuffixModule,\n ],\n declarations: [\n DaffListComponent,\n DaffListSubheaderDirective,\n DaffListItemComponent,\n ],\n exports: [\n DaffListComponent,\n DaffListSubheaderDirective,\n DaffListItemComponent,\n DaffPrefixSuffixModule,\n ],\n})\nexport class DaffListModule { }\n","import {\n Overlay,\n OverlayConfig,\n} from '@angular/cdk/overlay';\nimport { ElementRef } from '@angular/core';\n\nexport function daffMenuCreateOverlay(overlay: Overlay, element: ElementRef, config: OverlayConfig = {}) {\n return overlay.create({\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n scrollStrategy: overlay.scrollStrategies.block(),\n disposeOnNavigation: true,\n positionStrategy: overlay\n .position()\n .flexibleConnectedTo(element)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 0,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]),\n ...config,\n });\n};\n","import {\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport {\n ComponentPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport {\n ElementRef,\n Injectable,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n BehaviorSubject,\n map,\n Observable,\n} from 'rxjs';\n\nimport { DaffLazyComponent } from '../../../core/lazy/public_api';\nimport { daffMenuCreateOverlay } from '../helpers/public_api';\n\nexport interface DaffActivatedMenu {\n el: ElementRef;\n component: Type<unknown>;\n}\n\nexport type DaffMenuSlot = TemplateRef<unknown> | DaffLazyComponent | Type<unknown>;\n\n@Injectable()\nexport class DaffMenuService {\n protected _overlay: OverlayRef | null;\n private _activator: ViewContainerRef;\n\n private $_open: BehaviorSubject<boolean> = new BehaviorSubject(false);\n public open$: Observable<boolean> = this.$_open.asObservable();\n\n constructor(protected overlay: Overlay) {}\n\n protected async _createOverlay(activatorElement: ViewContainerRef, component: DaffMenuSlot) {\n if (!this._overlay) {\n this._overlay = daffMenuCreateOverlay(this.overlay, activatorElement.element);\n if(typeof component === 'object' && (<DaffLazyComponent>component)?.import) {\n component = await (<DaffLazyComponent>component).import();\n }\n\n if(component instanceof Type) {\n this._overlay.attach(new ComponentPortal(<Type<unknown>>component));\n } else if (component instanceof TemplateRef) {\n this._overlay.attach(new TemplatePortal(component, activatorElement));\n }\n\n this._overlay.backdropClick().pipe(\n map(() => this._destroyOverlay()),\n ).subscribe();\n }\n }\n\n protected _destroyOverlay() {\n if (this._overlay) {\n this._overlay.detach();\n this._overlay.dispose();\n this._overlay = null;\n }\n }\n\n close() {\n this._destroyOverlay();\n\t this.$_open.next(false);\n this._activator.element.nativeElement.focus();\n }\n\n open(activator: ViewContainerRef, component: DaffMenuSlot) {\n\t this._createOverlay(activator, component);\n this._activator = activator;\n this.$_open.next(true);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n TemplateRef,\n Type,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n Subject,\n takeUntil,\n} from 'rxjs';\n\nimport { DaffMenuService } from '../service/menu.service';\n\n@Directive({\n selector: '[daffMenuActivator]',\n})\nexport class DaffMenuActivatorDirective implements OnDestroy {\n\n @Input() daffMenuActivator: Type<unknown> | TemplateRef<unknown>;\n\n private _destroyed$ = new Subject<boolean>();\n private _open: boolean;\n\n @HostBinding('class.open') get openClass() {\n\t return this._open;\n }\n\n constructor(\n private service: DaffMenuService,\n private viewContainerRef: ViewContainerRef,\n private cdRef: ChangeDetectorRef,\n ) {\n this.service.open$.pipe(\n takeUntil(this._destroyed$),\n ).subscribe((val: boolean) => {\n\t this._open = val;\n\t this.cdRef.markForCheck();\n\t });\n }\n\n ngOnDestroy(): void {\n this._destroyed$.next(true);\n this._destroyed$.complete();\n }\n\n focus() {\n this.viewContainerRef.element.nativeElement.focus();\n }\n\n @HostListener('click', ['$event'])\n openMenu(event) {\n\t event.preventDefault();\n\t this.service.open(this.viewContainerRef, this.daffMenuActivator);\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n ContentChild,\n ElementRef,\n} from '@angular/core';\n\nimport {\n DaffPrefixDirective,\n DaffSuffixDirective,\n} from '../../../core/prefix-suffix/public_api';\n\n@Component({\n selector:\n 'a[daff-menu-item]' + ',' +\n 'button[daff-menu-item]',\n templateUrl: './menu-item.component.html',\n styleUrls: ['./menu-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DaffMenuItemComponent {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-menu-item') class = true;\n\n /**\n * Sets the role of the component to menuitem.\n *\n * @docs-private\n */\n @HostBinding('attr.role') role = 'menuitem';\n\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n}\n","<ng-container *ngIf=\"_prefix\">\n <ng-content select=\"[daffPrefix]\"></ng-content>\n</ng-container>\n<div class=\"daff-menu-item__content\">\n <ng-content></ng-content>\n</div>","export const daffFocusableElementsSelector = 'a[href],a[routerlink], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])';\n","import {\n ConfigurableFocusTrapFactory,\n ConfigurableFocusTrap,\n} from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n NgZone,\n} from '@angular/core';\nimport {\n filter,\n fromEvent,\n} from 'rxjs';\n\nimport { daffFocusableElementsSelector } from '../../../core/focus/public_api';\nimport { DaffMenuService } from '../service/menu.service';\n\n@Component({\n selector: 'daff-menu',\n template: '<ng-content select=\"[daff-menu-item]\"></ng-content>',\n styleUrls: ['./menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffMenuComponent implements AfterContentInit, AfterViewInit {\n @HostBinding('class.daff-menu') class = true;\n @HostBinding('tabindex') tabindex = 0;\n @HostBinding('attr.role') role = 'menu';\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private menuService: DaffMenuService,\n ) {\n /**\n * Listen to `keydown` events outside the zone so that change detection is not run every\n * time a key is pressed. Instead we re-enter the zone only if the `ESC` key is pressed.\n *\n */\n this._ngZone.runOutsideAngular(() => {\n fromEvent<KeyboardEvent>(this._elementRef.nativeElement, 'keyup')\n .pipe(\n filter((event) => event.key === 'Escape'),\n )\n .subscribe((event) =>\n this._ngZone.run(() => {\n this.menuService.close();\n event.stopPropagation();\n }),\n );\n });\n }\n\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(\n\t this._elementRef.nativeElement,\n\t );\n }\n\n ngAfterViewInit() {\n const focusableChild = (<HTMLElement>this._elementRef.nativeElement.querySelector(\n daffFocusableElementsSelector)\n );\n\n if(focusableChild) {\n focusableChild.focus();\n } else {\n // There's a timing condition when computing HostBindings afterContentInit\n // so to allow the menu to be focused, we manually set the tabindex.\n this._elementRef.nativeElement.tabIndex = 0;\n (<HTMLElement>this._elementRef.nativeElement).focus();\n }\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffMenuActivatorDirective } from './menu-activator/menu-activator.component';\nimport { DaffMenuItemComponent } from './menu-item/menu-item.component';\nimport { DaffMenuComponent } from './menu/menu.component';\nimport { DaffMenuService } from './service/menu.service';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n ],\n declarations: [\n DaffMenuActivatorDirective,\n DaffMenuComponent,\n DaffMenuItemComponent,\n ],\n exports: [\n DaffMenuActivatorDirective,\n DaffMenuComponent,\n DaffMenuItemComponent,\n ],\n providers: [\n DaffMenuService,\n ],\n})\n\nexport class DaffMenuModule {}\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nexport const daffFadeAnimations: {\n readonly fade: AnimationTriggerMetadata;\n} = {\n fade: trigger('fade', [\n state('open', style({ opacity: 1 })),\n state('closed', style({ opacity: 0 })),\n transition('open <=> closed', animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)')),\n ]),\n};\n","export const getAnimationState = (open: boolean) => open ? 'open' : 'closed';\n","import { AnimationEvent } from '@angular/animations';\nimport {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y';\nimport {\n CdkPortalOutlet,\n ComponentPortal,\n} from '@angular/cdk/portal';\nimport {\n Component,\n EventEmitter,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n ViewChild,\n HostListener,\n ElementRef,\n AfterContentInit,\n AfterViewInit,\n} from '@angular/core';\n\nimport { daffFocusableElementsSelector } from '../../../core/focus/public_api';\nimport { daffFadeAnimations } from '../animations/modal-animation';\nimport { getAnimationState } from '../animations/modal-animation-state';\n\n@Component({\n selector: 'daff-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n animations: [daffFadeAnimations.fade],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffModalComponent implements AfterContentInit, AfterViewInit {\n /**\n * HostBinding to set the default modal class on the host element.\n */\n @HostBinding('class.daff-modal') modalClass = true;\n\n /**\n * Dictates whether or not a modal is open or closed.\n */\n @Input() open = false;\n\n /**\n * The CDK Portal outlet used to portal content into the modal.\n */\n @ViewChild(CdkPortalOutlet, { static: true }) private _portalOutlet: CdkPortalOutlet;\n\n /**\n * Event fired when the close animation is completed.\n */\n animationCompleted: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * Event fired when the close animation is completed.\n */\n closedAnimationCompleted: EventEmitter<any> = new EventEmitter<\n any\n >();\n\n /**\n * Event fired when the backdrop is clicked. This is often used to close the modal.\n */\n hide: EventEmitter<void> = new EventEmitter<void>();\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _elementRef: ElementRef<HTMLElement>,\n ) {\n }\n\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(\n\t this._elementRef.nativeElement,\n\t );\n }\n\n ngAfterViewInit() {\n const focusableChild = (<HTMLElement>this._elementRef.nativeElement.querySelector(\n daffFocusableElementsSelector)\n );\n\n if(focusableChild) {\n focusableChild.focus();\n } else {\n // There's a timing condition when computing HostBindings afterContentInit\n // so to allow the menu to be focused, we manually set the tabindex.\n this._elementRef.nativeElement.tabIndex = 0;\n (<HTMLElement>this._elementRef.nativeElement).focus();\n }\n }\n\n /**\n * Helper method to attach portable content to modal.\n */\n attachContent(portal: ComponentPortal<any>): any {\n\t this._portalOutlet.attachComponentPortal(portal);\n }\n\n /** Animation hook that controls the entrance and exit animations of the modal. */\n @HostBinding('@fade') get fadeState(): string {\n\t return getAnimationState(this.open);\n }\n\n /**\n * Animation event that can used to hook into when\n * animations are fully completed. We use this in the DaffModalService\n * to determine when to actually remove the dynamically rendered element from the DOM\n * so that the animation does not clip as the element is removed.\n */\n @HostListener('@fade.done', ['$event'])\n animationDone(e: AnimationEvent) {\n\t this.animationCompleted.emit(e);\n\t if (e.toState === 'closed') {\n\t this.closedAnimationCompleted.emit(e);\n\t }\n }\n}\n","<ng-template cdkPortalOutlet></ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-actions',\n template: '<ng-content></ng-content>',\n styleUrls: ['./modal-actions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffModalActionsComponent { }\n","import {\n Component,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-content',\n template: '<ng-content></ng-content>',\n styleUrls: ['./modal-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffModalContentComponent {}\n","import {\n Component,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-header',\n template: '<ng-content></ng-content>',\n styleUrls: ['./modal-header.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffModalHeaderComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-header') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffModalTitle]',\n})\nexport class DaffModalTitleDirective {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-title') class = true;\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\nimport { DaffModalComponent } from './modal/modal.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PortalModule,\n OverlayModule,\n ],\n exports: [\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n ],\n declarations: [\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n ],\n})\nexport class DaffModalModule { }\n","import { AnimationEvent } from '@angular/animations';\nimport {\n OverlayRef,\n Overlay,\n GlobalPositionStrategy,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Injectable,\n Type,\n ComponentRef,\n} from '@angular/core';\n\nimport { DaffModal } from '../modal';\nimport { DaffModalModule } from '../modal.module';\nimport { DaffModalConfiguration } from '../modal/modal-config';\nimport { DaffModalComponent } from '../modal/modal.component';\n\n@Injectable({\n providedIn: DaffModalModule,\n})\nexport class DaffModalService {\n private _modals: DaffModal[] = [];\n\n constructor(private overlay: Overlay) {}\n\n private defaultConfiguration: DaffModalConfiguration = {};\n\n private _attachModal(\n\t overlayRef: OverlayRef,\n ): ComponentRef<DaffModalComponent> {\n\t const modal = overlayRef.attach(new ComponentPortal(DaffModalComponent));\n\t modal.instance.open = true;\n\t return modal;\n }\n\n private _attachModalContent(\n\t component: Type<any>,\n\t modal: ComponentRef<DaffModalComponent>,\n ): void {\n\t modal.instance.attachContent(new ComponentPortal(component));\n }\n\n private _createOverlayRef(): OverlayRef {\n\t return this.overlay.create({\n\t hasBackdrop: true,\n\t positionStrategy: new GlobalPositionStrategy()\n\t .centerHorizontally()\n\t .centerVertically(),\n\t scrollStrategy: this.overlay.scrollStrategies.block(),\n\t });\n }\n\n private _removeModal(modal: DaffModal) {\n\t const index = this._modals.indexOf(modal);\n\t if (index === -1) {\n\t throw new Error(\n\t 'The Modal that you are trying to remove does not exist.',\n\t );\n\t }\n\n\t modal.overlay.dispose();\n\n\t this._modals = this._modals.filter(m => m !== modal);\n }\n\n open(\n\t component: Type<any>,\n\t configuration?: Partial<DaffModalConfiguration>,\n ): DaffModal {\n\t const config = { ...this.defaultConfiguration, ...configuration };\n\t const _ref = this._createOverlayRef();\n\t const _modal = this._attachModal(_ref);\n\t const _attachedModal = this._attachModalContent(component, _modal);\n\n\t const modal: DaffModal = {\n\t modal: _modal,\n\t overlay: _ref,\n\t };\n\n\t this._modals.push(modal);\n\n\t _ref\n\t .backdropClick()\n\t .subscribe(() =>\n\t config.onBackdropClicked\n\t ? config.onBackdropClicked()\n\t : this.close(modal),\n\t );\n\t return modal;\n }\n\n close(modal: DaffModal): void {\n\t modal.modal.instance.open = false;\n\t modal.overlay.detachBackdrop();\n\t modal.modal.instance.closedAnimationCompleted.subscribe(\n\t (e: AnimationEvent) => this._removeModal(modal),\n\t );\n }\n}\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\n/**\n * A mixin for giving a component the ability to manage a DaffContainerComponent's layout.\n * It passes predetermined layout styles down to the container. In order for a component to\n * do this, it must implement this mixin.\n */\nexport function\ndaffManageContainerLayoutMixin<T extends Constructor<HasElementRef>>(Base: T) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n this._renderer.addClass(this._elementRef.nativeElement, `daff-manage-container-layout`);\n }\n };\n}\n","import {\n Component,\n Input,\n ElementRef,\n HostBinding,\n Renderer2,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\nimport {\n DaffColorable,\n daffColorMixin,\n} from '../../core/colorable/public_api';\nimport { daffManageContainerLayoutMixin } from '../../core/manage-container-layout/public_api';\n\n/**\n * An _elementRef is needed for the Colorable mixin\n */\nclass DaffNavbarBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffNavbarBase = daffManageContainerLayoutMixin(daffColorMixin(DaffNavbarBase));\n\n/**\n * @inheritdoc\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'nav[daff-navbar]',\n styleUrls: ['./navbar.component.scss'],\n template: '<ng-content></ng-content>',\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffNavbarComponent extends _daffNavbarBase implements DaffColorable {\n\n @Input() raised = false;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-navbar--raised') get raisedClass() {\n return this.raised;\n };\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-navbar') hostClass = true;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffNavbarComponent } from './navbar.component';\n\n@NgModule({\n declarations: [\n DaffNavbarComponent,\n ],\n exports: [\n DaffNavbarComponent,\n ],\n})\nexport class DaffNavbarModule { }\n","export const DaffPaginatorNumberOfPagesErrorMessage = 'The numberOfPages in the daff-paginator must not be less than 1';\nexport const DaffPaginatorPageOutOfRangeErrorMessage = 'The numberOfPages in the daff-paginator should not be less than the currentPage';\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n HostBinding,\n ElementRef,\n OnChanges,\n ChangeDetectionStrategy,\n Renderer2,\n OnInit,\n} from '@angular/core';\nimport {\n faChevronRight,\n faChevronLeft,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport {\n daffColorMixin,\n DaffPalette,\n DaffColorable,\n} from '../../core/colorable/public_api';\nimport {\n DaffPaginatorNumberOfPagesErrorMessage,\n DaffPaginatorPageOutOfRangeErrorMessage,\n} from './paginator-errors';\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the Colorable mixin\n */\nclass DaffPaginatorBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffPaginatorBase = daffColorMixin(DaffPaginatorBase);\n\nconst visiblePageRange = 2;\n\n/**\n * @inheritdoc\n */\n@Component({\n selector: 'daff-paginator',\n styleUrls: ['./paginator.component.scss'],\n templateUrl: './paginator.component.html',\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffPaginatorComponent extends _daffPaginatorBase implements OnChanges, DaffColorable {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-paginator') class = true;\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'navigation';\n\n /**\n * @docs-private\n */\n faChevronRight = faChevronRight;\n /**\n * @docs-private\n */\n faChevronLeft = faChevronLeft;\n\n /**\n * @docs-private\n */\n _paginatorId: string;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n\t super(elementRef, renderer);\n\t const ariaLabel = elementRef.nativeElement.attributes['aria-label'];\n\t this._paginatorId = ariaLabel ? ariaLabel.nodeValue : null;\n }\n\n /**\n * The total number of pages the paginator tracks. This number can change dynamically, but the end user is responsible for keeping numberOfPages\n * and currentPage in sync. For example, if the numberOfPages is dynamically changed to a value less than the currentPage, the paginator will break.\n */\n @Input() numberOfPages: number;\n\n /**\n * The currently selected page.\n */\n @Input() currentPage: number;\n\n /**\n * @docs-private\n */\n _numberOfPagesArray: number[];\n\n /**\n * Emits when the current page changes with the new current page.\n */\n @Output() notifyPageChange: EventEmitter<any> = new EventEmitter();\n\n /**\n * @docs-private\n */\n ngOnChanges() {\n if(this.numberOfPages < 1) {\n throw new Error(DaffPaginatorNumberOfPagesErrorMessage);\n } else if(this.numberOfPages < this.currentPage) {\n throw new Error(DaffPaginatorPageOutOfRangeErrorMessage);\n }\n\n this._numberOfPagesArray = this.numberOfPages < 2 ? [] : Array(this.numberOfPages-2).fill(this.numberOfPages-2).map((x,i)=>i+2);\n }\n\n /**\n * Emits the previous page number through notifyPageChange Output.\n *\n * @docs-private\n */\n _onNotifyPrevPageChange() {\n this.notifyPageChange.emit(this.currentPage - 1);\n }\n\n /**\n * Emits the next page number through notifyPageChange Output.\n *\n * @docs-private\n */\n _onNotifyNextPageChange() {\n this.notifyPageChange.emit(this.currentPage + 1);\n }\n\n /**\n * Emits a pageNumber to notifyPageChange Output.\n *\n * @docs-private\n * @param pageNumber a page number\n */\n _onNotifyPageChange(pageNumber: number) {\n this.notifyPageChange.emit(pageNumber);\n }\n\n /**\n * A simple function that determines if the given page number is the current page number.\n *\n * @docs-private\n * @param page a page number\n */\n _isSelected(page: number): boolean {\n return page === this.currentPage;\n }\n\n /**\n * Determines when ellipsis after the first page number should show.\n *\n * @docs-private\n */\n _showFirstEllipsis(): boolean {\n return this.currentPage >= visiblePageRange+2;\n }\n\n /**\n * Determines when ellipsis before the final page number should show.\n *\n * @docs-private\n */\n _showLastEllipsis(): boolean {\n return this.currentPage < (this.numberOfPages - visiblePageRange);\n }\n\n /**\n * Determines if the given page number should be shown. The two additional 'or' conditionals are needed\n * so the paginator retains the same total width at the extreme page numbers (1 and numberOfPages).\n *\n * @docs-private\n * @param pageNumber page number to check.\n */\n _showNumber(pageNumber: number): boolean {\n return Math.abs(this.currentPage - pageNumber) < visiblePageRange\n || (this.currentPage <= visiblePageRange && pageNumber <= 2*visiblePageRange)\n || (this.currentPage > this.numberOfPages - visiblePageRange && pageNumber > this.numberOfPages - 2*visiblePageRange);\n }\n\n /**\n * Determines when the Previous button should be disabled.\n *\n * @docs-private\n */\n _disablePrev(): boolean {\n return this.currentPage === 1;\n }\n\n /**\n * Determines when the Next button should be disabled.\n *\n * @docs-private\n */\n _disableNext(): boolean {\n return this.currentPage === this.numberOfPages;\n }\n}\n","<button type=\"button\" class=\"daff-paginator__previous\"\n [disabled]=\"_disablePrev()\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Previous Page of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPrevPageChange()\">\n <fa-icon [icon]=\"faChevronLeft\"></fa-icon> Previous\n</button>\n\n<button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(1)\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page 1 of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPageChange(1)\">\n 1\n</button>\n\n<span class=\"daff-paginator__ellipsis\" *ngIf=\"_showFirstEllipsis()\">...</span>\n\n<ng-container *ngFor=\"let pageNumber of _numberOfPagesArray\">\n <button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(pageNumber)\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page {{pageNumber}} of {{_paginatorId}} Paginator\"\n aria-current=\"_isSelected(pageNumber)\"\n *ngIf=\"_showNumber(pageNumber)\"\n (click)=\"_onNotifyPageChange(pageNumber)\">\n {{ pageNumber }}\n </button>\n</ng-container>\n\n<span class=\"daff-paginator__ellipsis\" *ngIf=\"_showLastEllipsis()\">...</span>\n\n<button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(numberOfPages)\"\n tabindex=\"0\"\n attr.aria-label=\"Go To Page {{numberOfPages}} of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPageChange(numberOfPages)\"\n *ngIf=\"!(numberOfPages < 2)\">\n {{ numberOfPages }}\n</button>\n\n<button class=\"daff-paginator__next\"\n [disabled]=\"_disableNext()\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Next Page of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyNextPageChange()\">\n Next <fa-icon [icon]=\"faChevronRight\"></fa-icon>\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffButtonModule } from '../../atoms/button/public_api';\nimport { DaffPaginatorComponent } from './paginator.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FontAwesomeModule,\n DaffButtonModule,\n ],\n declarations: [\n DaffPaginatorComponent,\n ],\n exports: [\n DaffPaginatorComponent,\n ],\n})\nexport class DaffPaginatorModule {}\n","import {\n Component,\n OnInit,\n Input,\n Renderer2,\n Output,\n EventEmitter,\n} from '@angular/core';\n\n/**\n * @deprecated See {@link DaffQuantityFieldComponent}\n */\n// ChangeDetection is ignored because this component is deprecated and will be removed\n// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n@Component({\n selector: 'daff-qty-dropdown',\n styleUrls: ['./qty-dropdown.component.scss'],\n templateUrl: './qty-dropdown.component.html',\n})\nexport class DaffQtyDropdownComponent implements OnInit {\n\n private readonly dropdownRange = 9;\n\n @Input() qty: number;\n @Input() id: number | string;\n @Output() qtyChanged: EventEmitter<number> = new EventEmitter<number>();\n\n /**\n * @docs-private\n */\n dropdownItemCounter: number[];\n /**\n * @docs-private\n */\n inputHasBeenShown: boolean;\n /**\n * @docs-private\n */\n onChange = (qty: number) => {};\n /**\n * @docs-private\n */\n onTouched = () => {};\n\n constructor(private renderer: Renderer2) { }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.dropdownItemCounter = Array.from(Array(this.dropdownRange),(x,i)=>i);\n\n if (!this.qty) {\n this.qty = 1;\n }\n }\n\n /**\n * @docs-private\n */\n writeValue(qty: number): void {\n this.qty = qty;\n this.onChange(this.qty);\n }\n\n /**\n * @docs-private\n */\n registerOnChange(fn: (qty: number) => void): void {\n this.onChange = fn;\n }\n\n /**\n * @docs-private\n */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /**\n * @docs-private\n */\n setDisabledState(isDisabled: boolean): void {\n if (this.inputHasBeenShown) {\n this.renderer.setProperty(document.getElementById('input_' + this.id), 'disabled', isDisabled);\n } else {\n this.renderer.setProperty(document.getElementById('select_' + this.id), 'disabled', isDisabled);\n }\n }\n\n /**\n * @docs-private\n */\n get showQtyInputField(): boolean {\n if (!this.isQtyOutsideDropdownRange() && !this.inputHasBeenShown) {\n return false;\n } else {\n this.inputHasBeenShown = true;\n return true;\n }\n }\n\n /**\n * @docs-private\n */\n onChangedWrapper(value: any) {\n value = parseInt(value, 10);\n if (value === 10) {\n this.selectInput();\n }\n this.qtyChanged.emit(value);\n this.onChange(value);\n }\n\n private isQtyOutsideDropdownRange() {\n return this.qty > this.dropdownRange;\n }\n\n private selectInput() {\n // TODO: readdress this method\n // why are we binding `this`?\n // why use `setTimeout` instead of angular patterns?\n const that = this;\n setTimeout(() => {\n const input = <HTMLInputElement>document.getElementById('input_' + that.id);\n input?.select();\n });\n }\n}\n","<daff-form-field class=\"daff-qty-dropdown\">\n <select daff-native-select *ngIf=\"!showQtyInputField\" id=\"select_{{id}}\" [(ngModel)]=\"qty\" (ngModelChange)=\"onChangedWrapper(qty)\" (blur)=\"onTouched()\">\n <option *ngFor=\"let item of dropdownItemCounter\" [value]=\"item+1\">{{ item+1 }}</option>\n <option value=\"10\">10+</option>\n </select>\n <input daff-input id=\"input_{{id}}\" class=\"daff-qty-dropdown__input\" [(ngModel)]=\"qty\" (ngModelChange)=\"onChangedWrapper(qty)\" (blur)=\"onTouched()\" *ngIf=\"showQtyInputField\">\n</daff-form-field>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { DaffFormFieldModule } from '../../atoms/form/form-field/form-field.module';\nimport { DaffInputModule } from '../../atoms/form/input/input.module';\nimport { DaffNativeSelectModule } from '../../atoms/form/native-select/public_api';\nimport { DaffQtyDropdownComponent } from './qty-dropdown.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n DaffFormFieldModule,\n DaffNativeSelectModule,\n DaffInputModule,\n ],\n declarations: [\n DaffQtyDropdownComponent,\n ],\n exports: [\n DaffQtyDropdownComponent,\n ],\n})\nexport class DaffQtyDropdownModule { }\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nconst duration = '200ms';\nconst sidebarAnimateInTransition = 'cubic-bezier(0.0, 0.0, 0.2, 1)';\nconst sidebarAnimateOutTransition = 'cubic-bezier(0.4, 0.0, 1, 1)';\n\nexport const daffSidebarAnimations: {\n readonly transformSidebar: AnimationTriggerMetadata;\n readonly transformContent: AnimationTriggerMetadata;\n readonly backdropTrigger: AnimationTriggerMetadata;\n} = {\n transformSidebar: trigger('transformSidebar', [\n // We remove the `transform` here completely, rather than setting it to zero, because:\n // 1. 3d transforms causes text to appear blurry on IE and Edge.\n state('open', style({\n transform: 'none',\n })),\n state('closed', style({\n transform: 'translateX({{width}})',\n }), { params: { width: '-240px' }}),\n transition('open => closed', animate(duration + ' ' + sidebarAnimateOutTransition)),\n transition('closed => open', animate(duration + ' ' + sidebarAnimateInTransition)),\n ]),\n transformContent: trigger('transformContent', [\n // We remove the `transform` here completely, rather than setting it to zero, because:\n // 1. 3d transforms causes text to appear blurry on IE and Edge.\n state('closed', style({\n transform: 'none',\n })),\n state('open', style({\n transform: 'translateX({{shift}})',\n }), { params: { shift: '-240px' }}),\n transition('open => closed', animate(duration + ' ' + sidebarAnimateInTransition)),\n transition('closed => open', animate(duration + ' ' + sidebarAnimateOutTransition)),\n ]),\n backdropTrigger: trigger('backdropTrigger', [\n state('open', style({\n opacity: 1,\n })),\n state('closed', style({\n opacity: 0,\n })),\n transition('open => closed', animate(duration + ' ' + sidebarAnimateOutTransition)),\n transition('closed => open', animate(duration + ' ' + sidebarAnimateInTransition)),\n ]),\n};\n\nexport enum DaffSidebarAnimationStates {\n OPEN = 'open',\n CLOSED = 'closed',\n NONE = 'none'\n}\n","export type DaffSidebarAnimationState = 'open' | 'closed' | 'none';\n\nexport const getAnimationState = (open: boolean, enabled: boolean = true): DaffSidebarAnimationState => {\n if(!enabled){\n return 'none';\n }\n if(open && enabled){\n return 'open';\n } else {\n return 'closed';\n }\n};\n","import { DaffSidebarSide } from '../helper/sidebar-side';\n\nexport const getSidebarAnimationWidth =\n (side: DaffSidebarSide, width: number): string => side === 'left' ? -1 * width + 'px' : width + 'px';\n","import {\n Component,\n ViewEncapsulation,\n NgZone,\n ElementRef,\n Output,\n EventEmitter,\n HostBinding,\n ChangeDetectionStrategy,\n Input,\n} from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { daffSidebarAnimations } from '../animation/sidebar-animation';\nimport { getAnimationState } from '../animation/sidebar-animation-state';\nimport { getSidebarAnimationWidth } from '../animation/sidebar-animation-width';\nimport { DaffSidebarMode } from '../helper/sidebar-mode';\nimport { DaffSidebarSide } from '../helper/sidebar-side';\n\n/**\n * DaffSidebarComponent is heavily based upon the work done by the @angular/components\n * team on `mat-drawer` and `mat-sidenav`. `daff-sidebar` is intended to be\n * a simplified version (with a different design) of `mat-drawer`.\n */\n@Component({\n selector: 'daff-sidebar',\n styleUrls: ['./sidebar.component.scss'],\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n daffSidebarAnimations.transformSidebar,\n ],\n})\nexport class DaffSidebarComponent {\n /**\n * The CSS classes set.\n */\n @HostBinding('class') get classes() {\n return {\n 'daff-sidebar': true,\n [this.side]: true,\n [this.mode]: true,\n };\n };\n\n /**\n * The animation state of the sidebar.\n */\n @HostBinding('@transformSidebar') get transformSidebar() {\n return {\n value: getAnimationState(this.open, this.mode === 'over' || this.mode === 'side-fixed'),\n params: { width: getSidebarAnimationWidth(this.side, this.width) },\n };\n }\n\n /**\n * Event fired when `ESC` key is pressed when the sidebar has focus\n */\n @Output() escapePressed: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * What side of the viewport to show the sidebar on.\n */\n @Input() side: DaffSidebarSide = 'left';\n\n /**\n * The mode of the sidebar.\n */\n @Input() mode: DaffSidebarMode = 'side';\n\n /**\n * Whether or not the sidebar is open.\n */\n @Input() open = false;\n\n /**\n * The width of the sidebar.\n */\n get width() {\n return this._elementRef.nativeElement.offsetWidth;\n }\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone,\n ) {\n\n /**\n * Listen to `keydown` events outside the zone so that change detection is not run every\n * time a key is pressed. Instead we re-enter the zone only if the `ESC` key is pressed.\n *\n */\n this._ngZone.runOutsideAngular(() => {\n fromEvent<KeyboardEvent>(this._elementRef.nativeElement, 'keydown').pipe(\n filter(event => event.key === 'Escape'),\n ).subscribe(event => this._ngZone.run(() => {\n this.escapePressed.emit();\n event.stopPropagation();\n }));\n });\n }\n}\n","import { QueryList } from '@angular/core';\n\nimport { DaffSidebarComponent } from '../sidebar/sidebar.component';\n\n/**\n * Determines, given a list of sidebars, whether or not the backdrop is interactable (typically clickable).\n */\nexport const sidebarViewportBackdropInteractable = (sidebars: QueryList<DaffSidebarComponent>): boolean => sidebars.reduce(\n (acc: boolean, sidebar) => ((sidebar.mode === 'over' || sidebar.mode === 'under') && sidebar.open) || acc,\n false);\n","import { QueryList } from '@angular/core';\n\nimport { DaffSidebarModeEnum } from '../helper/sidebar-mode';\nimport { DaffSidebarSide } from '../helper/sidebar-side';\nimport { DaffSidebarComponent } from '../sidebar/sidebar.component';\n\n\n/**\n * Given a list of sidebars, compute the associated content shift.\n */\nexport const sidebarViewportContentPadding = (sidebars: QueryList<DaffSidebarComponent>, side: DaffSidebarSide): number =>\n sidebars.reduce((acc: number, sidebar) => {\n if(!(sidebar.mode === DaffSidebarModeEnum.SideFixed && sidebar.open)) {\n return acc;\n }\n\n if(sidebar.side === side){\n return sidebar.width;\n } else {\n // This component is \"stateless\", its possible to have two open \"under\" sidebars.\n // As such, we defer to \"left\" being open by default.\n return acc;\n }\n }, 0);\n","import { QueryList } from '@angular/core';\n\nimport { DaffSidebarMode } from '../helper/sidebar-mode';\nimport { DaffSidebarComponent } from '../sidebar/sidebar.component';\n\nexport const isViewportContentShifted = (mode: DaffSidebarMode, open: boolean): boolean => (mode === 'under' && open);\n\n/**\n * Given a list of sidebars, compute the associated content shift.\n */\nexport const sidebarViewportContentShift = (sidebars: QueryList<DaffSidebarComponent>): number =>\n sidebars.reduce((acc: number, sidebar) => {\n if(!isViewportContentShifted(sidebar.mode, sidebar.open)) {\n return acc;\n }\n\n if(sidebar.side === 'left'){\n return sidebar.width;\n } else if (sidebar.side === 'right' && acc === 0) {\n return -1 * sidebar.width;\n } else {\n // This component is \"stateless\", its possible to have two open \"under\" sidebars.\n // As such, we defer to \"left\" being open by default.\n return acc;\n }\n }, 0);\n\n\n","import {\n Component,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ContentChildren,\n QueryList,\n AfterContentChecked,\n} from '@angular/core';\n\nimport { daffSidebarAnimations } from '../animation/sidebar-animation';\nimport { getAnimationState } from '../animation/sidebar-animation-state';\nimport { DaffSidebarViewportAnimationState } from '../animation/sidebar-viewport-animation-state';\nimport { DaffSidebarMode } from '../helper/sidebar-mode';\nimport { DaffSidebarComponent } from '../sidebar/sidebar.component';\nimport { sidebarViewportBackdropInteractable } from './backdrop-interactable';\nimport { sidebarViewportContentPadding } from './content-pad';\nimport {\n isViewportContentShifted,\n sidebarViewportContentShift,\n} from './content-shift';\n\n/**\n * The DaffSidebarViewport is the \"holder\" of sidebars throughout an entire application.\n * It's generally only used once, like\n *\n * ```html\n * <daff-sidebar-viewport>\n * <daff-sidebar></daff-sidebar>\n * <p>Some Content</p>\n * </daff-sidebar-viewport>\n * ```\n *\n * Importantly, its possible for there to be multiple sidebars of many modes\n * at the same time. @see {@link DaffSidebarMode }\n *\n * Since this is a functional component, it's possible to have multiple \"open\" sidebars\n * within at the same time. As a result, this component attempts to\n * gracefully handle these situations. However, importantly, this sidebar\n * has a constraint, there's only allowed to be one sidebar,\n * of each mode, on each side, at any given time. If this is violated,\n * this component will throw an exception.\n */\n@Component({\n selector: 'daff-sidebar-viewport',\n templateUrl: './sidebar-viewport.component.html',\n styleUrls: ['./sidebar-viewport.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n daffSidebarAnimations.transformContent,\n ],\n})\nexport class DaffSidebarViewportComponent implements AfterContentChecked {\n\n constructor(private cdRef: ChangeDetectorRef) { }\n\n /**\n * The list of sidebars in the viewport.\n *\n * @docs-private\n */\n @ContentChildren(DaffSidebarComponent, { descendants: false }) private sidebars: QueryList<DaffSidebarComponent>;\n\n /**\n * The number of pixels that the main content of the page should be shifted to\n * right when there are child sidebars.\n */\n private _shift = '0px';\n\n /**\n * The left padding on the content when left side-fixed sidebars are open.\n */\n public _contentPadLeft = 0;\n\n /**\n * The right padding on the content when right side-fixed sidebars are open.\n */\n public _contentPadRight = 0;\n\n /**\n * Whether or not the backdrop is interactable\n */\n _backdropInteractable = false;\n\n /**\n * The animation state\n */\n _animationState: DaffSidebarViewportAnimationState = { value: 'closed', params: { shift: '0px' }};\n\n /**\n * Event fired when the backdrop is clicked\n * This is often used to close the sidebar\n */\n @Output() backdropClicked: EventEmitter<void> = new EventEmitter<void>();\n\n ngAfterContentChecked() {\n const nextShift = sidebarViewportContentShift(this.sidebars) + 'px';\n if (this._shift !== nextShift) {\n this._shift = nextShift;\n this.updateAnimationState();\n this.cdRef.markForCheck();\n }\n\n const nextBackdropInteractable = sidebarViewportBackdropInteractable(this.sidebars);\n if (this._backdropInteractable !== nextBackdropInteractable) {\n this._backdropInteractable = nextBackdropInteractable;\n this.updateAnimationState();\n this.cdRef.markForCheck();\n };\n\n const nextLeftPadding = sidebarViewportContentPadding(this.sidebars, 'left');\n if(this._contentPadLeft !== nextLeftPadding) {\n this._contentPadLeft = nextLeftPadding;\n this.updateAnimationState();\n this.cdRef.markForCheck();\n }\n\n const nextRightPadding = sidebarViewportContentPadding(this.sidebars, 'right');\n if(this._contentPadRight !== nextRightPadding) {\n this._contentPadRight = nextRightPadding;\n this.updateAnimationState();\n this.cdRef.markForCheck();\n }\n }\n\n /**\n * @docs-private\n *\n * Updates the animation state of the viewport depending upon the state\n * of all sidebars within the viewport.\n */\n private updateAnimationState() {\n this._animationState = {\n value: getAnimationState(\n this.sidebars.reduce((acc: boolean, sidebar) => acc || isViewportContentShifted(sidebar.mode, sidebar.open), false),\n ),\n params: { shift: this._shift },\n };\n }\n\n /**\n * @docs-private\n * The called when the backdrop of the viewport is clicked upon.\n */\n _backdropClicked(): void {\n this.backdropClicked.emit();\n }\n}\n","<ng-content select=\"daff-sidebar:not([side=right])\"></ng-content>\n\n<daff-backdrop\n [@transformContent]=\"_animationState\"\n class=\"daff-sidebar-viewport__backdrop\"\n [interactable]=\"_backdropInteractable\"\n (backdropClicked)=\"_backdropClicked()\"></daff-backdrop>\n\n<div class=\"daff-sidebar-viewport__content\" [@transformContent]=\"_animationState\">\n <div class=\"daff-sidebar-viewport__nav\"><ng-content select=\"[daff-sidebar-viewport-nav]\"></ng-content></div>\n <div class=\"daff-sidebar-viewport__inner\" [style.padding-left.px]=\"_contentPadLeft\" [style.padding-right.px]=\"_contentPadRight\">\n <ng-content></ng-content>\n </div>\n</div>\n\n<ng-content select=\"daff-sidebar[side=right]\"></ng-content>","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffBackdropModule } from '../backdrop/backdrop.module';\nimport { DaffSidebarViewportComponent } from './sidebar-viewport/sidebar-viewport.component';\nimport { DaffSidebarComponent } from './sidebar/sidebar.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n DaffBackdropModule,\n A11yModule,\n ],\n declarations: [\n DaffSidebarComponent,\n DaffSidebarViewportComponent,\n ],\n exports: [\n DaffSidebarComponent,\n DaffSidebarViewportComponent,\n ],\n})\nexport class DaffSidebarModule { }\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffHeroBody]',\n})\n\nexport class DaffHeroBodyDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-hero__body') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffHeroIcon]',\n})\n\nexport class DaffHeroIconDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-hero__icon') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffHeroSubtitle]',\n})\n\nexport class DaffHeroSubtitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-hero__subtitle') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffHeroTagline]',\n})\n\nexport class DaffHeroTaglineDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-hero__tagline') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffHeroTitle]',\n})\n\nexport class DaffHeroTitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-hero__title') class = true;\n}\n","import {\n ElementRef,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\n\nexport interface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffCompactableMixin<T extends Constructor<HasElementRef>>(Base: T, defaultCompact: boolean = false) {\n return class extends Base {\n // TODO move this back to private in Typescript 3.1\n _compact: boolean;\n\n get compact(): boolean {\n return this._compact;\n }\n\n set compact(value: boolean) {\n // Handles the default compact\n const incomingCompact = value || defaultCompact;\n\n if (incomingCompact === this._compact) { // Only run the dom-render if a change occurs\n return;\n }\n\n if (incomingCompact) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-compact`);\n } else {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-compact`);\n }\n\n this._compact = incomingCompact;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.compact = defaultCompact;\n }\n };\n}\n","import {\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\nimport { Constructor } from '../constructor/constructor';\nimport { DaffTextAlignment } from './text-alignable';\n\ninterface HasElementRef {\n _elementRef: ElementRef;\n _renderer: Renderer2;\n}\n\nexport function\ndaffTextAlignmentMixin<T extends Constructor<HasElementRef>>(Base: T, defaultTextAlignment?: DaffTextAlignment) {\n class DaffTextAlignableMixin extends Base {\n // TODO move this back to private in Typescript 3.1\n _textAlignment: DaffTextAlignment;\n\n /**\n * Controls text alignment for component-specific UI\n */\n get textAlignment(): DaffTextAlignment {\n return this._textAlignment;\n }\n set textAlignment(value: DaffTextAlignment) {\n // Handles the default text alignment\n const incomingTextAlignment = value || defaultTextAlignment;\n\n if (incomingTextAlignment === this._textAlignment) { // Only run the dom-render if a change occurs\n return;\n }\n\n // Removes the old text alignment\n if (this._textAlignment) {\n this._renderer.removeClass(this._elementRef.nativeElement, `daff-${this._textAlignment}`);\n }\n\n if (incomingTextAlignment) {\n this._renderer.addClass(this._elementRef.nativeElement, `daff-${incomingTextAlignment}`);\n }\n\n this._textAlignment = incomingTextAlignment;\n }\n\n constructor(...args: any[]) {\n super(...args);\n this.textAlignment = defaultTextAlignment;\n }\n };\n\n // TODO: ugly workaround for https://github.com/microsoft/TypeScript/issues/7342#issuecomment-624298133\n Input()(DaffTextAlignableMixin.prototype, 'textAlignment');\n\n return DaffTextAlignableMixin;\n}\n","import {\n Component,\n ViewEncapsulation,\n Input,\n ElementRef,\n ChangeDetectionStrategy,\n HostBinding,\n Renderer2,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../../core/article-encapsulated/public_api';\nimport {\n daffColorMixin,\n DaffColorable,\n} from '../../../core/colorable/public_api';\nimport {\n DaffCompactable,\n daffCompactableMixin,\n} from '../../../core/compactable/public_api';\nimport { daffManageContainerLayoutMixin } from '../../../core/manage-container-layout/public_api';\nimport { DaffTextAlignable } from '../../../core/text-alignable/text-alignable';\nimport { daffTextAlignmentMixin } from '../../../core/text-alignable/text-alignable-mixin';\n\n/**\n * @deprecated See {@link DaffTextAlignable}\n */\nexport type DaffHeroLayout = 'centered' | undefined;\nexport enum DaffHeroLayoutEnum {\n Centered = 'centered'\n}\n\n/**\n * @deprecated See {@link DaffCompactable}\n */\nexport type DaffHeroSize = 'compact' | 'small' | undefined;\nexport enum DaffHeroSizeEnum {\n Compact = 'compact',\n Small = 'small'\n}\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the hero mixins\n */\nclass DaffHeroBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffHeroBase = daffArticleEncapsulatedMixin(daffManageContainerLayoutMixin(daffColorMixin(daffCompactableMixin(daffTextAlignmentMixin(DaffHeroBase, 'left')))));\n\n/**\n * @inheritdoc\n */\n@Component({\n selector: 'daff-hero',\n template: '<ng-content></ng-content>',\n styleUrls: ['./hero.component.scss'],\n encapsulation: ViewEncapsulation.None,\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'compact', 'textAlignment'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffHeroComponent extends _daffHeroBase implements DaffColorable, DaffTextAlignable, DaffCompactable {\n\n /**\n * @deprecated See {@link DaffTextAlignable}\n */\n @Input() layout: DaffHeroLayout;\n\n /**\n * @deprecated See {@link DaffCompactable}\n */\n @Input() size: DaffHeroSize;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-hero') class = true;\n\n /**\n * @deprecated See {@link DaffTextAlignable}\n */\n @HostBinding('class.daff-hero--centered') get centered() {\n\t return this.layout === DaffHeroLayoutEnum.Centered;\n }\n\n /**\n * @deprecated See {@link DaffCompactable}\n */\n @HostBinding('class.daff-hero--compact') get compactClass() {\n\t return this.size === DaffHeroSizeEnum.Compact || this.compact === true || this.size === DaffHeroSizeEnum.Small;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffHeroBodyDirective } from './hero-body/hero-body.directive';\nimport { DaffHeroIconDirective } from './hero-icon/hero-icon.directive';\nimport { DaffHeroSubtitleDirective } from './hero-subtitle/hero-subtitle.directive';\nimport { DaffHeroTaglineDirective } from './hero-tagline/hero-tagline.directive';\nimport { DaffHeroTitleDirective } from './hero-title/hero-title.directive';\nimport { DaffHeroComponent } from './hero/hero.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffHeroComponent,\n DaffHeroIconDirective,\n DaffHeroTaglineDirective,\n DaffHeroTitleDirective,\n DaffHeroSubtitleDirective,\n DaffHeroBodyDirective,\n ],\n exports: [\n DaffHeroComponent,\n DaffHeroIconDirective,\n DaffHeroTaglineDirective,\n DaffHeroTitleDirective,\n DaffHeroSubtitleDirective,\n DaffHeroBodyDirective,\n ],\n})\nexport class DaffHeroModule { }\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCalloutBody]',\n})\n\nexport class DaffCalloutBodyDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-callout__body') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCalloutIcon]',\n})\n\nexport class DaffCalloutIconDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-callout__icon') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCalloutSubtitle]',\n})\n\nexport class DaffCalloutSubtitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-callout__subtitle') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCalloutTagline]',\n})\n\nexport class DaffCalloutTaglineDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-callout__tagline') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCalloutTitle]',\n})\n\nexport class DaffCalloutTitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-callout__title') class = true;\n}\n","import {\n Component,\n ViewEncapsulation,\n Input,\n ElementRef,\n ChangeDetectionStrategy,\n HostBinding,\n Renderer2,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../../core/article-encapsulated/public_api';\nimport {\n DaffColorable,\n daffColorMixin,\n} from '../../../core/colorable/public_api';\nimport {\n DaffCompactable,\n daffCompactableMixin,\n} from '../../../core/compactable/public_api';\nimport { daffManageContainerLayoutMixin } from '../../../core/manage-container-layout/public_api';\nimport { DaffTextAlignable } from '../../../core/text-alignable/text-alignable';\nimport { daffTextAlignmentMixin } from '../../../core/text-alignable/text-alignable-mixin';\n\n/**\n * @deprecated See {@link DaffTextAlignable}\n */\nexport type DaffCalloutLayout = 'centered' | undefined;\nexport enum DaffCalloutLayoutEnum {\n Centered = 'centered'\n}\n\n/**\n * @deprecated See {@link DaffCompactable}\n */\nexport type DaffCalloutSize = 'compact' | undefined;\nexport enum DaffCalloutSizeEnum {\n Compact = 'compact'\n}\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the Colorable mixin\n */\nclass DaffCalloutBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffCalloutBase = daffArticleEncapsulatedMixin(daffManageContainerLayoutMixin(daffColorMixin(daffCompactableMixin(daffTextAlignmentMixin(DaffCalloutBase, 'left')))));\n\n/**\n * @inheritdoc\n */\n@Component({\n selector: 'daff-callout',\n template: '<ng-content></ng-content>',\n styleUrls: ['./callout.component.scss'],\n encapsulation: ViewEncapsulation.None,\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'compact', 'textAlignment'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffCalloutComponent extends _daffCalloutBase implements DaffColorable, DaffTextAlignable, DaffCompactable {\n /**\n * @deprecated See {@link DaffTextAlignable}\n */\n @Input() layout: DaffCalloutLayout;\n\n /**\n * @deprecated See {@link DaffCompactable}\n */\n @Input() size: DaffCalloutSize;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-callout') class = true;\n\n /**\n * @deprecated See {@link DaffTextAlignable}\n */\n @HostBinding('class.daff-callout--centered') get centered() {\n\t return this.layout === DaffCalloutLayoutEnum.Centered;\n }\n\n /**\n * @deprecated See {@link DaffCompactable}\n */\n @HostBinding('class.daff-callout--compact') get compactClass() {\n\t return this.size === DaffCalloutSizeEnum.Compact;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffCalloutBodyDirective } from './callout-body/callout-body.directive';\nimport { DaffCalloutIconDirective } from './callout-icon/callout-icon.directive';\nimport { DaffCalloutSubtitleDirective } from './callout-subtitle/callout-subtitle.directive';\nimport { DaffCalloutTaglineDirective } from './callout-tagline/callout-tagline.directive';\nimport { DaffCalloutTitleDirective } from './callout-title/callout-title.directive';\nimport { DaffCalloutComponent } from './callout/callout.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffCalloutComponent,\n DaffCalloutIconDirective,\n DaffCalloutTitleDirective,\n DaffCalloutSubtitleDirective,\n DaffCalloutTaglineDirective,\n DaffCalloutBodyDirective,\n ],\n exports: [\n DaffCalloutComponent,\n DaffCalloutIconDirective,\n DaffCalloutSubtitleDirective,\n DaffCalloutTitleDirective,\n DaffCalloutTaglineDirective,\n DaffCalloutBodyDirective,\n ],\n})\n\nexport class DaffCalloutModule { }\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive ({\n selector: '[daffFeatureIcon]',\n})\nexport class DaffFeatureIconDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature__icon') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffFeatureSubheader]',\n})\nexport class DaffFeatureSubheaderDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature__subheader') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffFeatureSubtitle]',\n})\nexport class DaffFeatureSubtitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature__subtitle') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffFeatureTitle]',\n})\nexport class DaffFeatureTitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature__title') class = true;\n}\n","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n HostBinding,\n} from '@angular/core';\n\nexport type DaffFeatureMode = 'compact' | 'normal' | undefined;\nexport enum DaffFeatureModeEnum {\n Compact = 'compact',\n Normal = 'normal'\n}\n\n/**\n * @deprecated See {@link DaffCardComponent}\n */\n@Component({\n selector: 'daff-feature',\n templateUrl: './feature.component.html',\n styleUrls: ['./feature.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DaffFeatureComponent {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature') class = true;\n\n @Input() mode: DaffFeatureMode = DaffFeatureModeEnum.Normal;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature--compact') get compact() {\n return this.mode === DaffFeatureModeEnum.Compact;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-feature--normal') get normal() {\n return this.mode === DaffFeatureModeEnum.Normal;\n }\n}\n","<ng-content select=\"[daffFeatureIcon]\"></ng-content>\n<div class=\"daff-feature__content\">\n <ng-content select=\"[daffFeatureSubheader]\"></ng-content>\n <ng-content select=\"[daffFeatureTitle]\"></ng-content>\n <ng-content select=\"[daffFeatureSubtitle]\"></ng-content>\n <ng-content></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffFeatureIconDirective } from './feature-icon/feature-icon.directive';\nimport { DaffFeatureSubheaderDirective } from './feature-subheader/feature-subheader.directive';\nimport { DaffFeatureSubtitleDirective } from './feature-subtitle/feature-subtitle.directive';\nimport { DaffFeatureTitleDirective } from './feature-title/feature-title.directive';\nimport { DaffFeatureComponent } from './feature/feature.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffFeatureComponent,\n DaffFeatureTitleDirective,\n DaffFeatureSubtitleDirective,\n DaffFeatureIconDirective,\n DaffFeatureSubheaderDirective,\n ],\n exports: [\n DaffFeatureComponent,\n DaffFeatureTitleDirective,\n DaffFeatureSubtitleDirective,\n DaffFeatureIconDirective,\n DaffFeatureSubheaderDirective,\n ],\n})\nexport class DaffFeatureModule { }\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCardActions]',\n})\nexport class DaffCardActionsDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card__actions') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCardContent]',\n})\nexport class DaffCardContentDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card__content') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCardIcon]',\n})\nexport class DaffCardIconDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card__icon') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCardImage]',\n})\nexport class DaffCardImageDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card__image') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCardTagline]',\n})\nexport class DaffCardTaglineDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card__tagline') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffCardTitle]',\n})\nexport class DaffCardTitleDirective {\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card__title') class = true;\n}\n","import {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n HostBinding,\n ElementRef,\n Renderer2,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { daffArticleEncapsulatedMixin } from '../../../core/article-encapsulated/public_api';\nimport {\n DaffColorable,\n daffColorMixin,\n} from '../../../core/colorable/public_api';\n\nexport type DaffCardType = null | 'daff-raised-card' | 'daff-stroked-card';\n\nenum DaffCardTypeEnum {\n Raised = 'daff-raised-card',\n Stroked = 'daff-stroked-card'\n}\n\n/**\n * This attribute determines what orientation the the card contents are stacked.\n */\nexport type DaffCardOrientation = 'vertical' | 'horizontal';\nexport enum DaffCardOrientationEnum {\n Vertical = 'vertical',\n Horizontal = 'horizontal',\n}\n\n/**\n * An _elementRef and an instance of renderer2 are needed for the Colorable mixin\n */\nclass DaffCardBase {\n constructor(public _elementRef: ElementRef, public _renderer: Renderer2) {}\n}\n\nconst _daffCardBase = daffArticleEncapsulatedMixin(daffColorMixin(DaffCardBase));\n\n/**\n * @inheritdoc\n */\n@Component({\n selector:\n 'daff-card' + ',' +\n 'daff-raised-card' + ',' +\n 'daff-stroked-card' + ',' +\n 'a[daff-card]' + ',' +\n 'a[daff-raised-card]' + ',' +\n 'a[daff-stroked-card]',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n encapsulation: ViewEncapsulation.None,\n //todo(damienwebdev): remove once decorators hit stage 3 - https://github.com/microsoft/TypeScript/issues/7342\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class DaffCardComponent extends _daffCardBase implements OnInit, DaffColorable {\n private _orientation: DaffCardOrientation = DaffCardOrientationEnum.Vertical;\n\n @Input()\n get orientation() {\n return this._orientation;\n }\n\n set orientation(value: DaffCardOrientation) {\n if(value === null || value === undefined || <unknown>value === '') {\n this._orientation = DaffCardOrientationEnum.Vertical;\n } else {\n this._orientation = value;\n }\n };\n\n /**\n * @docs-private\n */\n private cardType: DaffCardType;\n\n private initCardType(): DaffCardType {\n const values = Object.keys(DaffCardTypeEnum).map((k) => DaffCardTypeEnum[k]);\n\n if (values.indexOf(this._getHostElement().localName) >= 0) {\n return this._getHostElement().localName;\n }\n\n for (const attr of values) {\n if (this._hasHostAttributes(attr)) {\n return <DaffCardType>attr;\n }\n }\n\n return null;\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n super(elementRef, renderer);\n\n this.cardType = this.initCardType();\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n if (this.cardType) {\n (<HTMLElement>this.elementRef.nativeElement).classList.add(this.cardType);\n }\n }\n\n @HostBinding('class.daff-card') class = true;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card--vertical') get verticalClass() {\n return this.orientation === DaffCardOrientationEnum.Vertical;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-card--horizontal') get horizontalClass() {\n return this.orientation === DaffCardOrientationEnum.Horizontal;\n }\n\n private _getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * Gets whether the button has one of the given attributes.\n * */\n private _hasHostAttributes(...attributes: string[]) {\n return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));\n }\n}\n","<ng-content select=\"[daffCardImage]\"></ng-content>\n<div class=\"daff-card__wrapper\">\n\t<div class=\"daff-card__body\">\n\t\t<ng-content select=\"[daffCardIcon]\"></ng-content>\n\t\t<ng-content select=\"[daffCardTagline]\"></ng-content>\n\t\t<ng-content select=\"[daffCardTitle]\"></ng-content>\n\t\t<ng-content select=\"[daffCardContent]\"></ng-content>\n\t</div>\n\t<ng-content select=\"[daffCardActions]\"></ng-content>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffCardActionsDirective } from './card-actions/card-actions.directive';\nimport { DaffCardContentDirective } from './card-content/card-content.directive';\nimport { DaffCardIconDirective } from './card-icon/card-icon.directive';\nimport { DaffCardImageDirective } from './card-image/card-image.directive';\nimport { DaffCardTaglineDirective } from './card-tagline/card-tagline.directive';\nimport { DaffCardTitleDirective } from './card-title/card-title.directive';\nimport { DaffCardComponent } from './card/card.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n DaffCardComponent,\n DaffCardIconDirective,\n DaffCardImageDirective,\n DaffCardTaglineDirective,\n DaffCardTitleDirective,\n DaffCardContentDirective,\n DaffCardActionsDirective,\n ],\n exports: [\n DaffCardComponent,\n DaffCardIconDirective,\n DaffCardImageDirective,\n DaffCardTaglineDirective,\n DaffCardTitleDirective,\n DaffCardContentDirective,\n DaffCardActionsDirective,\n ],\n})\nexport class DaffCardModule { }\n","export enum DaffBreakpoints {\n DESKTOP = '(min-width: 1920px)',\n LAPTOP = '(min-width: 1440px)',\n SMALL_LAPTOP = '(min-width: 1200px)',\n BIG_TABLET = '(min-width: 1024px)',\n TABLET = '(min-width: 768px)',\n MOBILE = '(min-width: 480px)',\n}\n","/**\n * A basic constructor type useful for mixins\n * See https://blog.mariusschulz.com/2017/05/26/typescript-2-2-mixin-classes\n * for a really good explanation of why mixins are useful.\n */\n\nexport type Constructor<T = Record<string, any>> = new (...args: any[]) => T;\n","export interface DaffStatusable {\n status: DaffStatus;\n}\n\nexport type DaffStatus = 'warn' | 'danger' | 'success';\n\nexport enum DaffStatusEnum {\n Warn = 'warn',\n Danger = 'danger',\n Success = 'success'\n}\n","/**\n * An interface for giving a component the ability to customize text alignment for component-specific UI.\n * In order to be text alignable, a component class must implement this property.\n */\nexport interface DaffTextAlignable {\n textAlignment: DaffTextAlignment;\n}\n\nexport type DaffTextAlignment = 'left' | 'center' | 'right';\n\nexport enum DaffTextAlignmentEnum {\n Left = 'left',\n Center = 'center',\n Right = 'right'\n}\n","/**\n * The possible states of a theme.\n */\nexport enum DaffTheme {\n Light = 'light',\n Dark = 'dark',\n None = 'none'\n}\n","import { DaffTheme } from '../types/theme';\n\n/**\n * Computes the appropriate application theme from the specified values.\n * It cascades from `storedPreference` to `osPreference` to `defaultTheme`.\n */\nexport const daffComputeThemeSetting = (\n osPreference?: DaffTheme,\n storedPreference?: DaffTheme,\n defaultTheme: DaffTheme = DaffTheme.Dark,\n): DaffTheme => {\n if (storedPreference) {\n return storedPreference;\n }\n\n if (osPreference === 'dark') {\n return DaffTheme.Dark;\n }\n\n if (osPreference === 'light') {\n return DaffTheme.Light;\n }\n\n return defaultTheme;\n};\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n of,\n fromEventPattern,\n} from 'rxjs';\nimport {\n map,\n startWith,\n} from 'rxjs/operators';\n\nimport { DaffTheme } from '../../types/theme';\n\nexport const mediaQueryDarkPreference = '(prefers-color-scheme: dark)';\n\nexport const addHandlerFactory = (window: Window) => (handler: any) => {\n const query = window.matchMedia(mediaQueryDarkPreference);\n return 'addEventListener' in query\n ? query.addEventListener('change', handler)\n : (<MediaQueryList>query).addListener(handler);\n};\n\nexport const removeHandlerFactory = (window: Window) => (handler: any) => {\n const query = window.matchMedia(mediaQueryDarkPreference);\n return 'removeEventListener' in query\n ? query.removeEventListener('change', handler)\n : (<MediaQueryList>query).removeListener(handler);\n};\n\n/**\n * A service for retrieving the operating system's theme preference.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffOsThemeService {\n\n preference$: Observable<DaffTheme>;\n\n private doc?: Document;\n\n constructor(@Inject(DOCUMENT) _doc: any) {\n\t this.doc = <Document>_doc;\n\n\t this.preference$ = this.doc.defaultView?.matchMedia\n\t ? fromEventPattern<MediaQueryListEvent>(\n\t addHandlerFactory(this.doc.defaultView),\n\t \tremoveHandlerFactory(this.doc.defaultView),\n\t )\n\t .pipe(\n\t startWith(this.doc.defaultView?.matchMedia(mediaQueryDarkPreference)),\n\t map((e: MediaQueryListEvent) => e.matches),\n\t map((prefersDark) => prefersDark ? DaffTheme.Dark : DaffTheme.Light),\n\t )\n\t : of(DaffTheme.None);\n }\n\n /**\n * Get the operating system's theme preference.\n */\n public getThemePreference(): Observable<DaffTheme> {\n\t return this.preference$;\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Observable,\n fromEvent,\n Subject,\n merge,\n EMPTY,\n of,\n} from 'rxjs';\nimport {\n map,\n filter,\n startWith,\n shareReplay,\n catchError,\n} from 'rxjs/operators';\n\nimport {\n DaffPersistenceService,\n DaffServerSafePersistenceServiceToken,\n} from '@daffodil/core';\n\nimport { DaffTheme } from '../../types/theme';\n\nexport type ThemeStorageEvent = Pick<StorageEvent, 'newValue' | 'key'>;\n\nexport const THEME_STORAGE_KEY = 'DAFF_THEME';\n\nexport const coerceValue = (val?: string): DaffTheme =>\n val === DaffTheme.Dark || val === DaffTheme.Light\n ? val\n : DaffTheme.None;\n\n/**\n * Generate a StorageEvent\n */\nconst storageEventBuilder = (\n value: DaffTheme,\n): ThemeStorageEvent => ({\n key: THEME_STORAGE_KEY,\n newValue: coerceValue(value) !== DaffTheme.None ? value : null,\n});\n\n/**\n * A service for retrieving and managing the application's stored theme.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffThemeStorageService {\n private theme$: Observable<DaffTheme>;\n private storage$: Subject<ThemeStorageEvent> = new Subject();\n private doc?: Document;\n\n constructor(\n @Inject(DaffServerSafePersistenceServiceToken)\n private storage: DaffPersistenceService,\n @Inject(DOCUMENT) _doc: any,\n ) {\n\t this.doc = <Document>_doc;\n\t this.theme$ = merge(\n\t this.storage$,\n\t this.doc.defaultView\n\t ? fromEvent<ThemeStorageEvent>(\n <Window & typeof globalThis>this.doc.defaultView,\n 'storage',\n\t ).pipe(\n\t startWith(\n\t storageEventBuilder(\n\t this.storage.getItem(THEME_STORAGE_KEY),\n\t ),\n\t ),\n\t catchError((e) => EMPTY),\n\t )\n\t : of(storageEventBuilder(\n\t this.storage.getItem(THEME_STORAGE_KEY),\n\t )),\n\t ).pipe(\n\t filter(\n\t (e: ThemeStorageEvent) => e.key === THEME_STORAGE_KEY,\n\t ),\n\t map((e) => coerceValue(e.newValue)),\n\t shareReplay(1),\n\t );\n }\n\n /**\n * Given that Safari doesn't respect in-tab storage events, we have to manually\n * fire storage events in the open tab on Webkit based browsers.\n */\n private progressStorageEvent(theme: DaffTheme) {\n\t this.storage$.next(storageEventBuilder(theme));\n }\n\n getThemeAsObservable(): Observable<DaffTheme> {\n\t return this.theme$;\n }\n\n getTheme(): DaffTheme {\n\t return coerceValue(this.storage.getItem(THEME_STORAGE_KEY));\n }\n\n setTheme(theme: DaffTheme): void {\n\t this.progressStorageEvent(theme);\n\t this.storage.setItem(THEME_STORAGE_KEY, theme);\n }\n\n removeThemeSetting(): void {\n\t this.progressStorageEvent(DaffTheme.None);\n\t this.storage.removeItem(THEME_STORAGE_KEY);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { daffComputeThemeSetting } from '../functions/computer';\nimport { DaffTheme } from '../types/theme';\nimport { DaffOsThemeService } from './os-theme/ostheme.service';\nimport { DaffThemeStorageService } from './storage/theme-storage.service';\n\n/**\n * A service for controlling the application's theme.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffThemingService {\n private theme$: Observable<DaffTheme>;\n private theme: DaffTheme;\n\n constructor(\n private osTheme: DaffOsThemeService,\n private themeStorage: DaffThemeStorageService,\n ) {\n\n\t this.theme$ = combineLatest([\n\t this.osTheme.getThemePreference(),\n\t this.themeStorage.getThemeAsObservable(),\n\t ]).pipe(\n\t map(([osPreference, storedPreference]) => daffComputeThemeSetting(osPreference, storedPreference)),\n\t );\n\n\t this.theme$.subscribe((theme) => {\n\t this.theme = theme;\n\t });\n }\n\n /**\n * Get the current theme.\n */\n getTheme(): Observable<DaffTheme> {\n\t return this.theme$;\n }\n\n /**\n * Set the theme to dark mode.\n */\n darkMode() {\n\t this.themeStorage.setTheme(DaffTheme.Dark);\n }\n\n /**\n * Set the theme to light mode.\n */\n lightMode() {\n\t this.themeStorage.setTheme(DaffTheme.Light);\n }\n\n /**\n * Switch between themes.\n */\n switchTheme(): void {\n\t return this.theme === DaffTheme.Dark\n\t ? this.lightMode()\n\t : this.darkMode();\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n Injectable,\n Inject,\n Renderer2,\n RendererFactory2,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DaffTheme } from '../../types/theme';\nimport { DaffThemingService } from '../theming.service';\n\nexport const DAFF_THEME_DARK_CSS_CLASS = 'daff-theme-dark';\nexport const DAFF_THEME_LIGHT_CSS_CLASS = 'daff-theme-light';\n\n/**\n * This class updates the body of the application with the theme's appropriate class.\n * Note that this service is not provided tree-shakably by intention.\n * It is intended to be provided manually during setup.\n */\n@Injectable()\nexport class DaffThemeClassSetterService {\n private renderer: Renderer2;\n private subscription: Subscription;\n private doc?: Document;\n\n constructor(\n @Inject(DOCUMENT) _doc: any,\n private rendererFactory: RendererFactory2,\n private themingService: DaffThemingService,\n ) {\n\t this.doc = <Document>_doc;\n\t this.renderer = this.rendererFactory.createRenderer(null, null);\n }\n\n /**\n * This function is intended to only be called once when the service\n * is initialized for the very first time. This will mutate the class\n * on the body of the document for the appropriate theme as controlled\n * by the state of the application's theme.\n */\n beginThemeSync(): void {\n\t this.subscription = this.themingService.getTheme().subscribe((theme) => {\n\t // For simplicty, remove all previously applied themes.\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_LIGHT_CSS_CLASS);\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_DARK_CSS_CLASS);\n\t this.renderer.addClass(this.doc.body, theme === DaffTheme.Dark ? DAFF_THEME_DARK_CSS_CLASS : DAFF_THEME_LIGHT_CSS_CLASS);\n\t });\n }\n\n /**\n * This unsubscribes from the bodyClass subscription that exists.\n */\n destroy(): void {\n\t this.subscription?.unsubscribe();\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_LIGHT_CSS_CLASS);\n\t this.renderer.removeClass(this.doc.body, DAFF_THEME_DARK_CSS_CLASS);\n }\n}\n","import {\n Provider,\n APP_INITIALIZER,\n} from '@angular/core';\n\nimport { DaffThemeClassSetterService } from './services/class-setter/theme-class-setter.service';\n\nexport const DAFF_THEME_INIT = (classSetter: DaffThemeClassSetterService) => () => classSetter.beginThemeSync();\n\n/**\n * The theme provider for the app.\n * This configures updating the body with the theme class.\n */\nexport const DAFF_THEME_INITIALIZER: Provider[] = [\n DaffThemeClassSetterService,\n {\n provide: APP_INITIALIZER,\n multi: true,\n deps: [DaffThemeClassSetterService],\n useFactory: DAFF_THEME_INIT,\n },\n];\n","// Core\nexport * from './animation/animation-state-with-params';\nexport * from './prefix-suffix/public_api';\nexport * from './colorable/public_api';\nexport * from './breakpoints/breakpoints';\nexport * from './constructor/constructor';\nexport * from './statusable/public_api';\nexport * from './skeletonable/skeletonable';\nexport * from './mutable/mutable';\nexport * from './text-alignable/text-alignable';\nexport * from './compactable/public_api';\nexport * from './manage-container-layout/public_api';\nexport * from './article-encapsulated/public_api';\nexport * from './theming/public_api';\nexport * from './lazy/public_api';\nexport * from './focus/public_api';\n","/*\n * Public API Surface of @daffodil/design\n */\n\n// Atoms\nexport * from './atoms/button/public_api';\nexport * from './atoms/form/core/public_api';\nexport * from './atoms/form/form-field/public_api';\nexport * from './atoms/form/error-message/public_api';\nexport * from './atoms/image/public_api';\nexport * from './atoms/form/input/public_api';\nexport * from './atoms/form/native-select/public_api';\nexport * from './atoms/form/checkbox/public_api';\nexport * from './atoms/form/quantity-field/public_api';\nexport * from './atoms/container/public_api';\nexport * from './atoms/loading-icon/public_api';\nexport * from './atoms/progress-indicator/public_api';\nexport * from './atoms/form/radio/public_api';\nexport * from './atoms/form/form-label/public_api';\n\n// Molecules\nexport * from './molecules/accordion/public_api';\nexport * from './molecules/article/public_api';\nexport * from './molecules/backdrop/public_api';\nexport * from './molecules/button-set/public_api';\nexport * from './molecules/image-gallery/public_api';\nexport * from './molecules/image-list/public_api';\nexport * from './molecules/link-set/public_api';\nexport * from './molecules/list/public_api';\nexport * from './molecules/media-gallery/public_api';\nexport * from './molecules/menu/public_api';\nexport * from './molecules/modal/public_api';\nexport * from './molecules/navbar/public_api';\nexport * from './molecules/paginator/public_api';\nexport * from './molecules/qty-dropdown/public_api';\nexport * from './molecules/sidebar/public_api';\nexport * from './molecules/hero/public_api';\nexport * from './molecules/callout/public_api';\nexport * from './molecules/feature/public_api';\nexport * from './molecules/card/public_api';\n\n// Core\nexport * from './core/public_api';\n\n// Examples\nexport * from './examples/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.DaffLoadingIconComponent","i1.DaffMediaGalleryRegistry","i2.DaffMediaRendererComponent","i1","i2.DaffCheckboxComponent","i2.DaffInputComponent","i2.DaffNativeSelectComponent","i3","i2.DaffQuantitySelectComponent","i3.DaffQuantityInputComponent","i4","i1.DaffRadioSetComponent","i2.DaffRadioRegistry","i3.DaffRadioComponent","getAnimationState","i2.DaffSuffixDirective","i2","i4.DaffSuffixDirective","i1.DaffImageListComponent","takeUntil","i1.DaffMenuService","i2.DaffMenuService","i1.DaffFormFieldComponent","i3.DaffInputComponent","i5","filter","i1.DaffBackdropComponent","map","i1.DaffOsThemeService","i2.DaffThemeStorageService","i1.DaffThemingService"],"mappings":"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"}