{"version":3,"file":"ng-zorro-antd-input-number.mjs","sources":["../../components/input-number/input-number.component.ts","../../components/input-number/input-number.module.ts","../../components/input-number/public-api.ts","../../components/input-number/ng-zorro-antd-input-number.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { DOWN_ARROW, ENTER, UP_ARROW } from '@angular/cdk/keycodes';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n  afterNextRender,\n  booleanAttribute,\n  ChangeDetectionStrategy,\n  Component,\n  computed,\n  contentChild,\n  DestroyRef,\n  ElementRef,\n  forwardRef,\n  inject,\n  Injector,\n  input,\n  linkedSignal,\n  numberAttribute,\n  OnInit,\n  output,\n  signal,\n  untracked,\n  viewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {\n  NZ_FORM_SIZE,\n  NZ_FORM_VARIANT,\n  NzFormItemFeedbackIconComponent,\n  NzFormStatusService\n} from 'ng-zorro-antd/core/form';\nimport {\n  NzSizeLDSType,\n  NzStatus,\n  NzValidateStatus,\n  NzVariant,\n  OnChangeType,\n  OnTouchedType\n} from 'ng-zorro-antd/core/types';\nimport {\n  getStatusClassNames,\n  getVariantClassNames,\n  InputFocusOptions,\n  isNil,\n  isNotNil,\n  triggerFocus\n} from 'ng-zorro-antd/core/util';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport {\n  NzInputAddonAfterDirective,\n  NzInputAddonBeforeDirective,\n  NzInputPrefixDirective,\n  NzInputSuffixDirective\n} from 'ng-zorro-antd/input';\nimport { NZ_SPACE_COMPACT_ITEM_TYPE, NZ_SPACE_COMPACT_SIZE, NzSpaceCompactItemDirective } from 'ng-zorro-antd/space';\n\nexport type NzInputNumberStepEmitter = 'wheel' | 'handler' | 'keyboard';\nexport interface NzInputNumberStepEvent {\n  value: number;\n  offset: number;\n  type: 'up' | 'down';\n  emitter: NzInputNumberStepEmitter;\n}\n\n@Component({\n  selector: 'nz-input-number',\n  exportAs: 'nzInputNumber',\n  imports: [NzIconModule, NzFormItemFeedbackIconComponent, NgTemplateOutlet],\n  template: `\n    @if (hasAddon()) {\n      <ng-template [ngTemplateOutlet]=\"inputNumberWithAddonInner\" />\n    } @else if (hasAffix()) {\n      <ng-template [ngTemplateOutlet]=\"inputNumberWithAffixInner\" />\n    } @else {\n      <ng-template [ngTemplateOutlet]=\"inputNumberInner\" />\n    }\n\n    <ng-template #inputNumberWithAddonInner>\n      <div class=\"ant-input-number-wrapper ant-input-number-group\">\n        @if (hasAddonBefore()) {\n          <div class=\"ant-input-number-group-addon\">\n            <ng-content select=\"[nzInputAddonBefore]\">{{ nzAddonBefore() }}</ng-content>\n          </div>\n        }\n\n        @if (hasAffix()) {\n          <ng-template [ngTemplateOutlet]=\"inputNumberWithAffix\" />\n        } @else {\n          <ng-template [ngTemplateOutlet]=\"inputNumber\" />\n        }\n\n        @if (hasAddonAfter()) {\n          <div class=\"ant-input-number-group-addon\">\n            <ng-content select=\"[nzInputAddonAfter]\">{{ nzAddonAfter() }}</ng-content>\n          </div>\n        }\n      </div>\n    </ng-template>\n\n    <ng-template #inputNumberWithAffix>\n      <div [class]=\"affixWrapperClass()\">\n        <ng-template [ngTemplateOutlet]=\"inputNumberWithAffixInner\" />\n      </div>\n    </ng-template>\n\n    <ng-template #inputNumberWithAffixInner>\n      @if (hasPrefix()) {\n        <span class=\"ant-input-number-prefix\">\n          <ng-content select=\"[nzInputPrefix]\">{{ nzPrefix() }}</ng-content>\n        </span>\n      }\n      <ng-template [ngTemplateOutlet]=\"inputNumber\" />\n      @if (hasSuffix()) {\n        <span class=\"ant-input-number-suffix\">\n          <ng-content select=\"[nzInputSuffix]\">{{ nzSuffix() }}</ng-content>\n          @if (hasFeedback() && finalStatus()) {\n            <nz-form-item-feedback-icon [status]=\"finalStatus()\" />\n          }\n        </span>\n      }\n    </ng-template>\n\n    <ng-template #inputNumber>\n      <div #inputNumberHost [class]=\"inputNumberClass()\">\n        <ng-template [ngTemplateOutlet]=\"inputNumberInner\" />\n      </div>\n    </ng-template>\n\n    <ng-template #inputNumberInner>\n      @if (nzControls()) {\n        <div #handlers class=\"ant-input-number-handler-wrap\" (mouseup)=\"stopAutoStep()\" (mouseleave)=\"stopAutoStep()\">\n          <span\n            role=\"button\"\n            unselectable=\"on\"\n            class=\"ant-input-number-handler ant-input-number-handler-up\"\n            [class.ant-input-number-handler-up-disabled]=\"upDisabled()\"\n            [attr.aria-disabled]=\"upDisabled()\"\n            (mousedown)=\"onStepMouseDown($event, true)\"\n          >\n            <ng-content select=\"[nzInputNumberUpIcon]\">\n              <nz-icon nzType=\"up\" class=\"ant-input-number-handler-up-inner\" />\n            </ng-content>\n          </span>\n          <span\n            role=\"button\"\n            unselectable=\"on\"\n            class=\"ant-input-number-handler ant-input-number-handler-down\"\n            [class.ant-input-number-handler-down-disabled]=\"downDisabled()\"\n            [attr.aria-disabled]=\"downDisabled()\"\n            (mousedown)=\"onStepMouseDown($event, false)\"\n          >\n            <ng-content select=\"[nzInputNumberDownIcon]\">\n              <nz-icon nzType=\"down\" class=\"ant-input-number-handler-down-inner\" />\n            </ng-content>\n          </span>\n        </div>\n      }\n\n      <div class=\"ant-input-number-input-wrap\">\n        <input\n          #input\n          autocomplete=\"off\"\n          role=\"spinbutton\"\n          class=\"ant-input-number-input\"\n          [attr.aria-valuemin]=\"nzMin()\"\n          [attr.aria-valuemax]=\"nzMax()\"\n          [attr.id]=\"nzId()\"\n          [attr.step]=\"nzStep()\"\n          [attr.value]=\"displayValue()\"\n          [value]=\"displayValue()\"\n          [placeholder]=\"nzPlaceHolder() ?? ''\"\n          [disabled]=\"finalDisabled()\"\n          [readOnly]=\"nzReadOnly()\"\n          (input)=\"onInput(input.value)\"\n          (wheel)=\"onWheel($event)\"\n        />\n      </div>\n    </ng-template>\n  `,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => NzInputNumberComponent),\n      multi: true\n    },\n    { provide: NZ_SPACE_COMPACT_ITEM_TYPE, useValue: 'input-number' }\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    '[class]': 'class()',\n    '(keydown)': 'onKeyDown($event)'\n  },\n  hostDirectives: [NzSpaceCompactItemDirective]\n})\nexport class NzInputNumberComponent implements OnInit, ControlValueAccessor {\n  readonly nzId = input<string | null>(null);\n  readonly nzSize = input<NzSizeLDSType>('default');\n  readonly nzPlaceHolder = input<string | null>(null);\n  readonly nzStatus = input<NzStatus>('');\n  readonly nzVariant = input<NzVariant>();\n  readonly nzStep = input(1, { transform: numberAttribute });\n  readonly nzMin = input(Number.MIN_SAFE_INTEGER, { transform: numberAttribute });\n  readonly nzMax = input(Number.MAX_SAFE_INTEGER, { transform: numberAttribute });\n  readonly nzPrecision = input<number | null>(null);\n  readonly nzParser = input<((value: string) => number) | null>();\n  readonly nzFormatter = input<((value: number) => string) | null>();\n  readonly nzDisabled = input(false, { transform: booleanAttribute });\n  readonly nzReadOnly = input(false, { transform: booleanAttribute });\n  readonly nzAutoFocus = input(false, { transform: booleanAttribute });\n  readonly nzKeyboard = input(true, { transform: booleanAttribute });\n  readonly nzControls = input(true, { transform: booleanAttribute });\n  readonly nzChangeOnWheel = input(true, { transform: booleanAttribute });\n  readonly nzPrefix = input<string>();\n  readonly nzSuffix = input<string>();\n  readonly nzAddonBefore = input<string>();\n  readonly nzAddonAfter = input<string>();\n\n  readonly nzBlur = output<void>();\n  readonly nzFocus = output<void>();\n\n  readonly nzOnStep = output<NzInputNumberStepEvent>();\n\n  private onChange: OnChangeType = () => {};\n  private onTouched: OnTouchedType = () => {};\n  private isDisabledFirstChange = true;\n  private compactSize = inject(NZ_SPACE_COMPACT_SIZE, { optional: true });\n  private inputRef = viewChild.required<ElementRef<HTMLInputElement>>('input');\n  private hostRef = viewChild<ElementRef<HTMLDivElement>>('inputNumberHost');\n  private elementRef = inject(ElementRef);\n  private injector = inject(Injector);\n  private focusMonitor = inject(FocusMonitor);\n  private directionality = inject(Directionality);\n  private nzFormStatusService = inject(NzFormStatusService, { optional: true });\n  private autoStepTimer: ReturnType<typeof setTimeout> | null = null;\n  private defaultFormatter = (value: number): string => {\n    const precision = this.nzPrecision();\n    if (isNotNil(precision)) {\n      return value.toFixed(precision);\n    }\n    return value.toString();\n  };\n\n  protected readonly value = signal<number | null>(null);\n  protected readonly displayValue = signal('');\n\n  private readonly formSize = inject(NZ_FORM_SIZE, { optional: true });\n  private readonly formVariant = inject(NZ_FORM_VARIANT, { optional: true });\n\n  protected readonly dir = inject(Directionality).valueSignal;\n  protected readonly focused = signal(false);\n  protected readonly hasFeedback = signal(false);\n  protected readonly finalStatus = linkedSignal<NzValidateStatus>(() => this.nzStatus());\n  protected readonly finalDisabled = linkedSignal(() => this.nzDisabled());\n\n  protected readonly prefix = contentChild(NzInputPrefixDirective);\n  protected readonly suffix = contentChild(NzInputSuffixDirective);\n  protected readonly addonBefore = contentChild(NzInputAddonBeforeDirective);\n  protected readonly addonAfter = contentChild(NzInputAddonAfterDirective);\n\n  protected readonly hasPrefix = computed(() => !!this.nzPrefix() || !!this.prefix());\n  protected readonly hasSuffix = computed(() => !!this.nzSuffix() || !!this.suffix() || this.hasFeedback());\n  protected readonly hasAffix = computed(() => this.hasPrefix() || this.hasSuffix());\n  protected readonly hasAddonBefore = computed(() => !!this.nzAddonBefore() || !!this.addonBefore());\n  protected readonly hasAddonAfter = computed(() => !!this.nzAddonAfter() || !!this.addonAfter());\n  protected readonly hasAddon = computed(() => this.hasAddonBefore() || this.hasAddonAfter());\n\n  protected readonly class = computed(() => {\n    if (this.hasAddon()) {\n      return this.groupWrapperClass();\n    }\n    if (this.hasAffix()) {\n      return this.affixWrapperClass();\n    }\n    return this.inputNumberClass();\n  });\n  protected readonly inputNumberClass = computed(() => {\n    return {\n      'ant-input-number': true,\n      'ant-input-number-lg': this.finalSize() === 'large',\n      'ant-input-number-sm': this.finalSize() === 'small',\n      'ant-input-number-disabled': this.finalDisabled(),\n      'ant-input-number-readonly': this.nzReadOnly(),\n      'ant-input-number-focused': this.focused(),\n      'ant-input-number-rtl': this.dir() === 'rtl',\n      'ant-input-number-in-form-item': !!this.nzFormStatusService,\n      'ant-input-number-out-of-range': this.value() !== null && !isInRange(this.value()!, this.nzMin(), this.nzMax()),\n      ...getVariantClassNames('ant-input-number', this.finalVariant()),\n      ...getStatusClassNames('ant-input-number', this.finalStatus(), this.hasFeedback())\n    };\n  });\n  protected readonly affixWrapperClass = computed(() => {\n    return {\n      'ant-input-number-affix-wrapper': true,\n      'ant-input-number-affix-wrapper-disabled': this.finalDisabled(),\n      'ant-input-number-affix-wrapper-readonly': this.nzReadOnly(),\n      'ant-input-number-affix-wrapper-focused': this.focused(),\n      'ant-input-number-affix-wrapper-rtl': this.dir() === 'rtl',\n      ...getStatusClassNames('ant-input-number-affix-wrapper', this.finalStatus(), this.hasFeedback()),\n      ...getVariantClassNames('ant-input-number-affix-wrapper', this.finalVariant())\n    };\n  });\n  protected readonly groupWrapperClass = computed(() => {\n    return {\n      'ant-input-number-group-wrapper': true,\n      'ant-input-number-group-wrapper-rtl': this.dir() === 'rtl',\n      ...getStatusClassNames('ant-input-number-group-wrapper', this.finalStatus(), this.hasFeedback()),\n      ...getVariantClassNames('ant-input-number-group-wrapper', this.finalVariant())\n    };\n  });\n\n  protected readonly finalSize = computed(() => {\n    if (this.formSize?.()) {\n      return this.formSize();\n    }\n    if (this.compactSize) {\n      return this.compactSize();\n    }\n    return this.nzSize();\n  });\n\n  protected readonly finalVariant = computed(() => this.nzVariant() || this.formVariant?.() || 'outlined');\n\n  protected readonly upDisabled = computed(() => {\n    return !isNil(this.value()) && this.value()! >= this.nzMax();\n  });\n  protected readonly downDisabled = computed(() => {\n    return !isNil(this.value()) && this.value()! <= this.nzMin();\n  });\n\n  constructor() {\n    const destroyRef = inject(DestroyRef);\n\n    afterNextRender(() => {\n      const hostRef = this.hostRef();\n      const element = hostRef ? hostRef : this.elementRef;\n\n      this.focusMonitor\n        .monitor(element, true)\n        .pipe(takeUntilDestroyed(destroyRef))\n        .subscribe(origin => {\n          this.focused.set(!!origin);\n\n          if (origin) {\n            this.nzFocus.emit();\n          } else {\n            this.fixValue();\n            this.onTouched();\n            this.nzBlur.emit();\n          }\n        });\n\n      destroyRef.onDestroy(() => {\n        this.focusMonitor.stopMonitoring(element);\n      });\n    });\n\n    this.nzFormStatusService?.formStatusChanges.pipe(takeUntilDestroyed()).subscribe(({ status, hasFeedback }) => {\n      this.finalStatus.set(status);\n      this.hasFeedback.set(hasFeedback);\n    });\n  }\n\n  ngOnInit(): void {\n    if (this.nzAutoFocus()) {\n      afterNextRender(() => this.focus(), { injector: this.injector });\n    }\n  }\n\n  writeValue(value: number | null | undefined): void {\n    if (isNil(value)) value = null;\n    untracked(() => {\n      this.value.set(value);\n      this.setValue(value);\n    });\n  }\n\n  registerOnChange(fn: OnChangeType): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: OnTouchedType): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(disabled: boolean): void {\n    untracked(() => {\n      this.finalDisabled.set((this.isDisabledFirstChange && this.nzDisabled()) || disabled);\n    });\n    this.isDisabledFirstChange = false;\n  }\n\n  focus(options?: InputFocusOptions): void {\n    triggerFocus(this.inputRef().nativeElement, options);\n  }\n\n  blur(): void {\n    this.inputRef().nativeElement.blur();\n  }\n\n  private step(event: MouseEvent | KeyboardEvent, up: boolean, emitter: NzInputNumberStepEmitter): void {\n    // Ignore step since out of range\n    if ((up && this.upDisabled()) || (!up && this.downDisabled())) {\n      return;\n    }\n\n    // When hold the shift key, the step is 10 times\n    let step = event.shiftKey ? this.nzStep() * 10 : this.nzStep();\n    if (!up) {\n      step = -step;\n    }\n\n    const places = getDecimalPlaces(step);\n    const multiple = 10 ** places;\n    const nextValue = getRangeValue(\n      // Convert floating point numbers to integers to avoid floating point math errors\n      (Math.round((this.value() || 0) * multiple) + Math.round(step * multiple)) / multiple,\n      this.nzMin(),\n      this.nzMax(),\n      this.nzPrecision()\n    );\n    this.setValue(nextValue);\n\n    this.nzOnStep.emit({\n      type: up ? 'up' : 'down',\n      value: this.value()!,\n      offset: this.nzStep(),\n      emitter: emitter\n    });\n\n    this.focus();\n  }\n\n  private setValue(value: number | null): void {\n    const formatter = this.nzFormatter() ?? this.defaultFormatter;\n    const precision = this.nzPrecision();\n\n    if (isNotNil(precision)) {\n      value &&= +value.toFixed(precision);\n    }\n\n    const formattedValue = isNil(value) ? '' : formatter(value);\n    this.displayValue.set(formattedValue);\n    this.updateValue(value);\n  }\n\n  private setValueByTyping(value: string): void {\n    this.displayValue.set(value);\n\n    if (value === '') {\n      this.updateValue(null);\n      return;\n    }\n\n    const parser = this.nzParser() ?? defaultParser;\n    const parsedValue = parser(value);\n\n    if (isNotCompleteNumber(value) || Number.isNaN(parsedValue)) {\n      return;\n    }\n\n    // Formatting is called during input only if the user provided a formatter.\n    // Otherwise, formatting is only called when the input blurs.\n    const formatter = this.nzFormatter();\n    if (formatter) {\n      const formattedValue = formatter(parsedValue);\n      this.displayValue.set(formattedValue);\n    }\n\n    if (!isInRange(parsedValue, this.nzMin(), this.nzMax())) {\n      return;\n    }\n\n    this.updateValue(parsedValue);\n  }\n\n  private updateValue(value: number | null): void {\n    if (this.value() !== value) {\n      this.value.set(value);\n      this.onChange(value);\n    }\n  }\n\n  private fixValue(): void {\n    const displayValue = this.displayValue();\n\n    if (displayValue === '') {\n      return;\n    }\n\n    const parser = this.nzParser() ?? defaultParser;\n    let fixedValue: number | null = parser(displayValue);\n\n    // If parsing fails, revert to the previous value\n    if (Number.isNaN(fixedValue)) {\n      fixedValue = this.value();\n    } else {\n      const precision = this.nzPrecision();\n      // fix precision\n      if (isNotNil(precision) && getDecimalPlaces(fixedValue) !== precision) {\n        fixedValue = +fixedValue.toFixed(precision);\n      }\n\n      // fix range\n      if (!isInRange(fixedValue, this.nzMin(), this.nzMax())) {\n        fixedValue = getRangeValue(fixedValue, this.nzMin(), this.nzMax(), precision);\n      }\n    }\n\n    this.setValue(fixedValue);\n  }\n\n  protected stopAutoStep(): void {\n    if (this.autoStepTimer !== null) {\n      clearTimeout(this.autoStepTimer);\n      this.autoStepTimer = null;\n    }\n  }\n\n  protected onStepMouseDown(event: MouseEvent | KeyboardEvent, up: boolean): void {\n    event.preventDefault();\n    this.stopAutoStep();\n\n    this.step(event, up, 'handler');\n\n    // Loop step for interval\n    const loopStep: () => void = () => {\n      this.step(event, up, 'handler');\n      this.autoStepTimer = setTimeout(loopStep, STEP_INTERVAL);\n    };\n\n    // First time press will wait some time to trigger loop step update\n    this.autoStepTimer = setTimeout(loopStep, STEP_DELAY);\n  }\n\n  protected onKeyDown(event: KeyboardEvent): void {\n    switch (event.keyCode) {\n      case UP_ARROW:\n        event.preventDefault();\n        this.nzKeyboard() && this.step(event, true, 'keyboard');\n        break;\n      case DOWN_ARROW:\n        event.preventDefault();\n        this.nzKeyboard() && this.step(event, false, 'keyboard');\n        break;\n      case ENTER:\n        this.fixValue();\n        break;\n    }\n  }\n\n  protected onInput(value: string): void {\n    this.setValueByTyping(value);\n  }\n\n  protected onWheel(event: WheelEvent): void {\n    if (this.nzDisabled() || !this.nzChangeOnWheel()) {\n      return;\n    }\n\n    event.preventDefault();\n    this.step(event, event.deltaY < 0, 'wheel');\n  }\n}\n\n/**\n * When click and hold on a button - the speed of auto changing the value.\n */\nconst STEP_INTERVAL = 200;\n\n/**\n * When click and hold on a button - the delay before auto changing the value.\n */\nconst STEP_DELAY = 600;\n\nfunction defaultParser(value: string): number {\n  const parsedValue = value.trim().replace(/,/g, '').replace(/。/g, '.');\n  // `+'' === 0`, so we need to check if parsedValue is empty\n  if (parsedValue.length) {\n    return +parsedValue;\n  }\n  return NaN;\n}\n\nfunction isInRange(value: number, min: number, max: number): boolean {\n  return value >= min && value <= max;\n}\n\n/**\n * if max > 0, round down with precision. Example: input= 3.5, max= 3.5, precision=0; output= 3\n * if max < 0, round up   with precision. Example: input=-3.5, max=-3.5, precision=0; output=-4\n * if min > 0, round up   with precision. Example: input= 3.5, min= 3.5, precision=0; output= 4\n * if min < 0, round down with precision. Example: input=-3.5, min=-3.5, precision=0; output=-3\n */\nfunction getRangeValue(value: number, min: number, max: number, precision: number | null = null): number {\n  if (precision === null) {\n    if (value < min) {\n      return min;\n    }\n\n    if (value > max) {\n      return max;\n    }\n\n    return value;\n  }\n\n  const fixedValue = +value.toFixed(precision);\n  const multiple = Math.pow(10, precision);\n\n  if (fixedValue < min) {\n    return Math.ceil(min * multiple) / multiple;\n  }\n\n  if (fixedValue > max) {\n    return Math.floor(max * multiple) / multiple;\n  }\n\n  return fixedValue;\n}\n\nfunction getDecimalPlaces(num: number): number {\n  return num.toString().split('.')[1]?.length || 0;\n}\n\nfunction isNotCompleteNumber(value: string | number): boolean {\n  return /[.。](\\d*0)?$/.test(value.toString());\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\nimport {\n  NzInputAddonAfterDirective,\n  NzInputAddonBeforeDirective,\n  NzInputPrefixDirective,\n  NzInputSuffixDirective\n} from 'ng-zorro-antd/input';\n\nimport { NzInputNumberComponent } from './input-number.component';\n\n@NgModule({\n  imports: [\n    NzInputNumberComponent,\n    NzInputAddonBeforeDirective,\n    NzInputAddonAfterDirective,\n    NzInputPrefixDirective,\n    NzInputSuffixDirective\n  ],\n  exports: [\n    NzInputNumberComponent,\n    NzInputAddonBeforeDirective,\n    NzInputAddonAfterDirective,\n    NzInputPrefixDirective,\n    NzInputSuffixDirective\n  ]\n})\nexport class NzInputNumberModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './input-number.component';\nexport * from './input-number.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;AAGG;MAyMU,sBAAsB,CAAA;AACxB,IAAA,IAAI,GAAG,KAAK,CAAgB,IAAI,gDAAC;AACjC,IAAA,MAAM,GAAG,KAAK,CAAgB,SAAS,kDAAC;AACxC,IAAA,aAAa,GAAG,KAAK,CAAgB,IAAI,yDAAC;AAC1C,IAAA,QAAQ,GAAG,KAAK,CAAW,EAAE,oDAAC;IAC9B,SAAS,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAa;IAC9B,MAAM,GAAG,KAAK,CAAC,CAAC,mDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IACjD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,OAAA,EAAA,GAAA,EAAA,CAAA,EAAI,SAAS,EAAE,eAAe,EAAA,CAAG;IACtE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,OAAA,EAAA,GAAA,EAAA,CAAA,EAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AACtE,IAAA,WAAW,GAAG,KAAK,CAAgB,IAAI,uDAAC;IACxC,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAsC;IACtD,WAAW,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAsC;IACzD,UAAU,GAAG,KAAK,CAAC,KAAK,uDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC1D,UAAU,GAAG,KAAK,CAAC,KAAK,uDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC1D,WAAW,GAAG,KAAK,CAAC,KAAK,wDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC3D,UAAU,GAAG,KAAK,CAAC,IAAI,uDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IACzD,UAAU,GAAG,KAAK,CAAC,IAAI,uDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IACzD,eAAe,GAAG,KAAK,CAAC,IAAI,4DAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAC9D,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IAC1B,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IAC1B,aAAa,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,eAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IAC/B,YAAY,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;IAE9B,MAAM,GAAG,MAAM,EAAQ;IACvB,OAAO,GAAG,MAAM,EAAQ;IAExB,QAAQ,GAAG,MAAM,EAA0B;AAE5C,IAAA,QAAQ,GAAiB,MAAK,EAAE,CAAC;AACjC,IAAA,SAAS,GAAkB,MAAK,EAAE,CAAC;IACnC,qBAAqB,GAAG,IAAI;IAC5B,WAAW,GAAG,MAAM,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC/D,IAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAA+B,OAAO,CAAC;AACpE,IAAA,OAAO,GAAG,SAAS,CAA6B,iBAAiB,mDAAC;AAClE,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AACnC,IAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IACvC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACrE,aAAa,GAAyC,IAAI;AAC1D,IAAA,gBAAgB,GAAG,CAAC,KAAa,KAAY;AACnD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;AACpC,QAAA,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE;AACvB,YAAA,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QACjC;AACA,QAAA,OAAO,KAAK,CAAC,QAAQ,EAAE;AACzB,IAAA,CAAC;AAEkB,IAAA,KAAK,GAAG,MAAM,CAAgB,IAAI,iDAAC;AACnC,IAAA,YAAY,GAAG,MAAM,CAAC,EAAE,wDAAC;IAE3B,QAAQ,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnD,WAAW,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAEvD,IAAA,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW;AACxC,IAAA,OAAO,GAAG,MAAM,CAAC,KAAK,mDAAC;AACvB,IAAA,WAAW,GAAG,MAAM,CAAC,KAAK,uDAAC;IAC3B,WAAW,GAAG,YAAY,CAAmB,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;IACnE,aAAa,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,eAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAErD,IAAA,MAAM,GAAG,YAAY,CAAC,sBAAsB,kDAAC;AAC7C,IAAA,MAAM,GAAG,YAAY,CAAC,sBAAsB,kDAAC;AAC7C,IAAA,WAAW,GAAG,YAAY,CAAC,2BAA2B,uDAAC;AACvD,IAAA,UAAU,GAAG,YAAY,CAAC,0BAA0B,sDAAC;IAErD,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,qDAAC;IAChE,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AACtF,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,oDAAC;IAC/D,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,0DAAC;IAC/E,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,yDAAC;AAC5E,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,oDAAC;AAExE,IAAA,KAAK,GAAG,QAAQ,CAAC,MAAK;AACvC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,YAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;QACjC;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,YAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;QACjC;AACA,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE;AAChC,IAAA,CAAC,iDAAC;AACiB,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;QAClD,OAAO;AACL,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,qBAAqB,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,OAAO;AACnD,YAAA,qBAAqB,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,OAAO;AACnD,YAAA,2BAA2B,EAAE,IAAI,CAAC,aAAa,EAAE;AACjD,YAAA,2BAA2B,EAAE,IAAI,CAAC,UAAU,EAAE;AAC9C,YAAA,0BAA0B,EAAE,IAAI,CAAC,OAAO,EAAE;AAC1C,YAAA,sBAAsB,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK;AAC5C,YAAA,+BAA+B,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB;YAC3D,+BAA+B,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAG,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/G,GAAG,oBAAoB,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;AAChE,YAAA,GAAG,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE;SAClF;AACH,IAAA,CAAC,4DAAC;AACiB,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;QACnD,OAAO;AACL,YAAA,gCAAgC,EAAE,IAAI;AACtC,YAAA,yCAAyC,EAAE,IAAI,CAAC,aAAa,EAAE;AAC/D,YAAA,yCAAyC,EAAE,IAAI,CAAC,UAAU,EAAE;AAC5D,YAAA,wCAAwC,EAAE,IAAI,CAAC,OAAO,EAAE;AACxD,YAAA,oCAAoC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK;AAC1D,YAAA,GAAG,mBAAmB,CAAC,gCAAgC,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAChG,GAAG,oBAAoB,CAAC,gCAAgC,EAAE,IAAI,CAAC,YAAY,EAAE;SAC9E;AACH,IAAA,CAAC,6DAAC;AACiB,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;QACnD,OAAO;AACL,YAAA,gCAAgC,EAAE,IAAI;AACtC,YAAA,oCAAoC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK;AAC1D,YAAA,GAAG,mBAAmB,CAAC,gCAAgC,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAChG,GAAG,oBAAoB,CAAC,gCAAgC,EAAE,IAAI,CAAC,YAAY,EAAE;SAC9E;AACH,IAAA,CAAC,6DAAC;AAEiB,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;AAC3C,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;AACrB,YAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;QACxB;AACA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,OAAO,IAAI,CAAC,WAAW,EAAE;QAC3B;AACA,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;AACtB,IAAA,CAAC,qDAAC;AAEiB,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,UAAU,wDAAC;AAErF,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAC5C,QAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,EAAG,IAAI,IAAI,CAAC,KAAK,EAAE;AAC9D,IAAA,CAAC,sDAAC;AACiB,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AAC9C,QAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,EAAG,IAAI,IAAI,CAAC,KAAK,EAAE;AAC9D,IAAA,CAAC,wDAAC;AAEF,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAErC,eAAe,CAAC,MAAK;AACnB,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,UAAU;AAEnD,YAAA,IAAI,CAAC;AACF,iBAAA,OAAO,CAAC,OAAO,EAAE,IAAI;AACrB,iBAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;iBACnC,SAAS,CAAC,MAAM,IAAG;gBAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;gBAE1B,IAAI,MAAM,EAAE;AACV,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBACrB;qBAAO;oBACL,IAAI,CAAC,QAAQ,EAAE;oBACf,IAAI,CAAC,SAAS,EAAE;AAChB,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;gBACpB;AACF,YAAA,CAAC,CAAC;AAEJ,YAAA,UAAU,CAAC,SAAS,CAAC,MAAK;AACxB,gBAAA,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC;AAC3C,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAI;AAC3G,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;AAC5B,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;AACnC,QAAA,CAAC,CAAC;IACJ;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACtB,YAAA,eAAe,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClE;IACF;AAEA,IAAA,UAAU,CAAC,KAAgC,EAAA;QACzC,IAAI,KAAK,CAAC,KAAK,CAAC;YAAE,KAAK,GAAG,IAAI;QAC9B,SAAS,CAAC,MAAK;AACb,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACtB,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,gBAAgB,CAAC,EAAgB,EAAA;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAiB,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,QAAiB,EAAA;QAChC,SAAS,CAAC,MAAK;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,QAAQ,CAAC;AACvF,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;IACpC;AAEA,IAAA,KAAK,CAAC,OAA2B,EAAA;QAC/B,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;IACtD;IAEA,IAAI,GAAA;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE;IACtC;AAEQ,IAAA,IAAI,CAAC,KAAiC,EAAE,EAAW,EAAE,OAAiC,EAAA;;AAE5F,QAAA,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE;YAC7D;QACF;;QAGA,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;QAC9D,IAAI,CAAC,EAAE,EAAE;YACP,IAAI,GAAG,CAAC,IAAI;QACd;AAEA,QAAA,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC;AACrC,QAAA,MAAM,QAAQ,GAAG,EAAE,IAAI,MAAM;QAC7B,MAAM,SAAS,GAAG,aAAa;;AAE7B,QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,QAAQ,EACrF,IAAI,CAAC,KAAK,EAAE,EACZ,IAAI,CAAC,KAAK,EAAE,EACZ,IAAI,CAAC,WAAW,EAAE,CACnB;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;AAExB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,EAAE,GAAG,IAAI,GAAG,MAAM;AACxB,YAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EAAG;AACpB,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACrB,YAAA,OAAO,EAAE;AACV,SAAA,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE;IACd;AAEQ,IAAA,QAAQ,CAAC,KAAoB,EAAA;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,gBAAgB;AAC7D,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;AAEpC,QAAA,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE;YACvB,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QACrC;AAEA,QAAA,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC;AAC3D,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC;AACrC,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IACzB;AAEQ,IAAA,gBAAgB,CAAC,KAAa,EAAA;AACpC,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;AAE5B,QAAA,IAAI,KAAK,KAAK,EAAE,EAAE;AAChB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACtB;QACF;QAEA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,aAAa;AAC/C,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;AAEjC,QAAA,IAAI,mBAAmB,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAC3D;QACF;;;AAIA,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;QACpC,IAAI,SAAS,EAAE;AACb,YAAA,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,CAAC;AAC7C,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC;QACvC;AAEA,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE;YACvD;QACF;AAEA,QAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;IAC/B;AAEQ,IAAA,WAAW,CAAC,KAAoB,EAAA;AACtC,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtB;IACF;IAEQ,QAAQ,GAAA;AACd,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE;AAExC,QAAA,IAAI,YAAY,KAAK,EAAE,EAAE;YACvB;QACF;QAEA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,aAAa;AAC/C,QAAA,IAAI,UAAU,GAAkB,MAAM,CAAC,YAAY,CAAC;;AAGpD,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;AAC5B,YAAA,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE;QAC3B;aAAO;AACL,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;;AAEpC,YAAA,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;gBACrE,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7C;;AAGA,YAAA,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE;AACtD,gBAAA,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC;YAC/E;QACF;AAEA,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC3B;IAEU,YAAY,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;AAC/B,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;AAChC,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;QAC3B;IACF;IAEU,eAAe,CAAC,KAAiC,EAAE,EAAW,EAAA;QACtE,KAAK,CAAC,cAAc,EAAE;QACtB,IAAI,CAAC,YAAY,EAAE;QAEnB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC;;QAG/B,MAAM,QAAQ,GAAe,MAAK;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC;AAC1D,QAAA,CAAC;;QAGD,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC;IACvD;AAEU,IAAA,SAAS,CAAC,KAAoB,EAAA;AACtC,QAAA,QAAQ,KAAK,CAAC,OAAO;AACnB,YAAA,KAAK,QAAQ;gBACX,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC;gBACvD;AACF,YAAA,KAAK,UAAU;gBACb,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC;gBACxD;AACF,YAAA,KAAK,KAAK;gBACR,IAAI,CAAC,QAAQ,EAAE;gBACf;;IAEN;AAEU,IAAA,OAAO,CAAC,KAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;IAC9B;AAEU,IAAA,OAAO,CAAC,KAAiB,EAAA;QACjC,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;YAChD;QACF;QAEA,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC;IAC7C;uGA/WW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,EAAA,SAAA,EAhBtB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,gBAAA,KAAK,EAAE;AACR,aAAA;AACD,YAAA,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,cAAc;AAChE,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAqEwC,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACtB,sBAAsB,8FACjB,2BAA2B,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAC5B,0BAA0B,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA9L7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8GT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA/GS,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,+BAA+B,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAgI9D,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAnIlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,+BAA+B,EAAE,gBAAgB,CAAC;AAC1E,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8GT,EAAA,CAAA;AACD,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE;AACR,yBAAA;AACD,wBAAA,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,cAAc;AAChE,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,WAAW,EAAE;AACd,qBAAA;oBACD,cAAc,EAAE,CAAC,2BAA2B;AAC7C,iBAAA;2wEAiCqE,OAAO,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACnB,iBAAiB,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MA2BhC,sBAAsB,wFACtB,sBAAsB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MACjB,2BAA2B,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAC5B,0BAA0B,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;AAmTzE;;AAEG;AACH,MAAM,aAAa,GAAG,GAAG;AAEzB;;AAEG;AACH,MAAM,UAAU,GAAG,GAAG;AAEtB,SAAS,aAAa,CAAC,KAAa,EAAA;IAClC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;;AAErE,IAAA,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,OAAO,CAAC,WAAW;IACrB;AACA,IAAA,OAAO,GAAG;AACZ;AAEA,SAAS,SAAS,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAA;AACxD,IAAA,OAAO,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG;AACrC;AAEA;;;;;AAKG;AACH,SAAS,aAAa,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAE,SAAA,GAA2B,IAAI,EAAA;AAC7F,IAAA,IAAI,SAAS,KAAK,IAAI,EAAE;AACtB,QAAA,IAAI,KAAK,GAAG,GAAG,EAAE;AACf,YAAA,OAAO,GAAG;QACZ;AAEA,QAAA,IAAI,KAAK,GAAG,GAAG,EAAE;AACf,YAAA,OAAO,GAAG;QACZ;AAEA,QAAA,OAAO,KAAK;IACd;IAEA,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC;AAExC,IAAA,IAAI,UAAU,GAAG,GAAG,EAAE;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,QAAQ;IAC7C;AAEA,IAAA,IAAI,UAAU,GAAG,GAAG,EAAE;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,QAAQ;IAC9C;AAEA,IAAA,OAAO,UAAU;AACnB;AAEA,SAAS,gBAAgB,CAAC,GAAW,EAAA;AACnC,IAAA,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC;AAClD;AAEA,SAAS,mBAAmB,CAAC,KAAsB,EAAA;IACjD,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC9C;;AC5nBA;;;AAGG;MA6BU,mBAAmB,CAAA;uGAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAd5B,sBAAsB;YACtB,2BAA2B;YAC3B,0BAA0B;YAC1B,sBAAsB;AACtB,YAAA,sBAAsB,aAGtB,sBAAsB;YACtB,2BAA2B;YAC3B,0BAA0B;YAC1B,sBAAsB;YACtB,sBAAsB,CAAA,EAAA,CAAA;AAGb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAd5B,sBAAsB,CAAA,EAAA,CAAA;;2FAcb,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAhB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB,2BAA2B;wBAC3B,0BAA0B;wBAC1B,sBAAsB;wBACtB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB,2BAA2B;wBAC3B,0BAA0B;wBAC1B,sBAAsB;wBACtB;AACD;AACF,iBAAA;;;AC/BD;;;AAGG;;ACHH;;AAEG;;;;"}