{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/color-picker/src/index.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'), ns.b('dropdown'), popperClass]\"\n    :stop-popper-mouse-event=\"false\"\n    effect=\"light\"\n    trigger=\"click\"\n    transition=\"el-zoom-in-top\"\n    persistent\n  >\n    <template #content>\n      <div v-click-outside=\"hide\">\n        <div :class=\"ns.be('dropdown', 'main-wrapper')\">\n          <hue-slider ref=\"hue\" class=\"hue-slider\" :color=\"color\" vertical />\n          <sv-panel ref=\"svPanel\" :color=\"color\" />\n        </div>\n        <alpha-slider v-if=\"showAlpha\" ref=\"alpha\" :color=\"color\" />\n        <predefine\n          v-if=\"predefine\"\n          ref=\"predefine\"\n          :color=\"color\"\n          :colors=\"predefine\"\n        />\n        <div :class=\"ns.be('dropdown', 'btns')\">\n          <span :class=\"ns.be('dropdown', 'value')\">\n            <el-input\n              v-model=\"customInput\"\n              :validate-event=\"false\"\n              size=\"small\"\n              @keyup.enter=\"handleConfirm\"\n              @blur=\"handleConfirm\"\n            />\n          </span>\n          <el-button\n            :class=\"ns.be('dropdown', '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('dropdown', 'btn')\"\n            @click=\"confirmValue\"\n          >\n            {{ t('el.colorpicker.confirm') }}\n          </el-button>\n        </div>\n      </div>\n    </template>\n    <template #default>\n      <div\n        :id=\"buttonId\"\n        :class=\"[\n          ns.b('picker'),\n          ns.is('disabled', colorDisabled),\n          ns.bm('picker', colorSize),\n        ]\"\n        role=\"button\"\n        :aria-label=\"buttonAriaLabel\"\n        :aria-labelledby=\"buttonAriaLabelledby\"\n        :aria-description=\"\n          t('el.colorpicker.description', { color: modelValue || '' })\n        \"\n        :tabindex=\"tabindex\"\n        @keydown.enter=\"handleTrigger\"\n      >\n        <div v-if=\"colorDisabled\" :class=\"ns.be('picker', 'mask')\" />\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-if=\"!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\">\n// @ts-nocheck\nimport {\n  computed,\n  defineComponent,\n  nextTick,\n  onMounted,\n  provide,\n  reactive,\n  ref,\n  watch,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport ElButton from '@park-ui/components/button'\nimport ElIcon from '@park-ui/components/icon'\nimport { ClickOutside } from '@park-ui/directives'\nimport {\n  useFormItem,\n  useFormItemInputId,\n  useLocale,\n  useNamespace,\n  useSize,\n} from '@park-ui/hooks'\nimport ElTooltip from '@park-ui/components/tooltip'\nimport ElInput from '@park-ui/components/input'\nimport { UPDATE_MODEL_EVENT } from '@park-ui/constants'\nimport { debugWarn, isValidComponentSize } from '@park-ui/utils'\nimport { ArrowDown, Close } from '@element-plus/icons-vue'\nimport AlphaSlider from './components/alpha-slider.vue'\nimport HueSlider from './components/hue-slider.vue'\nimport Predefine from './components/predefine.vue'\nimport SvPanel from './components/sv-panel.vue'\nimport Color from './color'\nimport { OPTIONS_KEY } from './useOption'\nimport type { PropType } from 'vue'\nimport type { ComponentSize } from '@park-ui/constants'\nimport type { IUseOptions } from './useOption'\n\nexport default defineComponent({\n  name: 'ElColorPicker',\n  components: {\n    ElButton,\n    ElTooltip,\n    ElInput,\n    ElIcon,\n    Close,\n    ArrowDown,\n    SvPanel,\n    HueSlider,\n    AlphaSlider,\n    Predefine,\n  },\n  directives: {\n    ClickOutside,\n  },\n  props: {\n    modelValue: String,\n    id: String,\n    showAlpha: Boolean,\n    colorFormat: String,\n    disabled: Boolean,\n    size: {\n      type: String as PropType<ComponentSize>,\n      validator: isValidComponentSize,\n    },\n    popperClass: String,\n    label: {\n      type: String,\n      default: undefined,\n    },\n    tabindex: {\n      type: [String, Number],\n      default: 0,\n    },\n    predefine: Array,\n    validateEvent: {\n      type: Boolean,\n      default: true,\n    },\n  },\n  emits: ['change', 'active-change', UPDATE_MODEL_EVENT],\n  setup(props, { emit }) {\n    const { t } = useLocale()\n    const ns = useNamespace('color')\n    const { form, formItem } = useFormItem()\n\n    const { inputId: buttonId, isLabeledByFormItem } = useFormItemInputId(\n      props,\n      {\n        formItemContext: formItem,\n      }\n    )\n\n    const hue = ref<InstanceType<typeof HueSlider>>()\n    const svPanel = ref<InstanceType<typeof SvPanel>>()\n    const alpha = ref<InstanceType<typeof AlphaSlider>>()\n    const popper = ref(null)\n    // active-change is used to prevent modelValue changes from triggering.\n    let shouldActiveChange = true\n    // data\n    const color = reactive(\n      new Color({\n        enableAlpha: props.showAlpha,\n        format: props.colorFormat || '',\n        value: props.modelValue,\n      })\n    )\n    type ColorType = typeof color\n    const showPicker = ref(false)\n    const showPanelColor = ref(false)\n    const customInput = ref('')\n    // computed\n    const displayedColor = computed(() => {\n      if (!props.modelValue && !showPanelColor.value) {\n        return 'transparent'\n      }\n      return displayedRgb(color, props.showAlpha)\n    })\n    const colorSize = useSize()\n    const colorDisabled = computed(() => {\n      return !!(props.disabled || form?.disabled)\n    })\n\n    const currentColor = computed(() => {\n      return !props.modelValue && !showPanelColor.value ? '' : color.value\n    })\n    const buttonAriaLabel = computed<string | undefined>(() => {\n      return !isLabeledByFormItem.value\n        ? props.label || t('el.colorpicker.defaultLabel')\n        : undefined\n    })\n    const buttonAriaLabelledby = computed<string | undefined>(() => {\n      return isLabeledByFormItem.value ? formItem?.labelId : undefined\n    })\n    // watch\n    watch(\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    watch(\n      () => currentColor.value,\n      (val) => {\n        customInput.value = val\n        shouldActiveChange && emit('active-change', val)\n        shouldActiveChange = true\n      }\n    )\n\n    watch(\n      () => color.value,\n      () => {\n        if (!props.modelValue && !showPanelColor.value) {\n          showPanelColor.value = true\n        }\n      }\n    )\n\n    // methods\n    function displayedRgb(color: ColorType, showAlpha: boolean) {\n      if (!(color instanceof Color)) {\n        throw new TypeError('color should be instance of _color Class')\n      }\n\n      const { r, g, b } = color.toRgb()\n      return showAlpha\n        ? `rgba(${r}, ${g}, ${b}, ${color.get('alpha') / 100})`\n        : `rgb(${r}, ${g}, ${b})`\n    }\n\n    function setShowPicker(value: boolean) {\n      showPicker.value = value\n    }\n\n    const debounceSetShowPicker = debounce(setShowPicker, 100)\n\n    function hide() {\n      debounceSetShowPicker(false)\n      resetColor()\n    }\n\n    function 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\n    function handleTrigger() {\n      if (colorDisabled.value) return\n      debounceSetShowPicker(!showPicker.value)\n    }\n\n    function handleConfirm() {\n      color.fromString(customInput.value)\n    }\n\n    function confirmValue() {\n      const value = color.value\n      emit(UPDATE_MODEL_EVENT, value)\n      emit('change', 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\n    function clear() {\n      debounceSetShowPicker(false)\n      emit(UPDATE_MODEL_EVENT, null)\n      emit('change', null)\n      if (props.modelValue !== null && props.validateEvent) {\n        formItem?.validate('change').catch((err) => debugWarn(err))\n      }\n      resetColor()\n    }\n\n    onMounted(() => {\n      if (props.modelValue) {\n        customInput.value = currentColor.value\n      }\n    })\n    watch(\n      () => showPicker.value,\n      () => {\n        nextTick(() => {\n          hue.value?.update()\n          svPanel.value?.update()\n          alpha.value?.update()\n        })\n      }\n    )\n\n    provide<IUseOptions>(OPTIONS_KEY, {\n      currentColor,\n    })\n\n    return {\n      color: color as Color,\n      colorDisabled,\n      colorSize,\n      displayedColor,\n      showPanelColor,\n      showPicker,\n      customInput,\n      buttonId,\n      buttonAriaLabel,\n      buttonAriaLabelledby,\n      handleConfirm,\n      hide,\n      handleTrigger,\n      clear,\n      confirmValue,\n      t,\n      ns,\n      hue,\n      svPanel,\n      alpha,\n      popper,\n    }\n  },\n})\n</script>\n"],"names":["_resolveDirective","_openBlock","_createBlock","_withCtx","_withDirectives","_createElementBlock","_createElementVNode","_normalizeClass","_createVNode","_createCommentVNode","_withKeys","_createTextVNode","_toDisplayString","_normalizeStyle","_vShow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA6IA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,eAAA;AAAA,EACN,UAAY,EAAA;AAAA,IACV,QAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAA;AAAA,GACF;AAAA,EACA,UAAY,EAAA;AAAA,IACV,YAAA;AAAA,GACF;AAAA,EACA,KAAO,EAAA;AAAA,IACL,UAAY,EAAA,MAAA;AAAA,IACZ,EAAI,EAAA,MAAA;AAAA,IACJ,SAAW,EAAA,OAAA;AAAA,IACX,WAAa,EAAA,MAAA;AAAA,IACb,QAAU,EAAA,OAAA;AAAA,IACV,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,MAAA;AAAA,MACN,SAAW,EAAA,oBAAA;AAAA,KACb;AAAA,IACA,WAAa,EAAA,MAAA;AAAA,IACb,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,KAAA,CAAA;AAAA,KACX;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,MACrB,OAAS,EAAA,CAAA;AAAA,KACX;AAAA,IACA,SAAW,EAAA,KAAA;AAAA,IACX,aAAe,EAAA;AAAA,MACb,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,IAAA;AAAA,KACX;AAAA,GACF;AAAA,EACA,KAAO,EAAA,CAAC,QAAU,EAAA,eAAA,EAAiB,kBAAkB,CAAA;AAAA,EACrD,KAAA,CAAM,KAAO,EAAA,EAAE,IAAQ,EAAA,EAAA;AACrB,IAAM,MAAA,EAAE,MAAM,SAAU,EAAA,CAAA;AACxB,IAAM,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA,CAAA;AAC/B,IAAM,MAAA,EAAE,IAAM,EAAA,QAAA,EAAA,GAAa,WAAY,EAAA,CAAA;AAEvC,IAAA,MAAM,EAAE,OAAA,EAAS,QAAU,EAAA,mBAAA,EAAA,GAAwB,mBACjD,KACA,EAAA;AAAA,MACE,eAAiB,EAAA,QAAA;AAAA,KAErB,CAAA,CAAA;AAEA,IAAA,MAAM,MAAM,GAAoC,EAAA,CAAA;AAChD,IAAA,MAAM,UAAU,GAAkC,EAAA,CAAA;AAClD,IAAA,MAAM,QAAQ,GAAsC,EAAA,CAAA;AACpD,IAAM,MAAA,MAAA,GAAS,IAAI,IAAI,CAAA,CAAA;AAEvB,IAAA,IAAI,kBAAqB,GAAA,IAAA,CAAA;AAEzB,IAAM,MAAA,KAAA,GAAQ,QACZ,CAAA,IAAI,KAAM,CAAA;AAAA,MACR,aAAa,KAAM,CAAA,SAAA;AAAA,MACnB,MAAA,EAAQ,MAAM,WAAe,IAAA,EAAA;AAAA,MAC7B,OAAO,KAAM,CAAA,UAAA;AAAA,KACd,CACH,CAAA,CAAA;AAEA,IAAM,MAAA,UAAA,GAAa,IAAI,KAAK,CAAA,CAAA;AAC5B,IAAM,MAAA,cAAA,GAAiB,IAAI,KAAK,CAAA,CAAA;AAChC,IAAM,MAAA,WAAA,GAAc,IAAI,EAAE,CAAA,CAAA;AAE1B,IAAM,MAAA,cAAA,GAAiB,SAAS,MAAM;AACpC,MAAA,IAAI,CAAC,KAAA,CAAM,UAAc,IAAA,CAAC,eAAe,KAAO,EAAA;AAC9C,QAAO,OAAA,aAAA,CAAA;AAAA,OACT;AACA,MAAO,OAAA,YAAA,CAAa,KAAO,EAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAAA,KAC3C,CAAA,CAAA;AACD,IAAA,MAAM,YAAY,OAAQ,EAAA,CAAA;AAC1B,IAAM,MAAA,aAAA,GAAgB,SAAS,MAAM;AACnC,MAAA,OAAO,CAAC,EAAQ,KAAA,CAAA,QAAA,KAAkB,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,KACnC,CAAA,CAAA;AAED,IAAM,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;AACD,IAAM,MAAA,eAAA,GAAkB,SAA6B,MAAM;AACzD,MAAA,OAAO,CAAC,mBAAoB,CAAA,KAAA,GACxB,MAAM,KAAS,IAAA,CAAA,CAAE,6BAA6B,CAC9C,GAAA,KAAA,CAAA,CAAA;AAAA,KACL,CAAA,CAAA;AACD,IAAM,MAAA,oBAAA,GAAuB,SAA6B,MAAM;AAC9D,MAAO,OAAA,mBAAA,CAAoB,KAAQ,GAAA,QAAA,IAAoB,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,OAAA,GAAA,KAAA,CAAA,CAAA;AAAA,KACxD,CAAA,CAAA;AAED,IAAA,KAAA,CACE,MAAM,KAAA,CAAM,UACZ,EAAA,CAAC,MAAW,KAAA;AACV,MAAA,IAAI,CAAC,MAAQ,EAAA;AACX,QAAA,cAAA,CAAe,KAAQ,GAAA,KAAA,CAAA;AAAA,OACd,MAAA,IAAA,MAAA,IAAU,MAAW,KAAA,KAAA,CAAM,KAAO,EAAA;AAC3C,QAAqB,kBAAA,GAAA,KAAA,CAAA;AACrB,QAAA,KAAA,CAAM,WAAW,MAAM,CAAA,CAAA;AAAA,OACzB;AAAA,KAEJ,CAAA,CAAA;AACA,IAAA,KAAA,CACE,MAAM,YAAA,CAAa,KACnB,EAAA,CAAC,GAAQ,KAAA;AACP,MAAA,WAAA,CAAY,KAAQ,GAAA,GAAA,CAAA;AACpB,MAAsB,kBAAA,IAAA,IAAA,CAAK,iBAAiB,GAAG,CAAA,CAAA;AAC/C,MAAqB,kBAAA,GAAA,IAAA,CAAA;AAAA,KAEzB,CAAA,CAAA;AAEA,IACE,KAAA,CAAA,MAAM,KAAM,CAAA,KAAA,EACZ,MAAM;AACJ,MAAA,IAAI,CAAC,KAAA,CAAM,UAAc,IAAA,CAAC,eAAe,KAAO,EAAA;AAC9C,QAAA,cAAA,CAAe,KAAQ,GAAA,IAAA,CAAA;AAAA,OACzB;AAAA,KAEJ,CAAA,CAAA;AAGA,IAAA,SAAA,YAAA,CAAsB,QAAkB,SAAoB,EAAA;AAC1D,MAAI,IAAA,oBAAmB,KAAQ,CAAA,EAAA;AAC7B,QAAM,MAAA,IAAI,UAAU,0CAA0C,CAAA,CAAA;AAAA,OAChE;AAEA,MAAA,MAAM,EAAE,CAAA,EAAG,CAAG,EAAA,CAAA,EAAA,GAAM,OAAM,KAAM,EAAA,CAAA;AAChC,MAAA,OAAO,SACH,GAAA,CAAA,KAAA,EAAQ,CAAM,CAAA,EAAA,EAAA,CAAA,CAAA,EAAA,EAAM,CAAM,CAAA,EAAA,EAAA,MAAA,CAAM,GAAI,CAAA,OAAO,CAAI,GAAA,GAAA,CAAA,CAAA,CAAA,GAC/C,CAAO,IAAA,EAAA,CAAA,CAAA,EAAA,EAAM,CAAM,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACzB;AAEA,IAAA,SAAA,aAAA,CAAuB,KAAgB,EAAA;AACrC,MAAA,UAAA,CAAW,KAAQ,GAAA,KAAA,CAAA;AAAA,KACrB;AAEA,IAAM,MAAA,qBAAA,GAAwB,QAAS,CAAA,aAAA,EAAe,GAAG,CAAA,CAAA;AAEzD,IAAgB,SAAA,IAAA,GAAA;AACd,MAAA,qBAAA,CAAsB,KAAK,CAAA,CAAA;AAC3B,MAAW,UAAA,EAAA,CAAA;AAAA,KACb;AAEA,IAAsB,SAAA,UAAA,GAAA;AACpB,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,IAAI,MAAM,UAAY,EAAA;AACpB,UAAM,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,IAAyB,SAAA,aAAA,GAAA;AACvB,MAAA,IAAI,aAAc,CAAA,KAAA;AAAO,QAAA,OAAA;AACzB,MAAsB,qBAAA,CAAA,CAAC,WAAW,KAAK,CAAA,CAAA;AAAA,KACzC;AAEA,IAAyB,SAAA,aAAA,GAAA;AACvB,MAAM,KAAA,CAAA,UAAA,CAAW,YAAY,KAAK,CAAA,CAAA;AAAA,KACpC;AAEA,IAAwB,SAAA,YAAA,GAAA;AACtB,MAAA,MAAM,QAAQ,KAAM,CAAA,KAAA,CAAA;AACpB,MAAA,IAAA,CAAK,oBAAoB,KAAK,CAAA,CAAA;AAC9B,MAAA,IAAA,CAAK,UAAU,KAAK,CAAA,CAAA;AACpB,MAAA,IAAI,MAAM,aAAe,EAAA;AACvB,QAAU,QAAA,IAAA,IAAA,GAAS,SAAU,QAAO,CAAQ,QAAA,CAAA,QAAU,OAAI,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,OAC5D;AACA,MAAA,qBAAA,CAAsB,KAAK,CAAA,CAAA;AAE3B,MAAA,QAAA,CAAS,MAAM;AACb,QAAM,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;AAC5B,UAAW,UAAA,EAAA,CAAA;AAAA,SACb;AAAA,OACD,CAAA,CAAA;AAAA,KACH;AAEA,IAAiB,SAAA,KAAA,GAAA;AACf,MAAA,qBAAA,CAAsB,KAAK,CAAA,CAAA;AAC3B,MAAA,IAAA,CAAK,oBAAoB,IAAI,CAAA,CAAA;AAC7B,MAAA,IAAA,CAAK,UAAU,IAAI,CAAA,CAAA;AACnB,MAAA,IAAI,KAAM,CAAA,UAAA,KAAe,IAAQ,IAAA,KAAA,CAAM,aAAe,EAAA;AACpD,QAAU,QAAA,IAAA,IAAA,GAAS,SAAU,QAAO,CAAQ,QAAA,CAAA,QAAU,OAAI,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,OAC5D;AACA,MAAW,UAAA,EAAA,CAAA;AAAA,KACb;AAEA,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAI,MAAM,UAAY,EAAA;AACpB,QAAA,WAAA,CAAY,QAAQ,YAAa,CAAA,KAAA,CAAA;AAAA,OACnC;AAAA,KACD,CAAA,CAAA;AACD,IACE,KAAA,CAAA,MAAM,UAAW,CAAA,KAAA,EACjB,MAAM;AACJ,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,IAAI,QAAc,EAAA,CAAA;AAClB,QAAA,CAAA,EAAA,GAAA,SAAe,KAAO,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA,CAAA;AACtB,QAAA,CAAA,EAAA,GAAM,OAAO,CAAO,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA,CAAA;AAAA,QACrB,CAAA,EAAA,GAAA,KAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA,CAAA;AAAA,OAEL,CAAA,CAAA;AAEA,KAAA,CAAA,CAAA;AAAkC,IAChC,OAAA,CAAA,WAAA,EAAA;AAAA,MACD,YAAA;AAED,KAAO,CAAA,CAAA;AAAA,IACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,aAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,cAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,eAAA;AAAA,MACA,oBAAA;AAAA,MACA,aAAA;AAAA,MACA,IAAA;AAAA,MACA,aAAA;AAAA,MACA,KAAA;AAAA,MACA,YAAA;AAAA,MACA,CAAA;AAAA,MACA,EAAA;AAAA,MACA,GAAA;AAAA,MACA,OAAA;AAAA,MACA,KAAA;AAAA,MACF,MAAA;AAAA,KACF,CAAA;AACF,GAAC;;;;;;;;;;;;;;gCA/Rc,GAAAA,gBAAA,CAAA,eAAA,CAAA,CAAA;AAAA,EAAA,OAlGPC,SAAA,EAAA,EAAAC,WAAA,CAAA,qBAAA,EAAA;AAAA,IACH,GAAS,EAAA,QAAA;AAAA,IACT,OAAY,EAAA,IAAA,CAAA,UAAA;AAAA,IACZ,YAAqB,EAAA,KAAA;AAAA,IACrB,qBAAQ,EAAA,CAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAAA,IACR,MAAkB,EAAA,CAAA;AAAA,IAClB,kBAAkB,EAAA,KAAA;AAAoD,IACtE,cAAyB,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,OAAA,CAAA,EAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,UAAA,CAAA,EAAA,IAAA,CAAA,WAAA,CAAA;AAAA,IAC1B,yBAAO,EAAA,KAAA;AAAA,IACP,MAAQ,EAAA,OAAA;AAAA,IACR,OAAW,EAAA,OAAA;AAAA,IACX,UAAA,EAAA,gBAAA;AAAA,IAAA,UAAA,EAAA,EAAA;AAEW,GAAA,EAAA;AAwCH,IAAA,OAAA,EAAAC,OAAA,CAAA,MAAA;AAAA,MAAAC,cAnCE,EAAAH,SAAA,EAAA,EAAAI,kBAAA,CAAA,KAAA,EAAA,IAAA,EAAA;AAAA,QAHAC,kBAAO,CAAA,KAAA,EAAA;AAAK,UAAA,KAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,cAAA,CAAA,CAAA;WACmD;AAAA,UAAAC,WAAnD,CAAA,qBAAA,EAAA;AAAA,YAAM,GAAM,EAAA,KAAA;AAAA,YAAc,KAAO,EAAA,YAAA;AAAA,YAAO,KAAA,EAAA,IAAA,CAAA,KAAA;AAAA,YAAA,QAAA,EAAA,EAAA;WACf,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA;AAAA,UAAAA,WAA3B,CAAA,mBAAA,EAAA;AAAA,YAAW,GAAO,EAAA,SAAA;AAAA,YAAA,KAAA,EAAA,IAAA,CAAA,KAAA;;AAEd,SAAA,EAAA,CAAA,CAAA;AAAwC,QAAA,IAAA,CAAA,SAAA,IAAAP,SAAA,EAAA,EAAAC,WAAA,CAAA,uBAAA,EAAA;UAA7B,GAAI,EAAA,CAAA;AAAA,UAAS,GAAO,EAAA,OAAA;AAAA,UAAA,KAAA,EAAA,IAAA,CAAA,KAAA;AAE3C,SAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,IAAAO,kBAIN,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,QAAA,IAAA,CAAA,SAAA,IAAAR,SAAA,EAAA,EAAAC,WAAA,CAAA,oBAAA,EAAA;UAHA,GAAI,EAAA,CAAA;AAAA,UACH,GAAO,EAAA,WAAA;AAAA,UACP,KAAQ,EAAA,IAAA,CAAA,KAAA;AAAA,UAAA,MAAA,EAAA,IAAA,CAAA,SAAA;SA4BL,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,CAAA,IAAAO,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,QA1BAH,kBAAO,CAAA,KAAA,EAAA;AAAK,UAAA,KAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,MAAA,CAAA,CAAA;WAST;AAAA,UARAD,kBAAO,CAAA,MAAA,EAAA;AAAK,YAAA,KAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,CAAA;aAOf;AAAA,YALSC,WAAA,CAAA,mBAAA,EAAA;AAAA,cAAW,UAAA,EAAA,IAAA,CAAA,WAAA;AAAA,cACnB,qBAAgB,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,IAAA,CAAA,WAAA,GAAA,MAAA,CAAA;AAAA,cACjB,gBAAK,EAAA,KAAA;AAAA,cACJ,IAAA,EAAA;AAA0B,cAC1B,OAAM,EAAAE,QAAA,CAAA,IAAA,CAAA,aAAA,EAAA,CAAA,OAAA,CAAA,CAAA;AAAA,cAAA,MAAA,EAAA,IAAA,CAAA,aAAA;;WAUC,EAAA,CAAA,CAAA;AAAA,UANTF,WAAO,CAAA,oBAAG,EAAE;AAAA,YACb,KAAA,EAAAD,cAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,CAAA;AAAA,YACA,IAAK,EAAA,EAAA;AAAA,YACJ,IAAO,EAAA,OAAA;AAAA,YAAA,OAAA,EAAA,IAAA,CAAA,KAAA;;AAEuB,YAAA,OAAA,EAAAJ,OAAA,CAAA,MAAA;AAA3B,cAAAQ,eAAA,CAAAC,eAAA,CAAA,IAAA,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;;WASM,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,CAAA;AAAA,UANVJ,WAAA,CAAA,oBAAA,EAAA;AAAA,YACA,KAAK,EAAA,EAAA;AAAA,YACJ,IAAA,EAAA,OAAO;AAAK,YACZ,KAAO,EAAAD,cAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAAA,YAAA,OAAA,EAAA,IAAA,CAAA,YAAA;;AAEyB,YAAA,OAAA,EAAAJ,OAAA,CAAA,MAAA;AAA7B,cAAAQ,eAAA,CAAAC,eAAA,CAAA,IAAA,CAAA,CAAA,CAAA,wBAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;;;;;AApCgB,QAAA,CAAA,wBAAA,EAAA,IAAA,CAAA,IAAA,CAAA;;AAyCjB,KAAA,CAAA;AAyCH,IAAA,OAAA,EAAAT,OAAA,CAAA,MAAA;AAAA,MAAAG,kBAvCC,CAAA,KAAA,EAAA;AAAA,QACJ,EAAK,EAAA,IAAA,CAAA,QAAA;AAAA,QAAA,qBAAkB,CAAA;AAAA,UAAsB,IAAA,CAAA,EAAA,CAAG,CAAE,CAAA,QAAA,CAAA;AAA0B,UAAa,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,UAAW,EAAS,IAAA,CAAA,aAAA,CAAA;AAAA,UAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,IAAA,CAAA,SAAA,CAAA;SAK9G,CAAA;AAAA,QACJ,IAAY,EAAA,QAAA;AAAA,QACZ,YAAiB,EAAA,IAAA,CAAA,eAAA;AAAA,QACjB,iBAAA,EAAA,IAA8B,CAAA,oBAAA;AAAkD,QAGhF,kBAAU,EAAA,IAAA,CAAA,CAAA,CAAA,4BAAA,EAAA,EAAA,KAAA,EAAA,IAAA,CAAA,UAAA,IAAA,EAAA,EAAA,CAAA;AAAA,QACV,QAAA,EAAA;AAA4B,QAAA,SAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAAI,QAAA,CAAA,CAAA,GAAA,IAAA,KAAA,IAAA,CAAA,aAAA,IAAA,IAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAElB,OAAA,EAAA;AAAkD,QAAA,IAAA,CAAA,aAAA,IAAAT,SAAA,EAAA,EAAAI,kBAAA,CAAA,KAAA,EAAA;UAAlC,GAAK,EAAA,CAAA;AAAO,UAAA,KAAA,EAAAE,cAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,MAAA,CAAA,CAAA;SAuBjC,EAAA,IAAA,EAAA,CAAA,CAAA,IAAAE,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,QAtBAH,kBAAO,CAAA,KAAA,EAAA;AAAK,UAAwB,qBAAO,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,SAAA,CAAA,CAAA;AAAA,UAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,IAAA,CAAA,aAAA,IAAA,IAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA,CAAA;WAqBxC;AAAA,UApBAA,yBAAQ,EAAG;AAA+C,YAAA,KAAA,EAAAC,cAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,OAAA,CAAA,EAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,SAAA,CAAA,CAAA,CAAA;aAmBxD;AAAA,YAjBJD,kBAAO,CAAA,MAAA,EAAA;AAAK,cACZ,KAAK,EAAAC,cAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,aAAA,CAAA,CAAA;AAAA,cAAqC,KAAA,EAAAM,cAAA,CAAA;AAAA,gBAAA,eAAA,EAAA,IAAA,CAAA,cAAA;;;AASjC,cAAAT,cAHC,CAAAI,WAAA,CAAA,kBAAK,EAAA;AAAyB,gBAAA,KAAA,EAAAD,cAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,iBAAA,CAAA,CAAA,CAAA;;AAEzB,gBAAA,OAAA,EAAAJ,OAAA,CAAA,MAAA;AAAA,kBAAAK,WAAA,CAAA,qBAAA,CAAA;;;AAHN,eAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,EAAA;AAA4B,gBAAA,CAAAM,KAAA,EAAA,IAAA,CAAA,UAAA,IAAA,IAAA,CAAA,cAAA,CAAA;eAM7B,CAAU;AAIT,cAAA,CAAA,IAAA,CAAA,UAAA,IAAA,CAAA,IAAA,CAAA,cAAA,IAAAb,SAAA,EAAA,EAAAC,WAAA,CAAA,kBAAA,EAAA;AAHP,gBAAA,GAAA,EAAA,CAAA;AAAuC,gBAAA,KAAA,EAAAK,cAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,OAAA,CAAA,EAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,YAAA,CAAA,CAAA,CAAA;;AAE/B,gBAAA,OAAA,EAAAJ,OAAA,CAAA,MAAA;AAAA,kBAAAK,WAAA,CAAA,gBAAA,CAAA;;;;;;;;;;;;;;;;"}