{"version":3,"file":"compass-sm.mjs","sources":["../../../../../../packages/components/controls/navigation-sm/compass-sm.ts"],"sourcesContent":["import type { VNode, CSSProperties, PropType } from 'vue'\nimport { defineComponent, getCurrentInstance, ref, computed, nextTick, watch, reactive, createCommentVNode, h } from 'vue'\nimport usePosition, { positionProps } from '@vue-cesium/composables/private/use-position'\nimport type { VcCompassEvt, VcComponentInternalInstance, VcComponentPublicInstance, VcReadyObject } from '@vue-cesium/utils/types'\nimport { $, getVcParentInstance } from '@vue-cesium/utils/private/vm'\nimport { hMergeSlot } from '@vue-cesium/utils/private/render'\nimport { VcTooltip, VcTooltipProps } from '@vue-cesium/components/ui'\nimport { useCommon, useLocale } from '@vue-cesium/composables'\nimport useCompass from './use-compass'\nimport { commonEmits } from '@vue-cesium/utils/emits'\n\nexport const compassSmProps = {\n  enableCompassOuterRing: {\n    type: Boolean,\n    default: true\n  },\n  duration: {\n    type: Number,\n    default: 1.5\n  },\n  tooltip: {\n    type: [Boolean, Object] as PropType<false | VcTooltipProps>,\n    default: () =>\n      ({\n        delay: 500,\n        anchor: 'bottom middle',\n        offset: [0, 20],\n        tip: void 0\n      } as VcTooltipProps | false)\n  },\n  autoHidden: {\n    type: Boolean,\n    default: true\n  },\n  ...positionProps\n}\nconst emits = {\n  ...commonEmits,\n  compassEvt: (evt: VcCompassEvt) => true\n}\nexport default defineComponent({\n  name: 'VcCompassSm',\n  props: compassSmProps,\n  emits: emits,\n  setup(props: VcCompassSmProps, ctx) {\n    // state\n    const instance = getCurrentInstance() as VcComponentInternalInstance\n    instance.cesiumClass = 'VcCompassSm'\n    const commonState = useCommon(props, ctx, instance)\n    if (commonState === void 0) {\n      return\n    }\n    const { t } = useLocale()\n    const parentInstance = getVcParentInstance(instance)\n    const { $services } = commonState\n    const compassState = useCompass(props, ctx, instance)\n    const positionState = usePosition(props, $services)\n    const rootRef = ref<HTMLElement>(null)\n    const outerRingRef = ref<HTMLElement>(null)\n    const hasVcNavigation = parentInstance.proxy?.$options.name === 'VcNavigationSm'\n    const canRender = ref(hasVcNavigation)\n    const rootStyle = reactive<CSSProperties>({})\n    // watch\n    watch(\n      () => props,\n      val => {\n        nextTick(() => {\n          if (!instance.mounted) {\n            return\n          }\n          updateRootStyle()\n        })\n      },\n      {\n        deep: true\n      }\n    )\n    // computed\n    const tiltbarStyle = computed<CSSProperties>(() => {\n      return {\n        left: compassState.tiltbarLeft.value + 'px',\n        top: compassState.tiltbarTop.value + 'px',\n        visibility: props.autoHidden ? 'hidden' : 'visible'\n      }\n    })\n    const visibilityStyle = computed<CSSProperties>(() => {\n      return {\n        visibility: props.autoHidden ? 'hidden' : 'visible'\n      }\n    })\n    const outerRingStyle = computed<CSSProperties>(() => {\n      return {\n        transform: 'rotate(-' + compassState.heading.value + 'rad)',\n        WebkitTransform: 'rotate(-' + compassState.heading.value + 'rad)'\n      }\n    })\n    // methods\n    instance.createCesiumObject = async () => {\n      canRender.value = true\n      const { viewer } = $services\n      return new Promise((resolve, reject) => {\n        nextTick(() => {\n          if (!hasVcNavigation) {\n            const viewerElement = (viewer as any)._element\n            viewerElement.appendChild($(rootRef))\n            resolve($(rootRef))\n          } else {\n            resolve($(rootRef))\n          }\n        })\n      })\n    }\n    instance.mount = async () => {\n      updateRootStyle()\n      const { viewer } = $services\n      viewer.viewerWidgetResized?.raiseEvent({\n        type: instance.cesiumClass,\n        status: 'mounted',\n        target: $(rootRef)\n      })\n      return compassState.load($services.viewer, $(rootRef))\n    }\n    instance.unmount = async () => {\n      const { viewer } = $services\n      const viewerElement = (viewer as any)._element\n      if (!hasVcNavigation) {\n        viewerElement.contains($(rootRef)) && viewerElement.removeChild($(rootRef))\n      }\n      viewer.viewerWidgetResized?.raiseEvent({\n        type: instance.cesiumClass,\n        status: 'unmounted',\n        target: $(rootRef)\n      })\n      return compassState.unload()\n    }\n\n    const updateRootStyle = () => {\n      const css: CSSProperties = positionState.style.value\n      rootStyle.left = css.left\n      rootStyle.top = css.top\n      rootStyle.transform = css.transform\n      const side = positionState.attach.value\n      const outerRingTarget = $(outerRingRef)\n      if (outerRingTarget !== void 0) {\n        const clientRect = outerRingTarget?.getBoundingClientRect()\n        css.width = `${clientRect?.width}px`\n        css.height = `${clientRect?.height}px`\n\n        if ((side.bottom || side.top) && !side.left && !side.right) {\n          css.left = '50%'\n          css.transform = 'translate(-50%, 0)'\n        }\n\n        if ((side.left || side.right) && !side.top && !side.bottom) {\n          css.top = '50%'\n          css.transform = 'translate(0, -50%)'\n        }\n      }\n\n      Object.assign(rootStyle, css)\n    }\n\n    return () => {\n      if (canRender.value) {\n        let children: Array<VNode> = []\n        children = hMergeSlot(ctx.slots.default, children)\n        children.push(\n          h('div', {\n            class: 'vc-compass-tilt-sm',\n            style: visibilityStyle.value\n          })\n        )\n        children.push(\n          h('div', {\n            class: 'vc-compass-tiltbar-sm',\n            style: tiltbarStyle.value\n          })\n        )\n        children.push(\n          h('div', {\n            class: 'vc-compass-arrows-sm',\n            style: visibilityStyle.value\n          })\n        )\n        children.push(\n          h(\n            'div',\n            {\n              ref: outerRingRef,\n              class: 'vc-compass-outer-ring-sm',\n              style: outerRingStyle.value\n            },\n            props.tooltip\n              ? h(\n                  VcTooltip,\n                  {\n                    ref: compassState.tooltipRef,\n                    ...props.tooltip,\n                    onBeforeShow: compassState.onTooltipBeforeShow\n                  },\n                  () => h('strong', {}, (props.tooltip as any).tip || t('vc.navigationSm.compass.outerTip'))\n                )\n              : createCommentVNode('v-if')\n          )\n        )\n        children.push(\n          h('div', {\n            class: 'vc-arrows-e-sm',\n            style: visibilityStyle.value\n          })\n        )\n        children.push(\n          h('div', {\n            class: 'vc-arrows-n-sm',\n            style: visibilityStyle.value\n          })\n        )\n        children.push(\n          h('div', {\n            class: 'vc-arrows-s-sm',\n            style: visibilityStyle.value\n          })\n        )\n        children.push(\n          h('div', {\n            class: 'vc-arrows-w-sm',\n            style: visibilityStyle.value\n          })\n        )\n\n        return h(\n          'div',\n          {\n            ref: rootRef,\n            class: 'vc-compass-sm ' + positionState.classes.value,\n            style: rootStyle,\n            onDblclick: compassState.handleDoubleClick,\n            onMousedown: compassState.handleMouseDown,\n            onMouseup: compassState.handleMouseUp,\n            onTouchend: compassState.handleMouseUp,\n            onTouchstart: compassState.handleMouseDown\n          },\n          children\n        )\n      } else {\n        return createCommentVNode('v-if')\n      }\n    }\n  }\n})\n\nexport type VcCompassSmEmits = typeof emits\nexport type VcCompassSmProps = {\n  /**\n   * Specify the position of the VcCompassSm.\n   * Default value: top-right\n   */\n  position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top' | 'right' | 'bottom' | 'left'\n  /**\n   * An array of two numbers to offset the VcCompassSm horizontally and vertically in pixels.\n   * Default value: [0, 0]\n   */\n  offset?: [number, number]\n  /**\n   * Specify whether the outer ring of the compass can be operated.\n   * Default value: true\n   */\n  enableCompassOuterRing?: boolean\n  /**\n   * Specify the flight time of double-clicking the compass to restore the pitch angle, in seconds.\n   * Default value: 1.5\n   */\n  duration?: number\n  /**\n   * Specify the compass prompt information.\n   */\n  tooltip?: false | VcTooltipProps\n  /**\n   * Specify whether to automatically hide parts of the compass controls.\n   * Default value: true\n   */\n  autoHidden?: boolean\n  /**\n   * Triggers before the VcNavigationSm is loaded.\n   */\n  onBeforeLoad?: (instance: VcComponentInternalInstance) => void\n  /**\n   * Triggers when the VcNavigationSm is successfully loaded.\n   */\n  onReady?: (readyObject: VcReadyObject) => void\n  /**\n   * Triggers when the component load failed.\n   */\n  onUnready?: (e: any) => void\n  /**\n   * Triggers when the VcNavigationSm is destroyed.\n   */\n  onDestroyed?: (instance: VcComponentInternalInstance) => void\n  /**\n   * Triggers when the compass control is operated.\n   */\n  compassEvt?: (evt: VcCompassEvt) => void\n}\n\nexport type VcCompassSmRef = VcComponentPublicInstance<VcCompassSmProps>\n"],"names":["_a"],"mappings":";;;;;;;;;;;;AAWO,MAAM,cAAiB,GAAA;AAAA,EAC5B,sBAAwB,EAAA;AAAA,IACtB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,CAAC,OAAA,EAAS,MAAM,CAAA;AAAA,IACtB,SAAS,OACN;AAAA,MACC,KAAO,EAAA,GAAA;AAAA,MACP,MAAQ,EAAA,eAAA;AAAA,MACR,MAAA,EAAQ,CAAC,CAAA,EAAG,EAAE,CAAA;AAAA,MACd,GAAK,EAAA,KAAA,CAAA;AAAA,KACP,CAAA;AAAA,GACJ;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EACA,GAAG,aAAA;AACL,EAAA;AACA,MAAM,KAAQ,GAAA;AAAA,EACZ,GAAG,WAAA;AAAA,EACH,UAAA,EAAY,CAAC,GAAsB,KAAA,IAAA;AACrC,CAAA,CAAA;AACA,gBAAe,eAAgB,CAAA;AAAA,EAC7B,IAAM,EAAA,aAAA;AAAA,EACN,KAAO,EAAA,cAAA;AAAA,EACP,KAAA;AAAA,EACA,KAAA,CAAM,OAAyB,GAAK,EAAA;AA5CtC,IAAA,IAAA,EAAA,CAAA;AA8CI,IAAA,MAAM,WAAW,kBAAmB,EAAA,CAAA;AACpC,IAAA,QAAA,CAAS,WAAc,GAAA,aAAA,CAAA;AACvB,IAAA,MAAM,WAAc,GAAA,SAAA,CAAU,KAAO,EAAA,GAAA,EAAK,QAAQ,CAAA,CAAA;AAClD,IAAA,IAAI,gBAAgB,KAAQ,CAAA,EAAA;AAC1B,MAAA,OAAA;AAAA,KACF;AACA,IAAM,MAAA,EAAE,CAAE,EAAA,GAAI,SAAU,EAAA,CAAA;AACxB,IAAM,MAAA,cAAA,GAAiB,oBAAoB,QAAQ,CAAA,CAAA;AACnD,IAAM,MAAA,EAAE,WAAc,GAAA,WAAA,CAAA;AACtB,IAAA,MAAM,YAAe,GAAA,UAAA,CAAW,KAAO,EAAA,GAAA,EAAK,QAAQ,CAAA,CAAA;AACpD,IAAM,MAAA,aAAA,GAAgB,WAAY,CAAA,KAAA,EAAO,SAAS,CAAA,CAAA;AAClD,IAAM,MAAA,OAAA,GAAU,IAAiB,IAAI,CAAA,CAAA;AACrC,IAAM,MAAA,YAAA,GAAe,IAAiB,IAAI,CAAA,CAAA;AAC1C,IAAA,MAAM,eAAkB,GAAA,CAAA,CAAA,EAAA,GAAA,cAAA,CAAe,KAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAsB,SAAS,IAAS,MAAA,gBAAA,CAAA;AAChE,IAAM,MAAA,SAAA,GAAY,IAAI,eAAe,CAAA,CAAA;AACrC,IAAM,MAAA,SAAA,GAAY,QAAwB,CAAA,EAAE,CAAA,CAAA;AAE5C,IAAA,KAAA;AAAA,MACE,MAAM,KAAA;AAAA,MACN,CAAO,GAAA,KAAA;AACL,QAAA,QAAA,CAAS,MAAM;AACb,UAAI,IAAA,CAAC,SAAS,OAAS,EAAA;AACrB,YAAA,OAAA;AAAA,WACF;AACA,UAAgB,eAAA,EAAA,CAAA;AAAA,SACjB,CAAA,CAAA;AAAA,OACH;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,SAAwB,MAAM;AACjD,MAAO,OAAA;AAAA,QACL,IAAA,EAAM,YAAa,CAAA,WAAA,CAAY,KAAQ,GAAA,IAAA;AAAA,QACvC,GAAA,EAAK,YAAa,CAAA,UAAA,CAAW,KAAQ,GAAA,IAAA;AAAA,QACrC,UAAA,EAAY,KAAM,CAAA,UAAA,GAAa,QAAW,GAAA,SAAA;AAAA,OAC5C,CAAA;AAAA,KACD,CAAA,CAAA;AACD,IAAM,MAAA,eAAA,GAAkB,SAAwB,MAAM;AACpD,MAAO,OAAA;AAAA,QACL,UAAA,EAAY,KAAM,CAAA,UAAA,GAAa,QAAW,GAAA,SAAA;AAAA,OAC5C,CAAA;AAAA,KACD,CAAA,CAAA;AACD,IAAM,MAAA,cAAA,GAAiB,SAAwB,MAAM;AACnD,MAAO,OAAA;AAAA,QACL,SAAW,EAAA,UAAA,GAAa,YAAa,CAAA,OAAA,CAAQ,KAAQ,GAAA,MAAA;AAAA,QACrD,eAAiB,EAAA,UAAA,GAAa,YAAa,CAAA,OAAA,CAAQ,KAAQ,GAAA,MAAA;AAAA,OAC7D,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,QAAA,CAAS,qBAAqB,YAAY;AACxC,MAAA,SAAA,CAAU,KAAQ,GAAA,IAAA,CAAA;AAClB,MAAM,MAAA,EAAE,QAAW,GAAA,SAAA,CAAA;AACnB,MAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAW,KAAA;AACtC,QAAA,QAAA,CAAS,MAAM;AACb,UAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,YAAA,MAAM,gBAAiB,MAAe,CAAA,QAAA,CAAA;AACtC,YAAc,aAAA,CAAA,WAAA,CAAY,CAAE,CAAA,OAAO,CAAC,CAAA,CAAA;AACpC,YAAQ,OAAA,CAAA,CAAA,CAAE,OAAO,CAAC,CAAA,CAAA;AAAA,WACb,MAAA;AACL,YAAQ,OAAA,CAAA,CAAA,CAAE,OAAO,CAAC,CAAA,CAAA;AAAA,WACpB;AAAA,SACD,CAAA,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACH,CAAA;AACA,IAAA,QAAA,CAAS,QAAQ,YAAY;AAhHjC,MAAAA,IAAAA,GAAAA,CAAAA;AAiHM,MAAgB,eAAA,EAAA,CAAA;AAChB,MAAM,MAAA,EAAE,QAAW,GAAA,SAAA,CAAA;AACnB,MAAA,CAAAA,GAAA,GAAA,MAAA,CAAO,mBAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAA4B,UAAW,CAAA;AAAA,QACrC,MAAM,QAAS,CAAA,WAAA;AAAA,QACf,MAAQ,EAAA,SAAA;AAAA,QACR,MAAA,EAAQ,EAAE,OAAO,CAAA;AAAA,OACnB,CAAA,CAAA;AACA,MAAA,OAAO,aAAa,IAAK,CAAA,SAAA,CAAU,MAAQ,EAAA,CAAA,CAAE,OAAO,CAAC,CAAA,CAAA;AAAA,KACvD,CAAA;AACA,IAAA,QAAA,CAAS,UAAU,YAAY;AA1HnC,MAAAA,IAAAA,GAAAA,CAAAA;AA2HM,MAAM,MAAA,EAAE,QAAW,GAAA,SAAA,CAAA;AACnB,MAAA,MAAM,gBAAiB,MAAe,CAAA,QAAA,CAAA;AACtC,MAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,QAAc,aAAA,CAAA,QAAA,CAAS,EAAE,OAAO,CAAC,KAAK,aAAc,CAAA,WAAA,CAAY,CAAE,CAAA,OAAO,CAAC,CAAA,CAAA;AAAA,OAC5E;AACA,MAAA,CAAAA,GAAA,GAAA,MAAA,CAAO,mBAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAA4B,UAAW,CAAA;AAAA,QACrC,MAAM,QAAS,CAAA,WAAA;AAAA,QACf,MAAQ,EAAA,WAAA;AAAA,QACR,MAAA,EAAQ,EAAE,OAAO,CAAA;AAAA,OACnB,CAAA,CAAA;AACA,MAAA,OAAO,aAAa,MAAO,EAAA,CAAA;AAAA,KAC7B,CAAA;AAEA,IAAA,MAAM,kBAAkB,MAAM;AAC5B,MAAM,MAAA,GAAA,GAAqB,cAAc,KAAM,CAAA,KAAA,CAAA;AAC/C,MAAA,SAAA,CAAU,OAAO,GAAI,CAAA,IAAA,CAAA;AACrB,MAAA,SAAA,CAAU,MAAM,GAAI,CAAA,GAAA,CAAA;AACpB,MAAA,SAAA,CAAU,YAAY,GAAI,CAAA,SAAA,CAAA;AAC1B,MAAM,MAAA,IAAA,GAAO,cAAc,MAAO,CAAA,KAAA,CAAA;AAClC,MAAM,MAAA,eAAA,GAAkB,EAAE,YAAY,CAAA,CAAA;AACtC,MAAA,IAAI,oBAAoB,KAAQ,CAAA,EAAA;AAC9B,QAAA,MAAM,aAAa,eAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,qBAAA,EAAA,CAAA;AACpC,QAAI,GAAA,CAAA,KAAA,GAAQ,CAAG,EAAA,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAY,KAAK,CAAA,EAAA,CAAA,CAAA;AAChC,QAAI,GAAA,CAAA,MAAA,GAAS,CAAG,EAAA,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAY,MAAM,CAAA,EAAA,CAAA,CAAA;AAElC,QAAK,IAAA,CAAA,IAAA,CAAK,UAAU,IAAK,CAAA,GAAA,KAAQ,CAAC,IAAK,CAAA,IAAA,IAAQ,CAAC,IAAA,CAAK,KAAO,EAAA;AAC1D,UAAA,GAAA,CAAI,IAAO,GAAA,KAAA,CAAA;AACX,UAAA,GAAA,CAAI,SAAY,GAAA,oBAAA,CAAA;AAAA,SAClB;AAEA,QAAK,IAAA,CAAA,IAAA,CAAK,QAAQ,IAAK,CAAA,KAAA,KAAU,CAAC,IAAK,CAAA,GAAA,IAAO,CAAC,IAAA,CAAK,MAAQ,EAAA;AAC1D,UAAA,GAAA,CAAI,GAAM,GAAA,KAAA,CAAA;AACV,UAAA,GAAA,CAAI,SAAY,GAAA,oBAAA,CAAA;AAAA,SAClB;AAAA,OACF;AAEA,MAAO,MAAA,CAAA,MAAA,CAAO,WAAW,GAAG,CAAA,CAAA;AAAA,KAC9B,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,UAAU,KAAO,EAAA;AACnB,QAAA,IAAI,WAAyB,EAAC,CAAA;AAC9B,QAAA,QAAA,GAAW,UAAW,CAAA,GAAA,CAAI,KAAM,CAAA,OAAA,EAAS,QAAQ,CAAA,CAAA;AACjD,QAAS,QAAA,CAAA,IAAA;AAAA,UACP,EAAE,KAAO,EAAA;AAAA,YACP,KAAO,EAAA,oBAAA;AAAA,YACP,OAAO,eAAgB,CAAA,KAAA;AAAA,WACxB,CAAA;AAAA,SACH,CAAA;AACA,QAAS,QAAA,CAAA,IAAA;AAAA,UACP,EAAE,KAAO,EAAA;AAAA,YACP,KAAO,EAAA,uBAAA;AAAA,YACP,OAAO,YAAa,CAAA,KAAA;AAAA,WACrB,CAAA;AAAA,SACH,CAAA;AACA,QAAS,QAAA,CAAA,IAAA;AAAA,UACP,EAAE,KAAO,EAAA;AAAA,YACP,KAAO,EAAA,sBAAA;AAAA,YACP,OAAO,eAAgB,CAAA,KAAA;AAAA,WACxB,CAAA;AAAA,SACH,CAAA;AACA,QAAS,QAAA,CAAA,IAAA;AAAA,UACP,CAAA;AAAA,YACE,KAAA;AAAA,YACA;AAAA,cACE,GAAK,EAAA,YAAA;AAAA,cACL,KAAO,EAAA,0BAAA;AAAA,cACP,OAAO,cAAe,CAAA,KAAA;AAAA,aACxB;AAAA,YACA,MAAM,OACF,GAAA,CAAA;AAAA,cACE,SAAA;AAAA,cACA;AAAA,gBACE,KAAK,YAAa,CAAA,UAAA;AAAA,gBAClB,GAAG,KAAM,CAAA,OAAA;AAAA,gBACT,cAAc,YAAa,CAAA,mBAAA;AAAA,eAC7B;AAAA,cACA,MAAM,CAAE,CAAA,QAAA,EAAU,EAAC,EAAI,MAAM,OAAgB,CAAA,GAAA,IAAO,CAAE,CAAA,kCAAkC,CAAC,CAAA;AAAA,aAC3F,GACA,mBAAmB,MAAM,CAAA;AAAA,WAC/B;AAAA,SACF,CAAA;AACA,QAAS,QAAA,CAAA,IAAA;AAAA,UACP,EAAE,KAAO,EAAA;AAAA,YACP,KAAO,EAAA,gBAAA;AAAA,YACP,OAAO,eAAgB,CAAA,KAAA;AAAA,WACxB,CAAA;AAAA,SACH,CAAA;AACA,QAAS,QAAA,CAAA,IAAA;AAAA,UACP,EAAE,KAAO,EAAA;AAAA,YACP,KAAO,EAAA,gBAAA;AAAA,YACP,OAAO,eAAgB,CAAA,KAAA;AAAA,WACxB,CAAA;AAAA,SACH,CAAA;AACA,QAAS,QAAA,CAAA,IAAA;AAAA,UACP,EAAE,KAAO,EAAA;AAAA,YACP,KAAO,EAAA,gBAAA;AAAA,YACP,OAAO,eAAgB,CAAA,KAAA;AAAA,WACxB,CAAA;AAAA,SACH,CAAA;AACA,QAAS,QAAA,CAAA,IAAA;AAAA,UACP,EAAE,KAAO,EAAA;AAAA,YACP,KAAO,EAAA,gBAAA;AAAA,YACP,OAAO,eAAgB,CAAA,KAAA;AAAA,WACxB,CAAA;AAAA,SACH,CAAA;AAEA,QAAO,OAAA,CAAA;AAAA,UACL,KAAA;AAAA,UACA;AAAA,YACE,GAAK,EAAA,OAAA;AAAA,YACL,KAAA,EAAO,gBAAmB,GAAA,aAAA,CAAc,OAAQ,CAAA,KAAA;AAAA,YAChD,KAAO,EAAA,SAAA;AAAA,YACP,YAAY,YAAa,CAAA,iBAAA;AAAA,YACzB,aAAa,YAAa,CAAA,eAAA;AAAA,YAC1B,WAAW,YAAa,CAAA,aAAA;AAAA,YACxB,YAAY,YAAa,CAAA,aAAA;AAAA,YACzB,cAAc,YAAa,CAAA,eAAA;AAAA,WAC7B;AAAA,UACA,QAAA;AAAA,SACF,CAAA;AAAA,OACK,MAAA;AACL,QAAA,OAAO,mBAAmB,MAAM,CAAA,CAAA;AAAA,OAClC;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}