{"version":3,"file":"color-picker.mjs","sources":["../../../../../../../packages/components/color-picker/src/color-picker.vue"],"sourcesContent":["<template>\n  <el-tooltip\n    ref=\"popper\"\n    :visible=\"showPicker\"\n    :show-arrow=\"false\"\n    :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n    :offset=\"0\"\n    :gpu-acceleration=\"false\"\n    :popper-class=\"[ns.be('picker', 'panel'), popperClass!]\"\n    :popper-style=\"popperStyle\"\n    :stop-popper-mouse-event=\"false\"\n    pure\n    effect=\"light\"\n    trigger=\"click\"\n    :teleported=\"teleported\"\n    :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n    :persistent=\"persistent\"\n    :append-to=\"appendTo\"\n    @hide=\"setShowPicker(false)\"\n  >\n    <template #content>\n      <el-color-picker-panel\n        ref=\"pickerPanelRef\"\n        v-bind=\"panelProps\"\n        v-click-outside:[triggerRef]=\"handleClickOutside\"\n        :border=\"false\"\n        @keydown.esc=\"handleEsc\"\n      >\n        <template #footer>\n          <div>\n            <el-button\n              :class=\"ns.be('footer', 'link-btn')\"\n              text\n              size=\"small\"\n              @click=\"clear\"\n            >\n              {{ t('el.colorpicker.clear') }}\n            </el-button>\n            <el-button\n              plain\n              size=\"small\"\n              :class=\"ns.be('footer', 'btn')\"\n              @click=\"confirmValue\"\n            >\n              {{ t('el.colorpicker.confirm') }}\n            </el-button>\n          </div>\n        </template>\n      </el-color-picker-panel>\n    </template>\n    <template #default>\n      <div\n        :id=\"buttonId\"\n        ref=\"triggerRef\"\n        v-bind=\"$attrs\"\n        :class=\"btnKls\"\n        role=\"button\"\n        :aria-label=\"buttonAriaLabel\"\n        :aria-labelledby=\"buttonAriaLabelledby\"\n        :aria-description=\"\n          t('el.colorpicker.description', { color: modelValue || '' })\n        \"\n        :aria-disabled=\"colorDisabled\"\n        :tabindex=\"colorDisabled ? undefined : tabindex\"\n        @keydown=\"handleKeyDown\"\n        @focus=\"handleFocus\"\n        @blur=\"handleBlur\"\n      >\n        <div :class=\"ns.be('picker', 'trigger')\" @click=\"handleTrigger\">\n          <span :class=\"[ns.be('picker', 'color'), ns.is('alpha', showAlpha)]\">\n            <span\n              :class=\"ns.be('picker', 'color-inner')\"\n              :style=\"{\n                backgroundColor: displayedColor,\n              }\"\n            >\n              <el-icon\n                v-show=\"modelValue || showPanelColor\"\n                :class=\"[ns.be('picker', 'icon'), ns.is('icon-arrow-down')]\"\n              >\n                <arrow-down />\n              </el-icon>\n              <el-icon\n                v-show=\"!modelValue && !showPanelColor\"\n                :class=\"[ns.be('picker', 'empty'), ns.is('icon-close')]\"\n              >\n                <close />\n              </el-icon>\n            </span>\n          </span>\n        </div>\n      </div>\n    </template>\n  </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, provide, ref, watch } from 'vue'\nimport { debounce, pick } from 'lodash-unified'\nimport { ElIcon } from '@hd-front-end/components/icon'\nimport { reactiveComputed } from '@vueuse/core'\nimport { ClickOutside as vClickOutside } from '@hd-front-end/directives'\nimport { ElTooltip } from '@hd-front-end/components/tooltip'\nimport { ElButton } from '@hd-front-end/components/button'\nimport {\n  useFormDisabled,\n  useFormItem,\n  useFormItemInputId,\n  useFormSize,\n} from '@hd-front-end/components/form'\nimport {\n  useEmptyValues,\n  useFocusController,\n  useLocale,\n  useNamespace,\n} from '@hd-front-end/hooks'\nimport {\n  CHANGE_EVENT,\n  EVENT_CODE,\n  UPDATE_MODEL_EVENT,\n} from '@hd-front-end/constants'\nimport { debugWarn, getEventCode } from '@hd-front-end/utils'\nimport { ArrowDown, Close } from '@element-plus/icons-vue'\nimport { colorPickerEmits, colorPickerProps } from './color-picker'\nimport {\n  ElColorPickerPanel,\n  ROOT_COMMON_COLOR_INJECTION_KEY,\n  colorPickerPanelProps,\n} from '@hd-front-end/components/color-picker-panel'\nimport Color from '@hd-front-end/components/color-picker-panel/src/utils/color'\nimport { useCommonColor } from '@hd-front-end/components/color-picker-panel/src/composables/use-common-color'\n\nimport type { ColorPickerPanelInstance } from '@hd-front-end/components/color-picker-panel'\nimport type { TooltipInstance } from '@hd-front-end/components/tooltip'\n\ndefineOptions({\n  name: 'ElColorPicker',\n})\nconst props = defineProps(colorPickerProps)\n\nconst emit = defineEmits(colorPickerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('color')\nconst { formItem } = useFormItem()\nconst colorSize = useFormSize()\nconst colorDisabled = useFormDisabled()\nconst { valueOnClear, isEmptyValue } = useEmptyValues(props, null)\nconst commonColor = useCommonColor(props, emit)\nconst { inputId: buttonId, isLabeledByFormItem } = useFormItemInputId(props, {\n  formItemContext: formItem,\n})\n\nconst popper = ref<TooltipInstance>()\nconst triggerRef = ref()\nconst pickerPanelRef = ref<ColorPickerPanelInstance>()\nconst showPicker = ref(false)\nconst showPanelColor = ref(false)\n\n// active-change is used to prevent modelValue changes from triggering.\nlet shouldActiveChange = true\n\nconst { isFocused, handleFocus, handleBlur } = useFocusController(triggerRef, {\n  disabled: colorDisabled,\n  beforeBlur(event) {\n    return popper.value?.isFocusInsideContent(event)\n  },\n  afterBlur() {\n    setShowPicker(false)\n    resetColor()\n    if (props.validateEvent) {\n      formItem?.validate?.('blur').catch((err) => debugWarn(err))\n    }\n  },\n})\n\nconst color = reactiveComputed(\n  () => pickerPanelRef.value?.color ?? commonColor.color\n) as Color\n\nconst panelProps = computed(() =>\n  pick(props, Object.keys(colorPickerPanelProps))\n)\n\nconst displayedColor = computed(() => {\n  if (!props.modelValue && !showPanelColor.value) {\n    return 'transparent'\n  }\n  return displayedRgb(color, props.showAlpha)\n})\n\nconst currentColor = computed(() => {\n  return !props.modelValue && !showPanelColor.value ? '' : color.value\n})\n\nconst buttonAriaLabel = computed<string | undefined>(() => {\n  return !isLabeledByFormItem.value\n    ? props.ariaLabel || t('el.colorpicker.defaultLabel')\n    : undefined\n})\n\nconst buttonAriaLabelledby = computed<string | undefined>(() => {\n  return isLabeledByFormItem.value ? formItem?.labelId : undefined\n})\n\nconst btnKls = computed(() => {\n  return [\n    ns.b('picker'),\n    ns.is('disabled', colorDisabled.value),\n    ns.bm('picker', colorSize.value),\n    ns.is('focused', isFocused.value),\n  ]\n})\n\nfunction displayedRgb(color: Color, showAlpha: boolean) {\n  const { r, g, b, a } = color.toRgb()\n  return showAlpha ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`\n}\n\nfunction setShowPicker(value: boolean) {\n  showPicker.value = value\n}\n\nconst debounceSetShowPicker = debounce(setShowPicker, 100, { leading: true })\nfunction show() {\n  if (colorDisabled.value) return\n  setShowPicker(true)\n}\n\nfunction hide() {\n  debounceSetShowPicker(false)\n  resetColor()\n}\n\nfunction resetColor() {\n  nextTick(() => {\n    if (props.modelValue) {\n      color.fromString(props.modelValue)\n    } else {\n      color.value = ''\n      nextTick(() => {\n        showPanelColor.value = false\n      })\n    }\n  })\n}\n\nfunction handleTrigger() {\n  if (colorDisabled.value) return\n  if (showPicker.value) {\n    resetColor()\n  }\n  debounceSetShowPicker(!showPicker.value)\n}\n\nfunction confirmValue() {\n  const value = isEmptyValue(color.value) ? valueOnClear.value : color.value\n  emit(UPDATE_MODEL_EVENT, value)\n  emit(CHANGE_EVENT, value)\n  if (props.validateEvent) {\n    formItem?.validate('change').catch((err) => debugWarn(err))\n  }\n  debounceSetShowPicker(false)\n  // check if modelValue change, if not change, then reset color.\n  nextTick(() => {\n    const newColor = new Color({\n      enableAlpha: props.showAlpha,\n      format: props.colorFormat || '',\n      value: props.modelValue,\n    })\n    if (!color.compare(newColor)) {\n      resetColor()\n    }\n  })\n}\n\nfunction clear() {\n  debounceSetShowPicker(false)\n  emit(UPDATE_MODEL_EVENT, valueOnClear.value)\n  emit(CHANGE_EVENT, valueOnClear.value)\n  if (props.modelValue !== valueOnClear.value && props.validateEvent) {\n    formItem?.validate('change').catch((err) => debugWarn(err))\n  }\n  resetColor()\n}\n\nfunction handleClickOutside() {\n  if (!showPicker.value) return\n  hide()\n  isFocused.value && focus()\n}\n\nfunction handleEsc(event: KeyboardEvent) {\n  event.preventDefault()\n  event.stopPropagation()\n  setShowPicker(false)\n  resetColor()\n}\n\nfunction handleKeyDown(event: KeyboardEvent) {\n  const code = getEventCode(event)\n\n  switch (code) {\n    case EVENT_CODE.enter:\n    case EVENT_CODE.numpadEnter:\n    case EVENT_CODE.space:\n      event.preventDefault()\n      event.stopPropagation()\n      show()\n      pickerPanelRef?.value?.inputRef?.focus()\n      break\n    case EVENT_CODE.esc:\n      handleEsc(event)\n      break\n  }\n}\n\nfunction focus() {\n  triggerRef.value.focus()\n}\n\nfunction blur() {\n  triggerRef.value.blur()\n}\n\nwatch(\n  () => currentColor.value,\n  (val) => {\n    shouldActiveChange && emit('activeChange', val)\n    shouldActiveChange = true\n  }\n)\n\nwatch(\n  () => color.value,\n  () => {\n    if (!props.modelValue && !showPanelColor.value) {\n      showPanelColor.value = true\n    }\n  }\n)\n\nwatch(\n  () => props.modelValue,\n  (newVal) => {\n    if (!newVal) {\n      showPanelColor.value = false\n    } else if (newVal && newVal !== color.value) {\n      shouldActiveChange = false\n      color.fromString(newVal)\n    }\n  }\n)\n\nwatch(\n  () => showPicker.value,\n  () => {\n    nextTick(pickerPanelRef.value?.update)\n  }\n)\n\nprovide(ROOT_COMMON_COLOR_INJECTION_KEY, commonColor)\n\ndefineExpose({\n  /**\n   * @description current color object\n   */\n  color,\n  /**\n   * @description manually show ColorPicker\n   */\n  show,\n  /**\n   * @description manually hide ColorPicker\n   */\n  hide,\n  /**\n   * @description focus the input element\n   */\n  focus,\n  /**\n   * @description blur the input element\n   */\n  blur,\n})\n</script>\n"],"names":["color","_createBlock","_unref","popperClass","popperStyle","teleported","persistent","appendTo","_withCtx","_withDirectives","_openBlock","_mergeProps","_withKeys","_createElementVNode","_createVNode","_normalizeClass","_createTextVNode","vClickOutside","$attrs","modelValue","tabindex","showAlpha","_normalizeStyle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;mCAuIc,CAAA;AAAA,EACZ,IAAM,EAAA,eAAA;AACR,CAAA,CAAA,CAAA;;;;;;AACA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEP,IAAA,MAAA,EAAE,CAAE,EAAA,GAAI,SAAU,EAAA,CAAA;AAClB,IAAA,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA,CAAA;AACzB,IAAA,MAAA,EAAE,QAAS,EAAA,GAAI,WAAY,EAAA,CAAA;AACjC,IAAA,MAAM,YAAY,WAAY,EAAA,CAAA;AAC9B,IAAA,MAAM,gBAAgB,eAAgB,EAAA,CAAA;AACtC,IAAA,MAAM,EAAE,YAAc,EAAA,YAAA,EAAiB,GAAA,cAAA,CAAe,OAAO,IAAI,CAAA,CAAA;AAC3D,IAAA,MAAA,WAAA,GAAc,cAAe,CAAA,KAAA,EAAO,IAAI,CAAA,CAAA;AAC9C,IAAA,MAAM,EAAE,OAAS,EAAA,QAAA,EAAU,mBAAoB,EAAA,GAAI,mBAAmB,KAAO,EAAA;AAAA,MAC3E,eAAiB,EAAA,QAAA;AAAA,KAClB,CAAA,CAAA;AAED,IAAA,MAAM,SAAS,GAAqB,EAAA,CAAA;AACpC,IAAA,MAAM,aAAa,GAAI,EAAA,CAAA;AACvB,IAAA,MAAM,iBAAiB,GAA8B,EAAA,CAAA;AAC/C,IAAA,MAAA,UAAA,GAAa,IAAI,KAAK,CAAA,CAAA;AACtB,IAAA,MAAA,cAAA,GAAiB,IAAI,KAAK,CAAA,CAAA;AAGhC,IAAA,IAAI,kBAAqB,GAAA,IAAA,CAAA;AAEzB,IAAA,MAAM,EAAE,SAAW,EAAA,WAAA,EAAa,UAAW,EAAA,GAAI,mBAAmB,UAAY,EAAA;AAAA,MAC5E,QAAU,EAAA,aAAA;AAAA,MACV,WAAW,KAAO,EAAA;;AACT,QAAA,OAAA,CAAA,EAAA,GAAA,MAAA,CAAO,KAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAc,oBAAqB,CAAA,KAAA,CAAA,CAAA;AAAA,OAC5C;AAAA,MACA,SAAY,GAAA;;AACV,QAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACR,QAAA,UAAA,EAAA,CAAA;AACX,QAAA,IAAI,MAAM,aAAe,EAAA;AACb,UAAA,CAAA,EAAA,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,aAAA,IAAW,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAA,MAAA,CAAA,CAAQ,MAAM,CAAC,GAAA,KAAQ,UAAa,CAAA,CAAA,CAAA;AAAA,SAC3D;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,KAAQ,GAAA,gBAAA;AAAA,MACZ,MAAM;;AAAA,QAAA,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAA,CAAe,KAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAsB,KAAtB,KAAA,IAAA,GAAA,EAAA,GAA+B,WAAY,CAAA,KAAA,CAAA;AAAA,OAAA;AAAA,KACnD,CAAA;AAEA,IAAA,MAAM,UAAa,GAAA,QAAA;AAAA,MAAS,MAC1B,IAAK,CAAA,KAAA,EAAO,MAAO,CAAA,IAAA,CAAK,qBAAqB,CAAC,CAAA;AAAA,KAChD,CAAA;AAEM,IAAA,MAAA,cAAA,GAAiB,SAAS,MAAM;AACpC,MAAA,IAAI,CAAC,KAAA,CAAM,UAAc,IAAA,CAAC,eAAe,KAAO,EAAA;AACvC,QAAA,OAAA,aAAA,CAAA;AAAA,OACT;AACO,MAAA,OAAA,YAAA,CAAa,KAAO,EAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAAA,KAC3C,CAAA,CAAA;AAEK,IAAA,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,OAAO,CAAC,KAAM,CAAA,UAAA,IAAc,CAAC,cAAe,CAAA,KAAA,GAAQ,KAAK,KAAM,CAAA,KAAA,CAAA;AAAA,KAChE,CAAA,CAAA;AAEK,IAAA,MAAA,eAAA,GAAkB,SAA6B,MAAM;AACzD,MAAA,OAAO,CAAC,mBAAoB,CAAA,KAAA,GACxB,MAAM,SAAa,IAAA,CAAA,CAAE,6BAA6B,CAClD,GAAA,KAAA,CAAA,CAAA;AAAA,KACL,CAAA,CAAA;AAEK,IAAA,MAAA,oBAAA,GAAuB,SAA6B,MAAM;AACvD,MAAA,OAAA,mBAAA,CAAoB,KAAQ,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAU,OAAU,GAAA,KAAA,CAAA,CAAA;AAAA,KACxD,CAAA,CAAA;AAEK,IAAA,MAAA,MAAA,GAAS,SAAS,MAAM;AACrB,MAAA,OAAA;AAAA,QACL,EAAA,CAAG,EAAE,QAAQ,CAAA;AAAA,QACb,EAAG,CAAA,EAAA,CAAG,UAAY,EAAA,aAAA,CAAc,KAAK,CAAA;AAAA,QACrC,EAAG,CAAA,EAAA,CAAG,QAAU,EAAA,SAAA,CAAU,KAAK,CAAA;AAAA,QAC/B,EAAG,CAAA,EAAA,CAAG,SAAW,EAAA,SAAA,CAAU,KAAK,CAAA;AAAA,OAClC,CAAA;AAAA,KACD,CAAA,CAAA;AAEQ,IAAA,SAAA,YAAA,CAAaA,QAAc,SAAoB,EAAA;AACtD,MAAA,MAAM,EAAE,CAAG,EAAA,CAAA,EAAG,GAAG,CAAE,EAAA,GAAIA,OAAM,KAAM,EAAA,CAAA;AACnC,MAAO,OAAA,SAAA,GAAY,QAAQ,CAAM,CAAA,EAAA,EAAA,CAAA,CAAA,EAAA,EAAM,MAAM,CAAO,CAAA,CAAA,CAAA,GAAA,CAAA,IAAA,EAAO,MAAM,CAAM,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACzE;AAEA,IAAA,SAAS,cAAc,KAAgB,EAAA;AACrC,MAAA,UAAA,CAAW,KAAQ,GAAA,KAAA,CAAA;AAAA,KACrB;AAEA,IAAA,MAAM,wBAAwB,QAAS,CAAA,aAAA,EAAe,KAAK,EAAE,OAAA,EAAS,MAAM,CAAA,CAAA;AAC5E,IAAA,SAAS,IAAO,GAAA;AACd,MAAA,IAAI,aAAc,CAAA,KAAA;AAAO,QAAA,OAAA;AACzB,MAAA,aAAA,CAAc,IAAI,CAAA,CAAA;AAAA,KACpB;AAEA,IAAA,SAAS,IAAO,GAAA;AACd,MAAA,qBAAA,CAAsB,KAAK,CAAA,CAAA;AAChB,MAAA,UAAA,EAAA,CAAA;AAAA,KACb;AAEA,IAAA,SAAS,UAAa,GAAA;AACpB,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,IAAI,MAAM,UAAY,EAAA;AACd,UAAA,KAAA,CAAA,UAAA,CAAW,MAAM,UAAU,CAAA,CAAA;AAAA,SAC5B,MAAA;AACL,UAAA,KAAA,CAAM,KAAQ,GAAA,EAAA,CAAA;AACd,UAAA,QAAA,CAAS,MAAM;AACb,YAAA,cAAA,CAAe,KAAQ,GAAA,KAAA,CAAA;AAAA,WACxB,CAAA,CAAA;AAAA,SACH;AAAA,OACD,CAAA,CAAA;AAAA,KACH;AAEA,IAAA,SAAS,aAAgB,GAAA;AACvB,MAAA,IAAI,aAAc,CAAA,KAAA;AAAO,QAAA,OAAA;AACzB,MAAA,IAAI,WAAW,KAAO,EAAA;AACT,QAAA,UAAA,EAAA,CAAA;AAAA,OACb;AACsB,MAAA,qBAAA,CAAA,CAAC,WAAW,KAAK,CAAA,CAAA;AAAA,KACzC;AAEA,IAAA,SAAS,YAAe,GAAA;AACtB,MAAA,MAAM,QAAQ,YAAa,CAAA,KAAA,CAAM,KAAK,CAAI,GAAA,YAAA,CAAa,QAAQ,KAAM,CAAA,KAAA,CAAA;AACrE,MAAA,IAAA,CAAK,oBAAoB,KAAK,CAAA,CAAA;AAC9B,MAAA,IAAA,CAAK,cAAc,KAAK,CAAA,CAAA;AACxB,MAAA,IAAI,MAAM,aAAe,EAAA;AACb,QAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,SAAS,QAAU,CAAA,CAAA,KAAA,CAAM,CAAC,GAAA,KAAQ,UAAa,CAAA,CAAA,CAAA;AAAA,OAC3D;AACA,MAAA,qBAAA,CAAsB,KAAK,CAAA,CAAA;AAE3B,MAAA,QAAA,CAAS,MAAM;AACP,QAAA,MAAA,QAAA,GAAW,IAAI,KAAM,CAAA;AAAA,UACzB,aAAa,KAAM,CAAA,SAAA;AAAA,UACnB,MAAA,EAAQ,MAAM,WAAe,IAAA,EAAA;AAAA,UAC7B,OAAO,KAAM,CAAA,UAAA;AAAA,SACd,CAAA,CAAA;AACD,QAAA,IAAI,CAAC,KAAA,CAAM,OAAQ,CAAA,QAAQ,CAAG,EAAA;AACjB,UAAA,UAAA,EAAA,CAAA;AAAA,SACb;AAAA,OACD,CAAA,CAAA;AAAA,KACH;AAEA,IAAA,SAAS,KAAQ,GAAA;AACf,MAAA,qBAAA,CAAsB,KAAK,CAAA,CAAA;AACtB,MAAA,IAAA,CAAA,kBAAA,EAAoB,aAAa,KAAK,CAAA,CAAA;AACtC,MAAA,IAAA,CAAA,YAAA,EAAc,aAAa,KAAK,CAAA,CAAA;AACrC,MAAA,IAAI,KAAM,CAAA,UAAA,KAAe,YAAa,CAAA,KAAA,IAAS,MAAM,aAAe,EAAA;AACxD,QAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,SAAS,QAAU,CAAA,CAAA,KAAA,CAAM,CAAC,GAAA,KAAQ,UAAa,CAAA,CAAA,CAAA;AAAA,OAC3D;AACW,MAAA,UAAA,EAAA,CAAA;AAAA,KACb;AAEA,IAAA,SAAS,kBAAqB,GAAA;AACxB,MAAA,IAAA,CAAC,UAAW,CAAA,KAAA;AAAO,QAAA,OAAA;AAClB,MAAA,IAAA,EAAA,CAAA;AACL,MAAA,SAAA,CAAU,SAAS,KAAM,EAAA,CAAA;AAAA,KAC3B;AAEA,IAAA,SAAS,UAAU,KAAsB,EAAA;AACvC,MAAA,KAAA,CAAM,cAAe,EAAA,CAAA;AACrB,MAAA,KAAA,CAAM,eAAgB,EAAA,CAAA;AACtB,MAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACR,MAAA,UAAA,EAAA,CAAA;AAAA,KACb;AAEA,IAAA,SAAS,cAAc,KAAsB,EAAA;;AACrC,MAAA,MAAA,IAAA,GAAO,aAAa,KAAK,CAAA,CAAA;AAE/B,MAAQ,QAAA,IAAA;AAAA,QAAA,KACD,UAAW,CAAA,KAAA,CAAA;AAAA,QAAA,KACX,UAAW,CAAA,WAAA,CAAA;AAAA,QAAA,KACX,UAAW,CAAA,KAAA;AACd,UAAA,KAAA,CAAM,cAAe,EAAA,CAAA;AACrB,UAAA,KAAA,CAAM,eAAgB,EAAA,CAAA;AACjB,UAAA,IAAA,EAAA,CAAA;AACW,UAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAA,KAAA,KAAA,IAAO,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,KAAP,IAAiB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AACjC,UAAA,MAAA;AAAA,QAAA,KACG,UAAW,CAAA,GAAA;AACd,UAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AACf,UAAA,MAAA;AAAA,OAAA;AAAA,KAEN;AAEA,IAAA,SAAS,KAAQ,GAAA;AACf,MAAA,UAAA,CAAW,MAAM,KAAM,EAAA,CAAA;AAAA,KACzB;AAEA,IAAA,SAAS,IAAO,GAAA;AACd,MAAA,UAAA,CAAW,MAAM,IAAK,EAAA,CAAA;AAAA,KACxB;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,YAAa,CAAA,KAAA;AAAA,MACnB,CAAC,GAAQ,KAAA;AACe,QAAA,kBAAA,IAAA,IAAA,CAAK,gBAAgB,GAAG,CAAA,CAAA;AACzB,QAAA,kBAAA,GAAA,IAAA,CAAA;AAAA,OACvB;AAAA,KACF,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,MAAM;AACJ,QAAA,IAAI,CAAC,KAAA,CAAM,UAAc,IAAA,CAAC,eAAe,KAAO,EAAA;AAC9C,UAAA,cAAA,CAAe,KAAQ,GAAA,IAAA,CAAA;AAAA,SACzB;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAC,MAAW,KAAA;AACV,QAAA,IAAI,CAAC,MAAQ,EAAA;AACX,UAAA,cAAA,CAAe,KAAQ,GAAA,KAAA,CAAA;AAAA,SACd,MAAA,IAAA,MAAA,IAAU,MAAW,KAAA,KAAA,CAAM,KAAO,EAAA;AACtB,UAAA,kBAAA,GAAA,KAAA,CAAA;AACrB,UAAA,KAAA,CAAM,WAAW,MAAM,CAAA,CAAA;AAAA,SACzB;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,UAAW,CAAA,KAAA;AAAA,MACjB,MAAM;;AACK,QAAA,QAAA,CAAA,CAAA,EAAA,GAAA,cAAA,CAAe,KAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAsB,MAAM,CAAA,CAAA;AAAA,OACvC;AAAA,KACF,CAAA;AAEA,IAAA,OAAA,CAAQ,iCAAiC,WAAW,CAAA,CAAA;AAEvC,IAAA,QAAA,CAAA;AAAA,MAIX,KAAA;AAAA,MAIA,IAAA;AAAA,MAIA,IAAA;AAAA,MAIA,KAAA;AAAA,MAIA,IAAA;AAAA,KACD,CAAA,CAAA;;0BA/XCC,WA4Fa,CAAAC,KAAA,CAAA,SAAA,CAAA,EAAA;AAAA,QA3FP,OAAA,EAAA,QAAA;AAAA,QAAJ,GAAI,EAAA,MAAA;AAAA,QACH,SAAS,UAAA,CAAA,KAAA;AAAA,QACT,YAAY,EAAA,KAAA;AAAA,QACZ,qBAAqB,EAAA,CAAA,QAAA,EAAA,KAAA,EAAA,SAAA,MAAA,CAAA;AAAA,QACrB,MAAQ,EAAA,CAAA;AAAA,QACR,kBAAkB,EAAA,KAAA;AAAA,QAClB,cAAA,EAAY,CAAGA,KAAA,CAAG,EAAA,CAAA,CAAA,GAAE,kBAAqBC,EAAAA,IAAAA,CAAW,WAAA,CAAA;AAAA,QACpD,gBAAcC,IAAAA,CAAAA,WAAAA;AAAAA,QACd,yBAAyB,EAAA,KAAA;AAAA,QAC1B,IAAA,EAAA,EAAA;AAAA,QACA,MAAO,EAAA,OAAA;AAAA,QACP,OAAQ,EAAA,OAAA;AAAA,QACP,YAAYC,IAAAA,CAAAA,UAAAA;AAAAA,QACZ,UAAU,EAAA,CAAA,EAAKH,KAAG,CAAA,EAAA,EAAA,SAAU,CAAA,KAAA,CAAA,YAAA,CAAA;AAAA,QAC5B,YAAYI,IAAAA,CAAAA,UAAAA;AAAAA,QACZ,aAAWC,IAAAA,CAAAA,QAAAA;AAAAA,QACX,MAAI,EAAA,OAAE,KAAA,aAAA,CAAa,KAAA,CAAA;AAAA,OAAA,EAAA;AAAA,QAET,OAAA,EAAOC,QAChB,MA2BwB;AAAA,UA3BxBC,cAAA,EAAAC,WAAA,EAAAT,WAAA;AAAA,YA2BwBC,MAAA,kBAAA,CAAA;AAAA,YA3BxBS,UA2BwB,CAAA;AAAA,cA1BlB,OAAA,EAAA,gBAAA;AAAA,cAAJ,GAAI,EAAA,cAAA;AAAA,aAAA,EACI,WAAU,KAAA,EAAA;AAAA,cAEjB,MAAQ,EAAA,KAAA;AAAA,cACR,SAAO,EAAAC,QAAA,CAAM,SAAS,EAAA,CAAA,KAAA,CAAA,CAAA;AAAA,aAAA,CAAA;AAAA;cAEZ,MAAA,EAAMJ,QACf,MAiBM;AAAA,gBAjBNK,kBAAA,CAiBM,OAAA,IAAA,EAAA;AAAA,kBAhBJC,WAAA,CAOYZ,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA,oBANT,KAAA,EAAKa,eAAEb,KAAA,CAAA,EAAA,EAAG,EAAE,CAAA,QAAA,EAAA,UAAA,CAAA,CAAA;AAAA,oBACb,IAAA,EAAA,EAAA;AAAA,oBACA,IAAK,EAAA,OAAA;AAAA,oBACJ,OAAO,EAAA,KAAA;AAAA,mBAAA,EAAA;AAAA,qCAER,MAA+B;AAAA,sBAAAc,eAAA;AAAA,uCAA5B,CAAAd,KAAA,CAAC,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA;AAAA,wBAAA,CAAA;AAAA,uBAAA;AAAA,qBAAA,CAAA;AAAA;;kBAENY,WAAA,CAOYZ,KAAA,CAAA,QAAA,CAAA,EAAA;AAAA,oBANV,KAAA,EAAA,EAAA;AAAA,oBACA,IAAK,EAAA,OAAA;AAAA,oBACJ,KAAA,EAAKa,eAAEb,KAAA,CAAA,EAAA,EAAG,EAAE,CAAA,QAAA,EAAA,KAAA,CAAA,CAAA;AAAA,oBACZ,OAAO,EAAA,YAAA;AAAA,mBAAA,EAAA;AAAA,qCAER,MAAiC;AAAA,sBAAAc,eAAA;AAAA,uCAA9B,CAAAd,KAAA,CAAC,CAAA,CAAA,CAAA,wBAAA,CAAA,CAAA;AAAA,wBAAA,CAAA;AAAA,uBAAA;AAAA,qBAAA,CAAA;AAAA;;;;;;;;YApBoB,CAAAA,KAAA,CAAAe,YAAA,CAAA,EAAA,kBAAA,EAAd,WAAY,KAAA,CAAA;AAAA,WAAA,CAAA;AAAA;QA0BrB,OAAA,EAAOT,QAChB,MAwCM;AAAA,UAxCNK,kBAAA,CAwCM,OAxCNF,UAwCM,CAAA;AAAA,YAvCH,EAAA,EAAIT,MAAA,QAAA,CAAA;AAAA,YACD,OAAA,EAAA,YAAA;AAAA,YAAJ,GAAI,EAAA,UAAA;AAAA,WAAA,EACIgB,KAAM,MAAA,EAAA;AAAA,YACb,OAAO,MAAA,CAAA,KAAA;AAAA,YACR,IAAK,EAAA,QAAA;AAAA,YACJ,cAAY,eAAA,CAAA,KAAA;AAAA,YACZ,mBAAiB,oBAAA,CAAA,KAAA;AAAA,YACjB,kBAAA,EAAkBhB,KAAA,CAAA,CAAA,CAAA,CAAA,4BAAA,EAAA,EAAA,KAAAiB,EAAAA,IAAAA,CAAA,UAAA,IAAA,EAAA,EAAA,CAAA;AAAA,YAGlB,eAAA,EAAejB,MAAA,aAAA,CAAA;AAAA,YACf,QAAU,EAAAA,KAAA,kBAAgB,SAAYkB,IAAAA,CAAAA,QAAAA;AAAAA,YACtC,SAAS,EAAA,aAAA;AAAA,YACT,OAAA,EAAOlB,MAAA,WAAA,CAAA;AAAA,YACP,MAAA,EAAMA,MAAA,UAAA,CAAA;AAAA,WAAA,CAAA,EAAA;AAAA,YAEPW,kBAAA;AAAA,cAsBM,KAAA;AAAA,cAAA;AAAA,gBAtBA,KAAA,EAAKE,eAAEb,KAAA,CAAA,EAAA,EAAG,EAAE,CAAA,QAAA,EAAA,SAAA,CAAA,CAAA;AAAA,gBAAwB,OAAO,EAAA,aAAA;AAAA,eAAA;AAAA;gBAC/CW,kBAAA;AAAA,kBAoBO,MAAA;AAAA,kBAAA;AAAA,oBApBA,OAAKE,gBAAGb,MAAG,EAAA,CAAA,CAAA,GAAE,kBAAqB,EAAAA,KAAA,CAAG,EAAA,CAAA,CAAA,EAAA,CAAE,SAAUmB,IAAS,CAAA,SAAA,CAAA,CAAA,CAAA;AAAA,mBAAA;AAAA;oBAC/DR,kBAAA;AAAA,sBAkBO,MAAA;AAAA,sBAAA;AAAA,wBAjBJ,KAAA,EAAKE,eAAEb,KAAA,CAAA,EAAA,EAAG,EAAE,CAAA,QAAA,EAAA,aAAA,CAAA,CAAA;AAAA,wBACZ,OAAKoB,cAAA,CAAA;AAAA,0BAAG,iBAAA,cAAA,CAAA,KAAA;AAAA,yBAAA,CAAA;AAAA;;sCAIT,CAAAR,WAAA,CAKUZ,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,0BAHP,OAAKa,cAAG,CAAA,CAAAb,KAAA,CAAA,EAAA,EAAG,EAAE,CAAA,QAAA,EAAA,MAAA,CAAA,EAAoBA,UAAG,EAAE,CAAA,iBAAA,CAAA,CAAA,CAAA;AAAA,yBAAA,EAAA;AAAA,2CAEvC,MAAc;AAAA,4BAAdY,WAAA,CAAcZ,KAAA,CAAA,SAAA,CAAA,CAAA;AAAA,2BAAA,CAAA;AAAA;;0BAHNiB,CAAAA,KAAAA,EAAAA,IAAAA,CAAAA,UAAAA,IAAc,eAAc,KAAA,CAAA;AAAA,yBAAA,CAAA;AAAA,sCAKtC,CAAAL,WAAA,CAKUZ,KAAA,CAAA,MAAA,CAAA,EAAA;AAAA,0BAHP,OAAKa,cAAG,CAAA,CAAAb,KAAA,CAAA,EAAA,EAAG,EAAE,CAAA,QAAA,EAAA,OAAA,CAAA,EAAqBA,UAAG,EAAE,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,yBAAA,EAAA;AAAA,2CAExC,MAAS;AAAA,4BAATY,WAAA,CAASZ,KAAA,CAAA,KAAA,CAAA,CAAA;AAAA,2BAAA,CAAA;AAAA;;0BAHAiB,CAAAA,KAAAA,EAAAA,CAAAA,KAAAA,UAAU,IAAA,CAAK,eAAc,KAAA,CAAA;AAAA,yBAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;"}