{"version":3,"file":"utils--6sbTfn4.js","sources":["../../node_modules/reka-ui/dist/shared/useEmitAsProps.js","../../node_modules/reka-ui/dist/shared/useForwardProps.js","../../node_modules/reka-ui/dist/shared/useForwardPropsEmits.js","../../node_modules/reka-ui/dist/shared/handleAndDispatchCustomEvent.js","../../node_modules/reka-ui/dist/DismissableLayer/utils.js","../../node_modules/reka-ui/dist/DismissableLayer/DismissableLayer.js","../../node_modules/reka-ui/dist/shared/getActiveElement.js","../../node_modules/reka-ui/dist/FocusScope/utils.js"],"sourcesContent":["import { getCurrentInstance, toHandlerKey, camelize } from 'vue';\n\nfunction useEmitAsProps(emit) {\n const vm = getCurrentInstance();\n const events = vm?.type.emits;\n const result = {};\n if (!events?.length) {\n console.warn(\n `No emitted event found. Please check component: ${vm?.type.__name}`\n );\n }\n events?.forEach((ev) => {\n result[toHandlerKey(camelize(ev))] = (...arg) => emit(ev, ...arg);\n });\n return result;\n}\n\nexport { useEmitAsProps as u };\n//# sourceMappingURL=useEmitAsProps.js.map\n","import { getCurrentInstance, toRef, computed, camelize } from 'vue';\n\nfunction useForwardProps(props) {\n const vm = getCurrentInstance();\n const defaultProps = Object.keys(vm?.type.props ?? {}).reduce((prev, curr) => {\n const defaultValue = (vm?.type.props[curr]).default;\n if (defaultValue !== undefined)\n prev[curr] = defaultValue;\n return prev;\n }, {});\n const refProps = toRef(props);\n return computed(() => {\n const preservedProps = {};\n const assignedProps = vm?.vnode.props ?? {};\n Object.keys(assignedProps).forEach((key) => {\n preservedProps[camelize(key)] = assignedProps[key];\n });\n return Object.keys({ ...defaultProps, ...preservedProps }).reduce((prev, curr) => {\n if (refProps.value[curr] !== undefined)\n prev[curr] = refProps.value[curr];\n return prev;\n }, {});\n });\n}\n\nexport { useForwardProps as u };\n//# sourceMappingURL=useForwardProps.js.map\n","import { computed } from 'vue';\nimport { u as useEmitAsProps } from './useEmitAsProps.js';\nimport { u as useForwardProps } from './useForwardProps.js';\n\nfunction useForwardPropsEmits(props, emit) {\n const parsedProps = useForwardProps(props);\n const emitsAsProps = emit ? useEmitAsProps(emit) : {};\n return computed(() => ({\n ...parsedProps.value,\n ...emitsAsProps\n }));\n}\n\nexport { useForwardPropsEmits as u };\n//# sourceMappingURL=useForwardPropsEmits.js.map\n","function handleAndDispatchCustomEvent(name, handler, detail) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, {\n bubbles: false,\n cancelable: true,\n detail\n });\n if (handler)\n target.addEventListener(name, handler, { once: true });\n target.dispatchEvent(event);\n}\n\nexport { handleAndDispatchCustomEvent as h };\n//# sourceMappingURL=handleAndDispatchCustomEvent.js.map\n","import { isClient } from '@vueuse/shared';\nimport { ref, watchEffect, nextTick } from 'vue';\nimport { h as handleAndDispatchCustomEvent } from '../shared/handleAndDispatchCustomEvent.js';\n\nconst POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nconst FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nfunction isLayerExist(layerElement, targetElement) {\n const targetLayer = targetElement.closest(\n \"[data-dismissable-layer]\"\n );\n const mainLayer = layerElement.dataset.dismissableLayer === \"\" ? layerElement : layerElement.querySelector(\n \"[data-dismissable-layer]\"\n );\n const nodeList = Array.from(\n layerElement.ownerDocument.querySelectorAll(\"[data-dismissable-layer]\")\n );\n if (targetLayer && mainLayer === targetLayer || nodeList.indexOf(mainLayer) < nodeList.indexOf(targetLayer)) {\n return true;\n } else {\n return false;\n }\n}\nfunction usePointerDownOutside(onPointerDownOutside, element) {\n const ownerDocument = element?.value?.ownerDocument ?? globalThis?.document;\n const isPointerInsideDOMTree = ref(false);\n const handleClickRef = ref(() => {\n });\n watchEffect((cleanupFn) => {\n if (!isClient)\n return;\n const handlePointerDown = async (event) => {\n const target = event.target;\n if (!element?.value)\n return;\n if (isLayerExist(element.value, target)) {\n isPointerInsideDOMTree.value = false;\n return;\n }\n if (event.target && !isPointerInsideDOMTree.value) {\n let handleAndDispatchPointerDownOutsideEvent = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n onPointerDownOutside,\n eventDetail\n );\n };\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.value);\n handleClickRef.value = handleAndDispatchPointerDownOutsideEvent;\n ownerDocument.addEventListener(\"click\", handleClickRef.value, {\n once: true\n });\n } else {\n handleAndDispatchPointerDownOutsideEvent();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.value);\n }\n isPointerInsideDOMTree.value = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n cleanupFn(() => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.value);\n });\n });\n return {\n onPointerDownCapture: () => isPointerInsideDOMTree.value = true\n };\n}\nfunction useFocusOutside(onFocusOutside, element) {\n const ownerDocument = element?.value?.ownerDocument ?? globalThis?.document;\n const isFocusInsideDOMTree = ref(false);\n watchEffect((cleanupFn) => {\n if (!isClient)\n return;\n const handleFocus = async (event) => {\n if (!element?.value)\n return;\n await nextTick();\n if (!element.value || isLayerExist(element.value, event.target))\n return;\n if (event.target && !isFocusInsideDOMTree.value) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(\n FOCUS_OUTSIDE,\n onFocusOutside,\n eventDetail\n );\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n cleanupFn(() => ownerDocument.removeEventListener(\"focusin\", handleFocus));\n });\n return {\n onFocusCapture: () => isFocusInsideDOMTree.value = true,\n onBlurCapture: () => isFocusInsideDOMTree.value = false\n };\n}\n\nexport { useFocusOutside as a, usePointerDownOutside as u };\n//# sourceMappingURL=utils.js.map\n","import { defineComponent, computed, watchEffect, openBlock, createBlock, unref, normalizeStyle, withCtx, renderSlot, reactive, nextTick } from 'vue';\nimport { onKeyStroke } from '@vueuse/core';\nimport { u as usePointerDownOutside, a as useFocusOutside } from './utils.js';\nimport { u as useForwardExpose } from '../shared/useForwardExpose.js';\nimport { P as Primitive } from '../Primitive/Primitive.js';\n\nconst context = reactive({\n layersRoot: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"DismissableLayer\",\n props: {\n disableOutsidePointerEvents: { type: Boolean, default: false },\n asChild: { type: Boolean },\n as: {}\n },\n emits: [\"escapeKeyDown\", \"pointerDownOutside\", \"focusOutside\", \"interactOutside\", \"dismiss\"],\n setup(__props, { emit: __emit }) {\n const props = __props;\n const emits = __emit;\n const { forwardRef, currentElement: layerElement } = useForwardExpose();\n const ownerDocument = computed(\n () => layerElement.value?.ownerDocument ?? globalThis.document\n );\n const layers = computed(() => context.layersRoot);\n const index = computed(() => {\n return layerElement.value ? Array.from(layers.value).indexOf(layerElement.value) : -1;\n });\n const isBodyPointerEventsDisabled = computed(() => {\n return context.layersWithOutsidePointerEventsDisabled.size > 0;\n });\n const isPointerEventsEnabled = computed(() => {\n const localLayers = Array.from(layers.value);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = localLayers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n return index.value >= highestLayerWithOutsidePointerEventsDisabledIndex;\n });\n const pointerDownOutside = usePointerDownOutside(async (event) => {\n const isPointerDownOnBranch = [...context.branches].some(\n (branch) => branch?.contains(event.target)\n );\n if (!isPointerEventsEnabled.value || isPointerDownOnBranch)\n return;\n emits(\"pointerDownOutside\", event);\n emits(\"interactOutside\", event);\n await nextTick();\n if (!event.defaultPrevented)\n emits(\"dismiss\");\n }, layerElement);\n const focusOutside = useFocusOutside((event) => {\n const isFocusInBranch = [...context.branches].some(\n (branch) => branch?.contains(event.target)\n );\n if (isFocusInBranch)\n return;\n emits(\"focusOutside\", event);\n emits(\"interactOutside\", event);\n if (!event.defaultPrevented)\n emits(\"dismiss\");\n }, layerElement);\n onKeyStroke(\"Escape\", (event) => {\n const isHighestLayer = index.value === layers.value.size - 1;\n if (!isHighestLayer)\n return;\n emits(\"escapeKeyDown\", event);\n if (!event.defaultPrevented)\n emits(\"dismiss\");\n });\n let originalBodyPointerEvents;\n watchEffect((cleanupFn) => {\n if (!layerElement.value)\n return;\n if (props.disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.value.body.style.pointerEvents;\n ownerDocument.value.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(layerElement.value);\n }\n layers.value.add(layerElement.value);\n cleanupFn(() => {\n if (props.disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.value.body.style.pointerEvents = originalBodyPointerEvents;\n }\n });\n });\n watchEffect((cleanupFn) => {\n cleanupFn(() => {\n if (!layerElement.value)\n return;\n layers.value.delete(layerElement.value);\n context.layersWithOutsidePointerEventsDisabled.delete(layerElement.value);\n });\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(unref(Primitive), {\n ref: unref(forwardRef),\n \"as-child\": _ctx.asChild,\n as: _ctx.as,\n \"data-dismissable-layer\": \"\",\n style: normalizeStyle({\n pointerEvents: isBodyPointerEventsDisabled.value ? isPointerEventsEnabled.value ? \"auto\" : \"none\" : undefined\n }),\n onFocusCapture: unref(focusOutside).onFocusCapture,\n onBlurCapture: unref(focusOutside).onBlurCapture,\n onPointerdownCapture: unref(pointerDownOutside).onPointerDownCapture\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"as-child\", \"as\", \"style\", \"onFocusCapture\", \"onBlurCapture\", \"onPointerdownCapture\"]);\n };\n }\n});\n\nexport { _sfc_main as _, context as c };\n//# sourceMappingURL=DismissableLayer.js.map\n","function getActiveElement() {\n let activeElement = document.activeElement;\n if (activeElement == null) {\n return null;\n }\n while (activeElement != null && activeElement.shadowRoot != null && activeElement.shadowRoot.activeElement != null) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\n\nexport { getActiveElement as g };\n//# sourceMappingURL=getActiveElement.js.map\n","import { g as getActiveElement } from '../shared/getActiveElement.js';\n\nconst AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nconst AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nconst EVENT_OPTIONS = { bubbles: false, cancelable: true };\nfunction focusFirst(candidates, { select = false } = {}) {\n const previouslyFocusedElement = getActiveElement();\n for (const candidate of candidates) {\n focus(candidate, { select });\n if (getActiveElement() !== previouslyFocusedElement)\n return true;\n }\n}\nfunction getTabbableEdges(container) {\n const candidates = getTabbableCandidates(container);\n const first = findVisible(candidates, container);\n const last = findVisible(candidates.reverse(), container);\n return [first, last];\n}\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput)\n return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\nfunction findVisible(elements, container) {\n for (const element of elements) {\n if (!isHidden(element, { upTo: container }))\n return element;\n }\n}\nfunction isHidden(node, { upTo }) {\n if (getComputedStyle(node).visibility === \"hidden\")\n return true;\n while (node) {\n if (upTo !== undefined && node === upTo)\n return false;\n if (getComputedStyle(node).display === \"none\")\n return true;\n node = node.parentElement;\n }\n return false;\n}\nfunction isSelectableInput(element) {\n return element instanceof HTMLInputElement && \"select\" in element;\n}\nfunction focus(element, { select = false } = {}) {\n if (element && element.focus) {\n const previouslyFocusedElement = getActiveElement();\n element.focus({ preventScroll: true });\n if (element !== previouslyFocusedElement && isSelectableInput(element) && select) {\n element.select();\n }\n }\n}\n\nexport { AUTOFOCUS_ON_MOUNT as A, EVENT_OPTIONS as E, focus as a, AUTOFOCUS_ON_UNMOUNT as b, getTabbableEdges as c, focusFirst as f, getTabbableCandidates as g };\n//# sourceMappingURL=utils.js.map\n"],"names":["useEmitAsProps","emit","vm","getCurrentInstance","events","type","emits","result","length","forEach","ev","toHandlerKey","camelize","arg","useForwardProps","props","defaultProps","Object","keys","reduce","prev","curr","defaultValue","default","refProps","toRef","computed","preservedProps","assignedProps","vnode","key","value","useForwardPropsEmits","parsedProps","emitsAsProps","handleAndDispatchCustomEvent","name","handler","detail","target","originalEvent","event","CustomEvent","bubbles","cancelable","addEventListener","once","dispatchEvent","isLayerExist","layerElement","targetElement","targetLayer","closest","mainLayer","dataset","dismissableLayer","querySelector","nodeList","Array","from","ownerDocument","querySelectorAll","indexOf","context","reactive","layersRoot","Set","layersWithOutsidePointerEventsDisabled","branches","_sfc_main","defineComponent","__name","disableOutsidePointerEvents","Boolean","asChild","as","setup","__props","__emit","forwardRef","currentElement","useForwardExpose","_a","globalThis","document","layers","index","isBodyPointerEventsDisabled","size","isPointerEventsEnabled","localLayers","highestLayerWithOutsidePointerEventsDisabled","slice","highestLayerWithOutsidePointerEventsDisabledIndex","pointerDownOutside","onPointerDownOutside","element","isPointerInsideDOMTree","ref","handleClickRef","watchEffect","cleanupFn","isClient","handlePointerDown","async","handleAndDispatchPointerDownOutsideEvent","eventDetail","pointerType","removeEventListener","timerId","window","setTimeout","clearTimeout","onPointerDownCapture","usePointerDownOutside","isPointerDownOnBranch","some","branch","contains","nextTick","defaultPrevented","focusOutside","onFocusOutside","isFocusInsideDOMTree","handleFocus","onFocusCapture","onBlurCapture","useFocusOutside","originalBodyPointerEvents","onKeyStroke","body","style","pointerEvents","add","delete","_ctx","_cache","openBlock","createBlock","unref","Primitive","normalizeStyle","onPointerdownCapture","withCtx","renderSlot","$slots","_","getActiveElement","activeElement","shadowRoot","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","focusFirst","candidates","select","previouslyFocusedElement","candidate","focus","getTabbableEdges","container","getTabbableCandidates","findVisible","reverse","nodes","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","node","isHiddenInput","tagName","disabled","hidden","FILTER_SKIP","tabIndex","FILTER_ACCEPT","nextNode","push","currentNode","elements","isHidden","upTo","getComputedStyle","visibility","display","parentElement","preventScroll","HTMLInputElement","isSelectableInput"],"mappings":"wiBAEA,SAASA,EAAeC,GACtB,MAAMC,EAAKC,IACLC,QAASF,WAAIG,KAAKC,MAClBC,EAAS,CAAE,EASV,aARFH,KAAQI,OAKL,MAAAJ,GAAAA,EAAAK,SAASC,IACRH,EAAAI,EAAaC,EAASF,KAAQ,IAAIG,IAAQZ,EAAKS,KAAOG,EAAG,IAE3DN,CACT,CCbA,SAASO,EAAgBC,GACvB,MAAMb,EAAKC,IACLa,EAAeC,OAAOC,MAAK,MAAAhB,OAAA,EAAAA,EAAIG,KAAKU,QAAS,CAAA,GAAII,QAAO,CAACC,EAAMC,KACnE,MAAMC,GAAgB,MAAApB,OAAA,EAAAA,EAAIG,KAAKU,MAAMM,IAAOE,QAGrC,YAFc,IAAjBD,IACFF,EAAKC,GAAQC,GACRF,CAAA,GACN,IACGI,EAAWC,EAAMV,GACvB,OAAOW,GAAS,KACd,MAAMC,EAAiB,CAAE,EACnBC,GAAgB,MAAA1B,OAAA,EAAAA,EAAI2B,MAAMd,QAAS,CAAE,EAI3C,OAHAE,OAAOC,KAAKU,GAAenB,SAASqB,IAClCH,EAAef,EAASkB,IAAQF,EAAcE,EAAG,IAE5Cb,OAAOC,KAAK,IAAKF,KAAiBW,IAAkBR,QAAO,CAACC,EAAMC,UAC1C,IAAzBG,EAASO,MAAMV,KACjBD,EAAKC,GAAQG,EAASO,MAAMV,IACvBD,IACN,GAAE,GAET,CCnBA,SAASY,EAAqBjB,EAAOd,GAC7B,MAAAgC,EAAcnB,EAAgBC,GAC9BmB,EAAejC,EAAOD,EAAeC,GAAQ,CAAE,EACrD,OAAOyB,GAAS,KAAO,IAClBO,EAAYF,SACZG,KAEP,CCXA,SAASC,EAA6BC,EAAMC,EAASC,GAC7C,MAAAC,EAASD,EAAOE,cAAcD,OAC9BE,EAAQ,IAAIC,YAAYN,EAAM,CAClCO,SAAS,EACTC,YAAY,EACZN,WAEED,GACFE,EAAOM,iBAAiBT,EAAMC,EAAS,CAAES,MAAM,IACjDP,EAAOQ,cAAcN,EACvB,CCJA,SAASO,EAAaC,EAAcC,GAClC,MAAMC,EAAcD,EAAcE,QAChC,4BAEIC,EAAsD,KAA1CJ,EAAaK,QAAQC,iBAA0BN,EAAeA,EAAaO,cAC3F,4BAEIC,EAAWC,MAAMC,KACrBV,EAAaW,cAAcC,iBAAiB,6BAE1C,SAAAV,GAAeE,IAAcF,GAAeM,EAASK,QAAQT,GAAaI,EAASK,QAAQX,GAKjG,CCfK,MAACY,EAAUC,EAAS,CACvBC,eAAgCC,IAChCC,2CAA4DD,IAC5DE,aAA8BF,MAE1BG,EAA4CC,EAAA,CAChDC,OAAQ,mBACRxD,MAAO,CACLyD,4BAA6B,CAAEnE,KAAMoE,QAASlD,SAAS,GACvDmD,QAAS,CAAErE,KAAMoE,SACjBE,GAAI,CAAA,GAENrE,MAAO,CAAC,gBAAiB,qBAAsB,eAAgB,kBAAmB,WAClF,KAAAsE,CAAMC,GAAW5E,KAAM6E,IACrB,MAAM/D,EAAQ8D,EACRvE,EAAQwE,GACRC,WAAEA,EAAYC,eAAgB/B,GAAiBgC,IAC/CrB,EAAgBlC,GACpB,WAAmB,OAAb,OAAawD,EAAAjC,EAAAlB,YAAO,EAAAmD,EAAAtB,gBAAiBuB,WAAWC,QAAA,IAElDC,EAAS3D,GAAS,IAAMqC,EAAQE,aAChCqB,EAAQ5D,GAAS,IACduB,EAAalB,MAAQ2B,MAAMC,KAAK0B,EAAOtD,OAAO+B,QAAQb,EAAalB,QAAS,IAE/EwD,EAA8B7D,GAAS,IACpCqC,EAAQI,uCAAuCqB,KAAO,IAEzDC,EAAyB/D,GAAS,KACtC,MAAMgE,EAAchC,MAAMC,KAAK0B,EAAOtD,QAC/B4D,GAAgD,IAAI5B,EAAQI,wCAAwCyB,OAAQ,GAC7GC,EAAoDH,EAAY5B,QAAQ6B,GAC9E,OAAOL,EAAMvD,OAAS8D,CAAA,IAElBC,EDjBV,SAA+BC,EAAsBC,SACnD,MAAMpC,GAAgB,OAAAsB,EAAA,MAAAc,OAAA,EAAAA,EAASjE,YAAT,EAAAmD,EAAgBtB,iBAA6B,MAAZuB,gBAAY,EAAAA,WAAAC,UAC7Da,EAAyBC,GAAI,GAC7BC,EAAiBD,GAAI,SA6CpB,OA3CPE,GAAaC,IACX,IAAKC,EACH,OACI,MAAAC,EAAoBC,MAAO/D,IAC/B,MAAMF,EAASE,EAAMF,OACrB,GAAc,MAATyD,OAAS,EAAAA,EAAAjE,MAEd,GAAIiB,EAAagD,EAAQjE,MAAOQ,GAC9B0D,EAAuBlE,OAAQ,MADjC,CAIA,GAAIU,EAAMF,SAAW0D,EAAuBlE,MAAO,CACjD,IAAI0E,EAA2C,WAC7CtE,EApCmB,sCAsCjB4D,EACAW,EAEH,EACK,MAAAA,EAAc,CAAElE,cAAeC,GACX,UAAtBA,EAAMkE,aACM/C,EAAAgD,oBAAoB,QAAST,EAAepE,OAC1DoE,EAAepE,MAAQ0E,EACT7C,EAAAf,iBAAiB,QAASsD,EAAepE,MAAO,CAC5De,MAAM,KAGkC2D,GAEpD,MACsB7C,EAAAgD,oBAAoB,QAAST,EAAepE,OAE5DkE,EAAuBlE,OAAQ,CAtBrC,CAsBqC,EAE3B8E,EAAUC,OAAOC,YAAW,KAClBnD,EAAAf,iBAAiB,cAAe0D,EAAiB,GAC9D,GACHF,GAAU,KACRS,OAAOE,aAAaH,GACNjD,EAAAgD,oBAAoB,cAAeL,GACnC3C,EAAAgD,oBAAoB,QAAST,EAAepE,MAAK,GAChE,IAEI,CACLkF,qBAAsB,IAAMhB,EAAuBlE,OAAQ,EAE/D,CClC+BmF,EAAsBV,MAAO/D,IACtD,MAAM0E,EAAwB,IAAIpD,EAAQK,UAAUgD,MACjDC,GAAmB,MAARA,OAAQ,EAAAA,EAAAC,SAAS7E,EAAMF,UAEhCkD,EAAuB1D,QAASoF,IAErC7G,EAAM,qBAAsBmC,GAC5BnC,EAAM,kBAAmBmC,SACnB8E,IACD9E,EAAM+E,kBACTlH,EAAM,WAAS,GAChB2C,GACGwE,EDuBV,SAAyBC,EAAgB1B,SACvC,MAAMpC,GAAgB,OAAAsB,EAAA,MAAAc,OAAA,EAAAA,EAASjE,YAAT,EAAAmD,EAAgBtB,iBAA6B,MAAZuB,gBAAY,EAAAA,WAAAC,UAC7DuC,EAAuBzB,GAAI,GAsB1B,OArBPE,GAAaC,IACX,IAAKC,EACH,OACI,MAAAsB,EAAcpB,MAAO/D,KACX,MAATuD,OAAS,EAAAA,EAAAjE,eAERwF,IACDvB,EAAQjE,QAASiB,EAAagD,EAAQjE,MAAOU,EAAMF,SAEpDE,EAAMF,SAAWoF,EAAqB5F,QAExCI,EAnFc,gCAqFZuF,EAHkB,CAAElF,cAAeC,GAM7C,EAEkBmB,EAAAf,iBAAiB,UAAW+E,GAC1CvB,GAAU,IAAMzC,EAAcgD,oBAAoB,UAAWgB,IAAY,IAEpE,CACLC,eAAgB,IAAMF,EAAqB5F,OAAQ,EACnD+F,cAAe,IAAMH,EAAqB5F,OAAQ,EAEtD,CCnDyBgG,EAAiBtF,IACZ,IAAIsB,EAAQK,UAAUgD,MAC3CC,GAAmB,MAARA,OAAQ,EAAAA,EAAAC,SAAS7E,EAAMF,YAIrCjC,EAAM,eAAgBmC,GACtBnC,EAAM,kBAAmBmC,GACpBA,EAAM+E,kBACTlH,EAAM,WAAS,GAChB2C,GASC,IAAA+E,EA0BG,OAlCKC,EAAA,UAAWxF,IACE6C,EAAMvD,QAAUsD,EAAOtD,MAAMyD,KAAO,IAG3DlF,EAAM,gBAAiBmC,GAClBA,EAAM+E,kBACTlH,EAAM,WAAS,IAGnB8F,GAAaC,IACNpD,EAAalB,QAEdhB,EAAMyD,8BACoD,IAAxDT,EAAQI,uCAAuCqB,OACrBwC,EAAApE,EAAc7B,MAAMmG,KAAKC,MAAMC,cAC7CxE,EAAA7B,MAAMmG,KAAKC,MAAMC,cAAgB,QAEzCrE,EAAAI,uCAAuCkE,IAAIpF,EAAalB,QAE3DsD,EAAAtD,MAAMsG,IAAIpF,EAAalB,OAC9BsE,GAAU,KACJtF,EAAMyD,6BAAuF,IAAxDT,EAAQI,uCAAuCqB,OACxE5B,EAAA7B,MAAMmG,KAAKC,MAAMC,cAAgBJ,EACzD,IACO,IAEH5B,GAAaC,IACXA,GAAU,KACHpD,EAAalB,QAEXsD,EAAAtD,MAAMuG,OAAOrF,EAAalB,OACzBgC,EAAAI,uCAAuCmE,OAAOrF,EAAalB,OAAK,GACzE,IAEI,CAACwG,EAAMC,KACLC,IAAaC,EAAYC,EAAMC,GAAY,CAChD1C,IAAKyC,EAAM5D,GACX,WAAYwD,EAAK7D,QACjBC,GAAI4D,EAAK5D,GACT,yBAA0B,GAC1BwD,MAAOU,EAAe,CACpBT,cAAe7C,EAA4BxD,MAAQ0D,EAAuB1D,MAAQ,OAAS,YAAS,IAEtG8F,eAAgBc,EAAMlB,GAAcI,eACpCC,cAAea,EAAMlB,GAAcK,cACnCgB,qBAAsBH,EAAM7C,GAAoBmB,sBAC/C,CACD1F,QAASwH,GAAQ,IAAM,CACrBC,EAAWT,EAAKU,OAAQ,cAE1BC,EAAG,GACF,EAAG,CAAC,WAAY,KAAM,QAAS,iBAAkB,gBAAiB,yBAE3E,ICnHA,SAASC,IACP,IAAIC,EAAgBhE,SAASgE,cAC7B,GAAqB,MAAjBA,EACK,OAAA,KAEF,KAAiB,MAAjBA,GAAqD,MAA5BA,EAAcC,YAAgE,MAA1CD,EAAcC,WAAWD,eAC3FA,EAAgBA,EAAcC,WAAWD,cAEpC,OAAAA,CACT,CCPK,MAACE,EAAqB,8BACrBC,EAAuB,gCACvBC,EAAgB,CAAE7G,SAAS,EAAOC,YAAY,GACpD,SAAS6G,EAAWC,GAAYC,OAAEA,GAAS,GAAU,CAAA,GACnD,MAAMC,EAA2BT,IACjC,IAAA,MAAWU,KAAaH,EAEtB,GADMI,EAAAD,EAAW,CAAEF,WACfR,MAAuBS,EAClB,OAAA,CAEb,CACA,SAASG,EAAiBC,GAClB,MAAAN,EAAaO,EAAsBD,GAGlC,MAAA,CAFOE,EAAYR,EAAYM,GACzBE,EAAYR,EAAWS,UAAWH,GAEjD,CACA,SAASC,EAAsBD,GAC7B,MAAMI,EAAQ,GACRC,EAASjF,SAASkF,iBAAiBN,EAAWO,WAAWC,aAAc,CAC3EC,WAAaC,IACX,MAAMC,EAAiC,UAAjBD,EAAKE,SAAqC,WAAdF,EAAKrK,KACnD,OAAAqK,EAAKG,UAAYH,EAAKI,QAAUH,EAC3BJ,WAAWQ,YACbL,EAAKM,UAAY,EAAIT,WAAWU,cAAgBV,WAAWQ,WAAA,IAGtE,KAAOV,EAAOa,YAAkBd,EAAAe,KAAKd,EAAOe,aACrC,OAAAhB,CACT,CACA,SAASF,EAAYmB,EAAUrB,GAC7B,IAAA,MAAWhE,KAAWqF,EACpB,IAAKC,EAAStF,EAAS,CAAEuF,KAAMvB,IACtB,OAAAhE,CAEb,CACA,SAASsF,EAASZ,GAAMa,KAAEA,IACpB,GAAsC,WAAtCC,iBAAiBd,GAAMe,WAClB,OAAA,EACT,KAAOf,GAAM,CACP,QAAS,IAATa,GAAsBb,IAASa,EAC1B,OAAA,EACL,GAAmC,SAAnCC,iBAAiBd,GAAMgB,QAClB,OAAA,EACThB,EAAOA,EAAKiB,aAChB,CACS,OAAA,CACT,CAIA,SAAS7B,EAAM9D,GAAS2D,OAAEA,GAAS,GAAU,CAAA,GACvC,GAAA3D,GAAWA,EAAQ8D,MAAO,CAC5B,MAAMF,EAA2BT,IACjCnD,EAAQ8D,MAAM,CAAE8B,eAAe,IAC3B5F,IAAY4D,GAPpB,SAA2B5D,GAClB,OAAAA,aAAmB6F,kBAAoB,WAAY7F,CAC5D,CAKgD8F,CAAkB9F,IAAY2D,GACxE3D,EAAQ2D,QAEd,CACA","x_google_ignoreList":[0,1,2,3,4,5,6,7]}