{"version":3,"file":"custom-carousel.mjs","sources":["../../src/model/class.ts","../../src/lib/custom-carousel.component.ts","../../src/lib/custom-carousel.component.html","../../src/lib/custom-carousel.module.ts","../../src/public-api.ts","../../src/custom-carousel.ts"],"sourcesContent":["import {\r\n  CarouselType,\r\n  Config,\r\n  Dots,\r\n  Styling,\r\n  Timer,\r\n  Transition,\r\n} from '.';\r\n\r\n/**\r\n * Default Configuration of the Crousel. Change at your own Risk\r\n */\r\nexport class Configuration {\r\n  type: CarouselType = 'image';\r\n  dots?: Dots = {\r\n    show: true,\r\n\r\n    showImage: false,\r\n  };\r\n\r\n  setTimer?: Timer = {\r\n    show: false,\r\n    time: 2,\r\n    direction: 'forward',\r\n  };\r\n\r\n  transition?: Transition = {\r\n    translate: true,\r\n    fadeIn: false,\r\n  };\r\n\r\n  styling?: Styling = {\r\n    button: {\r\n      hideButton: false,\r\n      color: '#fff',\r\n      fontSize: '25px',\r\n    },\r\n    dots: {\r\n      backgroundColor: '#fff',\r\n      hoverDotsBackgroundColor: 'red',\r\n    },\r\n  };\r\n}\r\n\r\n// export class CarouselTypeClass {\r\n//   type = [\r\n//     {\r\n//       id: 1,\r\n//       type: 'image-carousel',\r\n//     },\r\n//     {\r\n//       id: 2,\r\n//       type: 'card-carousel',\r\n//     },\r\n//   ];\r\n// }\r\n","import { AfterViewInit, Component, HostListener, Input, OnInit, TemplateRef } from \"@angular/core\";\r\nimport { Config, Slides } from \"../model\";\r\nimport { Configuration } from \"../model/class\";\r\n\r\n@Component({\r\n  selector: \"custom-crousel\",\r\n  templateUrl: \"./custom-carousel.component.html\",\r\n  styleUrls: [\"./custom-carousel.component.scss\"],\r\n})\r\nexport class CustomCarouselComponent implements OnInit, AfterViewInit {\r\n  curSlide: number = 0;\r\n  maxSlide!: number;\r\n  allSlides!: any;\r\n  setting!: Configuration;\r\n  hoverBackgroundColorDots!: string;\r\n  dots!: any;\r\n  activeDot!: any;\r\n\r\n  container!: any;\r\n  cardSlider!: any;\r\n  cardSlides!: any;\r\n  cardButtons!: any;\r\n\r\n  currentPosition: number = 0;\r\n  currentPositionMobile: number = 1;\r\n  currentMargin: number = 0;\r\n  currentMarginMobile: number = 0;\r\n  slidesPerPage: number = 0;\r\n  slidesCount: any;\r\n  containerWidth: any;\r\n  prevKeyActive: boolean = false;\r\n  nextKeyActive: boolean = true;\r\n  windowSize!: any;\r\n\r\n  @Input() slidesData!: Slides[];\r\n  @Input() carouselConfig!: Config;\r\n  @Input() customTemplate!: TemplateRef<any>;\r\n  // @HostListener(\"window:resize\", [\"$event\"])\r\n  // onResize(event: any) {\r\n  //   this.windowSize = event.target.innerWidth;\r\n  //   this.checkWidth();\r\n  // }\r\n\r\n  constructor() {\r\n    // empty\r\n  }\r\n  ngAfterViewInit(): void {\r\n    /**\r\n     * Selectors for Image Carousel\r\n     */\r\n    this.allSlides = document.querySelectorAll(\".slide\");\r\n    this.dots = document.querySelectorAll(\".dots-span\");\r\n    this.activeDot = document.querySelectorAll(\".dots-active\");\r\n    this.maxSlide = this.allSlides.length - 1;\r\n    /**\r\n     * Selectors for Card Carousel\r\n     */\r\n    this.container = document.querySelectorAll(\"#container-fluid\");\r\n    this.cardSlider = document.querySelectorAll(\"#card-slider\");\r\n    this.cardSlides = document.querySelectorAll(\".slide-card\").length;\r\n    this.cardButtons = document.querySelectorAll(\".card-buttons\");\r\n    this.slidesCount = this.cardSlides - this.slidesPerPage;\r\n\r\n    /**\r\n     * Timer Setting\r\n     */\r\n    if (this.carouselConfig?.setTimer?.show) {\r\n      this.autoChangeSlide(this.carouselConfig.setTimer.time!, this.carouselConfig?.setTimer.direction!);\r\n    }\r\n    if (this.carouselConfig.styling?.dots?.hoverDotsBackgroundColor === undefined || this.carouselConfig.styling?.dots?.hoverDotsBackgroundColor === null) {\r\n      this.hoverBackgroundColorDots = \"red\";\r\n    } else {\r\n      this.hoverBackgroundColorDots = this.carouselConfig?.styling?.dots?.hoverDotsBackgroundColor!;\r\n    }\r\n\r\n    // console.log('carouselConfig', this.carouselConfig);\r\n    // console.log('Configuration', Configuration);\r\n    this.containerWidth = window.innerWidth;\r\n    this.setParams(this.containerWidth);\r\n  }\r\n  ngOnInit(): void {\r\n    /**\r\n     * Accessing default settings for Carousel from Configuration Class\r\n     */\r\n    this.setting = new Configuration();\r\n  }\r\n\r\n  /**\r\n   * Click function for Next slide\r\n   */\r\n  nextSlide() {\r\n    if (this.curSlide === this.maxSlide) {\r\n      this.curSlide = 0;\r\n    } else {\r\n      this.curSlide++;\r\n    }\r\n    this.allSlides.forEach((slide: any, index: number) => {\r\n      if (\r\n        (this.carouselConfig?.transition?.translate !== undefined && this.carouselConfig?.transition?.translate) ||\r\n        (this.carouselConfig?.transition?.fadeIn === undefined && this.setting?.transition?.translate)\r\n      ) {\r\n        slide.style.transform = `translateX(${100 * (index - this.curSlide)}%)`;\r\n      } else if (\r\n        (this.carouselConfig?.transition?.fadeIn !== undefined && this.carouselConfig?.transition?.translate === undefined) ||\r\n        (this.carouselConfig?.transition?.fadeIn === undefined && this.setting?.transition?.fadeIn)\r\n      ) {\r\n        if (index === this.curSlide) {\r\n          slide.style.opacity = 1;\r\n        } else {\r\n          slide.style.opacity = 0;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  /**\r\n   * Click function for previous slide\r\n   */\r\n  previousSlide() {\r\n    if (this.curSlide === 0) {\r\n      this.curSlide = this.maxSlide;\r\n    } else {\r\n      this.curSlide--;\r\n    }\r\n    this.allSlides.forEach((slide: any, index: any) => {\r\n      if (\r\n        (this.carouselConfig?.transition?.translate !== undefined && this.carouselConfig?.transition?.translate) ||\r\n        (this.carouselConfig?.transition?.fadeIn === undefined && this.setting?.transition?.translate)\r\n      ) {\r\n        slide.style.transform = `translateX(${100 * (index - this.curSlide)}%)`;\r\n      } else if (\r\n        (this.carouselConfig?.transition?.fadeIn !== undefined && this.carouselConfig?.transition?.translate === undefined) ||\r\n        (this.carouselConfig?.transition?.fadeIn === undefined && this.setting?.transition?.fadeIn)\r\n      ) {\r\n        if (index === this.curSlide) {\r\n          slide.style.opacity = 1;\r\n        } else {\r\n          slide.style.opacity = 0;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  /**\r\n   *\r\n   * @param time\r\n   * @param direction\r\n   * Change Slides automatically on set interval of time\r\n   */\r\n\r\n  autoChangeSlide(time: number, direction: string) {\r\n    // Both time and direction is given\r\n    if (time !== null && time !== undefined && direction !== null && direction !== undefined) {\r\n      const timeInmilliSec = time * 1000;\r\n      if (direction === \"backword\") {\r\n        setInterval(() => {\r\n          this.previousSlide();\r\n        }, timeInmilliSec);\r\n      } else if (direction === \"forward\") {\r\n        setInterval(() => {\r\n          this.nextSlide();\r\n        }, timeInmilliSec);\r\n      }\r\n      // Only Direction is given\r\n    } else if (direction !== null && direction !== undefined) {\r\n      const timer = this.setting.setTimer?.time!;\r\n      const timeInmilliSec = timer * 1000;\r\n      if (direction === \"backword\") {\r\n        setInterval(() => {\r\n          this.previousSlide();\r\n        }, timeInmilliSec);\r\n      } else if (direction === \"forward\") {\r\n        setInterval(() => {\r\n          this.nextSlide();\r\n        }, timeInmilliSec);\r\n      }\r\n      // Only Time is Given\r\n    } else if (time !== null && time !== undefined) {\r\n      const direction = this.setting?.setTimer?.direction!;\r\n      const timeInmilliSec = time * 1000;\r\n      if (direction === \"backword\") {\r\n        setInterval(() => {\r\n          this.previousSlide();\r\n        }, timeInmilliSec);\r\n      } else if (direction === \"forward\") {\r\n        setInterval(() => {\r\n          this.nextSlide();\r\n        }, timeInmilliSec);\r\n      }\r\n      // Both Time and direction is not given\r\n    } else {\r\n      const timer = this.setting.setTimer?.time!;\r\n      const direction = this.setting.setTimer?.direction;\r\n      const timeInmilliSec = timer * 1000;\r\n      if (direction === \"backword\") {\r\n        setInterval(() => {\r\n          this.previousSlide();\r\n        }, timeInmilliSec);\r\n      } else if (direction === \"forward\") {\r\n        setInterval(() => {\r\n          this.nextSlide();\r\n        }, timeInmilliSec);\r\n      }\r\n    }\r\n  }\r\n\r\n  /**\r\n   *\r\n   * @param index\r\n   * Got to this slide according to index clicked on Dots or Image Dots\r\n   */\r\n  goToSlide(indx: number) {\r\n    this.curSlide = indx;\r\n    this.allSlides.forEach((slide: any, index: any) => {\r\n      if (\r\n        (this.carouselConfig?.transition?.translate !== undefined && this.carouselConfig?.transition?.translate) ||\r\n        (this.carouselConfig?.transition?.fadeIn === undefined && this.setting?.transition?.translate)\r\n      ) {\r\n        slide.style.transform = `translateX(${100 * (index - this.curSlide)}%)`;\r\n      } else if (\r\n        (this.carouselConfig?.transition?.fadeIn !== undefined && this.carouselConfig?.transition?.translate === undefined) ||\r\n        (this.carouselConfig?.transition?.fadeIn === undefined && this.setting?.transition?.fadeIn)\r\n      ) {\r\n        if (index === this.curSlide) {\r\n          slide.style.opacity = 1;\r\n        } else {\r\n          slide.style.opacity = 0;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  /**\r\n   * Hover Effect on backgorund color change\r\n   * Works with hoverDotsBackgroundColor config\r\n   * @param index\r\n   */\r\n  mouseEnterDots(index: any) {\r\n    if (this.carouselConfig.styling?.dots?.hoverDotsBackgroundColor !== undefined || this.carouselConfig.styling?.dots?.hoverDotsBackgroundColor !== null) {\r\n      this.dots[index].style.backgroundColor = this.carouselConfig.styling?.dots?.hoverDotsBackgroundColor;\r\n    } else {\r\n      this.dots[index].style.backgroundColor = this.setting.styling?.dots?.hoverDotsBackgroundColor;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Reset Background color to previous state on removed hover Effect\r\n   * Works with hoverDotsBackgroundColor config\r\n   * @param index\r\n   */\r\n  mouseExitDots(index: any) {\r\n    if (this.carouselConfig.styling?.dots?.backgroundColor !== undefined || this.carouselConfig.styling?.dots?.backgroundColor !== null) {\r\n      this.dots[index].style.backgroundColor = this.carouselConfig.styling?.dots?.backgroundColor;\r\n    } else {\r\n      this.dots[index].style.backgroundColor = this.setting.styling?.dots?.backgroundColor;\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Set width for cards according to the width of the window\r\n   */\r\n  checkWidth() {\r\n    this.containerWidth = this.container.offsetWidth;\r\n    this.setParams(this.containerWidth);\r\n  }\r\n\r\n  /**\r\n   * Change cards count and margins according to window size\r\n   * @param w width\r\n   */\r\n  setParams(w: any) {\r\n    if (w < 551) {\r\n      this.slidesPerPage = 1;\r\n    } else {\r\n      if (w < 901) {\r\n        this.slidesPerPage = 2;\r\n      } else {\r\n        if (w < 1101) {\r\n          this.slidesPerPage = 3;\r\n        } else {\r\n          this.slidesPerPage = 4;\r\n        }\r\n      }\r\n    }\r\n    this.slidesCount = this.cardSlides - this.slidesPerPage;\r\n    if (this.currentPosition > this.slidesCount) {\r\n      this.currentPosition -= this.slidesPerPage;\r\n    }\r\n    this.currentMargin = -this.currentPosition * (100 / this.slidesPerPage);\r\n    if (this.cardSlider[0]) {\r\n      this.cardSlider[0].style.marginLeft = this.currentMargin + \"%\";\r\n    }\r\n    if (this.currentPosition > 0) {\r\n      if (this.cardButtons[0]) {\r\n        this.cardButtons[0].classList.remove(\"inactive\");\r\n      }\r\n    }\r\n    if (this.currentPosition < this.slidesCount) {\r\n      if (this.cardButtons[1]) {\r\n        this.cardButtons[1].classList.remove(\"inactive\");\r\n      }\r\n    }\r\n    if (this.currentPosition >= this.slidesCount) {\r\n      if (this.cardButtons[1]) {\r\n        this.cardButtons[1].classList.add(\"inactive\");\r\n      }\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Slide left button for Card Carousel\r\n   */\r\n  slideLeft() {\r\n    if (this.currentPosition !== 0) {\r\n      this.cardSlider[0].style.marginLeft = this.currentMargin + 100 / this.slidesPerPage + \"%\";\r\n      this.currentMargin += 100 / this.slidesPerPage;\r\n      this.currentPosition--;\r\n    }\r\n    if (this.currentPosition <= 0 && this.currentPositionMobile <= 1) {\r\n      this.cardButtons[0].classList.add(\"inactive\");\r\n    }\r\n    if (this.currentPosition < this.slidesCount && this.currentPositionMobile > 1) {\r\n      this.cardButtons[1].classList.remove(\"inactive\");\r\n    }\r\n    if (window.innerWidth < 551) {\r\n      if (this.currentPositionMobile <= this.cardSlides && this.currentMarginMobile !== 0) {\r\n        this.cardSlider[0].style.marginLeft = `${this.currentMarginMobile + 100}%`;\r\n        this.currentMarginMobile = this.currentMarginMobile + 100;\r\n        this.currentPositionMobile--;\r\n      }\r\n      if (this.currentPositionMobile === 1 || this.currentPositionMobile >= this.cardSlides) {\r\n        this.cardButtons[0].classList.add(\"inactive\");\r\n      }\r\n      if (this.currentPositionMobile >= 1) {\r\n        this.cardButtons[1].classList.remove(\"inactive\");\r\n      }\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Slide Right button for Card Carousel\r\n   */\r\n  slideRight() {\r\n    if (this.currentPosition !== this.slidesCount && !(window.innerWidth < 551)) {\r\n      this.cardSlider[0].style.marginLeft = this.currentMargin - 100 / this.slidesPerPage + \"%\";\r\n      this.currentMargin -= 100 / this.slidesPerPage;\r\n      this.currentPosition++;\r\n    }\r\n    if (this.currentPosition === this.slidesCount) {\r\n      this.cardButtons[1].classList.add(\"inactive\");\r\n    }\r\n    if (this.currentPosition > 0) {\r\n      this.cardButtons[0].classList.remove(\"inactive\");\r\n    }\r\n\r\n    if (window.innerWidth < 551) {\r\n      if (this.currentPositionMobile < this.cardSlides) {\r\n        this.cardSlider[0].style.marginLeft = `${this.currentMarginMobile - 100}%`;\r\n        this.currentMarginMobile = this.currentMarginMobile - 100;\r\n        this.currentPositionMobile++;\r\n      }\r\n      if (this.currentPositionMobile === this.cardSlides) {\r\n        this.cardButtons[0].classList.add(\"inactive\");\r\n      }\r\n      if (this.currentPositionMobile <= this.cardSlides) {\r\n        this.cardButtons[1].classList.remove(\"inactive\");\r\n      }\r\n    }\r\n  }\r\n}\r\n","<!-- slider container -->\r\n<ng-container *ngIf=\"carouselConfig?.type == 'image'\">\r\n    <div class=\"crousel-body\">\r\n        <div class=\"slider\" [ngStyle]=\"{\r\n        'border-radius': carouselConfig.styling?.borderRadius ? carouselConfig.styling?.borderRadius: '',\r\n        'border': carouselConfig.styling?.border ? carouselConfig.styling?.border: ''\r\n        }\">\r\n\r\n            <ng-container *ngFor=\"let item of slidesData\">\r\n                <div class=\"slide\">\r\n                    <img [src]=\"item.image\" alt=\"\" />\r\n                </div>\r\n            </ng-container>\r\n\r\n            <button class=\"btn btn-next\" (click)=\"nextSlide()\" *ngIf=\"!(carouselConfig.styling?.button?.hideButton)\"\r\n                [ngStyle]=\"{'background-color': carouselConfig.styling?.button?.backgroundColor ? carouselConfig.styling?.button?.backgroundColor: '',\r\n                    'width': carouselConfig.styling?.button?.width ? carouselConfig.styling?.button?.width: '',\r\n                    'height': carouselConfig.styling?.button?.height ? carouselConfig.styling?.button?.height: '',\r\n                    'border-radius': carouselConfig.styling?.button?.borderRadius ? carouselConfig.styling?.button?.borderRadius: '',\r\n                    'border': carouselConfig.styling?.button?.border ? carouselConfig.styling?.button?.border: ''\r\n                }\">\r\n                <i [class]=\"carouselConfig.styling?.button?.rightIcon ? carouselConfig.styling?.button?.rightIcon: 'bi bi-arrow-right'\"\r\n                    [ngStyle]=\"{'color':carouselConfig.styling?.button?.color ? carouselConfig.styling?.button?.color:setting.styling?.button?.color,\r\n                                'font-size':carouselConfig.styling?.button?.fontSize ? carouselConfig.styling?.button?.fontSize:setting.styling?.button?.fontSize}\"></i>\r\n            </button>\r\n\r\n            <button class=\"btn btn-prev\" (click)=\"previousSlide()\" *ngIf=\"!(carouselConfig.styling?.button?.hideButton)\"\r\n                [ngStyle]=\"{'background-color': carouselConfig.styling?.button?.backgroundColor ? carouselConfig.styling?.button?.backgroundColor: '',\r\n                    'width': carouselConfig.styling?.button?.width ? carouselConfig.styling?.button?.width: '',\r\n                    'height': carouselConfig.styling?.button?.height ? carouselConfig.styling?.button?.height: '',\r\n                    'border-radius': carouselConfig.styling?.button?.borderRadius ? carouselConfig.styling?.button?.borderRadius: '',\r\n                    'border': carouselConfig.styling?.button?.border ? carouselConfig.styling?.button?.border: ''\r\n            }\">\r\n\r\n                <i [class]=\"carouselConfig.styling?.button?.leftIcon ? carouselConfig.styling?.button?.leftIcon: 'bi bi-arrow-left'\"\r\n                    [ngStyle]=\"{'color':carouselConfig.styling?.button?.color ? carouselConfig.styling?.button?.color:setting.styling?.button?.color,\r\n                                'font-size':carouselConfig.styling?.button?.fontSize ? carouselConfig.styling?.button?.fontSize:setting.styling?.button?.fontSize}\"></i>\r\n            </button>\r\n\r\n            <div class=\"dots\" *ngIf=\"carouselConfig.dots?.show\">\r\n\r\n                <ng-container *ngFor=\"let item of slidesData; let i = index\">\r\n                    <span *ngIf=\"!(carouselConfig.dots?.showImage)\" class=\"dots-span\" (mouseover)=\"mouseEnterDots(i)\"\r\n                        (mouseout)=\"mouseExitDots(i)\" [ngClass]=\"i == curSlide ? 'dots-active':''\"\r\n                        (click)=\"goToSlide(i)\"\r\n                        [ngStyle]=\"{\r\n                            'border': carouselConfig.styling?.dots?.border ? carouselConfig.styling?.dots?.border: '',\r\n                            'border-radius': carouselConfig.styling?.dots?.borderRadius ? carouselConfig.styling?.dots?.borderRadius: '',\r\n                            'background-color': carouselConfig.styling?.dots?.backgroundColor ? carouselConfig.styling?.dots?.backgroundColor: '',\r\n                            'width': carouselConfig.styling?.dots?.width ? carouselConfig.styling?.dots?.width: '',\r\n                            'height': carouselConfig.styling?.dots?.height ? carouselConfig.styling?.dots?.height: ''}\"></span>\r\n                    <span *ngIf=\"carouselConfig.dots?.showImage\" class=\"dots-image\"\r\n                        [ngClass]=\"i == curSlide ? 'image-active':''\" (click)=\"goToSlide(i)\"\r\n                        [ngStyle]=\"{\r\n                            'border': carouselConfig.styling?.dots?.border ? carouselConfig.styling?.dots?.border: '',\r\n                            'border-radius': carouselConfig.styling?.dots?.borderRadius ? carouselConfig.styling?.dots?.borderRadius: '',\r\n                            'background-color': carouselConfig.styling?.dots?.backgroundColor ? carouselConfig.styling?.dots?.backgroundColor: '',\r\n                            'width': carouselConfig.styling?.dots?.width ? carouselConfig.styling?.dots?.width: '',\r\n                            'height': carouselConfig.styling?.dots?.height ? carouselConfig.styling?.dots?.height: ''}\"><img [src]=\"item.image\"></span>\r\n                </ng-container>\r\n\r\n            </div>\r\n        </div>\r\n    </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"carouselConfig?.type == 'card'\">\r\n    <div id=\"container-fluid\">\r\n        <div id=\"slider-container\">\r\n            <button class=\"card-buttons\" (click)=\"slideLeft()\" *ngIf=\"!(carouselConfig.styling?.button?.hideButton)\"\r\n                [ngStyle]=\"{'background-color': carouselConfig.styling?.button?.backgroundColor ? carouselConfig.styling?.button?.backgroundColor: '',\r\n                'width': carouselConfig.styling?.button?.width ? carouselConfig.styling?.button?.width: '',\r\n                'height': carouselConfig.styling?.button?.height ? carouselConfig.styling?.button?.height: '',\r\n                'border-radius': carouselConfig.styling?.button?.borderRadius ? carouselConfig.styling?.button?.borderRadius: '',\r\n                'border': carouselConfig.styling?.button?.border ? carouselConfig.styling?.button?.border: ''\r\n        }\">\r\n\r\n                <i [class]=\"carouselConfig.styling?.button?.leftIcon ? carouselConfig.styling?.button?.leftIcon: 'bi bi-arrow-left'\"\r\n                    [ngStyle]=\"{'color':carouselConfig.styling?.button?.color ? carouselConfig.styling?.button?.color:setting.styling?.button?.color,\r\n                            'font-size':carouselConfig.styling?.button?.fontSize ? carouselConfig.styling?.button?.fontSize:setting.styling?.button?.fontSize}\"></i>\r\n            </button>\r\n\r\n            <div id=\"card-slider\">\r\n                <ng-container [ngTemplateOutlet]=\"customTemplate\"> </ng-container>\r\n            </div>\r\n\r\n            <button class=\"card-buttons\" (click)=\"slideRight()\" *ngIf=\"!(carouselConfig.styling?.button?.hideButton)\"\r\n                [ngStyle]=\"{'background-color': carouselConfig.styling?.button?.backgroundColor ? carouselConfig.styling?.button?.backgroundColor: '',\r\n                'width': carouselConfig.styling?.button?.width ? carouselConfig.styling?.button?.width: '',\r\n                'height': carouselConfig.styling?.button?.height ? carouselConfig.styling?.button?.height: '',\r\n                'border-radius': carouselConfig.styling?.button?.borderRadius ? carouselConfig.styling?.button?.borderRadius: '',\r\n                'border': carouselConfig.styling?.button?.border ? carouselConfig.styling?.button?.border: ''\r\n            }\">\r\n                <i [class]=\"carouselConfig.styling?.button?.rightIcon ? carouselConfig.styling?.button?.rightIcon: 'bi bi-arrow-right'\"\r\n                    [ngStyle]=\"{'color':carouselConfig.styling?.button?.color ? carouselConfig.styling?.button?.color:setting.styling?.button?.color,\r\n                            'font-size':carouselConfig.styling?.button?.fontSize ? carouselConfig.styling?.button?.fontSize:setting.styling?.button?.fontSize}\"></i>\r\n            </button>\r\n        </div>\r\n    </div>\r\n</ng-container>","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { CustomCarouselComponent } from \"./custom-carousel.component\";\r\n\r\n@NgModule({\r\n  declarations: [CustomCarouselComponent],\r\n  imports: [CommonModule],\r\n  exports: [CustomCarouselComponent],\r\n})\r\nexport class CustomCarouselModule {}\r\n","/*\r\n * Public API Surface of custom-carousel\r\n */\r\n\r\nexport * from './lib/custom-carousel.component';\r\nexport * from './lib/custom-carousel.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AASA;;AAEG;MACU,aAAa,CAAA;AAA1B,IAAA,WAAA,GAAA;QACE,IAAI,CAAA,IAAA,GAAiB,OAAO,CAAC;AAC7B,QAAA,IAAA,CAAA,IAAI,GAAU;AACZ,YAAA,IAAI,EAAE,IAAI;AAEV,YAAA,SAAS,EAAE,KAAK;SACjB,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAW;AACjB,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,SAAS,EAAE,SAAS;SACrB,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAgB;AACxB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,MAAM,EAAE,KAAK;SACd,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAa;AAClB,YAAA,MAAM,EAAE;AACN,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,QAAQ,EAAE,MAAM;AACjB,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,eAAe,EAAE,MAAM;AACvB,gBAAA,wBAAwB,EAAE,KAAK;AAChC,aAAA;SACF,CAAC;KACH;AAAA,CAAA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;MC9Ca,uBAAuB,CAAA;;;;;;AAkClC,IAAA,WAAA,GAAA;QAjCA,IAAQ,CAAA,QAAA,GAAW,CAAC,CAAC;QAarB,IAAe,CAAA,eAAA,GAAW,CAAC,CAAC;QAC5B,IAAqB,CAAA,qBAAA,GAAW,CAAC,CAAC;QAClC,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;QAC1B,IAAmB,CAAA,mBAAA,GAAW,CAAC,CAAC;QAChC,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;QAG1B,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;QAC/B,IAAa,CAAA,aAAA,GAAY,IAAI,CAAC;;KAc7B;IACD,eAAe,GAAA;AACb;;AAEG;QACH,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1C;;AAEG;QACH,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;QAClE,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;AAExD;;AAEG;AACH,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;AACvC,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAK,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,SAAU,CAAC,CAAC;AACpG,SAAA;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,wBAAwB,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,wBAAwB,KAAK,IAAI,EAAE;AACrJ,YAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;AACvC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,wBAAyB,CAAC;AAC/F,SAAA;;;AAID,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;AACxC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACrC;IACD,QAAQ,GAAA;AACN;;AAEG;AACH,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;KACpC;AAED;;AAEG;IACH,SAAS,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;AACnC,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;AACnB,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjB,SAAA;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,KAAa,KAAI;AACnD,YAAA,IACE,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS;AACvG,iBAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,EAC9F;AACA,gBAAA,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,cAAc,GAAG,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACzE,aAAA;iBAAM,IACL,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS,KAAK,SAAS;AAClH,iBAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAC3F;AACA,gBAAA,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE;AAC3B,oBAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AACzB,iBAAA;AAAM,qBAAA;AACL,oBAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AACzB,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAED;;AAEG;IACH,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC/B,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjB,SAAA;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,KAAU,KAAI;AAChD,YAAA,IACE,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS;AACvG,iBAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,EAC9F;AACA,gBAAA,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,cAAc,GAAG,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACzE,aAAA;iBAAM,IACL,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS,KAAK,SAAS;AAClH,iBAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAC3F;AACA,gBAAA,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE;AAC3B,oBAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AACzB,iBAAA;AAAM,qBAAA;AACL,oBAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AACzB,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAED;;;;;AAKG;IAEH,eAAe,CAAC,IAAY,EAAE,SAAiB,EAAA;;AAE7C,QAAA,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;AACxF,YAAA,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;YACnC,IAAI,SAAS,KAAK,UAAU,EAAE;gBAC5B,WAAW,CAAC,MAAK;oBACf,IAAI,CAAC,aAAa,EAAE,CAAC;iBACtB,EAAE,cAAc,CAAC,CAAC;AACpB,aAAA;iBAAM,IAAI,SAAS,KAAK,SAAS,EAAE;gBAClC,WAAW,CAAC,MAAK;oBACf,IAAI,CAAC,SAAS,EAAE,CAAC;iBAClB,EAAE,cAAc,CAAC,CAAC;AACpB,aAAA;;AAEF,SAAA;AAAM,aAAA,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAK,CAAC;AAC3C,YAAA,MAAM,cAAc,GAAG,KAAK,GAAG,IAAI,CAAC;YACpC,IAAI,SAAS,KAAK,UAAU,EAAE;gBAC5B,WAAW,CAAC,MAAK;oBACf,IAAI,CAAC,aAAa,EAAE,CAAC;iBACtB,EAAE,cAAc,CAAC,CAAC;AACpB,aAAA;iBAAM,IAAI,SAAS,KAAK,SAAS,EAAE;gBAClC,WAAW,CAAC,MAAK;oBACf,IAAI,CAAC,SAAS,EAAE,CAAC;iBAClB,EAAE,cAAc,CAAC,CAAC;AACpB,aAAA;;AAEF,SAAA;AAAM,aAAA,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAU,CAAC;AACrD,YAAA,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;YACnC,IAAI,SAAS,KAAK,UAAU,EAAE;gBAC5B,WAAW,CAAC,MAAK;oBACf,IAAI,CAAC,aAAa,EAAE,CAAC;iBACtB,EAAE,cAAc,CAAC,CAAC;AACpB,aAAA;iBAAM,IAAI,SAAS,KAAK,SAAS,EAAE;gBAClC,WAAW,CAAC,MAAK;oBACf,IAAI,CAAC,SAAS,EAAE,CAAC;iBAClB,EAAE,cAAc,CAAC,CAAC;AACpB,aAAA;;AAEF,SAAA;AAAM,aAAA;YACL,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAK,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC;AACnD,YAAA,MAAM,cAAc,GAAG,KAAK,GAAG,IAAI,CAAC;YACpC,IAAI,SAAS,KAAK,UAAU,EAAE;gBAC5B,WAAW,CAAC,MAAK;oBACf,IAAI,CAAC,aAAa,EAAE,CAAC;iBACtB,EAAE,cAAc,CAAC,CAAC;AACpB,aAAA;iBAAM,IAAI,SAAS,KAAK,SAAS,EAAE;gBAClC,WAAW,CAAC,MAAK;oBACf,IAAI,CAAC,SAAS,EAAE,CAAC;iBAClB,EAAE,cAAc,CAAC,CAAC;AACpB,aAAA;AACF,SAAA;KACF;AAED;;;;AAIG;AACH,IAAA,SAAS,CAAC,IAAY,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,KAAU,KAAI;AAChD,YAAA,IACE,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS;AACvG,iBAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,EAC9F;AACA,gBAAA,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,cAAc,GAAG,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACzE,aAAA;iBAAM,IACL,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS,KAAK,SAAS;AAClH,iBAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAC3F;AACA,gBAAA,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE;AAC3B,oBAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AACzB,iBAAA;AAAM,qBAAA;AACL,oBAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AACzB,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAED;;;;AAIG;AACH,IAAA,cAAc,CAAC,KAAU,EAAA;QACvB,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,wBAAwB,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,wBAAwB,KAAK,IAAI,EAAE;AACrJ,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,wBAAwB,CAAC;AACtG,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,wBAAwB,CAAC;AAC/F,SAAA;KACF;AAED;;;;AAIG;AACH,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,KAAK,IAAI,EAAE;AACnI,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC;AAC7F,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC;AACtF,SAAA;KACF;AAED;;AAEG;IACH,UAAU,GAAA;QACR,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;AACjD,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACrC;AAED;;;AAGG;AACH,IAAA,SAAS,CAAC,CAAM,EAAA;QACd,IAAI,CAAC,GAAG,GAAG,EAAE;AACX,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACxB,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,GAAG,GAAG,EAAE;AACX,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACxB,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,GAAG,IAAI,EAAE;AACZ,oBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACxB,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACxB,iBAAA;AACF,aAAA;AACF,SAAA;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;AACxD,QAAA,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE;AAC3C,YAAA,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC;AAC5C,SAAA;AACD,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;AACxE,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;AACtB,YAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;AAChE,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE;AAC5B,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AACvB,gBAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAClD,aAAA;AACF,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE;AAC3C,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AACvB,gBAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAClD,aAAA;AACF,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,EAAE;AAC5C,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;AACvB,gBAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC/C,aAAA;AACF,SAAA;KACF;AAED;;AAEG;IACH,SAAS,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YAC1F,IAAI,CAAC,aAAa,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,SAAA;QACD,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,EAAE;AAChE,YAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC/C,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,qBAAqB,GAAG,CAAC,EAAE;AAC7E,YAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAClD,SAAA;AACD,QAAA,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;AAC3B,YAAA,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,mBAAmB,KAAK,CAAC,EAAE;AACnF,gBAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,mBAAmB,GAAG,GAAG,GAAG,CAAC;gBAC3E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;gBAC1D,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAC9B,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,qBAAqB,KAAK,CAAC,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,UAAU,EAAE;AACrF,gBAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC/C,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,EAAE;AACnC,gBAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAClD,aAAA;AACF,SAAA;KACF;AAED;;AAEG;IACH,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,WAAW,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,EAAE;YAC3E,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YAC1F,IAAI,CAAC,aAAa,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,WAAW,EAAE;AAC7C,YAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC/C,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAClD,SAAA;AAED,QAAA,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE;AAC3B,YAAA,IAAI,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,EAAE;AAChD,gBAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,mBAAmB,GAAG,GAAG,GAAG,CAAC;gBAC3E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;gBAC1D,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAC9B,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,CAAC,UAAU,EAAE;AAClD,gBAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC/C,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,UAAU,EAAE;AACjD,gBAAA,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAClD,aAAA;AACF,SAAA;KACF;;oHAvWU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,gKCTpC,sjQAmGe,EAAA,MAAA,EAAA,CAAA,4xFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,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,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD1FF,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,sjQAAA,EAAA,MAAA,EAAA,CAAA,4xFAAA,CAAA,EAAA,CAAA;0EA6BjB,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;;;ME3BK,oBAAoB,CAAA;;iHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAJhB,YAAA,EAAA,CAAA,uBAAuB,CAC5B,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAEtB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAHrB,YAAY,CAAA,EAAA,CAAA,CAAA;2FAGX,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;oBACvC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,uBAAuB,CAAC;AACnC,iBAAA,CAAA;;;ACRD;;AAEG;;ACFH;;AAEG;;;;"}