{"version":3,"file":"clr-angular-utils-conditional.mjs","sources":["../../../projects/angular/utils/conditional/if-active.service.ts","../../../projects/angular/utils/conditional/if-active.directive.ts","../../../projects/angular/utils/conditional/if-expanded.service.ts","../../../projects/angular/utils/conditional/if-expanded.directive.ts","../../../projects/angular/utils/conditional/conditional.module.ts","../../../projects/angular/utils/conditional/index.ts","../../../projects/angular/utils/conditional/clr-angular-utils-conditional.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable, InjectionToken } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nlet activeCounter = 0;\n\nexport const IF_ACTIVE_ID = new InjectionToken<number>('IF_ACTIVE_ID');\n\nexport function tokenFactory() {\n  return ++activeCounter;\n}\n\nexport const IF_ACTIVE_ID_PROVIDER = {\n  provide: IF_ACTIVE_ID,\n  useFactory: tokenFactory,\n};\n\n@Injectable()\n\n/*********\n * @class IfActiveService\n *\n * @description\n * An injectable service used by IfActive structural directives and the components that implement IfActive in their\n * templates. It holds the value of the current state and provides an Observable that both the directive and the\n * implementing component can subscribe to in order to take action on current value changes.\n *\n */\nexport class IfActiveService {\n  /********\n   * @property _currentChange\n   *\n   * @description\n   * A RXJS Subject that updates and provides subscriptions to for the current current state of a component template\n   * implemting the IfActive structural directive.\n   *\n   */\n  private _currentChange = new Subject<number>();\n\n  /*********\n   * @property _current\n   *\n   * @description\n   * A property holding the current value for current/closed state of an IfActive structural directive.\n   */\n  private _current: number;\n\n  /*********\n   *\n   * @description\n   * A getter function that provides an observable for the _current Subject.\n   *\n   */\n  get currentChange(): Observable<number> {\n    return this._currentChange.asObservable();\n  }\n\n  /*********\n   *\n   * @description\n   * A property that gets/sets the current state of _current for this instance of IfActive structural directive.\n   * And, broadcasts the new value to all subscribers.\n   *\n   */\n  get current(): number {\n    return this._current;\n  }\n  set current(value: number) {\n    if (this._current !== value) {\n      this._current = value;\n      this._currentChange.next(value);\n    }\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n  Directive,\n  EventEmitter,\n  Inject,\n  Input,\n  OnDestroy,\n  Output,\n  TemplateRef,\n  ViewContainerRef,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { IF_ACTIVE_ID, IfActiveService } from './if-active.service';\n\n@Directive({\n  selector: '[clrIfActive]',\n})\n\n/**********\n *\n * @class ClrIfActive\n *\n * @description\n * A structural directive that controls whether or not the associated TemplateRef is instantiated or not.\n * It makes use of a Component instance level service: IfActiveService to maintain state between itself and\n * the component using it in the component template.\n *\n */\nexport class ClrIfActive implements OnDestroy {\n  /**********\n   * @property activeChange\n   *\n   * @description\n   * An event emitter that emits when the active property is set to allow for 2way binding when the directive is\n   * used with de-structured / de-sugared syntax.\n   *\n   */\n  @Output('clrIfActiveChange') activeChange = new EventEmitter<boolean>(false);\n\n  private subscription: Subscription;\n  private wasActive = false;\n\n  constructor(\n    private ifActiveService: IfActiveService,\n    @Inject(IF_ACTIVE_ID) private id: number,\n    private template: TemplateRef<any>,\n    private container: ViewContainerRef\n  ) {\n    this.checkAndUpdateView(ifActiveService.current);\n\n    this.subscription = ifActiveService.currentChange.subscribe(newCurrentId => {\n      this.checkAndUpdateView(newCurrentId);\n    });\n  }\n\n  /**\n   * @description\n   * A property that gets/sets IfActiveService.active with value.\n   *\n   */\n  @Input('clrIfActive')\n  get active() {\n    return this.ifActiveService.current === this.id;\n  }\n  set active(value: boolean | string) {\n    if (value) {\n      this.ifActiveService.current = this.id;\n    }\n  }\n\n  ngOnDestroy() {\n    this.subscription.unsubscribe();\n  }\n\n  /**\n   * @description\n   * Function that takes a any value and either created an embedded view for the associated ViewContainerRef or,\n   * Clears all views from the ViewContainerRef\n   */\n  updateView(value: boolean) {\n    if (value) {\n      this.container.createEmbeddedView(this.template);\n    } else {\n      this.container.clear();\n    }\n  }\n\n  private checkAndUpdateView(currentId: number) {\n    const isNowActive = currentId === this.id;\n    // only emit if the new active state is changed since last time.\n    if (isNowActive !== this.wasActive) {\n      this.updateView(isNowActive);\n      this.activeChange.emit(isNowActive);\n      this.wasActive = isNowActive;\n    }\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { ClrLoadingState, LoadingListener } from '@clr/angular/utils/loading';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class IfExpandService implements LoadingListener {\n  expandable = 0;\n  hasExpandTemplate = false;\n\n  protected _loading = false;\n  protected _expanded = false;\n  protected _expandChange = new Subject<boolean>();\n\n  get loading(): boolean {\n    return this._loading;\n  }\n  set loading(value: boolean) {\n    value = !!value;\n    if (value !== this._loading) {\n      this._loading = value;\n    }\n  }\n\n  get expanded(): boolean {\n    return this._expanded;\n  }\n  set expanded(value: boolean) {\n    value = !!value;\n    if (value !== this._expanded) {\n      this._expanded = value;\n      this._expandChange.next(value);\n    }\n  }\n\n  get expandChange(): Observable<boolean> {\n    return this._expandChange.asObservable();\n  }\n\n  toggle() {\n    this.expanded = !this._expanded;\n  }\n\n  loadingStateChange(state: ClrLoadingState): void {\n    switch (state) {\n      case ClrLoadingState.LOADING:\n        this.loading = true;\n        break;\n      default:\n        this.loading = false;\n        break;\n    }\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  Renderer2,\n  TemplateRef,\n  ViewContainerRef,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { IfExpandService } from './if-expanded.service';\n\n@Directive({\n  selector: '[clrIfExpanded]',\n})\nexport class ClrIfExpanded implements OnInit, OnDestroy {\n  @Output('clrIfExpandedChange') expandedChange = new EventEmitter<boolean>(true);\n\n  private _expanded = false;\n\n  /**\n   * Subscriptions to all the services and queries changes\n   */\n  private _subscriptions: Subscription[] = [];\n\n  constructor(\n    @Optional() private template: TemplateRef<any>,\n    private container: ViewContainerRef,\n    private el: ElementRef<HTMLElement>,\n    private renderer: Renderer2,\n    private expand: IfExpandService\n  ) {\n    this._subscriptions.push(\n      expand.expandChange.subscribe(() => {\n        this.updateView();\n        this.expandedChange.emit(expand.expanded);\n      })\n    );\n\n    expand.hasExpandTemplate = !!template;\n  }\n\n  @Input('clrIfExpanded')\n  get expanded(): boolean | string {\n    return this._expanded;\n  }\n  set expanded(value: boolean | string) {\n    if (typeof value === 'boolean') {\n      this.expand.expanded = value;\n      this._expanded = value;\n    }\n  }\n\n  ngOnInit() {\n    this.expand.expandable++;\n    this.updateView();\n  }\n\n  ngOnDestroy() {\n    this.expand.expandable--;\n    this._subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\n  }\n\n  private updateView() {\n    if (this.expand.expanded && this.container.length !== 0) {\n      return;\n    }\n    if (this.template) {\n      if (this.expand.expanded) {\n        // Should we pass a context? I don't see anything useful to pass right now,\n        // but we can come back to it in the future as a solution for additional features.\n        this.container.createEmbeddedView(this.template);\n      } else {\n        // TODO: Move when we move the animation logic to Datagrid Row Expand\n        // We clear before the animation is over. Not ideal, but doing better would involve a much heavier\n        // process for very little gain. Once Angular animations are dynamic enough, we should be able to\n        // get the optimal behavior.\n        this.container.clear();\n      }\n    } else {\n      try {\n        // If we don't have a template ref, we fallback to a crude display: none for now.\n        if (this.expand.expanded) {\n          this.renderer.setStyle(this.el.nativeElement, 'display', null);\n        } else {\n          this.renderer.setStyle(this.el.nativeElement, 'display', 'none');\n        }\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n      } catch (e) {\n        // We catch the case where clrIfExpanded was put on a non-DOM element, and we just do nothing\n      }\n    }\n  }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\n\nimport { ClrIfActive } from './if-active.directive';\nimport { ClrIfExpanded } from './if-expanded.directive';\n\nexport const CONDITIONAL_DIRECTIVES: Type<any>[] = [ClrIfActive, ClrIfExpanded];\n\n@NgModule({\n  imports: [CommonModule, CONDITIONAL_DIRECTIVES],\n  exports: [CONDITIONAL_DIRECTIVES],\n})\nexport class ClrConditionalModule {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './if-active.directive';\nexport * from './if-active.service';\nexport * from './if-expanded.directive';\nexport * from './if-expanded.service';\nexport * from './conditional.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.IfExpandService"],"mappings":";;;;;;AAAA;;;;;AAKG;AAKH,IAAI,aAAa,GAAG,CAAC;MAER,YAAY,GAAG,IAAI,cAAc,CAAS,cAAc;SAErD,YAAY,GAAA;IAC1B,OAAO,EAAE,aAAa;AACxB;AAEO,MAAM,qBAAqB,GAAG;AACnC,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,UAAU,EAAE,YAAY;;AAK1B;;;;;;;;AAQG;MACU,eAAe,CAAA;AAX5B,IAAA,WAAA,GAAA;AAYE;;;;;;;AAOG;AACK,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAU;AAoC/C,IAAA;AA1BC;;;;;AAKG;AACH,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;IAC3C;AAEA;;;;;;AAMG;AACH,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IACA,IAAI,OAAO,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC;IACF;8GA5CW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAf,eAAe,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAX3B;;;ACvBD;;;;;AAKG;AAoBH;;;;;;;;;AASG;MACU,WAAW,CAAA;AActB,IAAA,WAAA,CACU,eAAgC,EACV,EAAU,EAChC,QAA0B,EAC1B,SAA2B,EAAA;QAH3B,IAAA,CAAA,eAAe,GAAf,eAAe;QACO,IAAA,CAAA,EAAE,GAAF,EAAE;QACxB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,SAAS,GAAT,SAAS;AAjBnB;;;;;;;AAOG;AAC0B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,CAAU,KAAK,CAAC;QAGpE,IAAA,CAAA,SAAS,GAAG,KAAK;AAQvB,QAAA,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,OAAO,CAAC;QAEhD,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,IAAG;AACzE,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;AACvC,QAAA,CAAC,CAAC;IACJ;AAEA;;;;AAIG;AACH,IAAA,IACI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE;IACjD;IACA,IAAI,MAAM,CAAC,KAAuB,EAAA;QAChC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE;QACxC;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;IACjC;AAEA;;;;AAIG;AACH,IAAA,UAAU,CAAC,KAAc,EAAA;QACvB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAClD;aAAO;AACL,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;QACxB;IACF;AAEQ,IAAA,kBAAkB,CAAC,SAAiB,EAAA;AAC1C,QAAA,MAAM,WAAW,GAAG,SAAS,KAAK,IAAI,CAAC,EAAE;;AAEzC,QAAA,IAAI,WAAW,KAAK,IAAI,CAAC,SAAS,EAAE;AAClC,YAAA,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AAC5B,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,YAAA,IAAI,CAAC,SAAS,GAAG,WAAW;QAC9B;IACF;AAnEW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,8CAgBZ,YAAY,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAhBX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,QAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAdvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AAC1B,iBAAA;;0BA4BI,MAAM;2BAAC,YAAY;;sBAPrB,MAAM;uBAAC,mBAAmB;;sBAuB1B,KAAK;uBAAC,aAAa;;;ACnEtB;;;;;AAKG;MAOU,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;QAEE,IAAA,CAAA,UAAU,GAAG,CAAC;QACd,IAAA,CAAA,iBAAiB,GAAG,KAAK;QAEf,IAAA,CAAA,QAAQ,GAAG,KAAK;QAChB,IAAA,CAAA,SAAS,GAAG,KAAK;AACjB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAW;AAyCjD,IAAA;AAvCC,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IACA,IAAI,OAAO,CAAC,KAAc,EAAA;AACxB,QAAA,KAAK,GAAG,CAAC,CAAC,KAAK;AACf,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE;AAC3B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;QACvB;IACF;AAEA,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;IACA,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,KAAK,GAAG,CAAC,CAAC,KAAK;AACf,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AAC5B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC;IACF;AAEA,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;IAC1C;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,SAAS;IACjC;AAEA,IAAA,kBAAkB,CAAC,KAAsB,EAAA;QACvC,QAAQ,KAAK;YACX,KAAK,eAAe,CAAC,OAAO;AAC1B,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI;gBACnB;AACF,YAAA;AACE,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK;gBACpB;;IAEN;8GA9CW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAf,eAAe,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B;;;ACXD;;;;;AAKG;MAsBU,aAAa,CAAA;IAUxB,WAAA,CACsB,QAA0B,EACtC,SAA2B,EAC3B,EAA2B,EAC3B,QAAmB,EACnB,MAAuB,EAAA;QAJX,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACpB,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,MAAM,GAAN,MAAM;AAde,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,CAAU,IAAI,CAAC;QAEvE,IAAA,CAAA,SAAS,GAAG,KAAK;AAEzB;;AAEG;QACK,IAAA,CAAA,cAAc,GAAmB,EAAE;AASzC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,MAAK;YACjC,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC3C,CAAC,CAAC,CACH;AAED,QAAA,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC,QAAQ;IACvC;AAEA,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;IACA,IAAI,QAAQ,CAAC,KAAuB,EAAA;AAClC,QAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AAC9B,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK;AAC5B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;QACxB;IACF;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;QACxB,IAAI,CAAC,UAAU,EAAE;IACnB;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;AACxB,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAiB,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;IACvE;IAEQ,UAAU,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACvD;QACF;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;;;gBAGxB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClD;iBAAO;;;;;AAKL,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACxB;QACF;aAAO;AACL,YAAA,IAAI;;AAEF,gBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AACxB,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC;gBAChE;qBAAO;AACL,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC;gBAClE;;YAEF;YAAE,OAAO,CAAC,EAAE;;YAEZ;QACF;IACF;8GA7EW,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC5B,iBAAA;;0BAYI;;sBAVF,MAAM;uBAAC,qBAAqB;;sBA0B5B,KAAK;uBAAC,eAAe;;;ACtDxB;;;;;AAKG;MAQU,sBAAsB,GAAgB,CAAC,WAAW,EAAE,aAAa;MAMjE,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAApB,oBAAoB,EAAA,OAAA,EAAA,CAHrB,YAAY,EAH4B,WAAW,EAAE,aAAa,CAAA,EAAA,OAAA,EAAA,CAA1B,WAAW,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;AAMjE,IAAA,SAAA,IAAA,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;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,iBAAA;;;AClBD;;;;;AAKG;;ACLH;;AAEG;;;;"}