@vuetify/nightly 3.0.0-next-20220107.0 → 3.0.0-next-20220112.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +9 -13
- package/dist/json/tags.json +0 -1
- package/dist/json/web-types.json +11 -25
- package/dist/vuetify.css +1 -17
- package/dist/vuetify.d.ts +23 -22
- package/dist/vuetify.esm.js +49 -38
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +49 -38
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VBtn/VBtn.css +0 -16
- package/lib/components/VBtn/VBtn.sass +0 -6
- package/lib/components/VBtn/_variables.scss +0 -2
- package/lib/components/VInput/VInput.mjs +3 -2
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VMessages/VMessages.mjs +12 -4
- package/lib/components/VMessages/VMessages.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +2 -2
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +12 -2
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +20 -31
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/index.d.ts +23 -22
- package/lib/entry-bundler.mjs +1 -1
- package/package.json +1 -1
package/dist/vuetify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vuetify.js","sources":["../src/util/box.ts","../src/util/animation.ts","../src/util/console.ts","../src/util/helpers.ts","../src/util/color/transformSRGB.ts","../src/util/color/transformCIELAB.ts","../src/util/colorUtils.ts","../src/composables/defaults.ts","../src/util/defineComponent.tsx","../src/util/createSimpleFunctional.ts","../src/util/dom.ts","../src/util/easing.ts","../src/util/getCurrentInstance.ts","../src/util/getScrollParent.ts","../src/util/globals.ts","../src/util/isFixedPosition.ts","../src/util/propsFactory.ts","../src/util/useRender.ts","../src/util/color/APCA.ts","../src/composables/theme.ts","../src/composables/layout.ts","../src/locale/en.ts","../src/locale/index.ts","../src/composables/rtl.ts","../src/components/VApp/VApp.tsx","../src/composables/dimensions.ts","../src/components/VResponsive/VResponsive.tsx","../src/directives/intersect/index.ts","../src/composables/transition.ts","../src/components/VImg/VImg.tsx","../src/composables/border.ts","../src/composables/density.ts","../src/composables/elevation.ts","../src/composables/rounded.ts","../src/composables/tag.ts","../src/composables/color.ts","../src/composables/proxiedModel.ts","../src/components/VAppBar/VAppBar.tsx","../src/composables/variant.tsx","../src/components/VBtnGroup/VBtnGroup.tsx","../src/composables/group.ts","../src/components/VBtnToggle/VBtnToggle.tsx","../src/composables/size.ts","../src/composables/icons.tsx","../src/components/VIcon/VIcon.tsx","../src/composables/position.ts","../src/composables/router.tsx","../src/directives/ripple/index.ts","../src/components/VBtn/VBtn.tsx","../src/components/VAppBar/VAppBarNavIcon.tsx","../src/components/VAppBar/VAppBarTitle.tsx","../src/components/VAvatar/VAvatar.tsx","../src/components/VAlert/VAlert.tsx","../src/components/VBadge/VBadge.tsx","../src/components/VBanner/VBannerActions.ts","../src/components/VBanner/VBannerAvatar.tsx","../src/components/VBanner/VBannerContent.ts","../src/components/VBanner/VBannerText.ts","../src/composables/display.ts","../src/components/VBanner/VBanner.tsx","../src/components/VBottomNavigation/VBottomNavigation.tsx","../src/components/VBreadcrumbs/shared.ts","../src/components/VBreadcrumbs/VBreadcrumbsItem.tsx","../src/components/VBreadcrumbs/VBreadcrumbsDivider.tsx","../src/components/VBreadcrumbs/VBreadcrumbs.tsx","../src/components/VCard/VCardActions.ts","../src/components/VCard/VCardAvatar.ts","../src/components/VCard/VCardHeader.ts","../src/components/VCard/VCardHeaderText.ts","../src/components/VCard/VCardImg.ts","../src/components/VCard/VCardSubtitle.ts","../src/components/VCard/VCardText.ts","../src/components/VCard/VCardTitle.ts","../src/components/VCard/VCard.tsx","../src/components/transitions/createTransition.ts","../src/components/transitions/expand-transition.ts","../src/components/transitions/dialog-transition.tsx","../src/components/transitions/index.ts","../src/components/VMessages/VMessages.tsx","../src/composables/form.ts","../src/composables/validation.ts","../src/components/VInput/VInput.tsx","../src/components/VLabel/VLabel.tsx","../src/components/VSelectionControlGroup/VSelectionControlGroup.tsx","../src/components/VSelectionControl/VSelectionControl.tsx","../src/components/VCheckbox/VCheckbox.tsx","../src/components/VChip/VChip.tsx","../src/components/VCode/index.ts","../src/components/VCounter/VCounter.tsx","../src/components/VDefaultsProvider/VDefaultsProvider.tsx","../src/composables/delay.ts","../src/components/VOverlay/useActivator.tsx","../src/components/VOverlay/util/anchor.ts","../src/components/VOverlay/util/point.ts","../src/components/VOverlay/positionStrategies.ts","../src/components/VOverlay/requestNewFrame.ts","../src/components/VOverlay/scrollStrategies.ts","../src/composables/teleport.ts","../src/composables/lazy.ts","../src/composables/stack.ts","../src/directives/click-outside/index.ts","../src/components/VOverlay/VOverlay.tsx","../src/components/VDialog/VDialog.tsx","../src/components/VDivider/VDivider.tsx","../src/components/VExpansionPanel/VExpansionPanels.tsx","../src/components/VExpansionPanel/VExpansionPanelTitle.tsx","../src/components/VExpansionPanel/VExpansionPanelText.tsx","../src/components/VExpansionPanel/VExpansionPanel.tsx","../src/components/VField/VFieldLabel.tsx","../src/composables/intersectionObserver.ts","../src/components/VProgressLinear/VProgressLinear.tsx","../src/composables/loader.tsx","../src/composables/focus.ts","../src/components/VField/VField.tsx","../src/composables/locale.ts","../src/components/VFileInput/VFileInput.tsx","../src/components/VFooter/VFooter.tsx","../src/components/VForm/VForm.tsx","../src/components/VGrid/VContainer.tsx","../src/components/VGrid/VCol.ts","../src/components/VGrid/VRow.ts","../src/components/VGrid/VSpacer.ts","../src/components/VHover/VHover.tsx","../src/components/VItemGroup/VItemGroup.tsx","../src/components/VItemGroup/VItem.tsx","../src/components/VKbd/index.ts","../src/components/VLayout/VLayout.tsx","../src/components/VLayout/VLayoutItem.tsx","../src/components/VLazy/VLazy.tsx","../src/components/VList/VListSubheader.tsx","../src/composables/nested/openStrategies.ts","../src/composables/nested/selectStrategies.ts","../src/composables/nested/activeStrategies.ts","../src/composables/nested/nested.ts","../src/components/VList/VListGroup.tsx","../src/components/VList/VListItemAvatar.tsx","../src/components/VList/VListItemHeader.ts","../src/components/VList/VListItemSubtitle.ts","../src/components/VList/VListItemTitle.ts","../src/components/VList/VListItem.tsx","../src/components/VList/VListChildren.tsx","../src/components/VList/VList.tsx","../src/components/VList/VListImg.ts","../src/components/VList/VListItemMedia.tsx","../src/components/VLocaleProvider/VLocaleProvider.tsx","../src/composables/ssrBoot.ts","../src/components/VMain/VMain.tsx","../src/components/VMenu/VMenu.tsx","../src/composables/touch.ts","../src/components/VNavigationDrawer/touch.ts","../src/components/VNavigationDrawer/VNavigationDrawer.tsx","../src/composables/hydration.ts","../src/components/VNoSsr/VNoSsr.tsx","../src/composables/resizeObserver.ts","../src/composables/refs.ts","../src/components/VPagination/VPagination.tsx","../src/components/VParallax/VParallax.tsx","../src/components/VProgressCircular/VProgressCircular.tsx","../src/components/VRadio/VRadio.tsx","../src/components/VRadioGroup/VRadioGroup.tsx","../src/components/VSlider/slider.ts","../src/components/VSlider/VSliderThumb.tsx","../src/components/VSlider/VSliderTrack.tsx","../src/components/VRangeSlider/VRangeSlider.tsx","../src/components/VRating/VRating.tsx","../src/components/VSheet/VSheet.tsx","../src/components/VSlider/VSlider.tsx","../src/components/VSwitch/VSwitch.tsx","../src/components/VSystemBar/VSystemBar.tsx","../src/components/VTable/VTable.tsx","../src/components/VTextarea/VTextarea.tsx","../src/composables/forwardRef.ts","../src/components/VTextField/VTextField.tsx","../src/components/VThemeProvider/VThemeProvider.tsx","../src/components/VTimeline/shared.ts","../src/components/VTimeline/VTimelineDivider.tsx","../src/components/VTimeline/VTimelineItem.tsx","../src/components/VTimeline/VTimeline.tsx","../src/components/VTooltip/VTooltip.tsx","../src/components/VValidation/VValidation.tsx","../src/directives/mutate/index.ts","../src/directives/resize/index.ts","../src/directives/scroll/index.ts","../src/directives/touch/index.ts","../src/iconsets/mdi.ts","../src/framework.ts","../src/entry-bundler.ts"],"sourcesContent":["export class Box {\n x: number\n y: number\n width: number\n height: number\n\n constructor ({ x, y, width, height }: {\n x: number\n y: number\n width: number\n height: number\n }) {\n this.x = x\n this.y = y\n this.width = width\n this.height = height\n }\n\n get top () { return this.y }\n get bottom () { return this.y + this.height }\n get left () { return this.x }\n get right () { return this.x + this.width }\n}\n","import { Box } from '@/util/box'\n\n/** @see https://stackoverflow.com/a/57876601/2074736 */\nexport function nullifyTransforms (el: HTMLElement): Box {\n const rect = el.getBoundingClientRect()\n const style = getComputedStyle(el)\n const tx = style.transform\n\n if (tx) {\n let ta, sx, sy, dx, dy\n if (tx.startsWith('matrix3d(')) {\n ta = tx.slice(9, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[5]\n dx = +ta[12]\n dy = +ta[13]\n } else if (tx.startsWith('matrix(')) {\n ta = tx.slice(7, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[3]\n dx = +ta[4]\n dy = +ta[5]\n } else {\n return new Box(rect)\n }\n\n const to = style.transformOrigin\n const x = rect.x - dx - (1 - sx) * parseFloat(to)\n const y = rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1))\n const w = sx ? rect.width / sx : el.offsetWidth\n const h = sy ? rect.height / sy : el.offsetHeight\n\n return new Box({ x, y, width: w, height: h })\n } else {\n return new Box(rect)\n }\n}\n","/* eslint-disable no-console */\n// import Vuetify from '../framework'\n\nfunction createMessage (message: string, vm?: any, parent?: any): string | void {\n // if (Vuetify.config.silent) return\n\n if (parent) {\n vm = {\n _isVue: true,\n $parent: parent,\n $options: vm,\n }\n }\n\n if (vm) {\n // Only show each message once per instance\n vm.$_alreadyWarned = vm.$_alreadyWarned || []\n if (vm.$_alreadyWarned.includes(message)) return\n vm.$_alreadyWarned.push(message)\n }\n\n return `[Vuetify] ${message}` + (\n vm ? generateComponentTrace(vm) : ''\n )\n}\n\nexport function consoleInfo (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.info(newMessage)\n}\n\nexport function consoleWarn (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.warn(newMessage)\n}\n\nexport function consoleError (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.error(newMessage)\n}\n\nexport function deprecate (original: string, replacement: string, vm?: any, parent?: any) {\n consoleWarn(`[UPGRADE] '${original}' is deprecated, use '${replacement}' instead.`, vm, parent)\n}\nexport function breaking (original: string, replacement: string, vm?: any, parent?: any) {\n consoleError(`[BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`, vm, parent)\n}\nexport function removed (original: string, vm?: any, parent?: any) {\n consoleWarn(`[REMOVED] '${original}' has been removed. You can safely omit it.`, vm, parent)\n}\n\n/**\n * Shamelessly stolen from vuejs/vue/blob/dev/src/core/util/debug.js\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = (str: string) => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nfunction formatComponentName (vm: any, includeFile?: boolean): string {\n if (vm.$root === vm) {\n return '<Root>'\n }\n const options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {}\n let name = options.name || options._componentTag\n const file = options.__file\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/)\n name = match?.[1]\n }\n\n return (\n (name ? `<${classify(name)}>` : `<Anonymous>`) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n}\n\nfunction generateComponentTrace (vm: any): string {\n if (vm._isVue && vm.$parent) {\n const tree: any[] = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (tree.length > 0) {\n const last: any = tree[tree.length - 1]\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++\n vm = vm.$parent\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence]\n currentRecursiveSequence = 0\n }\n }\n tree.push(vm)\n vm = vm.$parent\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map((vm, i) => `${\n i === 0 ? '---> ' : ' '.repeat(5 + i * 2)\n }${\n Array.isArray(vm)\n // eslint-disable-next-line sonarjs/no-nested-template-literals\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`\n }\n}\n","// Utilities\nimport { camelize, Fragment, isRef, ref } from 'vue'\n\n// Types\nimport type { ComponentInternalInstance, ComponentPublicInstance, Ref, Slots, VNode, VNodeChild } from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\ntype SelectItemKey = string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nconst tagsToReplace: Record<string, string> = {\n '&': '&',\n '<': '<',\n '>': '>',\n}\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isComponentInstance (obj: any): obj is ComponentPublicInstance {\n return obj?.$el\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: U[]): [yes: MaybePick<T, U>, no: Omit<T, U>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n )\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ninterface ItemGroup<T> {\n name: string\n items: T[]\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v : [v]\n}\n\ntype DataTableCompareFunction<T = any> = (a: T, b: T) => number\nexport function sortItems<T extends any, K extends keyof T> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<K, DataTableCompareFunction<T[K]>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters?.[sortKey as K]) {\n const customResult = customSorters[sortKey as K](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\ntype Writable<T> = {\n -readonly [P in keyof T]: T[P]\n}\n\n/**\n * Filters slots to only those starting with `prefix`, removing the prefix\n */\nexport function getPrefixedSlots (prefix: string, slots: Slots): Slots {\n return Object.keys(slots)\n .filter(k => k.startsWith(prefix))\n .reduce<Writable<Slots>>((obj, k) => {\n obj[k.replace(prefix, '')] = slots[k]\n return obj\n }, {})\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n out: Record<string, any> = {},\n) {\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\nexport function getUid () {\n return getUid._uid++\n}\ngetUid._uid = 0\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport const randomHexColor = () => {\n const n = (Math.random() * 0xfffff * 1000000).toString(16)\n return '#' + n.slice(0, 6)\n}\n\nexport function toKebabCase (str = '') {\n return str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n}\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport type ExtractMaybeRef<P> = P extends MaybeRef<infer T> ? T : P;\n\nexport function wrapInRef <T> (x: T) {\n return (isRef(x) ? x : ref(x)) as Ref<ExtractMaybeRef<T>>\n}\n\nexport function findChildren (vnode?: VNodeChild): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return []\n }\n\n if (Array.isArray(vnode)) {\n return vnode\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (vnode.component) {\n return [vnode.component, ...findChildren(vnode.component?.subTree)]\n .filter(v => v)\n .flat(1)\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n","import type { ColorInt, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): ColorInt {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n // Rescale back to [0, 255]\n return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0)\n}\n\nexport function toXYZ (rgb: ColorInt): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n const r = transform((rgb >> 16 & 0xff) / 255)\n const g = transform((rgb >> 8 & 0xff) / 255)\n const b = transform((rgb >> 0 & 0xff) / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n","import type { LAB, XYZ } from '../colorUtils'\n\nconst delta = 0.20689655172413793 // 6÷29\n\nconst cielabForwardTransform = (t: number): number => (\n t > delta ** 3\n ? Math.cbrt(t)\n : (t / (3 * delta ** 2)) + 4 / 29\n)\n\nconst cielabReverseTransform = (t: number): number => (\n t > delta\n ? t ** 3\n : (3 * delta ** 2) * (t - 4 / 29)\n)\n\nexport function fromXYZ (xyz: XYZ): LAB {\n const transform = cielabForwardTransform\n const transformedY = transform(xyz[1])\n\n return [\n 116 * transformedY - 16,\n 500 * (transform(xyz[0] / 0.95047) - transformedY),\n 200 * (transformedY - transform(xyz[2] / 1.08883)),\n ]\n}\n\nexport function toXYZ (lab: LAB): XYZ {\n const transform = cielabReverseTransform\n const Ln = (lab[0] + 16) / 116\n return [\n transform(Ln + lab[1] / 500) * 0.95047,\n transform(Ln),\n transform(Ln - lab[2] / 200) * 1.08883,\n ]\n}\n","// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, padEnd } from './helpers'\nimport * as sRGB from '@/util/color/transformSRGB'\nimport * as CIELAB from '@/util/color/transformCIELAB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type ColorInt = number\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number }\nexport type HSVA = HSV & { a: number }\nexport type RGB = { r: number, g: number, b: number }\nexport type RGBA = RGB & { a: number }\nexport type HSL = { h: number, s: number, l: number }\nexport type HSLA = HSL & { a: number }\nexport type Hex = string\nexport type Hexa = string\nexport type Color = string | number | {}\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nexport function colorToInt (color: Color): ColorInt {\n let rgb\n\n if (typeof color === 'number') {\n rgb = color\n } else if (typeof color === 'string') {\n let c = color.startsWith('#') ? color.substring(1) : color\n if (c.length === 3) {\n c = c.split('').map(char => char + char).join('')\n }\n if (c.length !== 6) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n }\n rgb = parseInt(c, 16)\n } else {\n throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`)\n }\n\n if (rgb < 0) {\n consoleWarn(`Colors cannot be negative: '${color}'`)\n rgb = 0\n } else if (rgb > 0xffffff || isNaN(rgb)) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n rgb = 0xffffff\n }\n\n return rgb\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\nexport function intToHex (color: ColorInt): string {\n let hexColor: string = color.toString(16)\n\n if (hexColor.length < 6) hexColor = '0'.repeat(6 - hexColor.length) + hexColor\n\n return '#' + hexColor\n}\n\nexport function colorToHex (color: Color): string {\n return intToHex(colorToInt(color))\n}\n\n/**\n * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]\n */\nexport function HSVAtoRGBA (hsva: HSVA): RGBA {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\n/**\n * Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]\n */\nexport function RGBAtoHSVA (rgba: RGBA): HSVA {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVAtoHSLA (hsva: HSVA): HSLA {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLAtoHSVA (hsl: HSLA): HSVA {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBAtoCSS (rgba: RGBA): string {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`\n}\n\nexport function RGBtoCSS (rgba: RGBA): string {\n return RGBAtoCSS({ ...rgba, a: 1 })\n}\n\nexport function RGBAtoHex (rgba: RGBA): Hex {\n const toHex = (v: number) => {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n }\n\n return `#${[\n toHex(rgba.r),\n toHex(rgba.g),\n toHex(rgba.b),\n toHex(Math.round(rgba.a * 255)),\n ].join('')}`\n}\n\nexport function HexToRGBA (hex: Hex): RGBA {\n const rgba = chunk(hex.slice(1), 2).map((c: string) => parseInt(c, 16))\n\n return {\n r: rgba[0],\n g: rgba[1],\n b: rgba[2],\n a: Math.round((rgba[3] / 255) * 100) / 100,\n }\n}\n\nexport function HexToHSVA (hex: Hex): HSVA {\n const rgb = HexToRGBA(hex)\n return RGBAtoHSVA(rgb)\n}\n\nexport function HSVAtoHex (hsva: HSVA): Hex {\n return RGBAtoHex(HSVAtoRGBA(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length === 6) {\n hex = padEnd(hex, 8, 'F')\n } else {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return `#${hex}`.toUpperCase().substr(0, 9)\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGBA(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function RGBtoInt (rgba: RGBA): ColorInt {\n return (rgba.r << 16) + (rgba.g << 8) + rgba.b\n}\n\nexport function colorToRGB (color: string) {\n const int = colorToInt(color)\n\n return {\n r: (int & 0xFF0000) >> 16,\n g: (int & 0xFF00) >> 8,\n b: (int & 0xFF),\n }\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n // TODO: why this false positive?\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = colorToInt(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n","// Utilities\nimport { computed, inject, provide, ref, unref } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface DefaultsInstance {\n [key: string]: undefined | Record<string, unknown>\n global?: Record<string, unknown>\n}\n\nexport type DefaultsOptions = Partial<DefaultsInstance>\n\nexport const DefaultsSymbol: InjectionKey<Ref<DefaultsInstance>> = Symbol.for('vuetify:defaults')\n\nexport function createDefaults (options?: DefaultsInstance): Ref<DefaultsInstance> {\n return ref(options ?? {})\n}\n\nexport function useDefaults () {\n const defaults = inject(DefaultsSymbol)\n\n if (!defaults) throw new Error('[Vuetify] Could not find defaults instance')\n\n return defaults\n}\n\nexport function provideDefaults (\n defaults?: MaybeRef<DefaultsInstance | undefined>,\n options?: {\n reset?: MaybeRef<number | string | undefined>\n root?: MaybeRef<boolean | undefined>\n scoped?: MaybeRef<boolean | undefined>\n }\n) {\n const injectedDefaults = useDefaults()\n const providedDefaults = ref(defaults)\n\n const newDefaults = computed(() => {\n const scoped = unref(options?.scoped)\n const reset = unref(options?.reset)\n const root = unref(options?.root)\n\n let properties = mergeDeep(providedDefaults.value, { prev: injectedDefaults.value })\n\n if (scoped) return properties\n\n if (reset || root) {\n const len = Number(reset || Infinity)\n\n for (let i = 0; i <= len; i++) {\n if (!properties.prev) break\n\n properties = properties.prev\n }\n\n return properties\n }\n\n return mergeDeep(properties, properties.prev)\n }) as ComputedRef<DefaultsInstance>\n\n provide(DefaultsSymbol, newDefaults)\n\n return newDefaults\n}\n","// Utils\nimport {\n defineComponent as _defineComponent,\n getCurrentInstance,\n shallowReactive,\n toRaw,\n watchEffect,\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { toKebabCase } from '@/util/helpers'\nimport { useDefaults } from '@/composables/defaults'\n\n// Types\nimport type {\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EmitsOptions,\n MethodOptions,\n VNode,\n VNodeChild,\n} from 'vue'\n\nfunction propIsDefined (vnode: VNode, prop: string) {\n return vnode.props?.hasOwnProperty(prop) ||\n vnode.props?.hasOwnProperty(toKebabCase(prop))\n}\n\nexport const defineComponent = (function defineComponent (options: ComponentOptions) {\n options._setup = options._setup ?? options.setup\n\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value')\n\n return options\n }\n\n if (options._setup) {\n options.setup = function setup (props: Record<string, any>, ctx) {\n const vm = getCurrentInstance()!\n const defaults = useDefaults()\n\n const _props = shallowReactive({ ...toRaw(props) })\n watchEffect(() => {\n const globalDefaults = defaults.value.global\n const componentDefaults = defaults.value[options.name!]\n\n for (const prop of Object.keys(props)) {\n let newVal\n if (propIsDefined(vm.vnode, prop)) {\n newVal = props[prop]\n } else {\n newVal = componentDefaults?.[prop] ?? globalDefaults?.[prop] ?? props[prop]\n }\n if (_props[prop] !== newVal) {\n _props[prop] = newVal\n }\n }\n })\n\n return options._setup(_props, ctx)\n }\n }\n\n return options\n}) as unknown as typeof _defineComponent\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\nexport type SlotsToProps<T extends Record<string, Slot>> = {\n $children: () => (T['default'] | VNodeChild | { [K in keyof T]?: T[K] })\n 'v-slots': new () => { [K in keyof T]?: T[K] | false }\n}/* & { // TODO: individual slots are never converted from the constructor type\n [K in keyof T as `v-slot:${K & string}`]?: new () => (T[K] | false)\n} */\n\ntype Slot<T extends any[] = any[]> = (...args: T) => VNodeChild\nexport type MakeSlots<T extends Record<string, any[]>> = {\n [K in keyof T]?: Slot<T[K]>\n}\n\nexport function genericComponent<T extends (new () => {\n $slots?: Record<string, Slot>\n})> (exposeDefaults = true): <\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I = InstanceType<T>,\n Base = DefineComponent<\n (I extends Record<'$props', any> ? Omit<PropsOptions, keyof I['$props']> : PropsOptions) & (\n I extends Record<'$slots', any>\n ? SlotsToProps<I['$slots']>\n : {}\n ),\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : I extends Record<'$props', any> ? Omit<E, ToListeners<keyof I['$props']>> : E,\n EE\n >\n>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE>) => Base & T {\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options) as any\n}\n","import { camelize, capitalize, h } from 'vue'\nimport { defineComponent } from './defineComponent'\n\nexport function createSimpleFunctional (\n klass: string,\n tag = 'div',\n name?: string\n) {\n return defineComponent({\n name: name ?? capitalize(camelize(klass.replace(/__/g, '-'))),\n\n props: {\n tag: {\n type: String,\n default: tag,\n },\n },\n\n setup (props, { slots }) {\n return () => h(props.tag, {\n class: klass,\n }, slots.default?.())\n },\n })\n}\n","/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot (node: Node): null | HTMLDocument | ShadowRoot {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode\n\n // The root parent is the document if the node is attached to the DOM\n if (node !== document) return null\n\n return document\n }\n\n const root = node.getRootNode()\n\n // The composed root node is the document if the node is attached to the DOM\n if (root !== document && root.getRootNode({ composed: true }) !== document) return null\n\n return root as HTMLDocument | ShadowRoot\n}\n","export const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)'\nexport const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)' // Entering\nexport const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)' // Leaving\n","// Utilities\nimport { getCurrentInstance as _getCurrentInstance } from 'vue'\nimport { toKebabCase } from '@/util'\n\nexport function getCurrentInstance (name: string, message?: string) {\n const vm = _getCurrentInstance()\n\n if (!vm) {\n throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`)\n }\n\n return vm\n}\n\nexport function getCurrentInstanceName (name = 'composables') {\n return toKebabCase(getCurrentInstance(name).type?.name)\n}\n","export function getScrollParent (el?: HTMLElement) {\n while (el) {\n if (hasScrollbar(el)) return el\n el = el.parentElement!\n }\n\n return document.scrollingElement as HTMLElement\n}\n\nexport function getScrollParents (el?: HTMLElement) {\n const elements: HTMLElement[] = []\n while (el) {\n if (hasScrollbar(el)) elements.push(el)\n el = el.parentElement!\n }\n\n return elements\n}\n\nexport function hasScrollbar (el?: Element | null) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return style.overflowY === 'scroll' || (style.overflowY === 'auto' && el.scrollHeight > el.clientHeight)\n}\n","export const IS_NODE = typeof process !== 'undefined'\nexport const IN_BROWSER = typeof window !== 'undefined'\nexport const IS_DEBUG = IS_NODE && process.env.DEBUG === 'true'\nexport const IS_PROD = IS_NODE && process.env.NODE_ENV === 'production'\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0)\nexport const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && CSS.supports('selector(:focus-visible)')\n","export function isFixedPosition (el?: HTMLElement) {\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n return true\n }\n el = el.offsetParent as HTMLElement\n }\n return false\n}\n","import type { ComponentObjectPropsOptions, Prop, PropType } from 'vue'\n\n/**\n * Creates a factory function for props definitions.\n * This is used to define props in a composable then override\n * default values in an implementing component.\n *\n * @example Simplified signature\n * (props: Props) => (defaults?: Record<keyof props, any>) => Props\n *\n * @example Usage\n * const makeProps = propsFactory({\n * foo: String,\n * })\n *\n * defineComponent({\n * props: {\n * ...makeProps({\n * foo: 'a',\n * }),\n * },\n * setup (props) {\n * // would be \"string | undefined\", now \"string\" because a default has been provided\n * props.foo\n * },\n * }\n */\n\nexport function propsFactory<\n PropsOptions extends ComponentObjectPropsOptions\n> (props: PropsOptions, source?: string) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults\n ): AppendDefault<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((obj, prop) => {\n const isObjectDefinition = typeof props[prop] === 'object' && props[prop] != null && !Array.isArray(props[prop])\n const definition = isObjectDefinition ? props[prop] : { type: props[prop] }\n\n if (defaults && prop in defaults) {\n obj[prop] = {\n ...definition,\n default: defaults[prop],\n }\n } else {\n obj[prop] = definition\n }\n\n if (source) {\n obj[prop].source = source\n }\n\n return obj\n }, {})\n }\n}\n\ntype AppendDefault<T extends ComponentObjectPropsOptions, D extends PartialKeys<T>> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n}\n\ntype MergeDefault<T, D> = unknown extends D ? InferPropType<T> : (NonNullable<InferPropType<T>> | D)\n\n/**\n * Like `Partial<T>` but doesn't care what the value is\n */\ntype PartialKeys<T> = { [P in keyof T]?: unknown }\n\n// Copied from Vue\ntype InferPropType<T> = T extends null\n ? any // null & true would fail to infer\n : T extends { type: null | true }\n ? any // As TS issue https://github.com/Microsoft/TypeScript/issues/14829 // somehow `ObjectConstructor` when inferred from { (): T } becomes `any` // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n : T extends ObjectConstructor | { type: ObjectConstructor }\n ? Record<string, any>\n : T extends BooleanConstructor | { type: BooleanConstructor }\n ? boolean\n : T extends Prop<infer V, infer D> ? (unknown extends V ? D : V) : T\n","// Utilities\nimport { getCurrentInstance } from './getCurrentInstance'\n\n// Types\nimport type { VNode } from 'vue'\n\nexport function useRender (render: () => VNode): void {\n const vm = getCurrentInstance('useRender') as any\n vm.render = render\n}\n","/**\n * WCAG 3.0 APCA perceptual contrast algorithm from https://github.com/Myndex/SAPC-APCA\n * @licence https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n * @see https://www.w3.org/WAI/GL/task-forces/silver/wiki/Visual_Contrast_of_Text_Subgroup\n */\n\n// MAGICAL NUMBERS\n\n// sRGB Conversion to Relative Luminance (Y)\n\n// Transfer Curve (aka \"Gamma\") for sRGB linearization\n// Simple power curve vs piecewise described in docs\n// Essentially, 2.4 best models actual display\n// characteristics in combination with the total method\nconst mainTRC = 2.4\n\nconst Rco = 0.2126729 // sRGB Red Coefficient (from matrix)\nconst Gco = 0.7151522 // sRGB Green Coefficient (from matrix)\nconst Bco = 0.0721750 // sRGB Blue Coefficient (from matrix)\n\n// For Finding Raw SAPC Contrast from Relative Luminance (Y)\n\n// Constants for SAPC Power Curve Exponents\n// One pair for normal text, and one for reverse\n// These are the \"beating heart\" of SAPC\nconst normBG = 0.55\nconst normTXT = 0.58\nconst revTXT = 0.57\nconst revBG = 0.62\n\n// For Clamping and Scaling Values\n\nconst blkThrs = 0.03 // Level that triggers the soft black clamp\nconst blkClmp = 1.45 // Exponent for the soft black clamp curve\nconst deltaYmin = 0.0005 // Lint trap\nconst scaleBoW = 1.25 // Scaling for dark text on light\nconst scaleWoB = 1.25 // Scaling for light text on dark\nconst loConThresh = 0.078 // Threshold for new simple offset scale\nconst loConFactor = 12.82051282051282 // = 1/0.078,\nconst loConOffset = 0.06 // The simple offset\nconst loClip = 0.001 // Output clip (lint trap #2)\n\nexport function APCAcontrast (text: number, background: number) {\n // Linearize sRGB\n const Rtxt = ((text >> 16 & 0xff) / 255) ** mainTRC\n const Gtxt = ((text >> 8 & 0xff) / 255) ** mainTRC\n const Btxt = ((text >> 0 & 0xff) / 255) ** mainTRC\n\n const Rbg = ((background >> 16 & 0xff) / 255) ** mainTRC\n const Gbg = ((background >> 8 & 0xff) / 255) ** mainTRC\n const Bbg = ((background >> 0 & 0xff) / 255) ** mainTRC\n\n // Apply the standard coefficients and sum to Y\n let Ytxt = (Rtxt * Rco) + (Gtxt * Gco) + (Btxt * Bco)\n let Ybg = (Rbg * Rco) + (Gbg * Gco) + (Bbg * Bco)\n\n // Soft clamp Y when near black.\n // Now clamping all colors to prevent crossover errors\n if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp\n if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp\n\n // Return 0 Early for extremely low ∆Y (lint trap #1)\n if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0.0\n\n // SAPC CONTRAST\n\n let outputContrast: number // For weighted final values\n if (Ybg > Ytxt) {\n // For normal polarity, black text on white\n // Calculate the SAPC contrast value and scale\n\n const SAPC = ((Ybg ** normBG) - (Ytxt ** normTXT)) * scaleBoW\n\n // NEW! SAPC SmoothScale™\n // Low Contrast Smooth Scale Rollout to prevent polarity reversal\n // and also a low clip for very low contrasts (lint trap #2)\n // much of this is for very low contrasts, less than 10\n // therefore for most reversing needs, only loConOffset is important\n outputContrast =\n (SAPC < loClip) ? 0.0\n : (SAPC < loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC - loConOffset\n } else {\n // For reverse polarity, light text on dark\n // WoB should always return negative value.\n\n const SAPC = ((Ybg ** revBG) - (Ytxt ** revTXT)) * scaleWoB\n\n outputContrast =\n (SAPC > -loClip) ? 0.0\n : (SAPC > -loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC + loConOffset\n }\n\n return outputContrast * 100\n}\n","// Utilities\nimport { computed, inject, provide, ref, watch, watchEffect } from 'vue'\nimport {\n colorToInt,\n colorToRGB,\n createRange,\n darken,\n getCurrentInstance,\n getLuma,\n IN_BROWSER,\n intToHex,\n lighten,\n mergeDeep,\n propsFactory,\n} from '@/util'\nimport { APCAcontrast } from '@/util/color/APCA'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { HeadClient } from '@vueuse/head'\n\ntype DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T\n\ninterface BaseColors {\n background: string\n surface: string\n primary: string\n secondary: string\n success: string\n warning: string\n error: string\n info: string\n}\n\ninterface OnColors {\n 'on-background': string\n 'on-surface': string\n 'on-primary': string\n 'on-secondary': string\n 'on-success': string\n 'on-warning': string\n 'on-error': string\n 'on-info': string\n}\n\nexport interface Colors extends BaseColors, OnColors {\n [key: string]: string\n}\n\ninterface InternalThemeDefinition {\n dark: boolean\n colors: Colors\n variables: Record<string, string | number>\n}\n\ninterface VariationsOptions {\n colors: string[]\n lighten: number\n darken: number\n}\n\ninterface InternalThemeOptions {\n isDisabled: boolean\n defaultTheme: string\n variations: VariationsOptions\n themes: Record<string, InternalThemeDefinition>\n}\n\nexport type ThemeDefinition = DeepPartial<InternalThemeDefinition>\n\nexport type ThemeOptions = false | {\n defaultTheme?: string\n variations?: false | VariationsOptions\n themes?: Record<string, ThemeDefinition>\n}\n\nexport interface ThemeInstance {\n isDisabled: boolean\n themes: Ref<Record<string, InternalThemeDefinition>>\n current: Ref<string>\n themeClasses: Ref<string | undefined>\n setTheme: (key: string, theme: InternalThemeDefinition) => void\n getTheme: (key: string) => InternalThemeDefinition\n styles: Ref<string>\n}\n\nexport const ThemeSymbol: InjectionKey<ThemeInstance> = Symbol.for('vuetify:theme')\n\nexport const makeThemeProps = propsFactory({\n theme: String,\n}, 'theme')\n\nconst defaultThemeOptions: ThemeOptions = {\n defaultTheme: 'light',\n variations: { colors: [], lighten: 0, darken: 0 },\n themes: {\n light: {\n dark: false,\n colors: {\n background: '#FFFFFF',\n surface: '#FFFFFF',\n 'surface-variant': '#424242',\n 'on-surface-variant': '#EEEEEE',\n primary: '#6200EE',\n 'primary-darken-1': '#3700B3',\n secondary: '#03DAC6',\n 'secondary-darken-1': '#018786',\n error: '#B00020',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n variables: {\n 'border-color': '#000000',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.04,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.12,\n 'dragged-opacity': 0.08,\n 'kbd-background-color': '#212529',\n 'kbd-color': '#FFFFFF',\n 'code-background-color': '#C2C2C2',\n },\n },\n dark: {\n dark: true,\n colors: {\n background: '#121212',\n surface: '#212121',\n 'surface-variant': '#BDBDBD',\n 'on-surface-variant': '#424242',\n primary: '#BB86FC',\n 'primary-darken-1': '#3700B3',\n secondary: '#03DAC5',\n 'secondary-darken-1': '#03DAC5',\n error: '#CF6679',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n variables: {\n 'border-color': '#FFFFFF',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.10,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.16,\n 'dragged-opacity': 0.08,\n 'kbd-background-color': '#212529',\n 'kbd-color': '#FFFFFF',\n 'code-background-color': '#B7B7B7',\n },\n },\n },\n}\n\nconst parseThemeOptions = (options: ThemeOptions = defaultThemeOptions): InternalThemeOptions => {\n if (!options) return { ...defaultThemeOptions, isDisabled: true } as InternalThemeOptions\n\n const themes = Object.entries(options.themes ?? {}).reduce((obj, [key, theme]) => {\n const defaultTheme = theme.dark ? defaultThemeOptions.themes?.dark : defaultThemeOptions.themes?.light\n obj[key] = mergeDeep(defaultTheme, theme)\n return obj\n }, {} as Record<string, ThemeDefinition>)\n\n return mergeDeep(\n defaultThemeOptions,\n { ...options, themes },\n ) as InternalThemeOptions\n}\n\n// Composables\nexport function createTheme (app: App, options?: ThemeOptions): ThemeInstance {\n const head = app._context.provides.usehead as HeadClient | undefined\n const parsedOptions = parseThemeOptions(options)\n const styleEl = ref<HTMLStyleElement>()\n const current = ref(parsedOptions.defaultTheme)\n const themes = ref(parsedOptions.themes)\n const variations = ref(parsedOptions.variations)\n\n const computedThemes = computed(() => {\n return Object.entries(themes.value).reduce((obj, [name, original]) => {\n const theme: InternalThemeDefinition = {\n ...original,\n colors: {\n ...original.colors,\n ...(parsedOptions.variations.colors ?? []).reduce((obj, color) => {\n return { ...obj, ...genColorVariations(color, original.colors[color]!) }\n }, {}),\n },\n }\n\n for (const color of Object.keys(theme.colors)) {\n if (/on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue\n\n const onColor = `on-${color}` as keyof OnColors\n const colorVal = colorToInt(theme.colors[color]!)\n\n const blackContrast = Math.abs(APCAcontrast(0, colorVal))\n const whiteContrast = Math.abs(APCAcontrast(0xffffff, colorVal))\n\n // TODO: warn about poor color selections\n // const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))\n // const minContrast = Math.max(blackContrast, whiteContrast)\n // if (minContrast < 60) {\n // consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)\n // } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {\n // consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)\n // }\n\n // Prefer white text if both have an acceptable contrast ratio\n theme.colors[onColor] = whiteContrast > Math.min(blackContrast, 50) ? '#fff' : '#000'\n }\n\n obj[name] = theme\n\n return obj\n }, {} as Record<string, InternalThemeDefinition>)\n })\n\n function genColorVariations (name: string, color: string) {\n const obj: Record<string, string> = {}\n for (const variation of (['lighten', 'darken'] as const)) {\n const fn = variation === 'lighten' ? lighten : darken\n for (const amount of createRange(variations.value[variation], 1)) {\n obj[`${name}-${variation}-${amount}`] = intToHex(fn(colorToInt(color), amount))\n }\n }\n\n return obj\n }\n\n const styles = computed(() => {\n const lines = []\n\n for (const themeName of Object.keys(computedThemes.value)) {\n const variables = computedThemes.value[themeName].variables\n\n lines.push(...createCssClass(`.v-theme--${themeName}`, [\n ...genCssVariables(themeName),\n ...Object.keys(variables).map(key => {\n const value = variables[key]\n const color = typeof value === 'string' && value.startsWith('#') ? colorToRGB(value) : undefined\n const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined\n\n return `--v-${key}: ${rgb ?? value}`\n }),\n ]))\n }\n\n const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)))\n for (const key of colors) {\n if (/on-[a-z]/.test(key)) {\n lines.push(...createCssClass(`.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]))\n } else {\n lines.push(\n ...createCssClass(`.bg-${key}`, [\n `--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`,\n `background: rgb(var(--v-theme-${key})) !important`,\n `color: rgb(var(--v-theme-on-${key})) !important`,\n ]),\n ...createCssClass(`.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]),\n ...createCssClass(`.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]),\n )\n }\n }\n\n return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('')\n })\n\n function genCssVariables (name: string) {\n const theme = computedThemes.value[name]\n\n if (!theme) throw new Error(`Could not find theme ${name}`)\n\n const lightOverlay = theme.dark ? 2 : 1\n const darkOverlay = theme.dark ? 1 : 2\n\n const variables: string[] = []\n for (const [key, value] of Object.entries(theme.colors)) {\n const rgb = colorToRGB(value!)\n variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`)\n if (!key.startsWith('on-')) {\n variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`)\n }\n }\n\n return variables\n }\n\n function createCssClass (selector: string, content: string[]) {\n return [\n `${selector} {\\n`,\n ...content.map(line => ` ${line};\\n`),\n '}\\n',\n ]\n }\n\n if (head) {\n head.addHeadObjs(computed(() => ({\n style: [{\n children: styles.value,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n }],\n })))\n\n if (IN_BROWSER) {\n watchEffect(() => head.updateDOM())\n }\n } else {\n watch(themes, updateStyles, { deep: true, immediate: true })\n\n function updateStyles () {\n if (parsedOptions.isDisabled) return\n\n genStyleElement()\n\n if (styleEl.value) styleEl.value.innerHTML = styles.value\n }\n\n function genStyleElement () {\n if (typeof document === 'undefined' || styleEl.value) return\n\n const el = document.createElement('style')\n el.type = 'text/css'\n el.id = 'vuetify-theme-stylesheet'\n\n styleEl.value = el\n document.head.appendChild(styleEl.value)\n }\n }\n\n return {\n isDisabled: parsedOptions.isDisabled,\n themes: computedThemes,\n setTheme: (key: string, theme: InternalThemeDefinition) => themes.value[key] = theme,\n getTheme: (key: string) => computedThemes.value[key],\n current,\n themeClasses: computed(() => parsedOptions.isDisabled ? undefined : `v-theme--${current.value}`),\n styles,\n }\n}\n\nexport function provideTheme (props: { theme?: string }) {\n getCurrentInstance('provideTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n const current = computed<string>(() => {\n return props.theme ?? theme?.current.value\n })\n\n const themeClasses = computed(() => theme.isDisabled ? undefined : `v-theme--${current.value}`)\n\n const newTheme: ThemeInstance = {\n ...theme,\n current,\n themeClasses,\n }\n\n provide(ThemeSymbol, newTheme)\n\n return newTheme\n}\n\nexport function useTheme () {\n getCurrentInstance('useTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n return theme\n}\n","// Utilities\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { convertToUnit, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\n\ntype Position = 'top' | 'left' | 'right' | 'bottom'\n\ntype LayoutItem = {\n id: string\n top: number\n bottom: number\n left: number\n right: number\n size: number\n}\n\ninterface LayoutProvide {\n register: (\n id: string,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>,\n disableTransitions?: Ref<boolean>\n ) => Ref<Record<string, unknown>>\n unregister: (id: string) => void\n mainStyles: Ref<Record<string, unknown>>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n priority: {\n type: [Number, String],\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n return layout\n}\n\nexport function useLayoutItem (\n name: string | undefined,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>,\n disableTransitions?: Ref<boolean>,\n) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n const id = name ?? `layout-item-${getUid()}`\n\n const styles = layout.register(id, priority, position, layoutSize, elementSize, active, disableTransitions)\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return styles\n}\n\nconst generateLayers = (\n layout: string[],\n registered: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n) => {\n let previousLayer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n const ids = !layout.length ? registered : layout.map(l => l.split(':')[0]).filter(l => registered.includes(l))\n for (const id of ids) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\n// TODO: Remove undefined from layout and overlaps when vue typing for required: true prop is fixed\nexport function createLayout (props: { layout?: string[], overlaps?: string[], fullHeight?: boolean }) {\n const registered = ref<string[]>([])\n const positions = new Map<string, Ref<Position>>()\n const layoutSizes = new Map<string, Ref<number | string>>()\n const priorities = new Map<string, Ref<number>>()\n const activeItems = new Map<string, Ref<boolean>>()\n const transitions = new Map<string, Ref<boolean>>()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const entries = [...priorities.entries()]\n const sortedEntries = entries.sort(([, a], [, b]) => a.value - b.value).map(([id]) => id)\n return generateLayers(sortedEntries, registered.value, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(transitions.values()).some(ref => ref.value)\n })\n\n const mainStyles = computed(() => {\n const layer = layers.value[layers.value.length - 1].layer\n\n return {\n position: 'relative',\n paddingLeft: convertToUnit(layer.left),\n paddingRight: convertToUnit(layer.right),\n paddingTop: convertToUnit(layer.top),\n paddingBottom: convertToUnit(layer.bottom),\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n provide(VuetifyLayoutKey, {\n register: (\n id: string,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>,\n disableTransitions?: Ref<boolean>\n ) => {\n priorities.set(id, priority)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && transitions.set(id, disableTransitions)\n registered.value.push(id)\n\n return computed(() => {\n const index = items.value.findIndex(i => i.id === id)\n\n if (index < 0) throw new Error(`Layout item \"${id}\" is missing from layout prop`)\n\n const item = items.value[index]\n\n if (!item) throw new Error(`Could not find layout item \"${id}`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n\n return {\n [position.value]: 0,\n height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : `${elementSize.value}px`,\n marginLeft: isOppositeHorizontal ? undefined : `${item.left}px`,\n marginRight: isOppositeHorizontal ? `${item.right}px` : undefined,\n marginTop: position.value !== 'bottom' ? `${item.top}px` : undefined,\n marginBottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : `${elementSize.value}px`,\n zIndex: layers.value.length - index,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n transitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainStyles,\n getLayoutItem,\n items,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n return {\n layoutClasses,\n getLayoutItem,\n items,\n }\n}\n","export default {\n badge: 'Badge',\n close: 'Close',\n dataIterator: {\n noResultsText: 'No matching records found',\n loadingText: 'Loading items...',\n },\n dataTable: {\n itemsPerPageText: 'Rows per page:',\n ariaLabel: {\n sortDescending: 'Sorted descending.',\n sortAscending: 'Sorted ascending.',\n sortNone: 'Not sorted.',\n activateNone: 'Activate to remove sorting.',\n activateDescending: 'Activate to sort descending.',\n activateAscending: 'Activate to sort ascending.',\n },\n sortBy: 'Sort by',\n },\n dataFooter: {\n itemsPerPageText: 'Items per page:',\n itemsPerPageAll: 'All',\n nextPage: 'Next page',\n prevPage: 'Previous page',\n firstPage: 'First page',\n lastPage: 'Last page',\n pageText: '{0}-{1} of {2}',\n },\n datePicker: {\n itemsSelected: '{0} selected',\n nextMonthAriaLabel: 'Next month',\n nextYearAriaLabel: 'Next year',\n prevMonthAriaLabel: 'Previous month',\n prevYearAriaLabel: 'Previous year',\n },\n noDataText: 'No data available',\n carousel: {\n prev: 'Previous visual',\n next: 'Next visual',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}',\n },\n },\n calendar: {\n moreEvents: '{0} more',\n },\n fileInput: {\n counter: '{0} files',\n counterSize: '{0} files ({1} in total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Pagination Navigation',\n next: 'Next page',\n previous: 'Previous page',\n page: 'Goto Page {0}',\n currentPage: 'Page {0}, Current Page',\n first: 'First page',\n last: 'Last page',\n },\n },\n rating: {\n ariaLabel: {\n item: 'Rating {0} of {1}',\n },\n },\n}\n","export { default as af } from './af'\nexport { default as ar } from './ar'\nexport { default as bg } from './bg'\nexport { default as ca } from './ca'\nexport { default as ckb } from './ckb'\nexport { default as cs } from './cs'\nexport { default as da } from './da'\nexport { default as de } from './de'\nexport { default as el } from './el'\nexport { default as en } from './en'\nexport { default as es } from './es'\nexport { default as et } from './et'\nexport { default as fa } from './fa'\nexport { default as fi } from './fi'\nexport { default as fr } from './fr'\nexport { default as hr } from './hr'\nexport { default as hu } from './hu'\nexport { default as he } from './he'\nexport { default as id } from './id'\nexport { default as it } from './it'\nexport { default as ja } from './ja'\nexport { default as ko } from './ko'\nexport { default as lv } from './lv'\nexport { default as lt } from './lt'\nexport { default as nl } from './nl'\nexport { default as no } from './no'\nexport { default as pl } from './pl'\nexport { default as pt } from './pt'\nexport { default as ro } from './ro'\nexport { default as ru } from './ru'\nexport { default as sk } from './sk'\nexport { default as sl } from './sl'\nexport { default as srCyrl } from './sr-Cyrl'\nexport { default as srLatn } from './sr-Latn'\nexport { default as sv } from './sv'\nexport { default as th } from './th'\nexport { default as tr } from './tr'\nexport { default as az } from './az'\nexport { default as uk } from './uk'\nexport { default as vi } from './vi'\nexport { default as zhHans } from './zh-Hans'\nexport { default as zhHant } from './zh-Hant'\n\nexport const rtl = {\n af: false,\n ar: true,\n bg: false,\n ca: false,\n ckb: false,\n cs: false,\n de: false,\n el: false,\n en: false,\n es: false,\n et: false,\n fa: false,\n fi: false,\n fr: false,\n hr: false,\n hu: false,\n he: true,\n id: false,\n it: false,\n ja: false,\n ko: false,\n lv: false,\n lt: false,\n nl: false,\n no: false,\n pl: false,\n pt: false,\n ro: false,\n ru: false,\n sk: false,\n sl: false,\n srCyrl: false,\n srLatn: false,\n sv: false,\n th: false,\n tr: false,\n az: false,\n uk: false,\n vi: false,\n zhHans: false,\n zhHant: false,\n}\n","import { computed, inject, provide, ref } from 'vue'\nimport { rtl } from '@/locale'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { LocaleInstance } from './locale'\n\nexport interface RtlOptions {\n defaultRtl?: boolean\n rtl?: Record<string, boolean>\n}\n\nexport interface RtlProps {\n rtl?: boolean\n}\n\nexport interface RtlInstance {\n isRtl: Ref<boolean>\n rtl: Record<string, boolean>\n rtlClasses: Ref<string>\n}\n\nexport const RtlSymbol: InjectionKey<RtlInstance> = Symbol.for('vuetify:rtl')\n\nexport function createRtl (localeScope: LocaleInstance, options?: RtlOptions) {\n return createRtlScope({\n rtl: {\n ...rtl,\n ...(options?.rtl ?? {}),\n },\n isRtl: ref(options?.defaultRtl ?? false),\n rtlClasses: ref(''),\n }, localeScope)\n}\n\nexport function createRtlScope (currentScope: RtlInstance, localeScope: LocaleInstance, options?: RtlProps): RtlInstance {\n const isRtl = computed(() => {\n if (typeof options?.rtl === 'boolean') return options.rtl\n if (localeScope.current.value && currentScope.rtl.hasOwnProperty(localeScope.current.value)) {\n return currentScope.rtl[localeScope.current.value]\n }\n\n return currentScope.isRtl.value\n })\n\n return {\n isRtl,\n rtl: currentScope.rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function provideRtl (props: RtlProps, localeScope: LocaleInstance) {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n const newScope = createRtlScope(currentScope, localeScope, props)\n\n provide(RtlSymbol, newScope)\n\n return newScope\n}\n\nexport function useRtl () {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n return currentScope\n}\n","// Styles\nimport './VApp.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { useRtl } from '@/composables/rtl'\n\nexport const VApp = defineComponent({\n name: 'VApp',\n\n props: {\n ...makeLayoutProps({ fullHeight: true }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const theme = provideTheme(props)\n const { layoutClasses, getLayoutItem, items } = createLayout(props)\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n <div\n class={[\n 'v-application',\n theme.themeClasses.value,\n layoutClasses.value,\n rtlClasses.value,\n ]}\n data-app=\"true\"\n >\n <div class=\"v-application__wrap\">\n { slots.default?.() }\n </div>\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n theme,\n }\n },\n})\n\nexport type VApp = InstanceType<typeof VApp>\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, propsFactory } from '@/util'\n\n// Types\nexport interface DimensionProps {\n height?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n width?: number | string\n}\n\n// Composables\nexport const makeDimensionProps = propsFactory({\n height: [Number, String],\n maxHeight: [Number, String],\n maxWidth: [Number, String],\n minHeight: [Number, String],\n minWidth: [Number, String],\n width: [Number, String],\n}, 'dimension')\n\nexport function useDimension (props: DimensionProps) {\n const dimensionStyles = computed(() => ({\n height: convertToUnit(props.height),\n maxHeight: convertToUnit(props.maxHeight),\n maxWidth: convertToUnit(props.maxWidth),\n minHeight: convertToUnit(props.minHeight),\n minWidth: convertToUnit(props.minWidth),\n width: convertToUnit(props.width),\n }))\n\n return { dimensionStyles }\n}\n","// Styles\nimport './VResponsive.sass'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport function useAspectStyles (props: { aspectRatio?: string | number }) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio)\n\n return ratio\n ? { paddingBottom: String(1 / ratio * 100) + '%' }\n : undefined\n }),\n }\n}\n\nexport const VResponsive = defineComponent({\n name: 'VResponsive',\n\n props: {\n aspectRatio: [String, Number],\n contentClass: String,\n\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n const { aspectStyles } = useAspectStyles(props)\n\n return () => (\n <div class=\"v-responsive\" style={ dimensionStyles.value }>\n <div class=\"v-responsive__sizer\" style={ aspectStyles.value } />\n { slots.additional?.() }\n { slots.default && (\n <div class={['v-responsive__content', props.contentClass]}>{ slots.default() }</div>\n )}\n </div>\n )\n },\n})\n","// Utils\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype ObserveHandler = (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n) => void\n\nexport interface ObserveDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n if (!SUPPORTS_INTERSECTION) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[binding.instance!.$.uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(isIntersecting, entries, observer)\n }\n\n if (isIntersecting && modifiers.once) unmounted(el, binding)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![binding.instance!.$.uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unmounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n const observe = el._observe?.[binding.instance!.$.uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![binding.instance!.$.uid]\n}\n\nexport const Intersect: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Intersect\n","// Utilities\nimport { h, mergeProps, Transition } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Component, FunctionalComponent, PropType, TransitionProps } from 'vue'\n\nexport const makeTransitionProps = propsFactory({\n transition: {\n type: [Boolean, String, Object] as PropType<string | false | TransitionProps & { component?: Component }>,\n default: 'fade-transition',\n validator: val => val !== true,\n },\n}, 'transition')\n\ninterface MaybeTransitionProps extends TransitionProps {\n transition?: string | boolean | TransitionProps & { component?: any }\n}\n\nexport const MaybeTransition: FunctionalComponent<MaybeTransitionProps> = (props, { slots }) => {\n const { transition, ...rest } = props\n\n if (!transition || typeof transition === 'boolean') return slots.default?.()\n\n const { component = Transition, ...customProps } = typeof transition === 'object' ? transition : {}\n\n return h(\n component,\n mergeProps(typeof transition === 'string' ? { name: transition } : customProps as any, rest as any),\n slots\n )\n}\n","import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n h,\n nextTick,\n onBeforeMount,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n defineComponent,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport const VImg = defineComponent({\n name: 'VImg',\n\n directives: { intersect },\n\n props: {\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeTransitionProps(),\n },\n\n emits: ['loadstart', 'load', 'error'],\n\n setup (props, { emit, slots }) {\n const currentSrc = ref('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = ref<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = ref<number>()\n const naturalHeight = ref<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = computed(() => {\n if (!normalisedSrc.value.src || state.value === 'idle') return\n\n const img = h('img', {\n class: ['v-img__img', containClasses.value],\n src: normalisedSrc.value.src,\n srcset: normalisedSrc.value.srcset,\n sizes: props.sizes,\n ref: image,\n onLoad,\n onError,\n })\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n })\n\n const __preloadImage = computed(() => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt=\"\"\n />\n )}\n </MaybeTransition>\n ))\n\n const __placeholder = computed(() => {\n if (!slots.placeholder) return\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n })\n\n const __error = computed(() => {\n if (!slots.error) return\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n })\n\n const __gradient = computed(() => {\n if (!props.gradient) return\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n })\n\n const isBooted = ref(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n ]}\n style={{ width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) }}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n v-slots={{\n additional: () => [__image.value, __preloadImage.value, __gradient.value, __placeholder.value, __error.value],\n default: slots.default,\n }}\n />\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n","// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nexport interface BorderProps {\n border?: boolean | number | string\n}\n\n// Composables\nexport const makeBorderProps = propsFactory({\n border: [Boolean, Number, String],\n}, 'border')\n\nexport function useBorder (\n props: BorderProps,\n name = getCurrentInstanceName(),\n) {\n const borderClasses = computed(() => {\n const classes: string[] = []\n\n if (props.border != null && props.border !== false) {\n classes.push(`${name}--border`)\n }\n\n if (\n (typeof props.border === 'string' && props.border !== '') ||\n props.border === 0\n ) {\n for (const value of String(props.border).split(' ')) {\n classes.push(`border-${value}`)\n }\n }\n\n return classes\n })\n\n return { borderClasses }\n}\n","// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'default', 'comfortable', 'compact'] as const\n\nexport type Density = typeof allowedDensities[number]\n\nexport interface DensityProps {\n density?: Density\n}\n\n// Composables\nexport const makeDensityProps = propsFactory({\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n}, 'density')\n\nexport function useDensity (\n props: DensityProps,\n name = getCurrentInstanceName(),\n) {\n const densityClasses = computed(() => {\n return `${name}--density-${props.density}`\n })\n\n return { densityClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nexport interface ElevationProps {\n elevation?: number | string | null\n}\n\n// Composables\nexport const makeElevationProps = propsFactory({\n elevation: {\n type: [Number, String],\n validator (v: any) {\n const value = parseInt(v)\n\n return (\n !isNaN(value) &&\n value >= 0 &&\n // Material Design has a maximum elevation of 24\n // https://material.io/design/environment/elevation.html#default-elevations\n value <= 24\n )\n },\n },\n}, 'elevation')\n\ntype ElevationData = {\n elevationClasses: Ref<string[]>\n}\n\nexport function useElevation (props: ElevationProps | Ref<number | string | undefined>): ElevationData {\n const elevationClasses = computed(() => {\n const elevation = isRef(props) ? props.value : props.elevation\n const classes: string[] = []\n\n if (elevation == null) return classes\n\n classes.push(`elevation-${elevation}`)\n\n return classes\n })\n\n return { elevationClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\ntype RoundedValue = boolean | string | number | null | undefined\n\nexport interface RoundedProps {\n rounded?: RoundedValue\n tile?: boolean\n}\n\ntype RoundedData = {\n roundedClasses: Ref<string[]>\n}\n\n// Composables\nexport const makeRoundedProps = propsFactory({\n rounded: {\n type: [Boolean, Number, String],\n default: undefined,\n },\n}, 'rounded')\n\nexport function useRounded (\n props: RoundedProps | Ref<RoundedValue>,\n name = getCurrentInstanceName(),\n): RoundedData {\n const roundedClasses = computed(() => {\n const rounded = isRef(props) ? props.value : props.rounded\n const classes: string[] = []\n\n if (rounded === true || rounded === '') {\n classes.push(`${name}--rounded`)\n } else if (\n typeof rounded === 'string' ||\n rounded === 0\n ) {\n for (const value of String(rounded).split(' ')) {\n classes.push(`rounded-${value}`)\n }\n }\n\n return classes\n })\n\n return { roundedClasses }\n}\n","// Utilities\nimport { propsFactory } from '@/util'\n\n// Types\nexport interface TagProps {\n tag: string\n}\n\n// Composables\nexport const makeTagProps = propsFactory({\n tag: {\n type: String,\n default: 'div',\n },\n}, 'tag')\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { isCssColor } from '@/util'\n\n// Types\nimport type { CSSProperties, Ref } from 'vue'\n\ntype ColorValue = string | false | null | undefined\n\nexport interface TextColorData {\n textColorClasses: Ref<string[]>\n textColorStyles: Ref<CSSProperties>\n}\n\nexport interface BackgroundColorData {\n backgroundColorClasses: Ref<string[]>\n backgroundColorStyles: Ref<CSSProperties>\n}\n\n// Composables\nexport function useColor (colors: Ref<{ background?: ColorValue, text?: ColorValue }>) {\n const backgroundIsCssColor = computed(() => isCssColor(colors.value.background))\n const textIsCssColor = computed(() => isCssColor(colors.value.text))\n\n const colorClasses = computed(() => {\n const classes: string[] = []\n\n if (colors.value.background && !backgroundIsCssColor.value) {\n classes.push(`bg-${colors.value.background}`)\n }\n\n if (colors.value.text && !textIsCssColor.value) {\n classes.push(`text-${colors.value.text}`)\n }\n\n return classes\n })\n\n const colorStyles = computed(() => {\n const styles: CSSProperties = {}\n\n if (colors.value.background && backgroundIsCssColor.value) {\n styles.backgroundColor = colors.value.background\n }\n\n if (colors.value.text && textIsCssColor.value) {\n styles.color = colors.value.text\n styles.caretColor = colors.value.text\n }\n\n return styles\n })\n\n return { colorClasses, colorStyles }\n}\n\nexport function useTextColor (color: Ref<ColorValue>): TextColorData\nexport function useTextColor <T extends Record<K, ColorValue>, K extends string> (props: T, name: K): TextColorData\nexport function useTextColor <T extends Record<K, ColorValue>, K extends string> (\n props: T | Ref<ColorValue>,\n name?: K\n): TextColorData {\n const colors = computed(() => ({\n text: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: textColorClasses,\n colorStyles: textColorStyles,\n } = useColor(colors)\n\n return { textColorClasses, textColorStyles }\n}\n\nexport function useBackgroundColor (color: Ref<ColorValue>): BackgroundColorData\nexport function useBackgroundColor <T extends Record<K, ColorValue>, K extends string> (props: T, name: K): BackgroundColorData\nexport function useBackgroundColor <T extends Record<K, ColorValue>, K extends string> (\n props: T | Ref<ColorValue>,\n name?: K\n): BackgroundColorData {\n const colors = computed(() => ({\n background: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: backgroundColorClasses,\n colorStyles: backgroundColorStyles,\n } = useColor(colors)\n\n return { backgroundColorClasses, backgroundColorStyles }\n}\n","// Utilities\nimport { computed, ref } from 'vue'\nimport { getCurrentInstance, toKebabCase } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\n// Composables\nexport function useProxiedModel<\n Props extends object & { [key in Prop as `onUpdate:${Prop}`]: ((val: any) => void) | undefined },\n Prop extends Extract<keyof Props, string>,\n Inner = Props[Prop],\n> (\n props: Props,\n prop: Prop,\n defaultValue?: Props[Prop],\n transformIn: (value?: Props[Prop]) => Inner = (v: any) => v,\n transformOut: (value: Inner) => Props[Prop] = (v: any) => v,\n) {\n const vm = getCurrentInstance('useProxiedModel')\n\n const propIsDefined = computed(() => {\n return !!(\n typeof props[prop] !== 'undefined' &&\n (vm?.vnode.props?.hasOwnProperty(prop) || vm?.vnode.props?.hasOwnProperty(toKebabCase(prop)))\n )\n })\n\n const internal = ref(transformIn(props[prop])) as Ref<Inner>\n\n return computed<Inner>({\n get () {\n if (propIsDefined.value) return transformIn(props[prop])\n else return internal.value\n },\n set (newValue) {\n internal.value = newValue\n vm?.emit(`update:${prop}`, transformOut(newValue))\n },\n })\n}\n","// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VAppBar = defineComponent({\n name: 'VAppBar',\n\n props: {\n // TODO: Implement scrolling techniques\n // hideOnScroll: Boolean\n // invertedScroll: Boolean\n // collapseOnScroll: Boolean\n // elevateOnScroll: Boolean\n // shrinkOnScroll: Boolean\n // fadeImageOnScroll: Boolean\n collapse: Boolean,\n color: String,\n flat: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n floating: Boolean,\n image: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n prominentHeight: {\n type: [Number, String],\n default: 128,\n },\n position: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps(),\n ...makeTagProps({ tag: 'header' }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const isExtended = !!slots.extension\n const contentHeight = computed(() => (\n Number(props.prominent ? props.prominentHeight : props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const height = computed(() => (\n contentHeight.value +\n Number(isExtended ? props.extensionHeight : 0)\n ))\n const isActive = useProxiedModel(props, 'modelValue', props.modelValue)\n const layoutStyles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n toRef(props, 'position'),\n height,\n height,\n isActive,\n )\n\n return () => {\n const hasImage = !!(slots.image || props.image)\n\n return (\n <props.tag\n class={[\n 'v-app-bar',\n {\n 'v-app-bar--bottom': props.position === 'bottom',\n 'v-app-bar--collapsed': props.collapse,\n 'v-app-bar--flat': props.flat,\n 'v-app-bar--floating': props.floating,\n 'v-app-bar--is-active': isActive.value,\n 'v-app-bar--prominent': props.prominent,\n 'v-app-bar--absolute': props.absolute,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutStyles.value,\n ]}\n >\n { hasImage && (\n <div class=\"v-app-bar__image\">\n { slots.image\n ? slots.img?.({ src: props.image })\n : (<VImg src={ props.image } cover />)\n }\n </div>\n ) }\n\n <div\n class=\"v-app-bar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-app-bar__prepend\">\n { slots.prepend() }\n </div>\n ) }\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-app-bar__append\">\n { slots.append() }\n </div>\n ) }\n </div>\n\n { isExtended && (\n <div\n class=\"v-app-bar__extension\"\n style={{ height: convertToUnit(props.extensionHeight) }}\n >\n { slots.extension?.() }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VAppBar = InstanceType<typeof VAppBar>\n","// Composables\nimport { useColor } from '@/composables/color'\n\n// Utilities\nimport { computed, unref } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport const allowedVariants = ['contained', 'outlined', 'plain', 'text', 'contained-text'] as const\n\nexport type Variant = typeof allowedVariants[number]\n\nexport interface VariantProps {\n color?: string\n textColor?: string\n variant: Variant\n}\n\nexport function genOverlays (isClickable: boolean, name: string) {\n return (\n <>\n { isClickable && <div class={`${name}__overlay`} /> }\n\n <div class={`${name}__underlay`} />\n </>\n )\n}\n\nexport const makeVariantProps = propsFactory({\n color: String,\n textColor: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'contained',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'variant')\n\nexport function useVariant (\n props: MaybeRef<VariantProps>,\n name = getCurrentInstanceName(),\n) {\n const variantClasses = computed(() => {\n const { variant } = unref(props)\n return `${name}--variant-${variant}`\n })\n\n const { colorClasses, colorStyles } = useColor(computed(() => {\n const { textColor, variant, color } = unref(props)\n return {\n text: textColor,\n [variant === 'contained' ? 'background' : 'text']: color,\n }\n }))\n\n return { colorClasses, colorStyles, variantClasses }\n}\n","// Styles\nimport './VBtnGroup.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utility\nimport { defineComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VBtnGroup = defineComponent({\n name: 'VBtnGroup',\n\n props: {\n divided: Boolean,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBtn: {\n height: 'auto',\n color: toRef(props, 'color'),\n flat: true,\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-btn-group',\n {\n 'v-btn-group--divided': props.divided,\n },\n themeClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n v-slots={ slots }\n />\n )\n })\n },\n})\n","// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef } from 'vue'\nimport { consoleWarn, deepEqual, findChildren, getCurrentInstance, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, ExtractPropTypes, InjectionKey, PropType, Ref, UnwrapRef } from 'vue'\n\ninterface GroupItem {\n id: number\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n}\n\ninterface GroupProps {\n disabled: boolean\n modelValue: unknown\n multiple: boolean\n mandatory: boolean | 'force' | undefined\n max: number | undefined\n selectedClass: string | undefined\n 'onUpdate:modelValue': ((val: unknown) => void) | undefined\n}\n\nexport interface GroupProvide {\n register: (item: GroupItem, cmp: ComponentInternalInstance) => void\n unregister: (id: number) => void\n select: (id: number, value: boolean) => void\n selected: Ref<any[]>\n isSelected: (id: number) => boolean\n prev: () => void\n next: () => void\n selectedClass: Ref<string | undefined>\n items: Ref<number[]>\n disabled: Ref<boolean | undefined>\n}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref<boolean>\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<string | false | undefined>\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n group: GroupProvide\n}\n\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String,\n disabled: Boolean,\n}, 'group')\n\nexport const makeGroupItemProps = propsFactory({\n value: null,\n disabled: Boolean,\n selectedClass: String,\n}, 'group-item')\n\ntype GroupItemProps = ExtractPropTypes<ReturnType<typeof makeGroupItemProps>>\n\n// Composables\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required?: true,\n): GroupItemProvide\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required: false,\n): GroupItemProvide | null\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required = true,\n): GroupItemProvide | null {\n const vm = getCurrentInstance('useGroupItem')\n\n if (!vm) {\n throw new Error(\n '[Vuetify] useGroupItem composable must be used inside a component setup function'\n )\n }\n\n const group = inject(injectKey, null)\n\n if (!group) {\n if (!required) return group\n\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`)\n }\n\n const id = getUid()\n const value = toRef(props, 'value')\n const disabled = computed(() => group.disabled.value || props.disabled)\n\n group.register({\n id,\n value,\n disabled,\n }, vm)\n\n onBeforeUnmount(() => {\n group.unregister(id)\n })\n\n const isSelected = computed(() => {\n return group.isSelected(id)\n })\n\n const selectedClass = computed(() => isSelected.value && (group.selectedClass.value ?? props.selectedClass))\n\n return {\n id,\n isSelected,\n toggle: () => group.select(id, !isSelected.value),\n select: (value: boolean) => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group,\n }\n}\n\nexport function useGroup (\n props: GroupProps,\n injectKey: InjectionKey<GroupProvide>\n) {\n let isUnmounted = false\n const items = reactive<GroupItem[]>([])\n const selected = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => {\n if (v == null) return []\n\n return getIds(items, wrapInArray(v))\n },\n v => {\n const arr = getValues(items, v)\n\n return props.multiple ? arr : arr[0]\n }\n )\n\n const groupVm = getCurrentInstance('useGroup')\n\n function register (item: GroupItem, vm: ComponentInternalInstance) {\n // Is there a better way to fix this typing?\n const unwrapped = item as unknown as UnwrapRef<GroupItem>\n\n const children = findChildren(groupVm?.vnode)\n const instances = children\n .slice(1) // First one is group component itself\n .filter(cmp => !!cmp.provides[injectKey as any]) // TODO: Fix in TS 4.4\n const index = instances.indexOf(vm)\n\n if (index > -1) items.splice(index, 0, unwrapped)\n else items.push(unwrapped)\n }\n\n function unregister (id: number) {\n if (isUnmounted) return\n\n // TODO: re-evaluate this line's importance in the future\n // should we only modify the model if mandatory is set.\n // selected.value = selected.value.filter(v => v !== id)\n\n forceMandatoryValue()\n\n const index = items.findIndex(item => item.id === id)\n items.splice(index, 1)\n }\n\n // If mandatory and nothing is selected, then select first non-disabled item\n function forceMandatoryValue () {\n const item = items.find(item => !item.disabled)\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id]\n }\n }\n\n onMounted(() => {\n forceMandatoryValue()\n })\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function select (id: number, isSelected: boolean) {\n const item = items.find(item => item.id === id)\n if (isSelected && item?.disabled) return\n\n if (props.multiple) {\n const internalValue = selected.value.slice()\n const index = internalValue.findIndex(v => v === id)\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (\n props.mandatory &&\n index > -1 &&\n internalValue.length <= 1\n ) return\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (\n props.max != null &&\n index < 0 &&\n internalValue.length + 1 > props.max\n ) return\n\n if (index < 0 && isSelected) internalValue.push(id)\n else if (index >= 0 && !isSelected) internalValue.splice(index, 1)\n\n selected.value = internalValue\n } else {\n if (props.mandatory && selected.value.includes(id)) return\n\n selected.value = isSelected ? [id] : []\n }\n }\n\n function step (offset: number) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop')\n\n if (!selected.value.length) {\n const item = items.find(item => !item.disabled)\n item && (selected.value = [item.id])\n } else {\n const currentId = selected.value[0]\n const currentIndex = items.findIndex(i => i.id === currentId)\n\n let newIndex = (currentIndex + offset) % items.length\n let newItem = items[newIndex]\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length\n newItem = items[newIndex]\n }\n\n if (newItem.disabled) return\n\n selected.value = [items[newIndex].id]\n }\n }\n\n const state = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items.map(({ id }) => id)),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getIds (items: UnwrapRef<GroupItem[]>, modelValue: any[]) {\n const ids = []\n for (const item of items) {\n if (item.value != null) {\n if (modelValue.find(value => deepEqual(value, item.value))) {\n ids.push(item.id)\n }\n } else if (modelValue.includes(item.id)) {\n ids.push(item.id)\n }\n }\n\n return ids\n}\n\nfunction getValues (items: UnwrapRef<GroupItem[]>, ids: any[]) {\n const values = []\n\n for (const item of items) {\n if (ids.includes(item.id)) {\n values.push(item.value != null ? item.value : item.id)\n }\n }\n\n return values\n}\n","// Styles\nimport './VBtnToggle.sass'\n\n// Components\nimport { VBtnGroup } from '@/components/VBtnGroup'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utility\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type BtnToggleSlotProps = 'isSelected' | 'select' | 'selected' | 'next' | 'prev'\nexport interface DefaultBtnToggleSlot extends Pick<GroupProvide, BtnToggleSlotProps> {}\n\nexport const VBtnToggleSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-btn-toggle')\n\nexport const VBtnToggle = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n default: [DefaultBtnToggleSlot]\n }>\n}>()({\n name: 'VBtnToggle',\n\n props: makeGroupProps({ selectedClass: 'v-btn--selected' }),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isSelected, next, prev, select, selected } = useGroup(props, VBtnToggleSymbol)\n\n useRender(() => (\n <VBtnGroup class=\"v-btn-toggle\">\n { slots.default?.({\n isSelected,\n next,\n prev,\n select,\n selected,\n } as DefaultBtnToggleSlot) }\n </VBtnGroup>\n ))\n\n return {\n next,\n prev,\n select,\n }\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nconst predefinedSizes = ['x-small', 'small', 'default', 'large', 'x-large']\n\nexport interface SizeProps {\n size?: string | number\n}\n\n// Composables\nexport const makeSizeProps = propsFactory({\n size: {\n type: [String, Number],\n default: 'default',\n },\n}, 'size')\n\nexport function useSize (\n props: SizeProps,\n name = getCurrentInstanceName(),\n) {\n const sizeClasses = computed(() => {\n return predefinedSizes.includes(props.size as string)\n ? `${name}--size-${props.size}`\n : null\n })\n\n const sizeStyles = computed(() => {\n return !predefinedSizes.includes(props.size as string) && props.size\n ? ({\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : null\n })\n\n return { sizeClasses, sizeStyles }\n}\n","// Utilities\nimport { computed, inject, isRef } from 'vue'\nimport { defineComponent, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue = string | JSXComponent\n\nexport interface IconAliases {\n [name: string]: IconValue\n complete: IconValue\n cancel: IconValue\n close: IconValue\n delete: IconValue\n clear: IconValue\n success: IconValue\n info: IconValue\n warning: IconValue\n error: IconValue\n prev: IconValue\n next: IconValue\n checkboxOn: IconValue\n checkboxOff: IconValue\n checkboxIndeterminate: IconValue\n delimiter: IconValue\n sort: IconValue\n expand: IconValue\n menu: IconValue\n subgroup: IconValue\n dropdown: IconValue\n radioOn: IconValue\n radioOff: IconValue\n edit: IconValue\n ratingEmpty: IconValue\n ratingFull: IconValue\n ratingHalf: IconValue\n loading: IconValue\n first: IconValue\n last: IconValue\n unfold: IconValue\n file: IconValue\n plus: IconValue\n minus: IconValue\n}\n\nexport interface IconProps {\n tag: string\n icon: IconValue\n disabled?: Boolean\n}\n\ntype IconComponent = JSXComponent<IconProps>\n\nexport interface IconSet {\n component: IconComponent\n}\n\nexport type IconOptions = {\n defaultSet: string\n aliases?: Partial<IconAliases>\n sets: Record<string, IconSet>\n}\n\ntype IconInstance = {\n component: IconComponent\n icon: IconValue\n}\n\nexport const IconSymbol: InjectionKey<IconOptions> = Symbol.for('vuetify:icons')\n\nexport const makeIconProps = propsFactory({\n icon: {\n type: [String, Object] as PropType<IconValue>,\n required: true,\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: String,\n required: true,\n },\n}, 'icon')\n\nexport const VComponentIcon = defineComponent({\n name: 'VComponentIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return (\n <props.tag>\n <props.icon />\n </props.tag>\n )\n }\n },\n})\n\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n\n inheritAttrs: false,\n\n props: makeIconProps(),\n\n setup (props, { attrs }) {\n return () => {\n return (\n <props.tag { ...attrs } style={ null }>\n <svg\n class=\"v-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-hidden=\"true\"\n >\n <path d={ props.icon as string }></path>\n </svg>\n </props.tag>\n )\n }\n },\n})\n\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag>{ props.icon }</props.tag>\n }\n },\n})\n\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag class={ props.icon }></props.tag>\n }\n },\n})\n\nexport const defaultSets: Record<string, IconSet> = {\n svg: {\n component: VSvgIcon,\n },\n class: {\n component: VClassIcon,\n },\n}\n\n// Composables\nexport const useIcon = (props: Ref<string | undefined> | { icon?: IconValue }) => {\n const icons = inject(IconSymbol)\n\n if (!icons) throw new Error('Missing Vuetify Icons provide!')\n\n const iconData: Ref<IconInstance> = computed(() => {\n const iconAlias = isRef(props) ? props.value : props.icon\n\n if (!iconAlias) throw new Error('Icon value is undefined or null')\n\n let icon: IconValue | undefined = iconAlias\n\n if (typeof iconAlias === 'string' && iconAlias.includes('$')) {\n icon = icons.aliases?.[iconAlias.slice(iconAlias.indexOf('$') + 1)]\n }\n\n if (!icon) throw new Error(`Could not find aliased icon \"${iconAlias}\"`)\n\n if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon,\n }\n }\n\n const iconSetName = Object.keys(icons.sets).find(\n setName => typeof icon === 'string' && icon.startsWith(`${setName}:`)\n )\n\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet]\n\n return {\n component: iconSet.component,\n icon: iconName,\n }\n })\n\n return { iconData }\n}\n","// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useIcon } from '@/composables/icons'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, flattenFragments } from '@/util'\n\n// Types\nimport type { IconValue } from '@/composables/icons'\nimport type { ComputedRef, PropType } from 'vue'\n\nexport const VIcon = defineComponent({\n name: 'VIcon',\n\n props: {\n color: String,\n left: Boolean,\n right: Boolean,\n icon: {\n type: [String, Object] as PropType<IconValue>,\n },\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n },\n\n setup (props, { slots }) {\n let slotIcon: ComputedRef<string | undefined> | undefined\n if (slots.default) {\n slotIcon = computed(() => {\n const slot = slots.default?.()\n if (!slot) return\n\n return flattenFragments(slot).filter(node =>\n node.children && typeof node.children === 'string'\n )[0]?.children as string\n })\n }\n\n const { iconData } = useIcon(slotIcon || props)\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => {\n return (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--left': props.left,\n 'v-icon--right': props.right,\n },\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n ]}\n aria-hidden=\"true\"\n />\n )\n }\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'] as const\n\ntype Position = typeof positionValues[number]\n\nexport interface PositionProps {\n absolute?: boolean\n bottom?: boolean | number | string\n fixed?: boolean\n left?: boolean | number | string\n position?: Position\n right?: boolean | number | string\n top?: boolean | number | string\n}\n\n// Composables\nexport const makePositionProps = propsFactory({\n absolute: Boolean,\n bottom: [Boolean, Number, String],\n fixed: Boolean,\n left: [Boolean, Number, String],\n position: {\n type: String as PropType<Position>,\n validator: /* istanbul ignore next */ (v: any) => positionValues.includes(v),\n },\n right: [Boolean, Number, String],\n top: [Boolean, Number, String],\n}, 'position')\n\nexport function usePosition (\n props: PositionProps,\n name = getCurrentInstanceName(),\n) {\n const targets = ['top', 'right', 'bottom', 'left'] as const\n\n const positionClasses = computed(() => {\n if (props.fixed) return `${name}--fixed`\n if (props.absolute) return `${name}--absolute`\n\n return props.position ? `position-${props.position}` : undefined\n })\n\n const positionStyles = computed(() => {\n const styles: Partial<Record<typeof targets[number], string>> = {}\n\n for (const target of targets) {\n const prop = props[target]\n\n if (prop == null || prop === false) continue\n\n styles[target] = convertToUnit(prop === true ? '0' : String(prop))\n }\n\n return styles\n })\n\n return { positionClasses, positionStyles }\n}\n","// Utilities\nimport { getCurrentInstance, propsFactory } from '@/util'\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n resolveDynamicComponent,\n toRef,\n} from 'vue'\n\n// Types\nimport type { ComputedRef, PropType, Ref, SetupContext } from 'vue'\nimport type {\n RouterLink as _RouterLink,\n useLink as _useLink,\n NavigationGuardNext,\n RouteLocationNormalizedLoaded,\n RouteLocationRaw,\n Router,\n} from 'vue-router'\n\nexport function useRoute (): Ref<RouteLocationNormalizedLoaded | undefined> {\n const vm = getCurrentInstance('useRoute')\n\n return computed(() => vm?.proxy?.$route)\n}\n\nexport function useRouter (): Router | undefined {\n return getCurrentInstance('useRouter')?.proxy?.$router\n}\n\nexport interface LinkProps {\n href?: string\n replace?: boolean\n to?: RouteLocationRaw\n}\n\ninterface UseLink extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {\n isLink: ComputedRef<boolean>\n isClickable: ComputedRef<boolean>\n href: Ref<string | undefined>\n}\n\nexport function useLink (props: LinkProps, attrs: SetupContext['attrs']): UseLink {\n const RouterLink = resolveDynamicComponent('RouterLink') as typeof _RouterLink | string\n\n const isLink = computed(() => !!(props.href || props.to))\n const isClickable = computed(() => {\n return isLink?.value || !!(attrs.onClick || attrs.onClickOnce)\n })\n\n if (typeof RouterLink === 'string') {\n return {\n isLink,\n isClickable,\n href: toRef(props, 'href'),\n }\n }\n\n const link = props.to ? RouterLink.useLink(props as Required<LinkProps>) : undefined\n\n return {\n ...link,\n isLink,\n isClickable,\n href: computed(() => props.to ? link?.route.value.href : props.href),\n }\n}\n\nexport const makeRouterProps = propsFactory({\n href: String,\n replace: Boolean,\n to: [String, Object] as PropType<RouteLocationRaw>,\n}, 'router')\n\nexport function useBackButton (cb: (next: NavigationGuardNext) => void) {\n const router = useRouter()\n let popped = false\n let removeGuard: (() => void) | undefined\n\n onMounted(() => {\n window.addEventListener('popstate', onPopstate)\n removeGuard = router?.beforeEach((to, from, next) => {\n setTimeout(() => popped ? cb(next) : next())\n })\n })\n onBeforeUnmount(() => {\n window.removeEventListener('popstate', onPopstate)\n removeGuard?.()\n })\n\n function onPopstate (e: PopStateEvent) {\n if (e.state.replaced) return\n\n popped = true\n setTimeout(() => (popped = false))\n }\n}\n","// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\nconst rippleStop = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [rippleStop]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style.opacity = `calc(${value} * var(--v-theme-overlay-multiplier))`\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.08)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[rippleStop]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[rippleStop] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: DirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: DirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple: ObjectDirective = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n","// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VBtn = defineComponent({\n name: 'VBtn',\n\n directives: { Ripple },\n\n props: {\n flat: Boolean,\n icon: [Boolean, String],\n prependIcon: String,\n appendIcon: String,\n\n block: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeRoundedProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makePositionProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const group = useGroupItem(props, VBtnToggleSymbol, false)\n const link = useLink(props, attrs)\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'contained' && !(props.disabled || props.flat || props.border)\n })\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n\n return (\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': link.isExactActive?.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n disabled={ isDisabled.value || undefined }\n href={ link.href.value }\n v-ripple={[\n !isDisabled.value && props.ripple,\n null,\n props.icon ? ['center'] : null,\n ]}\n onClick={ isDisabled.value || link.navigate || group?.toggle }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && props.prependIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.prependIcon }\n left={ !props.stacked }\n />\n ) }\n\n { typeof props.icon === 'boolean'\n ? slots.default?.()\n : (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.icon }\n size={ props.size }\n />\n )\n }\n\n { !props.icon && props.appendIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.appendIcon }\n right={ !props.stacked }\n />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n","// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VAppBarNavIcon = defineComponent({\n name: 'VAppBarNavIcon',\n\n props: {\n icon: {\n type: String,\n default: '$menu',\n },\n },\n\n setup (props, { slots }) {\n return () => (\n <VBtn class=\"v-app-bar-nav-icon\" icon={ props.icon }>\n { slots.default?.() }\n </VBtn>\n )\n },\n})\n","// Styles\nimport './VAppBarTitle.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VAppBarTitle = defineComponent({\n name: 'VAppBarTitle',\n\n props: {\n ...makeTagProps({ tag: 'header' }),\n },\n\n setup (props, { slots }) {\n return () => (\n <props.tag class=\"v-app-bar-title\">\n { slots.default && (\n <div class=\"v-app-bar-title__placeholder\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VAvatar.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VAvatar = defineComponent({\n name: 'VAvatar',\n\n props: {\n color: String,\n left: Boolean,\n right: Boolean,\n icon: String,\n image: String,\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n\n return () => (\n <props.tag\n class={[\n 'v-avatar',\n {\n 'v-avatar--left': props.left,\n 'v-avatar--right': props.right,\n },\n backgroundColorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n sizeStyles.value,\n ]}\n >\n { props.image && <VImg src={ props.image } alt=\"\" /> }\n\n { props.icon && !props.image && <VIcon icon={ props.icon } /> }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n\nexport type VAvatar = InstanceType<typeof VAvatar>\n","// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps, useVariant } from '@/composables/variant'\nimport { useBorder } from '@/composables/border'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const VAlert = defineComponent({\n name: 'VAlert',\n\n props: {\n border: {\n type: [Boolean, String],\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: String,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String] as PropType<false | string>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n sticky: Boolean,\n text: String,\n tip: Boolean,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const borderProps = computed(() => ({\n border: props.border === true || props.tip ? 'start' : props.border,\n }))\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = computed(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n const variantProps = computed(() => ({\n color: props.color ?? props.type,\n textColor: props.textColor,\n variant: props.variant,\n }))\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(borderProps.value)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return props.borderColor ?? (props.tip ? variantProps.value.color : undefined)\n }))\n\n function onCloseClick (e: MouseEvent) {\n isActive.value = false\n }\n\n return () => {\n const hasBorder = !!borderProps.value.border\n const hasClose = !!(slots.close || props.closable)\n const hasPrepend = !!(slots.prepend || props.icon || props.type)\n const hasText = !!(slots.default || props.text || hasClose)\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n {\n [`v-alert--border-${borderProps.value.border}`]: hasBorder,\n 'v-alert--prominent': props.prominent,\n 'v-alert--tip': props.tip,\n },\n themeClasses.value,\n borderClasses.value,\n !props.tip && colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n !props.tip && colorStyles.value,\n positionStyles.value,\n ]}\n role=\"alert\"\n >\n { hasBorder && (\n <div\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n ) }\n\n <div class=\"v-alert__underlay\" />\n\n <div class=\"v-alert__content\">\n { hasPrepend && (\n <div class=\"v-alert__avatar\">\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n class={ props.tip && textColorClasses.value }\n style={ props.tip && textColorStyles.value }\n density={ props.density }\n icon={ icon.value }\n />\n )\n }\n </div>\n ) }\n\n { hasText && (\n <div class=\"v-alert__text\">\n { slots.default\n ? slots.default()\n : props.text\n }\n\n { hasClose && (\n <div class=\"v-alert__close\">\n { slots.close\n ? slots.close({ props: { onClick: onCloseClick } })\n : (\n <VBtn\n density={ props.density }\n icon={ props.closeIcon }\n variant=\"text\"\n onClick={ onCloseClick }\n />\n )\n }\n </div>\n ) }\n </div>\n ) }\n </div>\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n","// Styles\nimport './VBadge.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, pick } from '@/util'\n\nexport const VBadge = defineComponent({\n name: 'VBadge',\n\n inheritAttrs: false,\n\n props: {\n bordered: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n content: String,\n dot: Boolean,\n floating: Boolean,\n icon: String,\n inline: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n location: {\n type: String,\n default: 'top-right',\n validator: (value: string) => {\n const [vertical, horizontal] = (value ?? '').split('-')\n\n return (\n ['top', 'bottom'].includes(vertical) &&\n ['left', 'right'].includes(horizontal)\n )\n },\n },\n max: [Number, String],\n modelValue: {\n type: Boolean,\n default: true,\n },\n offsetX: [Number, String],\n offsetY: [Number, String],\n textColor: String,\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeTransitionProps({ transition: 'scale-rotate-transition' }),\n },\n\n setup (props, ctx) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'textColor'))\n\n const position = computed(() => {\n return props.floating\n ? (props.dot ? 2 : 4)\n : (props.dot ? 8 : 12)\n })\n\n function calculatePosition (offset?: number | string) {\n return `calc(100% - ${convertToUnit(position.value + parseInt(offset ?? 0, 10))})`\n }\n\n const locationStyles = computed(() => {\n const [vertical, horizontal] = (props.location ?? '').split('-')\n\n // TODO: RTL support\n\n const styles = {\n bottom: 'auto',\n left: 'auto',\n right: 'auto',\n top: 'auto',\n }\n\n if (!props.inline) {\n styles[horizontal === 'left' ? 'right' : 'left'] = calculatePosition(props.offsetX)\n styles[vertical === 'top' ? 'bottom' : 'top'] = calculatePosition(props.offsetY)\n }\n\n return styles\n })\n\n return () => {\n const value = Number(props.content)\n const content = (!props.max || isNaN(value)) ? props.content\n : value <= props.max ? value\n : `${props.max}+`\n\n const [badgeAttrs, attrs] = pick(ctx.attrs as Record<string, any>, [\n 'aria-atomic',\n 'aria-label',\n 'aria-live',\n 'role',\n 'title',\n ])\n\n return (\n <props.tag\n class={[\n 'v-badge',\n {\n 'v-badge--bordered': props.bordered,\n 'v-badge--dot': props.dot,\n 'v-badge--floating': props.floating,\n 'v-badge--inline': props.inline,\n },\n ]}\n { ...attrs }\n >\n <div class=\"v-badge__wrapper\">\n { ctx.slots.default?.() }\n\n <MaybeTransition transition={ props.transition }>\n <span\n v-show={ props.modelValue }\n class={[\n 'v-badge__badge',\n backgroundColorClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n locationStyles.value,\n textColorStyles.value,\n ]}\n aria-atomic=\"true\"\n aria-label=\"locale string here\" // TODO: locale string here\n aria-live=\"polite\"\n role=\"status\"\n { ...badgeAttrs }\n >\n {\n props.dot ? undefined\n : ctx.slots.badge ? ctx.slots.badge?.()\n : props.icon ? <VIcon icon={props.icon} />\n : <span class=\"v-badge__content\">{content}</span>\n }\n </span>\n </MaybeTransition>\n </div>\n </props.tag>\n )\n }\n },\n})\n\nexport type VBadge = InstanceType<typeof VBadge>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerActions = createSimpleFunctional('v-banner-actions')\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VBannerAvatar = defineComponent({\n name: 'VBannerAvatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-banner-avatar',\n {\n 'v-banner-avatar--start': props.left,\n 'v-banner-avatar--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerContent = createSimpleFunctional('v-banner-content')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerText = createSimpleFunctional('v-banner-text')\n","// Utilities\nimport { inject, reactive, ref, toRefs, watchEffect } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Globals\nimport { IN_BROWSER, SUPPORTS_TOUCH } from '@/util/globals'\n\n// Types\nimport type { InjectionKey, ToRefs } from 'vue'\n\nexport type DisplayBreakpoint = keyof DisplayThresholds\n\nexport interface DisplayThresholds {\n xs: number\n sm: number\n md: number\n lg: number\n xl: number\n xxl: number\n}\n\nexport interface DisplayOptions {\n mobileBreakpoint?: number | DisplayBreakpoint\n thresholds?: Partial<DisplayThresholds>\n}\n\nexport interface InternalDisplayOptions {\n mobileBreakpoint: number | DisplayBreakpoint\n thresholds: DisplayThresholds\n}\n\nexport interface DisplayPlatform {\n android: boolean\n ios: boolean\n cordova: boolean\n electron: boolean\n chrome: boolean\n edge: boolean\n firefox: boolean\n opera: boolean\n win: boolean\n mac: boolean\n linux: boolean\n touch: boolean\n ssr: boolean\n}\n\nexport interface DisplayInstance {\n xs: boolean\n sm: boolean\n md: boolean\n lg: boolean\n xl: boolean\n xxl: boolean\n smAndUp: boolean\n mdAndUp: boolean\n lgAndUp: boolean\n xlAndUp: boolean\n smAndDown: boolean\n mdAndDown: boolean\n lgAndDown: boolean\n xlAndDown: boolean\n name: DisplayBreakpoint\n height: number\n width: number\n mobile: boolean\n mobileBreakpoint: number | DisplayBreakpoint\n platform: DisplayPlatform\n thresholds: DisplayThresholds\n}\n\nexport const DisplaySymbol: InjectionKey<ToRefs<DisplayInstance>> = Symbol.for('vuetify:display')\n\nconst defaultDisplayOptions: DisplayOptions = {\n mobileBreakpoint: 'lg',\n thresholds: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560,\n },\n}\n\nconst parseDisplayOptions = (options: DisplayOptions = defaultDisplayOptions) => {\n return mergeDeep(defaultDisplayOptions, options) as InternalDisplayOptions\n}\n\n// Cross-browser support as described in:\n// https://stackoverflow.com/questions/1248081\nfunction getClientWidth () {\n return IN_BROWSER ? Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth\n ) : 0 // SSR\n}\n\nfunction getClientHeight () {\n return IN_BROWSER ? Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight\n ) : 0 // SSR\n}\n\nfunction getPlatform (): DisplayPlatform {\n const userAgent = IN_BROWSER ? window.navigator.userAgent : 'ssr'\n\n function match (regexp: RegExp) {\n return Boolean(userAgent.match(regexp))\n }\n\n const android = match(/android/i)\n const ios = match(/iphone|ipad|ipod/i)\n const cordova = match(/cordova/i)\n const electron = match(/electron/i)\n const chrome = match(/chrome/i)\n const edge = match(/edge/i)\n const firefox = match(/firefox/i)\n const opera = match(/opera/i)\n const win = match(/win/i)\n const mac = match(/mac/i)\n const linux = match(/linux/i)\n const ssr = match(/ssr/i)\n\n return {\n android,\n ios,\n cordova,\n electron,\n chrome,\n edge,\n firefox,\n opera,\n win,\n mac,\n linux,\n touch: SUPPORTS_TOUCH,\n ssr,\n }\n}\n\nexport function createDisplay (options?: DisplayOptions): ToRefs<DisplayInstance> {\n const { thresholds, mobileBreakpoint } = parseDisplayOptions(options)\n\n const height = ref(getClientHeight())\n const platform = getPlatform()\n const state = reactive({} as DisplayInstance)\n const width = ref(getClientWidth())\n\n function onResize () {\n height.value = getClientHeight()\n width.value = getClientWidth()\n }\n\n // eslint-disable-next-line max-statements\n watchEffect(() => {\n const xs = width.value < thresholds.sm\n const sm = width.value < thresholds.md && !xs\n const md = width.value < thresholds.lg && !(sm || xs)\n const lg = width.value < thresholds.xl && !(md || sm || xs)\n const xl = width.value < thresholds.xxl && !(lg || md || sm || xs)\n const xxl = width.value >= thresholds.xxl\n const name =\n xs ? 'xs'\n : sm ? 'sm'\n : md ? 'md'\n : lg ? 'lg'\n : xl ? 'xl'\n : 'xxl'\n const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint]\n const mobile = !platform.ssr\n ? width.value < breakpointValue\n : platform.android || platform.ios || platform.opera\n\n state.xs = xs\n state.sm = sm\n state.md = md\n state.lg = lg\n state.xl = xl\n state.xxl = xxl\n state.smAndUp = !xs\n state.mdAndUp = !(xs || sm)\n state.lgAndUp = !(xs || sm || md)\n state.xlAndUp = !(xs || sm || md || lg)\n state.smAndDown = !(md || lg || xl || xxl)\n state.mdAndDown = !(lg || xl || xxl)\n state.lgAndDown = !(xl || xxl)\n state.xlAndDown = !xxl\n state.name = name\n state.height = height.value\n state.width = width.value\n state.mobile = mobile\n state.mobileBreakpoint = mobileBreakpoint\n state.platform = platform\n state.thresholds = thresholds\n })\n\n if (IN_BROWSER) {\n window.addEventListener('resize', onResize, { passive: true })\n }\n\n return toRefs(state)\n}\n\nexport function useDisplay () {\n const display = inject(DisplaySymbol)\n\n if (!display) throw new Error('Could not find Vuetify display injection')\n\n return display\n}\n","// Styles\nimport './VBanner.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VBannerActions } from './VBannerActions'\nimport { VBannerAvatar } from './VBannerAvatar'\nimport { VBannerContent } from './VBannerContent'\nimport { VBannerText } from './VBannerText'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useDisplay } from '@/composables/display'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VBanner = defineComponent({\n name: 'VBanner',\n\n props: {\n avatar: String,\n color: String,\n icon: String,\n lines: {\n type: String,\n default: 'one',\n },\n sticky: Boolean,\n text: String,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { mobile } = useDisplay()\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => {\n const hasAvatar = !!(props.avatar || props.icon || slots.avatar || slots.icon)\n const hasText = !!(props.text || slots.text)\n const hasContent = hasAvatar || hasText || slots.default\n\n return (\n <props.tag\n class={[\n 'v-banner',\n {\n 'v-banner--mobile': mobile.value,\n 'v-banner--sticky': props.sticky,\n [`v-banner--${props.lines}-line`]: true,\n },\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n themeClasses.value,\n ]}\n style={[\n dimensionStyles.value,\n positionStyles.value,\n textColorStyles.value,\n ]}\n role=\"banner\"\n >\n { hasContent && (\n <VBannerContent>\n { hasAvatar && (\n <VBannerAvatar>\n { slots.avatar\n ? slots.avatar()\n : (\n <VAvatar\n density={ props.density }\n icon={ props.icon }\n image={ props.avatar }\n />\n )\n }\n </VBannerAvatar>\n ) }\n\n { hasText && (\n <VBannerText>\n { slots.text ? slots.text() : props.text }\n </VBannerText>\n ) }\n\n { slots.default?.() }\n </VBannerContent>\n ) }\n\n { slots.actions && (\n <VBannerActions v-slots={{ default: slots.actions }} />\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VBanner = InstanceType<typeof VBanner>\n","// Styles\nimport './VBottomNavigation.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\nexport const VBottomNavigation = defineComponent({\n name: 'VBottomNavigation',\n\n props: {\n bgColor: String,\n color: String,\n grow: Boolean,\n modelValue: {\n type: Boolean,\n default: true,\n },\n mode: {\n type: String,\n validator: (v: any) => !v || ['horizontal', 'shift'].includes(v),\n },\n height: {\n type: [Number, String],\n default: 56,\n },\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({\n name: 'bottom-navigation',\n }),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(computed(() => props.bgColor))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => props.color))\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const height = computed(() => (\n Number(props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const isActive = useProxiedModel(props, 'modelValue', props.modelValue)\n const layoutStyles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n computed(() => 'bottom'),\n computed(() => isActive.value ? height.value : 0),\n height,\n isActive\n )\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-bottom-navigation',\n {\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--horizontal': props.mode === 'horizontal',\n 'v-bottom-navigation--is-active': isActive.value,\n 'v-bottom-navigation--shift': props.mode === 'shift',\n 'v-bottom-navigation--absolute': props.absolute,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutStyles.value,\n textColorStyles.value,\n {\n height: convertToUnit(height.value),\n transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`,\n },\n ]}\n >\n { slots.default && (\n <div class=\"v-bottom-navigation__content\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VBottomNavigation = InstanceType<typeof VBottomNavigation>\n","import type { InjectionKey, Ref } from 'vue'\n\ninterface BreadcrumbsContext {\n color: Ref<string | undefined>\n disabled: Ref<boolean>\n}\n\nexport const VBreadcrumbsSymbol: InjectionKey<BreadcrumbsContext> = Symbol.for('vuetify:breadcrumbs')\n","// Composables\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { defineComponent } from '@/util'\nimport { VBreadcrumbsSymbol } from './shared'\n\nexport const VBreadcrumbsItem = defineComponent({\n name: 'VBreadcrumbsItem',\n\n props: {\n active: Boolean,\n activeClass: String,\n activeColor: String,\n color: String,\n disabled: Boolean,\n text: String,\n\n ...makeRouterProps(),\n ...makeTagProps({ tag: 'li' }),\n },\n\n setup (props, { slots, attrs }) {\n const breadcrumbs = inject(VBreadcrumbsSymbol)\n\n if (!breadcrumbs) throw new Error('[Vuetify] Could not find v-breadcrumbs provider')\n\n const link = useLink(props, attrs)\n const isActive = computed(() => {\n return props.active || link.isExactActive?.value\n })\n const color = computed(() => {\n if (isActive.value) return props.activeColor ?? breadcrumbs.color.value\n\n return props.color\n })\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n\n return (\n <Tag\n class={[\n 'v-breadcrumbs-item',\n {\n 'v-breadcrumbs-item--active': isActive.value,\n 'v-breadcrumbs-item--disabled': props.disabled || breadcrumbs.disabled.value,\n 'v-breadcrumbs-item--link': link.isLink.value,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n textColorClasses.value,\n ]}\n style={[\n textColorStyles.value,\n ]}\n aria-current={ isActive.value ? 'page' : undefined }\n onClick={ isActive.value && link.navigate }\n >\n { props.text }\n\n { slots.default?.() }\n </Tag>\n )\n }\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBreadcrumbsDivider = createSimpleFunctional('v-breadcrumbs-divider', 'li')\n","// Styles\nimport './VBreadcrumbs.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VBreadcrumbsItem } from './VBreadcrumbsItem'\nimport { VBreadcrumbsDivider } from './VBreadcrumbsDivider'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { defineComponent } from '@/util'\nimport { VBreadcrumbsSymbol } from './shared'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { LinkProps } from '@/composables/router'\n\nexport type BreadcrumbItem = string | (LinkProps & {\n text: string\n})\n\nexport const VBreadcrumbs = defineComponent({\n name: 'VBreadcrumbs',\n\n props: {\n color: String,\n disabled: Boolean,\n divider: {\n type: String,\n default: '/',\n },\n icon: String,\n items: {\n type: Array as PropType<BreadcrumbItem[]>,\n default: () => ([]),\n },\n\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'ul' }),\n },\n\n setup (props, { slots }) {\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const items = computed(() => {\n return props.items.map((item, index, array) => ({\n props: {\n disabled: index >= array.length - 1,\n ...(typeof item === 'string' ? { text: item } : item),\n },\n }))\n })\n\n provide(VBreadcrumbsSymbol, {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n })\n\n return () => (\n <props.tag\n class={[\n 'v-breadcrumbs',\n densityClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n textColorStyles.value,\n ]}\n >\n { props.icon && (\n <VIcon icon={ props.icon } left />\n ) }\n\n { items.value.map((item, index) => (\n <>\n <VBreadcrumbsItem\n key={ index }\n { ...item.props }\n >\n { slots.item?.({ ...item, index }) }\n </VBreadcrumbsItem>\n\n { index < props.items.length - 1 && (\n <VBreadcrumbsDivider>\n { slots.divider ? slots.divider({ ...item, index }) : props.divider }\n </VBreadcrumbsDivider>\n ) }\n </>\n )) }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n\nexport type VBreadcrumbs = InstanceType<typeof VBreadcrumbs>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardActions = createSimpleFunctional('v-card-actions')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardAvatar = createSimpleFunctional('v-card-avatar')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardHeader = createSimpleFunctional('v-card-header')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardHeaderText = createSimpleFunctional('v-card-header-text')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardImg = createSimpleFunctional('v-card-img')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardSubtitle = createSimpleFunctional('v-card-subtitle')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardText = createSimpleFunctional('v-card-text')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardTitle = createSimpleFunctional('v-card-title')\n","// Styles\nimport './VCard.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VImg } from '@/components/VImg'\nimport { VCardActions } from './VCardActions'\nimport { VCardAvatar } from './VCardAvatar'\nimport { VCardHeader } from './VCardHeader'\nimport { VCardHeaderText } from './VCardHeaderText'\nimport { VCardImg } from './VCardImg'\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardText } from './VCardText'\nimport { VCardTitle } from './VCardTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VCard = defineComponent({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: {\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: Boolean,\n subtitle: String,\n text: String,\n title: String,\n\n ...makeThemeProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title)\n const hasSubtitle = !!(slots.subtitle || props.subtitle)\n const hasHeaderText = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasHeader = hasHeaderText || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text)\n const isClickable = !props.disabled && (link.isClickable.value || props.link)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n href={ link.href.value }\n onClick={ isClickable && link.navigate }\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable, 'v-card') }\n\n { hasImage && (\n <VCardImg>\n { slots.image\n ? slots.image?.({ src: props.image })\n : (<VImg src={ props.image } cover alt=\"\" />)\n }\n </VCardImg>\n ) }\n\n { slots.media?.() }\n\n { hasHeader && (\n <VCardHeader>\n { hasPrepend && (\n <VCardAvatar>\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n density={ props.density }\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n />\n )\n }\n </VCardAvatar>\n ) }\n\n { hasHeaderText && (\n <VCardHeaderText>\n { hasTitle && (\n <VCardTitle>\n { slots.title\n ? slots.title()\n : props.title\n }\n </VCardTitle>\n ) }\n\n <VCardSubtitle>\n { slots.subtitle\n ? slots.subtitle()\n : props.subtitle\n }\n </VCardSubtitle>\n </VCardHeaderText>\n ) }\n\n { hasAppend && (\n <VCardAvatar>\n { slots.append\n ? slots.append()\n : (\n <VAvatar\n density={ props.density }\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n />\n )\n }\n </VCardAvatar>\n ) }\n </VCardHeader>\n ) }\n\n { hasText && (\n <VCardText>\n { slots.text ? slots.text() : props.text }\n </VCardText>\n ) }\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n","// Utilities\nimport { h, Transition, TransitionGroup } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { FunctionalComponent, Prop } from 'vue'\n\nexport function createCssTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n) {\n return defineComponent({\n name,\n\n props: {\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n setup (props, { slots }) {\n return () => {\n const tag = props.group ? TransitionGroup : Transition\n\n return h(tag as FunctionalComponent, {\n name,\n mode: props.mode,\n onBeforeEnter (el: HTMLElement) {\n el.style.transformOrigin = props.origin\n },\n onLeave (el: HTMLElement) {\n if (props.leaveAbsolute) {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = `${offsetTop}px`\n el.style.left = `${offsetLeft}px`\n el.style.width = `${offsetWidth}px`\n el.style.height = `${offsetHeight}px`\n }\n\n if (props.hideOnLeave) {\n el.style.setProperty('display', 'none', 'important')\n }\n },\n onAfterLeave (el: HTMLElement) {\n if (props.leaveAbsolute && el?._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n },\n }, slots.default)\n }\n },\n })\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n) {\n return defineComponent({\n name,\n\n props: {\n mode: {\n type: String,\n default: mode,\n } as Prop<'in-out' | 'out-in' | 'default'>,\n },\n\n setup (props, { slots }) {\n return () => {\n return h(Transition, {\n name,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...functions,\n }, slots.default)\n }\n },\n })\n}\n","// Utilities\nimport { camelize } from 'vue'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle?: {\n transition: string\n overflow: string\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = camelize(`offset-${sizeProperty}`) as 'offsetHeight' | 'offsetWidth'\n\n return {\n onBeforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n onEnter (el: HTMLExpandElement) {\n const initialStyle = el._initialStyle!\n\n el.style.setProperty('transition', 'none', 'important')\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden'\n const offset = `${el[offsetProperty]}px`\n\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n onAfterEnter: resetStyles,\n onEnterCancelled: resetStyles,\n\n onLeave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n onAfterLeave,\n onLeaveCancelled: onAfterLeave,\n }\n\n function onAfterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle![sizeProperty]\n el.style.overflow = el._initialStyle!.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n","import type { PropType } from 'vue'\nimport { Transition } from 'vue'\nimport { acceleratedEasing, deceleratedEasing, defineComponent, nullifyTransforms } from '@/util'\n\nexport const VDialogTransition = defineComponent({\n name: 'VDialogTransition',\n\n props: {\n target: Object as PropType<HTMLElement>,\n },\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onEnter (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: `translate(${x}px, ${y}px) scale(0.1)`, opacity: 0 },\n { transform: '' },\n ], {\n duration: 225,\n easing: deceleratedEasing,\n })\n animation.finished.then(() => done())\n },\n onAfterEnter (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n onBeforeLeave (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onLeave (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: '' },\n { transform: `translate(${x}px, ${y}px) scale(0.1)`, opacity: 0 },\n ], {\n duration: 125,\n easing: acceleratedEasing,\n })\n animation.finished.then(() => done())\n },\n onAfterLeave (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n }\n\n return () => {\n return props.target\n ? (\n <Transition\n name=\"dialog-transition\"\n { ...functions }\n css={ false }\n v-slots={ slots }\n />\n )\n : <Transition name=\"dialog-transition\" v-slots={ slots } />\n }\n },\n})\n\nfunction getDimensions (target: HTMLElement, el: HTMLElement) {\n const targetBox = target.getBoundingClientRect()\n const elBox = nullifyTransforms(el)\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v))\n\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ')\n\n let offsetX = targetBox.left + targetBox.width / 2\n if (anchorSide === 'left' || anchorOffset === 'left') {\n offsetX -= targetBox.width / 2\n } else if (anchorSide === 'right' || anchorOffset === 'right') {\n offsetX += targetBox.width / 2\n }\n\n let offsetY = targetBox.top + targetBox.height / 2\n if (anchorSide === 'top' || anchorOffset === 'top') {\n offsetY -= targetBox.height / 2\n } else if (anchorSide === 'bottom' || anchorOffset === 'bottom') {\n offsetY += targetBox.height / 2\n }\n\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n }\n}\n","import {\n createCssTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VCarouselTransition = createCssTransition('carousel-transition')\nexport const VCarouselReverseTransition = createCssTransition('carousel-reverse-transition')\nexport const VTabTransition = createCssTransition('tab-transition')\nexport const VTabReverseTransition = createCssTransition('tab-reverse-transition')\nexport const VMenuTransition = createCssTransition('menu-transition')\nexport const VFabTransition = createCssTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogBottomTransition = createCssTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createCssTransition('dialog-top-transition')\nexport const VFadeTransition = createCssTransition('fade-transition')\nexport const VScaleTransition = createCssTransition('scale-transition')\nexport const VScrollXTransition = createCssTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createCssTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createCssTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createCssTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createCssTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createCssTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createCssTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createCssTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport { VDialogTransition } from './dialog-transition'\n","// Styles\nimport './VMessages.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { defineComponent, wrapInArray } from '@/util'\nimport { computed } from 'vue'\nimport type { PropType } from 'vue'\n\nexport const VMessages = defineComponent({\n name: 'VMessages',\n\n props: {\n active: Boolean,\n value: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition,\n group: true,\n },\n }),\n },\n\n setup (props, { slots }) {\n const messages = computed(() => wrapInArray(props.value))\n\n return () => (\n <MaybeTransition\n transition={ props.transition }\n tag=\"div\"\n class=\"v-messages\"\n >\n { (messages.value.length > 0 && props.active) && (\n messages.value.map((message, i) => (\n <div class=\"v-messages__message\" key={ i }>\n { message }\n </div>\n ))\n ) }\n\n { slots?.default?.() }\n </MaybeTransition>\n )\n },\n})\n","// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\n\nexport interface FormProvide {\n register: (\n id: number | string,\n validate: () => Promise<string[]>,\n reset: () => void,\n resetValidation: () => void\n ) => void\n unregister: (id: number | string) => void\n items: Ref<FormField[]>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isValidating: Ref<boolean>\n}\n\ninterface FormField {\n id: number | string\n validate: () => Promise<string[]>\n reset: () => void\n resetValidation: () => void\n}\n\ninterface FormValidationResult {\n id: number | string\n errorMessages: string[]\n}\n\nexport const FormKey: InjectionKey<FormProvide> = Symbol.for('vuetify:form')\n\nexport interface FormProps {\n disabled: boolean\n fastFail: boolean\n lazyValidation: boolean\n readonly: boolean\n modelValue: boolean | null\n 'onUpdate:modelValue': ((val: boolean | null) => void) | undefined\n}\n\nexport const makeFormProps = propsFactory({\n disabled: Boolean,\n fastFail: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n})\n\nexport function createForm (props: FormProps) {\n const model = useProxiedModel(props, 'modelValue')\n\n const isDisabled = computed(() => props.disabled)\n const isReadonly = computed(() => props.readonly)\n const isValidating = ref(false)\n const items = ref<FormField[]>([])\n const errorMessages = ref<FormValidationResult[]>([])\n\n async function validate () {\n const results = []\n let valid = true\n\n errorMessages.value = []\n model.value = null\n isValidating.value = true\n\n for (const item of items.value) {\n const itemErrorMessages = await item.validate()\n\n if (itemErrorMessages.length > 0) {\n valid = false\n\n results.push({\n id: item.id,\n errorMessages: itemErrorMessages,\n })\n }\n\n if (!valid && props.fastFail) break\n }\n\n errorMessages.value = results\n model.value = valid\n isValidating.value = false\n\n return { valid, errorMessages: errorMessages.value }\n }\n\n function reset () {\n items.value.forEach(item => item.reset())\n model.value = null\n }\n\n function resetValidation () {\n items.value.forEach(item => item.resetValidation())\n errorMessages.value = []\n model.value = null\n }\n\n provide(FormKey, {\n register: (id, validate, reset, resetValidation) => {\n items.value.push({\n id,\n validate,\n reset,\n resetValidation,\n })\n },\n unregister: id => {\n items.value = items.value.filter(item => {\n return item.id !== id\n })\n },\n isDisabled,\n isReadonly,\n isValidating,\n items,\n })\n\n return {\n errorMessages,\n isDisabled,\n isReadonly,\n isValidating,\n items,\n validate,\n reset,\n resetValidation,\n }\n}\n\nexport function useForm () {\n return inject(FormKey, null)\n}\n","// Composables\nimport { useForm } from '@/composables/form'\n\n// Utilities\nimport { computed, onBeforeMount, onBeforeUnmount, ref } from 'vue'\nimport { getCurrentInstanceName, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\nexport type ValidationResult = string | true\nexport type ValidationRule =\n | ValidationResult\n | PromiseLike<ValidationResult>\n | ((value: any) => ValidationResult)\n | ((value: any) => PromiseLike<ValidationResult>)\n\nexport interface ValidationProps {\n disabled: boolean\n error: boolean\n errorMessages: string | string[]\n maxErrors: string | number\n name: string | undefined\n readonly: boolean\n rules: ValidationRule[]\n modelValue: any\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n}\n\nexport const makeValidationProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n errorMessages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n maxErrors: {\n type: [Number, String],\n default: 1,\n },\n name: String,\n readonly: Boolean,\n rules: {\n type: Array as PropType<ValidationRule[]>,\n default: () => ([]),\n },\n modelValue: null,\n})\n\nexport function useValidation (\n props: ValidationProps,\n name = getCurrentInstanceName(),\n) {\n const model = useProxiedModel(props, 'modelValue')\n const form = useForm()\n const errorMessages = ref<string[]>([])\n const isPristine = ref(true)\n const isDisabled = computed(() => !!(props.disabled || form?.isDisabled.value))\n const isReadonly = computed(() => !!(props.readonly || form?.isReadonly.value))\n const isValid = computed(() => {\n if (\n props.error ||\n props.errorMessages?.length ||\n errorMessages.value.length\n ) return false\n\n return isPristine.value ? null : true\n })\n const isValidating = ref(false)\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--disabled`]: isDisabled.value,\n [`${name}--readonly`]: isReadonly.value,\n }\n })\n\n const uid = computed(() => props.name ?? getUid())\n\n onBeforeMount(() => {\n form?.register(uid.value, validate, reset, resetValidation)\n })\n\n onBeforeUnmount(() => {\n form?.unregister(uid.value)\n })\n\n function reset () {\n resetValidation()\n model.value = null\n }\n\n function resetValidation () {\n isPristine.value = true\n errorMessages.value = []\n }\n\n async function validate () {\n const results = []\n\n errorMessages.value = []\n isValidating.value = true\n\n for (const rule of props.rules) {\n if (results.length >= (props.maxErrors || 1)) {\n break\n }\n\n const handler = typeof rule === 'function' ? rule : () => rule\n const result = await handler(model.value)\n\n if (result === true) continue\n\n if (typeof result !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`)\n\n continue\n }\n\n results.push(result)\n }\n\n errorMessages.value = results\n isValidating.value = false\n isPristine.value = false\n\n return errorMessages.value\n }\n\n return {\n errorMessages,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n }\n}\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { genericComponent, getUid, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n isDisabled: ComputedRef<boolean>\n isFocused: Ref<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const VInputSymbol = 'VInput' as any as InjectionKey<ComputedRef<VInputSlot>>\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: String,\n prependIcon: String,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hint: String,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n persistentHint: Boolean,\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n ...makeDensityProps(),\n ...makeValidationProps(),\n})\n\nexport const VInput = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n }>\n}>()({\n name: 'VInput',\n\n props: {\n focused: Boolean,\n\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n 'click:prepend': (e: MouseEvent) => true,\n 'click:append': (e: MouseEvent) => true,\n },\n\n setup (props, { slots, emit }) {\n const { densityClasses } = useDensity(props)\n const {\n errorMessages,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const isFocused = toRef(props, 'focused')\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n isDisabled,\n isFocused,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n provide(VInputSymbol, slotProps)\n\n useRender(() => {\n const hasPrepend = (slots.prepend || props.prependIcon)\n const hasAppend = (slots.append || props.appendIcon)\n const hasHint = !!(slots.hint || props.hint)\n const hasMessages = !!(\n slots.messages ||\n props.messages?.length ||\n errorMessages.value.length\n )\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || hasHint)\n )\n const showMessages = hasMessages || (\n hasHint &&\n (props.persistentHint || props.focused)\n )\n\n return (\n <div class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n ]}\n >\n { hasPrepend && (\n <div\n class=\"v-input__prepend\"\n onClick={ e => emit('click:prepend', e) }\n >\n { slots?.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <VIcon icon={ props.prependIcon } />\n ) }\n </div>\n ) }\n\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div\n class=\"v-input__append\"\n onClick={ e => emit('click:append', e) }\n >\n { slots?.append?.(slotProps.value) }\n\n { props.appendIcon && (\n <VIcon icon={ props.appendIcon } />\n ) }\n </div>\n ) }\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n active={ showMessages }\n value={ errorMessages.value || (hasMessages ? props.messages : props.hint) }\n v-slots={{ default: slots.messages }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n ) }\n </div>\n )\n })\n\n return {\n isValid,\n validate,\n reset,\n resetValidation,\n errorMessages,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n\nexport function filterInputProps (props: ExtractPropTypes<ReturnType<typeof makeVInputProps>>) {\n return pick(props, Object.keys(VInput.props) as any)\n}\n","// Styles\nimport './VLabel.sass'\n\n// Composables\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VLabel = defineComponent({\n name: 'VLabel',\n\n props: {\n disabled: Boolean,\n error: Boolean,\n text: String,\n\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n return () => (\n <label\n class={[\n 'v-label',\n {\n 'v-label--disabled': props.disabled,\n 'v-label--error': props.error,\n },\n ]}\n >\n { props.text }\n\n { slots.default?.() }\n </label>\n )\n },\n})\n\nexport type VLabel = InstanceType<typeof VLabel>\n","// Styles\nimport './VSelectionControlGroup.sass'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent, provide, toRef } from 'vue'\nimport { getUid, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\n\nexport interface VSelectionGroupContext {\n disabled: Ref<boolean>\n inline: Ref<boolean>\n name: Ref<string | undefined>\n modelValue: Ref<any>\n multiple: Ref<boolean>\n trueIcon: Ref<string | undefined>\n falseIcon: Ref<string | undefined>\n readonly: Ref<boolean>\n type: Ref<string | undefined>\n}\n\nexport const VSelectionControlGroupSymbol: InjectionKey<VSelectionGroupContext> = Symbol.for('vuetify:selection-control-group')\n\nexport const VSelectionControlGroup = defineComponent({\n name: 'VSelectionControlGroup',\n\n props: {\n disabled: Boolean,\n id: String,\n inline: Boolean,\n name: String,\n falseIcon: String,\n trueIcon: String,\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n readonly: Boolean,\n type: String,\n modelValue: null,\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const modelValue = useProxiedModel(props, 'modelValue')\n const uid = getUid()\n const id = computed(() => props.id || `v-selection-control-group-${uid}`)\n const name = computed(() => props.name || id.value)\n\n provide(VSelectionControlGroupSymbol, {\n disabled: toRef(props, 'disabled'),\n inline: toRef(props, 'inline'),\n modelValue,\n multiple: computed(() => !!props.multiple || (props.multiple == null && Array.isArray(modelValue.value))),\n name,\n falseIcon: toRef(props, 'falseIcon'),\n trueIcon: toRef(props, 'trueIcon'),\n readonly: toRef(props, 'readonly'),\n type: toRef(props, 'type'),\n })\n\n useRender(() => {\n return (\n <div\n class=\"v-selection-control-group\"\n aria-labelled-by={ props.type === 'radio' ? id.value : undefined }\n role={ props.type === 'radio' ? 'radiogroup' : undefined }\n >\n { slots?.default?.() }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSelectionControlGroup = InstanceType<typeof VSelectionControlGroup>\n","// Styles\nimport './VSelectionControl.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroupSymbol } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject, ref } from 'vue'\nimport {\n deepEqual,\n genericComponent,\n getUid,\n pick,\n propsFactory,\n SUPPORTS_FOCUS_VISIBLE,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, PropType, Ref, WritableComputedRef } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type SelectionControlSlot = {\n model: WritableComputedRef<any>\n isReadonly: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n textColorClasses: Ref<string[]>\n props: {\n onBlur: (e: Event) => void\n onFocus: (e: FocusEvent) => void\n id: string\n }\n}\n\nexport const makeSelectionControlProps = propsFactory({\n color: String,\n disabled: Boolean,\n error: Boolean,\n id: String,\n inline: Boolean,\n label: String,\n falseIcon: String,\n trueIcon: String,\n ripple: {\n type: Boolean,\n default: true,\n },\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n name: String,\n readonly: Boolean,\n trueValue: null,\n falseValue: null,\n modelValue: null,\n type: String,\n value: null,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeThemeProps(),\n ...makeDensityProps(),\n})\n\nexport function useSelectionControl (\n props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>> & {\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n }\n) {\n const group = inject(VSelectionControlGroupSymbol, undefined)\n const { densityClasses } = useDensity(props)\n const modelValue = useProxiedModel(props, 'modelValue')\n const trueValue = computed(() => (\n props.trueValue !== undefined ? props.trueValue\n : props.value !== undefined ? props.value\n : true\n ))\n const falseValue = computed(() => props.falseValue !== undefined ? props.falseValue : false)\n const isMultiple = computed(() => (\n group?.multiple.value ||\n !!props.multiple ||\n (props.multiple == null && Array.isArray(modelValue.value))\n ))\n const model = computed({\n get () {\n const val = group ? group.modelValue.value : modelValue.value\n\n return isMultiple.value\n ? val.some((v: any) => props.valueComparator(v, trueValue.value))\n : props.valueComparator(val, trueValue.value)\n },\n set (val: boolean) {\n const currentValue = val ? trueValue.value : falseValue.value\n\n let newVal = currentValue\n\n if (isMultiple.value) {\n newVal = val\n ? [...wrapInArray(modelValue.value), currentValue]\n : wrapInArray(modelValue.value).filter((item: any) => !props.valueComparator(item, trueValue.value))\n }\n\n if (group) {\n group.modelValue.value = newVal\n } else {\n modelValue.value = newVal\n }\n },\n })\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n model.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n const icon = computed(() => {\n return model.value\n ? group?.trueIcon.value ?? props.trueIcon\n : group?.falseIcon.value ?? props.falseIcon\n })\n\n return {\n group,\n densityClasses,\n trueValue,\n falseValue,\n model,\n textColorClasses,\n textColorStyles,\n icon,\n }\n}\n\nexport const VSelectionControl = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: MakeSlots<{\n default: []\n input: [SelectionControlSlot]\n }>\n}>()({\n name: 'VSelectionControl',\n\n directives: { Ripple },\n\n inheritAttrs: false,\n\n props: makeSelectionControlProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const {\n densityClasses,\n group,\n icon,\n model,\n textColorClasses,\n textColorStyles,\n trueValue,\n } = useSelectionControl(props)\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const isFocused = ref(false)\n const isFocusVisible = ref(false)\n const input = ref<HTMLInputElement>()\n\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n if (\n !SUPPORTS_FOCUS_VISIBLE ||\n (SUPPORTS_FOCUS_VISIBLE && (e.target as HTMLElement).matches(':focus-visible'))\n ) {\n isFocusVisible.value = true\n }\n }\n\n function onBlur () {\n isFocused.value = false\n isFocusVisible.value = false\n }\n\n useRender(() => {\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n const type = group?.type.value ?? props.type\n\n return (\n <div\n class={[\n 'v-selection-control',\n {\n 'v-selection-control--dirty': model.value,\n 'v-selection-control--disabled': props.disabled,\n 'v-selection-control--error': props.error,\n 'v-selection-control--focused': isFocused.value,\n 'v-selection-control--focus-visible': isFocusVisible.value,\n 'v-selection-control--inline': group?.inline.value || props.inline,\n },\n densityClasses.value,\n textColorClasses.value,\n ]}\n >\n <div class=\"v-selection-control__wrapper\">\n { slots.default?.() }\n\n <div\n class={[\n 'v-selection-control__input',\n ]}\n style={ textColorStyles.value }\n v-ripple={ props.ripple && [\n !props.disabled && !props.readonly,\n null,\n ['center', 'circle'],\n ]}\n >\n { icon.value && <VIcon icon={ icon.value } /> }\n\n <input\n v-model={ model.value }\n ref={ input }\n disabled={ props.disabled }\n id={ id.value }\n onBlur={ onBlur }\n onFocus={ onFocus }\n readonly={ props.readonly }\n type={ type }\n value={ trueValue.value }\n name={ group?.name.value ?? props.name }\n aria-checked={ type === 'checkbox' ? model.value : undefined }\n { ...attrs }\n />\n\n { slots.input?.({\n model,\n textColorClasses,\n props: {\n onFocus,\n onBlur,\n id: id.value,\n },\n }) }\n </div>\n </div>\n\n <VLabel\n disabled={ props.disabled }\n error={ props.error }\n for={ id.value }\n >\n { label }\n </VLabel>\n </div>\n )\n })\n\n return {\n isFocused,\n input,\n }\n },\n})\n\nexport type VSelectionControl = InstanceType<typeof VSelectionControl>\n\nexport function filterControlProps (props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>>) {\n return pick(props, Object.keys(VSelectionControl.props) as any)\n}\n","// Styles\nimport './VCheckbox.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent } from 'vue'\nimport { filterInputAttrs, useRender } from '@/util'\n\nexport const VCheckbox = defineComponent({\n name: 'VCheckbox',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n\n falseIcon: {\n type: String,\n default: '$checkboxOff',\n },\n trueIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const falseIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.falseIcon\n })\n const trueIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.trueIcon\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n\n return (\n <VInput\n class=\"v-checkbox\"\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n }) => (\n <VSelectionControl\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n falseIcon={ falseIcon.value }\n trueIcon={ trueIcon.value }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n />\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VCheckbox = InstanceType<typeof VCheckbox>\n","// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VChip = defineComponent({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\n activeClass: String,\n appendAvatar: String,\n appendIcon: String,\n closable: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n pill: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: {\n type: Boolean,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:active': (value: Boolean) => true,\n 'update:modelValue': (value: Boolean) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { densityClasses } = useDensity(props)\n const link = useLink(props, attrs)\n\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const isClickable = !props.disabled && (link.isClickable.value || props.link)\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={ [colorStyles.value] }\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n v-ripple={ [isClickable && props.ripple, null] }\n onClick={ isClickable && link.navigate }\n >\n { genOverlays(isClickable, 'v-chip') }\n\n { hasPrepend && (\n <div class=\"v-chip__prepend\">\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n size={ props.size }\n />\n )\n }\n </div>\n ) }\n\n { slots.default?.() ?? props.text }\n\n { hasAppend && (\n <div class=\"v-chip__append\">\n { slots.append\n ? slots.append()\n : (\n <VAvatar\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n size={ props.size }\n />\n )\n }\n </div>\n ) }\n\n { hasClose && (\n <div\n class=\"v-chip__close\"\n onClick={ onCloseClick }\n >\n { slots.close\n ? slots.close({ props: { onClick: onCloseClick } })\n : (\n <VIcon\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n )\n }\n </div>\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n","import './VCode.sass'\n\nimport { createSimpleFunctional } from '@/util'\n\nexport const VCode = createSimpleFunctional('v-code')\n","// Styles\nimport './VCounter.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Utilities\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { computed, defineComponent } from 'vue'\n\nexport const VCounter = defineComponent({\n name: 'VCounter',\n\n functional: true,\n\n props: {\n active: Boolean,\n max: [Number, String],\n value: {\n type: [Number, String],\n default: 0,\n },\n\n ...makeTransitionProps({\n transition: { component: VSlideYTransition },\n }),\n },\n\n setup (props, { slots }) {\n const counter = computed(() => {\n return props.max ? `${props.value} / ${props.max}` : String(props.value)\n })\n\n return () => {\n return (\n <MaybeTransition transition={ props.transition }>\n <div\n v-show={ props.active }\n class=\"v-counter\"\n >\n { slots.default\n ? slots.default({\n counter: counter.value,\n max: props.max,\n value: props.value,\n })\n : counter.value\n }\n </div>\n </MaybeTransition>\n )\n }\n },\n})\n","// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent, toRefs } from 'vue'\n\n// Types\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { PropType } from 'vue'\n\nexport const VDefaultsProvider = defineComponent({\n name: 'VDefaultsProvider',\n\n props: {\n defaults: Object as PropType<DefaultsOptions>,\n reset: [Number, String],\n root: Boolean,\n scoped: Boolean,\n },\n\n setup (props, { slots }) {\n const { defaults, reset, root, scoped } = toRefs(props)\n\n provideDefaults(defaults, {\n reset,\n root,\n scoped,\n })\n\n return () => slots.default?.()\n },\n})\n","// Utilities\nimport { IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nexport interface DelayProps {\n closeDelay?: number | string\n openDelay?: number | string\n}\n\n// Composables\nexport const makeDelayProps = propsFactory({\n closeDelay: [Number, String],\n openDelay: [Number, String],\n}, 'delay')\n\nexport function useDelay (props: DelayProps, cb?: (value: boolean) => void) {\n const delays: Partial<Record<keyof DelayProps, number>> = {}\n const runDelayFactory = (prop: keyof DelayProps) => (): Promise<boolean> => {\n // istanbul ignore next\n if (!IN_BROWSER) return Promise.resolve(true)\n\n const active = prop === 'openDelay'\n\n delays.closeDelay && window.clearTimeout(delays.closeDelay)\n delete delays.closeDelay\n\n delays.openDelay && window.clearTimeout(delays.openDelay)\n delete delays.openDelay\n\n return new Promise(resolve => {\n const delay = parseInt(props[prop] ?? 0, 10)\n\n delays[prop] = window.setTimeout(() => {\n cb?.(active)\n resolve(active)\n }, delay)\n })\n }\n\n return {\n runCloseDelay: runDelayFactory('closeDelay'),\n runOpenDelay: runDelayFactory('openDelay'),\n }\n}\n","// Utilities\nimport { getCurrentInstance, IN_BROWSER, propsFactory, SUPPORTS_FOCUS_VISIBLE } from '@/util'\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport {\n computed,\n effectScope,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n} from 'vue'\n\n// Types\nimport type { DelayProps } from '@/composables/delay'\nimport type {\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\n\ninterface ActivatorProps extends DelayProps {\n activator?: 'parent' | string | Element | ComponentPublicInstance\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n}\n\nexport const makeActivatorProps = propsFactory({\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n})\n\nexport function useActivator (\n props: ActivatorProps,\n isActive: Ref<boolean>\n) {\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n )) {\n isActive.value = value\n }\n })\n\n const availableEvents = {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n isActive.value = !isActive.value\n },\n mouseenter: (e: MouseEvent) => {\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n mouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n focus: (e: FocusEvent) => {\n if (\n SUPPORTS_FOCUS_VISIBLE &&\n !(e.target as HTMLElement).matches(':focus-visible')\n ) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n blur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.click = availableEvents.click\n }\n if (props.openOnHover) {\n events.mouseenter = availableEvents.mouseenter\n events.mouseleave = availableEvents.mouseleave\n }\n if (openOnFocus.value) {\n events.focus = availableEvents.focus\n events.blur = availableEvents.blur\n }\n\n return events\n })\n\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, { activatorEl, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n return { activatorEl, activatorEvents }\n}\n\nfunction _useActivator (props: ActivatorProps, { activatorEl, activatorEvents }: ReturnType<typeof useActivator>) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.addEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n if (_props[k] == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, _props[k])\n }\n })\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.removeEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n el.removeAttribute(k)\n })\n }\n\n const vm = getCurrentInstance('useActivator')\n function getActivator (selector = props.activator): HTMLElement | undefined {\n let activator\n if (selector) {\n if (selector === 'parent') {\n activator = vm?.proxy?.$el?.parentNode\n } else if (typeof selector === 'string') {\n // Selector\n activator = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n activator = selector.$el\n } else {\n // HTMLElement | Element\n activator = selector\n }\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return activatorEl.value\n }\n}\n","const block = ['top', 'bottom'] as const\nconst inline = ['start', 'end'] as const\ntype Tblock = typeof block[number]\ntype Tinline = typeof inline [number]\nexport type Anchor =\n | Tblock\n | Tinline\n | 'center'\n | 'center center'\n | `${Tblock} ${Tinline | 'center'}`\n | `${Tinline} ${Tblock | 'center'}`\nexport type ParsedAnchor =\n | { side: 'center', align: 'center' }\n | { side: Tblock, align: Tinline | 'center' }\n | { side: Tinline, align: Tblock | 'center' }\n\n/** Parse a raw anchor string into an object */\nexport function parseAnchor (anchor: Anchor) {\n let [side, align] = anchor.split(' ')\n if (!align) {\n align =\n side === 'top' || side === 'bottom' ? 'start'\n : side === 'start' || side === 'end' ? 'top'\n : 'center'\n }\n return {\n side,\n align,\n } as ParsedAnchor\n}\n\n/** Get an anchor directly opposite, with the same alignment */\nexport function oppositeAnchor (anchor: ParsedAnchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n start: 'end',\n end: 'start',\n }[anchor.side],\n align: anchor.align,\n } as ParsedAnchor\n}\n\n/** Convert start/end into left/right */\nexport function physicalAnchor (anchor: ParsedAnchor, el: HTMLElement) {\n const { side, align } = anchor\n const { direction } = window.getComputedStyle(el)\n\n const map: Record<string, string | undefined> = direction === 'ltr' ? {\n start: 'left',\n end: 'right',\n } : {\n start: 'right',\n end: 'left',\n }\n\n return (map[side] ?? side) + ' ' + (map[align] ?? align)\n}\n","import type { ParsedAnchor } from './anchor'\nimport type { Box } from '@/util/box'\n\ntype Point = { x: number, y: number }\ndeclare class As<T extends string> {\n private as: T\n}\ntype ElementPoint = Point & As<'element'>\ntype ViewportPoint = Point & As<'viewport'>\ntype Offset = Point & As<'offset'>\n\n/** Convert a point in local space to viewport space */\nexport function elementToViewport (point: ElementPoint, offset: Offset | Box) {\n return {\n x: point.x + offset.x,\n y: point.y + offset.y,\n } as ViewportPoint\n}\n\n/** Convert a point in viewport space to local space */\nexport function viewportToElement (point: ViewportPoint, offset: Offset | Box) {\n return {\n x: point.x - offset.x,\n y: point.y - offset.y,\n } as ElementPoint\n}\n\n/** Get the difference between two points */\nexport function getOffset<T extends Point> (a: T, b: T) {\n return {\n x: a.x - b.x,\n y: a.y - b.y,\n } as Offset\n}\n\n/** Convert an anchor object to a point in local space */\nexport function anchorToPoint (anchor: ParsedAnchor, box: Box): ViewportPoint {\n if (anchor.side === 'top' || anchor.side === 'bottom') {\n const { side, align } = anchor\n\n const x: number =\n align === 'start' ? 0\n : align === 'center' ? box.width / 2\n : align === 'end' ? box.width\n : align\n const y: number =\n side === 'top' ? 0\n : side === 'bottom' ? box.height\n : side\n\n return elementToViewport({ x, y } as ElementPoint, box)\n } else if (anchor.side === 'start' || anchor.side === 'end') {\n const { side, align } = anchor\n\n const x: number =\n side === 'start' ? 0\n : side === 'end' ? box.width\n : side\n const y: number =\n align === 'top' ? 0\n : align === 'center' ? box.height / 2\n : align === 'bottom' ? box.height\n : align\n\n return elementToViewport({ x, y } as ElementPoint, box)\n }\n\n return elementToViewport({\n x: box.width / 2,\n y: box.height / 2,\n } as ElementPoint, box)\n}\n","// Utilities\nimport { computed, effectScope, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue'\nimport { convertToUnit, getScrollParent, IN_BROWSER, isFixedPosition, nullifyTransforms, propsFactory } from '@/util'\nimport { oppositeAnchor, parseAnchor, physicalAnchor } from './util/anchor'\nimport { anchorToPoint, getOffset } from './util/point'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\nimport type { Anchor } from './util/anchor'\nimport { Box } from '@/util/box'\n\nexport interface PositionStrategyData {\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n}\n\nconst positionStrategies = {\n static: staticPositionStrategy, // specific viewport position, usually centered\n connected: connectedPositionStrategy, // connected to a certain element\n}\n\nexport interface StrategyProps {\n positionStrategy: keyof typeof positionStrategies | (\n (\n data: PositionStrategyData,\n props: StrategyProps,\n contentStyles: Ref<Record<string, string>>\n ) => undefined | { updatePosition: (e: Event) => void }\n )\n anchor: Anchor\n origin: Anchor | 'auto' | 'overlap'\n offset?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n}\n\nexport const makePositionStrategyProps = propsFactory({\n positionStrategy: {\n type: [String, Function] as PropType<StrategyProps['positionStrategy']>,\n default: 'static',\n validator: (val: any) => typeof val === 'function' || val in positionStrategies,\n },\n anchor: {\n type: String as PropType<StrategyProps['anchor']>,\n default: 'bottom',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n offset: [Number, String],\n})\n\nexport function usePositionStrategies (\n props: StrategyProps,\n data: PositionStrategyData\n) {\n const contentStyles = ref({})\n const updatePosition = ref<(e: Event) => void>()\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n updatePosition.value = undefined\n\n if (!(IN_BROWSER && data.isActive.value && props.positionStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.positionStrategy === 'function') {\n updatePosition.value = props.positionStrategy(data, props, contentStyles)?.updatePosition\n } else {\n updatePosition.value = positionStrategies[props.positionStrategy](data, props, contentStyles)?.updatePosition\n }\n })\n })\n\n IN_BROWSER && window.addEventListener('resize', onResize, { passive: true })\n\n onScopeDispose(() => {\n IN_BROWSER && window.removeEventListener('resize', onResize)\n updatePosition.value = undefined\n scope?.stop()\n })\n\n function onResize (e: Event) {\n updatePosition.value?.(e)\n }\n\n return {\n contentStyles,\n updatePosition,\n }\n}\n\nfunction staticPositionStrategy () {\n // TODO\n}\n\nfunction connectedPositionStrategy (data: PositionStrategyData, props: StrategyProps, contentStyles: Ref<Record<string, string>>) {\n const activatorFixed = isFixedPosition(data.activatorEl.value)\n if (activatorFixed) {\n Object.assign(contentStyles.value, {\n position: 'fixed',\n })\n }\n\n const preferredAnchor = computed(() => parseAnchor(props.anchor))\n const preferredOrigin = computed(() =>\n props.origin === 'overlap' ? preferredAnchor.value\n : props.origin === 'auto' ? oppositeAnchor(preferredAnchor.value)\n : parseAnchor(props.origin)\n )\n const doesOverlap = computed(() => {\n return preferredAnchor.value.side === preferredOrigin.value.side\n })\n\n const configuredMaxHeight = computed(() => {\n const val = parseFloat(props.maxHeight!)\n return isNaN(val) ? Infinity : val\n })\n\n const configuredMinWidth = computed(() => {\n const val = parseFloat(props.minWidth!)\n return isNaN(val) ? Infinity : val\n })\n\n let observe = false\n const observer = new ResizeObserver(() => {\n if (observe) updatePosition()\n })\n observer.observe(data.activatorEl.value!)\n observer.observe(data.contentEl.value!)\n\n onScopeDispose(() => {\n observer.disconnect()\n })\n\n // eslint-disable-next-line max-statements\n function updatePosition () {\n observe = false\n requestAnimationFrame(() => {\n requestAnimationFrame(() => observe = true)\n })\n\n const targetBox = data.activatorEl.value!.getBoundingClientRect()\n // TODO: offset shouldn't affect width\n if (props.offset) {\n targetBox.x -= +props.offset\n targetBox.y -= +props.offset\n targetBox.width += +props.offset * 2\n targetBox.height += +props.offset * 2\n }\n\n const scrollParent = getScrollParent(data.contentEl.value)\n const viewportWidth = scrollParent.clientWidth\n const viewportHeight = Math.min(scrollParent.clientHeight, window.innerHeight)\n\n let contentBox\n {\n const scrollables = new Map<Element, [number, number]>()\n data.contentEl.value!.querySelectorAll('*').forEach(el => {\n const x = el.scrollLeft\n const y = el.scrollTop\n if (x || y) {\n scrollables.set(el, [x, y])\n }\n })\n\n const initialMaxWidth = data.contentEl.value!.style.maxWidth\n const initialMaxHeight = data.contentEl.value!.style.maxHeight\n data.contentEl.value!.style.removeProperty('max-width')\n data.contentEl.value!.style.removeProperty('max-height')\n\n contentBox = nullifyTransforms(data.contentEl.value!)\n contentBox.x -= parseFloat(data.contentEl.value!.style.left) || 0\n contentBox.y -= parseFloat(data.contentEl.value!.style.top) || 0\n\n data.contentEl.value!.style.maxWidth = initialMaxWidth\n data.contentEl.value!.style.maxHeight = initialMaxHeight\n scrollables.forEach((position, el) => {\n el.scrollTo(...position)\n })\n }\n\n const contentHeight = Math.min(configuredMaxHeight.value, contentBox.height)\n\n const viewportMargin = 12\n const freeSpace = {\n top: targetBox.top - viewportMargin,\n bottom: viewportHeight - targetBox.bottom - viewportMargin,\n left: targetBox.left - viewportMargin,\n right: viewportWidth - targetBox.right - viewportMargin,\n }\n\n const fitsY = (preferredAnchor.value.side === 'bottom' && contentHeight <= freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && contentHeight <= freeSpace.top)\n\n const anchor = fitsY ? preferredAnchor.value\n : (preferredAnchor.value.side === 'bottom' && freeSpace.top > freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && freeSpace.bottom > freeSpace.top) ? oppositeAnchor(preferredAnchor.value)\n : preferredAnchor.value\n const origin = fitsY ? preferredOrigin.value : oppositeAnchor(anchor)\n\n const canFill = doesOverlap.value || ['center', 'top', 'bottom'].includes(anchor.side)\n\n const maxWidth = canFill ? Math.min(viewportWidth, Math.max(targetBox.width, viewportWidth - viewportMargin * 2))\n : anchor.side === 'end' ? freeSpace.right\n : anchor.side === 'start' ? freeSpace.left\n : null\n const minWidth = Math.min(configuredMinWidth.value, maxWidth!, targetBox.width)\n const maxHeight = fitsY ? configuredMaxHeight.value : Math.min(\n configuredMaxHeight.value,\n Math.floor(anchor.side === 'top' ? freeSpace.top : freeSpace.bottom)\n )\n\n const targetPoint = anchorToPoint(anchor, targetBox)\n const contentPoint = anchorToPoint(origin, new Box({\n ...contentBox,\n height: Math.min(contentHeight, maxHeight),\n }))\n\n const { x, y } = getOffset(targetPoint, contentPoint)\n\n Object.assign(contentStyles.value, {\n '--v-overlay-anchor-origin': physicalAnchor(anchor, data.activatorEl.value!),\n top: convertToUnit(Math.round(y)),\n left: convertToUnit(Math.round(x)), // TODO: right for origin=\"end\", rtl\n transformOrigin: physicalAnchor(origin, data.activatorEl.value!),\n minWidth: convertToUnit(minWidth),\n maxWidth: convertToUnit(maxWidth),\n maxHeight: convertToUnit(maxHeight),\n })\n }\n\n watch(\n () => [preferredAnchor.value, preferredOrigin.value, props.offset],\n () => updatePosition(),\n { immediate: !activatorFixed }\n )\n\n if (activatorFixed) nextTick(() => updatePosition())\n requestAnimationFrame(() => {\n if (contentStyles.value.maxHeight) updatePosition()\n })\n\n return { updatePosition }\n}\n","let clean = true\nconst frames = [] as any[]\n\n/**\n * Schedule a task to run in an animation frame on its own\n * This is useful for heavy tasks that may cause jank if all ran together\n */\nexport function requestNewFrame (cb: () => void) {\n if (!clean || frames.length) {\n frames.push(cb)\n run()\n } else {\n clean = false\n cb()\n run()\n }\n}\n\nlet raf = -1\nfunction run () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n const frame = frames.shift()\n if (frame) frame()\n\n if (frames.length) run()\n else clean = true\n })\n}\n","// Utilities\nimport { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from '@/util'\nimport { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue'\nimport { requestNewFrame } from './requestNewFrame'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\n\nexport interface ScrollStrategyData {\n root: Ref<HTMLElement | undefined>\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n updatePosition: Ref<((e: Event) => void) | undefined>\n}\n\nconst scrollStrategies = {\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy,\n}\n\ninterface StrategyProps {\n scrollStrategy: keyof typeof scrollStrategies | ((data: ScrollStrategyData) => void)\n}\n\nexport const makeScrollStrategyProps = propsFactory({\n scrollStrategy: {\n type: [String, Function] as PropType<StrategyProps['scrollStrategy']>,\n default: 'block',\n validator: (val: any) => typeof val === 'function' || val in scrollStrategies,\n },\n})\n\nexport function useScrollStrategies (\n props: StrategyProps,\n data: ScrollStrategyData\n) {\n if (!IN_BROWSER) return\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n\n if (!(data.isActive.value && props.scrollStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data)\n } else {\n scrollStrategies[props.scrollStrategy]?.(data)\n }\n })\n })\n}\n\nfunction closeScrollStrategy (data: ScrollStrategyData) {\n function onScroll (e: Event) {\n data.isActive.value = false\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, onScroll)\n}\n\nfunction blockScrollStrategy (data: ScrollStrategyData) {\n const scrollElements = [...new Set([\n ...getScrollParents(data.activatorEl.value),\n ...getScrollParents(data.contentEl.value),\n ])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'))\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth\n\n const scrollableParent = (el => hasScrollbar(el) && el)(data.root.value?.offsetParent || document.documentElement)\n if (scrollableParent) {\n data.root.value!.classList.add('v-overlay--scroll-blocked')\n }\n\n scrollElements.forEach((el, i) => {\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth))\n el.classList.add('v-overlay-scroll-blocked')\n })\n\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n el.style.removeProperty('--v-scrollbar-offset')\n el.classList.remove('v-overlay-scroll-blocked')\n })\n if (scrollableParent) {\n data.root.value!.classList.remove('v-overlay--scroll-blocked')\n }\n })\n}\n\nfunction repositionScrollStrategy (data: ScrollStrategyData) {\n let slow = false\n let raf = -1\n\n function update (e: Event) {\n requestNewFrame(() => {\n const start = performance.now()\n data.updatePosition.value?.(e)\n const time = performance.now() - start\n slow = time / (1000 / 60) > 2\n })\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e)\n })\n })\n } else {\n update(e)\n }\n })\n}\n\n/** @private */\nfunction bindScroll (el: HTMLElement | undefined, onScroll: (e: Event) => void) {\n const scrollElements = [document, ...getScrollParents(el)]\n scrollElements.forEach(el => {\n el.addEventListener('scroll', onScroll, { passive: true })\n })\n\n onScopeDispose(() => {\n scrollElements.forEach(el => {\n el.removeEventListener('scroll', onScroll)\n })\n })\n}\n","// Utilities\nimport { computed, warn } from 'vue'\nimport { IN_BROWSER } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTeleport (target: Ref<boolean | string | Element>) {\n const teleportTarget = computed(() => {\n const _target = target.value\n\n if (_target === true || !IN_BROWSER) return undefined\n\n const targetElement =\n _target === false ? document.body\n : typeof _target === 'string' ? document.querySelector(_target)\n : _target\n\n if (targetElement == null) {\n warn(`Unable to locate target ${_target}`)\n return undefined\n }\n\n if (!useTeleport.cache.has(targetElement)) {\n const el = document.createElement('div')\n el.className = 'v-overlay-container'\n targetElement.appendChild(el)\n useTeleport.cache.set(targetElement, el)\n }\n\n return useTeleport.cache.get(targetElement)\n })\n\n return { teleportTarget }\n}\nuseTeleport.cache = new WeakMap<Element, Element>()\n","// Utilities\nimport { computed, ref, watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport { propsFactory } from '@/util'\n\nexport const makeLazyProps = propsFactory({\n eager: Boolean,\n}, 'lazy')\n\nexport function useLazy (props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = ref(false)\n const hasContent = computed(() => isBooted.value || props.eager || active.value)\n\n watch(active, () => isBooted.value = true)\n\n function onAfterLeave () {\n if (!props.eager) isBooted.value = false\n }\n\n return { isBooted, hasContent, onAfterLeave }\n}\n","import { computed, effectScope, onScopeDispose, ref, toRaw, watch } from 'vue'\nimport { getCurrentInstance } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, EffectScope, Ref } from 'vue'\n\nconst stack = ref<ComponentInternalInstance[]>([])\n\nexport function useStack (isActive: Ref<boolean>) {\n const vm = getCurrentInstance('useStack')\n let scope: EffectScope | undefined\n watch(isActive, val => {\n if (val) {\n scope = effectScope()\n scope.run(() => {\n stack.value.push(vm)\n\n onScopeDispose(() => {\n const idx = stack.value.indexOf(vm)\n stack.value.splice(idx, 1)\n })\n })\n } else {\n scope?.stop()\n }\n }, { immediate: true })\n\n const isTop = computed(() => {\n return toRaw(stack.value[stack.value.length - 1]) === vm\n })\n\n return {\n isTop,\n }\n}\n","import { attachedRoot } from '@/util'\nimport type { DirectiveBinding } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: MouseEvent) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirectiveBinding extends DirectiveBinding {\n value: ((e: MouseEvent) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el?.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: MouseEvent, binding: ClickOutsideDirectiveBinding): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n mounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const onClick = (e: Event) => directive(e as MouseEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as MouseEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[binding.instance!.$.uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unmounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[binding.instance!.$.uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[binding.instance!.$.uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[binding.instance!.$.uid]\n },\n}\n\nexport default ClickOutside\n","// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { makePositionStrategyProps, usePositionStrategies } from './positionStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackButton } from '@/composables/router'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/rtl'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useStack } from '@/composables/stack'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n standardEasing,\n useRender,\n} from '@/util'\nimport {\n computed,\n mergeProps,\n ref,\n Teleport,\n toHandlers,\n Transition,\n watch,\n} from 'vue'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { BackgroundColorData } from '@/composables/color'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = MakeSlots<{\n default: [{ isActive: Ref<boolean> }]\n activator: [{ isActive: boolean, props: Record<string, any> }]\n}>\n\nexport const VOverlay = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n contained: Boolean,\n contentClass: null,\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n\n ...makeActivatorProps(),\n ...makeDimensionProps(),\n ...makePositionStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n ...makeLazyProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { teleportTarget } = useTeleport(computed(() => props.attach || props.contained))\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n const { hasContent, onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { activatorEl, activatorEvents } = useActivator(props, isActive)\n const { dimensionStyles } = useDimension(props)\n const { isTop } = useStack(isActive)\n\n const root = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const { contentStyles, updatePosition } = usePositionStrategies(props, {\n contentEl,\n activatorEl,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n activatorEl,\n isActive,\n updatePosition,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional () {\n return isActive.value && isTop.value\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && isTop.value) {\n if (!props.persistent) {\n isActive.value = false\n } else animateClick()\n }\n }\n\n useBackButton(next => {\n if (isTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value?.animate([\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n props: mergeProps({\n modelValue: isActive.value,\n 'onUpdate:modelValue': (val: boolean) => isActive.value = val,\n }, toHandlers(activatorEvents.value), props.activatorProps),\n }) }\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n { hasContent.value && (\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n ]}\n style={ top.value != null ? `top: ${convertToUnit(top.value)}` : undefined }\n ref={ root }\n {...attrs}\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n />\n <MaybeTransition\n appear\n onAfterLeave={ onAfterLeave }\n persisted\n transition={ props.transition }\n target={ activatorEl.value }\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n )}\n </Teleport>\n </>\n ))\n\n return {\n animateClick,\n contentEl,\n activatorEl,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { nextTick, ref, watch } from 'vue'\nimport { genericComponent, IN_BROWSER } from '@/util'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const VDialog = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VDialog',\n\n inheritAttrs: false,\n\n props: {\n fullscreen: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n modelValue: Boolean,\n\n ...makeDimensionProps({ width: 'auto' }),\n ...makeTransitionProps({\n transition: { component: VDialogTransition },\n }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { dimensionStyles } = useDimension(props)\n\n const overlay = ref<VOverlay>()\n function onFocusin (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n if (\n before !== after &&\n overlay.value?.contentEl &&\n // It isn't the document or the dialog body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the dialog body\n !overlay.value.contentEl.contains(after)\n // We're the topmost dialog\n // TODO: this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n // TODO: !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n const focusable = [...overlay.value.contentEl.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n\n if (!focusable.length) return\n\n const firstElement = focusable[0]\n const lastElement = focusable[focusable.length - 1]\n\n if (before === firstElement) {\n lastElement.focus()\n } else {\n firstElement.focus()\n }\n }\n }\n\n if (IN_BROWSER) {\n watch(() => isActive.value && props.retainFocus, val => {\n val\n ? document.addEventListener('focusin', onFocusin)\n : document.removeEventListener('focusin', onFocusin)\n }, { immediate: true })\n }\n\n watch(isActive, async val => {\n await nextTick()\n if (val) {\n overlay.value!.contentEl?.focus({ preventScroll: true })\n } else {\n overlay.value!.activatorEl?.focus({ preventScroll: true })\n }\n })\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-dialog',\n {\n 'v-dialog--fullscreen': props.fullscreen,\n },\n ]}\n style={ dimensionStyles.value }\n transition={ props.transition }\n ref={ overlay }\n aria-role=\"dialog\"\n aria-modal=\"true\"\n activatorProps={{\n 'aria-haspopup': 'dialog',\n 'aria-expanded': String(isActive.value),\n }}\n { ...attrs }\n v-slots={{\n default: slots.default,\n activator: slots.activator,\n }}\n />\n )\n }\n },\n})\n\nexport type VDialog = InstanceType<typeof VDialog>\n","// Styles\nimport './VDivider.sass'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Types\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'maxHeight' | 'maxWidth'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const VDivider = defineComponent({\n name: 'VDivider',\n\n props: {\n inset: Boolean,\n length: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n ...makeThemeProps(),\n },\n\n setup (props, { attrs }) {\n const { themeClasses } = provideTheme(props)\n const dividerStyles = computed(() => {\n const styles: DividerStyles = {}\n\n if (props.length) {\n styles[props.vertical ? 'maxHeight' : 'maxWidth'] = convertToUnit(props.length)\n }\n\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness)\n }\n\n return styles\n })\n\n return () => {\n return (\n <hr\n class={[\n {\n 'v-divider': true,\n 'v-divider--inset': props.inset,\n 'v-divider--vertical': props.vertical,\n },\n themeClasses.value,\n ]}\n style={ dividerStyles.value }\n aria-orientation={\n !attrs.role || attrs.role === 'separator'\n ? props.vertical ? 'vertical' : 'horizontal'\n : undefined\n }\n role={`${attrs.role || 'separator'}`}\n />\n )\n }\n },\n})\n","// Styles\nimport './VExpansionPanel.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VExpansionPanelSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-expansion-panel')\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport const VExpansionPanels = defineComponent({\n name: 'VExpansionPanels',\n\n props: {\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n ...makeTagProps(),\n ...makeGroupProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n useGroup(props, VExpansionPanelSymbol)\n const { themeClasses } = provideTheme(props)\n\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n return () => (\n <props.tag\n class={[\n 'v-expansion-panels',\n themeClasses.value,\n variantClass.value,\n ]}\n >\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n","// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\n\n// Directives\nimport ripple from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { defineComponent, propsFactory } from '@/util'\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n expandIcon: {\n type: String,\n default: '$expand',\n },\n collapseIcon: {\n type: String,\n default: '$collapse',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n color: String,\n})\n\nexport const VExpansionPanelTitle = defineComponent({\n name: 'VExpansionPanelTitle',\n\n directives: { ripple },\n\n props: {\n ...makeVExpansionPanelTitleProps(),\n },\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n expanded: expansionPanel.isSelected.value,\n disabled: expansionPanel.disabled.value,\n expandIcon: props.expandIcon,\n collapseIcon: props.collapseIcon,\n }))\n\n return () => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n },\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ expansionPanel.toggle }\n v-ripple={ props.ripple }\n >\n <div class=\"v-expansion-panel-title__overlay\" />\n { slots.default?.(slotProps.value) }\n { !props.hideActions && (\n <div class=\"v-expansion-panel-title__icon\">\n {\n slots.actions ? slots.actions(slotProps.value)\n : <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />\n }\n </div>\n ) }\n </button>\n )\n },\n})\n","// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\n\n// Utilities\nimport { inject } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VExpansionPanelText = defineComponent({\n name: 'VExpansionPanelText',\n\n props: {\n ...makeLazyProps(),\n },\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel')\n\n const { hasContent, onAfterLeave } = useLazy(props, expansionPanel.isSelected)\n\n return () => (\n <VExpandTransition onAfterLeave={ onAfterLeave }>\n <div\n v-show={ expansionPanel.isSelected.value }\n class={[\n 'v-expansion-panel-text',\n ]}\n >\n { slots.default && hasContent.value && (\n <div class=\"v-expansion-panel-text__wrapper\">\n { slots.default?.() }\n </div>\n ) }\n </div>\n </VExpandTransition>\n )\n },\n})\n","// Components\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\nimport { VExpansionPanelText } from './VExpansionPanelText'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeLazyProps } from '@/composables/lazy'\n\n// Utilities\nimport { computed, provide } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VExpansionPanel = defineComponent({\n name: 'VExpansionPanel',\n\n props: {\n title: String,\n text: String,\n bgColor: String,\n\n ...makeLazyProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { roundedClasses } = useRounded(props)\n const { elevationClasses } = useElevation(props)\n\n provide(VExpansionPanelSymbol, groupItem)\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.indexOf(groupItem.id)\n return !groupItem.isSelected.value &&\n groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - index === 1)\n })\n\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.indexOf(groupItem.id)\n return !groupItem.isSelected.value &&\n groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - index === -1)\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n\n return () => (\n <props.tag\n class={[\n 'v-expansion-panel',\n {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': groupItem.disabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n aria-expanded={ groupItem.isSelected.value }\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n { slots.default?.() || (\n <>\n <VExpansionPanelTitle\n expandIcon={ props.expandIcon }\n collapseIcon={ props.collapseIcon }\n color={ props.color }\n hideActions={ props.hideActions }\n ripple={ props.ripple }\n >\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n <VExpansionPanelText eager={ props.eager }>\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n </>\n ) }\n </props.tag>\n )\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n","// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VFieldLabel = defineComponent({\n name: 'VFieldLabel',\n\n props: {\n floating: Boolean,\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n ]}\n aria-hidden={ props.floating || undefined }\n v-slots={ slots }\n />\n )\n }\n },\n})\n\nexport type VFieldLabel = InstanceType<typeof VFieldLabel>\n","// Utilities\nimport { onBeforeUnmount, ref, watch } from 'vue'\n\nexport function useIntersectionObserver (callback?: IntersectionObserverCallback) {\n const intersectionRef = ref<HTMLElement>()\n const isIntersecting = ref(false)\n\n const observer = new IntersectionObserver((entries: IntersectionObserverEntry[]) => {\n callback?.(entries, observer)\n\n isIntersecting.value = !!entries.find(entry => entry.isIntersecting)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(intersectionRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n isIntersecting.value = false\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n\n return { intersectionRef, isIntersecting }\n}\n","// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { convertToUnit, defineComponent } from '@/util'\nimport { computed, Transition } from 'vue'\n\nexport const VProgressLinear = defineComponent({\n name: 'VProgressLinear',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0,\n },\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(props, 'color')\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(computed(() => props.bgColor || props.color))\n const { backgroundColorClasses: barColorClasses, backgroundColorStyles: barColorStyles } = useBackgroundColor(props, 'color')\n const { roundedClasses } = useRounded(props)\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const max = computed(() => parseInt(props.max, 10))\n const height = computed(() => parseInt(props.height, 10))\n const normalizedBuffer = computed(() => parseFloat(props.bufferValue) / max.value * 100)\n const normalizedValue = computed(() => parseFloat(progress.value) / max.value * 100)\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition')\n const opacity = computed(() => {\n return props.bgOpacity == null\n ? props.bgOpacity\n : parseFloat(props.bgOpacity)\n })\n\n function handleClick (e: MouseEvent) {\n if (!intersectionRef.value) return\n\n const { left, right, width } = intersectionRef.value.getBoundingClientRect()\n const value = isReversed.value ? (width - e.clientX) + (right - width) : e.clientX - left\n\n progress.value = Math.round(value / width * max.value)\n }\n\n return () => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-linear',\n {\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n },\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={{\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n }}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax={ props.max }\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n onClick={ props.clickable && handleClick }\n >\n { props.stream && (\n <div\n class={[\n 'v-progress-linear__stream',\n textColorClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: opacity.value,\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1)),\n }}\n />\n ) }\n\n <div\n class={[\n 'v-progress-linear__background',\n backgroundColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n {\n opacity: opacity.value,\n width: convertToUnit((!props.stream ? 100 : normalizedBuffer.value), '%'),\n },\n ]}\n />\n\n <Transition name={ transition.value }>\n { !props.indeterminate ? (\n <div\n class={[\n 'v-progress-linear__determinate',\n barColorClasses.value,\n ]}\n style={[\n barColorStyles.value,\n { width: convertToUnit(normalizedValue.value, '%') },\n ]}\n />\n ) : (\n <div class=\"v-progress-linear__indeterminate\">\n { ['long', 'short'].map(bar => (\n <div\n key={ bar }\n class={[\n 'v-progress-linear__indeterminate',\n bar,\n barColorClasses.value,\n ]}\n style={ barColorStyles.value }\n />\n )) }\n </div>\n ) }\n </Transition>\n\n { slots.default && (\n <div class=\"v-progress-linear__content\">\n { slots.default({ value: normalizedValue.value, buffer: normalizedBuffer.value }) }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes } from 'vue'\nimport type { SetupContext } from '@vue/runtime-core'\nimport type { MakeSlots, SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading: boolean\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: Boolean,\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<MakeSlots<{\n default: [LoaderSlotProps]\n }>>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={`${props.name}__loader`}>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n","import { ref } from 'vue'\n\nexport const useFocus = () => {\n const isFocused = ref(false)\n\n function focus () {\n isFocused.value = true\n }\n\n function blur () {\n isFocused.value = false\n }\n\n return { isFocused, focus, blur }\n}\n","// Styles\nimport './VField.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\nimport { VFieldLabel } from './VFieldLabel'\n\n// Composables\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useFocus } from '@/composables/focus'\n\n// Utilities\nimport { computed, inject, ref, toRef, watch, watchEffect } from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n getUid,\n nullifyTransforms,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { VInputSlot, VInputSymbol } from '@/components/VInput/VInput'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'contained', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: boolean\n isFocused: boolean\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: String,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n color: String,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: String,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n ...makeThemeProps(),\n ...makeLoaderProps(),\n}, 'v-field')\n\nexport const VField = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: MakeSlots<{\n clear: []\n prependInner: [DefaultInputSlot & VInputSlot]\n appendInner: [DefaultInputSlot & VInputSlot]\n label: [DefaultInputSlot & VInputSlot]\n loader: [LoaderSlotProps]\n default: [VFieldSlot]\n }>\n}>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n active: Boolean,\n disabled: Boolean,\n error: Boolean,\n id: String,\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:clear': (e: Event) => true,\n 'click:prepend-inner': (e: MouseEvent) => true,\n 'click:append-inner': (e: MouseEvent) => true,\n 'click:control': (props: DefaultInputSlot) => true,\n 'update:active': (active: boolean) => true,\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const isActive = useProxiedModel(props, 'active')\n const { isFocused, focus, blur } = useFocus()\n\n const uid = getUid()\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n const id = computed(() => props.id || `input-${uid}`)\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label))\n\n watchEffect(() => isActive.value = isFocused.value)\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n isActive.value &&\n isFocused.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n\n watch(isActive, val => {\n if (hasLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const duration = parseFloat(getComputedStyle(el).transitionDuration) * 1000\n const scale = parseFloat(getComputedStyle(targetEl).getPropertyValue('--v-field-label-scale'))\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n el.animate([\n { transform: 'translate(0)' },\n { transform: `translate(${x}px, ${y}px) scale(${scale})`, ...width },\n ], {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive: isActive.value,\n isFocused: isFocused.value,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n\n emit('click:control', slotProps.value)\n }\n\n const VInput = inject('VInput' as any as typeof VInputSymbol, undefined)\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = (slots.prependInner || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear)\n const hasAppend = !!(slots.appendInner || props.appendInnerIcon || hasClear)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--focused': isFocused.value,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n loaderClasses.value,\n backgroundColorClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ props.loading }\n color={ VInput ? (!VInput.value.isValid.value ? undefined : props.color) : props.color }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div\n class=\"v-field__prepend-inner\"\n onClick={ e => emit('click:prepend-inner', e) }\n >\n { props.prependInnerIcon && (\n <VIcon icon={ props.prependInnerIcon } />\n ) }\n\n { slots?.prependInner?.(VInput?.value) }\n </div>\n ) }\n\n <div class=\"v-field__field\">\n { ['contained', 'filled'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n ) }\n\n <VFieldLabel ref={ labelRef } for={ id.value }>\n { label }\n </VFieldLabel>\n\n { slots.default?.({\n ...VInput?.value,\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n onFocus: () => (isFocused.value = true),\n onBlur: () => (isFocused.value = false),\n },\n focus,\n blur,\n } as VFieldSlot) }\n </div>\n\n { hasClear && (\n <VExpandXTransition>\n <div\n class=\"v-field__clearable\"\n onClick={ (e: Event) => emit('click:clear', e) }\n v-show={ props.active }\n >\n { slots.clear\n ? slots.clear()\n : <VIcon icon={ props.clearIcon } />\n }\n </div>\n </VExpandXTransition>\n ) }\n\n { hasAppend && (\n <div\n class=\"v-field__append-inner\"\n onClick={ e => emit('click:append-inner', e) }\n >\n { slots?.appendInner?.(VInput?.value) }\n\n { props.appendInnerIcon && (\n <VIcon icon={ props.appendInnerIcon } />\n ) }\n </div>\n ) }\n\n <div class=\"v-field__outline\">\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n </div>\n ) }\n\n <div class=\"v-field__outline__end\" />\n </>\n ) }\n\n { ['plain', 'underlined'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n ) }\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n\n// TODO: this is kinda slow, might be better to implicitly inherit props instead\nexport function filterFieldProps (attrs: Record<string, unknown>) {\n return pick(attrs, Object.keys(VField.props))\n}\n","import { computed, inject, provide } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath, wrapInRef } from '@/util'\n\nimport en from '@/locale/en'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n defaultLocale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleProps {\n locale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleInstance {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n}\n\nexport interface LocaleAdapter {\n createRoot: (app: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const LocaleAdapterSymbol: InjectionKey<LocaleAdapter> = Symbol.for('vuetify:locale-adapter')\nexport const VuetifyLocaleSymbol: InjectionKey<LocaleInstance> = Symbol.for('vuetify:locale')\n\nexport function provideLocale (props?: LocaleProps) {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.createScope(props)\n}\n\nexport function useLocale () {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.getScope()\n}\n\nfunction isLocaleAdapter (x: any): x is LocaleAdapter {\n return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot')\n}\n\nexport function createLocaleAdapter (app: App, options?: LocaleOptions | LocaleAdapter) {\n const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options)\n\n const rootInstance = adapter.createRoot(app)\n\n return { adapter, rootInstance }\n}\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nexport function createDefaultLocaleAdapter (options?: LocaleOptions): LocaleAdapter {\n const createScope = (options: {\n current: MaybeRef<string>\n fallback: MaybeRef<string>\n messages: MaybeRef<LocaleMessages>\n }) => {\n const current = wrapInRef(options.current)\n const fallback = wrapInRef(options.fallback)\n const messages = wrapInRef(options.messages)\n\n return {\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n }\n }\n\n return {\n createRoot: app => {\n const rootScope = createScope({\n current: options?.defaultLocale ?? 'en',\n fallback: options?.fallbackLocale ?? 'en',\n messages: options?.messages ?? { en },\n })\n\n app.provide(VuetifyLocaleSymbol, rootScope)\n\n return rootScope\n },\n getScope: () => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return currentScope\n },\n createScope: options => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const newScope = createScope({\n current: computed(() => options?.locale ?? currentScope.current.value),\n fallback: computed(() => options?.locale ?? currentScope.fallback.value),\n messages: computed(() => options?.messages ?? currentScope.messages.value),\n })\n\n provide(VuetifyLocaleSymbol, newScope)\n\n return newScope\n },\n }\n}\n","// Styles\nimport './VFileInput.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { VChip } from '@/components/VChip'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, humanReadableFileSize, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\n\nexport const VFileInput = defineComponent({\n name: 'VFileInput',\n\n inheritAttrs: false,\n\n props: {\n chips: Boolean,\n counter: Boolean,\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n multiple: Boolean,\n showSize: {\n type: [Boolean, Number] as PropType<boolean | 1000 | 1024>,\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n },\n\n ...makeVInputProps(),\n\n prependIcon: {\n type: String,\n default: '$file',\n },\n modelValue: {\n type: Array as PropType<File[] | undefined>,\n default: () => ([]),\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n\n ...makeVFieldProps({ clearable: true }),\n },\n\n emits: {\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { t } = useLocale()\n const model = useProxiedModel(props, 'modelValue')\n\n const internalDirty = ref(false)\n const isDirty = computed(() => {\n return internalDirty.value || !!model.value?.length\n })\n\n const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined)\n const totalBytes = computed(() => (model.value ?? []).reduce((bytes, { size = 0 }) => bytes + size, 0))\n const totalBytesReadable = computed(() => humanReadableFileSize(totalBytes.value, base.value))\n\n const fileNames = computed(() => (model.value ?? []).map(file => {\n const { name = '', size = 0 } = file\n\n return !props.showSize\n ? name\n : `${name} (${humanReadableFileSize(size, base.value)})`\n }))\n\n const counterValue = computed(() => {\n const fileCount = model.value?.length ?? 0\n if (props.showSize) return t(props.counterSizeString, fileCount, totalBytesReadable.value)\n else return t(props.counterString, fileCount)\n })\n\n const inputRef = ref<HTMLInputElement>()\n function focus () {\n inputRef.value?.focus()\n }\n function blur () {\n inputRef.value?.blur()\n }\n function click () {\n inputRef.value?.click()\n }\n function clear (e?: Event) {\n e?.stopPropagation()\n\n model.value = []\n\n if (inputRef?.value) {\n inputRef.value.value = ''\n }\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || counterValue.value)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [inputProps] = filterInputProps(props)\n const [fieldProps, _] = filterFieldProps(props)\n\n return (\n <VInput\n v-model={ model.value }\n class=\"v-file-input\"\n { ...rootAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: () => (\n <VField\n active={ isDirty.value }\n prepend-icon={ props.prependIcon }\n onUpdate:active={ val => internalDirty.value = val }\n onClick:control={ click }\n onClick:prepend={ click }\n onClick:clear={ clear }\n { ...fieldProps }\n >\n {{\n ...slots,\n default: ({\n isActive,\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n <input\n ref={ inputRef }\n type=\"file\"\n disabled={ props.disabled }\n multiple={ props.multiple }\n onClick={ e => e.stopPropagation() }\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n\n if (!isActive) inputRef.value?.focus()\n } }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { isDirty.value && (\n <div class={ fieldClass }>\n { slots.selection ? slots.selection({\n fileNames: fileNames.value,\n totalBytes: totalBytes.value,\n totalBytesReadable: totalBytesReadable.value,\n })\n : props.chips ? fileNames.value.map(text => (\n <VChip\n key={ text }\n size=\"small\"\n color={ props.color }\n >{ text }</VChip>\n ))\n : fileNames.value.join(', ') }\n </div>\n ) }\n </>\n ),\n }}\n </VField>\n ),\n details: hasCounter ? () => (\n <>\n <span />\n\n <VCounter\n value={ counterValue.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return {\n focus,\n blur,\n click,\n }\n },\n})\n\nexport type VFileInput = InstanceType<typeof VFileInput>\n","// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VFooter = defineComponent({\n name: 'VFooter',\n\n props: {\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n 'v-footer',\n themeClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Composables\nimport { createForm, makeFormProps } from '@/composables/form'\n\n// Utilities\nimport { ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VForm = defineComponent({\n name: 'VForm',\n\n props: {\n ...makeFormProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: Event) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref<HTMLFormElement>()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (e: Event) {\n e.preventDefault()\n form.validate().then(({ valid }) => {\n if (valid) {\n emit('submit', e)\n }\n })\n }\n\n useRender(() => ((\n <form\n ref={ formRef }\n class=\"v-form\"\n novalidate\n onReset={ onReset }\n onSubmit={ onSubmit }\n >\n { slots.default?.(form) }\n </form>\n )))\n\n return form\n },\n})\n\nexport type VForm = InstanceType<typeof VForm>\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VContainer = defineComponent({\n name: 'VContainer',\n\n props: {\n fluid: {\n type: Boolean,\n default: false,\n },\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => (\n <props.tag\n class={[\n 'v-container',\n { 'v-container--fluid': props.fluid },\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Record<string, Prop<boolean | string | number, false>>)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + capitalize(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<string, Prop<string | number, null>>)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + capitalize(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<string, Prop<string | number, null>>)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className: string = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n if (type === 'col') {\n className = 'v-' + className\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .v-col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nexport const VCol = defineComponent({\n name: 'VCol',\n\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('v-col-'))\n\n classList.push({\n // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified.\n 'v-col': !hasColClasses || !props.cols,\n [`v-col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: classes.value,\n }, slots.default?.())\n },\n})\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nconst ALIGNMENT = ['start', 'end', 'center'] as const\n\nfunction makeRowProps (prefix: string, def: () => Prop<string, null>) {\n return breakpoints.reduce((props, val) => {\n props[prefix + capitalize(val)] = def()\n return props\n }, {} as Record<string, Prop<string, null>>)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeRowProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeRowProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeRowProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nexport const VRow = defineComponent({\n name: 'VRow',\n\n props: {\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'v-row--no-gutters': props.noGutters,\n 'v-row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: ['v-row', classes.value],\n }, slots.default?.())\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VSpacer = createSimpleFunctional('flex-grow-1', 'div', 'VSpacer')\n","// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VHover = defineComponent({\n name: 'VHover',\n\n props: {\n disabled: Boolean,\n modelValue: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const hover = useProxiedModel(props, 'modelValue')\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => !props.disabled && (hover.value = value))\n\n return () => slots.default?.({\n hover: hover.value,\n props: {\n onMouseenter: runOpenDelay,\n onMouseleave: runCloseDelay,\n },\n })\n },\n})\n","// Styles\nimport './VItemGroup.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VItemGroupSymbol = Symbol.for('vuetify:v-item-group')\n\nexport const VItemGroup = defineComponent({\n name: 'VItemGroup',\n\n props: {\n ...makeGroupProps({\n selectedClass: 'v-item--selected',\n }),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VItemGroupSymbol)\n\n return () => (\n <props.tag\n class={[\n 'v-item-group',\n themeClasses.value,\n ]}\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n }) }\n </props.tag>\n )\n },\n})\n\nexport type VItemGroup = InstanceType<typeof VItemGroup>\n","// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { VItemGroupSymbol } from './VItemGroup'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { MakeSlots } from '@/util'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VItem = genericComponent<new () => {\n $slots: MakeSlots<{\n default: [GroupItemProvide]\n }>\n}>()({\n name: 'VItem',\n\n props: makeGroupItemProps(),\n\n setup (props, { slots }) {\n const { isSelected, select, toggle, selectedClass, value, disabled } = useGroupItem(props, VItemGroupSymbol)\n return () => slots.default?.({\n isSelected: isSelected.value,\n selectedClass: selectedClass.value,\n select,\n toggle,\n value: value.value,\n disabled: disabled.value,\n })\n },\n})\n\nexport type VItem = InstanceType<typeof VItem>\n","import './VKbd.sass'\n\nimport { createSimpleFunctional } from '@/util'\n\nexport const VKbd = createSimpleFunctional('v-kbd')\n","// Styles\nimport './VLayout.sass'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\n// Composables\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\nexport const VLayout = defineComponent({\n name: 'VLayout',\n\n props: makeLayoutProps(),\n\n setup (props, { slots }) {\n const { layoutClasses, getLayoutItem, items } = createLayout(props)\n\n useRender(() => (\n <div class={ layoutClasses.value }>\n { slots.default?.() }\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n }\n },\n})\n\nexport type VLayout = InstanceType<typeof VLayout>\n","// Styles\nimport './VLayoutItem.sass'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VLayoutItem = defineComponent({\n name: 'VLayoutItem',\n\n props: {\n position: {\n type: String as PropType<'top' | 'right' | 'bottom' | 'left'>,\n required: true,\n },\n size: {\n type: [Number, String],\n default: 300,\n },\n modelValue: Boolean,\n ...makeLayoutItemProps(),\n },\n\n setup (props, { slots }) {\n const styles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n toRef(props, 'position'),\n toRef(props, 'size'),\n toRef(props, 'size'),\n toRef(props, 'modelValue')\n )\n\n return () => (\n <div\n class={[\n 'v-layout-item',\n {\n 'v-layout-item--absolute': props.absolute,\n },\n ]}\n style={ styles.value }\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n","// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport type { PropType } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VLazy = defineComponent({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n modelValue: Boolean,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n\n ...makeDimensionProps(),\n ...makeTagProps(),\n ...makeTransitionProps({ transition: 'fade-transition' }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n const isActive = useProxiedModel(props, 'modelValue')\n\n function onIntersect (isIntersecting: boolean) {\n if (isActive.value) return\n\n isActive.value = isIntersecting\n }\n\n return () => (\n <props.tag\n class=\"v-lazy\"\n v-intersect={[\n onIntersect,\n props.options,\n isActive.value ? [] : ['once'],\n ]}\n style={ dimensionStyles.value }\n >\n { isActive.value && (\n <MaybeTransition transition={ props.transition }>\n { slots.default?.() }\n </MaybeTransition>\n )}\n </props.tag>\n )\n },\n})\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VListSubheader = defineComponent({\n name: 'VListSubheader',\n\n props: {\n color: String,\n inset: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => (\n <props.tag\n class={[\n 'v-list-subheader',\n {\n 'v-list-subheader--inset': props.inset,\n },\n textColorClasses.value,\n ]}\n style={{ textColorStyles }}\n >\n { slots.default && (\n <div class=\"v-list-subheader__text\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","export type OpenStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport const singleOpenStrategy: OpenStrategyFn = ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<string>()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n}\n\nexport const multipleOpenStrategy: OpenStrategyFn = ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n}\n","export type SelectStrategyFn = (data: {\n id: string\n value: boolean\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: string[] | undefined,\n children: Map<string, string[]>,\n parents: Map<string, string>\n) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<string, 'on' | 'off' | 'indeterminate'>,\n children: Map<string, string[]>,\n parents: Map<string, string>\n) => any[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = independentSelectStrategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n}\n\nexport const leafSelectStrategy = (single = false): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children }) => {\n if (children.has(id)) return selected\n\n if (single) return new Map([[id, value ? 'on' : 'off']])\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v ?? [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: independentSelectStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = classicSelectStrategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n}\n","export type ActiveStrategyFn = (data: {\n id: string\n value: boolean\n active: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport const classicActiveStrategy = (single?: boolean): ActiveStrategyFn => {\n return ({ id, value, active }) => {\n const newActive: Set<string> = single ? new Set() : active\n\n if (value) {\n newActive.add(id)\n } else {\n newActive.delete(id)\n }\n\n return newActive\n }\n}\n","import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport { classicSelectStrategy, independentSelectStrategy, leafSelectStrategy } from './selectStrategies'\nimport { classicActiveStrategy } from './activeStrategies'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategyFn } from './openStrategies'\nimport type { ActiveStrategyFn } from './activeStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategy = 'single' | 'multiple' | OpenStrategyFn\nexport type ActiveStrategy = 'single' | 'multiple' | ActiveStrategyFn\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategy | undefined\n activeStrategy: ActiveStrategy | undefined\n selected: string[] | undefined\n opened: string[] | undefined\n active: string[] | undefined\n 'onUpdate:selected': ((val: string[]) => void) | undefined\n 'onUpdate:opened': ((val: string[]) => void) | undefined\n 'onUpdate:active': ((val: string[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<string | null>\n root: {\n children: Ref<Map<string, string[]>>\n parents: Ref<Map<string, string>>\n opened: Ref<Set<string>>\n active: Ref<Set<string>>\n selected: Ref<Map<string, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<string[]>\n register: (id: string, parentId: string | null, isGroup?: boolean) => void\n unregister: (id: string) => void\n open: (id: string, value: boolean, event?: Event) => void\n select: (id: string, value: boolean, event?: Event) => void\n activate: (id: string, value: boolean, event?: Event) => void\n }\n}\n\nconst VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nconst emptyNested: NestedProvide = {\n id: ref(null),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n active: ref(new Set()),\n activate: () => null,\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as Prop<SelectStrategy>,\n openStrategy: [String, Function] as Prop<OpenStrategy>,\n activeStrategy: [String, Function] as Prop<ActiveStrategy>,\n opened: Array as Prop<string[]>,\n selected: Array as Prop<string[]>,\n active: Array as Prop<string[]>,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<string, string[]>())\n const parents = ref(new Map<string, string>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n const active = useProxiedModel(props, 'active', props.active, v => new Set(v), v => [...v.values()])\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy\n\n switch (props.activeStrategy) {\n case 'single': return classicActiveStrategy(true)\n case 'multiple':\n default:\n return classicActiveStrategy()\n }\n })\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSelectStrategy(true)\n case 'leaf': return leafSelectStrategy()\n case 'independent': return independentSelectStrategy\n case 'classic':\n default: return classicSelectStrategy\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'function') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n const nested: NestedProvide = {\n id: ref(null),\n root: {\n opened,\n selected,\n active,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n active.value.delete(id)\n selected.value.delete(id)\n },\n open: (id, value, event) => {\n const newOpened = openStrategy.value({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newSelected && (selected.value = newSelected)\n },\n activate: (id, value, event) => {\n const newActive = activeStrategy.value({\n id,\n value,\n active: new Set(active.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newActive && (active.value = newActive)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<string | undefined>) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? getUid().toString())\n\n const item = {\n ...parent,\n id: computedId,\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n select: (selected: boolean, e: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n activate: (activated: boolean, e: Event) => parent.root.activate(computedId.value, activated, e),\n isActive: computed(() => parent.root.active.value.has(computedId.value)),\n }\n\n parent.root.register(computedId.value, parent.id.value, false)\n\n onBeforeUnmount(() => {\n parent.root.unregister(computedId.value)\n })\n\n return item\n}\n\nexport const useNestedGroup = (props: { value: string }) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const id = computed(() => props.value ?? getUid().toString())\n\n const group = {\n ...parent,\n id,\n open: (open: boolean, e: Event) => parent.root.open(id.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(id.value)),\n isSelected: computed(() => parent.root.selected.value.get(id.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(id.value) === 'indeterminate'),\n }\n\n parent.root.register(id.value, parent.id.value, true)\n\n onBeforeUnmount(() => {\n parent.root.unregister(id.value)\n })\n\n provide(VNestedSymbol, group)\n\n return group\n}\n","// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { useNestedGroup } from '@/composables/nested/nested'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, genericComponent } from '@/util'\nimport { createList, useList } from './VList'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListItem } from './VList'\n\nexport type ListGroupHeaderSlot = {\n onClick: (e: Event) => void\n appendIcon: string\n class: string\n}\n\nconst VListGroupItems = defineComponent({\n name: 'VListGroupItems',\n\n props: {\n open: Boolean,\n items: Array as Prop<ListItem[]>,\n },\n\n setup (props, { slots }) {\n createList()\n\n return () => {\n return (\n <VExpandTransition>\n <div class=\"v-list-group__items\" v-show={props.open}>\n <VListChildren items={props.items} v-slots={slots} />\n </div>\n </VExpandTransition>\n )\n }\n },\n})\n\nexport const VListGroup = genericComponent<new <T extends ListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n header: [ListGroupHeaderSlot]\n item: [T]\n default: []\n }>\n}>()({\n name: 'VListGroup',\n\n props: {\n value: null,\n collapseIcon: {\n type: String,\n default: '$collapse',\n },\n expandIcon: {\n type: String,\n default: '$expand',\n },\n items: Array as Prop<ListItem[]>,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { isOpen, open } = useNestedGroup(props)\n const list = useList()\n\n const onClick = (e: Event) => {\n open(!isOpen.value, e)\n }\n\n const headerProps = computed(() => ({\n onClick,\n appendIcon: isOpen.value ? props.collapseIcon : props.expandIcon,\n class: 'v-list-group__header',\n }))\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-group',\n {\n 'v-list-group--prepend': list?.hasPrepend.value,\n },\n ]}\n >\n { slots.header?.(headerProps.value) }\n <VListGroupItems items={props.items} open={isOpen.value} v-slots={slots} />\n </props.tag>\n )\n }\n },\n})\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemAvatar = defineComponent({\n name: 'VListItemAvatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-item-avatar',\n {\n 'v-list-item-avatar--start': props.left,\n 'v-list-item-avatar--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemHeader = createSimpleFunctional('v-list-item-header')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item-subtitle')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemTitle = createSimpleFunctional('v-list-item-title')\n","// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VListItemAvatar } from './VListItemAvatar'\nimport { VListItemHeader } from './VListItemHeader'\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, onMounted } from 'vue'\nimport { genericComponent } from '@/util'\nimport { useNestedItem } from '@/composables/nested/nested'\nimport { useList } from './VList'\n\n// Types\nimport type { MakeSlots } from '@/util'\n\ntype ListItemSlot = {\n isActive: boolean\n activate: (value: boolean) => void\n isSelected: boolean\n select: (value: boolean) => void\n}\n\nexport const VListItem = genericComponent<new () => {\n $slots: MakeSlots<{\n prepend: [ListItemSlot]\n append: [ListItemSlot]\n default: [ListItemSlot]\n title: []\n subtitle: []\n }>\n}>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: {\n active: Boolean,\n activeColor: String,\n activeClass: String,\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n link: Boolean,\n prependAvatar: String,\n prependIcon: String,\n subtitle: String,\n title: String,\n value: null,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value ?? link.href.value)\n const { activate, isActive: isNestedActive, select, isSelected, root, parent } = useNestedItem(id)\n const list = useList()\n const isActive = computed(() => {\n return props.active || link.isExactActive?.value || isNestedActive.value\n })\n const activeColor = props.activeColor ?? props.color\n const variantProps = computed(() => ({\n color: isActive.value ? activeColor : props.color,\n textColor: props.textColor,\n variant: props.variant,\n }))\n\n onMounted(() => {\n if (link.isExactActive?.value && parent.value != null) {\n root.open(parent.value, true)\n }\n })\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n activate,\n select,\n isSelected: isSelected.value,\n }))\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasTitle = (slots.title || props.title)\n const hasSubtitle = (slots.subtitle || props.subtitle)\n const hasHeader = !!(hasTitle || hasSubtitle)\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const isClickable = !props.disabled && (link.isClickable.value || props.link || props.value != null)\n\n list?.updateHasPrepend(hasPrepend)\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n ]}\n href={ link.href.value }\n tabindex={ isClickable ? 0 : undefined }\n onClick={ isClickable && ((e: MouseEvent) => {\n link.navigate?.(e)\n props.value != null && activate(!isNestedActive.value, e)\n })}\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n slots.prepend\n ? slots.prepend(slotProps.value)\n : (\n <VListItemAvatar left>\n <VAvatar\n density={ props.density }\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n />\n </VListItemAvatar>\n )\n ) }\n\n { hasHeader && (\n <VListItemHeader>\n { hasTitle && (\n <VListItemTitle>\n { slots.title\n ? slots.title()\n : props.title\n }\n </VListItemTitle>\n ) }\n\n { hasSubtitle && (\n <VListItemSubtitle>\n { slots.subtitle\n ? slots.subtitle()\n : props.subtitle\n }\n </VListItemSubtitle>\n ) }\n </VListItemHeader>\n ) }\n\n { slots.default?.(slotProps.value) }\n\n { hasAppend && (\n slots.append\n ? slots.append(slotProps.value)\n : (\n <VListItemAvatar right>\n <VAvatar\n density={ props.density }\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n />\n </VListItemAvatar>\n )\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n","// Components\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListGroupHeaderSlot } from './VListGroup'\nimport type { ListItem } from './VList'\n\nexport const VListChildren = genericComponent<new <T extends ListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n default: []\n externalHeader: [ListGroupHeaderSlot]\n item: [T]\n }>\n}>()({\n name: 'VListChildren',\n\n props: {\n items: Array as Prop<ListItem[]>,\n },\n\n setup (props, { slots }) {\n return () => slots.default?.() ?? props.items?.map(({ children, ...item }) => {\n const { value, ...rest } = item\n return children ? (\n <VListGroup\n value={value}\n items={children}\n >\n {{\n ...slots,\n header: headerProps => slots.externalHeader\n ? slots.externalHeader({ ...rest, ...headerProps })\n : <VListItem {...rest} {...headerProps} />,\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item(item) : <VListItem {...item} v-slots={slots} />\n )\n })\n },\n})\n","// Styles\nimport './VList.sass'\n\n// Components\nimport { VListSubheader } from './VListSubheader'\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\n\n// Utilities\nimport { inject, provide, ref, toRef } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListGroupHeaderSlot } from './VListGroup'\n\nexport type ListItem = {\n children?: ListItem[]\n value?: string\n}\n\n// Depth\nexport const DepthKey: InjectionKey<Ref<number>> = Symbol.for('vuetify:depth')\n\n// List\nexport const ListKey: InjectionKey<{\n hasPrepend: Ref<boolean>\n updateHasPrepend: (value: boolean) => void\n}> = Symbol.for('vuetify:list')\n\nexport const createList = () => {\n const parent = inject(ListKey, { hasPrepend: ref(false), updateHasPrepend: () => null })\n\n const data = {\n hasPrepend: ref(false),\n updateHasPrepend: (value: boolean) => {\n if (value) data.hasPrepend.value = value\n },\n }\n\n provide(ListKey, data)\n\n return parent\n}\n\nexport const useList = () => {\n return inject(ListKey, null)\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n subheader: []\n header: [ListGroupHeaderSlot]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n color: String,\n disabled: Boolean,\n lines: {\n type: String,\n default: 'one',\n },\n nav: Boolean,\n subheader: {\n type: [Boolean, String],\n default: false,\n },\n items: Array as Prop<ListItem[]>,\n\n ...makeNestedProps({\n selectStrategy: 'leaf' as const,\n openStrategy: 'multiple' as const,\n activeStrategy: 'single' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:selected': (val: string[]) => true,\n 'update:opened': (val: string[]) => true,\n 'update:active': (val: string[]) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select, activate } = useNested(props)\n createList()\n\n useRender(() => {\n const hasHeader = typeof props.subheader === 'string' || slots.subheader\n\n return (\n <props.tag\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n 'v-list--subheader': props.subheader,\n 'v-list--subheader-sticky': props.subheader === 'sticky',\n [`v-list--${props.lines}-line`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n >\n { hasHeader && (\n slots.subheader\n ? slots.subheader()\n : <VListSubheader>{ props.subheader }</VListSubheader>\n ) }\n\n <VListChildren items={ props.items }>\n {{\n default: slots.default,\n item: slots.item,\n externalHeader: slots.header,\n }}\n </VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n activate,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListImg = createSimpleFunctional('v-list-img')\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemMedia = defineComponent({\n name: 'VListItemMedia',\n\n props: {\n left: Boolean,\n right: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-item-media',\n {\n 'v-list-item-media--start': props.left,\n 'v-list-item-media--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","import './VLocaleProvider.sass'\n\n// Composables\nimport { provideLocale } from '@/composables/locale'\nimport { provideRtl } from '@/composables/rtl'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VLocaleProvider = defineComponent({\n name: 'VLocaleProvider',\n\n props: {\n locale: String,\n fallbackLocale: String,\n messages: Object,\n rtl: {\n type: Boolean,\n default: undefined,\n },\n },\n\n setup (props, { slots }) {\n const localeInstance = provideLocale(props)\n const { rtlClasses } = provideRtl(props, localeInstance)\n\n return () => (\n <div\n class={[\n 'v-locale-provider',\n rtlClasses.value,\n ]}\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n","// Utilities\nimport { computed, onMounted, ref } from 'vue'\n\n// Composables\nexport function useSsrBoot () {\n const isBooted = ref(false)\n\n onMounted(() => {\n window.requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n\n const ssrBootStyles = computed(() => !isBooted.value ? ({\n transition: 'none !important',\n }) : undefined)\n\n return { ssrBootStyles }\n}\n","// Styles\nimport './VMain.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useLayout } from '@/composables/layout'\nimport { useSsrBoot } from '@/composables/ssrBoot'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VMain = defineComponent({\n name: 'VMain',\n\n props: makeTagProps({ tag: 'main' }),\n\n setup (props, { slots }) {\n const { mainStyles } = useLayout()\n const { ssrBootStyles } = useSsrBoot()\n\n return () => (\n <props.tag\n class=\"v-main\"\n style={[\n mainStyles.value,\n ssrBootStyles.value,\n ]}\n >\n <div class=\"v-main__wrap\">\n { slots.default?.() }\n </div>\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\nimport { VDialogTransition } from '@/components/transitions'\n\n// Composables\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid } from '@/util'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const VMenu = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VMenu',\n\n inheritAttrs: false,\n\n props: {\n // TODO\n // closeOnClick: {\n // type: Boolean,\n // default: true,\n // },\n // closeOnContentClick: {\n // type: Boolean,\n // default: true,\n // },\n disableKeys: Boolean,\n modelValue: Boolean,\n id: String,\n\n ...makeTransitionProps({\n transition: { component: VDialogTransition },\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-menu',\n ]}\n transition={ props.transition }\n absolute\n positionStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n scrim={ false }\n activatorProps={{\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n }}\n { ...attrs }\n v-slots={{\n default: slots.default,\n activator: slots.activator,\n }}\n />\n )\n }\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n","import { CircularBuffer } from '@/util'\n\nconst HORIZON = 100 // ms\nconst HISTORY = 20 // number of samples to keep\n\nexport interface Sample {\n t: number\n d: number\n}\n\n/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */\nfunction kineticEnergyToVelocity (work: number) {\n const sqrt2 = 1.41421356237\n return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2\n}\n\n/**\n * Returns pointer velocity in px/s\n */\nexport function calculateImpulseVelocity (samples: Sample[]) {\n // The input should be in reversed time order (most recent sample at index i=0)\n if (samples.length < 2) {\n // if 0 or 1 points, velocity is zero\n return 0\n }\n // if (samples[1].t > samples[0].t) {\n // // Algorithm will still work, but not perfectly\n // consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')\n // }\n if (samples.length === 2) {\n // if 2 points, basic linear calculation\n if (samples[1].t === samples[0].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)\n return 0\n }\n return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t)\n }\n // Guaranteed to have at least 3 points here\n // start with the oldest sample and go forward in time\n let work = 0\n for (let i = samples.length - 1; i > 0; i--) {\n if (samples[i].t === samples[i - 1].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)\n continue\n }\n const vprev = kineticEnergyToVelocity(work) // v[i-1]\n const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t) // v[i]\n work += (vcurr - vprev) * Math.abs(vcurr)\n if (i === samples.length - 1) {\n work *= 0.5\n }\n }\n return kineticEnergyToVelocity(work) * 1000\n}\n\nexport function useVelocity () {\n const touches: Record<number, CircularBuffer<[number, Touch]> | undefined> = {}\n\n function addMovement (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY))\n samples.push([e.timeStamp, touch])\n })\n }\n\n function endTouch (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n delete touches[touch.identifier]\n })\n }\n\n function getVelocity (id: number) {\n const samples = touches[id]?.values().reverse()\n\n if (!samples) {\n throw new Error(`No samples for touch id ${id}`)\n }\n\n const newest = samples[0]\n const x: Sample[] = []\n const y: Sample[] = []\n for (const val of samples) {\n if (newest[0] - val[0] > HORIZON) break\n\n x.push({ t: val[0], d: val[1].clientX })\n y.push({ t: val[0], d: val[1].clientY })\n }\n\n return {\n x: calculateImpulseVelocity(x),\n y: calculateImpulseVelocity(y),\n get direction () {\n const { x, y } = this\n const [absX, absY] = [Math.abs(x), Math.abs(y)]\n\n return absX > absY && x >= 0 ? 'right'\n : absX > absY && x <= 0 ? 'left'\n : absY > absX && y >= 0 ? 'down'\n : absY > absX && y <= 0 ? 'up'\n : oops()\n },\n }\n }\n\n return { addMovement, endTouch, getVelocity }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n","import { useVelocity } from '@/composables/touch'\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useTouch ({ isActive, isTemporary, width, touchless, position }: {\n isActive: Ref<boolean>\n isTemporary: Ref<boolean>\n width: Ref<number>\n touchless: Ref<boolean>\n position: Ref<'left' | 'right' | 'bottom'>\n}) {\n onMounted(() => {\n window.addEventListener('touchstart', onTouchstart, { passive: true })\n window.addEventListener('touchmove', onTouchmove, { passive: false })\n window.addEventListener('touchend', onTouchend, { passive: true })\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('touchstart', onTouchstart)\n window.removeEventListener('touchmove', onTouchmove)\n window.removeEventListener('touchend', onTouchend)\n })\n\n const isHorizontal = computed(() => position.value !== 'bottom')\n\n const { addMovement, endTouch, getVelocity } = useVelocity()\n let maybeDragging = false\n const isDragging = ref(false)\n const dragProgress = ref(0)\n const offset = ref(0)\n let start: [number, number] | undefined\n\n function getOffset (pos: number, active: boolean): number {\n return (\n position.value === 'left' ? pos\n : position.value === 'right' ? document.documentElement.clientWidth - pos\n : position.value === 'bottom' ? document.documentElement.clientHeight - pos\n : oops()\n ) - (active ? width.value : 0)\n }\n\n function getProgress (pos: number, limit = true): number {\n const progress = (\n position.value === 'left' ? (pos - offset.value) / width.value\n : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value\n : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value\n : oops()\n )\n return limit ? Math.max(0, Math.min(1, progress)) : progress\n }\n\n function onTouchstart (e: TouchEvent) {\n if (touchless.value) return\n\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n const touchZone = 25\n const inTouchZone: boolean =\n position.value === 'left' ? touchX < touchZone\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone\n : oops()\n\n const inElement: boolean = isActive.value && (\n position.value === 'left' ? touchX < width.value\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value\n : oops()\n )\n\n if (\n inTouchZone ||\n inElement ||\n (isActive.value && isTemporary.value)\n ) {\n maybeDragging = true\n start = [touchX, touchY]\n\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value)\n dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY)\n\n endTouch(e)\n addMovement(e)\n }\n }\n\n function onTouchmove (e: TouchEvent) {\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n if (maybeDragging) {\n if (!e.cancelable) {\n maybeDragging = false\n return\n }\n\n const dx = Math.abs(touchX - start![0])\n const dy = Math.abs(touchY - start![1])\n\n const thresholdMet = isHorizontal.value\n ? dx > dy && dx > 3\n : dy > dx && dy > 3\n\n if (thresholdMet) {\n isDragging.value = true\n maybeDragging = false\n } else if ((isHorizontal.value ? dy : dx) > 3) {\n maybeDragging = false\n }\n }\n\n if (!isDragging.value) return\n\n e.preventDefault()\n addMovement(e)\n\n const progress = getProgress(isHorizontal.value ? touchX : touchY, false)\n dragProgress.value = Math.max(0, Math.min(1, progress))\n\n if (progress > 1) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, true)\n } else if (progress < 0) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, false)\n }\n }\n\n function onTouchend (e: TouchEvent) {\n maybeDragging = false\n\n if (!isDragging.value) return\n\n addMovement(e)\n\n isDragging.value = false\n\n const velocity = getVelocity(e.changedTouches[0].identifier)\n const vx = Math.abs(velocity.x)\n const vy = Math.abs(velocity.y)\n const thresholdMet = isHorizontal.value\n ? vx > vy && vx > 400\n : vy > vx && vy > 3\n\n if (thresholdMet) {\n isActive.value = velocity.direction === ({\n left: 'right',\n right: 'left',\n bottom: 'up',\n }[position.value] || oops())\n } else {\n isActive.value = dragProgress.value > 0.5\n }\n }\n\n const dragStyles = computed(() => {\n return isDragging.value ? {\n transform:\n position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))`\n : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))`\n : oops(),\n transition: 'none',\n } : undefined\n })\n\n return {\n isDragging,\n dragProgress,\n dragStyles,\n }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { useTouch } from './touch'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useDisplay } from '@/composables/display'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, onBeforeMount, ref, toRef, Transition, watch } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VNavigationDrawer = defineComponent({\n name: 'VNavigationDrawer',\n\n props: {\n color: String,\n disableResizeWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean,\n default: null,\n },\n permanent: Boolean,\n rail: Boolean,\n railWidth: {\n type: [Number, String],\n default: 72,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n position: {\n type: String as PropType<'left' | 'right' | 'bottom'>,\n default: 'left',\n validator: (value: any) => ['left', 'right', 'bottom'].includes(value),\n },\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { mobile } = useDisplay()\n const { roundedClasses } = useRounded(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const isHovering = ref(false)\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n\n if (!props.disableResizeWatcher) {\n watch(mobile, val => !props.permanent && (isActive.value = !val))\n }\n\n watch(props, val => {\n if (val.permanent) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const rootEl = ref<HTMLElement>()\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: toRef(props, 'position'),\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n const layoutStyles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n toRef(props, 'position'),\n layoutSize,\n width,\n computed(() => isActive.value || isDragging.value),\n computed(() => isDragging.value)\n )\n\n return () => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ () => (isHovering.value = true) }\n onMouseleave={ () => (isHovering.value = false) }\n class={[\n 'v-navigation-drawer',\n {\n 'v-navigation-drawer--bottom': props.position === 'bottom',\n 'v-navigation-drawer--end': props.position === 'right',\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--start': props.position === 'left',\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--absolute': props.absolute,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutStyles.value,\n dragStyles.value,\n ]}\n { ...attrs }\n >\n { hasImage && (\n <div class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && (\n <div\n class=\"v-navigation-drawer__scrim\"\n style={isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined}\n onClick={ () => isActive.value = false }\n />\n )}\n </Transition>\n </>\n )\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n","// Utilities\nimport { getCurrentInstance, IN_BROWSER } from '@/util'\nimport { onMounted } from 'vue'\n\nexport function useHydration (callback: () => void) {\n if (!IN_BROWSER) return\n\n const vm = getCurrentInstance('useHydration')\n const rootEl = vm?.root?.appContext?.app?._container\n\n return rootEl?.__vue_app__ ? callback() : onMounted(callback)\n}\n","// Composables\nimport { useHydration } from '@/composables/hydration'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { ref } from 'vue'\n\nexport const VNoSsr = defineComponent({\n name: 'VNoSsr',\n\n setup (_, { slots }) {\n const show = ref(false)\n\n useHydration(() => (show.value = true))\n\n return () => show.value && slots.default?.()\n },\n\n})\n","// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue'\nimport type { DeepReadonly, Ref } from 'vue'\n\ninterface ResizeState {\n resizeRef: Ref<Element | undefined>\n contentRect: DeepReadonly<Ref<DOMRectReadOnly | undefined>>\n borderBoxSize: DeepReadonly<Ref<ResizeObserverSize | undefined>>\n contentBoxSize: DeepReadonly<Ref<ResizeObserverSize | undefined>>\n}\n\nexport function useResizeObserver (callback?: ResizeObserverCallback): ResizeState {\n const resizeRef = ref<Element>()\n const contentRect = ref<DOMRectReadOnly>()\n const contentBoxSize = ref<ResizeObserverSize>()\n const borderBoxSize = ref<ResizeObserverSize>()\n\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n callback?.(entries, observer)\n\n if (!entries.length) return\n\n contentRect.value = entries[0].contentRect\n contentBoxSize.value = entries[0].contentBoxSize[0]\n borderBoxSize.value = entries[0].borderBoxSize[0]\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(resizeRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n contentRect.value = undefined\n contentBoxSize.value = undefined\n borderBoxSize.value = undefined\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n\n return {\n resizeRef,\n contentRect: readonly(contentRect),\n contentBoxSize: readonly(contentBoxSize),\n borderBoxSize: readonly(borderBoxSize),\n }\n}\n","// Imports\nimport { onBeforeUpdate, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useRefs <T extends {}> () {\n const refs = ref<(T | undefined)[]>([]) as Ref<(T | undefined)[]>\n\n onBeforeUpdate(() => (refs.value = []))\n\n function updateRef (e: any, i: number) {\n refs.value[i] = e\n }\n\n return { refs, updateRef }\n}\n","import './VPagination.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeBorderProps } from '@/composables/border'\nimport { useRefs } from '@/composables/refs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, nextTick, ref } from 'vue'\nimport { createRange, defineComponent, keyValues } from '@/util'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport const VPagination = defineComponent({\n name: 'VPagination',\n\n props: {\n start: {\n type: [Number, String],\n default: 1,\n },\n modelValue: {\n type: Number,\n default: (props: any) => props.start,\n },\n disabled: Boolean,\n length: {\n type: [Number, String],\n default: 1,\n validator: (val: number) => val % 1 === 0,\n },\n totalVisible: [Number, String],\n firstIcon: {\n type: String,\n default: '$first',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n ariaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.root',\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n firstAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.first',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n lastAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.last',\n },\n ellipsis: {\n type: String,\n default: '...',\n },\n showFirstLastPage: Boolean,\n\n ...makeTagProps({ tag: 'nav' }),\n ...makeElevationProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeBorderProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n first: (value: number) => true,\n prev: (value: number) => true,\n next: (value: number) => true,\n last: (value: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const page = useProxiedModel(props, 'modelValue')\n const { t, n } = useLocale()\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const maxButtons = ref(-1)\n\n provideDefaults(undefined, { scoped: true })\n\n const { resizeRef } = useResizeObserver((entries: ResizeObserverEntry[]) => {\n if (!entries.length) return\n\n const { target, contentRect } = entries[0]\n\n const firstItem = target.querySelector('.v-pagination__list > *')\n\n if (!firstItem) return\n\n const totalWidth = contentRect.width\n const itemWidth = firstItem.getBoundingClientRect().width + 10\n\n maxButtons.value = Math.max(0, Math.floor((totalWidth - 96) / itemWidth))\n })\n\n const length = computed(() => parseInt(props.length, 10))\n const start = computed(() => parseInt(props.start, 10))\n\n const totalVisible = computed(() => {\n if (props.totalVisible) return Math.min(parseInt(props.totalVisible ?? '', 10), length.value)\n else if (maxButtons.value >= 0) return maxButtons.value\n return length.value\n })\n\n const range = computed(() => {\n if (length.value <= 0) return []\n\n if (totalVisible.value <= 3) {\n return [Math.min(Math.max(start.value, page.value), start.value + length.value)]\n }\n\n if (props.length <= totalVisible.value) {\n return createRange(length.value, start.value)\n }\n\n const middle = Math.ceil(totalVisible.value / 2)\n const left = middle\n const right = length.value - middle\n\n if (page.value < left) {\n return [...createRange(Math.max(1, totalVisible.value - 2), start.value), props.ellipsis, length.value]\n } else if (page.value > right) {\n const rangeLength = totalVisible.value - 2\n const rangeStart = length.value - rangeLength + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart)]\n } else {\n const rangeLength = Math.max(1, totalVisible.value - 4)\n const rangeStart = rangeLength === 1 ? page.value : page.value - Math.ceil(rangeLength / 2) + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart), props.ellipsis, length.value]\n }\n })\n\n // TODO: 'first' | 'prev' | 'next' | 'last' does not work here?\n function setValue (e: Event, value: number, event?: any) {\n e.preventDefault()\n page.value = value\n event && emit(event, value)\n }\n\n const { refs, updateRef } = useRefs<ComponentPublicInstance>()\n\n const items = computed(() => {\n const sharedProps = {\n density: props.density,\n rounded: props.rounded,\n size: props.size,\n }\n\n return range.value.map((item, index) => {\n const ref = (e: any) => updateRef(e, index)\n\n if (typeof item === 'string') {\n return {\n isActive: false,\n page: item,\n props: {\n ...sharedProps,\n ref,\n ellipsis: true,\n icon: true,\n disabled: true,\n variant: props.variant,\n border: props.border,\n },\n }\n } else {\n const isActive = item === page.value\n return {\n isActive,\n page: n(item),\n props: {\n ...sharedProps,\n ref,\n ellipsis: false,\n icon: true,\n disabled: !!props.disabled || props.length < 2,\n elevation: props.elevation,\n variant: props.variant,\n border: props.border,\n color: isActive ? props.color : undefined,\n ariaCurrent: isActive,\n ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, index + 1),\n onClick: (e: Event) => setValue(e, item),\n },\n }\n }\n })\n })\n\n const controls = computed(() => {\n const sharedProps = {\n color: undefined,\n density: props.density,\n rounded: props.rounded,\n size: props.size,\n variant: props.variant,\n border: props.border,\n }\n\n const prevDisabled = !!props.disabled || page.value <= start.value\n const nextDisabled = !!props.disabled || page.value >= start.value + length.value - 1\n\n return {\n first: props.showFirstLastPage ? {\n ...sharedProps,\n icon: isRtl.value ? props.lastIcon : props.firstIcon,\n onClick: (e: Event) => setValue(e, start.value, 'first'),\n disabled: prevDisabled,\n ariaLabel: t(props.firstAriaLabel),\n ariaDisabled: prevDisabled,\n } : undefined,\n prev: {\n ...sharedProps,\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n onClick: (e: Event) => setValue(e, page.value - 1, 'prev'),\n disabled: prevDisabled,\n ariaLabel: t(props.previousAriaLabel),\n ariaDisabled: prevDisabled,\n },\n next: {\n ...sharedProps,\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n onClick: (e: Event) => setValue(e, page.value + 1, 'next'),\n disabled: nextDisabled,\n ariaLabel: t(props.nextAriaLabel),\n ariaDisabled: nextDisabled,\n },\n last: props.showFirstLastPage ? {\n ...sharedProps,\n icon: isRtl.value ? props.firstIcon : props.lastIcon,\n onClick: (e: Event) => setValue(e, start.value + length.value - 1, 'last'),\n disabled: nextDisabled,\n ariaLabel: t(props.lastAriaLabel),\n ariaDisabled: nextDisabled,\n } : undefined,\n }\n })\n\n function updateFocus () {\n const currentIndex = page.value - start.value\n refs.value[currentIndex]?.$el.focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === keyValues.left && !props.disabled && page.value > props.start) {\n page.value = page.value - 1\n nextTick(updateFocus)\n } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {\n page.value = page.value + 1\n nextTick(updateFocus)\n }\n }\n\n return () => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-pagination',\n themeClasses.value,\n ]}\n role=\"navigation\"\n aria-label={ t(props.ariaLabel) }\n onKeydown={ onKeydown }\n data-test=\"v-pagination-root\"\n >\n <ul class=\"v-pagination__list\">\n { props.showFirstLastPage && (\n <li class=\"v-pagination__first\" data-test=\"v-pagination-first\">\n { slots.first ? slots.first(controls.value.first) : (\n <VBtn {...controls.value.first} />\n ) }\n </li>\n ) }\n\n <li class=\"v-pagination__prev\" data-test=\"v-pagination-prev\">\n { slots.prev ? slots.prev(controls.value.prev) : (\n <VBtn {...controls.value.prev} />\n ) }\n </li>\n\n { items.value.map((item, index) => (\n <li\n key={ `${index}_${item.page}` }\n class={[\n 'v-pagination__item',\n {\n 'v-pagination__item--is-active': item.isActive,\n },\n ]}\n data-test=\"v-pagination-item\"\n >\n { slots.item ? slots.item(item) : (\n <VBtn {...item.props}>{ item.page }</VBtn>\n ) }\n </li>\n )) }\n\n <li class=\"v-pagination__next\" data-test=\"v-pagination-next\">\n { slots.next ? slots.next(controls.value.next) : (\n <VBtn {...controls.value.next} />\n ) }\n </li>\n\n { props.showFirstLastPage && (\n <li class=\"v-pagination__last\" data-test=\"v-pagination-last\">\n { slots.last ? slots.last(controls.value.last) : (\n <VBtn {...controls.value.last} />\n ) }\n </li>\n ) }\n </ul>\n </props.tag>\n )\n },\n})\n\nexport type VPagination = InstanceType<typeof VPagination>\n","// Styles\nimport './VParallax.sass'\n\n// Components\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\n\n// Utilities\nimport { onBeforeUnmount, ref, watch, watchEffect } from 'vue'\nimport { defineComponent, getScrollParent } from '@/util'\n\nfunction floor (val: number) {\n return Math.floor(Math.abs(val)) * Math.sign(val)\n}\n\nexport const VParallax = defineComponent({\n name: 'VParallax',\n\n props: {\n scale: {\n type: [Number, String],\n default: 1.3,\n },\n },\n\n setup (props, { attrs, slots }) {\n const root = ref<VImg>()\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n watchEffect(() => {\n intersectionRef.value = root.value?.$el\n })\n\n let scrollParent: Element\n watch(isIntersecting, val => {\n if (val) {\n scrollParent = getScrollParent(intersectionRef.value)\n scrollParent = scrollParent === document.scrollingElement ? document as any : scrollParent\n scrollParent.addEventListener('scroll', onScroll, { passive: true })\n onScroll()\n } else {\n scrollParent.removeEventListener('scroll', onScroll)\n }\n })\n\n onBeforeUnmount(() => {\n scrollParent?.removeEventListener('scroll', onScroll)\n })\n\n let frame = -1\n function onScroll () {\n if (!isIntersecting.value) return\n\n cancelAnimationFrame(frame)\n frame = requestAnimationFrame(() => {\n const el: HTMLElement | null = (root.value?.$el as Element).querySelector('.v-img__img')\n if (!el) return\n\n const rect = intersectionRef.value!.getBoundingClientRect()\n const scrollHeight = scrollParent.clientHeight ?? window.innerHeight\n const scrollPos = scrollParent.scrollTop ?? window.scrollY\n const top = rect.top + scrollPos\n const progress = (scrollPos + scrollHeight - top) / (rect.height + scrollHeight)\n const translate = floor((rect.height * +props.scale - rect.height) * (-progress + 0.5))\n\n el.style.setProperty('transform', `translateY(${translate}px) scale(${props.scale})`)\n })\n }\n\n return () => (\n <VImg\n class={[\n 'v-parallax',\n { 'v-parallax--active': isIntersecting.value },\n ]}\n ref={ root }\n cover\n onLoadstart={ onScroll }\n onLoad={ onScroll }\n v-slots={ slots }\n />\n )\n },\n})\n\nexport type VParallax = InstanceType<typeof VParallax>\n","// Styles\nimport './VProgressCircular.sass'\n\n// Composables\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VProgressCircular = defineComponent({\n name: 'VProgressCircular',\n\n props: {\n bgColor: String,\n color: String,\n indeterminate: [Boolean, String] as PropType<boolean | 'disable-shrink'>,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n rotate: {\n type: [Number, String],\n default: 0,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'div' }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const MAGIC_RADIUS_CONSTANT = 20\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT\n\n const { themeClasses } = provideTheme(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const { textColorClasses: underlayColorClasses, textColorStyles: underlayColorStyles } = useTextColor(toRef(props, 'bgColor'))\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const normalizedValue = computed(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))))\n const width = computed(() => Number(props.width))\n const size = computed(() => {\n // Get size from element if size prop value is small, large etc\n return sizeStyles.value ? Number(props.size) : intersectionRef.value\n ? intersectionRef.value.getBoundingClientRect().width : Math.max(width.value, 32)\n })\n const diameter = computed(() => (MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value)) * 2)\n const strokeWidth = computed(() => width.value / size.value * diameter.value)\n const strokeDashOffset = computed(() => convertToUnit(((100 - normalizedValue.value) / 100) * CIRCUMFERENCE))\n\n return () => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-circular',\n {\n 'v-progress-circular--indeterminate': !!props.indeterminate,\n 'v-progress-circular--visible': isIntersecting.value,\n 'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink',\n },\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n ]}\n style={[\n sizeStyles.value,\n textColorStyles.value,\n ]}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n >\n <svg\n style={{\n transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`,\n }}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={ `0 0 ${diameter.value} ${diameter.value}` }\n >\n <circle\n class={[\n 'v-progress-circular__underlay',\n underlayColorClasses.value,\n ]}\n style={ underlayColorStyles.value }\n fill=\"transparent\"\n cx=\"50%\"\n cy=\"50%\"\n r={ MAGIC_RADIUS_CONSTANT }\n stroke-width={ strokeWidth.value }\n stroke-dasharray={ CIRCUMFERENCE }\n stroke-dashoffset={ 0 }\n />\n\n <circle\n class=\"v-progress-circular__overlay\"\n fill=\"transparent\"\n cx=\"50%\"\n cy=\"50%\"\n r={ MAGIC_RADIUS_CONSTANT }\n stroke-width={ strokeWidth.value }\n stroke-dasharray={ CIRCUMFERENCE }\n stroke-dashoffset={ strokeDashOffset.value }\n />\n </svg>\n { slots.default && (\n <div class=\"v-progress-circular__content\">\n { slots.default({ value: normalizedValue.value }) }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Components\nimport { VSelectionControl } from '@/components/VSelectionControl'\n\n// Utility\nimport { defineComponent } from 'vue'\nimport { useRender } from '@/util'\n\nexport const VRadio = defineComponent({\n name: 'VRadio',\n\n props: {\n falseIcon: {\n type: String,\n default: '$radioOff',\n },\n trueIcon: {\n type: String,\n default: '$radioOn',\n },\n },\n\n setup (props, { slots }) {\n useRender(() => (\n <VSelectionControl\n class=\"v-radio\"\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type=\"radio\"\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VRadio = InstanceType<typeof VRadio>\n","// Styles\nimport './VRadioGroup.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroup } from '@/components/VSelectionControlGroup'\nimport { filterControlProps, makeSelectionControlProps } from '@/components/VSelectionControl/VSelectionControl'\n\n// Utility\nimport { computed, defineComponent } from 'vue'\nimport { filterInputAttrs, getUid, useRender } from '@/util'\n\nexport const VRadioGroup = defineComponent({\n name: 'VRadioGroup',\n\n inheritAttrs: false,\n\n props: {\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n\n trueIcon: {\n type: String,\n default: '$radioOn',\n },\n falseIcon: {\n type: String,\n default: '$radioOff',\n },\n type: {\n type: String,\n default: 'radio',\n },\n },\n\n setup (props, { attrs, slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `radio-group-${uid}`)\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <VInput\n class=\"v-radio-group\"\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <>\n { label && (\n <VLabel\n disabled={ isDisabled.value }\n error={ isValid.value === false }\n for={ id.value }\n >\n { label }\n </VLabel>\n ) }\n\n <VSelectionControlGroup\n { ...controlProps }\n id={ id.value }\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type={ props.type }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n v-slots={ slots }\n />\n </>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n","/* eslint-disable max-statements */\n// Composables\nimport { useRtl } from '@/composables/rtl'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeElevationProps } from '@/composables/elevation'\n\n// Utilities\nimport { computed, provide, ref, toRef } from 'vue'\nimport { clamp, createRange, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { VSliderTrack } from './VSliderTrack'\n\ntype Tick = {\n value: number\n position: number\n label?: string\n}\n\ntype SliderProvide = {\n color: Ref<string | undefined>\n decimals: Ref<number>\n direction: Ref<'vertical' | 'horizontal'>\n disabled: Ref<boolean | undefined>\n elevation: Ref<number | string | undefined>\n label: Ref<string | undefined>\n min: Ref<number>\n max: Ref<number>\n mousePressed: Ref<boolean>\n numTicks: Ref<number>\n onSliderMousedown: (e: MouseEvent) => void\n onSliderTouchstart: (e: TouchEvent) => void\n parseMouseMove: (e: MouseEvent | TouchEvent) => number\n position: (val: number) => number\n readonly: Ref<boolean | undefined>\n rounded: Ref<boolean | number | string | undefined>\n roundValue: (value: number) => number\n thumbLabel: Ref<boolean | string | undefined>\n showTicks: Ref<boolean | 'always'>\n startOffset: Ref<number>\n step: Ref<number>\n thumbSize: Ref<number>\n thumbColor: Ref<string | undefined>\n trackColor: Ref<string | undefined>\n trackFillColor: Ref<string | undefined>\n trackSize: Ref<number>\n ticks: Ref<number[] | Record<string, string> | undefined>\n tickSize: Ref<number>\n trackContainerRef: Ref<VSliderTrack | undefined>\n vertical: Ref<boolean>\n showTickLabels: Ref<boolean | undefined>\n parsedTicks: Ref<Tick[]>\n hasLabels: Ref<boolean>\n isReversed: Ref<boolean>\n horizontalDirection: Ref<'ltr' | 'rtl'>\n}\n\nexport const VSliderSymbol: InjectionKey<SliderProvide> = Symbol.for('vuetify:v-slider')\n\nexport function getOffset (e: MouseEvent | TouchEvent, el: HTMLElement, direction: string) {\n const vertical = direction === 'vertical'\n const rect = el.getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n return vertical\n ? touch.clientY - (rect.top + rect.height / 2)\n : touch.clientX - (rect.left + rect.width / 2)\n}\n\nfunction getPosition (e: MouseEvent | TouchEvent, position: 'clientX' | 'clientY'): number {\n if ('touches' in e && e.touches.length) return e.touches[0][position]\n else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position]\n else return (e as MouseEvent)[position]\n}\n\nexport const makeSliderProps = propsFactory({\n disabled: Boolean,\n readonly: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 0,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 20,\n },\n showTicks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: true,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n showTickLabels: {\n type: Boolean,\n default: false,\n },\n ticks: {\n type: [Array, Object] as PropType<number[] | Record<string, string>>,\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n reverse: Boolean,\n label: String,\n\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2,\n }),\n}, 'slider')\n\ntype SliderProps = ExtractPropTypes<ReturnType<typeof makeSliderProps>>\n\nexport const useSlider = ({\n props,\n handleSliderMouseUp,\n handleMouseMove,\n getActiveThumb,\n}: {\n props: SliderProps\n handleSliderMouseUp: (v: number) => void\n handleMouseMove: (v: number) => void\n getActiveThumb: (e: MouseEvent | TouchEvent) => HTMLElement\n}) => {\n const { isRtl } = useRtl()\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const horizontalDirection = computed(() => {\n let hd: 'ltr' | 'rtl' = isRtl.value ? 'rtl' : 'ltr'\n\n if (props.reverse) {\n hd = hd === 'rtl' ? 'ltr' : 'rtl'\n }\n\n return hd\n })\n const min = computed(() => parseFloat(props.min))\n const max = computed(() => parseFloat(props.max))\n const step = computed(() => props.step > 0 ? parseFloat(props.step) : 0)\n const decimals = computed(() => {\n const trimmedStep = step.value.toString().trim()\n return trimmedStep.includes('.')\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n })\n\n const thumbSize = computed(() => parseInt(props.thumbSize, 10))\n const tickSize = computed(() => parseInt(props.tickSize, 10))\n const trackSize = computed(() => parseInt(props.trackSize, 10))\n const numTicks = computed(() => (max.value - min.value) / step.value)\n const disabled = toRef(props, 'disabled')\n const vertical = computed(() => props.direction === 'vertical')\n\n const thumbColor = computed(() => props.disabled ? undefined : props.thumbColor ?? props.color)\n const trackColor = computed(() => props.disabled ? undefined : props.trackColor ?? props.color)\n const trackFillColor = computed(() => props.disabled ? undefined : props.trackFillColor ?? props.color)\n\n const mousePressed = ref(false)\n\n const startOffset = ref(0)\n const trackContainerRef = ref<VSliderTrack | undefined>()\n\n function roundValue (value: number) {\n if (step.value <= 0) return value\n\n const clamped = clamp(value, min.value, max.value)\n const offset = min.value % step.value\n const newValue = Math.round((clamped - offset) / step.value) * step.value + offset\n\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value))\n }\n\n function parseMouseMove (e: MouseEvent | TouchEvent): number {\n const vertical = props.direction === 'vertical'\n const start = vertical ? 'top' : 'left'\n const length = vertical ? 'height' : 'width'\n const position = vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = trackContainerRef.value?.$el.getBoundingClientRect()\n const clickOffset = getPosition(e, position)\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0\n\n if (vertical || isReversed.value) clickPos = 1 - clickPos\n\n return roundValue(min.value + clickPos * (max.value - min.value))\n }\n\n let thumbMoved = false\n\n const handleStop = (e: MouseEvent | TouchEvent) => {\n if (!thumbMoved) {\n startOffset.value = 0\n handleSliderMouseUp(parseMouseMove(e))\n }\n\n mousePressed.value = false\n thumbMoved = false\n startOffset.value = 0\n }\n\n const handleStart = (e: MouseEvent | TouchEvent) => {\n const activeThumb = getActiveThumb(e)\n\n if (!activeThumb) return\n\n activeThumb.focus()\n mousePressed.value = true\n\n if (activeThumb.contains(e.target as Node)) {\n thumbMoved = true\n startOffset.value = getOffset(e, activeThumb, props.direction)\n } else {\n startOffset.value = 0\n handleMouseMove(parseMouseMove(e))\n }\n }\n\n const moveListenerOptions = { passive: true, capture: true }\n\n function onMouseMove (e: MouseEvent | TouchEvent) {\n thumbMoved = true\n handleMouseMove(parseMouseMove(e))\n }\n\n function onSliderMouseUp (e: MouseEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.removeEventListener('mouseup', onSliderMouseUp)\n }\n\n function onSliderTouchend (e: TouchEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.removeEventListener('touchend', onSliderTouchend)\n }\n\n function onSliderTouchstart (e: TouchEvent) {\n handleStart(e)\n\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.addEventListener('touchend', onSliderTouchend, { passive: false })\n }\n\n function onSliderMousedown (e: MouseEvent) {\n e.preventDefault()\n\n handleStart(e)\n\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.addEventListener('mouseup', onSliderMouseUp, { passive: false })\n }\n\n const position = (val: number) => {\n const percentage = (val - min.value) / (max.value - min.value) * 100\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100)\n }\n\n const parsedTicks = computed<Tick[]>(() => {\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + (t * step.value)\n return {\n value,\n position: position(value),\n }\n }) : []\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({ value: t, position: position(t), label: t.toString() }))\n return Object.keys(props.ticks).map(key => ({\n value: parseInt(key, 10),\n position: position(parseInt(key, 10)),\n label: (props.ticks as Record<string, string>)[key],\n }))\n })\n\n const hasLabels = computed(() => parsedTicks.value.some(({ label }) => !!label))\n\n const data: SliderProvide = {\n color: toRef(props, 'color'),\n decimals,\n disabled,\n direction: toRef(props, 'direction'),\n elevation: toRef(props, 'elevation'),\n hasLabels,\n horizontalDirection,\n isReversed,\n label: toRef(props, 'label'),\n min,\n max,\n mousePressed,\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: toRef(props, 'readonly'),\n rounded: toRef(props, 'rounded'),\n roundValue,\n showTickLabels: toRef(props, 'showTickLabels'),\n showTicks: toRef(props, 'showTicks'),\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabel: toRef(props, 'thumbLabel'),\n ticks: toRef(props, 'ticks'),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical,\n }\n\n provide(VSliderSymbol, data)\n\n return data\n}\n","// Styles\nimport './VSliderThumb.sass'\n\n// Components\nimport { VScaleTransition } from '../transitions'\nimport { VSliderSymbol } from './slider'\nimport { useElevation } from '@/composables/elevation'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent, keyValues } from '@/util'\n\nexport const VSliderThumb = defineComponent({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: {\n focused: Boolean,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n position: {\n type: Number,\n required: true,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider')\n\n const {\n thumbColor,\n step,\n vertical,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n label,\n readonly,\n elevation,\n isReversed,\n horizontalDirection,\n mousePressed,\n } = slider\n\n const { textColorClasses, textColorStyles } = useTextColor(thumbColor)\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyValues\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up]\n\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3]\n else return [1, 5, 10]\n })\n\n function parseKeydown (e: KeyboardEvent, value: number) {\n if (!relevantKeys.includes(e.key)) return\n\n e.preventDefault()\n\n const _step = step.value || 0.1\n const steps = (props.max - props.min) / _step\n if ([left, right, down, up].includes(e.key)) {\n const increase = isReversed.value ? [left, up] : [right, up]\n const direction = increase.includes(e.key) ? 1 : -1\n const multiplier = e.shiftKey ? 2 : (e.ctrlKey ? 1 : 0)\n\n value = value + (direction * _step * multipliers.value[multiplier])\n } else if (e.key === home) {\n value = props.min\n } else if (e.key === end) {\n value = props.max\n } else {\n const direction = e.key === pagedown ? 1 : -1\n value = value - (direction * _step * (steps > 100 ? steps / 10 : 10))\n }\n\n return Math.max(props.min, Math.min(props.max, value))\n }\n\n function onKeydown (e: KeyboardEvent) {\n const newValue = parseKeydown(e, props.modelValue)\n\n newValue != null && emit('update:modelValue', newValue)\n }\n\n return () => {\n const positionPercentage = convertToUnit(vertical.value ? 100 - props.position : props.position, '%')\n const inset = vertical.value ? 'block' : 'inline'\n const { elevationClasses } = useElevation(computed(() => !disabled.value ? elevation.value : undefined))\n\n return (\n <div\n class={[\n 'v-slider-thumb',\n {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value,\n },\n ]}\n style={{\n [`inset-${inset}-start`]: `calc(${positionPercentage} - var(--v-slider-thumb-size) / 2)`,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n role=\"slider\"\n tabindex={ disabled.value ? -1 : 0 }\n aria-label={ label.value }\n aria-valuemin={ props.min }\n aria-valuemax={ props.max }\n aria-valuenow={ props.modelValue }\n aria-readonly={ readonly.value }\n aria-orientation={ direction.value }\n onKeydown={ onKeydown }\n >\n <div\n class={[\n 'v-slider-thumb__surface',\n textColorClasses.value,\n elevationClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-thumb__ripple',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n v-ripple={[true, null, ['circle', 'center']]}\n />\n <VScaleTransition origin=\"bottom center\">\n <div\n class=\"v-slider-thumb__label-container\"\n v-show={ (thumbLabel.value && props.focused) || thumbLabel.value === 'always' }\n >\n <div\n class={[\n 'v-slider-thumb__label',\n ]}\n >\n <div>\n { slots['thumb-label']?.({ modelValue: props.modelValue }) ?? props.modelValue.toFixed(1) }\n </div>\n </div>\n </div>\n </VScaleTransition>\n </div>\n )\n }\n },\n})\n\nexport type VSliderThumb = InstanceType<typeof VSliderThumb>\n","// Styles\nimport './VSliderTrack.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\nexport const VSliderTrack = defineComponent({\n name: 'VSliderTrack',\n\n props: {\n start: {\n type: Number,\n required: true,\n },\n stop: {\n type: Number,\n required: true,\n },\n },\n\n emits: {},\n\n setup (props, { slots }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider')\n\n const {\n trackColor,\n trackFillColor,\n vertical,\n tickSize,\n showTicks,\n trackSize,\n color,\n rounded,\n parsedTicks,\n horizontalDirection,\n } = slider\n\n const { roundedClasses } = useRounded(rounded)\n\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles,\n } = useBackgroundColor(trackFillColor)\n\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles,\n } = useBackgroundColor(trackColor)\n\n const startDir = computed(() => `inset-${vertical.value ? 'block-end' : 'inline-start'}`)\n const endDir = computed(() => vertical.value ? 'height' : 'width')\n\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%',\n }\n })\n\n const trackFillWidth = computed(() => props.stop - props.start)\n\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%'),\n }\n })\n\n const computedTicks = computed(() => {\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value\n\n return ticks.map((tick, index) => {\n const directionProperty = vertical.value ? 'inset-block-end' : 'margin-inline-start'\n return (\n <div\n key={ tick.value }\n class={[\n 'v-slider-track__tick',\n {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n },\n ]}\n style={{\n [directionProperty]: (tick.position > 0 && tick.position < 100) && convertToUnit(tick.position, '%'),\n }}\n >\n {\n (tick.label || slots['tick-label']) && (\n <div class=\"v-slider-track__tick-label\">\n { slots['tick-label']?.({ tick, index }) ?? tick.label }\n </div>\n )\n }\n </div>\n )\n })\n })\n\n return () => {\n return (\n <div\n class={[\n 'v-slider-track',\n roundedClasses.value,\n ]}\n style={{\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n >\n <div\n class={[\n 'v-slider-track__background',\n trackColorClasses.value,\n {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value,\n },\n ]}\n style={{\n ...backgroundStyles.value,\n ...trackColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-track__fill',\n trackFillColorClasses.value,\n ]}\n style={{\n ...trackFillStyles.value,\n ...trackFillColorStyles.value,\n }}\n />\n\n { showTicks.value && (\n <div\n class={[\n 'v-slider-track__ticks',\n {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always',\n },\n ]}\n >\n { computedTicks.value }\n </div>\n ) }\n </div>\n )\n }\n },\n})\n\nexport type VSliderTrack = InstanceType<typeof VSliderTrack>\n","// Components\nimport { VInput } from '../VInput'\nimport { VSliderThumb } from '../VSlider/VSliderThumb'\nimport { VSliderTrack } from '../VSlider/VSliderTrack'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { getOffset, makeSliderProps, useSlider } from '../VSlider/slider'\nimport { useFocus } from '@/composables/focus'\n\n// Utilities\nimport { computed, defineComponent, ref } from 'vue'\n\n// Types\nimport type { PropType, WritableComputedRef } from 'vue'\nimport { filterInputProps, makeVInputProps } from '../VInput/VInput'\n\nexport const VRangeSlider = defineComponent({\n name: 'VRangeSlider',\n\n props: {\n ...makeVInputProps(),\n ...makeSliderProps(),\n\n modelValue: {\n type: Array as PropType<number[]>,\n default: () => ([0, 0]),\n },\n },\n\n emits: {\n 'update:modelValue': (value: [number, number]) => true,\n },\n\n setup (props, { slots, attrs }) {\n const startThumbRef = ref<VSliderThumb>()\n const stopThumbRef = ref<VSliderThumb>()\n const focusedThumb = ref<VSliderThumb | null>()\n const inputRef = ref<VInput>()\n\n let canSwitch = false\n function getActiveThumb (e: MouseEvent | TouchEvent) {\n if (!startThumbRef.value || !stopThumbRef.value) return\n\n canSwitch = true\n\n const startOffset = getOffset(e, startThumbRef.value.$el, props.direction)\n const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction)\n\n const a = Math.abs(startOffset)\n const b = Math.abs(stopOffset)\n\n return (a < b || (a === b && startOffset < 0)) ? startThumbRef.value?.$el : stopThumbRef.value?.$el\n }\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n } = useSlider({\n /* eslint-disable @typescript-eslint/no-use-before-define */\n props,\n handleSliderMouseUp: newValue => {\n model.value = focusedThumb.value === startThumbRef.value ? [newValue, model.value[1]] : [model.value[0], newValue]\n },\n handleMouseMove: newValue => {\n if (focusedThumb.value === startThumbRef.value) {\n model.value = [Math.min(newValue, model.value[1]), model.value[1]]\n } else {\n model.value = [model.value[0], Math.max(model.value[0], newValue)]\n }\n if (canSwitch && model.value[0] === model.value[1]) {\n focusedThumb.value = newValue > model.value[0] ? stopThumbRef.value : startThumbRef.value\n }\n canSwitch = false\n },\n getActiveThumb,\n /* eslint-enable @typescript-eslint/no-use-before-define */\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n arr => {\n if (!arr || !arr.length) return [0, 0]\n\n return arr.map(value => roundValue(value))\n },\n ) as WritableComputedRef<[number, number]>\n\n const { isFocused, focus, blur } = useFocus()\n const trackStart = computed(() => position(model.value[0]))\n const trackStop = computed(() => position(model.value[1]))\n\n return () => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n 'v-range-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n ref={ inputRef }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ `${id.value}_start` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[0] }\n />\n\n <input\n id={ `${id.value}_stop` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[1] }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ trackStart.value }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ startThumbRef }\n focused={ isFocused && focusedThumb.value === startThumbRef.value }\n modelValue={ model.value[0] }\n onUpdate:modelValue={ v => (model.value = [v, model.value[1]]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n focusedThumb.value = startThumbRef.value\n\n // Make sure second thumb is focused if\n // the thumbs are on top of each other\n // and they are both at minimum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[1] === min.value &&\n e.relatedTarget !== stopThumbRef.value?.$el\n ) stopThumbRef.value?.$el.focus()\n } }\n onBlur={ () => {\n blur()\n focusedThumb.value = null\n } }\n min={ min.value }\n max={ model.value[1] }\n position={ trackStart.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n\n <VSliderThumb\n ref={ stopThumbRef }\n focused={ isFocused && focusedThumb.value === stopThumbRef.value }\n modelValue={ model.value[1] }\n onUpdate:modelValue={ v => (model.value = [model.value[0], v]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n focusedThumb.value = stopThumbRef.value\n\n // Make sure first thumb is focused if\n // the thumbs are on top of each other\n // and they are both at maximum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[0] === max.value &&\n e.relatedTarget !== startThumbRef.value?.$el\n ) {\n startThumbRef.value?.$el.focus()\n }\n } }\n onBlur={ () => {\n blur()\n focusedThumb.value = null\n } }\n min={ model.value[0] }\n max={ max.value }\n position={ trackStop.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n }\n },\n})\n\nexport type VRangeSlider = InstanceType<typeof VRangeSlider>\n","// Styles\nimport './VRating.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { createRange, defineComponent, getUid } from '@/util'\n\n// Types\nimport type { Variant } from '@/composables/variant'\nimport type { Prop } from 'vue'\n\nexport const VRating = defineComponent({\n name: 'VRating',\n\n props: {\n name: String,\n itemAriaLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.item',\n },\n activeColor: String,\n color: String,\n clearable: Boolean,\n disabled: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n modelValue: {\n type: Number,\n default: 0,\n },\n itemLabels: Array as Prop<string[]>,\n itemLabelPosition: {\n type: String,\n default: 'top',\n validator: (v: any) => ['top', 'bottom'].includes(v),\n },\n ripple: Boolean,\n\n ...makeDensityProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { themeClasses } = provideTheme(props)\n const rating = useProxiedModel(props, 'modelValue')\n\n const range = computed(() => createRange(Number(props.length), 1))\n const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]))\n const hoverIndex = ref(-1)\n const focusIndex = ref(-1)\n const firstRef = ref<HTMLElement>()\n let isClicking = false\n\n const itemState = computed(() => increments.value.map(value => {\n const isHovering = props.hover && hoverIndex.value > -1\n const isFilled = rating.value >= value\n const isHovered = hoverIndex.value >= value\n const isFullIcon = isHovering ? isHovered : isFilled\n const icon = isFullIcon ? props.fullIcon : props.emptyIcon\n const activeColor = props.activeColor ?? props.color\n const color = (isFilled || isHovered) ? activeColor : props.color\n\n return { isFilled, isHovered, icon, color }\n }))\n\n const eventState = computed(() => [0, ...increments.value].map(value => {\n function onMouseenter () {\n hoverIndex.value = value\n }\n\n function onMouseleave () {\n hoverIndex.value = -1\n }\n\n function onFocus () {\n if (value === 0 && rating.value === 0) {\n firstRef.value?.focus()\n } else {\n focusIndex.value = value\n }\n }\n\n function onBlur () {\n if (!isClicking) focusIndex.value = -1\n }\n\n function onClick () {\n if (props.disabled || props.readonly) return\n rating.value = rating.value === value && props.clearable ? 0 : value\n }\n\n return {\n onMouseenter: props.hover ? onMouseenter : undefined,\n onMouseleave: props.hover ? onMouseleave : undefined,\n onFocus,\n onBlur,\n onClick,\n }\n }))\n\n function onMousedown () {\n isClicking = true\n }\n\n function onMouseup () {\n isClicking = false\n }\n\n const name = computed(() => props.name ?? `v-rating-${getUid()}`)\n\n function VRatingItem ({ value, index, showStar = true }: { value: number, index: number, showStar?: boolean }) {\n const { onMouseenter, onMouseleave, onFocus, onBlur, onClick } = eventState.value[index + 1]\n const id = `${name.value}-${String(value).replace('.', '-')}`\n const btnProps = {\n color: itemState.value[index]?.color,\n density: props.density,\n disabled: props.disabled,\n icon: itemState.value[index]?.icon,\n ripple: props.ripple,\n size: props.size,\n tag: 'span',\n variant: 'plain' as Variant,\n }\n\n return (\n <>\n <label\n for={ id }\n class={{\n 'v-rating__item--half': props.halfIncrements && value % 1 > 0,\n 'v-rating__item--full': props.halfIncrements && value % 1 === 0,\n }}\n onMousedown={ onMousedown }\n onMouseup={ onMouseup }\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n >\n <span class=\"v-rating__hidden\">{ t(props.itemAriaLabel, value, props.length) }</span>\n {\n !showStar ? undefined\n : slots.item ? slots.item({\n ...itemState.value,\n props: btnProps,\n value,\n index,\n })\n : (\n <VBtn { ...btnProps } />\n )\n }\n </label>\n <input\n class=\"v-rating__hidden\"\n name={ name.value }\n id={ id }\n type=\"radio\"\n value={ value }\n checked={ rating.value === value }\n onClick={ onClick }\n onFocus={ onFocus }\n onBlur={ onBlur }\n ref={ index === 0 ? firstRef : undefined }\n readonly={ props.readonly }\n disabled={ props.disabled }\n />\n </>\n )\n }\n\n return () => {\n const hasLabels = !!props.itemLabels?.length\n\n return (\n <props.tag\n class={[\n 'v-rating',\n {\n 'v-rating--hover': props.hover,\n 'v-rating--readonly': props.readonly,\n },\n themeClasses.value,\n ]}\n >\n <VRatingItem value={ 0 } index={ -1 } showStar={ false } />\n\n { range.value.map((value, i) => (\n <div class=\"v-rating__wrapper\">\n {\n !hasLabels ? undefined\n : slots['item-label'] ? slots['item-label']({ value, index: i, label: props.itemLabels?.[i] })\n : props.itemLabels?.[i] ? <span>{ props.itemLabels[i] }</span>\n : <span> </span>\n }\n <div\n class={[\n 'v-rating__item',\n {\n 'v-rating__item--focused': Math.ceil(focusIndex.value) === value,\n },\n ]}\n >\n { props.halfIncrements ? (\n <>\n <VRatingItem value={ value - 0.5 } index={ i * 2 } />\n <VRatingItem value={ value } index={ (i * 2) + 1 } />\n </>\n ) : (\n <VRatingItem value={ value } index={ i } />\n ) }\n </div>\n </div>\n )) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VRating = InstanceType<typeof VRating>\n","// Styles\nimport './VSheet.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VSheet = defineComponent({\n name: 'VSheet',\n\n props: {\n color: {\n type: String,\n default: 'surface',\n },\n\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n 'v-sheet',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VInput } from '../VInput'\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useFocus } from '@/composables/focus'\nimport { makeSliderProps, useSlider } from './slider'\n\n// Helpers\nimport { defineComponent } from '@/util'\n\n// Types\nimport { computed, ref } from 'vue'\nimport { filterInputProps, makeVInputProps } from '../VInput/VInput'\n\nexport const VSlider = defineComponent({\n name: 'VSlider',\n\n props: {\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { attrs, slots }) {\n const thumbContainerRef = ref()\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n } = useSlider({\n props,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleSliderMouseUp: newValue => model.value = roundValue(newValue),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleMouseMove: newValue => model.value = roundValue(newValue),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? min.value : v\n\n return roundValue(value)\n },\n )\n\n const { isFocused, focus, blur } = useFocus()\n const trackStop = computed(() => position(model.value))\n\n return () => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n }\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n","// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent, ref } from 'vue'\nimport { filterInputAttrs, useRender } from '@/util'\n\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n\n ...makeLoaderProps(),\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const { loaderClasses } = useLoader(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const control = ref<VSelectionControl>()\n\n function onClick () {\n control.value?.input?.click()\n }\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n >\n {{\n default: () => (<div class=\"v-switch__track\" onClick={ onClick }></div>),\n input: ({ textColorClasses }) => (\n <div\n class={[\n 'v-switch__thumb',\n textColorClasses.value,\n ]}\n >\n { props.loading && (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n ) }\n </div>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n","// Styles\nimport './VSystemBar.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VSystemBar = defineComponent({\n name: 'VSystemBar',\n\n props: {\n lightsOut: Boolean,\n window: Boolean,\n\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n {\n 'v-system-bar': true,\n 'v-system-bar--lights-out': props.lightsOut,\n 'v-system-bar--window': props.window,\n },\n themeClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VTable.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { convertToUnit, defineComponent } from '@/util'\nimport { makeDensityProps, useDensity } from '@/composables/density'\n\nexport const VTable = defineComponent({\n name: 'VTable',\n\n props: {\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n height: [Number, String],\n\n ...makeDensityProps(),\n ...makeThemeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n return () => (\n <props.tag\n class={[\n 'v-table',\n {\n 'v-table--fixed-height': !!props.height,\n 'v-table--fixed-header': props.fixedHeader,\n 'v-table--fixed-footer': props.fixedFooter,\n 'v-table--has-top': !!slots.top,\n 'v-table--has-bottom': !!slots.bottom,\n },\n themeClasses.value,\n densityClasses.value,\n ]}\n >\n { slots.top?.() }\n\n { slots.default && (\n <div\n class=\"v-table__wrapper\"\n style={{ height: convertToUnit(props.height) }}\n >\n <table>\n { slots.default?.() }\n </table>\n </div>\n ) }\n\n { slots.bottom?.() }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VTextarea.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, filterInputAttrs, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\n\nexport const VTextarea = defineComponent({\n name: 'VTextarea',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autoGrow: Boolean,\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n noResize: Boolean,\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n maxRows: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n suffix: String,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const controlHeight = ref('auto')\n const internalDirty = ref(false)\n const isDirty = computed(() => {\n return internalDirty.value || !!model.value\n })\n\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n function focus () {\n inputRef.value?.focus()\n }\n function blur () {\n inputRef.value?.blur()\n }\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n }\n function onBlur (e: FocusEvent) {\n isFocused.value = false\n }\n function clear (e?: Event) {\n e?.stopPropagation()\n\n model.value = ''\n }\n\n const sizerRef = ref<HTMLTextAreaElement>()\n function calculateInputHeight () {\n if (!props.autoGrow) return\n\n nextTick(() => {\n if (!sizerRef.value) return\n\n const style = getComputedStyle(sizerRef.value)\n\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) +\n parseFloat(style.getPropertyValue('--v-field-padding-bottom'))\n\n const height = sizerRef.value.scrollHeight\n const lineHeight = parseFloat(style.lineHeight)\n const minHeight = parseFloat(props.rows) * lineHeight + padding\n const maxHeight = parseFloat(props.maxRows!) * lineHeight + padding || Infinity\n\n controlHeight.value = convertToUnit(Math.min(maxHeight, Math.max(minHeight, height ?? 0)))\n })\n }\n\n onMounted(calculateInputHeight)\n watch(model, calculateInputHeight)\n watch(() => props.rows, calculateInputHeight)\n watch(() => props.maxRows, calculateInputHeight)\n\n let observer: ResizeObserver | undefined\n watch(sizerRef, val => {\n if (val) {\n observer = new ResizeObserver(calculateInputHeight)\n observer.observe(sizerRef.value!)\n } else {\n observer?.disconnect()\n }\n })\n onBeforeUnmount(() => {\n observer?.disconnect()\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [inputProps] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n v-model={ model.value }\n class={[\n 'v-textarea',\n {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n },\n ]}\n { ...rootAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({ isDisabled, isReadonly }) => (\n <VField\n style={{\n '--v-input-control-height': controlHeight.value,\n }}\n active={ isDirty.value }\n onUpdate:active={ val => internalDirty.value = val }\n onClick:control={ focus }\n onClick:clear={ clear }\n role=\"textbox\"\n { ...fieldProps }\n >\n {{\n ...slots,\n default: ({\n isActive,\n props: { class: fieldClass, ...slotProps },\n }) => {\n const showPlaceholder = isActive || props.persistentPlaceholder\n return (\n <>\n { props.prefix && (\n <span class=\"v-textarea__prefix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.prefix }\n </span>\n ) }\n\n <textarea\n ref={ inputRef }\n class={ fieldClass }\n style={{ opacity: showPlaceholder ? undefined : '0' }} // can't this just be a class?\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n rows={ props.rows }\n onFocus={ onFocus }\n onBlur={ onBlur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.autoGrow && (\n <textarea\n class={[\n fieldClass,\n 'v-textarea__sizer',\n ]}\n v-model={ model.value }\n ref={ sizerRef }\n readonly\n aria-hidden=\"true\"\n />\n )}\n\n { props.suffix && (\n <span class=\"v-textarea__suffix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.suffix }\n </span>\n ) }\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasCounter ? ({ isFocused }) => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return {\n focus,\n blur,\n }\n },\n})\n\nexport type VTextarea = InstanceType<typeof VTextarea>\n","import type { Ref, UnwrapRef } from 'vue'\nimport type { UnionToIntersection } from '@/util'\n\nexport function useForwardRef<T extends {}, U extends Ref<{} | undefined>[]> (\n target: T,\n ...refs: U\n): T & UnwrapRef<UnionToIntersection<U[number]>> {\n return new Proxy(target, {\n get (target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n return Reflect.get(ref.value, key)\n }\n }\n },\n getOwnPropertyDescriptor (target, key) {\n return Reflect.getOwnPropertyDescriptor(target, key) ?? (\n refs.find(ref => ref.value && Reflect.getOwnPropertyDescriptor(ref.value, key))\n )\n },\n }) as any\n}\n","// Styles\nimport './VTextField.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterFieldProps, makeVFieldProps, VField } from '@/components/VField/VField'\nimport { VCounter } from '@/components/VCounter'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { useForwardRef } from '@/composables/forwardRef'\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const VTextField = defineComponent({\n name: 'VTextField',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const internalDirty = ref(false)\n const isDirty = computed(() => {\n return internalDirty.value || !!model.value || dirtyTypes.includes(props.type)\n })\n\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n function focus () {\n inputRef.value?.focus()\n }\n function blur () {\n inputRef.value?.blur()\n }\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n }\n function onBlur (e: FocusEvent) {\n isFocused.value = false\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [inputProps] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n },\n ]}\n focused={ isFocused.value }\n { ...rootAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({ isDisabled, isReadonly }) => (\n <VField\n ref={ vFieldRef }\n active={ isDirty.value }\n onUpdate:active={ val => internalDirty.value = val }\n onClick:control={ focus }\n onClick:clear={ e => {\n e.stopPropagation()\n\n model.value = ''\n }}\n role=\"textbox\"\n { ...fieldProps }\n >\n {{\n ...slots,\n default: ({\n isActive,\n props: { class: fieldClass, ...slotProps },\n }) => {\n const showPlaceholder = isActive || props.persistentPlaceholder\n\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.prefix }\n </span>\n ) }\n\n <input\n ref={ inputRef }\n class={ fieldClass }\n style={{ opacity: showPlaceholder ? undefined : '0' }} // can't this just be a class?\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ onBlur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.suffix }\n </span>\n ) }\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasCounter ? ({ isFocused }) => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({\n focus,\n blur,\n }, vInputRef, vFieldRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n","// Styles\nimport './VThemeProvider.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VThemeProvider = defineComponent({\n name: 'VThemeProvider',\n\n props: {\n withBackground: Boolean,\n\n ...makeThemeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n\n return () => {\n if (!props.withBackground) return slots.default?.()\n\n return (\n <props.tag class={['v-theme-provider', themeClasses.value]}>\n { slots.default?.() }\n </props.tag>\n )\n }\n },\n})\n","import type { InjectionKey, Ref } from 'vue'\nimport type { Density } from '@/composables/density'\n\nexport interface TimelineInstance {\n density: Ref<Density>\n lineColor: Ref<string>\n}\n\nexport const VTimelineSymbol: InjectionKey<TimelineInstance> = Symbol.for('vuetify:timeline')\n","// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VTimelineSymbol } from './shared'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { defineComponent, inject, toRef } from 'vue'\n\nexport const VTimelineDivider = defineComponent({\n name: 'VTimelineDivider',\n\n props: {\n hideDot: Boolean,\n lineColor: String,\n icon: String,\n iconColor: String,\n fillDot: Boolean,\n dotColor: String,\n\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeElevationProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { sizeClasses, sizeStyles } = useSize(props, 'v-timeline-divider__dot')\n const { backgroundColorStyles, backgroundColorClasses } = useBackgroundColor(toRef(props, 'dotColor'))\n const { backgroundColorStyles: lineColorStyles, backgroundColorClasses: lineColorClasses } = useBackgroundColor(timeline.lineColor)\n const { roundedClasses } = useRounded(props, 'v-timeline-divider__dot')\n const { elevationClasses } = useElevation(props)\n\n return () => (\n <div\n class={[\n 'v-timeline-divider',\n {\n 'v-timeline-divider--fill-dot': props.fillDot,\n },\n ]}\n >\n { !props.hideDot && (\n <div\n class={[\n 'v-timeline-divider__dot',\n roundedClasses.value,\n sizeClasses.value,\n elevationClasses.value,\n ]}\n // @ts-expect-error: null\n style={ sizeStyles.value }\n >\n <div\n class={[\n 'v-timeline-divider__inner-dot',\n roundedClasses.value,\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n {\n slots.default ? slots.default({ icon: props.icon, iconColor: props.iconColor, size: props.size })\n : props.icon ? <VIcon icon={ props.icon } color={ props.iconColor } size={ props.size } />\n : undefined\n }\n </div>\n </div>\n ) }\n <div\n class={[\n 'v-timeline-divider__line',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n </div>\n )\n },\n})\n\nexport type VTimelineDivider = InstanceType<typeof VTimelineDivider>\n","// Components\nimport { VTimelineSymbol } from './shared'\nimport { VTimelineDivider } from './VTimelineDivider'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\n\n// Utilities\nimport { inject, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\nexport const VTimelineItem = defineComponent({\n name: 'VTimelineItem',\n\n props: {\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n hideOpposite: {\n type: Boolean,\n default: undefined,\n },\n icon: String,\n iconColor: String,\n\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { dimensionStyles } = useDimension(props)\n\n const dotSize = ref(0)\n const dotRef = ref<VTimelineDivider>()\n watch(dotRef, newValue => {\n if (!newValue) return\n dotSize.value = newValue.$el.querySelector('.v-timeline-divider__dot')?.getBoundingClientRect().width ?? 0\n }, {\n flush: 'post',\n })\n\n return () => (\n <div\n class={[\n 'v-timeline-item',\n {\n 'v-timeline-item--fill-dot': props.fillDot,\n },\n ]}\n style={{\n '--v-timeline-dot-size': convertToUnit(dotSize.value),\n }}\n >\n <div\n class=\"v-timeline-item__body\"\n style={ dimensionStyles.value }\n >\n { slots.default?.() }\n </div>\n\n <VTimelineDivider\n ref={ dotRef }\n hideDot={ props.hideDot }\n icon={ props.icon }\n iconColor={ props.iconColor }\n size={ props.size }\n elevation={ props.elevation }\n dotColor={ props.dotColor }\n fillDot={ props.fillDot }\n rounded={ props.rounded }\n v-slots={{ default: slots.icon }}\n />\n\n { timeline.density.value !== 'compact' && (\n <div class=\"v-timeline-item__opposite\">\n { !props.hideOpposite && slots.opposite?.() }\n </div>\n ) }\n </div>\n )\n },\n})\n","// Styles\nimport './VTimeline.sass'\n\n// Components\nimport { VTimelineItem } from './VTimelineItem'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Helpers\nimport { computed, provide, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { VTimelineSymbol } from './shared'\n\n// Types\nimport type { Prop } from 'vue'\n\nexport type TimelineDirection = 'vertical' | 'horizontal'\nexport type TimelineSide = 'before' | 'after' | undefined\n\nexport const VTimeline = defineComponent({\n name: 'VTimeline',\n\n props: {\n direction: {\n type: String,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n } as Prop<TimelineDirection>,\n side: {\n type: String,\n validator: (v: any) => v == null || ['start', 'end'].includes(v),\n } as Prop<TimelineSide>,\n lineInset: {\n type: [String, Number],\n default: 0,\n },\n lineThickness: {\n type: [String, Number],\n default: 2,\n },\n lineColor: String,\n truncateLine: {\n type: String,\n default: 'start',\n validator: (v: any) => ['none', 'start', 'end', 'both'].includes(v),\n },\n\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n provide(VTimelineSymbol, {\n density: toRef(props, 'density'),\n lineColor: toRef(props, 'lineColor'),\n })\n\n const sideClass = computed(() => {\n const side = props.side ? props.side : props.density !== 'default' ? 'end' : null\n\n return side && `v-timeline--side-${side}`\n })\n\n return () => (\n <props.tag\n class={[\n 'v-timeline',\n `v-timeline--${props.direction}`,\n {\n 'v-timeline--inset-line': !!props.lineInset,\n 'v-timeline--truncate-line-end': props.truncateLine === 'end' || props.truncateLine === 'both',\n },\n themeClasses.value,\n densityClasses.value,\n sideClass.value,\n ]}\n style={{\n '--v-timeline-line-thickness': convertToUnit(props.lineThickness),\n '--v-timeline-line-inset': convertToUnit(props.lineInset || undefined),\n }}\n >\n { (props.truncateLine === 'none' || props.truncateLine === 'end') && (\n <VTimelineItem hideDot />\n ) }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VTooltip.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\nimport type { StrategyProps } from '@/components/VOverlay/positionStrategies'\n\nexport const VTooltip = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VTooltip',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n modelValue: Boolean,\n text: String,\n\n anchor: {\n type: String as PropType<StrategyProps['anchor']>,\n default: 'end',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n\n ...makeTransitionProps({\n transition: false,\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const uid = getUid()\n const id = computed(() => props.id || `v-tooltip-${uid}`)\n\n const anchor = computed(() => {\n return props.anchor.split(' ').length > 1\n ? props.anchor\n : props.anchor + ' center' as StrategyProps['anchor']\n })\n\n const origin = computed(() => {\n return (\n props.origin === 'auto' ||\n props.origin === 'overlap' ||\n props.origin.split(' ').length > 1 ||\n props.anchor.split(' ').length > 1\n ) ? props.origin\n : props.origin + ' center' as StrategyProps['origin']\n })\n\n const transition = computed(() => {\n if (props.transition) return props.transition\n return isActive.value ? 'scale-transition' : 'fade-transition'\n })\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-tooltip',\n ]}\n id={ id.value }\n transition={ transition.value }\n absolute\n positionStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n anchor={ anchor.value }\n origin={ origin.value }\n min-width={ 0 }\n offset={ 10 }\n scrim={ false }\n persistent\n open-on-click={ false }\n open-on-hover\n role=\"tooltip\"\n eager\n activatorProps={{\n 'aria-describedby': id.value,\n }}\n { ...attrs }\n >\n {{\n activator: slots.activator,\n default: (...args) => slots.default?.(...args) ?? props.text,\n }}\n </VOverlay>\n )\n }\n },\n})\n\nexport type VTooltip = InstanceType<typeof VTooltip>\n","// Composables\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VValidation = defineComponent({\n name: 'VValidation',\n\n props: {\n ...makeValidationProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const validation = useValidation(props, 'validation')\n\n return () => slots.default?.(validation)\n },\n})\n","// Types\nimport type { DirectiveBinding, ObjectDirective } from 'vue'\nimport type { MutationOptions } from '@/composables/mutationObserver'\n\nexport interface MutationDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value: MutationCallback | { handler: MutationCallback, options?: MutationObserverInit }\n modifiers: MutationOptions\n}\n\nfunction mounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { once, immediate, ...modifierKeys } = modifiers\n const defaultValue = !Object.keys(modifierKeys).length\n\n const { handler, options } = typeof value === 'object'\n ? value\n : {\n handler: value,\n options: {\n attributes: modifierKeys?.attr ?? defaultValue,\n characterData: modifierKeys?.char ?? defaultValue,\n childList: modifierKeys?.child ?? defaultValue,\n subtree: modifierKeys?.sub ?? defaultValue,\n },\n }\n\n const observer = new MutationObserver((\n mutations: MutationRecord[] = [],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (once) unmounted(el, binding)\n })\n\n if (immediate) handler?.([], observer)\n\n el._mutate = Object(el._mutate)\n el._mutate![binding.instance!.$.uid] = { observer }\n\n observer.observe(el, options)\n}\n\nfunction unmounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n if (!el._mutate?.[binding.instance!.$.uid]) return\n\n el._mutate[binding.instance!.$.uid]!.observer.disconnect()\n delete el._mutate[binding.instance!.$.uid]\n}\n\nexport const Mutate: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Mutate\n","import type { DirectiveBinding } from 'vue'\n\ninterface ResizeDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: () => void\n modifiers?: {\n active?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n const handler = binding.value\n const options: AddEventListenerOptions = {\n passive: !binding.modifiers?.active,\n }\n\n window.addEventListener('resize', handler, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![binding.instance!.$.uid] = {\n handler,\n options,\n }\n\n if (!binding.modifiers?.quiet) {\n handler()\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n if (!el._onResize?.[binding.instance!.$.uid]) return\n\n const { handler, options } = el._onResize[binding.instance!.$.uid]!\n\n window.removeEventListener('resize', handler, options)\n\n delete el._onResize[binding.instance!.$.uid]\n}\n\nexport const Resize = {\n mounted,\n unmounted,\n}\n\nexport default Resize\n","import type { DirectiveBinding } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: AddEventListenerOptions\n } | EventListenerObject & { options?: AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n const { self = false } = binding.modifiers ?? {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![binding.instance!.$.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (!el._onScroll?.[binding.instance!.$.uid]) return\n\n const { handler, options, target = el } = el._onScroll[binding.instance!.$.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[binding.instance!.$.uid]\n}\n\nfunction updated (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (binding.value === binding.oldValue) return\n\n unmounted(el, binding)\n mounted(el, binding)\n}\n\nexport const Scroll = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Scroll\n","// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\n// Utilities\nimport { keys } from '@/util'\n\nexport interface TouchHandlers {\n start?: (wrapperEvent: TouchEvent & TouchWrapper) => void\n end?: (wrapperEvent: TouchEvent & TouchWrapper) => void\n move?: (wrapperEvent: TouchEvent & TouchWrapper) => void\n left?: (wrapper: TouchWrapper) => void\n right?: (wrapper: TouchWrapper) => void\n up?: (wrapper: TouchWrapper) => void\n down?: (wrapper: TouchWrapper) => void\n}\n\nexport interface TouchWrapper extends TouchHandlers {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n touchendX: number\n touchendY: number\n offsetX: number\n offsetY: number\n}\n\nexport interface TouchValue extends TouchHandlers {\n parent?: boolean\n options?: AddEventListenerOptions\n}\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchDirectiveBinding extends Omit<DirectiveBinding, 'value'> {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start?.({ ...event, ...wrapper })\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end?.({ ...event, ...wrapper })\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move?.({ ...event, ...wrapper })\n}\n\nfunction createHandlers (value: TouchHandlers = {}): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const value = binding.value\n const target = value?.parent ? el.parentElement : el\n const options = value?.options ?? { passive: true }\n const uid = binding.instance?.$.uid // TODO: use custom uid generator\n\n if (!target || !uid) return\n\n const handlers = createHandlers(binding.value)\n\n target._touchHandlers = target._touchHandlers ?? Object.create(null)\n target._touchHandlers![uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName], options)\n })\n}\n\nfunction unmounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const target = binding.value?.parent ? el.parentElement : el\n const uid = binding.instance?.$.uid\n\n if (!target?._touchHandlers || !uid) return\n\n const handlers = target._touchHandlers[uid]\n\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n\n delete target._touchHandlers[uid]\n}\n\nexport const Touch: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Touch\n","// Utilities\nimport { h } from 'vue'\n\n// Components\nimport { VClassIcon } from '@/composables/icons'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'mdi-chevron-up',\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle', // delete (e.g. v-chip close)\n clear: 'mdi-close-circle',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-alert-circle',\n error: 'mdi-close-circle',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle', // for carousel\n sort: 'mdi-arrow-up',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half-full',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus',\n}\n\nconst mdi: IconSet = {\n // Not using mergeProps here, functional components merge props by default (?)\n component: (props: any) => h(VClassIcon, { ...props, class: 'mdi' }),\n}\n\nexport { aliases, mdi }\n","import { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\nimport { defaultSets, IconSymbol } from '@/composables/icons'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createLocaleAdapter, LocaleAdapterSymbol } from '@/composables/locale'\nimport { createRtl, RtlSymbol } from '@/composables/rtl'\nimport { aliases, mdi } from '@/iconsets/mdi'\n\n// Utilities\nimport { reactive } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { ThemeOptions } from '@/composables/theme'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleAdapter, LocaleOptions } from '@/composables/locale'\nimport type { RtlOptions } from '@/composables/rtl'\nimport type { DefaultsOptions } from '@/composables/defaults'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions)\n}\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n const install = (app: App) => {\n const {\n components = {},\n directives = {},\n icons = {},\n } = options\n\n for (const key in directives) {\n const directive = directives[key]\n\n app.directive(key, directive)\n }\n\n for (const key in components) {\n const component = components[key]\n\n app.component(key, component)\n }\n\n app.provide(DefaultsSymbol, createDefaults(options.defaults))\n app.provide(DisplaySymbol, createDisplay(options.display))\n app.provide(ThemeSymbol, createTheme(app, options.theme))\n app.provide(IconSymbol, mergeDeep({\n defaultSet: 'mdi',\n sets: {\n ...defaultSets,\n mdi,\n },\n aliases,\n }, icons))\n const { adapter, rootInstance } = createLocaleAdapter(app, options?.locale)\n app.provide(LocaleAdapterSymbol, adapter)\n app.provide(RtlSymbol, createRtl(rootInstance, options?.locale))\n\n // Vue's inject() can only be used in setup\n function inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n }\n\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleAdapterSymbol),\n rtl: inject.call(this, RtlSymbol),\n })\n },\n },\n })\n }\n\n return { install }\n}\n","import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"names":["Box","constructor","x","y","width","height","top","bottom","left","right","nullifyTransforms","el","rect","getBoundingClientRect","style","getComputedStyle","tx","transform","ta","sx","sy","dx","dy","startsWith","slice","split","to","transformOrigin","parseFloat","indexOf","w","offsetWidth","h","offsetHeight","createMessage","message","vm","parent","_isVue","$parent","$options","$_alreadyWarned","includes","push","generateComponentTrace","consoleWarn","newMessage","console","warn","consoleError","error","classifyRE","classify","str","replace","c","toUpperCase","formatComponentName","includeFile","$root","options","cid","name","_componentTag","file","__file","match","tree","currentRecursiveSequence","length","last","map","i","repeat","Array","isArray","join","getNestedValue","obj","path","fallback","undefined","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","createRange","start","from","v","k","convertToUnit","unit","isNaN","String","isFinite","Number","isObject","keyCodes","freeze","enter","tab","delete","esc","space","up","down","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","pick","paths","found","create","rest","key","some","RegExp","test","filterInputAttrs","attrs","wrapInArray","clamp","value","min","max","Math","humanReadableFileSize","bytes","base","prefix","abs","toFixed","mergeDeep","source","target","out","sourceProperty","targetProperty","getUid","_uid","flattenFragments","nodes","node","type","Fragment","children","flat","toKebabCase","toLowerCase","wrapInRef","isRef","ref","findChildren","vnode","child","filter","component","subTree","CircularBuffer","size","val","values","concat","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","fromXYZ","xyz","rgb","matrix","round","toXYZ","r","g","delta","cielabForwardTransform","t","cbrt","cielabReverseTransform","transformedY","lab","Ln","isCssColor","color","colorToInt","substring","char","parseInt","TypeError","intToHex","hexColor","toString","colorToRGB","int","lighten","amount","CIELAB","sRGB","darken","getLuma","DefaultsSymbol","Symbol","for","createDefaults","useDefaults","defaults","inject","Error","provideDefaults","injectedDefaults","providedDefaults","newDefaults","computed","scoped","unref","reset","root","properties","prev","len","Infinity","provide","propIsDefined","prop","hasOwnProperty","defineComponent","_setup","setup","ctx","getCurrentInstance","_props","shallowReactive","toRaw","watchEffect","globalDefaults","global","componentDefaults","newVal","genericComponent","exposeDefaults","_defineComponent","createSimpleFunctional","klass","tag","capitalize","camelize","default","slots","class","attachedRoot","getRootNode","parentNode","document","composed","standardEasing","deceleratedEasing","acceleratedEasing","_getCurrentInstance","getCurrentInstanceName","getScrollParent","hasScrollbar","parentElement","scrollingElement","getScrollParents","elements","nodeType","Node","ELEMENT_NODE","window","overflowY","scrollHeight","clientHeight","IS_NODE","process","IN_BROWSER","env","DEBUG","NODE_ENV","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","navigator","maxTouchPoints","SUPPORTS_FOCUS_VISIBLE","CSS","supports","isFixedPosition","position","offsetParent","propsFactory","reduce","isObjectDefinition","definition","useRender","render","mainTRC","Rco","Gco","Bco","normBG","normTXT","revTXT","revBG","blkThrs","blkClmp","deltaYmin","scaleBoW","scaleWoB","loConThresh","loConFactor","loConOffset","loClip","APCAcontrast","text","background","Rtxt","Gtxt","Btxt","Rbg","Gbg","Bbg","Ytxt","Ybg","outputContrast","SAPC","ThemeSymbol","makeThemeProps","theme","defaultThemeOptions","defaultTheme","variations","colors","themes","light","dark","surface","primary","secondary","info","success","warning","variables","parseThemeOptions","isDisabled","entries","createTheme","app","head","_context","provides","usehead","parsedOptions","styleEl","current","computedThemes","original","genColorVariations","onColor","colorVal","blackContrast","whiteContrast","variation","fn","styles","lines","themeName","createCssClass","genCssVariables","Set","flatMap","lightOverlay","darkOverlay","selector","content","line","addHeadObjs","id","updateDOM","watch","updateStyles","deep","immediate","genStyleElement","innerHTML","createElement","appendChild","setTheme","getTheme","themeClasses","provideTheme","newTheme","useTheme","VuetifyLayoutKey","makeLayoutProps","overlaps","fullHeight","Boolean","makeLayoutItemProps","priority","absolute","useLayout","layout","useLayoutItem","layoutSize","elementSize","active","disableTransitions","register","onBeforeUnmount","unregister","generateLayers","registered","positions","layoutSizes","activeItems","previousLayer","layers","layer","ids","l","get","createLayout","Map","priorities","transitions","computedOverlaps","overlap","item","topPosition","bottomPosition","topAmount","bottomAmount","set","sortedEntries","sort","transitionsEnabled","mainStyles","paddingLeft","paddingRight","paddingTop","paddingBottom","transition","items","index","getLayoutItem","find","findIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","marginLeft","marginRight","marginTop","marginBottom","zIndex","layoutClasses","badge","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","noDataText","carousel","next","delimiter","calendar","moreEvents","fileInput","counter","counterSize","timePicker","am","pm","pagination","previous","page","currentPage","first","rating","rtl","af","ar","bg","ca","ckb","cs","de","en","es","et","fa","fi","fr","hr","hu","he","it","ja","ko","lv","lt","nl","no","pl","pt","ro","ru","sk","sl","srCyrl","srLatn","sv","th","tr","az","uk","vi","zhHans","zhHant","RtlSymbol","createRtl","localeScope","createRtlScope","isRtl","defaultRtl","rtlClasses","currentScope","provideRtl","newScope","useRtl","VApp","makeDimensionProps","maxHeight","maxWidth","minHeight","minWidth","useDimension","dimensionStyles","useAspectStyles","aspectStyles","ratio","aspectRatio","VResponsive","contentClass","additional","mounted","binding","modifiers","handler","observer","IntersectionObserver","_observe","instance","$","uid","isIntersecting","entry","quiet","init","once","unmounted","observe","unobserve","Intersect","makeTransitionProps","validator","MaybeTransition","Transition","customProps","mergeProps","VImg","directives","intersect","alt","cover","eager","gradient","lazySrc","rootMargin","threshold","sizes","src","srcset","emits","emit","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","onBeforeMount","nextTick","complete","onError","pollForSize","onLoad","getSrc","lazyImg","Image","img","timeout","poll","imgHeight","imgWidth","setTimeout","endsWith","containClasses","__image","sources","withDirectives","vShow","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","makeBorderProps","border","useBorder","borderClasses","classes","allowedDensities","makeDensityProps","density","useDensity","densityClasses","makeElevationProps","elevation","useElevation","elevationClasses","makeRoundedProps","rounded","useRounded","roundedClasses","makeTagProps","useColor","backgroundIsCssColor","textIsCssColor","colorClasses","colorStyles","backgroundColor","caretColor","useTextColor","textColorClasses","textColorStyles","useBackgroundColor","backgroundColorClasses","backgroundColorStyles","useProxiedModel","defaultValue","transformIn","transformOut","internal","newValue","VAppBar","collapse","extensionHeight","floating","modelValue","prominent","prominentHeight","toRef","isExtended","extension","contentHeight","isActive","layoutStyles","hasImage","prepend","append","allowedVariants","genOverlays","isClickable","makeVariantProps","textColor","variant","useVariant","variantClasses","VBtnGroup","divided","VBtn","makeGroupProps","multiple","mandatory","selectedClass","disabled","makeGroupItemProps","useGroupItem","injectKey","required","group","description","isSelected","toggle","select","useGroup","isUnmounted","reactive","selected","getIds","arr","getValues","groupVm","unwrapped","instances","cmp","splice","forceMandatoryValue","onMounted","internalValue","step","offset","currentId","currentIndex","newIndex","newItem","VBtnToggleSymbol","VBtnToggle","predefinedSizes","makeSizeProps","useSize","sizeClasses","sizeStyles","IconSymbol","makeIconProps","icon","VComponentIcon","VSvgIcon","inheritAttrs","VLigatureIcon","VClassIcon","defaultSets","svg","useIcon","icons","iconData","iconAlias","aliases","iconSetName","sets","setName","iconName","iconSet","defaultSet","VIcon","slotIcon","slot","fontSize","positionValues","makePositionProps","fixed","usePosition","targets","positionClasses","positionStyles","useRouter","proxy","$router","useLink","RouterLink","resolveDynamicComponent","isLink","href","onClick","onClickOnce","link","route","makeRouterProps","useBackButton","cb","router","popped","removeGuard","addEventListener","onPopstate","beforeEach","removeEventListener","e","replaced","rippleStop","DELAY_RIPPLE","webkitTransform","opacity","isTouchEvent","isKeyboardEvent","calculate","localX","localY","touches","clientX","clientY","radius","scale","_ripple","circle","clientWidth","center","sqrt","centerX","centerY","ripples","show","enabled","container","animation","className","dataset","previousPosition","classList","add","activated","performance","now","remove","hide","getElementsByClassName","isHiding","diff","delay","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleHide","clearTimeout","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","passive","removeListeners","updated","oldValue","Ripple","prependIcon","appendIcon","block","stacked","ripple","isElevated","Tag","isExactActive","navigate","VAppBarNavIcon","VAppBarTitle","VAvatar","allowedTypes","VAlert","borderColor","closable","closeIcon","closeLabel","sticky","tip","borderProps","variantProps","onCloseClick","hasBorder","hasClose","hasPrepend","hasText","VBadge","bordered","dot","inline","label","location","vertical","horizontal","offsetX","offsetY","calculatePosition","locationStyles","badgeAttrs","VBannerActions","VBannerAvatar","VBannerContent","VBannerText","DisplaySymbol","defaultDisplayOptions","mobileBreakpoint","thresholds","xs","sm","md","lg","xl","xxl","parseDisplayOptions","getClientWidth","documentElement","innerWidth","getClientHeight","innerHeight","getPlatform","userAgent","regexp","android","ios","cordova","electron","chrome","edge","firefox","opera","win","mac","linux","ssr","touch","createDisplay","platform","onResize","breakpointValue","mobile","smAndUp","mdAndUp","lgAndUp","xlAndUp","smAndDown","mdAndDown","lgAndDown","xlAndDown","toRefs","useDisplay","display","VBanner","avatar","hasAvatar","hasContent","actions","VBottomNavigation","bgColor","grow","mode","VBreadcrumbsSymbol","VBreadcrumbsItem","activeClass","activeColor","breadcrumbs","VBreadcrumbsDivider","VBreadcrumbs","divider","array","VCardActions","VCardAvatar","VCardHeader","VCardHeaderText","VCardImg","VCardSubtitle","VCardText","VCardTitle","VCard","appendAvatar","hover","prependAvatar","subtitle","title","hasTitle","hasSubtitle","hasHeaderText","hasAppend","hasHeader","media","createCssTransition","origin","hideOnLeave","leaveAbsolute","TransitionGroup","onBeforeEnter","onLeave","offsetTop","offsetLeft","_transitionInitialStyles","setProperty","onAfterLeave","createJavascriptTransition","functions","expandedParentClass","sizeProperty","offsetProperty","_parent","_initialStyle","overflow","onEnter","initialStyle","onAfterEnter","resetStyles","onEnterCancelled","onLeaveCancelled","VDialogTransition","pointerEvents","done","Promise","resolve","getDimensions","animate","duration","easing","finished","then","removeProperty","onBeforeLeave","targetBox","elBox","originX","originY","anchorSide","anchorOffset","getPropertyValue","VCarouselTransition","VCarouselReverseTransition","VTabTransition","VTabReverseTransition","VMenuTransition","VFabTransition","VDialogBottomTransition","VDialogTopTransition","VFadeTransition","VScaleTransition","VScrollXTransition","VScrollXReverseTransition","VScrollYTransition","VScrollYReverseTransition","VSlideXTransition","VSlideXReverseTransition","VSlideYTransition","VSlideYReverseTransition","VExpandTransition","ExpandTransitionGenerator","VExpandXTransition","VMessages","messages","FormKey","makeFormProps","fastFail","lazyValidation","readonly","createForm","model","isReadonly","isValidating","errorMessages","validate","results","valid","itemErrorMessages","forEach","resetValidation","useForm","makeValidationProps","maxErrors","rules","useValidation","form","isPristine","isValid","validationClasses","rule","result","VInputSymbol","makeVInputProps","hideDetails","hint","persistentHint","direction","VInput","focused","isFocused","slotProps","hasHint","hasMessages","hasDetails","showMessages","details","filterInputProps","VLabel","VSelectionControlGroupSymbol","VSelectionControlGroup","falseIcon","trueIcon","makeSelectionControlProps","trueValue","falseValue","valueComparator","Function","useSelectionControl","isMultiple","currentValue","VSelectionControl","isFocusVisible","input","onFocus","matches","onBlur","filterControlProps","VCheckbox","indeterminate","indeterminateIcon","onChange","inputAttrs","controlAttrs","inputProps","_1","controlProps","_2","VChip","draggable","filterIcon","pill","VCode","VCounter","functional","VDefaultsProvider","makeDelayProps","closeDelay","openDelay","useDelay","delays","runDelayFactory","runCloseDelay","runOpenDelay","makeActivatorProps","activator","activatorProps","openOnClick","openOnHover","openOnFocus","useActivator","activatorEl","isHovered","availableEvents","click","stopPropagation","mouseenter","mouseleave","focus","blur","activatorEvents","events","scope","effectScope","run","_useActivator","flush","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","onScopeDispose","removeAttribute","setAttribute","$el","querySelector","parseAnchor","anchor","side","align","oppositeAnchor","physicalAnchor","elementToViewport","point","getOffset","anchorToPoint","box","positionStrategies","static","staticPositionStrategy","connected","connectedPositionStrategy","makePositionStrategyProps","positionStrategy","usePositionStrategies","data","contentStyles","updatePosition","activatorFixed","assign","preferredAnchor","preferredOrigin","doesOverlap","configuredMaxHeight","configuredMinWidth","ResizeObserver","contentEl","disconnect","scrollParent","viewportWidth","viewportHeight","contentBox","scrollables","querySelectorAll","scrollLeft","scrollTop","initialMaxWidth","initialMaxHeight","scrollTo","viewportMargin","freeSpace","fitsY","canFill","floor","targetPoint","contentPoint","clean","frames","requestNewFrame","raf","cancelAnimationFrame","frame","scrollStrategies","closeScrollStrategy","blockScrollStrategy","reposition","repositionScrollStrategy","makeScrollStrategyProps","scrollStrategy","useScrollStrategies","onScroll","bindScroll","scrollElements","contains","scrollbarWidth","scrollableParent","slow","update","time","useTeleport","teleportTarget","_target","targetElement","body","cache","has","WeakMap","makeLazyProps","useLazy","stack","useStack","idx","isTop","defaultConditional","checkEvent","checkIsActive","ShadowRoot","host","include","closeConditional","directive","_clickOutside","lastMousedownWasOutside","handleShadow","callback","ClickOutside","onMousedown","Scrim","VOverlay","attach","contained","noClickAnimation","persistent","scrim","scrimColor","onClickOutside","animateClick","onKeydown","toHandlers","VDialog","fullscreen","retainFocus","scrollable","overlay","onFocusin","before","relatedTarget","after","focusable","hasAttribute","firstElement","lastElement","preventScroll","VDivider","inset","thickness","dividerStyles","role","VExpansionPanelSymbol","VExpansionPanels","variantClass","makeVExpansionPanelTitleProps","expandIcon","collapseIcon","hideActions","VExpansionPanelTitle","expansionPanel","expanded","VExpansionPanelText","VExpansionPanel","groupItem","isBeforeSelected","isAfterSelected","VFieldLabel","useIntersectionObserver","intersectionRef","VProgressLinear","bgOpacity","bufferValue","clickable","reverse","stream","striped","roundedBar","progress","barColorClasses","barColorStyles","normalizedBuffer","normalizedValue","isReversed","handleClick","borderTop","bar","buffer","makeLoaderProps","loading","useLoader","loaderClasses","LoaderSlot","useFocus","makeVFieldProps","appendInnerIcon","clearable","clearIcon","persistentClear","prependInnerIcon","singleLine","VField","labelRef","floatingLabelRef","controlRef","hasLabel","targetEl","targetRect","targetWidth","transitionDuration","visibility","activeElement","preventDefault","isOutlined","prependInner","hasClear","clear","appendInner","loader","filterFieldProps","LocaleAdapterSymbol","VuetifyLocaleSymbol","provideLocale","adapter","createScope","useLocale","getScope","isLocaleAdapter","createLocaleAdapter","createDefaultLocaleAdapter","rootInstance","createRoot","LANG_PREFIX","params","createTranslateFunction","shortKey","currentLocale","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","n","rootScope","defaultLocale","locale","VFileInput","chips","counterSizeString","counterString","showSize","files","internalDirty","isDirty","totalBytes","totalBytesReadable","fileNames","counterValue","fileCount","inputRef","hasCounter","rootAttrs","fieldProps","_","fieldClass","selection","VFooter","VForm","submit","formRef","onReset","onSubmit","VContainer","fluid","breakpoints","breakpointProps","offsetProps","orderProps","propMap","col","order","breakpointClass","breakpoint","VCol","cols","alignSelf","hasColClasses","ALIGNMENT","makeRowProps","def","alignValidator","alignProps","justifyValidator","justifyProps","alignContentValidator","alignContentProps","justify","alignContent","classMap","VRow","dense","noGutters","VSpacer","VHover","onMouseenter","onMouseleave","VItemGroupSymbol","VItemGroup","VItem","VKbd","VLayout","VLayoutItem","VLazy","onIntersect","VListSubheader","singleOpenStrategy","opened","parents","newOpened","multipleOpenStrategy","independentSelectStrategy","in","leafSelectStrategy","single","strategy","classicSelectStrategy","childrenIds","everySelected","noneSelected","classicActiveStrategy","newActive","VNestedSymbol","emptyNested","open","activate","selectedValues","makeNestedProps","selectStrategy","openStrategy","activeStrategy","useNested","nested","parentId","isGroup","list","event","newSelected","useNestedItem","computedId","useNestedGroup","isOpen","isIndeterminate","VListGroupItems","createList","VListGroup","useList","headerProps","header","VListItemAvatar","VListItemHeader","VListItemSubtitle","VListItemTitle","VListItem","isNestedActive","updateHasPrepend","VListChildren","externalHeader","ListKey","VList","nav","subheader","VListImg","VListItemMedia","VLocaleProvider","localeInstance","useSsrBoot","ssrBootStyles","VMain","VMenu","disableKeys","HORIZON","HISTORY","kineticEnergyToVelocity","work","sqrt2","calculateImpulseVelocity","samples","d","vprev","vcurr","useVelocity","addMovement","changedTouches","identifier","timeStamp","endTouch","getVelocity","newest","absX","absY","oops","useTouch","isTemporary","touchless","onTouchstart","onTouchmove","onTouchend","maybeDragging","isDragging","dragProgress","pos","getProgress","limit","touchX","touchY","touchZone","inTouchZone","inElement","cancelable","thresholdMet","velocity","vx","vy","dragStyles","VNavigationDrawer","disableResizeWatcher","expandOnHover","permanent","rail","railWidth","temporary","isHovering","rootEl","useHydration","appContext","_container","__vue_app__","VNoSsr","useResizeObserver","resizeRef","contentRect","contentBoxSize","borderBoxSize","useRefs","refs","onBeforeUpdate","updateRef","VPagination","totalVisible","firstIcon","prevIcon","nextIcon","lastIcon","pageAriaLabel","currentPageAriaLabel","firstAriaLabel","previousAriaLabel","nextAriaLabel","lastAriaLabel","ellipsis","showFirstLastPage","maxButtons","firstItem","totalWidth","itemWidth","range","middle","ceil","rangeLength","rangeStart","setValue","sharedProps","ariaCurrent","controls","prevDisabled","nextDisabled","ariaDisabled","updateFocus","sign","VParallax","scrollPos","scrollY","translate","VProgressCircular","rotate","MAGIC_RADIUS_CONSTANT","CIRCUMFERENCE","PI","underlayColorClasses","underlayColorStyles","diameter","strokeWidth","strokeDashOffset","VRadio","VRadioGroup","VSliderSymbol","getPosition","makeSliderProps","thumbColor","thumbLabel","thumbSize","showTicks","showTickLabels","ticks","tickSize","trackColor","trackFillColor","trackSize","useSlider","handleSliderMouseUp","handleMouseMove","getActiveThumb","horizontalDirection","hd","decimals","trimmedStep","trim","numTicks","mousePressed","startOffset","trackContainerRef","roundValue","clamped","parseMouseMove","trackStart","trackLength","clickOffset","clickPos","thumbMoved","handleStop","handleStart","activeThumb","moveListenerOptions","capture","onMouseMove","onSliderMouseUp","onSliderTouchend","onSliderTouchstart","onSliderMousedown","percentage","parsedTicks","hasLabels","VSliderThumb","slider","relevantKeys","multipliers","parseKeydown","_step","steps","increase","multiplier","shiftKey","ctrlKey","positionPercentage","VSliderTrack","trackFillColorClasses","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","tick","directionProperty","VRangeSlider","startThumbRef","stopThumbRef","focusedThumb","canSwitch","stopOffset","trackStop","VRating","itemAriaLabel","emptyIcon","fullIcon","halfIncrements","itemLabels","itemLabelPosition","increments","hoverIndex","focusIndex","firstRef","isClicking","itemState","isFilled","isFullIcon","eventState","onMouseup","VRatingItem","showStar","btnProps","VSheet","VSlider","thumbContainerRef","VSwitch","loaderColor","control","VSystemBar","lightsOut","VTable","fixedHeader","fixedFooter","VTextarea","autoGrow","autofocus","persistentPlaceholder","persistentCounter","noResize","rows","maxRows","suffix","controlHeight","maxlength","sizerRef","calculateInputHeight","padding","lineHeight","showPlaceholder","useForwardRef","Proxy","Reflect","getOwnPropertyDescriptor","dirtyTypes","VTextField","vInputRef","vFieldRef","VThemeProvider","withBackground","VTimelineSymbol","VTimelineDivider","hideDot","lineColor","iconColor","fillDot","dotColor","timeline","lineColorStyles","lineColorClasses","VTimelineItem","hideOpposite","dotSize","dotRef","opposite","VTimeline","lineInset","lineThickness","truncateLine","sideClass","VTooltip","args","VValidation","validation","modifierKeys","attributes","attr","characterData","childList","subtree","sub","MutationObserver","mutations","_mutate","Mutate","_onResize","Resize","self","arg","_onScroll","Scroll","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","touchstart","touchend","touchmove","touchmoveX","touchmoveY","move","createHandlers","handlers","_touchHandlers","eventName","Touch","cancel","checkboxOn","checkboxOff","checkboxIndeterminate","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","unfold","plus","minus","mdi","createVuetify","install","components","mixin","$vuetify","call","_createVuetify","version"],"mappings":";;;;;;;;;;;;EAAO,MAAMA,GAAN,CAAU;EAMfC,EAAAA,WAAW,OAKR;EAAA,QALU;EAAEC,MAAAA,CAAF;EAAKC,MAAAA,CAAL;EAAQC,MAAAA,KAAR;EAAeC,MAAAA;EAAf,KAKV;EACD,SAAKH,CAAL,GAASA,CAAT;EACA,SAAKC,CAAL,GAASA,CAAT;EACA,SAAKC,KAAL,GAAaA,KAAb;EACA,SAAKC,MAAL,GAAcA,MAAd;EACD;;EAEM,MAAHC,GAAG,GAAI;EAAE,WAAO,KAAKH,CAAZ;EAAe;;EAClB,MAANI,MAAM,GAAI;EAAE,WAAO,KAAKJ,CAAL,GAAS,KAAKE,MAArB;EAA6B;;EACrC,MAAJG,IAAI,GAAI;EAAE,WAAO,KAAKN,CAAZ;EAAe;;EACpB,MAALO,KAAK,GAAI;EAAE,WAAO,KAAKP,CAAL,GAAS,KAAKE,KAArB;EAA4B;;EArB5B;;ECEjB;;EACO,SAASM,iBAAT,CAA4BC,EAA5B,EAAkD;EACvD,QAAMC,IAAI,GAAGD,EAAE,CAACE,qBAAH,EAAb;EACA,QAAMC,KAAK,GAAGC,gBAAgB,CAACJ,EAAD,CAA9B;EACA,QAAMK,EAAE,GAAGF,KAAK,CAACG,SAAjB;;EAEA,MAAID,EAAJ,EAAQ;EACN,QAAIE,EAAJ,EAAQC,EAAR,EAAYC,EAAZ,EAAgBC,EAAhB,EAAoBC,EAApB;;EACA,QAAIN,EAAE,CAACO,UAAH,CAAc,WAAd,CAAJ,EAAgC;EAC9BL,MAAAA,EAAE,GAAGF,EAAE,CAACQ,KAAH,CAAS,CAAT,EAAY,CAAC,CAAb,EAAgBC,KAAhB,CAAsB,IAAtB,CAAL;EACAN,MAAAA,EAAE,GAAG,CAACD,EAAE,CAAC,CAAD,CAAR;EACAE,MAAAA,EAAE,GAAG,CAACF,EAAE,CAAC,CAAD,CAAR;EACAG,MAAAA,EAAE,GAAG,CAACH,EAAE,CAAC,EAAD,CAAR;EACAI,MAAAA,EAAE,GAAG,CAACJ,EAAE,CAAC,EAAD,CAAR;EACD,KAND,MAMO,IAAIF,EAAE,CAACO,UAAH,CAAc,SAAd,CAAJ,EAA8B;EACnCL,MAAAA,EAAE,GAAGF,EAAE,CAACQ,KAAH,CAAS,CAAT,EAAY,CAAC,CAAb,EAAgBC,KAAhB,CAAsB,IAAtB,CAAL;EACAN,MAAAA,EAAE,GAAG,CAACD,EAAE,CAAC,CAAD,CAAR;EACAE,MAAAA,EAAE,GAAG,CAACF,EAAE,CAAC,CAAD,CAAR;EACAG,MAAAA,EAAE,GAAG,CAACH,EAAE,CAAC,CAAD,CAAR;EACAI,MAAAA,EAAE,GAAG,CAACJ,EAAE,CAAC,CAAD,CAAR;EACD,KANM,MAMA;EACL,aAAO,IAAIlB,GAAJ,CAAQY,IAAR,CAAP;EACD;;EAED,UAAMc,EAAE,GAAGZ,KAAK,CAACa,eAAjB;EACA,UAAMzB,CAAC,GAAGU,IAAI,CAACV,CAAL,GAASmB,EAAT,GAAc,CAAC,IAAIF,EAAL,IAAWS,UAAU,CAACF,EAAD,CAA7C;EACA,UAAMvB,CAAC,GAAGS,IAAI,CAACT,CAAL,GAASmB,EAAT,GAAc,CAAC,IAAIF,EAAL,IAAWQ,UAAU,CAACF,EAAE,CAACF,KAAH,CAASE,EAAE,CAACG,OAAH,CAAW,GAAX,IAAkB,CAA3B,CAAD,CAA7C;EACA,UAAMC,CAAC,GAAGX,EAAE,GAAGP,IAAI,CAACR,KAAL,GAAae,EAAhB,GAAqBR,EAAE,CAACoB,WAApC;EACA,UAAMC,CAAC,GAAGZ,EAAE,GAAGR,IAAI,CAACP,MAAL,GAAce,EAAjB,GAAsBT,EAAE,CAACsB,YAArC;EAEA,WAAO,IAAIjC,GAAJ,CAAQ;EAAEE,MAAAA,CAAF;EAAKC,MAAAA,CAAL;EAAQC,MAAAA,KAAK,EAAE0B,CAAf;EAAkBzB,MAAAA,MAAM,EAAE2B;EAA1B,KAAR,CAAP;EACD,GAzBD,MAyBO;EACL,WAAO,IAAIhC,GAAJ,CAAQY,IAAR,CAAP;EACD;EACF;;ECpCD;EACA;EAEA,SAASsB,aAAT,CAAwBC,OAAxB,EAAyCC,EAAzC,EAAmDC,MAAnD,EAAgF;EAC9E;EAEA,MAAIA,MAAJ,EAAY;EACVD,IAAAA,EAAE,GAAG;EACHE,MAAAA,MAAM,EAAE,IADL;EAEHC,MAAAA,OAAO,EAAEF,MAFN;EAGHG,MAAAA,QAAQ,EAAEJ;EAHP,KAAL;EAKD;;EAED,MAAIA,EAAJ,EAAQ;EACN;EACAA,IAAAA,EAAE,CAACK,eAAH,GAAqBL,EAAE,CAACK,eAAH,IAAsB,EAA3C;EACA,QAAIL,EAAE,CAACK,eAAH,CAAmBC,QAAnB,CAA4BP,OAA5B,CAAJ,EAA0C;EAC1CC,IAAAA,EAAE,CAACK,eAAH,CAAmBE,IAAnB,CAAwBR,OAAxB;EACD;;EAED,SAAQ,aAAYA,OAAQ,EAArB,IACLC,EAAE,GAAGQ,sBAAsB,CAACR,EAAD,CAAzB,GAAgC,EAD7B,CAAP;EAGD;EAOM,SAASS,WAAT,CAAsBV,OAAtB,EAAuCC,EAAvC,EAAiDC,MAAjD,EAAqE;EAC1E,QAAMS,UAAU,GAAGZ,aAAa,CAACC,OAAD,EAAUC,EAAV,EAAcC,MAAd,CAAhC;EACAS,EAAAA,UAAU,IAAI,IAAd,IAAsBC,OAAO,CAACC,IAAR,CAAaF,UAAb,CAAtB;EACD;EAEM,SAASG,YAAT,CAAuBd,OAAvB,EAAwCC,EAAxC,EAAkDC,MAAlD,EAAsE;EAC3E,QAAMS,UAAU,GAAGZ,aAAa,CAACC,OAAD,EAAUC,EAAV,EAAcC,MAAd,CAAhC;EACAS,EAAAA,UAAU,IAAI,IAAd,IAAsBC,OAAO,CAACG,KAAR,CAAcJ,UAAd,CAAtB;EACD;EAYD;EACA;EACA;;EAEA,MAAMK,UAAU,GAAG,iBAAnB;;EACA,MAAMC,QAAQ,GAAIC,GAAD,IAAiBA,GAAG,CAClCC,OAD+B,CACvBH,UADuB,EACXI,CAAC,IAAIA,CAAC,CAACC,WAAF,EADM,EAE/BF,OAF+B,CAEvB,OAFuB,EAEd,EAFc,CAAlC;;EAIA,SAASG,mBAAT,CAA8BrB,EAA9B,EAAuCsB,WAAvC,EAAsE;EACpE,MAAItB,EAAE,CAACuB,KAAH,KAAavB,EAAjB,EAAqB;EACnB,WAAO,QAAP;EACD;;EACD,QAAMwB,OAAO,GAAG,OAAOxB,EAAP,KAAc,UAAd,IAA4BA,EAAE,CAACyB,GAAH,IAAU,IAAtC,GACZzB,EAAE,CAACwB,OADS,GAEZxB,EAAE,CAACE,MAAH,GACEF,EAAE,CAACI,QAAH,IAAeJ,EAAE,CAACnC,WAAH,CAAe2D,OADhC,GAEExB,EAAE,IAAI,EAJZ;EAKA,MAAI0B,IAAI,GAAGF,OAAO,CAACE,IAAR,IAAgBF,OAAO,CAACG,aAAnC;EACA,QAAMC,IAAI,GAAGJ,OAAO,CAACK,MAArB;;EACA,MAAI,CAACH,IAAD,IAASE,IAAb,EAAmB;EACjB,UAAME,KAAK,GAAGF,IAAI,CAACE,KAAL,CAAW,iBAAX,CAAd;EACAJ,IAAAA,IAAI,GAAGI,KAAH,oBAAGA,KAAK,CAAG,CAAH,CAAZ;EACD;;EAED,SACE,CAACJ,IAAI,GAAI,IAAGV,QAAQ,CAACU,IAAD,CAAO,GAAtB,GAA4B,aAAjC,KACCE,IAAI,IAAIN,WAAW,KAAK,KAAxB,GAAiC,OAAMM,IAAK,EAA5C,GAAgD,EADjD,CADF;EAID;;EAED,SAASpB,sBAAT,CAAiCR,EAAjC,EAAkD;EAChD,MAAIA,EAAE,CAACE,MAAH,IAAaF,EAAE,CAACG,OAApB,EAA6B;EAC3B,UAAM4B,IAAW,GAAG,EAApB;EACA,QAAIC,wBAAwB,GAAG,CAA/B;;EACA,WAAOhC,EAAP,EAAW;EACT,UAAI+B,IAAI,CAACE,MAAL,GAAc,CAAlB,EAAqB;EACnB,cAAMC,IAAS,GAAGH,IAAI,CAACA,IAAI,CAACE,MAAL,GAAc,CAAf,CAAtB;;EACA,YAAIC,IAAI,CAACrE,WAAL,KAAqBmC,EAAE,CAACnC,WAA5B,EAAyC;EACvCmE,UAAAA,wBAAwB;EACxBhC,UAAAA,EAAE,GAAGA,EAAE,CAACG,OAAR;EACA;EACD,SAJD,MAIO,IAAI6B,wBAAwB,GAAG,CAA/B,EAAkC;EACvCD,UAAAA,IAAI,CAACA,IAAI,CAACE,MAAL,GAAc,CAAf,CAAJ,GAAwB,CAACC,IAAD,EAAOF,wBAAP,CAAxB;EACAA,UAAAA,wBAAwB,GAAG,CAA3B;EACD;EACF;;EACDD,MAAAA,IAAI,CAACxB,IAAL,CAAUP,EAAV;EACAA,MAAAA,EAAE,GAAGA,EAAE,CAACG,OAAR;EACD;;EACD,WAAO,qBAAqB4B,IAAI,CAC7BI,GADyB,CACrB,CAACnC,EAAD,EAAKoC,CAAL,KAAY,GACfA,CAAC,KAAK,CAAN,GAAU,OAAV,GAAoB,IAAIC,MAAJ,CAAW,IAAID,CAAC,GAAG,CAAnB,CACrB,GACCE,KAAK,CAACC,OAAN,CAAcvC,EAAd;AAAA,MAEK,GAAEqB,mBAAmB,CAACrB,EAAE,CAAC,CAAD,CAAH,CAAQ,QAAOA,EAAE,CAAC,CAAD,CAAI,mBAF/C,GAGIqB,mBAAmB,CAACrB,EAAD,CACxB,EARyB,EASzBwC,IATyB,CASpB,IAToB,CAA5B;EAUD,GA5BD,MA4BO;EACL,WAAQ,iBAAgBnB,mBAAmB,CAACrB,EAAD,CAAK,GAAhD;EACD;EACF;;;;;;;;;;;;;;;;EC5GM,SAASyC,cAAT,CAAyBC,GAAzB,EAAmCC,IAAnC,EAA8DC,QAA9D,EAAmF;EACxF,QAAMV,IAAI,GAAGS,IAAI,CAACV,MAAL,GAAc,CAA3B;EAEA,MAAIC,IAAI,GAAG,CAAX,EAAc,OAAOQ,GAAG,KAAKG,SAAR,GAAoBD,QAApB,GAA+BF,GAAtC;;EAEd,OAAK,IAAIN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,IAApB,EAA0BE,CAAC,EAA3B,EAA+B;EAC7B,QAAIM,GAAG,IAAI,IAAX,EAAiB;EACf,aAAOE,QAAP;EACD;;EACDF,IAAAA,GAAG,GAAGA,GAAG,CAACC,IAAI,CAACP,CAAD,CAAL,CAAT;EACD;;EAED,MAAIM,GAAG,IAAI,IAAX,EAAiB,OAAOE,QAAP;EAEjB,SAAOF,GAAG,CAACC,IAAI,CAACT,IAAD,CAAL,CAAH,KAAoBW,SAApB,GAAgCD,QAAhC,GAA2CF,GAAG,CAACC,IAAI,CAACT,IAAD,CAAL,CAArD;EACD;EAEM,SAASY,SAAT,CAAoBC,CAApB,EAA4BC,CAA5B,EAA6C;EAClD,MAAID,CAAC,KAAKC,CAAV,EAAa,OAAO,IAAP;;EAEb,MACED,CAAC,YAAYE,IAAb,IACAD,CAAC,YAAYC,IADb,IAEAF,CAAC,CAACG,OAAF,OAAgBF,CAAC,CAACE,OAAF,EAHlB,EAIE;EACA;EACA,WAAO,KAAP;EACD;;EAED,MAAIH,CAAC,KAAKI,MAAM,CAACJ,CAAD,CAAZ,IAAmBC,CAAC,KAAKG,MAAM,CAACH,CAAD,CAAnC,EAAwC;EACtC;EACA,WAAO,KAAP;EACD;;EAED,QAAMI,KAAK,GAAGD,MAAM,CAACE,IAAP,CAAYN,CAAZ,CAAd;;EAEA,MAAIK,KAAK,CAACnB,MAAN,KAAiBkB,MAAM,CAACE,IAAP,CAAYL,CAAZ,EAAef,MAApC,EAA4C;EAC1C;EACA,WAAO,KAAP;EACD;;EAED,SAAOmB,KAAK,CAACE,KAAN,CAAYC,CAAC,IAAIT,SAAS,CAACC,CAAC,CAACQ,CAAD,CAAF,EAAOP,CAAC,CAACO,CAAD,CAAR,CAA1B,CAAP;EACD;EAEM,SAASC,oBAAT,CAA+Bd,GAA/B,EAAyCC,IAAzC,EAAuDC,QAAvD,EAA4E;EACjF;EACA,MAAIF,GAAG,IAAI,IAAP,IAAe,CAACC,IAAhB,IAAwB,OAAOA,IAAP,KAAgB,QAA5C,EAAsD,OAAOC,QAAP;EACtD,MAAIF,GAAG,CAACC,IAAD,CAAH,KAAcE,SAAlB,EAA6B,OAAOH,GAAG,CAACC,IAAD,CAAV;EAC7BA,EAAAA,IAAI,GAAGA,IAAI,CAACzB,OAAL,CAAa,YAAb,EAA2B,KAA3B,CAAP,CAJiF;;EAKjFyB,EAAAA,IAAI,GAAGA,IAAI,CAACzB,OAAL,CAAa,KAAb,EAAoB,EAApB,CAAP,CALiF;;EAMjF,SAAOuB,cAAc,CAACC,GAAD,EAAMC,IAAI,CAACtD,KAAL,CAAW,GAAX,CAAN,EAAuBuD,QAAvB,CAArB;EACD;EAwBM,SAASa,WAAT,CAAsBxB,MAAtB,EAA2D;EAAA,MAArByB,KAAqB,uEAAb,CAAa;EAChE,SAAOpB,KAAK,CAACqB,IAAN,CAAW;EAAE1B,IAAAA;EAAF,GAAX,EAAuB,CAAC2B,CAAD,EAAIC,CAAJ,KAAUH,KAAK,GAAGG,CAAzC,CAAP;EACD;EAoCM,SAASC,aAAT,CAAwB7C,GAAxB,EAAkG;EAAA,MAAjC8C,IAAiC,uEAA1B,IAA0B;;EACvG,MAAI9C,GAAG,IAAI,IAAP,IAAeA,GAAG,KAAK,EAA3B,EAA+B;EAC7B,WAAO4B,SAAP;EACD,GAFD,MAEO,IAAImB,KAAK,CAAC,CAAC/C,GAAF,CAAT,EAAkB;EACvB,WAAOgD,MAAM,CAAChD,GAAD,CAAb;EACD,GAFM,MAEA,IAAI,CAACiD,QAAQ,CAAC,CAACjD,GAAF,CAAb,EAAsB;EAC3B,WAAO4B,SAAP;EACD,GAFM,MAEA;EACL,WAAQ,GAAEsB,MAAM,CAAClD,GAAD,CAAM,GAAE8C,IAAK,EAA7B;EACD;EACF;EAEM,SAASK,QAAT,CAAmB1B,GAAnB,EAA4C;EACjD,SAAOA,GAAG,KAAK,IAAR,IAAgB,OAAOA,GAAP,KAAe,QAA/B,IAA2C,CAACJ,KAAK,CAACC,OAAN,CAAcG,GAAd,CAAnD;EACD;;EAOM,MAAM2B,QAAQ,GAAGlB,MAAM,CAACmB,MAAP,CAAc;EACpCC,EAAAA,KAAK,EAAE,EAD6B;EAEpCC,EAAAA,GAAG,EAAE,CAF+B;EAGpCC,EAAAA,MAAM,EAAE,EAH4B;EAIpCC,EAAAA,GAAG,EAAE,EAJ+B;EAKpCC,EAAAA,KAAK,EAAE,EAL6B;EAMpCC,EAAAA,EAAE,EAAE,EANgC;EAOpCC,EAAAA,IAAI,EAAE,EAP8B;EAQpCzG,EAAAA,IAAI,EAAE,EAR8B;EASpCC,EAAAA,KAAK,EAAE,EAT6B;EAUpCyG,EAAAA,GAAG,EAAE,EAV+B;EAWpCC,EAAAA,IAAI,EAAE,EAX8B;EAYpCC,EAAAA,GAAG,EAAE,EAZ+B;EAapCC,EAAAA,SAAS,EAAE,CAbyB;EAcpCC,EAAAA,MAAM,EAAE,EAd4B;EAepCC,EAAAA,MAAM,EAAE,EAf4B;EAgBpCC,EAAAA,QAAQ,EAAE,EAhB0B;EAiBpCC,EAAAA,KAAK,EAAE;EAjB6B,CAAd,CAAjB;EAoBA,MAAMC,SAAS,GAAGnC,MAAM,CAACmB,MAAP,CAAc;EACrCC,EAAAA,KAAK,EAAE,OAD8B;EAErCC,EAAAA,GAAG,EAAE,KAFgC;EAGrCC,EAAAA,MAAM,EAAE,QAH6B;EAIrCC,EAAAA,GAAG,EAAE,QAJgC;EAKrCC,EAAAA,KAAK,EAAE,OAL8B;EAMrCC,EAAAA,EAAE,EAAE,SANiC;EAOrCC,EAAAA,IAAI,EAAE,WAP+B;EAQrCzG,EAAAA,IAAI,EAAE,WAR+B;EASrCC,EAAAA,KAAK,EAAE,YAT8B;EAUrCyG,EAAAA,GAAG,EAAE,KAVgC;EAWrCC,EAAAA,IAAI,EAAE,MAX+B;EAYrCC,EAAAA,GAAG,EAAE,QAZgC;EAarCC,EAAAA,SAAS,EAAE,WAb0B;EAcrCC,EAAAA,MAAM,EAAE,QAd6B;EAerCC,EAAAA,MAAM,EAAE,QAf6B;EAgBrCC,EAAAA,QAAQ,EAAE,UAhB2B;EAiBrCC,EAAAA,KAAK,EAAE;EAjB8B,CAAd,CAAlB;EAoBA,SAAShC,IAAT,CAAkBkC,CAAlB,EAAwB;EAC7B,SAAOpC,MAAM,CAACE,IAAP,CAAYkC,CAAZ,CAAP;EACD;EAeM,SAASC,IAAT,CAGJ9C,GAHI,EAGI+C,KAHJ,EAG8D;EACnE,QAAMC,KAAK,GAAGvC,MAAM,CAACwC,MAAP,CAAc,IAAd,CAAd;EACA,QAAMC,IAAI,GAAGzC,MAAM,CAACwC,MAAP,CAAc,IAAd,CAAb;;EAEA,OAAK,MAAME,GAAX,IAAkBnD,GAAlB,EAAuB;EACrB,QACE+C,KAAK,CAACK,IAAN,CAAWnD,IAAI,IAAIA,IAAI,YAAYoD,MAAhB,GACfpD,IAAI,CAACqD,IAAL,CAAUH,GAAV,CADe,GAEflD,IAAI,KAAKkD,GAFb,CADF,EAKE;EACAH,MAAAA,KAAK,CAACG,GAAD,CAAL,GAAanD,GAAG,CAACmD,GAAD,CAAhB;EACD,KAPD,MAOO;EACLD,MAAAA,IAAI,CAACC,GAAD,CAAJ,GAAYnD,GAAG,CAACmD,GAAD,CAAf;EACD;EACF;;EAED,SAAO,CAACH,KAAD,EAAQE,IAAR,CAAP;EACD;EAED;EACA;EACA;EACA;EACA;;EACO,SAASK,gBAAT,CAA2BC,KAA3B,EAA2D;EAChE,SAAOV,IAAI,CAACU,KAAD,EAAQ,CAAC,OAAD,EAAU,OAAV,EAAmB,IAAnB,EAAyB,QAAzB,CAAR,CAAX;EACD;EAyCM,SAASC,WAAT,CAAyBvC,CAAzB,EAA6D;EAClE,SAAOA,CAAC,IAAI,IAAL,GACH,EADG,GAEHtB,KAAK,CAACC,OAAN,CAAcqB,CAAd,IACEA,CADF,GACM,CAACA,CAAD,CAHV;EAID;EAwGM,SAASwC,KAAT,CAAgBC,KAAhB,EAAiD;EAAA,MAAlBC,GAAkB,uEAAZ,CAAY;EAAA,MAATC,GAAS,uEAAH,CAAG;EACtD,SAAOC,IAAI,CAACD,GAAL,CAASD,GAAT,EAAcE,IAAI,CAACF,GAAL,CAASC,GAAT,EAAcF,KAAd,CAAd,CAAP;EACD;EAgBM,SAASI,qBAAT,CAAgCC,KAAhC,EAAiF;EAAA,MAAlCC,IAAkC,uEAAd,IAAc;;EACtF,MAAID,KAAK,GAAGC,IAAZ,EAAkB;EAChB,WAAQ,GAAED,KAAM,IAAhB;EACD;;EAED,QAAME,MAAM,GAAGD,IAAI,KAAK,IAAT,GAAgB,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CAAhB,GAAqC,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAApD;EACA,MAAI5C,IAAI,GAAG,CAAC,CAAZ;;EACA,SAAOyC,IAAI,CAACK,GAAL,CAASH,KAAT,KAAmBC,IAAnB,IAA2B5C,IAAI,GAAG6C,MAAM,CAAC3E,MAAP,GAAgB,CAAzD,EAA4D;EAC1DyE,IAAAA,KAAK,IAAIC,IAAT;EACA,MAAE5C,IAAF;EACD;;EACD,SAAQ,GAAE2C,KAAK,CAACI,OAAN,CAAc,CAAd,CAAiB,IAAGF,MAAM,CAAC7C,IAAD,CAAO,GAA3C;EACD;EAWM,SAASgD,SAAT,GAIL;EAAA,MAHAC,MAGA,uEAH8B,EAG9B;EAAA,MAFAC,MAEA,uEAF8B,EAE9B;EAAA,MADAC,GACA,uEAD2B,EAC3B;;EACA,OAAK,MAAMrB,GAAX,IAAkBmB,MAAlB,EAA0B;EACxBE,IAAAA,GAAG,CAACrB,GAAD,CAAH,GAAWmB,MAAM,CAACnB,GAAD,CAAjB;EACD;;EAED,OAAK,MAAMA,GAAX,IAAkBoB,MAAlB,EAA0B;EACxB,UAAME,cAAc,GAAGH,MAAM,CAACnB,GAAD,CAA7B;EACA,UAAMuB,cAAc,GAAGH,MAAM,CAACpB,GAAD,CAA7B,CAFwB;EAKxB;;EACA,QACEzB,QAAQ,CAAC+C,cAAD,CAAR,IACA/C,QAAQ,CAACgD,cAAD,CAFV,EAGE;EACAF,MAAAA,GAAG,CAACrB,GAAD,CAAH,GAAWkB,SAAS,CAACI,cAAD,EAAiBC,cAAjB,CAApB;EAEA;EACD;;EAEDF,IAAAA,GAAG,CAACrB,GAAD,CAAH,GAAWuB,cAAX;EACD;;EAED,SAAOF,GAAP;EACD;EAMM,SAASG,MAAT,GAAmB;EACxB,SAAOA,MAAM,CAACC,IAAP,EAAP;EACD;EACDD,MAAM,CAACC,IAAP,GAAc,CAAd;EAEO,SAASC,gBAAT,CAA2BC,KAA3B,EAAoD;EACzD,SAAOA,KAAK,CAACrF,GAAN,CAAUsF,IAAI,IAAI;EACvB,QAAIA,IAAI,CAACC,IAAL,KAAcC,YAAlB,EAA4B;EAC1B,aAAOJ,gBAAgB,CAACE,IAAI,CAACG,QAAN,CAAvB;EACD,KAFD,MAEO;EACL,aAAOH,IAAP;EACD;EACF,GANM,EAMJI,IANI,EAAP;EAOD;EAOM,SAASC,WAAT,GAAgC;EAAA,MAAV7G,GAAU,uEAAJ,EAAI;EACrC,SAAOA,GAAG,CACPC,OADI,CACI,UADJ,EACgB,GADhB,EAEJA,OAFI,CAEI,YAFJ,EAEkB,KAFlB,EAGJ6G,WAHI,EAAP;EAID;EAMM,SAASC,SAAT,CAAwBlK,CAAxB,EAA8B;EACnC,SAAQmK,SAAK,CAACnK,CAAD,CAAL,GAAWA,CAAX,GAAeoK,OAAG,CAACpK,CAAD,CAA1B;EACD;EAEM,SAASqK,YAAT,CAAuBC,KAAvB,EAAwE;EAC7E,MAAI,CAACA,KAAD,IAAU,OAAOA,KAAP,KAAiB,QAA/B,EAAyC;EACvC,WAAO,EAAP;EACD;;EAED,MAAI9F,KAAK,CAACC,OAAN,CAAc6F,KAAd,CAAJ,EAA0B;EACxB,WAAOA,KAAK,CACTjG,GADI,CACAkG,KAAK,IAAIF,YAAY,CAACE,KAAD,CADrB,EAEJC,MAFI,CAEG1E,CAAC,IAAIA,CAFR,EAGJiE,IAHI,CAGC,CAHD,CAAP;EAID,GALD,MAKO,IAAIvF,KAAK,CAACC,OAAN,CAAc6F,KAAK,CAACR,QAApB,CAAJ,EAAmC;EACxC,WAAOQ,KAAK,CAACR,QAAN,CACJzF,GADI,CACAkG,KAAK,IAAIF,YAAY,CAACE,KAAD,CADrB,EAEJC,MAFI,CAEG1E,CAAC,IAAIA,CAFR,EAGJiE,IAHI,CAGC,CAHD,CAAP;EAID,GALM,MAKA,IAAIO,KAAK,CAACG,SAAV,EAAqB;EAAA;;EAC1B,WAAO,CAACH,KAAK,CAACG,SAAP,EAAkB,GAAGJ,YAAY,qBAACC,KAAK,CAACG,SAAP,qBAAC,iBAAiBC,OAAlB,CAAjC,EACJF,MADI,CACG1E,CAAC,IAAIA,CADR,EAEJiE,IAFI,CAEC,CAFD,CAAP;EAGD;;EAED,SAAO,EAAP;EACD;;;;;;EAEM,MAAMY,cAAN,CAAgC;EAIrC5K,EAAAA,WAAW,CAAkB6K,IAAlB,EAAgC;EAAA;EAAA;EAAA,aAHjB;EAGiB;;EAAA;EAAA;EAAA,aAFhC;EAEgC;;EAAA,SAAdA,IAAc,GAAdA,IAAc;EAAE;;EAE7CnI,EAAAA,IAAI,CAAEoI,GAAF,EAAU;EACZ,4DAAU,IAAV,eAA2BA,GAA3B;;EACA,0CAAgB,CAAC,wCAAgB,CAAjB,IAAsB,KAAKD,IAA3C;EACD;;EAEDE,EAAAA,MAAM,GAAS;EACb,WAAO,kCAAUxJ,KAAV,uBAAgB,IAAhB,aAA+ByJ,MAA/B,CAAsC,kCAAUzJ,KAAV,CAAgB,CAAhB,wBAAmB,IAAnB,YAAtC,CAAP;EACD;;EAboC;;EC3fvC,MAAM0J,iBAAiB,GAAG,CACxB,CAAC,MAAD,EAAS,CAAC,MAAV,EAAkB,CAAC,MAAnB,CADwB,EAExB,CAAC,CAAC,MAAF,EAAU,MAAV,EAAkB,MAAlB,CAFwB,EAGxB,CAAC,MAAD,EAAS,CAAC,MAAV,EAAkB,MAAlB,CAHwB,CAA1B;;EAOA,MAAMC,oBAAoB,GAAIC,CAAD,IAC3BA,CAAC,IAAI,SAAL,GACIA,CAAC,GAAG,KADR,GAEI,QAAQA,CAAC,KAAK,IAAI,GAAT,CAAT,GAAyB,KAH/B;;;EAOA,MAAMC,iBAAiB,GAAG,CACxB,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,CADwB,EAExB,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,CAFwB,EAGxB,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,CAHwB,CAA1B;;EAOA,MAAMC,oBAAoB,GAAIF,CAAD,IAC3BA,CAAC,IAAI,OAAL,GACIA,CAAC,GAAG,KADR,GAEI,CAAC,CAACA,CAAC,GAAG,KAAL,IAAc,KAAf,KAAyB,GAH/B;;EAMO,SAASG,SAAT,CAAkBC,GAAlB,EAAsC;EAC3C,QAAMC,GAAG,GAAG/G,KAAK,CAAC,CAAD,CAAjB;EACA,QAAMzD,SAAS,GAAGkK,oBAAlB;EACA,QAAMO,MAAM,GAAGR,iBAAf,CAH2C;;EAM3C,OAAK,IAAI1G,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuB,EAAEA,CAAzB,EAA4B;EAC1BiH,IAAAA,GAAG,CAACjH,CAAD,CAAH,GAASoE,IAAI,CAAC+C,KAAL,CAAWnD,KAAK,CAACvH,SAAS,CACjCyK,MAAM,CAAClH,CAAD,CAAN,CAAU,CAAV,IAAegH,GAAG,CAAC,CAAD,CAAlB,GACAE,MAAM,CAAClH,CAAD,CAAN,CAAU,CAAV,IAAegH,GAAG,CAAC,CAAD,CADlB,GAEAE,MAAM,CAAClH,CAAD,CAAN,CAAU,CAAV,IAAegH,GAAG,CAAC,CAAD,CAHe,CAAV,CAAL,GAIf,GAJI,CAAT;EAKD,GAZ0C;;;EAe3C,SAAO,CAACC,GAAG,CAAC,CAAD,CAAH,IAAU,EAAX,KAAkBA,GAAG,CAAC,CAAD,CAAH,IAAU,CAA5B,KAAkCA,GAAG,CAAC,CAAD,CAAH,IAAU,CAA5C,CAAP;EACD;EAEM,SAASG,OAAT,CAAgBH,GAAhB,EAAoC;EACzC,QAAMD,GAAQ,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAAjB;EACA,QAAMvK,SAAS,GAAGqK,oBAAlB;EACA,QAAMI,MAAM,GAAGL,iBAAf,CAHyC;;EAMzC,QAAMQ,CAAC,GAAG5K,SAAS,CAAC,CAACwK,GAAG,IAAI,EAAP,GAAY,IAAb,IAAqB,GAAtB,CAAnB;EACA,QAAMK,CAAC,GAAG7K,SAAS,CAAC,CAACwK,GAAG,IAAI,CAAP,GAAW,IAAZ,IAAoB,GAArB,CAAnB;EACA,QAAMrG,CAAC,GAAGnE,SAAS,CAAC,CAACwK,GAAG,IAAI,CAAP,GAAW,IAAZ,IAAoB,GAArB,CAAnB,CARyC;;EAWzC,OAAK,IAAIjH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuB,EAAEA,CAAzB,EAA4B;EAC1BgH,IAAAA,GAAG,CAAChH,CAAD,CAAH,GAASkH,MAAM,CAAClH,CAAD,CAAN,CAAU,CAAV,IAAeqH,CAAf,GAAmBH,MAAM,CAAClH,CAAD,CAAN,CAAU,CAAV,IAAesH,CAAlC,GAAsCJ,MAAM,CAAClH,CAAD,CAAN,CAAU,CAAV,IAAeY,CAA9D;EACD;;EAED,SAAOoG,GAAP;EACD;;EC/DD,MAAMO,KAAK,GAAG,mBAAd;;EAEA,MAAMC,sBAAsB,GAAIC,CAAD,IAC7BA,CAAC,GAAGF,KAAK,IAAI,CAAb,GACInD,IAAI,CAACsD,IAAL,CAAUD,CAAV,CADJ,GAEKA,CAAC,IAAI,IAAIF,KAAK,IAAI,CAAjB,CAAF,GAAyB,IAAI,EAHnC;;EAMA,MAAMI,sBAAsB,GAAIF,CAAD,IAC7BA,CAAC,GAAGF,KAAJ,GACIE,CAAC,IAAI,CADT,GAEK,IAAIF,KAAK,IAAI,CAAd,IAAoBE,CAAC,GAAG,IAAI,EAA5B,CAHN;;EAMO,SAASV,OAAT,CAAkBC,GAAlB,EAAiC;EACtC,QAAMvK,SAAS,GAAG+K,sBAAlB;EACA,QAAMI,YAAY,GAAGnL,SAAS,CAACuK,GAAG,CAAC,CAAD,CAAJ,CAA9B;EAEA,SAAO,CACL,MAAMY,YAAN,GAAqB,EADhB,EAEL,OAAOnL,SAAS,CAACuK,GAAG,CAAC,CAAD,CAAH,GAAS,OAAV,CAAT,GAA8BY,YAArC,CAFK,EAGL,OAAOA,YAAY,GAAGnL,SAAS,CAACuK,GAAG,CAAC,CAAD,CAAH,GAAS,OAAV,CAA/B,CAHK,CAAP;EAKD;EAEM,SAASI,KAAT,CAAgBS,GAAhB,EAA+B;EACpC,QAAMpL,SAAS,GAAGkL,sBAAlB;EACA,QAAMG,EAAE,GAAG,CAACD,GAAG,CAAC,CAAD,CAAH,GAAS,EAAV,IAAgB,GAA3B;EACA,SAAO,CACLpL,SAAS,CAACqL,EAAE,GAAGD,GAAG,CAAC,CAAD,CAAH,GAAS,GAAf,CAAT,GAA+B,OAD1B,EAELpL,SAAS,CAACqL,EAAD,CAFJ,EAGLrL,SAAS,CAACqL,EAAE,GAAGD,GAAG,CAAC,CAAD,CAAH,GAAS,GAAf,CAAT,GAA+B,OAH1B,CAAP;EAKD;;ECnCD;;EAsBO,SAASE,UAAT,CAAqBC,KAArB,EAA6D;EAClE,SAAO,CAAC,CAACA,KAAF,IAAW,6BAA6BpE,IAA7B,CAAkCoE,KAAlC,CAAlB;EACD;EAEM,SAASC,UAAT,CAAqBD,KAArB,EAA6C;EAClD,MAAIf,GAAJ;;EAEA,MAAI,OAAOe,KAAP,KAAiB,QAArB,EAA+B;EAC7Bf,IAAAA,GAAG,GAAGe,KAAN;EACD,GAFD,MAEO,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;EACpC,QAAIjJ,CAAC,GAAGiJ,KAAK,CAACjL,UAAN,CAAiB,GAAjB,IAAwBiL,KAAK,CAACE,SAAN,CAAgB,CAAhB,CAAxB,GAA6CF,KAArD;;EACA,QAAIjJ,CAAC,CAACc,MAAF,KAAa,CAAjB,EAAoB;EAClBd,MAAAA,CAAC,GAAGA,CAAC,CAAC9B,KAAF,CAAQ,EAAR,EAAY8C,GAAZ,CAAgBoI,IAAI,IAAIA,IAAI,GAAGA,IAA/B,EAAqC/H,IAArC,CAA0C,EAA1C,CAAJ;EACD;;EACD,QAAIrB,CAAC,CAACc,MAAF,KAAa,CAAjB,EAAoB;EAClBxB,MAAAA,WAAW,CAAE,IAAG2J,KAAM,4BAAX,CAAX;EACD;;EACDf,IAAAA,GAAG,GAAGmB,QAAQ,CAACrJ,CAAD,EAAI,EAAJ,CAAd;EACD,GATM,MASA;EACL,UAAM,IAAIsJ,SAAJ,CAAe,mDAAkDL,KAAK,IAAI,IAAT,GAAgBA,KAAhB,GAAwBA,KAAK,CAACvM,WAAN,CAAkB6D,IAAK,UAAhH,CAAN;EACD;;EAED,MAAI2H,GAAG,GAAG,CAAV,EAAa;EACX5I,IAAAA,WAAW,CAAE,+BAA8B2J,KAAM,GAAtC,CAAX;EACAf,IAAAA,GAAG,GAAG,CAAN;EACD,GAHD,MAGO,IAAIA,GAAG,GAAG,QAAN,IAAkBrF,KAAK,CAACqF,GAAD,CAA3B,EAAkC;EACvC5I,IAAAA,WAAW,CAAE,IAAG2J,KAAM,4BAAX,CAAX;EACAf,IAAAA,GAAG,GAAG,QAAN;EACD;;EAED,SAAOA,GAAP;EACD;EAwBM,SAASqB,QAAT,CAAmBN,KAAnB,EAA4C;EACjD,MAAIO,QAAgB,GAAGP,KAAK,CAACQ,QAAN,CAAe,EAAf,CAAvB;EAEA,MAAID,QAAQ,CAAC1I,MAAT,GAAkB,CAAtB,EAAyB0I,QAAQ,GAAG,IAAItI,MAAJ,CAAW,IAAIsI,QAAQ,CAAC1I,MAAxB,IAAkC0I,QAA7C;EAEzB,SAAO,MAAMA,QAAb;EACD;EA2JM,SAASE,UAAT,CAAqBT,KAArB,EAAoC;EACzC,QAAMU,GAAG,GAAGT,UAAU,CAACD,KAAD,CAAtB;EAEA,SAAO;EACLX,IAAAA,CAAC,EAAE,CAACqB,GAAG,GAAG,QAAP,KAAoB,EADlB;EAELpB,IAAAA,CAAC,EAAE,CAACoB,GAAG,GAAG,MAAP,KAAkB,CAFhB;EAGL9H,IAAAA,CAAC,EAAG8H,GAAG,GAAG;EAHL,GAAP;EAKD;EAEM,SAASC,OAAT,CAAkB1E,KAAlB,EAAmC2E,MAAnC,EAA6D;EAClE,QAAMf,GAAG,GAAGgB,OAAA,CAAeC,OAAA,CAAW7E,KAAX,CAAf,CAAZ,CADkE;EAGlE;;EACA4D,EAAAA,GAAG,CAAC,CAAD,CAAH,GAASA,GAAG,CAAC,CAAD,CAAH,GAASe,MAAM,GAAG,EAA3B;EAEA,SAAOE,SAAA,CAAaD,KAAA,CAAahB,GAAb,CAAb,CAAP;EACD;EAEM,SAASkB,MAAT,CAAiB9E,KAAjB,EAAkC2E,MAAlC,EAA4D;EACjE,QAAMf,GAAG,GAAGgB,OAAA,CAAeC,OAAA,CAAW7E,KAAX,CAAf,CAAZ;EACA4D,EAAAA,GAAG,CAAC,CAAD,CAAH,GAASA,GAAG,CAAC,CAAD,CAAH,GAASe,MAAM,GAAG,EAA3B;EAEA,SAAOE,SAAA,CAAaD,KAAA,CAAahB,GAAb,CAAb,CAAP;EACD;EAED;EACA;EACA;EACA;;EACO,SAASmB,OAAT,CAAkBhB,KAAlB,EAAgC;EACrC,QAAMf,GAAG,GAAGgB,UAAU,CAACD,KAAD,CAAtB;EAEA,SAAOc,OAAA,CAAW7B,GAAX,EAAgB,CAAhB,CAAP;EACD;;EChRD;;EAeO,MAAMgC,cAAmD,GAAGC,MAAM,CAACC,GAAP,CAAW,kBAAX,CAA5D;EAEA,SAASC,cAAT,CAAyBhK,OAAzB,EAA4E;EACjF,SAAO0G,OAAG,CAAC1G,OAAD,WAACA,OAAD,GAAY,EAAZ,CAAV;EACD;EAEM,SAASiK,WAAT,GAAwB;EAC7B,QAAMC,QAAQ,GAAGC,UAAM,CAACN,cAAD,CAAvB;EAEA,MAAI,CAACK,QAAL,EAAe,MAAM,IAAIE,KAAJ,CAAU,4CAAV,CAAN;EAEf,SAAOF,QAAP;EACD;EAEM,SAASG,eAAT,CACLH,QADK,EAELlK,OAFK,EAOL;EACA,QAAMsK,gBAAgB,GAAGL,WAAW,EAApC;EACA,QAAMM,gBAAgB,GAAG7D,OAAG,CAACwD,QAAD,CAA5B;EAEA,QAAMM,WAAW,GAAGC,YAAQ,CAAC,MAAM;EACjC,UAAMC,MAAM,GAAGC,SAAK,CAAC3K,OAAD,oBAACA,OAAO,CAAE0K,MAAV,CAApB;EACA,UAAME,KAAK,GAAGD,SAAK,CAAC3K,OAAD,oBAACA,OAAO,CAAE4K,KAAV,CAAnB;EACA,UAAMC,IAAI,GAAGF,SAAK,CAAC3K,OAAD,oBAACA,OAAO,CAAE6K,IAAV,CAAlB;EAEA,QAAIC,UAAU,GAAGvF,SAAS,CAACgF,gBAAgB,CAAC1F,KAAlB,EAAyB;EAAEkG,MAAAA,IAAI,EAAET,gBAAgB,CAACzF;EAAzB,KAAzB,CAA1B;EAEA,QAAI6F,MAAJ,EAAY,OAAOI,UAAP;;EAEZ,QAAIF,KAAK,IAAIC,IAAb,EAAmB;EACjB,YAAMG,GAAG,GAAGrI,MAAM,CAACiI,KAAK,IAAIK,QAAV,CAAlB;;EAEA,WAAK,IAAIrK,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAIoK,GAArB,EAA0BpK,CAAC,EAA3B,EAA+B;EAC7B,YAAI,CAACkK,UAAU,CAACC,IAAhB,EAAsB;EAEtBD,QAAAA,UAAU,GAAGA,UAAU,CAACC,IAAxB;EACD;;EAED,aAAOD,UAAP;EACD;;EAED,WAAOvF,SAAS,CAACuF,UAAD,EAAaA,UAAU,CAACC,IAAxB,CAAhB;EACD,GAtB2B,CAA5B;EAwBAG,EAAAA,WAAO,CAACrB,cAAD,EAAiBW,WAAjB,CAAP;EAEA,SAAOA,WAAP;EACD;;ECnED;;EA0BA,SAASW,aAAT,CAAwBvE,KAAxB,EAAsCwE,IAAtC,EAAoD;EAAA;;EAClD,SAAO,iBAAAxE,KAAK,CAAChF,KAAN,kCAAayJ,cAAb,CAA4BD,IAA5B,wBACPxE,KAAK,CAAChF,KADC,qBACP,cAAayJ,cAAb,CAA4B/E,WAAW,CAAC8E,IAAD,CAAvC,CADO,CAAP;EAED;;EAEM,MAAME,eAAe,GAAI,SAASA,eAAT,CAA0BtL,OAA1B,EAAqD;EAAA;;EACnFA,EAAAA,OAAO,CAACuL,MAAR,sBAAiBvL,OAAO,CAACuL,MAAzB,8BAAmCvL,OAAO,CAACwL,KAA3C;;EAEA,MAAI,CAACxL,OAAO,CAACE,IAAb,EAAmB;EACjBjB,IAAAA,WAAW,CAAC,kFAAD,CAAX;EAEA,WAAOe,OAAP;EACD;;EAED,MAAIA,OAAO,CAACuL,MAAZ,EAAoB;EAClBvL,IAAAA,OAAO,CAACwL,KAAR,GAAgB,SAASA,KAAT,CAAgB5J,KAAhB,EAA4C6J,GAA5C,EAAiD;EAC/D,YAAMjN,EAAE,GAAGkN,sBAAkB,EAA7B;EACA,YAAMxB,QAAQ,GAAGD,WAAW,EAA5B;;EAEA,YAAM0B,MAAM,GAAGC,mBAAe,CAAC,EAAE,GAAGC,SAAK,CAACjK,KAAD;EAAV,OAAD,CAA9B;;EACAkK,MAAAA,eAAW,CAAC,MAAM;EAChB,cAAMC,cAAc,GAAG7B,QAAQ,CAACrF,KAAT,CAAemH,MAAtC;EACA,cAAMC,iBAAiB,GAAG/B,QAAQ,CAACrF,KAAT,CAAe7E,OAAO,CAACE,IAAvB,CAA1B;;EAEA,aAAK,MAAMkL,IAAX,IAAmBzJ,MAAM,CAACE,IAAP,CAAYD,KAAZ,CAAnB,EAAuC;EACrC,cAAIsK,MAAJ;;EACA,cAAIf,aAAa,CAAC3M,EAAE,CAACoI,KAAJ,EAAWwE,IAAX,CAAjB,EAAmC;EACjCc,YAAAA,MAAM,GAAGtK,KAAK,CAACwJ,IAAD,CAAd;EACD,WAFD,MAEO;EAAA;;EACLc,YAAAA,MAAM,oCAAGD,iBAAH,oBAAGA,iBAAiB,CAAGb,IAAH,CAApB,oCAAgCW,cAAhC,oBAAgCA,cAAc,CAAGX,IAAH,CAA9C,mBAA0DxJ,KAAK,CAACwJ,IAAD,CAArE;EACD;;EACD,cAAIO,MAAM,CAACP,IAAD,CAAN,KAAiBc,MAArB,EAA6B;EAC3BP,YAAAA,MAAM,CAACP,IAAD,CAAN,GAAec,MAAf;EACD;EACF;EACF,OAfU,CAAX;EAiBA,aAAOlM,OAAO,CAACuL,MAAR,CAAeI,MAAf,EAAuBF,GAAvB,CAAP;EACD,KAvBD;EAwBD;;EAED,SAAOzL,OAAP;EACD,CArCM;EAoDA,SAASmM,gBAAT,GA4B4G;EAAA,MA1B9GC,cA0B8G,uEA1B7F,IA0B6F;EACjH,SAAOpM,OAAO,IAAI,CAACoM,cAAc,GAAGd,eAAH,GAAqBe,mBAApC,EAAsDrM,OAAtD,CAAlB;EACD;;EC9GM,SAASsM,sBAAT,CACLC,KADK,EAIL;EAAA,MAFAC,GAEA,uEAFM,KAEN;EAAA,MADAtM,IACA;EACA,SAAOoL,eAAe,CAAC;EACrBpL,IAAAA,IAAI,EAAEA,IAAF,WAAEA,IAAF,GAAUuM,cAAU,CAACC,YAAQ,CAACH,KAAK,CAAC7M,OAAN,CAAc,KAAd,EAAqB,GAArB,CAAD,CAAT,CADH;EAGrBkC,IAAAA,KAAK,EAAE;EACL4K,MAAAA,GAAG,EAAE;EACHtG,QAAAA,IAAI,EAAEzD,MADH;EAEHkK,QAAAA,OAAO,EAAEH;EAFN;EADA,KAHc;;EAUrBhB,IAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,UAAX;EAAEgL,QAAAA;EAAF,OAAW;EACvB,aAAO;EAAA;;EAAA,eAAMxO,KAAC,CAACwD,KAAK,CAAC4K,GAAP,EAAY;EACxBK,UAAAA,KAAK,EAAEN;EADiB,SAAZ,oBAEXK,KAAK,CAACD,OAFK,qBAEX,oBAAAC,KAAK,CAFM,CAAP;EAAA,OAAP;EAGD;;EAdoB,GAAD,CAAtB;EAgBD;;ECxBD;EACA;EACA;EACA;EACA;EACO,SAASE,YAAT,CAAuB7G,IAAvB,EAAqE;EAC1E;EACA,MAAI,OAAOA,IAAI,CAAC8G,WAAZ,KAA4B,UAAhC,EAA4C;EAC1C;EACA,WAAO9G,IAAI,CAAC+G,UAAZ,EAAwB/G,IAAI,GAAGA,IAAI,CAAC+G,UAAZ,CAFkB;;;EAK1C,QAAI/G,IAAI,KAAKgH,QAAb,EAAuB,OAAO,IAAP;EAEvB,WAAOA,QAAP;EACD;;EAED,QAAMpC,IAAI,GAAG5E,IAAI,CAAC8G,WAAL,EAAb,CAZ0E;;EAe1E,MAAIlC,IAAI,KAAKoC,QAAT,IAAqBpC,IAAI,CAACkC,WAAL,CAAiB;EAAEG,IAAAA,QAAQ,EAAE;EAAZ,GAAjB,MAAyCD,QAAlE,EAA4E,OAAO,IAAP;EAE5E,SAAOpC,IAAP;EACD;;ECvBM,MAAMsC,cAAc,GAAG,8BAAvB;EACA,MAAMC,iBAAiB,GAAG,8BAA1B;;EACA,MAAMC,iBAAiB,GAAG,4BAA1B;;ECFP;EAIO,SAAS3B,kBAAT,CAA6BxL,IAA7B,EAA2C3B,OAA3C,EAA6D;EAClE,QAAMC,EAAE,GAAG8O,sBAAmB,EAA9B;;EAEA,MAAI,CAAC9O,EAAL,EAAS;EACP,UAAM,IAAI4L,KAAJ,CAAW,aAAYlK,IAAK,IAAG3B,OAAO,IAAI,6CAA8C,EAAxF,CAAN;EACD;;EAED,SAAOC,EAAP;EACD;EAEM,SAAS+O,sBAAT,GAAuD;EAAA;;EAAA,MAAtBrN,IAAsB,uEAAf,aAAe;EAC5D,SAAOoG,WAAW,0BAACoF,kBAAkB,CAACxL,IAAD,CAAlB,CAAyBgG,IAA1B,qBAAC,sBAA+BhG,IAAhC,CAAlB;EACD;;EChBM,SAASsN,eAAT,CAA0BzQ,EAA1B,EAA4C;EACjD,SAAOA,EAAP,EAAW;EACT,QAAI0Q,YAAY,CAAC1Q,EAAD,CAAhB,EAAsB,OAAOA,EAAP;EACtBA,IAAAA,EAAE,GAAGA,EAAE,CAAC2Q,aAAR;EACD;;EAED,SAAOT,QAAQ,CAACU,gBAAhB;EACD;EAEM,SAASC,gBAAT,CAA2B7Q,EAA3B,EAA6C;EAClD,QAAM8Q,QAAuB,GAAG,EAAhC;;EACA,SAAO9Q,EAAP,EAAW;EACT,QAAI0Q,YAAY,CAAC1Q,EAAD,CAAhB,EAAsB8Q,QAAQ,CAAC9O,IAAT,CAAchC,EAAd;EACtBA,IAAAA,EAAE,GAAGA,EAAE,CAAC2Q,aAAR;EACD;;EAED,SAAOG,QAAP;EACD;EAEM,SAASJ,YAAT,CAAuB1Q,EAAvB,EAA4C;EACjD,MAAI,CAACA,EAAD,IAAOA,EAAE,CAAC+Q,QAAH,KAAgBC,IAAI,CAACC,YAAhC,EAA8C,OAAO,KAAP;EAE9C,QAAM9Q,KAAK,GAAG+Q,MAAM,CAAC9Q,gBAAP,CAAwBJ,EAAxB,CAAd;EACA,SAAOG,KAAK,CAACgR,SAAN,KAAoB,QAApB,IAAiChR,KAAK,CAACgR,SAAN,KAAoB,MAApB,IAA8BnR,EAAE,CAACoR,YAAH,GAAkBpR,EAAE,CAACqR,YAA3F;EACD;;ECxBM,MAAMC,OAAO,GAAG,OAAOC,OAAP,KAAmB,WAAnC;EACA,MAAMC,UAAU,GAAG,OAAON,MAAP,KAAkB,WAArC;EACiBI,OAAO,IAAIC,OAAO,CAACE,GAAR,CAAYC,KAAZ,KAAsB;EAClCJ,OAAO,IAAIC,OAAO,CAACE,GAAR,CAAYE,QAAZ,KAAyB;EACpD,MAAMC,qBAAqB,GAAGJ,UAAU,IAAI,0BAA0BN,MAAtE;EACA,MAAMW,cAAc,GAAGL,UAAU,KAAK,kBAAkBN,MAAlB,IAA4BA,MAAM,CAACY,SAAP,CAAiBC,cAAjB,GAAkC,CAAnE,CAAjC;EACA,MAAMC,sBAAsB,GAAGR,UAAU,IAAIS,GAAG,CAACC,QAAJ,CAAa,0BAAb,CAA7C;;ECNA,SAASC,eAAT,CAA0BnS,EAA1B,EAA4C;EACjD,SAAOA,EAAP,EAAW;EACT,QAAIkR,MAAM,CAAC9Q,gBAAP,CAAwBJ,EAAxB,EAA4BoS,QAA5B,KAAyC,OAA7C,EAAsD;EACpD,aAAO,IAAP;EACD;;EACDpS,IAAAA,EAAE,GAAGA,EAAE,CAACqS,YAAR;EACD;;EACD,SAAO,KAAP;EACD;;ECND;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEO,SAASC,YAAT,CAEJzN,KAFI,EAEiB4D,MAFjB,EAEkC;EACvC,SACE0E,QADK,IAEqC;EAC1C,WAAOvI,MAAM,CAACE,IAAP,CAAYD,KAAZ,EAAmB0N,MAAnB,CAA+B,CAACpO,GAAD,EAAMkK,IAAN,KAAe;EACnD,YAAMmE,kBAAkB,GAAG,OAAO3N,KAAK,CAACwJ,IAAD,CAAZ,KAAuB,QAAvB,IAAmCxJ,KAAK,CAACwJ,IAAD,CAAL,IAAe,IAAlD,IAA0D,CAACtK,KAAK,CAACC,OAAN,CAAca,KAAK,CAACwJ,IAAD,CAAnB,CAAtF;EACA,YAAMoE,UAAU,GAAGD,kBAAkB,GAAG3N,KAAK,CAACwJ,IAAD,CAAR,GAAiB;EAAElF,QAAAA,IAAI,EAAEtE,KAAK,CAACwJ,IAAD;EAAb,OAAtD;;EAEA,UAAIlB,QAAQ,IAAIkB,IAAI,IAAIlB,QAAxB,EAAkC;EAChChJ,QAAAA,GAAG,CAACkK,IAAD,CAAH,GAAY,EACV,GAAGoE,UADO;EAEV7C,UAAAA,OAAO,EAAEzC,QAAQ,CAACkB,IAAD;EAFP,SAAZ;EAID,OALD,MAKO;EACLlK,QAAAA,GAAG,CAACkK,IAAD,CAAH,GAAYoE,UAAZ;EACD;;EAED,UAAIhK,MAAJ,EAAY;EACVtE,QAAAA,GAAG,CAACkK,IAAD,CAAH,CAAU5F,MAAV,GAAmBA,MAAnB;EACD;;EAED,aAAOtE,GAAP;EACD,KAlBM,EAkBJ,EAlBI,CAAP;EAmBD,GAtBD;EAuBD;;ECtDD;;EAMO,SAASuO,SAAT,CAAoBC,MAApB,EAA+C;EACpD,QAAMlR,EAAE,GAAGkN,kBAAkB,CAAC,WAAD,CAA7B;EACAlN,EAAAA,EAAE,CAACkR,MAAH,GAAYA,MAAZ;EACD;;ECTD;EACA;EACA;EACA;EACA;EAEA;EAEA;EAEA;EACA;EACA;EACA;EACA,MAAMC,OAAO,GAAG,GAAhB;EAEA,MAAMC,GAAG,GAAG,SAAZ;;EACA,MAAMC,GAAG,GAAG,SAAZ;;EACA,MAAMC,GAAG,GAAG,SAAZ;EAEA;EAEA;EACA;EACA;;EACA,MAAMC,MAAM,GAAG,IAAf;EACA,MAAMC,OAAO,GAAG,IAAhB;EACA,MAAMC,MAAM,GAAG,IAAf;EACA,MAAMC,KAAK,GAAG,IAAd;;EAIA,MAAMC,OAAO,GAAG,IAAhB;;EACA,MAAMC,OAAO,GAAG,IAAhB;;EACA,MAAMC,SAAS,GAAG,MAAlB;;EACA,MAAMC,QAAQ,GAAG,IAAjB;;EACA,MAAMC,QAAQ,GAAG,IAAjB;;EACA,MAAMC,WAAW,GAAG,KAApB;;EACA,MAAMC,WAAW,GAAG,iBAApB;;EACA,MAAMC,WAAW,GAAG,IAApB;;EACA,MAAMC,MAAM,GAAG,KAAf;;EAEO,SAASC,YAAT,CAAuBC,IAAvB,EAAqCC,UAArC,EAAyD;EAC9D;EACA,QAAMC,IAAI,GAAG,CAAC,CAACF,IAAI,IAAI,EAAR,GAAa,IAAd,IAAsB,GAAvB,KAA+BlB,OAA5C;EACA,QAAMqB,IAAI,GAAG,CAAC,CAACH,IAAI,IAAI,CAAR,GAAY,IAAb,IAAqB,GAAtB,KAA8BlB,OAA3C;EACA,QAAMsB,IAAI,GAAG,CAAC,CAACJ,IAAI,IAAI,CAAR,GAAY,IAAb,IAAqB,GAAtB,KAA8BlB,OAA3C;EAEA,QAAMuB,GAAG,GAAG,CAAC,CAACJ,UAAU,IAAI,EAAd,GAAmB,IAApB,IAA4B,GAA7B,KAAqCnB,OAAjD;EACA,QAAMwB,GAAG,GAAG,CAAC,CAACL,UAAU,IAAI,CAAd,GAAkB,IAAnB,IAA2B,GAA5B,KAAoCnB,OAAhD;EACA,QAAMyB,GAAG,GAAG,CAAC,CAACN,UAAU,IAAI,CAAd,GAAkB,IAAnB,IAA2B,GAA5B,KAAoCnB,OAAhD,CAR8D;;EAW9D,MAAI0B,IAAI,GAAIN,IAAI,GAAGnB,GAAR,GAAgBoB,IAAI,GAAGnB,GAAvB,GAA+BoB,IAAI,GAAGnB,GAAjD;EACA,MAAIwB,GAAG,GAAIJ,GAAG,GAAGtB,GAAP,GAAeuB,GAAG,GAAGtB,GAArB,GAA6BuB,GAAG,GAAGtB,GAA7C,CAZ8D;EAe9D;;EACA,MAAIuB,IAAI,IAAIlB,OAAZ,EAAqBkB,IAAI,IAAI,CAAClB,OAAO,GAAGkB,IAAX,KAAoBjB,OAA5B;EACrB,MAAIkB,GAAG,IAAInB,OAAX,EAAoBmB,GAAG,IAAI,CAACnB,OAAO,GAAGmB,GAAX,KAAmBlB,OAA1B,CAjB0C;;EAoB9D,MAAIpL,IAAI,CAACK,GAAL,CAASiM,GAAG,GAAGD,IAAf,IAAuBhB,SAA3B,EAAsC,OAAO,GAAP,CApBwB;;EAwB9D,MAAIkB,cAAJ,CAxB8D;;EAyB9D,MAAID,GAAG,GAAGD,IAAV,EAAgB;EACd;EACA;EAEA,UAAMG,IAAI,GAAG,CAAEF,GAAG,IAAIvB,MAAR,GAAmBsB,IAAI,IAAIrB,OAA5B,IAAwCM,QAArD,CAJc;EAOd;EACA;EACA;EACA;;EACAiB,IAAAA,cAAc,GACXC,IAAI,GAAGb,MAAR,GAAkB,GAAlB,GACGa,IAAI,GAAGhB,WAAR,GAAuBgB,IAAI,GAAGA,IAAI,GAAGf,WAAP,GAAqBC,WAAnD,GACAc,IAAI,GAAGd,WAHX;EAID,GAfD,MAeO;EACL;EACA;EAEA,UAAMc,IAAI,GAAG,CAAEF,GAAG,IAAIpB,KAAR,GAAkBmB,IAAI,IAAIpB,MAA3B,IAAsCM,QAAnD;EAEAgB,IAAAA,cAAc,GACXC,IAAI,GAAG,CAACb,MAAT,GAAmB,GAAnB,GACGa,IAAI,GAAG,CAAChB,WAAT,GAAwBgB,IAAI,GAAGA,IAAI,GAAGf,WAAP,GAAqBC,WAApD,GACAc,IAAI,GAAGd,WAHX;EAID;;EAED,SAAOa,cAAc,GAAG,GAAxB;EACD;;EC/FD;;EAsFO,MAAME,WAAwC,GAAG3H,MAAM,CAACC,GAAP,CAAW,eAAX,CAAjD;EAEA,MAAM2H,cAAc,GAAGrC,YAAY,CAAC;EACzCsC,EAAAA,KAAK,EAAElP;EADkC,CAAD,EAEvC,OAFuC,CAAnC;EAIP,MAAMmP,mBAAiC,GAAG;EACxCC,EAAAA,YAAY,EAAE,OAD0B;EAExCC,EAAAA,UAAU,EAAE;EAAEC,IAAAA,MAAM,EAAE,EAAV;EAAcxI,IAAAA,OAAO,EAAE,CAAvB;EAA0BI,IAAAA,MAAM,EAAE;EAAlC,GAF4B;EAGxCqI,EAAAA,MAAM,EAAE;EACNC,IAAAA,KAAK,EAAE;EACLC,MAAAA,IAAI,EAAE,KADD;EAELH,MAAAA,MAAM,EAAE;EACNjB,QAAAA,UAAU,EAAE,SADN;EAENqB,QAAAA,OAAO,EAAE,SAFH;EAGN,2BAAmB,SAHb;EAIN,8BAAsB,SAJhB;EAKNC,QAAAA,OAAO,EAAE,SALH;EAMN,4BAAoB,SANd;EAONC,QAAAA,SAAS,EAAE,SAPL;EAQN,8BAAsB,SARhB;EASN/S,QAAAA,KAAK,EAAE,SATD;EAUNgT,QAAAA,IAAI,EAAE,SAVA;EAWNC,QAAAA,OAAO,EAAE,SAXH;EAYNC,QAAAA,OAAO,EAAE;EAZH,OAFH;EAgBLC,MAAAA,SAAS,EAAE;EACT,wBAAgB,SADP;EAET,0BAAkB,IAFT;EAGT,iCAAyB,IAHhB;EAIT,mCAA2B,IAJlB;EAKT,4BAAoB,IALX;EAMT,wBAAgB,IANP;EAOT,yBAAiB,IAPR;EAQT,yBAAiB,IARR;EAST,4BAAoB,IATX;EAUT,6BAAqB,IAVZ;EAWT,2BAAmB,IAXV;EAYT,2BAAmB,IAZV;EAaT,gCAAwB,SAbf;EAcT,qBAAa,SAdJ;EAeT,iCAAyB;EAfhB;EAhBN,KADD;EAmCNP,IAAAA,IAAI,EAAE;EACJA,MAAAA,IAAI,EAAE,IADF;EAEJH,MAAAA,MAAM,EAAE;EACNjB,QAAAA,UAAU,EAAE,SADN;EAENqB,QAAAA,OAAO,EAAE,SAFH;EAGN,2BAAmB,SAHb;EAIN,8BAAsB,SAJhB;EAKNC,QAAAA,OAAO,EAAE,SALH;EAMN,4BAAoB,SANd;EAONC,QAAAA,SAAS,EAAE,SAPL;EAQN,8BAAsB,SARhB;EASN/S,QAAAA,KAAK,EAAE,SATD;EAUNgT,QAAAA,IAAI,EAAE,SAVA;EAWNC,QAAAA,OAAO,EAAE,SAXH;EAYNC,QAAAA,OAAO,EAAE;EAZH,OAFJ;EAgBJC,MAAAA,SAAS,EAAE;EACT,wBAAgB,SADP;EAET,0BAAkB,IAFT;EAGT,iCAAyB,IAHhB;EAIT,mCAA2B,IAJlB;EAKT,4BAAoB,IALX;EAMT,wBAAgB,IANP;EAOT,yBAAiB,IAPR;EAQT,yBAAiB,IARR;EAST,4BAAoB,IATX;EAUT,6BAAqB,IAVZ;EAWT,2BAAmB,IAXV;EAYT,2BAAmB,IAZV;EAaT,gCAAwB,SAbf;EAcT,qBAAa,SAdJ;EAeT,iCAAyB;EAfhB;EAhBP;EAnCA;EAHgC,CAA1C;;EA2EA,MAAMC,iBAAiB,GAAG,YAAuE;EAAA;;EAAA,MAAtE1S,OAAsE,uEAA9C4R,mBAA8C;EAC/F,MAAI,CAAC5R,OAAL,EAAc,OAAO,EAAE,GAAG4R,mBAAL;EAA0Be,IAAAA,UAAU,EAAE;EAAtC,GAAP;EAEd,QAAMX,MAAM,GAAGrQ,MAAM,CAACiR,OAAP,oBAAe5S,OAAO,CAACgS,MAAvB,8BAAiC,EAAjC,EAAqC1C,MAArC,CAA4C,CAACpO,GAAD,WAAuB;EAAA;;EAAA,QAAjB,CAACmD,GAAD,EAAMsN,KAAN,CAAiB;EAChF,UAAME,YAAY,GAAGF,KAAK,CAACO,IAAN,4BAAaN,mBAAmB,CAACI,MAAjC,qBAAa,sBAA4BE,IAAzC,6BAAgDN,mBAAmB,CAACI,MAApE,qBAAgD,uBAA4BC,KAAjG;EACA/Q,IAAAA,GAAG,CAACmD,GAAD,CAAH,GAAWkB,SAAS,CAACsM,YAAD,EAAeF,KAAf,CAApB;EACA,WAAOzQ,GAAP;EACD,GAJc,EAIZ,EAJY,CAAf;EAMA,SAAOqE,SAAS,CACdqM,mBADc,EAEd,EAAE,GAAG5R,OAAL;EAAcgS,IAAAA;EAAd,GAFc,CAAhB;EAID,CAbD;;;EAgBO,SAASa,WAAT,CAAsBC,GAAtB,EAAgC9S,OAAhC,EAAuE;EAC5E,QAAM+S,IAAI,GAAGD,GAAG,CAACE,QAAJ,CAAaC,QAAb,CAAsBC,OAAnC;EACA,QAAMC,aAAa,GAAGT,iBAAiB,CAAC1S,OAAD,CAAvC;EACA,QAAMoT,OAAO,GAAG1M,OAAG,EAAnB;EACA,QAAM2M,OAAO,GAAG3M,OAAG,CAACyM,aAAa,CAACtB,YAAf,CAAnB;EACA,QAAMG,MAAM,GAAGtL,OAAG,CAACyM,aAAa,CAACnB,MAAf,CAAlB;EACA,QAAMF,UAAU,GAAGpL,OAAG,CAACyM,aAAa,CAACrB,UAAf,CAAtB;EAEA,QAAMwB,cAAc,GAAG7I,YAAQ,CAAC,MAAM;EACpC,WAAO9I,MAAM,CAACiR,OAAP,CAAeZ,MAAM,CAACnN,KAAtB,EAA6ByK,MAA7B,CAAoC,CAACpO,GAAD,YAA2B;EAAA;;EAAA,UAArB,CAAChB,IAAD,EAAOqT,QAAP,CAAqB;EACpE,YAAM5B,KAA8B,GAAG,EACrC,GAAG4B,QADkC;EAErCxB,QAAAA,MAAM,EAAE,EACN,GAAGwB,QAAQ,CAACxB,MADN;EAEN,aAAG,0BAACoB,aAAa,CAACrB,UAAd,CAAyBC,MAA1B,oCAAoC,EAApC,EAAwCzC,MAAxC,CAA+C,CAACpO,GAAD,EAAM0H,KAAN,KAAgB;EAChE,mBAAO,EAAE,GAAG1H,GAAL;EAAU,iBAAGsS,kBAAkB,CAAC5K,KAAD,EAAQ2K,QAAQ,CAACxB,MAAT,CAAgBnJ,KAAhB,CAAR;EAA/B,aAAP;EACD,WAFE,EAEA,EAFA;EAFG;EAF6B,OAAvC;;EAUA,WAAK,MAAMA,KAAX,IAAoBjH,MAAM,CAACE,IAAP,CAAY8P,KAAK,CAACI,MAAlB,CAApB,EAA+C;EAC7C,YAAI,WAAWvN,IAAX,CAAgBoE,KAAhB,KAA0B+I,KAAK,CAACI,MAAN,CAAc,MAAKnJ,KAAM,EAAzB,CAA9B,EAA2D;EAE3D,cAAM6K,OAAO,GAAI,MAAK7K,KAAM,EAA5B;EACA,cAAM8K,QAAQ,GAAG7K,UAAU,CAAC8I,KAAK,CAACI,MAAN,CAAanJ,KAAb,CAAD,CAA3B;EAEA,cAAM+K,aAAa,GAAG3O,IAAI,CAACK,GAAL,CAASuL,YAAY,CAAC,CAAD,EAAI8C,QAAJ,CAArB,CAAtB;EACA,cAAME,aAAa,GAAG5O,IAAI,CAACK,GAAL,CAASuL,YAAY,CAAC,QAAD,EAAW8C,QAAX,CAArB,CAAtB,CAP6C;EAU7C;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;EACA/B,QAAAA,KAAK,CAACI,MAAN,CAAa0B,OAAb,IAAwBG,aAAa,GAAG5O,IAAI,CAACF,GAAL,CAAS6O,aAAT,EAAwB,EAAxB,CAAhB,GAA8C,MAA9C,GAAuD,MAA/E;EACD;;EAEDzS,MAAAA,GAAG,CAAChB,IAAD,CAAH,GAAYyR,KAAZ;EAEA,aAAOzQ,GAAP;EACD,KApCM,EAoCJ,EApCI,CAAP;EAqCD,GAtC8B,CAA/B;;EAwCA,WAASsS,kBAAT,CAA6BtT,IAA7B,EAA2C0I,KAA3C,EAA0D;EACxD,UAAM1H,GAA2B,GAAG,EAApC;;EACA,SAAK,MAAM2S,SAAX,IAAyB,CAAC,SAAD,EAAY,QAAZ,CAAzB,EAA0D;EACxD,YAAMC,EAAE,GAAGD,SAAS,KAAK,SAAd,GAA0BtK,OAA1B,GAAoCI,MAA/C;;EACA,WAAK,MAAMH,MAAX,IAAqBvH,WAAW,CAAC6P,UAAU,CAACjN,KAAX,CAAiBgP,SAAjB,CAAD,EAA8B,CAA9B,CAAhC,EAAkE;EAChE3S,QAAAA,GAAG,CAAE,GAAEhB,IAAK,IAAG2T,SAAU,IAAGrK,MAAO,EAAhC,CAAH,GAAwCN,QAAQ,CAAC4K,EAAE,CAACjL,UAAU,CAACD,KAAD,CAAX,EAAoBY,MAApB,CAAH,CAAhD;EACD;EACF;;EAED,WAAOtI,GAAP;EACD;;EAED,QAAM6S,MAAM,GAAGtJ,YAAQ,CAAC,MAAM;EAC5B,UAAMuJ,KAAK,GAAG,EAAd;;EAEA,SAAK,MAAMC,SAAX,IAAwBtS,MAAM,CAACE,IAAP,CAAYyR,cAAc,CAACzO,KAA3B,CAAxB,EAA2D;EACzD,YAAM4N,SAAS,GAAGa,cAAc,CAACzO,KAAf,CAAqBoP,SAArB,EAAgCxB,SAAlD;EAEAuB,MAAAA,KAAK,CAACjV,IAAN,CAAW,GAAGmV,cAAc,CAAE,aAAYD,SAAU,EAAxB,EAA2B,CACrD,GAAGE,eAAe,CAACF,SAAD,CADmC,EAErD,GAAGtS,MAAM,CAACE,IAAP,CAAY4Q,SAAZ,EAAuB9R,GAAvB,CAA2B0D,GAAG,IAAI;EACnC,cAAMQ,KAAK,GAAG4N,SAAS,CAACpO,GAAD,CAAvB;EACA,cAAMuE,KAAK,GAAG,OAAO/D,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,CAAClH,UAAN,CAAiB,GAAjB,CAA7B,GAAqD0L,UAAU,CAACxE,KAAD,CAA/D,GAAyExD,SAAvF;EACA,cAAMwG,GAAG,GAAGe,KAAK,GAAI,GAAEA,KAAK,CAACX,CAAE,KAAIW,KAAK,CAACV,CAAE,KAAIU,KAAK,CAACpH,CAAE,EAAtC,GAA0CH,SAA3D;EAEA,eAAQ,OAAMgD,GAAI,KAAIwD,GAAf,WAAeA,GAAf,GAAsBhD,KAAM,EAAnC;EACD,OANE,CAFkD,CAA3B,CAA5B;EAUD;;EAED,UAAMkN,MAAM,GAAG,IAAIqC,GAAJ,CAAQzS,MAAM,CAACyF,MAAP,CAAckM,cAAc,CAACzO,KAA7B,EAAoCwP,OAApC,CAA4C1C,KAAK,IAAIhQ,MAAM,CAACE,IAAP,CAAY8P,KAAK,CAACI,MAAlB,CAArD,CAAR,CAAf;;EACA,SAAK,MAAM1N,GAAX,IAAkB0N,MAAlB,EAA0B;EACxB,UAAI,WAAWvN,IAAX,CAAgBH,GAAhB,CAAJ,EAA0B;EACxB2P,QAAAA,KAAK,CAACjV,IAAN,CAAW,GAAGmV,cAAc,CAAE,IAAG7P,GAAI,EAAT,EAAY,CAAE,4BAA2BA,GAAI,eAAjC,CAAZ,CAA5B;EACD,OAFD,MAEO;EACL2P,QAAAA,KAAK,CAACjV,IAAN,CACE,GAAGmV,cAAc,CAAE,OAAM7P,GAAI,EAAZ,EAAe,CAC7B,+CAA8CA,GAAI,sBADrB,EAE7B,iCAAgCA,GAAI,eAFP,EAG7B,+BAA8BA,GAAI,eAHL,CAAf,CADnB,EAME,GAAG6P,cAAc,CAAE,SAAQ7P,GAAI,EAAd,EAAiB,CAAE,4BAA2BA,GAAI,eAAjC,CAAjB,CANnB,EAOE,GAAG6P,cAAc,CAAE,WAAU7P,GAAI,EAAhB,EAAmB,CAAE,mCAAkCA,GAAI,GAAxC,CAAnB,CAPnB;EASD;EACF;;EAED,WAAO2P,KAAK,CAACrT,GAAN,CAAU,CAAClB,GAAD,EAAMmB,CAAN,KAAYA,CAAC,KAAK,CAAN,GAAUnB,GAAV,GAAiB,OAAMA,GAAI,EAAjD,EAAoDuB,IAApD,CAAyD,EAAzD,CAAP;EACD,GApCsB,CAAvB;;EAsCA,WAASmT,eAAT,CAA0BjU,IAA1B,EAAwC;EACtC,UAAMyR,KAAK,GAAG2B,cAAc,CAACzO,KAAf,CAAqB3E,IAArB,CAAd;EAEA,QAAI,CAACyR,KAAL,EAAY,MAAM,IAAIvH,KAAJ,CAAW,wBAAuBlK,IAAK,EAAvC,CAAN;EAEZ,UAAMoU,YAAY,GAAG3C,KAAK,CAACO,IAAN,GAAa,CAAb,GAAiB,CAAtC;EACA,UAAMqC,WAAW,GAAG5C,KAAK,CAACO,IAAN,GAAa,CAAb,GAAiB,CAArC;EAEA,UAAMO,SAAmB,GAAG,EAA5B;;EACA,SAAK,MAAM,CAACpO,GAAD,EAAMQ,KAAN,CAAX,IAA2BlD,MAAM,CAACiR,OAAP,CAAejB,KAAK,CAACI,MAArB,CAA3B,EAAyD;EACvD,YAAMlK,GAAG,GAAGwB,UAAU,CAACxE,KAAD,CAAtB;EACA4N,MAAAA,SAAS,CAAC1T,IAAV,CAAgB,aAAYsF,GAAI,KAAIwD,GAAG,CAACI,CAAE,IAAGJ,GAAG,CAACK,CAAE,IAAGL,GAAG,CAACrG,CAAE,EAA5D;;EACA,UAAI,CAAC6C,GAAG,CAAC1G,UAAJ,CAAe,KAAf,CAAL,EAA4B;EAC1B8U,QAAAA,SAAS,CAAC1T,IAAV,CAAgB,aAAYsF,GAAI,wBAAuBuF,OAAO,CAAC/E,KAAD,CAAP,GAAiB,IAAjB,GAAwByP,YAAxB,GAAuCC,WAAY,EAA1G;EACD;EACF;;EAED,WAAO9B,SAAP;EACD;;EAED,WAASyB,cAAT,CAAyBM,QAAzB,EAA2CC,OAA3C,EAA8D;EAC5D,WAAO,CACJ,GAAED,QAAS,MADP,EAEL,GAAGC,OAAO,CAAC9T,GAAR,CAAY+T,IAAI,IAAK,KAAIA,IAAK,KAA9B,CAFE,EAGL,KAHK,CAAP;EAKD;;EAED,MAAI3B,IAAJ,EAAU;EACRA,IAAAA,IAAI,CAAC4B,WAAL,CAAiBlK,YAAQ,CAAC,OAAO;EAC/BvN,MAAAA,KAAK,EAAE,CAAC;EACNkJ,QAAAA,QAAQ,EAAE2N,MAAM,CAAClP,KADX;EAENqB,QAAAA,IAAI,EAAE,UAFA;EAGN0O,QAAAA,EAAE,EAAE;EAHE,OAAD;EADwB,KAAP,CAAD,CAAzB;;EAQA,QAAIrG,UAAJ,EAAgB;EACdzC,MAAAA,eAAW,CAAC,MAAMiH,IAAI,CAAC8B,SAAL,EAAP,CAAX;EACD;EACF,GAZD,MAYO;EACLC,IAAAA,SAAK,CAAC9C,MAAD,EAAS+C,YAAT,EAAuB;EAAEC,MAAAA,IAAI,EAAE,IAAR;EAAcC,MAAAA,SAAS,EAAE;EAAzB,KAAvB,CAAL;;EAEA,aAASF,YAAT,GAAyB;EACvB,UAAI5B,aAAa,CAACR,UAAlB,EAA8B;EAE9BuC,MAAAA,eAAe;EAEf,UAAI9B,OAAO,CAACvO,KAAZ,EAAmBuO,OAAO,CAACvO,KAAR,CAAcsQ,SAAd,GAA0BpB,MAAM,CAAClP,KAAjC;EACpB;;EAED,aAASqQ,eAAT,GAA4B;EAC1B,UAAI,OAAOjI,QAAP,KAAoB,WAApB,IAAmCmG,OAAO,CAACvO,KAA/C,EAAsD;EAEtD,YAAM9H,EAAE,GAAGkQ,QAAQ,CAACmI,aAAT,CAAuB,OAAvB,CAAX;EACArY,MAAAA,EAAE,CAACmJ,IAAH,GAAU,UAAV;EACAnJ,MAAAA,EAAE,CAAC6X,EAAH,GAAQ,0BAAR;EAEAxB,MAAAA,OAAO,CAACvO,KAAR,GAAgB9H,EAAhB;EACAkQ,MAAAA,QAAQ,CAAC8F,IAAT,CAAcsC,WAAd,CAA0BjC,OAAO,CAACvO,KAAlC;EACD;EACF;;EAED,SAAO;EACL8N,IAAAA,UAAU,EAAEQ,aAAa,CAACR,UADrB;EAELX,IAAAA,MAAM,EAAEsB,cAFH;EAGLgC,IAAAA,QAAQ,EAAE,CAACjR,GAAD,EAAcsN,KAAd,KAAiDK,MAAM,CAACnN,KAAP,CAAaR,GAAb,IAAoBsN,KAH1E;EAIL4D,IAAAA,QAAQ,EAAGlR,GAAD,IAAiBiP,cAAc,CAACzO,KAAf,CAAqBR,GAArB,CAJtB;EAKLgP,IAAAA,OALK;EAMLmC,IAAAA,YAAY,EAAE/K,YAAQ,CAAC,MAAM0I,aAAa,CAACR,UAAd,GAA2BtR,SAA3B,GAAwC,YAAWgS,OAAO,CAACxO,KAAM,EAAxE,CANjB;EAOLkP,IAAAA;EAPK,GAAP;EASD;EAEM,SAAS0B,YAAT,CAAuB7T,KAAvB,EAAkD;EACvD8J,EAAAA,kBAAkB,CAAC,cAAD,CAAlB;EAEA,QAAMiG,KAAK,GAAGxH,UAAM,CAACsH,WAAD,EAAc,IAAd,CAApB;EAEA,MAAI,CAACE,KAAL,EAAY,MAAM,IAAIvH,KAAJ,CAAU,wCAAV,CAAN;EAEZ,QAAMiJ,OAAO,GAAG5I,YAAQ,CAAS,MAAM;EAAA;;EACrC,2BAAO7I,KAAK,CAAC+P,KAAb,2BAAsBA,KAAtB,oBAAsBA,KAAK,CAAE0B,OAAP,CAAexO,KAArC;EACD,GAFuB,CAAxB;EAIA,QAAM2Q,YAAY,GAAG/K,YAAQ,CAAC,MAAMkH,KAAK,CAACgB,UAAN,GAAmBtR,SAAnB,GAAgC,YAAWgS,OAAO,CAACxO,KAAM,EAAhE,CAA7B;EAEA,QAAM6Q,QAAuB,GAAG,EAC9B,GAAG/D,KAD2B;EAE9B0B,IAAAA,OAF8B;EAG9BmC,IAAAA;EAH8B,GAAhC;EAMAtK,EAAAA,WAAO,CAACuG,WAAD,EAAciE,QAAd,CAAP;EAEA,SAAOA,QAAP;EACD;EAEM,SAASC,QAAT,GAAqB;EAC1BjK,EAAAA,kBAAkB,CAAC,UAAD,CAAlB;EAEA,QAAMiG,KAAK,GAAGxH,UAAM,CAACsH,WAAD,EAAc,IAAd,CAApB;EAEA,MAAI,CAACE,KAAL,EAAY,MAAM,IAAIvH,KAAJ,CAAU,wCAAV,CAAN;EAEZ,SAAOuH,KAAP;EACD;;ECnYD;;EAkCO,MAAMiE,gBAA6C,GAAG9L,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAtD;EAEA,MAAM8L,eAAe,GAAGxG,YAAY,CAAC;EAC1CyG,EAAAA,QAAQ,EAAE;EACR5P,IAAAA,IAAI,EAAEpF,KADE;EAER6L,IAAAA,OAAO,EAAE,MAAO;EAFR,GADgC;EAK1CoJ,EAAAA,UAAU,EAAEC;EAL8B,CAAD,EAMxC,QANwC,CAApC;;EASA,MAAMC,mBAAmB,GAAG5G,YAAY,CAAC;EAC9CnP,EAAAA,IAAI,EAAE;EACJgG,IAAAA,IAAI,EAAEzD;EADF,GADwC;EAI9CyT,EAAAA,QAAQ,EAAE;EACRhQ,IAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADE;EAERkK,IAAAA,OAAO,EAAE;EAFD,GAJoC;EAQ9CwJ,EAAAA,QAAQ,EAAEH;EARoC,CAAD,EAS5C,aAT4C,CAAxC;EAWA,SAASI,SAAT,GAAsB;EAC3B,QAAMC,MAAM,GAAGlM,UAAM,CAACyL,gBAAD,CAArB;EAEA,MAAI,CAACS,MAAL,EAAa,MAAM,IAAIjM,KAAJ,CAAU,wCAAV,CAAN;EAEb,SAAOiM,MAAP;EACD;EAEM,SAASC,aAAT,CACLpW,IADK,EAELgW,QAFK,EAGL/G,QAHK,EAILoH,UAJK,EAKLC,WALK,EAMLC,MANK,EAOLC,kBAPK,EAQL;EACA,QAAML,MAAM,GAAGlM,UAAM,CAACyL,gBAAD,CAArB;EAEA,MAAI,CAACS,MAAL,EAAa,MAAM,IAAIjM,KAAJ,CAAU,wCAAV,CAAN;EAEb,QAAMwK,EAAE,GAAG1U,IAAH,WAAGA,IAAH,GAAY,eAAc2F,MAAM,EAAG,EAA3C;EAEA,QAAMkO,MAAM,GAAGsC,MAAM,CAACM,QAAP,CAAgB/B,EAAhB,EAAoBsB,QAApB,EAA8B/G,QAA9B,EAAwCoH,UAAxC,EAAoDC,WAApD,EAAiEC,MAAjE,EAAyEC,kBAAzE,CAAf;EAEAE,EAAAA,mBAAe,CAAC,MAAMP,MAAM,CAACQ,UAAP,CAAkBjC,EAAlB,CAAP,CAAf;EAEA,SAAOb,MAAP;EACD;;EAED,MAAM+C,cAAc,GAAG,CACrBT,MADqB,EAErBU,UAFqB,EAGrBC,SAHqB,EAIrBC,WAJqB,EAKrBC,WALqB,KAMlB;EACH,MAAIC,aAAa,GAAG;EAAEza,IAAAA,GAAG,EAAE,CAAP;EAAUE,IAAAA,IAAI,EAAE,CAAhB;EAAmBC,IAAAA,KAAK,EAAE,CAA1B;EAA6BF,IAAAA,MAAM,EAAE;EAArC,GAApB;EACA,QAAMya,MAAM,GAAG,CAAC;EAAExC,IAAAA,EAAE,EAAE,EAAN;EAAUyC,IAAAA,KAAK,EAAE,EAAE,GAAGF;EAAL;EAAjB,GAAD,CAAf;EACA,QAAMG,GAAG,GAAG,CAACjB,MAAM,CAAC5V,MAAR,GAAiBsW,UAAjB,GAA8BV,MAAM,CAAC1V,GAAP,CAAW4W,CAAC,IAAIA,CAAC,CAAC1Z,KAAF,CAAQ,GAAR,EAAa,CAAb,CAAhB,EAAiCiJ,MAAjC,CAAwCyQ,CAAC,IAAIR,UAAU,CAACjY,QAAX,CAAoByY,CAApB,CAA7C,CAA1C;;EACA,OAAK,MAAM3C,EAAX,IAAiB0C,GAAjB,EAAsB;EACpB,UAAMnI,QAAQ,GAAG6H,SAAS,CAACQ,GAAV,CAAc5C,EAAd,CAAjB;EACA,UAAMpL,MAAM,GAAGyN,WAAW,CAACO,GAAZ,CAAgB5C,EAAhB,CAAf;EACA,UAAM6B,MAAM,GAAGS,WAAW,CAACM,GAAZ,CAAgB5C,EAAhB,CAAf;EACA,QAAI,CAACzF,QAAD,IAAa,CAAC3F,MAAd,IAAwB,CAACiN,MAA7B,EAAqC;EAErC,UAAMY,KAAK,GAAG,EACZ,GAAGF,aADS;EAEZ,OAAChI,QAAQ,CAACtK,KAAV,GAAkBmE,QAAQ,CAACmO,aAAa,CAAChI,QAAQ,CAACtK,KAAV,CAAd,EAAgC,EAAhC,CAAR,IAA+C4R,MAAM,CAAC5R,KAAP,GAAemE,QAAQ,CAACQ,MAAM,CAAC3E,KAAR,EAAe,EAAf,CAAvB,GAA4C,CAA3F;EAFN,KAAd;EAKAuS,IAAAA,MAAM,CAACrY,IAAP,CAAY;EACV6V,MAAAA,EADU;EAEVyC,MAAAA;EAFU,KAAZ;EAKAF,IAAAA,aAAa,GAAGE,KAAhB;EACD;;EAED,SAAOD,MAAP;EACD,CA9BD;;;EAiCO,SAASK,YAAT,CAAuB7V,KAAvB,EAAgG;EACrG,QAAMmV,UAAU,GAAGrQ,OAAG,CAAW,EAAX,CAAtB;EACA,QAAMsQ,SAAS,GAAG,IAAIU,GAAJ,EAAlB;EACA,QAAMT,WAAW,GAAG,IAAIS,GAAJ,EAApB;EACA,QAAMC,UAAU,GAAG,IAAID,GAAJ,EAAnB;EACA,QAAMR,WAAW,GAAG,IAAIQ,GAAJ,EAApB;EACA,QAAME,WAAW,GAAG,IAAIF,GAAJ,EAApB;EAEA,QAAMG,gBAAgB,GAAGpN,YAAQ,CAAC,MAAM;EAAA;;EACtC,UAAM9J,GAAG,GAAG,IAAI+W,GAAJ,EAAZ;EACA,UAAM5B,QAAQ,sBAAGlU,KAAK,CAACkU,QAAT,8BAAqB,EAAnC;;EACA,SAAK,MAAMgC,OAAX,IAAsBhC,QAAQ,CAAChP,MAAT,CAAgBiR,IAAI,IAAIA,IAAI,CAACjZ,QAAL,CAAc,GAAd,CAAxB,CAAtB,EAAmE;EACjE,YAAM,CAACpC,GAAD,EAAMC,MAAN,IAAgBmb,OAAO,CAACja,KAAR,CAAc,GAAd,CAAtB;EACA,UAAI,CAACkZ,UAAU,CAAClS,KAAX,CAAiB/F,QAAjB,CAA0BpC,GAA1B,CAAD,IAAmC,CAACqa,UAAU,CAAClS,KAAX,CAAiB/F,QAAjB,CAA0BnC,MAA1B,CAAxC,EAA2E;EAE3E,YAAMqb,WAAW,GAAGhB,SAAS,CAACQ,GAAV,CAAc9a,GAAd,CAApB;EACA,YAAMub,cAAc,GAAGjB,SAAS,CAACQ,GAAV,CAAc7a,MAAd,CAAvB;EACA,YAAMub,SAAS,GAAGjB,WAAW,CAACO,GAAZ,CAAgB9a,GAAhB,CAAlB;EACA,YAAMyb,YAAY,GAAGlB,WAAW,CAACO,GAAZ,CAAgB7a,MAAhB,CAArB;EAEA,UAAI,CAACqb,WAAD,IAAgB,CAACC,cAAjB,IAAmC,CAACC,SAApC,IAAiD,CAACC,YAAtD,EAAoE;EAEpExX,MAAAA,GAAG,CAACyX,GAAJ,CAAQzb,MAAR,EAAgB;EAAEwS,QAAAA,QAAQ,EAAE6I,WAAW,CAACnT,KAAxB;EAA+B2E,QAAAA,MAAM,EAAER,QAAQ,CAACkP,SAAS,CAACrT,KAAX,EAAkB,EAAlB;EAA/C,OAAhB;EACAlE,MAAAA,GAAG,CAACyX,GAAJ,CAAQ1b,GAAR,EAAa;EAAEyS,QAAAA,QAAQ,EAAE8I,cAAc,CAACpT,KAA3B;EAAkC2E,QAAAA,MAAM,EAAE,CAACR,QAAQ,CAACmP,YAAY,CAACtT,KAAd,EAAqB,EAArB;EAAnD,OAAb;EACD;;EAED,WAAOlE,GAAP;EACD,GAnBgC,CAAjC;EAqBA,QAAMyW,MAAM,GAAG3M,YAAQ,CAAC,MAAM;EAC5B,UAAMmI,OAAO,GAAG,CAAC,GAAG+E,UAAU,CAAC/E,OAAX,EAAJ,CAAhB;EACA,UAAMyF,aAAa,GAAGzF,OAAO,CAAC0F,IAAR,CAAa;EAAA,UAAC,GAAG/W,CAAH,CAAD;EAAA,UAAQ,GAAGC,CAAH,CAAR;EAAA,aAAkBD,CAAC,CAACsD,KAAF,GAAUrD,CAAC,CAACqD,KAA9B;EAAA,KAAb,EAAkDlE,GAAlD,CAAsD;EAAA,UAAC,CAACiU,EAAD,CAAD;EAAA,aAAUA,EAAV;EAAA,KAAtD,CAAtB;EACA,WAAOkC,cAAc,CAACuB,aAAD,EAAgBtB,UAAU,CAAClS,KAA3B,EAAkCmS,SAAlC,EAA6CC,WAA7C,EAA0DC,WAA1D,CAArB;EACD,GAJsB,CAAvB;EAMA,QAAMqB,kBAAkB,GAAG9N,YAAQ,CAAC,MAAM;EACxC,WAAO,CAAC3J,KAAK,CAACqB,IAAN,CAAWyV,WAAW,CAACxQ,MAAZ,EAAX,EAAiC9C,IAAjC,CAAsCoC,GAAG,IAAIA,GAAG,CAAC7B,KAAjD,CAAR;EACD,GAFkC,CAAnC;EAIA,QAAM2T,UAAU,GAAG/N,YAAQ,CAAC,MAAM;EAChC,UAAM4M,KAAK,GAAGD,MAAM,CAACvS,KAAP,CAAauS,MAAM,CAACvS,KAAP,CAAapE,MAAb,GAAsB,CAAnC,EAAsC4W,KAApD;EAEA,WAAO;EACLlI,MAAAA,QAAQ,EAAE,UADL;EAELsJ,MAAAA,WAAW,EAAEnW,aAAa,CAAC+U,KAAK,CAACza,IAAP,CAFrB;EAGL8b,MAAAA,YAAY,EAAEpW,aAAa,CAAC+U,KAAK,CAACxa,KAAP,CAHtB;EAIL8b,MAAAA,UAAU,EAAErW,aAAa,CAAC+U,KAAK,CAAC3a,GAAP,CAJpB;EAKLkc,MAAAA,aAAa,EAAEtW,aAAa,CAAC+U,KAAK,CAAC1a,MAAP,CALvB;EAML,UAAI4b,kBAAkB,CAAC1T,KAAnB,GAA2BxD,SAA3B,GAAuC;EAAEwX,QAAAA,UAAU,EAAE;EAAd,OAA3C;EANK,KAAP;EAQD,GAX0B,CAA3B;EAaA,QAAMC,KAAK,GAAGrO,YAAQ,CAAC,MAAM;EAC3B,WAAO2M,MAAM,CAACvS,KAAP,CAAajH,KAAb,CAAmB,CAAnB,EAAsB+C,GAAtB,CAA0B,QAASoY,KAAT,KAAmB;EAAA,UAAlB;EAAEnE,QAAAA;EAAF,OAAkB;EAClD,YAAM;EAAEyC,QAAAA;EAAF,UAAYD,MAAM,CAACvS,KAAP,CAAakU,KAAb,CAAlB;EACA,YAAM7R,IAAI,GAAG+P,WAAW,CAACO,GAAZ,CAAgB5C,EAAhB,CAAb;EAEA,aAAO;EACLA,QAAAA,EADK;EAEL,WAAGyC,KAFE;EAGLnQ,QAAAA,IAAI,EAAEvE,MAAM,CAACuE,IAAI,CAAErC,KAAP;EAHP,OAAP;EAKD,KATM,CAAP;EAUD,GAXqB,CAAtB;;EAaA,QAAMmU,aAAa,GAAIpE,EAAD,IAAgB;EACpC,WAAOkE,KAAK,CAACjU,KAAN,CAAYoU,IAAZ,CAAiBlB,IAAI,IAAIA,IAAI,CAACnD,EAAL,KAAYA,EAArC,CAAP;EACD,GAFD;;EAIA1J,EAAAA,WAAO,CAAC0K,gBAAD,EAAmB;EACxBe,IAAAA,QAAQ,EAAE,CACR/B,EADQ,EAERsB,QAFQ,EAGR/G,QAHQ,EAIRoH,UAJQ,EAKRC,WALQ,EAMRC,MANQ,EAORC,kBAPQ,KAQL;EACHiB,MAAAA,UAAU,CAACS,GAAX,CAAexD,EAAf,EAAmBsB,QAAnB;EACAc,MAAAA,SAAS,CAACoB,GAAV,CAAcxD,EAAd,EAAkBzF,QAAlB;EACA8H,MAAAA,WAAW,CAACmB,GAAZ,CAAgBxD,EAAhB,EAAoB2B,UAApB;EACAW,MAAAA,WAAW,CAACkB,GAAZ,CAAgBxD,EAAhB,EAAoB6B,MAApB;EACAC,MAAAA,kBAAkB,IAAIkB,WAAW,CAACQ,GAAZ,CAAgBxD,EAAhB,EAAoB8B,kBAApB,CAAtB;EACAK,MAAAA,UAAU,CAAClS,KAAX,CAAiB9F,IAAjB,CAAsB6V,EAAtB;EAEA,aAAOnK,YAAQ,CAAC,MAAM;EACpB,cAAMsO,KAAK,GAAGD,KAAK,CAACjU,KAAN,CAAYqU,SAAZ,CAAsBtY,CAAC,IAAIA,CAAC,CAACgU,EAAF,KAASA,EAApC,CAAd;EAEA,YAAImE,KAAK,GAAG,CAAZ,EAAe,MAAM,IAAI3O,KAAJ,CAAW,gBAAewK,EAAG,+BAA7B,CAAN;EAEf,cAAMmD,IAAI,GAAGe,KAAK,CAACjU,KAAN,CAAYkU,KAAZ,CAAb;EAEA,YAAI,CAAChB,IAAL,EAAW,MAAM,IAAI3N,KAAJ,CAAW,+BAA8BwK,EAAG,EAA5C,CAAN;EAEX,cAAMkD,OAAO,GAAGD,gBAAgB,CAAChT,KAAjB,CAAuB2S,GAAvB,CAA2B5C,EAA3B,CAAhB;;EACA,YAAIkD,OAAJ,EAAa;EACXC,UAAAA,IAAI,CAACD,OAAO,CAAC3I,QAAT,CAAJ,IAA0B2I,OAAO,CAACtO,MAAlC;EACD;;EAED,cAAM2P,YAAY,GAAGhK,QAAQ,CAACtK,KAAT,KAAmB,MAAnB,IAA6BsK,QAAQ,CAACtK,KAAT,KAAmB,OAArE;EACA,cAAMuU,oBAAoB,GAAGjK,QAAQ,CAACtK,KAAT,KAAmB,OAAhD;EACA,cAAMwU,kBAAkB,GAAGlK,QAAQ,CAACtK,KAAT,KAAmB,QAA9C;EAEA,eAAO;EACL,WAACsK,QAAQ,CAACtK,KAAV,GAAkB,CADb;EAELpI,UAAAA,MAAM,EAAE0c,YAAY,GAAI,eAAcpB,IAAI,CAACrb,GAAI,QAAOqb,IAAI,CAACpb,MAAO,KAA9C,GAAsD,GAAE6Z,WAAW,CAAC3R,KAAM,IAFzF;EAGLyU,UAAAA,UAAU,EAAEF,oBAAoB,GAAG/X,SAAH,GAAgB,GAAE0W,IAAI,CAACnb,IAAK,IAHvD;EAIL2c,UAAAA,WAAW,EAAEH,oBAAoB,GAAI,GAAErB,IAAI,CAAClb,KAAM,IAAjB,GAAuBwE,SAJnD;EAKLmY,UAAAA,SAAS,EAAErK,QAAQ,CAACtK,KAAT,KAAmB,QAAnB,GAA+B,GAAEkT,IAAI,CAACrb,GAAI,IAA1C,GAAgD2E,SALtD;EAMLoY,UAAAA,YAAY,EAAEtK,QAAQ,CAACtK,KAAT,KAAmB,KAAnB,GAA4B,GAAEkT,IAAI,CAACpb,MAAO,IAA1C,GAAgD0E,SANzD;EAOL7E,UAAAA,KAAK,EAAE,CAAC2c,YAAD,GAAiB,eAAcpB,IAAI,CAACnb,IAAK,QAAOmb,IAAI,CAAClb,KAAM,KAA3D,GAAmE,GAAE2Z,WAAW,CAAC3R,KAAM,IAPzF;EAQL6U,UAAAA,MAAM,EAAEtC,MAAM,CAACvS,KAAP,CAAapE,MAAb,GAAsBsY,KARzB;EASL1b,UAAAA,SAAS,EAAG,YAAW8b,YAAY,GAAG,GAAH,GAAS,GAAI,IAAG,CAAC1C,MAAM,CAAC5R,KAAP,GAAe,CAAf,GAAmB,CAAC,GAArB,KAA6BuU,oBAAoB,IAAIC,kBAAxB,GAA6C,CAAC,CAA9C,GAAkD,CAA/E,CAAkF,IAThI;EAUL,cAAId,kBAAkB,CAAC1T,KAAnB,GAA2BxD,SAA3B,GAAuC;EAAEwX,YAAAA,UAAU,EAAE;EAAd,WAA3C;EAVK,SAAP;EAYD,OA9Bc,CAAf;EA+BD,KAhDuB;EAiDxBhC,IAAAA,UAAU,EAAGjC,EAAD,IAAgB;EAC1B+C,MAAAA,UAAU,CAAC1U,MAAX,CAAkB2R,EAAlB;EACAoC,MAAAA,SAAS,CAAC/T,MAAV,CAAiB2R,EAAjB;EACAqC,MAAAA,WAAW,CAAChU,MAAZ,CAAmB2R,EAAnB;EACAsC,MAAAA,WAAW,CAACjU,MAAZ,CAAmB2R,EAAnB;EACAgD,MAAAA,WAAW,CAAC3U,MAAZ,CAAmB2R,EAAnB;EACAmC,MAAAA,UAAU,CAAClS,KAAX,GAAmBkS,UAAU,CAAClS,KAAX,CAAiBiC,MAAjB,CAAwB1E,CAAC,IAAIA,CAAC,KAAKwS,EAAnC,CAAnB;EACD,KAxDuB;EAyDxB4D,IAAAA,UAzDwB;EA0DxBQ,IAAAA,aA1DwB;EA2DxBF,IAAAA;EA3DwB,GAAnB,CAAP;EA8DA,QAAMa,aAAa,GAAGlP,YAAQ,CAAC,MAAM,CACnC,UADmC,EAEnC;EAAE,6BAAyB7I,KAAK,CAACmU;EAAjC,GAFmC,CAAP,CAA9B;EAKA,SAAO;EACL4D,IAAAA,aADK;EAELX,IAAAA,aAFK;EAGLF,IAAAA;EAHK,GAAP;EAKD;;ACpQD,WAAe;EACbc,EAAAA,KAAK,EAAE,OADM;EAEbC,EAAAA,KAAK,EAAE,OAFM;EAGbC,EAAAA,YAAY,EAAE;EACZC,IAAAA,aAAa,EAAE,2BADH;EAEZC,IAAAA,WAAW,EAAE;EAFD,GAHD;EAObC,EAAAA,SAAS,EAAE;EACTC,IAAAA,gBAAgB,EAAE,gBADT;EAETC,IAAAA,SAAS,EAAE;EACTC,MAAAA,cAAc,EAAE,oBADP;EAETC,MAAAA,aAAa,EAAE,mBAFN;EAGTC,MAAAA,QAAQ,EAAE,aAHD;EAITC,MAAAA,YAAY,EAAE,6BAJL;EAKTC,MAAAA,kBAAkB,EAAE,8BALX;EAMTC,MAAAA,iBAAiB,EAAE;EANV,KAFF;EAUTC,IAAAA,MAAM,EAAE;EAVC,GAPE;EAmBbC,EAAAA,UAAU,EAAE;EACVT,IAAAA,gBAAgB,EAAE,iBADR;EAEVU,IAAAA,eAAe,EAAE,KAFP;EAGVC,IAAAA,QAAQ,EAAE,WAHA;EAIVC,IAAAA,QAAQ,EAAE,eAJA;EAKVC,IAAAA,SAAS,EAAE,YALD;EAMVC,IAAAA,QAAQ,EAAE,WANA;EAOVC,IAAAA,QAAQ,EAAE;EAPA,GAnBC;EA4BbC,EAAAA,UAAU,EAAE;EACVC,IAAAA,aAAa,EAAE,cADL;EAEVC,IAAAA,kBAAkB,EAAE,YAFV;EAGVC,IAAAA,iBAAiB,EAAE,WAHT;EAIVC,IAAAA,kBAAkB,EAAE,gBAJV;EAKVC,IAAAA,iBAAiB,EAAE;EALT,GA5BC;EAmCbC,EAAAA,UAAU,EAAE,mBAnCC;EAoCbC,EAAAA,QAAQ,EAAE;EACR1Q,IAAAA,IAAI,EAAE,iBADE;EAER2Q,IAAAA,IAAI,EAAE,aAFE;EAGRvB,IAAAA,SAAS,EAAE;EACTwB,MAAAA,SAAS,EAAE;EADF;EAHH,GApCG;EA2CbC,EAAAA,QAAQ,EAAE;EACRC,IAAAA,UAAU,EAAE;EADJ,GA3CG;EA8CbC,EAAAA,SAAS,EAAE;EACTC,IAAAA,OAAO,EAAE,WADA;EAETC,IAAAA,WAAW,EAAE;EAFJ,GA9CE;EAkDbC,EAAAA,UAAU,EAAE;EACVC,IAAAA,EAAE,EAAE,IADM;EAEVC,IAAAA,EAAE,EAAE;EAFM,GAlDC;EAsDbC,EAAAA,UAAU,EAAE;EACVjC,IAAAA,SAAS,EAAE;EACTtP,MAAAA,IAAI,EAAE,uBADG;EAET6Q,MAAAA,IAAI,EAAE,WAFG;EAGTW,MAAAA,QAAQ,EAAE,eAHD;EAITC,MAAAA,IAAI,EAAE,eAJG;EAKTC,MAAAA,WAAW,EAAE,wBALJ;EAMTC,MAAAA,KAAK,EAAE,YANE;EAOT9b,MAAAA,IAAI,EAAE;EAPG;EADD,GAtDC;EAiEb+b,EAAAA,MAAM,EAAE;EACNtC,IAAAA,SAAS,EAAE;EACTpC,MAAAA,IAAI,EAAE;EADG;EADL;EAjEK,CAAf;;EC2CO,MAAM2E,GAAG,GAAG;EACjBC,EAAAA,EAAE,EAAE,KADa;EAEjBC,EAAAA,EAAE,EAAE,IAFa;EAGjBC,EAAAA,EAAE,EAAE,KAHa;EAIjBC,EAAAA,EAAE,EAAE,KAJa;EAKjBC,EAAAA,GAAG,EAAE,KALY;EAMjBC,EAAAA,EAAE,EAAE,KANa;EAOjBC,EAAAA,EAAE,EAAE,KAPa;EAQjBlgB,EAAAA,EAAE,EAAE,KARa;EASjBmgB,EAAAA,EAAE,EAAE,KATa;EAUjBC,EAAAA,EAAE,EAAE,KAVa;EAWjBC,EAAAA,EAAE,EAAE,KAXa;EAYjBC,EAAAA,EAAE,EAAE,KAZa;EAajBC,EAAAA,EAAE,EAAE,KAba;EAcjBC,EAAAA,EAAE,EAAE,KAda;EAejBC,EAAAA,EAAE,EAAE,KAfa;EAgBjBC,EAAAA,EAAE,EAAE,KAhBa;EAiBjBC,EAAAA,EAAE,EAAE,IAjBa;EAkBjB9I,EAAAA,EAAE,EAAE,KAlBa;EAmBjB+I,EAAAA,EAAE,EAAE,KAnBa;EAoBjBC,EAAAA,EAAE,EAAE,KApBa;EAqBjBC,EAAAA,EAAE,EAAE,KArBa;EAsBjBC,EAAAA,EAAE,EAAE,KAtBa;EAuBjBC,EAAAA,EAAE,EAAE,KAvBa;EAwBjBC,EAAAA,EAAE,EAAE,KAxBa;EAyBjBC,EAAAA,EAAE,EAAE,KAzBa;EA0BjBC,EAAAA,EAAE,EAAE,KA1Ba;EA2BjBC,EAAAA,EAAE,EAAE,KA3Ba;EA4BjBC,EAAAA,EAAE,EAAE,KA5Ba;EA6BjBC,EAAAA,EAAE,EAAE,KA7Ba;EA8BjBC,EAAAA,EAAE,EAAE,KA9Ba;EA+BjBC,EAAAA,EAAE,EAAE,KA/Ba;EAgCjBC,EAAAA,MAAM,EAAE,KAhCS;EAiCjBC,EAAAA,MAAM,EAAE,KAjCS;EAkCjBC,EAAAA,EAAE,EAAE,KAlCa;EAmCjBC,EAAAA,EAAE,EAAE,KAnCa;EAoCjBC,EAAAA,EAAE,EAAE,KApCa;EAqCjBC,EAAAA,EAAE,EAAE,KArCa;EAsCjBC,EAAAA,EAAE,EAAE,KAtCa;EAuCjBC,EAAAA,EAAE,EAAE,KAvCa;EAwCjBC,EAAAA,MAAM,EAAE,KAxCS;EAyCjBC,EAAAA,MAAM,EAAE;EAzCS,CAAZ;;ECrBA,MAAMC,SAAoC,GAAGpV,MAAM,CAACC,GAAP,CAAW,aAAX,CAA7C;EAEA,SAASoV,SAAT,CAAoBC,WAApB,EAAiDpf,OAAjD,EAAuE;EAAA;;EAC5E,SAAOqf,cAAc,CAAC;EACpB3C,IAAAA,GAAG,EAAE,EACH,GAAGA,GADA;EAEH,0BAAI1c,OAAJ,oBAAIA,OAAO,CAAE0c,GAAb,2BAAoB,EAApB;EAFG,KADe;EAKpB4C,IAAAA,KAAK,EAAE5Y,OAAG,wBAAC1G,OAAD,oBAACA,OAAO,CAAEuf,UAAV,kCAAwB,KAAxB,CALU;EAMpBC,IAAAA,UAAU,EAAE9Y,OAAG,CAAC,EAAD;EANK,GAAD,EAOlB0Y,WAPkB,CAArB;EAQD;EAEM,SAASC,cAAT,CAAyBI,YAAzB,EAAoDL,WAApD,EAAiFpf,OAAjF,EAAkH;EACvH,QAAMsf,KAAK,GAAG7U,YAAQ,CAAC,MAAM;EAC3B,QAAI,QAAOzK,OAAP,oBAAOA,OAAO,CAAE0c,GAAhB,MAAwB,SAA5B,EAAuC,OAAO1c,OAAO,CAAC0c,GAAf;;EACvC,QAAI0C,WAAW,CAAC/L,OAAZ,CAAoBxO,KAApB,IAA6B4a,YAAY,CAAC/C,GAAb,CAAiBrR,cAAjB,CAAgC+T,WAAW,CAAC/L,OAAZ,CAAoBxO,KAApD,CAAjC,EAA6F;EAC3F,aAAO4a,YAAY,CAAC/C,GAAb,CAAiB0C,WAAW,CAAC/L,OAAZ,CAAoBxO,KAArC,CAAP;EACD;;EAED,WAAO4a,YAAY,CAACH,KAAb,CAAmBza,KAA1B;EACD,GAPqB,CAAtB;EASA,SAAO;EACLya,IAAAA,KADK;EAEL5C,IAAAA,GAAG,EAAE+C,YAAY,CAAC/C,GAFb;EAGL8C,IAAAA,UAAU,EAAE/U,YAAQ,CAAC,MAAO,gBAAe6U,KAAK,CAACza,KAAN,GAAc,KAAd,GAAsB,KAAM,EAAnD;EAHf,GAAP;EAKD;EAEM,SAAS6a,UAAT,CAAqB9d,KAArB,EAAsCwd,WAAtC,EAAmE;EACxE,QAAMK,YAAY,GAAGtV,UAAM,CAAC+U,SAAD,CAA3B;EAEA,MAAI,CAACO,YAAL,EAAmB,MAAM,IAAIrV,KAAJ,CAAU,gDAAV,CAAN;EAEnB,QAAMuV,QAAQ,GAAGN,cAAc,CAACI,YAAD,EAAeL,WAAf,EAA4Bxd,KAA5B,CAA/B;EAEAsJ,EAAAA,WAAO,CAACgU,SAAD,EAAYS,QAAZ,CAAP;EAEA,SAAOA,QAAP;EACD;EAEM,SAASC,MAAT,GAAmB;EACxB,QAAMH,YAAY,GAAGtV,UAAM,CAAC+U,SAAD,CAA3B;EAEA,MAAI,CAACO,YAAL,EAAmB,MAAM,IAAIrV,KAAJ,CAAU,gDAAV,CAAN;EAEnB,SAAOqV,YAAP;EACD;;EC3DM,MAAMI,IAAI,GAAGvU,eAAe,CAAC;EAClCpL,EAAAA,IAAI,EAAE,MAD4B;EAGlC0B,EAAAA,KAAK,EAAE,EACL,GAAGiU,eAAe,CAAC;EAAEE,MAAAA,UAAU,EAAE;EAAd,KAAD,CADb;EAEL,OAAGrE,cAAc;EAFZ,GAH2B;;EAQlClG,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM+E,KAAK,GAAG8D,YAAY,CAAC7T,KAAD,CAA1B;EACA,UAAM;EAAE+X,MAAAA,aAAF;EAAiBX,MAAAA,aAAjB;EAAgCF,MAAAA;EAAhC,QAA0CrB,YAAY,CAAC7V,KAAD,CAA5D;EACA,UAAM;EAAE4d,MAAAA;EAAF,QAAiBI,MAAM,EAA7B;EAEAnQ,IAAAA,SAAS,CAAC;EAAA;;EAAA;EAAA,iBAEC,CACL,eADK,EAELkC,KAAK,CAAC6D,YAAN,CAAmB3Q,KAFd,EAGL8U,aAAa,CAAC9U,KAHT,EAIL2a,UAAU,CAAC3a,KAJN,CAFD;EAAA,oBAQG;EARH;EAAA,iBAUK;EAVL,4BAWF+H,KAAK,CAACD,OAXJ,qBAWF,oBAAAC,KAAK,CAXH;EAAA,KAAD,CAAT;EAgBA,WAAO;EACLoM,MAAAA,aADK;EAELF,MAAAA,KAFK;EAGLnH,MAAAA;EAHK,KAAP;EAKD;;EAlCiC,CAAD,CAA5B;;ECXP;;EAcA;EACO,MAAMmO,kBAAkB,GAAGzQ,YAAY,CAAC;EAC7C5S,EAAAA,MAAM,EAAE,CAACkG,MAAD,EAASF,MAAT,CADqC;EAE7Csd,EAAAA,SAAS,EAAE,CAACpd,MAAD,EAASF,MAAT,CAFkC;EAG7Cud,EAAAA,QAAQ,EAAE,CAACrd,MAAD,EAASF,MAAT,CAHmC;EAI7Cwd,EAAAA,SAAS,EAAE,CAACtd,MAAD,EAASF,MAAT,CAJkC;EAK7Cyd,EAAAA,QAAQ,EAAE,CAACvd,MAAD,EAASF,MAAT,CALmC;EAM7CjG,EAAAA,KAAK,EAAE,CAACmG,MAAD,EAASF,MAAT;EANsC,CAAD,EAO3C,WAP2C,CAAvC;EASA,SAAS0d,YAAT,CAAuBve,KAAvB,EAA8C;EACnD,QAAMwe,eAAe,GAAG3V,YAAQ,CAAC,OAAO;EACtChO,IAAAA,MAAM,EAAE6F,aAAa,CAACV,KAAK,CAACnF,MAAP,CADiB;EAEtCsjB,IAAAA,SAAS,EAAEzd,aAAa,CAACV,KAAK,CAACme,SAAP,CAFc;EAGtCC,IAAAA,QAAQ,EAAE1d,aAAa,CAACV,KAAK,CAACoe,QAAP,CAHe;EAItCC,IAAAA,SAAS,EAAE3d,aAAa,CAACV,KAAK,CAACqe,SAAP,CAJc;EAKtCC,IAAAA,QAAQ,EAAE5d,aAAa,CAACV,KAAK,CAACse,QAAP,CALe;EAMtC1jB,IAAAA,KAAK,EAAE8F,aAAa,CAACV,KAAK,CAACpF,KAAP;EANkB,GAAP,CAAD,CAAhC;EASA,SAAO;EAAE4jB,IAAAA;EAAF,GAAP;EACD;;ECzBM,SAASC,eAAT,CAA0Bze,KAA1B,EAAoE;EACzE,SAAO;EACL0e,IAAAA,YAAY,EAAE7V,YAAQ,CAAC,MAAM;EAC3B,YAAM8V,KAAK,GAAG5d,MAAM,CAACf,KAAK,CAAC4e,WAAP,CAApB;EAEA,aAAOD,KAAK,GACR;EAAE3H,QAAAA,aAAa,EAAEnW,MAAM,CAAC,IAAI8d,KAAJ,GAAY,GAAb,CAAN,GAA0B;EAA3C,OADQ,GAERlf,SAFJ;EAGD,KANqB;EADjB,GAAP;EASD;EAEM,MAAMof,WAAW,GAAGnV,eAAe,CAAC;EACzCpL,EAAAA,IAAI,EAAE,aADmC;EAGzC0B,EAAAA,KAAK,EAAE;EACL4e,IAAAA,WAAW,EAAE,CAAC/d,MAAD,EAASE,MAAT,CADR;EAEL+d,IAAAA,YAAY,EAAEje,MAFT;EAIL,OAAGqd,kBAAkB;EAJhB,GAHkC;;EAUzCtU,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAEwT,MAAAA;EAAF,QAAsBD,YAAY,CAACve,KAAD,CAAxC;EACA,UAAM;EAAE0e,MAAAA;EAAF,QAAmBD,eAAe,CAACze,KAAD,CAAxC;EAEA,WAAO;EAAA;;EAAA;EAAA,iBACM,cADN;EAAA,iBAC6Bwe,eAAe,CAACvb;EAD7C;EAAA,iBAEQ,qBAFR;EAAA,iBAEsCyb,YAAY,CAACzb;EAFnD,wCAGD+H,KAAK,CAAC+T,UAHL,qBAGD,uBAAA/T,KAAK,CAHJ,EAIDA,KAAK,CAACD,OAAN;EAAA,iBACY,CAAC,uBAAD,EAA0B/K,KAAK,CAAC8e,YAAhC;EADZ,UAC6D9T,KAAK,CAACD,OAAN,EAD7D,KAJC;EAAA,KAAP;EASD;;EAvBwC,CAAD,CAAnC;;ECtBP;;EAuBA,SAASiU,SAAT,CAAkB7jB,EAAlB,EAAmC8jB,OAAnC,EAAqE;EACnE,MAAI,CAAClS,qBAAL,EAA4B;EAE5B,QAAMmS,SAAS,GAAGD,OAAO,CAACC,SAAR,IAAqB,EAAvC;EACA,QAAMjc,KAAK,GAAGgc,OAAO,CAAChc,KAAtB;EACA,QAAM;EAAEkc,IAAAA,OAAF;EAAW/gB,IAAAA;EAAX,MAAuB,OAAO6E,KAAP,KAAiB,QAAjB,GACzBA,KADyB,GAEzB;EAAEkc,IAAAA,OAAO,EAAElc,KAAX;EAAkB7E,IAAAA,OAAO,EAAE;EAA3B,GAFJ;EAIA,QAAMghB,QAAQ,GAAG,IAAIC,oBAAJ,CAAyB,YAGrC;EAAA;;EAAA,QAFHrO,OAEG,uEAFoC,EAEpC;EAAA,QADHoO,QACG;;EACH,UAAME,QAAQ,mBAAGnkB,EAAE,CAACmkB,QAAN,qBAAG,aAAcL,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,CAAjB;;EACA,QAAI,CAACH,QAAL,EAAe,OAFZ;;EAIH,UAAMI,cAAc,GAAG1O,OAAO,CAACtO,IAAR,CAAaid,KAAK,IAAIA,KAAK,CAACD,cAA5B,CAAvB,CAJG;EAOH;;EACA,QACEP,OAAO,KACL,CAACD,SAAS,CAACU,KAAX,IACAN,QAAQ,CAACO,IAFJ,CAAP,KAIE,CAACX,SAAS,CAACY,IAAX,IACAJ,cADA,IAEAJ,QAAQ,CAACO,IANX,CADF,EASE;EACAV,MAAAA,OAAO,CAACO,cAAD,EAAiB1O,OAAjB,EAA0BoO,QAA1B,CAAP;EACD;;EAED,QAAIM,cAAc,IAAIR,SAAS,CAACY,IAAhC,EAAsCC,WAAS,CAAC5kB,EAAD,EAAK8jB,OAAL,CAAT,CAAtC,KACKK,QAAQ,CAACO,IAAT,GAAgB,IAAhB;EACN,GA1BgB,EA0BdzhB,OA1Bc,CAAjB;EA4BAjD,EAAAA,EAAE,CAACmkB,QAAH,GAAcvf,MAAM,CAAC5E,EAAE,CAACmkB,QAAJ,CAApB;EACAnkB,EAAAA,EAAE,CAACmkB,QAAH,CAAaL,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,IAAwC;EAAEI,IAAAA,IAAI,EAAE,KAAR;EAAeT,IAAAA;EAAf,GAAxC;EAEAA,EAAAA,QAAQ,CAACY,OAAT,CAAiB7kB,EAAjB;EACD;;EAED,SAAS4kB,WAAT,CAAoB5kB,EAApB,EAAqC8jB,OAArC,EAAuE;EAAA;;EACrE,QAAMe,OAAO,oBAAG7kB,EAAE,CAACmkB,QAAN,qBAAG,cAAcL,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,CAAhB;EACA,MAAI,CAACO,OAAL,EAAc;EAEdA,EAAAA,OAAO,CAACZ,QAAR,CAAiBa,SAAjB,CAA2B9kB,EAA3B;EACA,SAAOA,EAAE,CAACmkB,QAAH,CAAaL,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAP;EACD;;EAEM,MAAMS,SAAuC,GAAG;EACrDlB,WAAAA,SADqD;EAErDe,aAAAA;EAFqD,CAAhD;;EC1EP;;EAOO,MAAMI,mBAAmB,GAAG1S,YAAY,CAAC;EAC9CwJ,EAAAA,UAAU,EAAE;EACV3S,IAAAA,IAAI,EAAE,CAAC8P,OAAD,EAAUvT,MAAV,EAAkBd,MAAlB,CADI;EAEVgL,IAAAA,OAAO,EAAE,iBAFC;EAGVqV,IAAAA,SAAS,EAAE7a,GAAG,IAAIA,GAAG,KAAK;EAHhB;EADkC,CAAD,EAM5C,YAN4C,CAAxC;EAYA,MAAM8a,eAA0D,GAAG,CAACrgB,KAAD,WAAsB;EAAA;;EAAA,MAAd;EAAEgL,IAAAA;EAAF,GAAc;EAC9F,QAAM;EAAEiM,IAAAA,UAAF;EAAc,OAAGzU;EAAjB,MAA0BxC,KAAhC;EAEA,MAAI,CAACiX,UAAD,IAAe,OAAOA,UAAP,KAAsB,SAAzC,EAAoD,yBAAOjM,KAAK,CAACD,OAAb,qBAAO,oBAAAC,KAAK,CAAZ;EAEpD,QAAM;EAAE7F,IAAAA,SAAS,GAAGmb,cAAd;EAA0B,OAAGC;EAA7B,MAA6C,OAAOtJ,UAAP,KAAsB,QAAtB,GAAiCA,UAAjC,GAA8C,EAAjG;EAEA,SAAOza,KAAC,CACN2I,SADM,EAENqb,cAAU,CAAC,OAAOvJ,UAAP,KAAsB,QAAtB,GAAiC;EAAE3Y,IAAAA,IAAI,EAAE2Y;EAAR,GAAjC,GAAwDsJ,WAAzD,EAA6E/d,IAA7E,CAFJ,EAGNwI,KAHM,CAAR;EAKD,CAZM;;ECqBA,MAAMyV,IAAI,GAAG/W,eAAe,CAAC;EAClCpL,EAAAA,IAAI,EAAE,MAD4B;EAGlCoiB,EAAAA,UAAU,EAAE;EAAEC,eAAAA;EAAF,GAHsB;EAKlC3gB,EAAAA,KAAK,EAAE;EACL4e,IAAAA,WAAW,EAAE,CAAC/d,MAAD,EAASE,MAAT,CADR;EAEL6f,IAAAA,GAAG,EAAE/f,MAFA;EAGLggB,IAAAA,KAAK,EAAEzM,OAHF;EAIL0M,IAAAA,KAAK,EAAE1M,OAJF;EAKL2M,IAAAA,QAAQ,EAAElgB,MALL;EAMLmgB,IAAAA,OAAO,EAAEngB,MANJ;EAOLzC,IAAAA,OAAO,EAAE;EACPkG,MAAAA,IAAI,EAAEvE,MADC;EAEP;EACA;EACAgL,MAAAA,OAAO,EAAE,OAAO;EACd9B,QAAAA,IAAI,EAAExJ,SADQ;EAEdwhB,QAAAA,UAAU,EAAExhB,SAFE;EAGdyhB,QAAAA,SAAS,EAAEzhB;EAHG,OAAP;EAJF,KAPJ;EAiBL0hB,IAAAA,KAAK,EAAEtgB,MAjBF;EAkBLugB,IAAAA,GAAG,EAAE;EACH9c,MAAAA,IAAI,EAAE,CAACzD,MAAD,EAASd,MAAT,CADH;EAEHgL,MAAAA,OAAO,EAAE;EAFN,KAlBA;EAsBLsW,IAAAA,MAAM,EAAExgB,MAtBH;EAuBLjG,IAAAA,KAAK,EAAE,CAACiG,MAAD,EAASE,MAAT,CAvBF;EAyBL,OAAGof,mBAAmB;EAzBjB,GAL2B;EAiClCmB,EAAAA,KAAK,EAAE,CAAC,WAAD,EAAc,MAAd,EAAsB,OAAtB,CAjC2B;;EAmClC1X,EAAAA,KAAK,CAAE5J,KAAF,QAA0B;EAAA,QAAjB;EAAEuhB,MAAAA,IAAF;EAAQvW,MAAAA;EAAR,KAAiB;EAC7B,UAAMwW,UAAU,GAAG1c,OAAG,CAAC,EAAD,CAAtB,CAD6B;;EAE7B,UAAM2c,KAAK,GAAG3c,OAAG,EAAjB;EACA,UAAM4c,KAAK,GAAG5c,OAAG,CAA0C9E,KAAK,CAAC8gB,KAAN,GAAc,SAAd,GAA0B,MAApE,CAAjB;EACA,UAAMa,YAAY,GAAG7c,OAAG,EAAxB;EACA,UAAM8c,aAAa,GAAG9c,OAAG,EAAzB;EAEA,UAAM+c,aAAa,GAAGhZ,YAAQ,CAAY,MAAM;EAC9C,aAAO7I,KAAK,CAACohB,GAAN,IAAa,OAAOphB,KAAK,CAACohB,GAAb,KAAqB,QAAlC,GACH;EACAA,QAAAA,GAAG,EAAEphB,KAAK,CAACohB,GAAN,CAAUA,GADf;EAEAC,QAAAA,MAAM,EAAErhB,KAAK,CAACqhB,MAAN,IAAgBrhB,KAAK,CAACohB,GAAN,CAAUC,MAFlC;EAGAL,QAAAA,OAAO,EAAEhhB,KAAK,CAACghB,OAAN,IAAiBhhB,KAAK,CAACohB,GAAN,CAAUJ,OAHpC;EAIAc,QAAAA,MAAM,EAAE/gB,MAAM,CAACf,KAAK,CAAC4e,WAAN,IAAqB5e,KAAK,CAACohB,GAAN,CAAUU,MAAhC;EAJd,OADG,GAMD;EACFV,QAAAA,GAAG,EAAEphB,KAAK,CAACohB,GADT;EAEFC,QAAAA,MAAM,EAAErhB,KAAK,CAACqhB,MAFZ;EAGFL,QAAAA,OAAO,EAAEhhB,KAAK,CAACghB,OAHb;EAIFc,QAAAA,MAAM,EAAE/gB,MAAM,CAACf,KAAK,CAAC4e,WAAN,IAAqB,CAAtB;EAJZ,OANN;EAYD,KAb6B,CAA9B;EAcA,UAAMA,WAAW,GAAG/V,YAAQ,CAAC,MAAM;EACjC,aAAOgZ,aAAa,CAAC5e,KAAd,CAAoB6e,MAApB,IAA8BH,YAAY,CAAC1e,KAAb,GAAsB2e,aAAa,CAAC3e,KAAlE,IAA4E,CAAnF;EACD,KAF2B,CAA5B;EAIAiQ,IAAAA,SAAK,CAAC,MAAMlT,KAAK,CAACohB,GAAb,EAAkB,MAAM;EAC3BvB,MAAAA,IAAI,CAAC6B,KAAK,CAACze,KAAN,KAAgB,MAAjB,CAAJ;EACD,KAFI,CAAL,CAzB6B;;EA8B7B8e,IAAAA,iBAAa,CAAC,MAAMlC,IAAI,EAAX,CAAb;;EAEA,aAASA,IAAT,CAAeH,cAAf,EAAyC;EACvC,UAAI1f,KAAK,CAAC8gB,KAAN,IAAepB,cAAnB,EAAmC;EACnC,UACE3S,qBAAqB,IACrB,CAAC2S,cADD,IAEA,CAAC1f,KAAK,CAAC8gB,KAHT,EAIE;EAEFY,MAAAA,KAAK,CAACze,KAAN,GAAc,SAAd;EACA+e,MAAAA,YAAQ,CAAC,MAAM;EAAA;;EACbT,QAAAA,IAAI,CAAC,WAAD,EAAc,iBAAAE,KAAK,CAACxe,KAAN,kCAAaue,UAAb,KAA2BK,aAAa,CAAC5e,KAAd,CAAoBme,GAA7D,CAAJ;;EAEA,6BAAIK,KAAK,CAACxe,KAAV,aAAI,cAAagf,QAAjB,EAA2B;EACzB,cAAI,CAACR,KAAK,CAACxe,KAAN,CAAY0e,YAAjB,EAA+B;EAC7BO,YAAAA,OAAO;EACR;;EAED,cAAIR,KAAK,CAACze,KAAN,KAAgB,OAApB,EAA6B;EAE7B,cAAI,CAAC2b,WAAW,CAAC3b,KAAjB,EAAwBkf,WAAW,CAACV,KAAK,CAACxe,KAAP,EAAc,IAAd,CAAX;EACxBmf,UAAAA,MAAM;EACP,SATD,MASO;EACL,cAAI,CAACxD,WAAW,CAAC3b,KAAjB,EAAwBkf,WAAW,CAACV,KAAK,CAACxe,KAAP,CAAX;EACxBof,UAAAA,MAAM;EACP;EACF,OAhBO,CAAR;;EAkBA,UAAIR,aAAa,CAAC5e,KAAd,CAAoB+d,OAAxB,EAAiC;EAC/B,cAAMsB,OAAO,GAAG,IAAIC,KAAJ,EAAhB;EACAD,QAAAA,OAAO,CAAClB,GAAR,GAAcS,aAAa,CAAC5e,KAAd,CAAoB+d,OAAlC;EACAmB,QAAAA,WAAW,CAACG,OAAD,EAAU,IAAV,CAAX;EACD;EACF;;EAED,aAASF,MAAT,GAAmB;EAAA;;EACjBC,MAAAA,MAAM;EACNX,MAAAA,KAAK,CAACze,KAAN,GAAc,QAAd;EACAse,MAAAA,IAAI,CAAC,MAAD,EAAS,kBAAAE,KAAK,CAACxe,KAAN,mCAAaue,UAAb,KAA2BK,aAAa,CAAC5e,KAAd,CAAoBme,GAAxD,CAAJ;EACD;;EAED,aAASc,OAAT,GAAoB;EAAA;;EAClBR,MAAAA,KAAK,CAACze,KAAN,GAAc,OAAd;EACAse,MAAAA,IAAI,CAAC,OAAD,EAAU,kBAAAE,KAAK,CAACxe,KAAN,mCAAaue,UAAb,KAA2BK,aAAa,CAAC5e,KAAd,CAAoBme,GAAzD,CAAJ;EACD;;EAED,aAASiB,MAAT,GAAmB;EACjB,YAAMG,GAAG,GAAGf,KAAK,CAACxe,KAAlB;EACA,UAAIuf,GAAJ,EAAShB,UAAU,CAACve,KAAX,GAAmBuf,GAAG,CAAChB,UAAJ,IAAkBgB,GAAG,CAACpB,GAAzC;EACV;;EAED,aAASe,WAAT,CAAsBK,GAAtB,EAA2E;EAAA,UAA9BC,OAA8B,uEAAL,GAAK;;EACzE,YAAMC,IAAI,GAAG,MAAM;EACjB,cAAM;EAAEd,UAAAA,aAAa,EAAEe,SAAjB;EAA4BhB,UAAAA,YAAY,EAAEiB;EAA1C,YAAuDJ,GAA7D;;EAEA,YAAIG,SAAS,IAAIC,QAAjB,EAA2B;EACzBjB,UAAAA,YAAY,CAAC1e,KAAb,GAAqB2f,QAArB;EACAhB,UAAAA,aAAa,CAAC3e,KAAd,GAAsB0f,SAAtB;EACD,SAHD,MAGO,IAAI,CAACH,GAAG,CAACP,QAAL,IAAiBP,KAAK,CAACze,KAAN,KAAgB,SAAjC,IAA8Cwf,OAAO,IAAI,IAA7D,EAAmE;EACxEI,UAAAA,UAAU,CAACH,IAAD,EAAOD,OAAP,CAAV;EACD,SAFM,MAEA,IAAID,GAAG,CAAChB,UAAJ,CAAesB,QAAf,CAAwB,MAAxB,KAAmCN,GAAG,CAAChB,UAAJ,CAAezlB,UAAf,CAA0B,oBAA1B,CAAvC,EAAwF;EAC7F4lB,UAAAA,YAAY,CAAC1e,KAAb,GAAqB,CAArB;EACA2e,UAAAA,aAAa,CAAC3e,KAAd,GAAsB,CAAtB;EACD;EACF,OAZD;;EAcAyf,MAAAA,IAAI;EACL;;EAED,UAAMK,cAAc,GAAGla,YAAQ,CAAC,OAAO;EACrC,2BAAqB7I,KAAK,CAAC6gB,KADU;EAErC,6BAAuB,CAAC7gB,KAAK,CAAC6gB;EAFO,KAAP,CAAD,CAA/B;;EAKA,UAAMmC,OAAO,GAAGna,YAAQ,CAAC,MAAM;EAAA;;EAC7B,UAAI,CAACgZ,aAAa,CAAC5e,KAAd,CAAoBme,GAArB,IAA4BM,KAAK,CAACze,KAAN,KAAgB,MAAhD,EAAwD;EAExD,YAAMuf,GAAG,GAAGhmB,KAAC,CAAC,KAAD,EAAQ;EACnByO,QAAAA,KAAK,EAAE,CAAC,YAAD,EAAe8X,cAAc,CAAC9f,KAA9B,CADY;EAEnBme,QAAAA,GAAG,EAAES,aAAa,CAAC5e,KAAd,CAAoBme,GAFN;EAGnBC,QAAAA,MAAM,EAAEQ,aAAa,CAAC5e,KAAd,CAAoBoe,MAHT;EAInBF,QAAAA,KAAK,EAAEnhB,KAAK,CAACmhB,KAJM;EAKnBrc,QAAAA,GAAG,EAAE2c,KALc;EAMnBW,QAAAA,MANmB;EAOnBF,QAAAA;EAPmB,OAAR,CAAb;EAUA,YAAMe,OAAO,qBAAGjY,KAAK,CAACiY,OAAT,qBAAG,oBAAAjY,KAAK,CAArB;EAEA;EAAA,sBACgChL,KAAK,CAACiX,UADtC;EAAA;EAAA;EAAA,wBAGMiM,kBAAc,CACZD,OAAO;EAAA,mBACY;EADZ,YAC+BA,OAD/B,EAC0CT,GAD1C,KAEHA,GAHQ,EAIZ,CAAC,CAACW,SAAD,EAAQzB,KAAK,CAACze,KAAN,KAAgB,QAAxB,CAAD,CAJY,CAHpB;EAAA;EAAA;EAYD,KA3BuB,CAAxB;;EA6BA,UAAMmgB,cAAc,GAAGva,YAAQ,CAAC;EAAA,oBACA7I,KAAK,CAACiX;EADN;EAAA,sBAE1B4K,aAAa,CAAC5e,KAAd,CAAoB+d,OAApB,IAA+BU,KAAK,CAACze,KAAN,KAAgB,QAA/C;EAAA,iBAES,CAAC,YAAD,EAAe,qBAAf,EAAsC8f,cAAc,CAAC9f,KAArD,CAFT;EAAA,eAGQ4e,aAAa,CAAC5e,KAAd,CAAoB+d,OAH5B;EAAA,eAIM;EAJN,2BAF0B;EAAA,yBAAD,CAA/B;;EAYA,UAAMqC,aAAa,GAAGxa,YAAQ,CAAC,MAAM;EACnC,UAAI,CAACmC,KAAK,CAACsY,WAAX,EAAwB;EAExB;EAAA,sBACgCtjB,KAAK,CAACiX,UADtC;EAAA;EAAA;EAAA,wBAEM,CAACyK,KAAK,CAACze,KAAN,KAAgB,SAAhB,IAA8Bye,KAAK,CAACze,KAAN,KAAgB,OAAhB,IAA2B,CAAC+H,KAAK,CAACtN,KAAjE;EAAA,mBACS;EADT,YACgCsN,KAAK,CAACsY,WAAN,EADhC,EAFN;EAAA;EAOD,KAV6B,CAA9B;;EAYA,UAAMC,OAAO,GAAG1a,YAAQ,CAAC,MAAM;EAC7B,UAAI,CAACmC,KAAK,CAACtN,KAAX,EAAkB;EAElB;EAAA,sBACgCsC,KAAK,CAACiX,UADtC;EAAA;EAAA;EAAA,wBAEMyK,KAAK,CAACze,KAAN,KAAgB,OAAhB;EAAA,mBACW;EADX,YAC4B+H,KAAK,CAACtN,KAAN,EAD5B,EAFN;EAAA;EAOD,KAVuB,CAAxB;;EAYA,UAAM8lB,UAAU,GAAG3a,YAAQ,CAAC,MAAM;EAChC,UAAI,CAAC7I,KAAK,CAAC+gB,QAAX,EAAqB;EAErB;EAAA,iBAAkB,iBAAlB;EAAA,iBAA2C;EAAE0C,UAAAA,eAAe,EAAG,mBAAkBzjB,KAAK,CAAC+gB,QAAS;EAArD;EAA3C;EACD,KAJ0B,CAA3B;;EAMA,UAAM2C,QAAQ,GAAG5e,OAAG,CAAC,KAAD,CAApB;EACA;EACE,YAAM6e,IAAI,GAAGzQ,SAAK,CAAC0L,WAAD,EAAcrZ,GAAG,IAAI;EACrC,YAAIA,GAAJ,EAAS;EACP;EACAqe,UAAAA,qBAAqB,CAAC,MAAM;EAC1BA,YAAAA,qBAAqB,CAAC,MAAM;EAC1BF,cAAAA,QAAQ,CAACzgB,KAAT,GAAiB,IAAjB;EACD,aAFoB,CAArB;EAGD,WAJoB,CAArB;EAKA0gB,UAAAA,IAAI;EACL;EACF,OAViB,CAAlB;EAWD;EAED9V,IAAAA,SAAS,CAAC;EAAA,eAEC,CACL,OADK,EAEL;EAAE,0BAAkB,CAAC6V,QAAQ,CAACzgB;EAA9B,OAFK,CAFD;EAAA,eAMC;EAAErI,QAAAA,KAAK,EAAE8F,aAAa,CAACV,KAAK,CAACpF,KAAN,KAAgB,MAAhB,GAAyB+mB,YAAY,CAAC1e,KAAtC,GAA8CjD,KAAK,CAACpF,KAArD;EAAtB,OAND;EAAA,qBAOQgkB,WAAW,CAAC3b,KAPpB;EAAA,oBAQOjD,KAAK,CAAC4gB,GARb;EAAA,cASC5gB,KAAK,CAAC4gB,GAAN,GAAY,KAAZ,GAAoBnhB;EATrB,OAcG;EACPsf,MAAAA,UAAU,EAAE,MAAM,CAACiE,OAAO,CAAC/f,KAAT,EAAgBmgB,cAAc,CAACngB,KAA/B,EAAsCugB,UAAU,CAACvgB,KAAjD,EAAwDogB,aAAa,CAACpgB,KAAtE,EAA6EsgB,OAAO,CAACtgB,KAArF,CADX;EAEP8H,MAAAA,OAAO,EAAEC,KAAK,CAACD;EAFR,KAdH,oGAUQ;EACZoU,MAAAA,OAAO,EAAEU,IADG;EAEZzhB,MAAAA,OAAO,EAAE4B,KAAK,CAAC5B;EAFH,KAVR,EAaH,IAbG;EAAA;EAAA,QAAD,CAAT;EAqBA,WAAO;EACLojB,MAAAA,UADK;EAELC,MAAAA,KAFK;EAGLC,MAAAA,KAHK;EAILC,MAAAA,YAJK;EAKLC,MAAAA;EALK,KAAP;EAOD;;EA9PiC,CAAD,CAA5B;;ECxCP;;EASA;EACO,MAAMiC,eAAe,GAAGpW,YAAY,CAAC;EAC1CqW,EAAAA,MAAM,EAAE,CAAC1P,OAAD,EAAUrT,MAAV,EAAkBF,MAAlB;EADkC,CAAD,EAExC,QAFwC,CAApC;EAIA,SAASkjB,SAAT,CACL/jB,KADK,EAGL;EAAA,MADA1B,IACA,uEADOqN,sBAAsB,EAC7B;EACA,QAAMqY,aAAa,GAAGnb,YAAQ,CAAC,MAAM;EACnC,UAAMob,OAAiB,GAAG,EAA1B;;EAEA,QAAIjkB,KAAK,CAAC8jB,MAAN,IAAgB,IAAhB,IAAwB9jB,KAAK,CAAC8jB,MAAN,KAAiB,KAA7C,EAAoD;EAClDG,MAAAA,OAAO,CAAC9mB,IAAR,CAAc,GAAEmB,IAAK,UAArB;EACD;;EAED,QACG,OAAO0B,KAAK,CAAC8jB,MAAb,KAAwB,QAAxB,IAAoC9jB,KAAK,CAAC8jB,MAAN,KAAiB,EAAtD,IACA9jB,KAAK,CAAC8jB,MAAN,KAAiB,CAFnB,EAGE;EACA,WAAK,MAAM7gB,KAAX,IAAoBpC,MAAM,CAACb,KAAK,CAAC8jB,MAAP,CAAN,CAAqB7nB,KAArB,CAA2B,GAA3B,CAApB,EAAqD;EACnDgoB,QAAAA,OAAO,CAAC9mB,IAAR,CAAc,UAAS8F,KAAM,EAA7B;EACD;EACF;;EAED,WAAOghB,OAAP;EACD,GAjB6B,CAA9B;EAmBA,SAAO;EAAED,IAAAA;EAAF,GAAP;EACD;;ECtCD;;EAOA,MAAME,gBAAgB,GAAG,CAAC,IAAD,EAAO,SAAP,EAAkB,aAAlB,EAAiC,SAAjC,CAAzB;EAQA;EACO,MAAMC,gBAAgB,GAAG1W,YAAY,CAAC;EAC3C2W,EAAAA,OAAO,EAAE;EACP9f,IAAAA,IAAI,EAAEzD,MADC;EAEPkK,IAAAA,OAAO,EAAE,SAFF;EAGPqV,IAAAA,SAAS,EAAG5f,CAAD,IAAY0jB,gBAAgB,CAAChnB,QAAjB,CAA0BsD,CAA1B;EAHhB;EADkC,CAAD,EAMzC,SANyC,CAArC;EAQA,SAAS6jB,UAAT,CACLrkB,KADK,EAGL;EAAA,MADA1B,IACA,uEADOqN,sBAAsB,EAC7B;EACA,QAAM2Y,cAAc,GAAGzb,YAAQ,CAAC,MAAM;EACpC,WAAQ,GAAEvK,IAAK,aAAY0B,KAAK,CAACokB,OAAQ,EAAzC;EACD,GAF8B,CAA/B;EAIA,SAAO;EAAEE,IAAAA;EAAF,GAAP;EACD;;ECjCD;;EAUA;EACO,MAAMC,kBAAkB,GAAG9W,YAAY,CAAC;EAC7C+W,EAAAA,SAAS,EAAE;EACTlgB,IAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADG;;EAETuf,IAAAA,SAAS,CAAE5f,CAAF,EAAU;EACjB,YAAMyC,KAAK,GAAGmE,QAAQ,CAAC5G,CAAD,CAAtB;EAEA,aACE,CAACI,KAAK,CAACqC,KAAD,CAAN,IACAA,KAAK,IAAI,CADT;EAGA;EACAA,MAAAA,KAAK,IAAI,EALX;EAOD;;EAZQ;EADkC,CAAD,EAe3C,WAf2C,CAAvC;EAqBA,SAASwhB,YAAT,CAAuBzkB,KAAvB,EAAgG;EACrG,QAAM0kB,gBAAgB,GAAG7b,YAAQ,CAAC,MAAM;EACtC,UAAM2b,SAAS,GAAG3f,SAAK,CAAC7E,KAAD,CAAL,GAAeA,KAAK,CAACiD,KAArB,GAA6BjD,KAAK,CAACwkB,SAArD;EACA,UAAMP,OAAiB,GAAG,EAA1B;EAEA,QAAIO,SAAS,IAAI,IAAjB,EAAuB,OAAOP,OAAP;EAEvBA,IAAAA,OAAO,CAAC9mB,IAAR,CAAc,aAAYqnB,SAAU,EAApC;EAEA,WAAOP,OAAP;EACD,GATgC,CAAjC;EAWA,SAAO;EAAES,IAAAA;EAAF,GAAP;EACD;;EC7CD;;EAkBA;EACO,MAAMC,gBAAgB,GAAGlX,YAAY,CAAC;EAC3CmX,EAAAA,OAAO,EAAE;EACPtgB,IAAAA,IAAI,EAAE,CAAC8P,OAAD,EAAUrT,MAAV,EAAkBF,MAAlB,CADC;EAEPkK,IAAAA,OAAO,EAAEtL;EAFF;EADkC,CAAD,EAKzC,SALyC,CAArC;EAOA,SAASolB,UAAT,CACL7kB,KADK,EAGQ;EAAA,MADb1B,IACa,uEADNqN,sBAAsB,EAChB;EACb,QAAMmZ,cAAc,GAAGjc,YAAQ,CAAC,MAAM;EACpC,UAAM+b,OAAO,GAAG/f,SAAK,CAAC7E,KAAD,CAAL,GAAeA,KAAK,CAACiD,KAArB,GAA6BjD,KAAK,CAAC4kB,OAAnD;EACA,UAAMX,OAAiB,GAAG,EAA1B;;EAEA,QAAIW,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,EAApC,EAAwC;EACtCX,MAAAA,OAAO,CAAC9mB,IAAR,CAAc,GAAEmB,IAAK,WAArB;EACD,KAFD,MAEO,IACL,OAAOsmB,OAAP,KAAmB,QAAnB,IACAA,OAAO,KAAK,CAFP,EAGL;EACA,WAAK,MAAM3hB,KAAX,IAAoBpC,MAAM,CAAC+jB,OAAD,CAAN,CAAgB3oB,KAAhB,CAAsB,GAAtB,CAApB,EAAgD;EAC9CgoB,QAAAA,OAAO,CAAC9mB,IAAR,CAAc,WAAU8F,KAAM,EAA9B;EACD;EACF;;EAED,WAAOghB,OAAP;EACD,GAhB8B,CAA/B;EAkBA,SAAO;EAAEa,IAAAA;EAAF,GAAP;EACD;;ECjDD;;EAQA;EACO,MAAMC,YAAY,GAAGtX,YAAY,CAAC;EACvC7C,EAAAA,GAAG,EAAE;EACHtG,IAAAA,IAAI,EAAEzD,MADH;EAEHkK,IAAAA,OAAO,EAAE;EAFN;EADkC,CAAD,EAKrC,KALqC,CAAjC;;ECTP;;EAmBA;EACO,SAASia,QAAT,CAAmB7U,MAAnB,EAAgF;EACrF,QAAM8U,oBAAoB,GAAGpc,YAAQ,CAAC,MAAM9B,UAAU,CAACoJ,MAAM,CAAClN,KAAP,CAAaiM,UAAd,CAAjB,CAArC;EACA,QAAMgW,cAAc,GAAGrc,YAAQ,CAAC,MAAM9B,UAAU,CAACoJ,MAAM,CAAClN,KAAP,CAAagM,IAAd,CAAjB,CAA/B;EAEA,QAAMkW,YAAY,GAAGtc,YAAQ,CAAC,MAAM;EAClC,UAAMob,OAAiB,GAAG,EAA1B;;EAEA,QAAI9T,MAAM,CAAClN,KAAP,CAAaiM,UAAb,IAA2B,CAAC+V,oBAAoB,CAAChiB,KAArD,EAA4D;EAC1DghB,MAAAA,OAAO,CAAC9mB,IAAR,CAAc,MAAKgT,MAAM,CAAClN,KAAP,CAAaiM,UAAW,EAA3C;EACD;;EAED,QAAIiB,MAAM,CAAClN,KAAP,CAAagM,IAAb,IAAqB,CAACiW,cAAc,CAACjiB,KAAzC,EAAgD;EAC9CghB,MAAAA,OAAO,CAAC9mB,IAAR,CAAc,QAAOgT,MAAM,CAAClN,KAAP,CAAagM,IAAK,EAAvC;EACD;;EAED,WAAOgV,OAAP;EACD,GAZ4B,CAA7B;EAcA,QAAMmB,WAAW,GAAGvc,YAAQ,CAAC,MAAM;EACjC,UAAMsJ,MAAqB,GAAG,EAA9B;;EAEA,QAAIhC,MAAM,CAAClN,KAAP,CAAaiM,UAAb,IAA2B+V,oBAAoB,CAAChiB,KAApD,EAA2D;EACzDkP,MAAAA,MAAM,CAACkT,eAAP,GAAyBlV,MAAM,CAAClN,KAAP,CAAaiM,UAAtC;EACD;;EAED,QAAIiB,MAAM,CAAClN,KAAP,CAAagM,IAAb,IAAqBiW,cAAc,CAACjiB,KAAxC,EAA+C;EAC7CkP,MAAAA,MAAM,CAACnL,KAAP,GAAemJ,MAAM,CAAClN,KAAP,CAAagM,IAA5B;EACAkD,MAAAA,MAAM,CAACmT,UAAP,GAAoBnV,MAAM,CAAClN,KAAP,CAAagM,IAAjC;EACD;;EAED,WAAOkD,MAAP;EACD,GAb2B,CAA5B;EAeA,SAAO;EAAEgT,IAAAA,YAAF;EAAgBC,IAAAA;EAAhB,GAAP;EACD;EAIM,SAASG,YAAT,CACLvlB,KADK,EAEL1B,IAFK,EAGU;EACf,QAAM6R,MAAM,GAAGtH,YAAQ,CAAC,OAAO;EAC7BoG,IAAAA,IAAI,EAAEpK,SAAK,CAAC7E,KAAD,CAAL,GAAeA,KAAK,CAACiD,KAArB,GAA8B3E,IAAI,GAAG0B,KAAK,CAAC1B,IAAD,CAAR,GAAiB;EAD5B,GAAP,CAAD,CAAvB;EAIA,QAAM;EACJ6mB,IAAAA,YAAY,EAAEK,gBADV;EAEJJ,IAAAA,WAAW,EAAEK;EAFT,MAGFT,QAAQ,CAAC7U,MAAD,CAHZ;EAKA,SAAO;EAAEqV,IAAAA,gBAAF;EAAoBC,IAAAA;EAApB,GAAP;EACD;EAIM,SAASC,kBAAT,CACL1lB,KADK,EAEL1B,IAFK,EAGgB;EACrB,QAAM6R,MAAM,GAAGtH,YAAQ,CAAC,OAAO;EAC7BqG,IAAAA,UAAU,EAAErK,SAAK,CAAC7E,KAAD,CAAL,GAAeA,KAAK,CAACiD,KAArB,GAA8B3E,IAAI,GAAG0B,KAAK,CAAC1B,IAAD,CAAR,GAAiB;EADlC,GAAP,CAAD,CAAvB;EAIA,QAAM;EACJ6mB,IAAAA,YAAY,EAAEQ,sBADV;EAEJP,IAAAA,WAAW,EAAEQ;EAFT,MAGFZ,QAAQ,CAAC7U,MAAD,CAHZ;EAKA,SAAO;EAAEwV,IAAAA,sBAAF;EAA0BC,IAAAA;EAA1B,GAAP;EACD;;EC1FD;;EAOA;EACO,SAASC,eAAT,CAKL7lB,KALK,EAMLwJ,IANK,EAOLsc,YAPK,EAUL;EAAA,MAFAC,WAEA,uEAF+CvlB,CAAD,IAAYA,CAE1D;EAAA,MADAwlB,YACA,uEAD+CxlB,CAAD,IAAYA,CAC1D;EACA,QAAM5D,EAAE,GAAGkN,kBAAkB,CAAC,iBAAD,CAA7B;EAEA,QAAMP,aAAa,GAAGV,YAAQ,CAAC,MAAM;EAAA;;EACnC,WAAO,CAAC,EACN,OAAO7I,KAAK,CAACwJ,IAAD,CAAZ,KAAuB,WAAvB,KACC5M,EAAE,QAAF,uBAAAA,EAAE,CAAEoI,KAAJ,CAAUhF,KAAV,6BAAiByJ,cAAjB,CAAgCD,IAAhC,KAAyC5M,EAAzC,gCAAyCA,EAAE,CAAEoI,KAAJ,CAAUhF,KAAnD,aAAyC,iBAAiByJ,cAAjB,CAAgC/E,WAAW,CAAC8E,IAAD,CAA3C,CAD1C,CADM,CAAR;EAID,GAL6B,CAA9B;EAOA,QAAMyc,QAAQ,GAAGnhB,OAAG,CAACihB,WAAW,CAAC/lB,KAAK,CAACwJ,IAAD,CAAN,CAAZ,CAApB;EAEA,SAAOX,YAAQ,CAAQ;EACrB+M,IAAAA,GAAG,GAAI;EACL,UAAIrM,aAAa,CAACtG,KAAlB,EAAyB,OAAO8iB,WAAW,CAAC/lB,KAAK,CAACwJ,IAAD,CAAN,CAAlB,CAAzB,KACK,OAAOyc,QAAQ,CAAChjB,KAAhB;EACN,KAJoB;;EAKrBuT,IAAAA,GAAG,CAAE0P,QAAF,EAAY;EACbD,MAAAA,QAAQ,CAAChjB,KAAT,GAAiBijB,QAAjB;EACAtpB,MAAAA,EAAE,QAAF,YAAAA,EAAE,CAAE2kB,IAAJ,CAAU,UAAS/X,IAAK,EAAxB,EAA2Bwc,YAAY,CAACE,QAAD,CAAvC;EACD;;EARoB,GAAR,CAAf;EAUD;;ECjBM,MAAMC,OAAO,GAAGzc,eAAe,CAAC;EACrCpL,EAAAA,IAAI,EAAE,SAD+B;EAGrC0B,EAAAA,KAAK,EAAE;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACAomB,IAAAA,QAAQ,EAAEhS,OARL;EASLpN,IAAAA,KAAK,EAAEnG,MATF;EAUL4D,IAAAA,IAAI,EAAE2P,OAVD;EAWLvZ,IAAAA,MAAM,EAAE;EACNyJ,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADA;EAENkK,MAAAA,OAAO,EAAE;EAFH,KAXH;EAeLsb,IAAAA,eAAe,EAAE;EACf/hB,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADS;EAEfkK,MAAAA,OAAO,EAAE;EAFM,KAfZ;EAmBLub,IAAAA,QAAQ,EAAElS,OAnBL;EAoBLqN,IAAAA,KAAK,EAAE5gB,MApBF;EAqBL0lB,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAE8P,OADI;EAEVrJ,MAAAA,OAAO,EAAE;EAFC,KArBP;EAyBLyb,IAAAA,SAAS,EAAEpS,OAzBN;EA0BLqS,IAAAA,eAAe,EAAE;EACfniB,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADS;EAEfkK,MAAAA,OAAO,EAAE;EAFM,KA1BZ;EA8BLwC,IAAAA,QAAQ,EAAE;EACRjJ,MAAAA,IAAI,EAAEzD,MADE;EAERkK,MAAAA,OAAO,EAAE,KAFD;EAGRqV,MAAAA,SAAS,EAAGnd,KAAD,IAAgB,CAAC,KAAD,EAAQ,QAAR,EAAkB/F,QAAlB,CAA2B+F,KAA3B;EAHnB,KA9BL;EAoCL,OAAG4gB,eAAe,EApCb;EAqCL,OAAGM,gBAAgB,EArCd;EAsCL,OAAGI,kBAAkB,EAtChB;EAuCL,OAAGI,gBAAgB,EAvCd;EAwCL,OAAGtQ,mBAAmB,EAxCjB;EAyCL,OAAG0Q,YAAY,CAAC;EAAEna,MAAAA,GAAG,EAAE;EAAP,KAAD;EAzCV,GAH8B;EA+CrC0W,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAAoB;EADpC,GA/C8B;;EAmDrC2G,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAEgZ,MAAAA;EAAF,QAAoBD,SAAS,CAAC/jB,KAAD,CAAnC;EACA,UAAM;EAAEskB,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EACA,UAAM;EAAE2lB,MAAAA,sBAAF;EAA0BC,MAAAA;EAA1B,QAAoDF,kBAAkB,CAACgB,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CAAN,CAA5E;EACA,UAAM2mB,UAAU,GAAG,CAAC,CAAC3b,KAAK,CAAC4b,SAA3B;EACA,UAAMC,aAAa,GAAGhe,YAAQ,CAAC,MAC7B9H,MAAM,CAACf,KAAK,CAACwmB,SAAN,GAAkBxmB,KAAK,CAACymB,eAAxB,GAA0CzmB,KAAK,CAACnF,MAAjD,CAAN,IACCmF,KAAK,CAACokB,OAAN,KAAkB,aAAlB,GAAkC,CAAlC,GAAsC,CADvC,KAECpkB,KAAK,CAACokB,OAAN,KAAkB,SAAlB,GAA8B,EAA9B,GAAmC,CAFpC,CAD4B,CAA9B;EAKA,UAAMvpB,MAAM,GAAGgO,YAAQ,CAAC,MACtBge,aAAa,CAAC5jB,KAAd,GACAlC,MAAM,CAAC4lB,UAAU,GAAG3mB,KAAK,CAACqmB,eAAT,GAA2B,CAAtC,CAFe,CAAvB;EAIA,UAAMS,QAAQ,GAAGjB,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,EAAsBA,KAAK,CAACumB,UAA5B,CAAhC;EACA,UAAMQ,YAAY,GAAGrS,aAAa,CAChC1U,KAAK,CAAC1B,IAD0B,EAEhCuK,YAAQ,CAAC,MAAMzB,QAAQ,CAACpH,KAAK,CAACsU,QAAP,EAAiB,EAAjB,CAAf,CAFwB,EAGhCoS,SAAK,CAAC1mB,KAAD,EAAQ,UAAR,CAH2B,EAIhCnF,MAJgC,EAKhCA,MALgC,EAMhCisB,QANgC,CAAlC;EASA,WAAO,MAAM;EAAA;;EACX,YAAME,QAAQ,GAAG,CAAC,EAAEhc,KAAK,CAACyW,KAAN,IAAezhB,KAAK,CAACyhB,KAAvB,CAAlB;EAEA;EAAA,iBAEW,CACL,WADK,EAEL;EACE,+BAAqBzhB,KAAK,CAACuN,QAAN,KAAmB,QAD1C;EAEE,kCAAwBvN,KAAK,CAAComB,QAFhC;EAGE,6BAAmBpmB,KAAK,CAACyE,IAH3B;EAIE,iCAAuBzE,KAAK,CAACsmB,QAJ/B;EAKE,kCAAwBQ,QAAQ,CAAC7jB,KALnC;EAME,kCAAwBjD,KAAK,CAACwmB,SANhC;EAOE,iCAAuBxmB,KAAK,CAACuU;EAP/B,SAFK,EAWLoR,sBAAsB,CAAC1iB,KAXlB,EAYL+gB,aAAa,CAAC/gB,KAZT,EAaLqhB,cAAc,CAACrhB,KAbV,EAcLyhB,gBAAgB,CAACzhB,KAdZ,EAeL6hB,cAAc,CAAC7hB,KAfV,CAFX;EAAA,iBAmBW,CACL2iB,qBAAqB,CAAC3iB,KADjB,EAEL8jB,YAAY,CAAC9jB,KAFR;EAnBX;EAAA,wBAwBM+jB,QAAQ;EAAA,mBACG;EADH,YAEJhc,KAAK,CAACyW,KAAN,iBACEzW,KAAK,CAACwX,GADR,qBACE,gBAAAxX,KAAK,EAAO;EAAEoW,UAAAA,GAAG,EAAEphB,KAAK,CAACyhB;EAAb,SAAP,CADP;EAAA,iBAEezhB,KAAK,CAACyhB,KAFrB;EAAA;EAAA,qCAFI,EAxBd;EAAA,mBAkCY,oBAlCZ;EAAA,mBAmCa;EAAE5mB,YAAAA,MAAM,EAAE6F,aAAa,CAACmmB,aAAa,CAAC5jB,KAAf;EAAvB;EAnCb,YAqCQ+H,KAAK,CAACic,OAAN;EAAA,mBACW;EADX,YAEIjc,KAAK,CAACic,OAAN,EAFJ,EArCR,oBA2CQjc,KAAK,CAACD,OA3Cd,qBA2CQ,oBAAAC,KAAK,CA3Cb,EA6CQA,KAAK,CAACkc,MAAN;EAAA,mBACW;EADX,YAEIlc,KAAK,CAACkc,MAAN,EAFJ,EA7CR,OAoDMP,UAAU;EAAA,mBAEF,sBAFE;EAAA,mBAGD;EAAE9rB,YAAAA,MAAM,EAAE6F,aAAa,CAACV,KAAK,CAACqmB,eAAP;EAAvB;EAHC,gCAKNrb,KAAK,CAAC4b,SALA,qBAKN,sBAAA5b,KAAK,CALC,KApDhB;EAAA;EAAA;EA8DD,KAjED;EAkED;;EA/IoC,CAAD,CAA/B;;ECZA,MAAMmc,iBAAe,GAAG,CAAC,WAAD,EAAc,UAAd,EAA0B,OAA1B,EAAmC,MAAnC,EAA2C,gBAA3C,CAAxB;EAUA,SAASC,WAAT,CAAsBC,WAAtB,EAA4C/oB,IAA5C,EAA0D;EAC/D,8CAEM+oB,WAAW;EAAA,aAAiB,GAAE/oB,IAAK;EAAxB,UAFjB;EAAA,aAIiB,GAAEA,IAAK;EAJxB;EAOD;EAEM,MAAMgpB,gBAAgB,GAAG7Z,YAAY,CAAC;EAC3CzG,EAAAA,KAAK,EAAEnG,MADoC;EAE3C0mB,EAAAA,SAAS,EAAE1mB,MAFgC;EAG3C2mB,EAAAA,OAAO,EAAE;EACPljB,IAAAA,IAAI,EAAEzD,MADC;EAEPkK,IAAAA,OAAO,EAAE,WAFF;EAGPqV,IAAAA,SAAS,EAAG5f,CAAD,IAAY2mB,iBAAe,CAACjqB,QAAhB,CAAyBsD,CAAzB;EAHhB;EAHkC,CAAD,EAQzC,SARyC,CAArC;EAUA,SAASinB,UAAT,CACLznB,KADK,EAGL;EAAA,MADA1B,IACA,uEADOqN,sBAAsB,EAC7B;EACA,QAAM+b,cAAc,GAAG7e,YAAQ,CAAC,MAAM;EACpC,UAAM;EAAE2e,MAAAA;EAAF,QAAcze,SAAK,CAAC/I,KAAD,CAAzB;EACA,WAAQ,GAAE1B,IAAK,aAAYkpB,OAAQ,EAAnC;EACD,GAH8B,CAA/B;EAKA,QAAM;EAAErC,IAAAA,YAAF;EAAgBC,IAAAA;EAAhB,MAAgCJ,QAAQ,CAACnc,YAAQ,CAAC,MAAM;EAC5D,UAAM;EAAE0e,MAAAA,SAAF;EAAaC,MAAAA,OAAb;EAAsBxgB,MAAAA;EAAtB,QAAgC+B,SAAK,CAAC/I,KAAD,CAA3C;EACA,WAAO;EACLiP,MAAAA,IAAI,EAAEsY,SADD;EAEL,OAACC,OAAO,KAAK,WAAZ,GAA0B,YAA1B,GAAyC,MAA1C,GAAmDxgB;EAF9C,KAAP;EAID,GANsD,CAAT,CAA9C;EAQA,SAAO;EAAEme,IAAAA,YAAF;EAAgBC,IAAAA,WAAhB;EAA6BsC,IAAAA;EAA7B,GAAP;EACD;;EC1CM,MAAMC,SAAS,GAAGje,eAAe,CAAC;EACvCpL,EAAAA,IAAI,EAAE,WADiC;EAGvC0B,EAAAA,KAAK,EAAE;EACL4nB,IAAAA,OAAO,EAAExT,OADJ;EAGL,OAAGyP,eAAe,EAHb;EAIL,OAAGM,gBAAgB,EAJd;EAKL,OAAGI,kBAAkB,EALhB;EAML,OAAGI,gBAAgB,EANd;EAOL,OAAGI,YAAY,EAPV;EAQL,OAAGjV,cAAc,EARZ;EASL,OAAGwX,gBAAgB;EATd,GAHgC;;EAevC1d,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEskB,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,UAAM;EAAEgkB,MAAAA;EAAF,QAAoBD,SAAS,CAAC/jB,KAAD,CAAnC;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EAEAyI,IAAAA,eAAe,CAAC;EACdof,MAAAA,IAAI,EAAE;EACJhtB,QAAAA,MAAM,EAAE,MADJ;EAEJmM,QAAAA,KAAK,EAAE0f,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CAFR;EAGJyE,QAAAA,IAAI,EAAE,IAHF;EAIJ+iB,QAAAA,OAAO,EAAEd,SAAK,CAAC1mB,KAAD,EAAQ,SAAR;EAJV;EADQ,KAAD,CAAf;EASA6N,IAAAA,SAAS,CAAC,MAAM;EACd;EAAA,iBAEW,CACL,aADK,EAEL;EACE,kCAAwB7N,KAAK,CAAC4nB;EADhC,SAFK,EAKLhU,YAAY,CAAC3Q,KALR,EAML+gB,aAAa,CAAC/gB,KANT,EAOLqhB,cAAc,CAACrhB,KAPV,EAQLyhB,gBAAgB,CAACzhB,KARZ,EASL6hB,cAAc,CAAC7hB,KATV;EAFX,SAac+H,KAbd;EAgBD,KAjBQ,CAAT;EAkBD;;EAjDsC,CAAD,CAAjC;;ECjBP;;EAkDO,MAAM8c,cAAc,GAAGra,YAAY,CAAC;EACzC8Y,EAAAA,UAAU,EAAE;EACVjiB,IAAAA,IAAI,EAAE,IADI;EAEVyG,IAAAA,OAAO,EAAEtL;EAFC,GAD6B;EAKzCsoB,EAAAA,QAAQ,EAAE3T,OAL+B;EAMzC4T,EAAAA,SAAS,EAAE,CAAC5T,OAAD,EAAUvT,MAAV,CAN8B;EAOzCsC,EAAAA,GAAG,EAAEpC,MAPoC;EAQzCknB,EAAAA,aAAa,EAAEpnB,MAR0B;EASzCqnB,EAAAA,QAAQ,EAAE9T;EAT+B,CAAD,EAUvC,OAVuC,CAAnC;EAYA,MAAM+T,kBAAkB,GAAG1a,YAAY,CAAC;EAC7CxK,EAAAA,KAAK,EAAE,IADsC;EAE7CilB,EAAAA,QAAQ,EAAE9T,OAFmC;EAG7C6T,EAAAA,aAAa,EAAEpnB;EAH8B,CAAD,EAI3C,YAJ2C,CAAvC;EAmBA,SAASunB,YAAT,CACLpoB,KADK,EAELqoB,SAFK,EAIoB;EAAA,MADzBC,QACyB,uEADd,IACc;EACzB,QAAM1rB,EAAE,GAAGkN,kBAAkB,CAAC,cAAD,CAA7B;;EAEA,MAAI,CAAClN,EAAL,EAAS;EACP,UAAM,IAAI4L,KAAJ,CACJ,kFADI,CAAN;EAGD;;EAED,QAAM+f,KAAK,GAAGhgB,UAAM,CAAC8f,SAAD,EAAY,IAAZ,CAApB;;EAEA,MAAI,CAACE,KAAL,EAAY;EACV,QAAI,CAACD,QAAL,EAAe,OAAOC,KAAP;EAEf,UAAM,IAAI/f,KAAJ,CAAW,2DAA0D6f,SAAS,CAACG,WAAY,EAA3F,CAAN;EACD;;EAED,QAAMxV,EAAE,GAAG/O,MAAM,EAAjB;EACA,QAAMhB,KAAK,GAAGyjB,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CAAnB;EACA,QAAMkoB,QAAQ,GAAGrf,YAAQ,CAAC,MAAM0f,KAAK,CAACL,QAAN,CAAejlB,KAAf,IAAwBjD,KAAK,CAACkoB,QAArC,CAAzB;EAEAK,EAAAA,KAAK,CAACxT,QAAN,CAAe;EACb/B,IAAAA,EADa;EAEb/P,IAAAA,KAFa;EAGbilB,IAAAA;EAHa,GAAf,EAIGtrB,EAJH;EAMAoY,EAAAA,mBAAe,CAAC,MAAM;EACpBuT,IAAAA,KAAK,CAACtT,UAAN,CAAiBjC,EAAjB;EACD,GAFc,CAAf;EAIA,QAAMyV,UAAU,GAAG5f,YAAQ,CAAC,MAAM;EAChC,WAAO0f,KAAK,CAACE,UAAN,CAAiBzV,EAAjB,CAAP;EACD,GAF0B,CAA3B;EAIA,QAAMiV,aAAa,GAAGpf,YAAQ,CAAC;EAAA;;EAAA,WAAM4f,UAAU,CAACxlB,KAAX,8BAAqBslB,KAAK,CAACN,aAAN,CAAoBhlB,KAAzC,oCAAkDjD,KAAK,CAACioB,aAAxD,CAAN;EAAA,GAAD,CAA9B;EAEA,SAAO;EACLjV,IAAAA,EADK;EAELyV,IAAAA,UAFK;EAGLC,IAAAA,MAAM,EAAE,MAAMH,KAAK,CAACI,MAAN,CAAa3V,EAAb,EAAiB,CAACyV,UAAU,CAACxlB,KAA7B,CAHT;EAIL0lB,IAAAA,MAAM,EAAG1lB,KAAD,IAAoBslB,KAAK,CAACI,MAAN,CAAa3V,EAAb,EAAiB/P,KAAjB,CAJvB;EAKLglB,IAAAA,aALK;EAMLhlB,IAAAA,KANK;EAOLilB,IAAAA,QAPK;EAQLK,IAAAA;EARK,GAAP;EAUD;EAEM,SAASK,QAAT,CACL5oB,KADK,EAELqoB,SAFK,EAGL;EACA,MAAIQ,WAAW,GAAG,KAAlB;EACA,QAAM3R,KAAK,GAAG4R,YAAQ,CAAc,EAAd,CAAtB;EACA,QAAMC,QAAQ,GAAGlD,eAAe,CAC9B7lB,KAD8B,EAE9B,YAF8B,EAG9B,EAH8B,EAI9BQ,CAAC,IAAI;EACH,QAAIA,CAAC,IAAI,IAAT,EAAe,OAAO,EAAP;EAEf,WAAOwoB,MAAM,CAAC9R,KAAD,EAAQnU,WAAW,CAACvC,CAAD,CAAnB,CAAb;EACD,GAR6B,EAS9BA,CAAC,IAAI;EACH,UAAMyoB,GAAG,GAAGC,SAAS,CAAChS,KAAD,EAAQ1W,CAAR,CAArB;EAEA,WAAOR,KAAK,CAAC+nB,QAAN,GAAiBkB,GAAjB,GAAuBA,GAAG,CAAC,CAAD,CAAjC;EACD,GAb6B,CAAhC;EAgBA,QAAME,OAAO,GAAGrf,kBAAkB,CAAC,UAAD,CAAlC;;EAEA,WAASiL,QAAT,CAAmBoB,IAAnB,EAAoCvZ,EAApC,EAAmE;EACjE;EACA,UAAMwsB,SAAS,GAAGjT,IAAlB;EAEA,UAAM3R,QAAQ,GAAGO,YAAY,CAACokB,OAAD,oBAACA,OAAO,CAAEnkB,KAAV,CAA7B;EACA,UAAMqkB,SAAS,GAAG7kB,QAAQ,CACvBxI,KADe,CACT,CADS;EAAA,KAEfkJ,MAFe,CAERokB,GAAG,IAAI,CAAC,CAACA,GAAG,CAACjY,QAAJ,CAAagX,SAAb,CAFD,CAAlB,CALiE;;EAQjE,UAAMlR,KAAK,GAAGkS,SAAS,CAAChtB,OAAV,CAAkBO,EAAlB,CAAd;EAEA,QAAIua,KAAK,GAAG,CAAC,CAAb,EAAgBD,KAAK,CAACqS,MAAN,CAAapS,KAAb,EAAoB,CAApB,EAAuBiS,SAAvB,EAAhB,KACKlS,KAAK,CAAC/Z,IAAN,CAAWisB,SAAX;EACN;;EAED,WAASnU,UAAT,CAAqBjC,EAArB,EAAiC;EAC/B,QAAI6V,WAAJ,EAAiB,OADc;EAI/B;EACA;;EAEAW,IAAAA,mBAAmB;EAEnB,UAAMrS,KAAK,GAAGD,KAAK,CAACI,SAAN,CAAgBnB,IAAI,IAAIA,IAAI,CAACnD,EAAL,KAAYA,EAApC,CAAd;EACAkE,IAAAA,KAAK,CAACqS,MAAN,CAAapS,KAAb,EAAoB,CAApB;EACD,GA9CD;;;EAiDA,WAASqS,mBAAT,GAAgC;EAC9B,UAAMrT,IAAI,GAAGe,KAAK,CAACG,IAAN,CAAWlB,IAAI,IAAI,CAACA,IAAI,CAAC+R,QAAzB,CAAb;;EACA,QAAI/R,IAAI,IAAInW,KAAK,CAACgoB,SAAN,KAAoB,OAA5B,IAAuC,CAACe,QAAQ,CAAC9lB,KAAT,CAAepE,MAA3D,EAAmE;EACjEkqB,MAAAA,QAAQ,CAAC9lB,KAAT,GAAiB,CAACkT,IAAI,CAACnD,EAAN,CAAjB;EACD;EACF;;EAEDyW,EAAAA,aAAS,CAAC,MAAM;EACdD,IAAAA,mBAAmB;EACpB,GAFQ,CAAT;EAIAxU,EAAAA,mBAAe,CAAC,MAAM;EACpB6T,IAAAA,WAAW,GAAG,IAAd;EACD,GAFc,CAAf;;EAIA,WAASF,MAAT,CAAiB3V,EAAjB,EAA6ByV,UAA7B,EAAkD;EAChD,UAAMtS,IAAI,GAAGe,KAAK,CAACG,IAAN,CAAWlB,IAAI,IAAIA,IAAI,CAACnD,EAAL,KAAYA,EAA/B,CAAb;EACA,QAAIyV,UAAU,IAAItS,IAAJ,YAAIA,IAAI,CAAE+R,QAAxB,EAAkC;;EAElC,QAAIloB,KAAK,CAAC+nB,QAAV,EAAoB;EAClB,YAAM2B,aAAa,GAAGX,QAAQ,CAAC9lB,KAAT,CAAejH,KAAf,EAAtB;EACA,YAAMmb,KAAK,GAAGuS,aAAa,CAACpS,SAAd,CAAwB9W,CAAC,IAAIA,CAAC,KAAKwS,EAAnC,CAAd,CAFkB;EAKlB;EACA;;EACA,UACEhT,KAAK,CAACgoB,SAAN,IACA7Q,KAAK,GAAG,CAAC,CADT,IAEAuS,aAAa,CAAC7qB,MAAd,IAAwB,CAH1B,EAIE,OAXgB;EAclB;;EACA,UACEmB,KAAK,CAACmD,GAAN,IAAa,IAAb,IACAgU,KAAK,GAAG,CADR,IAEAuS,aAAa,CAAC7qB,MAAd,GAAuB,CAAvB,GAA2BmB,KAAK,CAACmD,GAHnC,EAIE;EAEF,UAAIgU,KAAK,GAAG,CAAR,IAAasR,UAAjB,EAA6BiB,aAAa,CAACvsB,IAAd,CAAmB6V,EAAnB,EAA7B,KACK,IAAImE,KAAK,IAAI,CAAT,IAAc,CAACsR,UAAnB,EAA+BiB,aAAa,CAACH,MAAd,CAAqBpS,KAArB,EAA4B,CAA5B;EAEpC4R,MAAAA,QAAQ,CAAC9lB,KAAT,GAAiBymB,aAAjB;EACD,KAzBD,MAyBO;EACL,UAAI1pB,KAAK,CAACgoB,SAAN,IAAmBe,QAAQ,CAAC9lB,KAAT,CAAe/F,QAAf,CAAwB8V,EAAxB,CAAvB,EAAoD;EAEpD+V,MAAAA,QAAQ,CAAC9lB,KAAT,GAAiBwlB,UAAU,GAAG,CAACzV,EAAD,CAAH,GAAU,EAArC;EACD;EACF;;EAED,WAAS2W,IAAT,CAAeC,MAAf,EAA+B;EAC7B;EACA,QAAI5pB,KAAK,CAAC+nB,QAAV,EAAoB1qB,WAAW,CAAC,yDAAD,CAAX;;EAEpB,QAAI,CAAC0rB,QAAQ,CAAC9lB,KAAT,CAAepE,MAApB,EAA4B;EAC1B,YAAMsX,IAAI,GAAGe,KAAK,CAACG,IAAN,CAAWlB,IAAI,IAAI,CAACA,IAAI,CAAC+R,QAAzB,CAAb;EACA/R,MAAAA,IAAI,KAAK4S,QAAQ,CAAC9lB,KAAT,GAAiB,CAACkT,IAAI,CAACnD,EAAN,CAAtB,CAAJ;EACD,KAHD,MAGO;EACL,YAAM6W,SAAS,GAAGd,QAAQ,CAAC9lB,KAAT,CAAe,CAAf,CAAlB;EACA,YAAM6mB,YAAY,GAAG5S,KAAK,CAACI,SAAN,CAAgBtY,CAAC,IAAIA,CAAC,CAACgU,EAAF,KAAS6W,SAA9B,CAArB;EAEA,UAAIE,QAAQ,GAAG,CAACD,YAAY,GAAGF,MAAhB,IAA0B1S,KAAK,CAACrY,MAA/C;EACA,UAAImrB,OAAO,GAAG9S,KAAK,CAAC6S,QAAD,CAAnB;;EAEA,aAAOC,OAAO,CAAC9B,QAAR,IAAoB6B,QAAQ,KAAKD,YAAxC,EAAsD;EACpDC,QAAAA,QAAQ,GAAG,CAACA,QAAQ,GAAGH,MAAZ,IAAsB1S,KAAK,CAACrY,MAAvC;EACAmrB,QAAAA,OAAO,GAAG9S,KAAK,CAAC6S,QAAD,CAAf;EACD;;EAED,UAAIC,OAAO,CAAC9B,QAAZ,EAAsB;EAEtBa,MAAAA,QAAQ,CAAC9lB,KAAT,GAAiB,CAACiU,KAAK,CAAC6S,QAAD,CAAL,CAAgB/W,EAAjB,CAAjB;EACD;EACF;;EAED,QAAM0O,KAAK,GAAG;EACZ3M,IAAAA,QADY;EAEZE,IAAAA,UAFY;EAGZ8T,IAAAA,QAHY;EAIZJ,IAAAA,MAJY;EAKZT,IAAAA,QAAQ,EAAExB,SAAK,CAAC1mB,KAAD,EAAQ,UAAR,CALH;EAMZmJ,IAAAA,IAAI,EAAE,MAAMwgB,IAAI,CAACzS,KAAK,CAACrY,MAAN,GAAe,CAAhB,CANJ;EAOZib,IAAAA,IAAI,EAAE,MAAM6P,IAAI,CAAC,CAAD,CAPJ;EAQZlB,IAAAA,UAAU,EAAGzV,EAAD,IAAgB+V,QAAQ,CAAC9lB,KAAT,CAAe/F,QAAf,CAAwB8V,EAAxB,CARhB;EASZiV,IAAAA,aAAa,EAAEpf,YAAQ,CAAC,MAAM7I,KAAK,CAACioB,aAAb,CATX;EAUZ/Q,IAAAA,KAAK,EAAErO,YAAQ,CAAC,MAAMqO,KAAK,CAACnY,GAAN,CAAU;EAAA,UAAC;EAAEiU,QAAAA;EAAF,OAAD;EAAA,aAAYA,EAAZ;EAAA,KAAV,CAAP;EAVH,GAAd;EAaA1J,EAAAA,WAAO,CAAC+e,SAAD,EAAY3G,KAAZ,CAAP;EAEA,SAAOA,KAAP;EACD;;EAED,SAASsH,MAAT,CAAiB9R,KAAjB,EAAgDqP,UAAhD,EAAmE;EACjE,QAAM7Q,GAAG,GAAG,EAAZ;;EACA,OAAK,MAAMS,IAAX,IAAmBe,KAAnB,EAA0B;EACxB,QAAIf,IAAI,CAAClT,KAAL,IAAc,IAAlB,EAAwB;EACtB,UAAIsjB,UAAU,CAAClP,IAAX,CAAgBpU,KAAK,IAAIvD,SAAS,CAACuD,KAAD,EAAQkT,IAAI,CAAClT,KAAb,CAAlC,CAAJ,EAA4D;EAC1DyS,QAAAA,GAAG,CAACvY,IAAJ,CAASgZ,IAAI,CAACnD,EAAd;EACD;EACF,KAJD,MAIO,IAAIuT,UAAU,CAACrpB,QAAX,CAAoBiZ,IAAI,CAACnD,EAAzB,CAAJ,EAAkC;EACvC0C,MAAAA,GAAG,CAACvY,IAAJ,CAASgZ,IAAI,CAACnD,EAAd;EACD;EACF;;EAED,SAAO0C,GAAP;EACD;;EAED,SAASwT,SAAT,CAAoBhS,KAApB,EAAmDxB,GAAnD,EAA+D;EAC7D,QAAMlQ,MAAM,GAAG,EAAf;;EAEA,OAAK,MAAM2Q,IAAX,IAAmBe,KAAnB,EAA0B;EACxB,QAAIxB,GAAG,CAACxY,QAAJ,CAAaiZ,IAAI,CAACnD,EAAlB,CAAJ,EAA2B;EACzBxN,MAAAA,MAAM,CAACrI,IAAP,CAAYgZ,IAAI,CAAClT,KAAL,IAAc,IAAd,GAAqBkT,IAAI,CAAClT,KAA1B,GAAkCkT,IAAI,CAACnD,EAAnD;EACD;EACF;;EAED,SAAOxN,MAAP;EACD;;EC7RM,MAAMykB,gBAA4C,GAAG/hB,MAAM,CAACC,GAAP,CAAW,sBAAX,CAArD;EAEA,MAAM+hB,UAAU,GAAG3f,gBAAgB,GAIrC;EACHjM,EAAAA,IAAI,EAAE,YADH;EAGH0B,EAAAA,KAAK,EAAE8nB,cAAc,CAAC;EAAEG,IAAAA,aAAa,EAAE;EAAjB,GAAD,CAHlB;EAKH3G,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAAgB;EADhC,GALJ;;EASH2G,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAEyd,MAAAA,UAAF;EAAc3O,MAAAA,IAAd;EAAoB3Q,MAAAA,IAApB;EAA0Bwf,MAAAA,MAA1B;EAAkCI,MAAAA;EAAlC,QAA+CH,QAAQ,CAAC5oB,KAAD,EAAQiqB,gBAAR,CAA7D;EAEApc,IAAAA,SAAS,CAAC;EAAA;;EAAA;EAAA,iBACS;EADT;EAAA,0CAEJ7C,KAAK,CAACD,OAFF,qBAEJ,oBAAAC,KAAK,EAAW;EAChByd,UAAAA,UADgB;EAEhB3O,UAAAA,IAFgB;EAGhB3Q,UAAAA,IAHgB;EAIhBwf,UAAAA,MAJgB;EAKhBI,UAAAA;EALgB,SAAX,CAFD;EAAA;EAAA,KAAD,CAAT;EAYA,WAAO;EACLjP,MAAAA,IADK;EAEL3Q,MAAAA,IAFK;EAGLwf,MAAAA;EAHK,KAAP;EAKD;;EA7BE,CAJqC,CAAnC;;ECtBP;;EAKA,MAAMwB,eAAe,GAAG,CAAC,SAAD,EAAY,OAAZ,EAAqB,SAArB,EAAgC,OAAhC,EAAyC,SAAzC,CAAxB;EAMA;EACO,MAAMC,aAAa,GAAG3c,YAAY,CAAC;EACxCnI,EAAAA,IAAI,EAAE;EACJhB,IAAAA,IAAI,EAAE,CAACzD,MAAD,EAASE,MAAT,CADF;EAEJgK,IAAAA,OAAO,EAAE;EAFL;EADkC,CAAD,EAKtC,MALsC,CAAlC;EAOA,SAASsf,OAAT,CACLrqB,KADK,EAGL;EAAA,MADA1B,IACA,uEADOqN,sBAAsB,EAC7B;EACA,QAAM2e,WAAW,GAAGzhB,YAAQ,CAAC,MAAM;EACjC,WAAOshB,eAAe,CAACjtB,QAAhB,CAAyB8C,KAAK,CAACsF,IAA/B,IACF,GAAEhH,IAAK,UAAS0B,KAAK,CAACsF,IAAK,EADzB,GAEH,IAFJ;EAGD,GAJ2B,CAA5B;EAMA,QAAMilB,UAAU,GAAG1hB,YAAQ,CAAC,MAAM;EAChC,WAAO,CAACshB,eAAe,CAACjtB,QAAhB,CAAyB8C,KAAK,CAACsF,IAA/B,CAAD,IAAmDtF,KAAK,CAACsF,IAAzD,GACF;EACD1K,MAAAA,KAAK,EAAE8F,aAAa,CAACV,KAAK,CAACsF,IAAP,CADnB;EAEDzK,MAAAA,MAAM,EAAE6F,aAAa,CAACV,KAAK,CAACsF,IAAP;EAFpB,KADE,GAIA,IAJP;EAKD,GAN0B,CAA3B;EAQA,SAAO;EAAEglB,IAAAA,WAAF;EAAeC,IAAAA;EAAf,GAAP;EACD;;EC+BM,MAAMC,UAAqC,GAAGtiB,MAAM,CAACC,GAAP,CAAW,eAAX,CAA9C;EAEA,MAAMsiB,aAAa,GAAGhd,YAAY,CAAC;EACxCid,EAAAA,IAAI,EAAE;EACJpmB,IAAAA,IAAI,EAAE,CAACzD,MAAD,EAASd,MAAT,CADF;EAEJuoB,IAAAA,QAAQ,EAAE;EAFN,GADkC;EAKxC;EACA1d,EAAAA,GAAG,EAAE;EACHtG,IAAAA,IAAI,EAAEzD,MADH;EAEHynB,IAAAA,QAAQ,EAAE;EAFP;EANmC,CAAD,EAUtC,MAVsC,CAAlC;EAYA,MAAMqC,cAAc,GAAGjhB,eAAe,CAAC;EAC5CpL,EAAAA,IAAI,EAAE,gBADsC;EAG5C0B,EAAAA,KAAK,EAAEyqB,aAAa,EAHwB;;EAK5C7gB,EAAAA,KAAK,CAAE5J,KAAF,EAAS;EACZ,WAAO,MAAM;EACX;EAAA;EAAA;EAKD,KAND;EAOD;;EAb2C,CAAD,CAAtC;EAgBA,MAAM4qB,QAAQ,GAAGlhB,eAAe,CAAC;EACtCpL,EAAAA,IAAI,EAAE,UADgC;EAGtCusB,EAAAA,YAAY,EAAE,KAHwB;EAKtC7qB,EAAAA,KAAK,EAAEyqB,aAAa,EALkB;;EAOtC7gB,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAE8C,MAAAA;EAAF,KAAW;EACvB,WAAO,MAAM;EACX,uDACkBA,KADlB;EAAA,iBACkC;EADlC;EAAA;EAAA,mBAGY,aAHZ;EAAA,mBAIY,4BAJZ;EAAA,qBAKc,WALd;EAAA,kBAMW,KANX;EAAA,yBAOkB;EAPlB;EAAA,eASgB9C,KAAK,CAAC0qB;EATtB;EAAA;EAaD,KAdD;EAeD;;EAvBqC,CAAD,CAAhC;EA0BA,MAAMI,aAAa,GAAGphB,eAAe,CAAC;EAC3CpL,EAAAA,IAAI,EAAE,eADqC;EAG3C0B,EAAAA,KAAK,EAAEyqB,aAAa,EAHuB;;EAK3C7gB,EAAAA,KAAK,CAAE5J,KAAF,EAAS;EACZ,WAAO,MAAM;EACX;EAAA,wBAAoBA,KAAK,CAAC0qB,IAA1B;EAAA;EACD,KAFD;EAGD;;EAT0C,CAAD,CAArC;EAYA,MAAMK,UAAU,GAAGrhB,eAAe,CAAC;EACxCpL,EAAAA,IAAI,EAAE,YADkC;EAGxC0B,EAAAA,KAAK,EAAEyqB,aAAa,EAHoB;;EAKxC7gB,EAAAA,KAAK,CAAE5J,KAAF,EAAS;EACZ,WAAO,MAAM;EACX;EAAA,iBAA0BA,KAAK,CAAC0qB;EAAhC;EACD,KAFD;EAGD;;EATuC,CAAD,CAAlC;EAYA,MAAMM,WAAoC,GAAG;EAClDC,EAAAA,GAAG,EAAE;EACH9lB,IAAAA,SAAS,EAAEylB;EADR,GAD6C;EAIlD3f,EAAAA,KAAK,EAAE;EACL9F,IAAAA,SAAS,EAAE4lB;EADN;EAJ2C,CAA7C;;EAUA,MAAMG,OAAO,GAAIlrB,KAAD,IAA2D;EAChF,QAAMmrB,KAAK,GAAG5iB,UAAM,CAACiiB,UAAD,CAApB;EAEA,MAAI,CAACW,KAAL,EAAY,MAAM,IAAI3iB,KAAJ,CAAU,gCAAV,CAAN;EAEZ,QAAM4iB,QAA2B,GAAGviB,YAAQ,CAAC,MAAM;EACjD,UAAMwiB,SAAS,GAAGxmB,SAAK,CAAC7E,KAAD,CAAL,GAAeA,KAAK,CAACiD,KAArB,GAA6BjD,KAAK,CAAC0qB,IAArD;EAEA,QAAI,CAACW,SAAL,EAAgB,MAAM,IAAI7iB,KAAJ,CAAU,iCAAV,CAAN;EAEhB,QAAIkiB,IAA2B,GAAGW,SAAlC;;EAEA,QAAI,OAAOA,SAAP,KAAqB,QAArB,IAAiCA,SAAS,CAACnuB,QAAV,CAAmB,GAAnB,CAArC,EAA8D;EAAA;;EAC5DwtB,MAAAA,IAAI,qBAAGS,KAAK,CAACG,OAAT,qBAAG,eAAgBD,SAAS,CAACrvB,KAAV,CAAgBqvB,SAAS,CAAChvB,OAAV,CAAkB,GAAlB,IAAyB,CAAzC,CAAhB,CAAP;EACD;;EAED,QAAI,CAACquB,IAAL,EAAW,MAAM,IAAIliB,KAAJ,CAAW,gCAA+B6iB,SAAU,GAApD,CAAN;;EAEX,QAAI,OAAOX,IAAP,KAAgB,QAApB,EAA8B;EAC5B,aAAO;EACLvlB,QAAAA,SAAS,EAAEwlB,cADN;EAELD,QAAAA;EAFK,OAAP;EAID;;EAED,UAAMa,WAAW,GAAGxrB,MAAM,CAACE,IAAP,CAAYkrB,KAAK,CAACK,IAAlB,EAAwBnU,IAAxB,CAClBoU,OAAO,IAAI,OAAOf,IAAP,KAAgB,QAAhB,IAA4BA,IAAI,CAAC3uB,UAAL,CAAiB,GAAE0vB,OAAQ,GAA3B,CADrB,CAApB;EAIA,UAAMC,QAAQ,GAAGH,WAAW,GAAGb,IAAI,CAAC1uB,KAAL,CAAWuvB,WAAW,CAAC1sB,MAAZ,GAAqB,CAAhC,CAAH,GAAwC6rB,IAApE;EACA,UAAMiB,OAAO,GAAGR,KAAK,CAACK,IAAN,CAAWD,WAAX,WAAWA,WAAX,GAA0BJ,KAAK,CAACS,UAAhC,CAAhB;EAEA,WAAO;EACLzmB,MAAAA,SAAS,EAAEwmB,OAAO,CAACxmB,SADd;EAELulB,MAAAA,IAAI,EAAEgB;EAFD,KAAP;EAID,GA/B2C,CAA5C;EAiCA,SAAO;EAAEN,IAAAA;EAAF,GAAP;EACD,CAvCM;;EC9IA,MAAMS,KAAK,GAAGniB,eAAe,CAAC;EACnCpL,EAAAA,IAAI,EAAE,OAD6B;EAGnC0B,EAAAA,KAAK,EAAE;EACLgH,IAAAA,KAAK,EAAEnG,MADF;EAEL7F,IAAAA,IAAI,EAAEoZ,OAFD;EAGLnZ,IAAAA,KAAK,EAAEmZ,OAHF;EAILsW,IAAAA,IAAI,EAAE;EACJpmB,MAAAA,IAAI,EAAE,CAACzD,MAAD,EAASd,MAAT;EADF,KAJD;EAOL,OAAGqqB,aAAa,EAPX;EAQL,OAAGrF,YAAY,CAAC;EAAEna,MAAAA,GAAG,EAAE;EAAP,KAAD;EARV,GAH4B;;EAcnChB,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,QAAI8gB,QAAJ;;EACA,QAAI9gB,KAAK,CAACD,OAAV,EAAmB;EACjB+gB,MAAAA,QAAQ,GAAGjjB,YAAQ,CAAC,MAAM;EAAA;;EACxB,cAAMkjB,IAAI,qBAAG/gB,KAAK,CAACD,OAAT,qBAAG,oBAAAC,KAAK,CAAlB;EACA,YAAI,CAAC+gB,IAAL,EAAW;EAEX,wCAAO5nB,gBAAgB,CAAC4nB,IAAD,CAAhB,CAAuB7mB,MAAvB,CAA8Bb,IAAI,IACvCA,IAAI,CAACG,QAAL,IAAiB,OAAOH,IAAI,CAACG,QAAZ,KAAyB,QADrC,EAEL,CAFK,CAAP,qBAAO,sBAEDA,QAFN;EAGD,OAPkB,CAAnB;EAQD;;EAED,UAAM;EAAE4mB,MAAAA;EAAF,QAAeF,OAAO,CAACY,QAAQ,IAAI9rB,KAAb,CAA5B;EACA,UAAM;EAAEsqB,MAAAA;EAAF,QAAkBD,OAAO,CAACrqB,KAAD,CAA/B;EACA,UAAM;EAAEwlB,MAAAA,gBAAF;EAAoBC,MAAAA;EAApB,QAAwCF,YAAY,CAACmB,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CAAN,CAA1D;EAEA,WAAO,MAAM;EACX;EAAA,eAEUA,KAAK,CAAC4K,GAFhB;EAAA,gBAGWwgB,QAAQ,CAACnoB,KAAT,CAAeynB,IAH1B;EAAA,iBAIW,CACL,QADK,EAEL,aAFK,EAGLJ,WAAW,CAACrnB,KAHP,EAILuiB,gBAAgB,CAACviB,KAJZ,EAKL;EACE,0BAAgBjD,KAAK,CAAChF,IADxB;EAEE,2BAAiBgF,KAAK,CAAC/E;EAFzB,SALK,CAJX;EAAA,iBAcW,CACL,CAACqvB,WAAW,CAACrnB,KAAb,GAAsB;EACpB+oB,UAAAA,QAAQ,EAAEtrB,aAAa,CAACV,KAAK,CAACsF,IAAP,CADH;EAEpB1K,UAAAA,KAAK,EAAE8F,aAAa,CAACV,KAAK,CAACsF,IAAP,CAFA;EAGpBzK,UAAAA,MAAM,EAAE6F,aAAa,CAACV,KAAK,CAACsF,IAAP;EAHD,SAAtB,GAIK7F,SALA,EAMLgmB,eAAe,CAACxiB,KANX,CAdX;EAAA,uBAsBgB;EAtBhB;EAyBD,KA1BD;EA2BD;;EA1DkC,CAAD,CAA7B;;ECjBP;;EAOA,MAAMgpB,cAAc,GAAG,CAAC,QAAD,EAAW,UAAX,EAAuB,OAAvB,EAAgC,UAAhC,EAA4C,QAA5C,CAAvB;EAcA;EACO,MAAMC,iBAAiB,GAAGze,YAAY,CAAC;EAC5C8G,EAAAA,QAAQ,EAAEH,OADkC;EAE5CrZ,EAAAA,MAAM,EAAE,CAACqZ,OAAD,EAAUrT,MAAV,EAAkBF,MAAlB,CAFoC;EAG5CsrB,EAAAA,KAAK,EAAE/X,OAHqC;EAI5CpZ,EAAAA,IAAI,EAAE,CAACoZ,OAAD,EAAUrT,MAAV,EAAkBF,MAAlB,CAJsC;EAK5C0M,EAAAA,QAAQ,EAAE;EACRjJ,IAAAA,IAAI,EAAEzD,MADE;EAERuf,IAAAA,SAAS;EAAE;EAA4B5f,IAAAA,CAAD,IAAYyrB,cAAc,CAAC/uB,QAAf,CAAwBsD,CAAxB;EAF1C,GALkC;EAS5CvF,EAAAA,KAAK,EAAE,CAACmZ,OAAD,EAAUrT,MAAV,EAAkBF,MAAlB,CATqC;EAU5C/F,EAAAA,GAAG,EAAE,CAACsZ,OAAD,EAAUrT,MAAV,EAAkBF,MAAlB;EAVuC,CAAD,EAW1C,UAX0C,CAAtC;EAaA,SAASurB,WAAT,CACLpsB,KADK,EAGL;EAAA,MADA1B,IACA,uEADOqN,sBAAsB,EAC7B;EACA,QAAM0gB,OAAO,GAAG,CAAC,KAAD,EAAQ,OAAR,EAAiB,QAAjB,EAA2B,MAA3B,CAAhB;EAEA,QAAMC,eAAe,GAAGzjB,YAAQ,CAAC,MAAM;EACrC,QAAI7I,KAAK,CAACmsB,KAAV,EAAiB,OAAQ,GAAE7tB,IAAK,SAAf;EACjB,QAAI0B,KAAK,CAACuU,QAAV,EAAoB,OAAQ,GAAEjW,IAAK,YAAf;EAEpB,WAAO0B,KAAK,CAACuN,QAAN,GAAkB,YAAWvN,KAAK,CAACuN,QAAS,EAA5C,GAAgD9N,SAAvD;EACD,GAL+B,CAAhC;EAOA,QAAM8sB,cAAc,GAAG1jB,YAAQ,CAAC,MAAM;EACpC,UAAMsJ,MAAuD,GAAG,EAAhE;;EAEA,SAAK,MAAMtO,MAAX,IAAqBwoB,OAArB,EAA8B;EAC5B,YAAM7iB,IAAI,GAAGxJ,KAAK,CAAC6D,MAAD,CAAlB;EAEA,UAAI2F,IAAI,IAAI,IAAR,IAAgBA,IAAI,KAAK,KAA7B,EAAoC;EAEpC2I,MAAAA,MAAM,CAACtO,MAAD,CAAN,GAAiBnD,aAAa,CAAC8I,IAAI,KAAK,IAAT,GAAgB,GAAhB,GAAsB3I,MAAM,CAAC2I,IAAD,CAA7B,CAA9B;EACD;;EAED,WAAO2I,MAAP;EACD,GAZ8B,CAA/B;EAcA,SAAO;EAAEma,IAAAA,eAAF;EAAmBC,IAAAA;EAAnB,GAAP;EACD;;EC/DD;EA2BO,SAASC,SAAT,GAA0C;EAAA;;EAC/C,gCAAO1iB,kBAAkB,CAAC,WAAD,CAAzB,8CAAO,oBAAiC2iB,KAAxC,qBAAO,sBAAwCC,OAA/C;EACD;EAcM,SAASC,OAAT,CAAkB3sB,KAAlB,EAAoC8C,KAApC,EAA2E;EAChF,QAAM8pB,UAAU,GAAGC,2BAAuB,CAAC,YAAD,CAA1C;EAEA,QAAMC,MAAM,GAAGjkB,YAAQ,CAAC,MAAM,CAAC,EAAE7I,KAAK,CAAC+sB,IAAN,IAAc/sB,KAAK,CAAC9D,EAAtB,CAAR,CAAvB;EACA,QAAMmrB,WAAW,GAAGxe,YAAQ,CAAC,MAAM;EACjC,WAAO,CAAAikB,MAAM,QAAN,YAAAA,MAAM,CAAE7pB,KAAR,KAAiB,CAAC,EAAEH,KAAK,CAACkqB,OAAN,IAAiBlqB,KAAK,CAACmqB,WAAzB,CAAzB;EACD,GAF2B,CAA5B;;EAIA,MAAI,OAAOL,UAAP,KAAsB,QAA1B,EAAoC;EAClC,WAAO;EACLE,MAAAA,MADK;EAELzF,MAAAA,WAFK;EAGL0F,MAAAA,IAAI,EAAErG,SAAK,CAAC1mB,KAAD,EAAQ,MAAR;EAHN,KAAP;EAKD;;EAED,QAAMktB,IAAI,GAAGltB,KAAK,CAAC9D,EAAN,GAAW0wB,UAAU,CAACD,OAAX,CAAmB3sB,KAAnB,CAAX,GAA8DP,SAA3E;EAEA,SAAO,EACL,GAAGytB,IADE;EAELJ,IAAAA,MAFK;EAGLzF,IAAAA,WAHK;EAIL0F,IAAAA,IAAI,EAAElkB,YAAQ,CAAC,MAAM7I,KAAK,CAAC9D,EAAN,GAAWgxB,IAAX,oBAAWA,IAAI,CAAEC,KAAN,CAAYlqB,KAAZ,CAAkB8pB,IAA7B,GAAoC/sB,KAAK,CAAC+sB,IAAjD;EAJT,GAAP;EAMD;EAEM,MAAMK,eAAe,GAAG3f,YAAY,CAAC;EAC1Csf,EAAAA,IAAI,EAAElsB,MADoC;EAE1C/C,EAAAA,OAAO,EAAEsW,OAFiC;EAG1ClY,EAAAA,EAAE,EAAE,CAAC2E,MAAD,EAASd,MAAT;EAHsC,CAAD,EAIxC,QAJwC,CAApC;EAMA,SAASstB,aAAT,CAAwBC,EAAxB,EAAiE;EACtE,QAAMC,MAAM,GAAGf,SAAS,EAAxB;EACA,MAAIgB,MAAM,GAAG,KAAb;EACA,MAAIC,WAAJ;EAEAhE,EAAAA,aAAS,CAAC,MAAM;EACdpd,IAAAA,MAAM,CAACqhB,gBAAP,CAAwB,UAAxB,EAAoCC,UAApC;EACAF,IAAAA,WAAW,GAAGF,MAAH,oBAAGA,MAAM,CAAEK,UAAR,CAAmB,CAAC1xB,EAAD,EAAKqE,IAAL,EAAWuZ,IAAX,KAAoB;EACnD+I,MAAAA,UAAU,CAAC,MAAM2K,MAAM,GAAGF,EAAE,CAACxT,IAAD,CAAL,GAAcA,IAAI,EAA/B,CAAV;EACD,KAFa,CAAd;EAGD,GALQ,CAAT;EAMA9E,EAAAA,mBAAe,CAAC,MAAM;EAAA;;EACpB3I,IAAAA,MAAM,CAACwhB,mBAAP,CAA2B,UAA3B,EAAuCF,UAAvC;EACA,oBAAAF,WAAW,SAAX;EACD,GAHc,CAAf;;EAKA,WAASE,UAAT,CAAqBG,CAArB,EAAuC;EACrC,QAAIA,CAAC,CAACpM,KAAF,CAAQqM,QAAZ,EAAsB;EAEtBP,IAAAA,MAAM,GAAG,IAAT;EACA3K,IAAAA,UAAU,CAAC,MAAO2K,MAAM,GAAG,KAAjB,CAAV;EACD;EACF;;ECjGD;;EAYA,MAAMQ,UAAU,GAAG9lB,MAAM,CAAC,YAAD,CAAzB;EAIA,MAAM+lB,YAAY,GAAG,EAArB;;EAEA,SAASxyB,SAAT,CAAoBN,EAApB,EAAqC8H,KAArC,EAAoD;EAClD9H,EAAAA,EAAE,CAACG,KAAH,CAASG,SAAT,GAAqBwH,KAArB;EACA9H,EAAAA,EAAE,CAACG,KAAH,CAAS4yB,eAAT,GAA2BjrB,KAA3B;EACD;;EAED,SAASkrB,OAAT,CAAkBhzB,EAAlB,EAAmC8H,KAAnC,EAAkD;EAChD9H,EAAAA,EAAE,CAACG,KAAH,CAAS6yB,OAAT,GAAoB,QAAOlrB,KAAM,uCAAjC;EACD;;EAgBD,SAASmrB,YAAT,CAAuBN,CAAvB,EAA+D;EAC7D,SAAOA,CAAC,CAACrzB,WAAF,CAAc6D,IAAd,KAAuB,YAA9B;EACD;;EAED,SAAS+vB,eAAT,CAA0BP,CAA1B,EAAqE;EACnE,SAAOA,CAAC,CAACrzB,WAAF,CAAc6D,IAAd,KAAuB,eAA9B;EACD;;EAED,MAAMgwB,SAAS,GAAG,UAChBR,CADgB,EAEhB3yB,EAFgB,EAIb;EAAA;;EAAA,MADH8H,KACG,uEADoB,EACpB;EACH,MAAIsrB,MAAM,GAAG,CAAb;EACA,MAAIC,MAAM,GAAG,CAAb;;EAEA,MAAI,CAACH,eAAe,CAACP,CAAD,CAApB,EAAyB;EACvB,UAAMlE,MAAM,GAAGzuB,EAAE,CAACE,qBAAH,EAAf;EACA,UAAMwI,MAAM,GAAGuqB,YAAY,CAACN,CAAD,CAAZ,GAAkBA,CAAC,CAACW,OAAF,CAAUX,CAAC,CAACW,OAAF,CAAU5vB,MAAV,GAAmB,CAA7B,CAAlB,GAAoDivB,CAAnE;EAEAS,IAAAA,MAAM,GAAG1qB,MAAM,CAAC6qB,OAAP,GAAiB9E,MAAM,CAAC5uB,IAAjC;EACAwzB,IAAAA,MAAM,GAAG3qB,MAAM,CAAC8qB,OAAP,GAAiB/E,MAAM,CAAC9uB,GAAjC;EACD;;EAED,MAAI8zB,MAAM,GAAG,CAAb;EACA,MAAIC,KAAK,GAAG,GAAZ;;EACA,qBAAI1zB,EAAE,CAAC2zB,OAAP,aAAI,YAAYC,MAAhB,EAAwB;EACtBF,IAAAA,KAAK,GAAG,IAAR;EACAD,IAAAA,MAAM,GAAGzzB,EAAE,CAAC6zB,WAAH,GAAiB,CAA1B;EACAJ,IAAAA,MAAM,GAAG3rB,KAAK,CAACgsB,MAAN,GAAeL,MAAf,GAAwBA,MAAM,GAAGxrB,IAAI,CAAC8rB,IAAL,CAAU,CAACX,MAAM,GAAGK,MAAV,KAAqB,CAArB,GAAyB,CAACJ,MAAM,GAAGI,MAAV,KAAqB,CAAxD,IAA6D,CAAvG;EACD,GAJD,MAIO;EACLA,IAAAA,MAAM,GAAGxrB,IAAI,CAAC8rB,IAAL,CAAU/zB,EAAE,CAAC6zB,WAAH,IAAkB,CAAlB,GAAsB7zB,EAAE,CAACqR,YAAH,IAAmB,CAAnD,IAAwD,CAAjE;EACD;;EAED,QAAM2iB,OAAO,GAAI,GAAE,CAACh0B,EAAE,CAAC6zB,WAAH,GAAkBJ,MAAM,GAAG,CAA5B,IAAkC,CAAE,IAAvD;EACA,QAAMQ,OAAO,GAAI,GAAE,CAACj0B,EAAE,CAACqR,YAAH,GAAmBoiB,MAAM,GAAG,CAA7B,IAAmC,CAAE,IAAxD;EAEA,QAAMl0B,CAAC,GAAGuI,KAAK,CAACgsB,MAAN,GAAeE,OAAf,GAA0B,GAAEZ,MAAM,GAAGK,MAAO,IAAtD;EACA,QAAMj0B,CAAC,GAAGsI,KAAK,CAACgsB,MAAN,GAAeG,OAAf,GAA0B,GAAEZ,MAAM,GAAGI,MAAO,IAAtD;EAEA,SAAO;EAAEA,IAAAA,MAAF;EAAUC,IAAAA,KAAV;EAAiBn0B,IAAAA,CAAjB;EAAoBC,IAAAA,CAApB;EAAuBw0B,IAAAA,OAAvB;EAAgCC,IAAAA;EAAhC,GAAP;EACD,CAjCD;;EAmCA,MAAMC,OAAO,GAAG;EACd;EACAC,EAAAA,IAAI,CACFxB,CADE,EAEF3yB,EAFE,EAIF;EAAA;;EAAA,QADA8H,KACA,uEADuB,EACvB;;EACA,QAAI,EAAC9H,EAAD,4BAACA,EAAE,CAAE2zB,OAAL,aAAC,aAAaS,OAAd,CAAJ,EAA2B;EACzB;EACD;;EAED,UAAMC,SAAS,GAAGnkB,QAAQ,CAACmI,aAAT,CAAuB,MAAvB,CAAlB;EACA,UAAMic,SAAS,GAAGpkB,QAAQ,CAACmI,aAAT,CAAuB,MAAvB,CAAlB;EAEAgc,IAAAA,SAAS,CAAC/b,WAAV,CAAsBgc,SAAtB;EACAD,IAAAA,SAAS,CAACE,SAAV,GAAsB,qBAAtB;;EAEA,QAAIzsB,KAAK,CAACgI,KAAV,EAAiB;EACfukB,MAAAA,SAAS,CAACE,SAAV,IAAwB,IAAGzsB,KAAK,CAACgI,KAAM,EAAvC;EACD;;EAED,UAAM;EAAE2jB,MAAAA,MAAF;EAAUC,MAAAA,KAAV;EAAiBn0B,MAAAA,CAAjB;EAAoBC,MAAAA,CAApB;EAAuBw0B,MAAAA,OAAvB;EAAgCC,MAAAA;EAAhC,QAA4Cd,SAAS,CAACR,CAAD,EAAI3yB,EAAJ,EAAQ8H,KAAR,CAA3D;EAEA,UAAMqC,IAAI,GAAI,GAAEspB,MAAM,GAAG,CAAE,IAA3B;EACAa,IAAAA,SAAS,CAACC,SAAV,GAAsB,qBAAtB;EACAD,IAAAA,SAAS,CAACn0B,KAAV,CAAgBV,KAAhB,GAAwB0K,IAAxB;EACAmqB,IAAAA,SAAS,CAACn0B,KAAV,CAAgBT,MAAhB,GAAyByK,IAAzB;EAEAnK,IAAAA,EAAE,CAACsY,WAAH,CAAe+b,SAAf;EAEA,UAAM3mB,QAAQ,GAAGwD,MAAM,CAAC9Q,gBAAP,CAAwBJ,EAAxB,CAAjB;;EACA,QAAI0N,QAAQ,IAAIA,QAAQ,CAAC0E,QAAT,KAAsB,QAAtC,EAAgD;EAC9CpS,MAAAA,EAAE,CAACG,KAAH,CAASiS,QAAT,GAAoB,UAApB;EACApS,MAAAA,EAAE,CAACw0B,OAAH,CAAWC,gBAAX,GAA8B,QAA9B;EACD;;EAEDH,IAAAA,SAAS,CAACI,SAAV,CAAoBC,GAApB,CAAwB,4BAAxB;EACAL,IAAAA,SAAS,CAACI,SAAV,CAAoBC,GAApB,CAAwB,8BAAxB;EACAr0B,IAAAA,SAAS,CAACg0B,SAAD,EAAa,aAAY/0B,CAAE,KAAIC,CAAE,aAAYk0B,KAAM,IAAGA,KAAM,IAAGA,KAAM,GAArE,CAAT;EACAV,IAAAA,OAAO,CAACsB,SAAD,EAAY,CAAZ,CAAP;EACAA,IAAAA,SAAS,CAACE,OAAV,CAAkBI,SAAlB,GAA8BlvB,MAAM,CAACmvB,WAAW,CAACC,GAAZ,EAAD,CAApC;EAEApN,IAAAA,UAAU,CAAC,MAAM;EACf4M,MAAAA,SAAS,CAACI,SAAV,CAAoBK,MAApB,CAA2B,4BAA3B;EACAT,MAAAA,SAAS,CAACI,SAAV,CAAoBC,GAApB,CAAwB,yBAAxB;EACAr0B,MAAAA,SAAS,CAACg0B,SAAD,EAAa,aAAYN,OAAQ,KAAIC,OAAQ,kBAA7C,CAAT;EACAjB,MAAAA,OAAO,CAACsB,SAAD,EAAY,IAAZ,CAAP;EACD,KALS,EAKP,CALO,CAAV;EAMD,GAhDa;;EAkDdU,EAAAA,IAAI,CAAEh1B,EAAF,EAA0B;EAAA;;EAC5B,QAAI,EAACA,EAAD,4BAACA,EAAE,CAAE2zB,OAAL,aAAC,aAAaS,OAAd,CAAJ,EAA2B;EAE3B,UAAMF,OAAO,GAAGl0B,EAAE,CAACi1B,sBAAH,CAA0B,qBAA1B,CAAhB;EAEA,QAAIf,OAAO,CAACxwB,MAAR,KAAmB,CAAvB,EAA0B;EAC1B,UAAM4wB,SAAS,GAAGJ,OAAO,CAACA,OAAO,CAACxwB,MAAR,GAAiB,CAAlB,CAAzB;EAEA,QAAI4wB,SAAS,CAACE,OAAV,CAAkBU,QAAtB,EAAgC,OAAhC,KACKZ,SAAS,CAACE,OAAV,CAAkBU,QAAlB,GAA6B,MAA7B;EAEL,UAAMC,IAAI,GAAGN,WAAW,CAACC,GAAZ,KAAoBlvB,MAAM,CAAC0uB,SAAS,CAACE,OAAV,CAAkBI,SAAnB,CAAvC;EACA,UAAMQ,KAAK,GAAGntB,IAAI,CAACD,GAAL,CAAS,MAAMmtB,IAAf,EAAqB,CAArB,CAAd;EAEAzN,IAAAA,UAAU,CAAC,MAAM;EACf4M,MAAAA,SAAS,CAACI,SAAV,CAAoBK,MAApB,CAA2B,yBAA3B;EACAT,MAAAA,SAAS,CAACI,SAAV,CAAoBC,GAApB,CAAwB,0BAAxB;EACA3B,MAAAA,OAAO,CAACsB,SAAD,EAAY,CAAZ,CAAP;EAEA5M,MAAAA,UAAU,CAAC,MAAM;EACf,cAAMwM,OAAO,GAAGl0B,EAAE,CAACi1B,sBAAH,CAA0B,qBAA1B,CAAhB;;EACA,YAAIf,OAAO,CAACxwB,MAAR,KAAmB,CAAnB,IAAwB1D,EAAE,CAACw0B,OAAH,CAAWC,gBAAvC,EAAyD;EACvDz0B,UAAAA,EAAE,CAACG,KAAH,CAASiS,QAAT,GAAoBpS,EAAE,CAACw0B,OAAH,CAAWC,gBAA/B;EACA,iBAAOz0B,EAAE,CAACw0B,OAAH,CAAWC,gBAAlB;EACD;;EAEDH,QAAAA,SAAS,CAACrkB,UAAV,IAAwBjQ,EAAE,CAACq1B,WAAH,CAAef,SAAS,CAACrkB,UAAzB,CAAxB;EACD,OARS,EAQP,GARO,CAAV;EASD,KAdS,EAcPmlB,KAdO,CAAV;EAeD;;EA/Ea,CAAhB;;EAkFA,SAASE,eAAT,CAA0BxtB,KAA1B,EAAqD;EACnD,SAAO,OAAOA,KAAP,KAAiB,WAAjB,IAAgC,CAAC,CAACA,KAAzC;EACD;;EAED,SAASytB,UAAT,CAAqB5C,CAArB,EAA4C;EAC1C,QAAM7qB,KAAoB,GAAG,EAA7B;EACA,QAAM0tB,OAAO,GAAG7C,CAAC,CAAC8C,aAAlB;EAEA,MAAI,EAACD,OAAD,YAACA,OAAO,CAAE7B,OAAV,KAAqB6B,OAAO,CAAC7B,OAAR,CAAgB+B,OAArC,IAAgD/C,CAAC,CAACE,UAAD,CAArD,EAAmE,OAJzB;;EAO1CF,EAAAA,CAAC,CAACE,UAAD,CAAD,GAAgB,IAAhB;;EAEA,MAAII,YAAY,CAACN,CAAD,CAAhB,EAAqB;EACnB6C,IAAAA,OAAO,CAAC7B,OAAR,CAAgB+B,OAAhB,GAA0B,IAA1B;EACAF,IAAAA,OAAO,CAAC7B,OAAR,CAAgBgC,OAAhB,GAA0B,IAA1B;EACD,GAHD,MAGO;EACL;EACA;EACA;EACA;EACA,QAAIH,OAAO,CAAC7B,OAAR,CAAgBgC,OAApB,EAA6B;EAC9B;;EAED7tB,EAAAA,KAAK,CAACgsB,MAAN,GAAe0B,OAAO,CAAC7B,OAAR,CAAgBiC,QAAhB,IAA4B1C,eAAe,CAACP,CAAD,CAA1D;;EACA,MAAI6C,OAAO,CAAC7B,OAAR,CAAgB7jB,KAApB,EAA2B;EACzBhI,IAAAA,KAAK,CAACgI,KAAN,GAAc0lB,OAAO,CAAC7B,OAAR,CAAgB7jB,KAA9B;EACD;;EAED,MAAImjB,YAAY,CAACN,CAAD,CAAhB,EAAqB;EACnB;EACA,QAAI6C,OAAO,CAAC7B,OAAR,CAAgBkC,eAApB,EAAqC;;EAErCL,IAAAA,OAAO,CAAC7B,OAAR,CAAgBkC,eAAhB,GAAkC,MAAM;EACtC3B,MAAAA,OAAO,CAACC,IAAR,CAAaxB,CAAb,EAAgB6C,OAAhB,EAAyB1tB,KAAzB;EACD,KAFD;;EAGA0tB,IAAAA,OAAO,CAAC7B,OAAR,CAAgBmC,SAAhB,GAA4B5kB,MAAM,CAACwW,UAAP,CAAkB,MAAM;EAAA;;EAClD,UAAI8N,OAAJ,gCAAIA,OAAO,CAAE7B,OAAb,aAAI,iBAAkBkC,eAAtB,EAAuC;EACrCL,QAAAA,OAAO,CAAC7B,OAAR,CAAgBkC,eAAhB;;EACAL,QAAAA,OAAO,CAAC7B,OAAR,CAAgBkC,eAAhB,GAAkC,IAAlC;EACD;EACF,KAL2B,EAKzB/C,YALyB,CAA5B;EAMD,GAbD,MAaO;EACLoB,IAAAA,OAAO,CAACC,IAAR,CAAaxB,CAAb,EAAgB6C,OAAhB,EAAyB1tB,KAAzB;EACD;EACF;;EAED,SAASiuB,UAAT,CAAqBpD,CAArB,EAA+B;EAC7B,QAAM6C,OAAO,GAAG7C,CAAC,CAAC8C,aAAlB;EACA,MAAI,CAACD,OAAD,IAAY,CAACA,OAAO,CAAC7B,OAAzB,EAAkC;EAElCziB,EAAAA,MAAM,CAAC8kB,YAAP,CAAoBR,OAAO,CAAC7B,OAAR,CAAgBmC,SAApC,EAJ6B;EAO7B;;EACA,MAAInD,CAAC,CAACxpB,IAAF,KAAW,UAAX,IAAyBqsB,OAAO,CAAC7B,OAAR,CAAgBkC,eAA7C,EAA8D;EAC5DL,IAAAA,OAAO,CAAC7B,OAAR,CAAgBkC,eAAhB;;EACAL,IAAAA,OAAO,CAAC7B,OAAR,CAAgBkC,eAAhB,GAAkC,IAAlC,CAF4D;;EAK5DL,IAAAA,OAAO,CAAC7B,OAAR,CAAgBmC,SAAhB,GAA4B5kB,MAAM,CAACwW,UAAP,CAAkB,MAAM;EAClDqO,MAAAA,UAAU,CAACpD,CAAD,CAAV;EACD,KAF2B,CAA5B;EAGA;EACD;;EAEDzhB,EAAAA,MAAM,CAACwW,UAAP,CAAkB,MAAM;EACtB,QAAI8N,OAAO,CAAC7B,OAAZ,EAAqB;EACnB6B,MAAAA,OAAO,CAAC7B,OAAR,CAAgB+B,OAAhB,GAA0B,KAA1B;EACD;EACF,GAJD;EAKAxB,EAAAA,OAAO,CAACc,IAAR,CAAaQ,OAAb;EACD;;EAED,SAASS,gBAAT,CAA2BtD,CAA3B,EAAuD;EACrD,QAAM6C,OAAO,GAAG7C,CAAC,CAAC8C,aAAlB;EAEA,MAAI,CAACD,OAAD,IAAY,CAACA,OAAO,CAAC7B,OAAzB,EAAkC;;EAElC,MAAI6B,OAAO,CAAC7B,OAAR,CAAgBkC,eAApB,EAAqC;EACnCL,IAAAA,OAAO,CAAC7B,OAAR,CAAgBkC,eAAhB,GAAkC,IAAlC;EACD;;EAED3kB,EAAAA,MAAM,CAAC8kB,YAAP,CAAoBR,OAAO,CAAC7B,OAAR,CAAgBmC,SAApC;EACD;;EAED,IAAII,cAAc,GAAG,KAArB;;EAEA,SAASC,kBAAT,CAA6BxD,CAA7B,EAA+C;EAC7C,MAAI,CAACuD,cAAD,KAAoBvD,CAAC,CAACyD,OAAF,KAActwB,QAAQ,CAACE,KAAvB,IAAgC2sB,CAAC,CAACyD,OAAF,KAActwB,QAAQ,CAACM,KAA3E,CAAJ,EAAuF;EACrF8vB,IAAAA,cAAc,GAAG,IAAjB;EACAX,IAAAA,UAAU,CAAC5C,CAAD,CAAV;EACD;EACF;;EAED,SAAS0D,kBAAT,CAA6B1D,CAA7B,EAA+C;EAC7CuD,EAAAA,cAAc,GAAG,KAAjB;EACAH,EAAAA,UAAU,CAACpD,CAAD,CAAV;EACD;;EAED,SAAS2D,eAAT,CAA0B3D,CAA1B,EAAyC;EACvC,MAAIuD,cAAJ,EAAoB;EAClBA,IAAAA,cAAc,GAAG,KAAjB;EACAH,IAAAA,UAAU,CAACpD,CAAD,CAAV;EACD;EACF;;EAED,SAAS4D,YAAT,CAAuBv2B,EAAvB,EAAwC8jB,OAAxC,EAAyE0S,UAAzE,EAA8F;EAAA;;EAC5F,QAAM;EAAE1uB,IAAAA,KAAF;EAASic,IAAAA;EAAT,MAAuBD,OAA7B;EACA,QAAMsQ,OAAO,GAAGkB,eAAe,CAACxtB,KAAD,CAA/B;;EACA,MAAI,CAACssB,OAAL,EAAc;EACZF,IAAAA,OAAO,CAACc,IAAR,CAAah1B,EAAb;EACD;;EAEDA,EAAAA,EAAE,CAAC2zB,OAAH,mBAAa3zB,EAAE,CAAC2zB,OAAhB,2BAA2B,EAA3B;EACA3zB,EAAAA,EAAE,CAAC2zB,OAAH,CAAWS,OAAX,GAAqBA,OAArB;EACAp0B,EAAAA,EAAE,CAAC2zB,OAAH,CAAWiC,QAAX,GAAsB7R,SAAS,CAAC+P,MAAhC;EACA9zB,EAAAA,EAAE,CAAC2zB,OAAH,CAAWC,MAAX,GAAoB7P,SAAS,CAAC6P,MAA9B;;EACA,MAAI/tB,QAAQ,CAACiC,KAAD,CAAR,IAAmBA,KAAK,CAACgI,KAA7B,EAAoC;EAClC9P,IAAAA,EAAE,CAAC2zB,OAAH,CAAW7jB,KAAX,GAAmBhI,KAAK,CAACgI,KAAzB;EACD;;EAED,MAAIskB,OAAO,IAAI,CAACoC,UAAhB,EAA4B;EAC1Bx2B,IAAAA,EAAE,CAACuyB,gBAAH,CAAoB,YAApB,EAAkCgD,UAAlC,EAA8C;EAAEkB,MAAAA,OAAO,EAAE;EAAX,KAA9C;EACAz2B,IAAAA,EAAE,CAACuyB,gBAAH,CAAoB,UAApB,EAAgCwD,UAAhC,EAA4C;EAAEU,MAAAA,OAAO,EAAE;EAAX,KAA5C;EACAz2B,IAAAA,EAAE,CAACuyB,gBAAH,CAAoB,WAApB,EAAiC0D,gBAAjC,EAAmD;EAAEQ,MAAAA,OAAO,EAAE;EAAX,KAAnD;EACAz2B,IAAAA,EAAE,CAACuyB,gBAAH,CAAoB,aAApB,EAAmCwD,UAAnC;EAEA/1B,IAAAA,EAAE,CAACuyB,gBAAH,CAAoB,WAApB,EAAiCgD,UAAjC;EACAv1B,IAAAA,EAAE,CAACuyB,gBAAH,CAAoB,SAApB,EAA+BwD,UAA/B;EACA/1B,IAAAA,EAAE,CAACuyB,gBAAH,CAAoB,YAApB,EAAkCwD,UAAlC;EAEA/1B,IAAAA,EAAE,CAACuyB,gBAAH,CAAoB,SAApB,EAA+B4D,kBAA/B;EACAn2B,IAAAA,EAAE,CAACuyB,gBAAH,CAAoB,OAApB,EAA6B8D,kBAA7B;EAEAr2B,IAAAA,EAAE,CAACuyB,gBAAH,CAAoB,MAApB,EAA4B+D,eAA5B,EAb0B;;EAgB1Bt2B,IAAAA,EAAE,CAACuyB,gBAAH,CAAoB,WAApB,EAAiCwD,UAAjC,EAA6C;EAAEU,MAAAA,OAAO,EAAE;EAAX,KAA7C;EACD,GAjBD,MAiBO,IAAI,CAACrC,OAAD,IAAYoC,UAAhB,EAA4B;EACjCE,IAAAA,eAAe,CAAC12B,EAAD,CAAf;EACD;EACF;;EAED,SAAS02B,eAAT,CAA0B12B,EAA1B,EAA2C;EACzCA,EAAAA,EAAE,CAAC0yB,mBAAH,CAAuB,WAAvB,EAAoC6C,UAApC;EACAv1B,EAAAA,EAAE,CAAC0yB,mBAAH,CAAuB,YAAvB,EAAqC6C,UAArC;EACAv1B,EAAAA,EAAE,CAAC0yB,mBAAH,CAAuB,UAAvB,EAAmCqD,UAAnC;EACA/1B,EAAAA,EAAE,CAAC0yB,mBAAH,CAAuB,WAAvB,EAAoCuD,gBAApC;EACAj2B,EAAAA,EAAE,CAAC0yB,mBAAH,CAAuB,aAAvB,EAAsCqD,UAAtC;EACA/1B,EAAAA,EAAE,CAAC0yB,mBAAH,CAAuB,SAAvB,EAAkCqD,UAAlC;EACA/1B,EAAAA,EAAE,CAAC0yB,mBAAH,CAAuB,YAAvB,EAAqCqD,UAArC;EACA/1B,EAAAA,EAAE,CAAC0yB,mBAAH,CAAuB,SAAvB,EAAkCyD,kBAAlC;EACAn2B,EAAAA,EAAE,CAAC0yB,mBAAH,CAAuB,OAAvB,EAAgC2D,kBAAhC;EACAr2B,EAAAA,EAAE,CAAC0yB,mBAAH,CAAuB,WAAvB,EAAoCqD,UAApC;EACA/1B,EAAAA,EAAE,CAAC0yB,mBAAH,CAAuB,MAAvB,EAA+B4D,eAA/B;EACD;;EAED,SAASzS,SAAT,CAAkB7jB,EAAlB,EAAmC8jB,OAAnC,EAA8D;EAC5DyS,EAAAA,YAAY,CAACv2B,EAAD,EAAK8jB,OAAL,EAAc,KAAd,CAAZ;EACD;;EAED,SAASc,WAAT,CAAoB5kB,EAApB,EAAqC;EACnC,SAAOA,EAAE,CAAC2zB,OAAV;EACA+C,EAAAA,eAAe,CAAC12B,EAAD,CAAf;EACD;;EAED,SAAS22B,SAAT,CAAkB32B,EAAlB,EAAmC8jB,OAAnC,EAA8D;EAC5D,MAAIA,OAAO,CAAChc,KAAR,KAAkBgc,OAAO,CAAC8S,QAA9B,EAAwC;EACtC;EACD;;EAED,QAAMJ,UAAU,GAAGlB,eAAe,CAACxR,OAAO,CAAC8S,QAAT,CAAlC;EACAL,EAAAA,YAAY,CAACv2B,EAAD,EAAK8jB,OAAL,EAAc0S,UAAd,CAAZ;EACD;;EAEM,MAAMK,MAAuB,GAAG;EACrChT,WAAAA,SADqC;EAErCe,aAAAA,WAFqC;EAGrC+R,WAAAA;EAHqC,CAAhC;;EC1TA,MAAMjK,IAAI,GAAGne,eAAe,CAAC;EAClCpL,EAAAA,IAAI,EAAE,MAD4B;EAGlCoiB,EAAAA,UAAU,EAAE;EAAEsR,IAAAA;EAAF,GAHsB;EAKlChyB,EAAAA,KAAK,EAAE;EACLyE,IAAAA,IAAI,EAAE2P,OADD;EAELsW,IAAAA,IAAI,EAAE,CAACtW,OAAD,EAAUvT,MAAV,CAFD;EAGLoxB,IAAAA,WAAW,EAAEpxB,MAHR;EAILqxB,IAAAA,UAAU,EAAErxB,MAJP;EAMLsxB,IAAAA,KAAK,EAAE/d,OANF;EAOLge,IAAAA,OAAO,EAAEhe,OAPJ;EASLie,IAAAA,MAAM,EAAE;EACN/tB,MAAAA,IAAI,EAAE8P,OADA;EAENrJ,MAAAA,OAAO,EAAE;EAFH,KATH;EAcL,OAAG8Y,eAAe,EAdb;EAeL,OAAGc,gBAAgB,EAfd;EAgBL,OAAGR,gBAAgB,EAhBd;EAiBL,OAAGjG,kBAAkB,EAjBhB;EAkBL,OAAGqG,kBAAkB,EAlBhB;EAmBL,OAAG4D,kBAAkB,EAnBhB;EAoBL,OAAG+D,iBAAiB,EApBf;EAqBL,OAAGkB,eAAe,EArBb;EAsBL,OAAGhD,aAAa,EAtBX;EAuBL,OAAGrF,YAAY,CAAC;EAAEna,MAAAA,GAAG,EAAE;EAAP,KAAD,CAvBV;EAwBL,OAAGkF,cAAc,EAxBZ;EAyBL,OAAGwX,gBAAgB,CAAC;EAAEE,MAAAA,OAAO,EAAE;EAAX,KAAD;EAzBd,GAL2B;;EAiClC5d,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEgkB,MAAAA;EAAF,QAAoBD,SAAS,CAAC/jB,KAAD,CAAnC;EACA,UAAM;EAAEmlB,MAAAA,YAAF;EAAgBC,MAAAA,WAAhB;EAA6BsC,MAAAA;EAA7B,QAAgDD,UAAU,CAACznB,KAAD,CAAhE;EACA,UAAM;EAAEskB,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,UAAM;EAAEwe,MAAAA;EAAF,QAAsBD,YAAY,CAACve,KAAD,CAAxC;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAEssB,MAAAA,eAAF;EAAmBC,MAAAA;EAAnB,QAAsCH,WAAW,CAACpsB,KAAD,CAAvD;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EACA,UAAM;EAAEsqB,MAAAA;EAAF,QAAkBD,OAAO,CAACrqB,KAAD,CAA/B;EACA,UAAMuoB,KAAK,GAAGH,YAAY,CAACpoB,KAAD,EAAQiqB,gBAAR,EAA0B,KAA1B,CAA1B;EACA,UAAMiD,IAAI,GAAGP,OAAO,CAAC3sB,KAAD,EAAQ8C,KAAR,CAApB;EACA,UAAMiO,UAAU,GAAGlI,YAAQ,CAAC,MAAM,CAAA0f,KAAK,QAAL,YAAAA,KAAK,CAAEL,QAAP,CAAgBjlB,KAAhB,KAAyBjD,KAAK,CAACkoB,QAAtC,CAA3B;EACA,UAAMoK,UAAU,GAAGzpB,YAAQ,CAAC,MAAM;EAChC,aAAO7I,KAAK,CAACwnB,OAAN,KAAkB,WAAlB,IAAiC,EAAExnB,KAAK,CAACkoB,QAAN,IAAkBloB,KAAK,CAACyE,IAAxB,IAAgCzE,KAAK,CAAC8jB,MAAxC,CAAxC;EACD,KAF0B,CAA3B;EAIA,WAAO,MAAM;EAAA;;EACX,YAAMyO,GAAG,GAAIrF,IAAI,CAACJ,MAAL,CAAY7pB,KAAb,GAAsB,GAAtB,GAA4BjD,KAAK,CAAC4K,GAA9C;EAEA;EAAA,gBAEW2nB,GAAG,KAAK,GAAR,GAAc9yB,SAAd,GAA0B,QAFrC;EAAA,iBAGW,CACL,OADK,EAEL8oB,KAFK,oBAELA,KAAK,CAAEN,aAAP,CAAqBhlB,KAFhB,EAGL;EACE,kDAAiBiqB,IAAI,CAACsF,aAAtB,qBAAiB,oBAAoBvvB,KADvC;EAEE,0BAAgBjD,KAAK,CAACmyB,KAFxB;EAGE,6BAAmBphB,UAAU,CAAC9N,KAHhC;EAIE,6BAAmBqvB,UAAU,CAACrvB,KAJhC;EAKE,yBAAejD,KAAK,CAACyE,IALvB;EAME,yBAAe,CAAC,CAACzE,KAAK,CAAC0qB,IANzB;EAOE,4BAAkB1qB,KAAK,CAACoyB;EAP1B,SAHK,EAYLxe,YAAY,CAAC3Q,KAZR,EAaL+gB,aAAa,CAAC/gB,KAbT,EAcLkiB,YAAY,CAACliB,KAdR,EAeLqhB,cAAc,CAACrhB,KAfV,EAgBLyhB,gBAAgB,CAACzhB,KAhBZ,EAiBLqpB,eAAe,CAACrpB,KAjBX,EAkBL6hB,cAAc,CAAC7hB,KAlBV,EAmBLqnB,WAAW,CAACrnB,KAnBP,EAoBLykB,cAAc,CAACzkB,KApBV,CAHX;EAAA,iBAyBW,CACLmiB,WAAW,CAACniB,KADP,EAELub,eAAe,CAACvb,KAFX,EAGLspB,cAAc,CAACtpB,KAHV,CAzBX;EAAA,oBA8Be8N,UAAU,CAAC9N,KAAX,IAAoBxD,SA9BnC;EAAA,gBA+BWytB,IAAI,CAACH,IAAL,CAAU9pB,KA/BrB;EAAA,mBAqCc8N,UAAU,CAAC9N,KAAX,IAAoBiqB,IAAI,CAACuF,QAAzB,KAAqClK,KAArC,oBAAqCA,KAAK,CAAEG,MAA5C;EArCd;EAAA,wBAuCMtB,WAAW,CAAC,IAAD,EAAO,OAAP,CAvCjB,EAyCM,CAACpnB,KAAK,CAAC0qB,IAAP,IAAe1qB,KAAK,CAACiyB,WAArB;EAAA,mBAEQ,aAFR;EAAA,kBAGSjyB,KAAK,CAACiyB,WAHf;EAAA,kBAIS,CAACjyB,KAAK,CAACoyB;EAJhB,qCAzCN,EAiDM,OAAOpyB,KAAK,CAAC0qB,IAAb,KAAsB,SAAtB,qBACE1f,KAAK,CAACD,OADR,qBACE,oBAAAC,KAAK,CADP;EAAA,mBAIU,aAJV;EAAA,kBAKWhL,KAAK,CAAC0qB,IALjB;EAAA,kBAMW1qB,KAAK,CAACsF;EANjB,qCAjDN,EA4DM,CAACtF,KAAK,CAAC0qB,IAAP,IAAe1qB,KAAK,CAACkyB,UAArB;EAAA,mBAEQ,aAFR;EAAA,kBAGSlyB,KAAK,CAACkyB,UAHf;EAAA,mBAIU,CAAClyB,KAAK,CAACoyB;EAJjB,sCA5DN;EAAA;EAAA,0GAiCM,CAACrhB,UAAU,CAAC9N,KAAZ,IAAqBjD,KAAK,CAACqyB,MAjCjC,EAkCM,IAlCN;EAqED,KAxED;EAyED;;EA3HiC,CAAD,CAA5B;;ECtBA,MAAMK,cAAc,GAAGhpB,eAAe,CAAC;EAC5CpL,EAAAA,IAAI,EAAE,gBADsC;EAG5C0B,EAAAA,KAAK,EAAE;EACL0qB,IAAAA,IAAI,EAAE;EACJpmB,MAAAA,IAAI,EAAEzD,MADF;EAEJkK,MAAAA,OAAO,EAAE;EAFL;EADD,GAHqC;;EAU5CnB,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,WAAO;EAAA;;EAAA;EAAA,iBACO,oBADP;EAAA,gBACmChL,KAAK,CAAC0qB;EADzC;EAAA,0CAED1f,KAAK,CAACD,OAFL,qBAED,oBAAAC,KAAK,CAFJ;EAAA;EAAA,KAAP;EAKD;;EAhB2C,CAAD,CAAtC;;ECGA,MAAM2nB,YAAY,GAAGjpB,eAAe,CAAC;EAC1CpL,EAAAA,IAAI,EAAE,cADoC;EAG1C0B,EAAAA,KAAK,EAAE,EACL,GAAG+kB,YAAY,CAAC;EAAEna,MAAAA,GAAG,EAAE;EAAP,KAAD;EADV,GAHmC;;EAO1ChB,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,WAAO;EAAA,eACY;EADZ;EAAA,sBAEDA,KAAK,CAACD,OAAN;EAAA,iBACW;EADX,UAEIC,KAAK,CAACD,OAAN,EAFJ,EAFC;EAAA,MAAP;EASD;;EAjByC,CAAD,CAApC;;ECSA,MAAM6nB,OAAO,GAAGlpB,eAAe,CAAC;EACrCpL,EAAAA,IAAI,EAAE,SAD+B;EAGrC0B,EAAAA,KAAK,EAAE;EACLgH,IAAAA,KAAK,EAAEnG,MADF;EAEL7F,IAAAA,IAAI,EAAEoZ,OAFD;EAGLnZ,IAAAA,KAAK,EAAEmZ,OAHF;EAILsW,IAAAA,IAAI,EAAE7pB,MAJD;EAKL4gB,IAAAA,KAAK,EAAE5gB,MALF;EAML,OAAGsjB,gBAAgB,EANd;EAOL,OAAGQ,gBAAgB,EAPd;EAQL,OAAGyF,aAAa,EARX;EASL,OAAGrF,YAAY;EATV,GAH8B;;EAerCnb,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE2a,MAAAA,sBAAF;EAA0BC,MAAAA;EAA1B,QAAoDF,kBAAkB,CAACgB,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CAAN,CAA5E;EACA,UAAM;EAAEskB,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EACA,UAAM;EAAEsqB,MAAAA,WAAF;EAAeC,MAAAA;EAAf,QAA8BF,OAAO,CAACrqB,KAAD,CAA3C;EAEA,WAAO;EAAA;;EAAA;EAAA,iBAEI,CACL,UADK,EAEL;EACE,4BAAkBA,KAAK,CAAChF,IAD1B;EAEE,6BAAmBgF,KAAK,CAAC/E;EAF3B,SAFK,EAML0qB,sBAAsB,CAAC1iB,KANlB,EAOLqhB,cAAc,CAACrhB,KAPV,EAQL6hB,cAAc,CAAC7hB,KARV,EASLqnB,WAAW,CAACrnB,KATP,CAFJ;EAAA,iBAaI,CACL2iB,qBAAqB,CAAC3iB,KADjB,EAELsnB,UAAU,CAACtnB,KAFN;EAbJ;EAAA,wBAkBDjD,KAAK,CAACyhB,KAAN;EAAA,iBAA2BzhB,KAAK,CAACyhB,KAAjC;EAAA,iBAA6C;EAA7C,4BAlBC,EAoBDzhB,KAAK,CAAC0qB,IAAN,IAAc,CAAC1qB,KAAK,CAACyhB,KAArB;EAAA,kBAA4CzhB,KAAK,CAAC0qB;EAAlD,6BApBC,oBAsBD1f,KAAK,CAACD,OAtBL,qBAsBD,oBAAAC,KAAK,CAtBJ;EAAA;EAAA;EAAA,KAAP;EAyBD;;EA9CoC,CAAD,CAA/B;;ECQP,MAAM6nB,YAAY,GAAG,CAAC,SAAD,EAAY,MAAZ,EAAoB,SAApB,EAA+B,OAA/B,CAArB;EAIO,MAAMC,MAAM,GAAGppB,eAAe,CAAC;EACpCpL,EAAAA,IAAI,EAAE,QAD8B;EAGpC0B,EAAAA,KAAK,EAAE;EACL8jB,IAAAA,MAAM,EAAE;EACNxf,MAAAA,IAAI,EAAE,CAAC8P,OAAD,EAAUvT,MAAV,CADA;EAENuf,MAAAA,SAAS,EAAG7a,GAAD,IAA2B;EACpC,eAAO,OAAOA,GAAP,KAAe,SAAf,IAA4B,CACjC,KADiC,EAEjC,KAFiC,EAGjC,QAHiC,EAIjC,OAJiC,EAKjCrI,QALiC,CAKxBqI,GALwB,CAAnC;EAMD;EATK,KADH;EAYLwtB,IAAAA,WAAW,EAAElyB,MAZR;EAaLmyB,IAAAA,QAAQ,EAAE5e,OAbL;EAcL6e,IAAAA,SAAS,EAAE;EACT3uB,MAAAA,IAAI,EAAEzD,MADG;EAETkK,MAAAA,OAAO,EAAE;EAFA,KAdN;EAkBLmoB,IAAAA,UAAU,EAAE;EACV5uB,MAAAA,IAAI,EAAEzD,MADI;EAEVkK,MAAAA,OAAO,EAAE;EAFC,KAlBP;EAsBL2f,IAAAA,IAAI,EAAE;EACJpmB,MAAAA,IAAI,EAAE,CAAC8P,OAAD,EAAUvT,MAAV,CADF;EAEJkK,MAAAA,OAAO,EAAE;EAFL,KAtBD;EA0BLwb,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAE8P,OADI;EAEVrJ,MAAAA,OAAO,EAAE;EAFC,KA1BP;EA8BLyb,IAAAA,SAAS,EAAEpS,OA9BN;EA+BL+e,IAAAA,MAAM,EAAE/e,OA/BH;EAgCLnF,IAAAA,IAAI,EAAEpO,MAhCD;EAiCLuyB,IAAAA,GAAG,EAAEhf,OAjCA;EAkCL9P,IAAAA,IAAI,EAAE;EACJA,MAAAA,IAAI,EAAEzD,MADF;EAEJuf,MAAAA,SAAS,EAAG7a,GAAD,IAAyBstB,YAAY,CAAC31B,QAAb,CAAsBqI,GAAtB;EAFhC,KAlCD;EAuCL,OAAG4e,gBAAgB,EAvCd;EAwCL,OAAGI,kBAAkB,EAxChB;EAyCL,OAAG2H,iBAAiB,EAzCf;EA0CL,OAAGvH,gBAAgB,EA1Cd;EA2CL,OAAGI,YAAY,EA3CV;EA4CL,OAAGjV,cAAc,EA5CZ;EA6CL,OAAGwX,gBAAgB;EA7Cd,GAH6B;EAmDpChG,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAAoB;EADpC,GAnD6B;;EAuDpC2G,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAMqoB,WAAW,GAAGxqB,YAAQ,CAAC,OAAO;EAClCib,MAAAA,MAAM,EAAE9jB,KAAK,CAAC8jB,MAAN,KAAiB,IAAjB,IAAyB9jB,KAAK,CAACozB,GAA/B,GAAqC,OAArC,GAA+CpzB,KAAK,CAAC8jB;EAD3B,KAAP,CAAD,CAA5B;EAGA,UAAMgD,QAAQ,GAAGjB,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAAhC;EACA,UAAM0qB,IAAI,GAAG7hB,YAAQ,CAAC,MAAM;EAAA;;EAC1B,UAAI7I,KAAK,CAAC0qB,IAAN,KAAe,KAAnB,EAA0B,OAAOjrB,SAAP;EAC1B,UAAI,CAACO,KAAK,CAACsE,IAAX,EAAiB,OAAOtE,KAAK,CAAC0qB,IAAb;EAEjB,4BAAO1qB,KAAK,CAAC0qB,IAAb,0BAAsB,IAAG1qB,KAAK,CAACsE,IAAK,EAApC;EACD,KALoB,CAArB;EAMA,UAAMgvB,YAAY,GAAGzqB,YAAQ,CAAC;EAAA;;EAAA,aAAO;EACnC7B,QAAAA,KAAK,kBAAEhH,KAAK,CAACgH,KAAR,2BAAiBhH,KAAK,CAACsE,IADO;EAEnCijB,QAAAA,SAAS,EAAEvnB,KAAK,CAACunB,SAFkB;EAGnCC,QAAAA,OAAO,EAAExnB,KAAK,CAACwnB;EAHoB,OAAP;EAAA,KAAD,CAA7B;EAMA,UAAM;EAAE5T,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEgkB,MAAAA;EAAF,QAAoBD,SAAS,CAACsP,WAAW,CAACpwB,KAAb,CAAnC;EACA,UAAM;EAAEkiB,MAAAA,YAAF;EAAgBC,MAAAA,WAAhB;EAA6BsC,MAAAA;EAA7B,QAAgDD,UAAU,CAAC6L,YAAD,CAAhE;EACA,UAAM;EAAEhP,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAEssB,MAAAA,eAAF;EAAmBC,MAAAA;EAAnB,QAAsCH,WAAW,CAACpsB,KAAD,CAAvD;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EACA,UAAM;EAAEwlB,MAAAA,gBAAF;EAAoBC,MAAAA;EAApB,QAAwCF,YAAY,CAAC1c,YAAQ,CAAC,MAAM;EAAA;;EACxE,mCAAO7I,KAAK,CAAC+yB,WAAb,iCAA6B/yB,KAAK,CAACozB,GAAN,GAAYE,YAAY,CAACrwB,KAAb,CAAmB+D,KAA/B,GAAuCvH,SAApE;EACD,KAFkE,CAAT,CAA1D;;EAIA,aAAS8zB,YAAT,CAAuBzF,CAAvB,EAAsC;EACpChH,MAAAA,QAAQ,CAAC7jB,KAAT,GAAiB,KAAjB;EACD;;EAED,WAAO,MAAM;EACX,YAAMuwB,SAAS,GAAG,CAAC,CAACH,WAAW,CAACpwB,KAAZ,CAAkB6gB,MAAtC;EACA,YAAM2P,QAAQ,GAAG,CAAC,EAAEzoB,KAAK,CAACiN,KAAN,IAAejY,KAAK,CAACgzB,QAAvB,CAAlB;EACA,YAAMU,UAAU,GAAG,CAAC,EAAE1oB,KAAK,CAACic,OAAN,IAAiBjnB,KAAK,CAAC0qB,IAAvB,IAA+B1qB,KAAK,CAACsE,IAAvC,CAApB;EACA,YAAMqvB,OAAO,GAAG,CAAC,EAAE3oB,KAAK,CAACD,OAAN,IAAiB/K,KAAK,CAACiP,IAAvB,IAA+BwkB,QAAjC,CAAjB;EAEA,aAAO3M,QAAQ,CAAC7jB,KAAT;EAAA,iBAEI,CACL,SADK,EAEL;EACE,WAAE,mBAAkBowB,WAAW,CAACpwB,KAAZ,CAAkB6gB,MAAO,EAA7C,GAAiD0P,SADnD;EAEE,gCAAsBxzB,KAAK,CAACwmB,SAF9B;EAGE,0BAAgBxmB,KAAK,CAACozB;EAHxB,SAFK,EAOLxf,YAAY,CAAC3Q,KAPR,EAQL+gB,aAAa,CAAC/gB,KART,EASL,CAACjD,KAAK,CAACozB,GAAP,IAAcjO,YAAY,CAACliB,KATtB,EAULqhB,cAAc,CAACrhB,KAVV,EAWLyhB,gBAAgB,CAACzhB,KAXZ,EAYLqpB,eAAe,CAACrpB,KAZX,EAaL6hB,cAAc,CAAC7hB,KAbV,EAcLykB,cAAc,CAACzkB,KAdV,CAFJ;EAAA,iBAkBI,CACL,CAACjD,KAAK,CAACozB,GAAP,IAAchO,WAAW,CAACniB,KADrB,EAELspB,cAAc,CAACtpB,KAFV,CAlBJ;EAAA,gBAsBE;EAtBF;EAAA,wBAwBDuwB,SAAS;EAAA,mBAEA,CACL,iBADK,EAELhO,gBAAgB,CAACviB,KAFZ,CAFA;EAAA,mBAMCwiB,eAAe,CAACxiB;EANjB,mBAxBR;EAAA,mBAkCQ;EAlCR;EAAA,mBAoCQ;EApCR,YAqCCywB,UAAU;EAAA,mBACC;EADD,YAEN1oB,KAAK,CAACic,OAAN,GACEjc,KAAK,CAACic,OAAN,EADF;EAAA,mBAIYjnB,KAAK,CAACozB,GAAN,IAAa5N,gBAAgB,CAACviB,KAJ1C;EAAA,mBAKYjD,KAAK,CAACozB,GAAN,IAAa3N,eAAe,CAACxiB,KALzC;EAAA,qBAMcjD,KAAK,CAACokB,OANpB;EAAA,kBAOWsG,IAAI,CAACznB;EAPhB,0DAFM,EArCX,EAqDC0wB,OAAO;EAAA,mBACI;EADJ,YAEH3oB,KAAK,CAACD,OAAN,GACEC,KAAK,CAACD,OAAN,EADF,GAEE/K,KAAK,CAACiP,IAJL,EAOHwkB,QAAQ;EAAA,mBACG;EADH,YAEJzoB,KAAK,CAACiN,KAAN,GACEjN,KAAK,CAACiN,KAAN,CAAY;EAAEjY,UAAAA,KAAK,EAAE;EAAEgtB,YAAAA,OAAO,EAAEuG;EAAX;EAAT,SAAZ,CADF;EAAA,qBAIcvzB,KAAK,CAACokB,OAJpB;EAAA,kBAKWpkB,KAAK,CAACizB,SALjB;EAAA,qBAMY,MANZ;EAAA,qBAOcM;EAPd,mDAFI,EAPL,EArDR;EAAA;EAAA,+BAAP;EAgFD,KAtFD;EAuFD;;EA9KmC,CAAD,CAA9B;;ECdA,MAAMK,MAAM,GAAGlqB,eAAe,CAAC;EACpCpL,EAAAA,IAAI,EAAE,QAD8B;EAGpCusB,EAAAA,YAAY,EAAE,KAHsB;EAKpC7qB,EAAAA,KAAK,EAAE;EACL6zB,IAAAA,QAAQ,EAAEzf,OADL;EAELpN,IAAAA,KAAK,EAAE;EACL1C,MAAAA,IAAI,EAAEzD,MADD;EAELkK,MAAAA,OAAO,EAAE;EAFJ,KAFF;EAML8H,IAAAA,OAAO,EAAEhS,MANJ;EAOLizB,IAAAA,GAAG,EAAE1f,OAPA;EAQLkS,IAAAA,QAAQ,EAAElS,OARL;EASLsW,IAAAA,IAAI,EAAE7pB,MATD;EAULkzB,IAAAA,MAAM,EAAE3f,OAVH;EAWL4f,IAAAA,KAAK,EAAE;EACL1vB,MAAAA,IAAI,EAAEzD,MADD;EAELkK,MAAAA,OAAO,EAAE;EAFJ,KAXF;EAeLkpB,IAAAA,QAAQ,EAAE;EACR3vB,MAAAA,IAAI,EAAEzD,MADE;EAERkK,MAAAA,OAAO,EAAE,WAFD;EAGRqV,MAAAA,SAAS,EAAGnd,KAAD,IAAmB;EAC5B,cAAM,CAACixB,QAAD,EAAWC,UAAX,IAAyB,CAAClxB,KAAD,WAACA,KAAD,GAAU,EAAV,EAAchH,KAAd,CAAoB,GAApB,CAA/B;EAEA,eACE,CAAC,KAAD,EAAQ,QAAR,EAAkBiB,QAAlB,CAA2Bg3B,QAA3B,KACA,CAAC,MAAD,EAAS,OAAT,EAAkBh3B,QAAlB,CAA2Bi3B,UAA3B,CAFF;EAID;EAVO,KAfL;EA2BLhxB,IAAAA,GAAG,EAAE,CAACpC,MAAD,EAASF,MAAT,CA3BA;EA4BL0lB,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAE8P,OADI;EAEVrJ,MAAAA,OAAO,EAAE;EAFC,KA5BP;EAgCLqpB,IAAAA,OAAO,EAAE,CAACrzB,MAAD,EAASF,MAAT,CAhCJ;EAiCLwzB,IAAAA,OAAO,EAAE,CAACtzB,MAAD,EAASF,MAAT,CAjCJ;EAkCL0mB,IAAAA,SAAS,EAAE1mB,MAlCN;EAmCL,OAAG8jB,gBAAgB,EAnCd;EAoCL,OAAGI,YAAY,EApCV;EAqCL,OAAG5E,mBAAmB,CAAC;EAAElJ,MAAAA,UAAU,EAAE;EAAd,KAAD;EArCjB,GAL6B;;EA6CpCrN,EAAAA,KAAK,CAAE5J,KAAF,EAAS6J,GAAT,EAAc;EACjB,UAAM;EAAE8b,MAAAA,sBAAF;EAA0BC,MAAAA;EAA1B,QAAoDF,kBAAkB,CAACgB,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CAAN,CAA5E;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EACA,UAAM;EAAEwlB,MAAAA,gBAAF;EAAoBC,MAAAA;EAApB,QAAwCF,YAAY,CAACmB,SAAK,CAAC1mB,KAAD,EAAQ,WAAR,CAAN,CAA1D;EAEA,UAAMuN,QAAQ,GAAG1E,YAAQ,CAAC,MAAM;EAC9B,aAAO7I,KAAK,CAACsmB,QAAN,GACFtmB,KAAK,CAAC8zB,GAAN,GAAY,CAAZ,GAAgB,CADd,GAEF9zB,KAAK,CAAC8zB,GAAN,GAAY,CAAZ,GAAgB,EAFrB;EAGD,KAJwB,CAAzB;;EAMA,aAASQ,iBAAT,CAA4B1K,MAA5B,EAAsD;EACpD,aAAQ,eAAclpB,aAAa,CAAC6M,QAAQ,CAACtK,KAAT,GAAiBmE,QAAQ,CAACwiB,MAAD,WAACA,MAAD,GAAW,CAAX,EAAc,EAAd,CAA1B,CAA6C,GAAhF;EACD;;EAED,UAAM2K,cAAc,GAAG1rB,YAAQ,CAAC,MAAM;EAAA;;EACpC,YAAM,CAACqrB,QAAD,EAAWC,UAAX,IAAyB,oBAACn0B,KAAK,CAACi0B,QAAP,8BAAmB,EAAnB,EAAuBh4B,KAAvB,CAA6B,GAA7B,CAA/B,CADoC;;EAKpC,YAAMkW,MAAM,GAAG;EACbpX,QAAAA,MAAM,EAAE,MADK;EAEbC,QAAAA,IAAI,EAAE,MAFO;EAGbC,QAAAA,KAAK,EAAE,MAHM;EAIbH,QAAAA,GAAG,EAAE;EAJQ,OAAf;;EAOA,UAAI,CAACkF,KAAK,CAAC+zB,MAAX,EAAmB;EACjB5hB,QAAAA,MAAM,CAACgiB,UAAU,KAAK,MAAf,GAAwB,OAAxB,GAAkC,MAAnC,CAAN,GAAmDG,iBAAiB,CAACt0B,KAAK,CAACo0B,OAAP,CAApE;EACAjiB,QAAAA,MAAM,CAAC+hB,QAAQ,KAAK,KAAb,GAAqB,QAArB,GAAgC,KAAjC,CAAN,GAAgDI,iBAAiB,CAACt0B,KAAK,CAACq0B,OAAP,CAAjE;EACD;;EAED,aAAOliB,MAAP;EACD,KAlB8B,CAA/B;EAoBA,WAAO,MAAM;EAAA;;EACX,YAAMlP,KAAK,GAAGlC,MAAM,CAACf,KAAK,CAAC6S,OAAP,CAApB;EACA,YAAMA,OAAO,GAAI,CAAC7S,KAAK,CAACmD,GAAP,IAAcvC,KAAK,CAACqC,KAAD,CAApB,GAA+BjD,KAAK,CAAC6S,OAArC,GACZ5P,KAAK,IAAIjD,KAAK,CAACmD,GAAf,GAAqBF,KAArB,GACC,GAAEjD,KAAK,CAACmD,GAAI,GAFjB;EAIA,YAAM,CAACqxB,UAAD,EAAa1xB,KAAb,IAAsBV,IAAI,CAACyH,GAAG,CAAC/G,KAAL,EAAmC,CACjE,aADiE,EAEjE,YAFiE,EAGjE,WAHiE,EAIjE,MAJiE,EAKjE,OALiE,CAAnC,CAAhC;EAQA;EAAA,iBAEW,CACL,SADK,EAEL;EACE,+BAAqB9C,KAAK,CAAC6zB,QAD7B;EAEE,0BAAgB7zB,KAAK,CAAC8zB,GAFxB;EAGE,+BAAqB9zB,KAAK,CAACsmB,QAH7B;EAIE,6BAAmBtmB,KAAK,CAAC+zB;EAJ3B,SAFK;EAFX,SAWSjxB,KAXT;EAAA;EAAA,mBAae;EAbf,kCAcQ,cAAA+G,GAAG,CAACmB,KAAJ,EAAUD,OAdlB,qBAcQ,mCAdR;EAAA,wBAgBoC/K,KAAK,CAACiX;EAhB1C;EAAA;EAAA,qBAmBiB,CACL,gBADK,EAEL0O,sBAAsB,CAAC1iB,KAFlB,EAGL6hB,cAAc,CAAC7hB,KAHV,EAILuiB,gBAAgB,CAACviB,KAJZ,CAnBjB;EAAA,qBAyBiB,CACL2iB,qBAAqB,CAAC3iB,KADjB,EAELsxB,cAAc,CAACtxB,KAFV,EAGLwiB,eAAe,CAACxiB,KAHX,CAzBjB;EAAA,2BA8BsB,MA9BtB;EAAA,0BA+BqB,oBA/BrB;EAAA,yBAgCoB,QAhCpB;EAAA,oBAiCe;EAjCf,aAkCeuxB,UAlCf,IAqCYx0B,KAAK,CAAC8zB,GAAN,GAAYr0B,SAAZ,GACEoK,GAAG,CAACmB,KAAJ,CAAUgN,KAAV,uBAAkB,eAAAnO,GAAG,CAACmB,KAAJ,EAAUgN,KAA5B,qBAAkB,kCAAlB,GACAhY,KAAK,CAAC0qB,IAAN;EAAA,oBAA0B1qB,KAAK,CAAC0qB;EAAhC;EAAA,qBACY;EADZ,cACgC7X,OADhC,EAvCd,qBAkBmB7S,KAAK,CAACumB,UAlBzB;EAAA;EAAA;EA+CD,KA7DD;EA8DD;;EA9ImC,CAAD,CAA9B;;ECdA,MAAMkO,cAAc,GAAG/pB,sBAAsB,CAAC,kBAAD,CAA7C;;ECIA,MAAMgqB,aAAa,GAAGhrB,eAAe,CAAC;EAC3CpL,EAAAA,IAAI,EAAE,eADqC;EAG3C0B,EAAAA,KAAK,EAAE;EACLhF,IAAAA,IAAI,EAAEoZ,OADD;EAELnZ,IAAAA,KAAK,EAAEmZ,OAFF;EAGL,OAAG2Q,YAAY;EAHV,GAHoC;;EAS3Cnb,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,WAAO,MAAM;EACX;EAAA,iBAEW,CACL,iBADK,EAEL;EACE,oCAA0BhL,KAAK,CAAChF,IADlC;EAEE,kCAAwBgF,KAAK,CAAC/E;EAFhC,SAFK;EAFX,SASc+P,KATd;EAYD,KAbD;EAcD;;EAxB0C,CAAD,CAArC;;ECJA,MAAM2pB,cAAc,GAAGjqB,sBAAsB,CAAC,kBAAD,CAA7C;;ECAA,MAAMkqB,WAAW,GAAGlqB,sBAAsB,CAAC,eAAD,CAA1C;;ECFP;;EAuEO,MAAMmqB,aAAoD,GAAG3sB,MAAM,CAACC,GAAP,CAAW,iBAAX,CAA7D;EAEP,MAAM2sB,qBAAqC,GAAG;EAC5CC,EAAAA,gBAAgB,EAAE,IAD0B;EAE5CC,EAAAA,UAAU,EAAE;EACVC,IAAAA,EAAE,EAAE,CADM;EAEVC,IAAAA,EAAE,EAAE,GAFM;EAGVC,IAAAA,EAAE,EAAE,GAHM;EAIVC,IAAAA,EAAE,EAAE,IAJM;EAKVC,IAAAA,EAAE,EAAE,IALM;EAMVC,IAAAA,GAAG,EAAE;EANK;EAFgC,CAA9C;;EAYA,MAAMC,mBAAmB,GAAG,YAAqD;EAAA,MAApDn3B,OAAoD,uEAA1B02B,qBAA0B;EAC/E,SAAOnxB,SAAS,CAACmxB,qBAAD,EAAwB12B,OAAxB,CAAhB;EACD,CAFD;EAKA;;;EACA,SAASo3B,cAAT,GAA2B;EACzB,SAAO7oB,UAAU,GAAGvJ,IAAI,CAACD,GAAL,CAClBkI,QAAQ,CAACoqB,eAAT,CAA0BzG,WADR,EAElB3iB,MAAM,CAACqpB,UAFW,CAAH,GAGb,CAHJ,CADyB;EAK1B;;EAED,SAASC,eAAT,GAA4B;EAC1B,SAAOhpB,UAAU,GAAGvJ,IAAI,CAACD,GAAL,CAClBkI,QAAQ,CAACoqB,eAAT,CAA0BjpB,YADR,EAElBH,MAAM,CAACupB,WAFW,CAAH,GAGb,CAHJ,CAD0B;EAK3B;;EAED,SAASC,WAAT,GAAyC;EACvC,QAAMC,SAAS,GAAGnpB,UAAU,GAAGN,MAAM,CAACY,SAAP,CAAiB6oB,SAApB,GAAgC,KAA5D;;EAEA,WAASp3B,KAAT,CAAgBq3B,MAAhB,EAAgC;EAC9B,WAAO3hB,OAAO,CAAC0hB,SAAS,CAACp3B,KAAV,CAAgBq3B,MAAhB,CAAD,CAAd;EACD;;EAED,QAAMC,OAAO,GAAGt3B,KAAK,CAAC,UAAD,CAArB;EACA,QAAMu3B,GAAG,GAAGv3B,KAAK,CAAC,mBAAD,CAAjB;EACA,QAAMw3B,OAAO,GAAGx3B,KAAK,CAAC,UAAD,CAArB;EACA,QAAMy3B,QAAQ,GAAGz3B,KAAK,CAAC,WAAD,CAAtB;EACA,QAAM03B,MAAM,GAAG13B,KAAK,CAAC,SAAD,CAApB;EACA,QAAM23B,IAAI,GAAG33B,KAAK,CAAC,OAAD,CAAlB;EACA,QAAM43B,OAAO,GAAG53B,KAAK,CAAC,UAAD,CAArB;EACA,QAAM63B,KAAK,GAAG73B,KAAK,CAAC,QAAD,CAAnB;EACA,QAAM83B,GAAG,GAAG93B,KAAK,CAAC,MAAD,CAAjB;EACA,QAAM+3B,GAAG,GAAG/3B,KAAK,CAAC,MAAD,CAAjB;EACA,QAAMg4B,KAAK,GAAGh4B,KAAK,CAAC,QAAD,CAAnB;EACA,QAAMi4B,GAAG,GAAGj4B,KAAK,CAAC,MAAD,CAAjB;EAEA,SAAO;EACLs3B,IAAAA,OADK;EAELC,IAAAA,GAFK;EAGLC,IAAAA,OAHK;EAILC,IAAAA,QAJK;EAKLC,IAAAA,MALK;EAMLC,IAAAA,IANK;EAOLC,IAAAA,OAPK;EAQLC,IAAAA,KARK;EASLC,IAAAA,GATK;EAULC,IAAAA,GAVK;EAWLC,IAAAA,KAXK;EAYLE,IAAAA,KAAK,EAAE5pB,cAZF;EAaL2pB,IAAAA;EAbK,GAAP;EAeD;;EAEM,SAASE,aAAT,CAAwBz4B,OAAxB,EAA2E;EAChF,QAAM;EAAE42B,IAAAA,UAAF;EAAcD,IAAAA;EAAd,MAAmCQ,mBAAmB,CAACn3B,OAAD,CAA5D;EAEA,QAAMvD,MAAM,GAAGiK,OAAG,CAAC6wB,eAAe,EAAhB,CAAlB;EACA,QAAMmB,QAAQ,GAAGjB,WAAW,EAA5B;EACA,QAAMnU,KAAK,GAAGoH,YAAQ,CAAC,EAAD,CAAtB;EACA,QAAMluB,KAAK,GAAGkK,OAAG,CAAC0wB,cAAc,EAAf,CAAjB;;EAEA,WAASuB,QAAT,GAAqB;EACnBl8B,IAAAA,MAAM,CAACoI,KAAP,GAAe0yB,eAAe,EAA9B;EACA/6B,IAAAA,KAAK,CAACqI,KAAN,GAAcuyB,cAAc,EAA5B;EACD,GAX+E;;;EAchFtrB,EAAAA,eAAW,CAAC,MAAM;EAChB,UAAM+qB,EAAE,GAAGr6B,KAAK,CAACqI,KAAN,GAAc+xB,UAAU,CAACE,EAApC;EACA,UAAMA,EAAE,GAAGt6B,KAAK,CAACqI,KAAN,GAAc+xB,UAAU,CAACG,EAAzB,IAA+B,CAACF,EAA3C;EACA,UAAME,EAAE,GAAGv6B,KAAK,CAACqI,KAAN,GAAc+xB,UAAU,CAACI,EAAzB,IAA+B,EAAEF,EAAE,IAAID,EAAR,CAA1C;EACA,UAAMG,EAAE,GAAGx6B,KAAK,CAACqI,KAAN,GAAc+xB,UAAU,CAACK,EAAzB,IAA+B,EAAEF,EAAE,IAAID,EAAN,IAAYD,EAAd,CAA1C;EACA,UAAMI,EAAE,GAAGz6B,KAAK,CAACqI,KAAN,GAAc+xB,UAAU,CAACM,GAAzB,IAAgC,EAAEF,EAAE,IAAID,EAAN,IAAYD,EAAZ,IAAkBD,EAApB,CAA3C;EACA,UAAMK,GAAG,GAAG16B,KAAK,CAACqI,KAAN,IAAe+xB,UAAU,CAACM,GAAtC;EACA,UAAMh3B,IAAI,GACR22B,EAAE,GAAG,IAAH,GACAC,EAAE,GAAG,IAAH,GACFC,EAAE,GAAG,IAAH,GACFC,EAAE,GAAG,IAAH,GACFC,EAAE,GAAG,IAAH,GACF,KANJ;EAOA,UAAM2B,eAAe,GAAG,OAAOjC,gBAAP,KAA4B,QAA5B,GAAuCA,gBAAvC,GAA0DC,UAAU,CAACD,gBAAD,CAA5F;EACA,UAAMkC,MAAM,GAAG,CAACH,QAAQ,CAACH,GAAV,GACX/7B,KAAK,CAACqI,KAAN,GAAc+zB,eADH,GAEXF,QAAQ,CAACd,OAAT,IAAoBc,QAAQ,CAACb,GAA7B,IAAoCa,QAAQ,CAACP,KAFjD;EAIA7U,IAAAA,KAAK,CAACuT,EAAN,GAAWA,EAAX;EACAvT,IAAAA,KAAK,CAACwT,EAAN,GAAWA,EAAX;EACAxT,IAAAA,KAAK,CAACyT,EAAN,GAAWA,EAAX;EACAzT,IAAAA,KAAK,CAAC0T,EAAN,GAAWA,EAAX;EACA1T,IAAAA,KAAK,CAAC2T,EAAN,GAAWA,EAAX;EACA3T,IAAAA,KAAK,CAAC4T,GAAN,GAAYA,GAAZ;EACA5T,IAAAA,KAAK,CAACwV,OAAN,GAAgB,CAACjC,EAAjB;EACAvT,IAAAA,KAAK,CAACyV,OAAN,GAAgB,EAAElC,EAAE,IAAIC,EAAR,CAAhB;EACAxT,IAAAA,KAAK,CAAC0V,OAAN,GAAgB,EAAEnC,EAAE,IAAIC,EAAN,IAAYC,EAAd,CAAhB;EACAzT,IAAAA,KAAK,CAAC2V,OAAN,GAAgB,EAAEpC,EAAE,IAAIC,EAAN,IAAYC,EAAZ,IAAkBC,EAApB,CAAhB;EACA1T,IAAAA,KAAK,CAAC4V,SAAN,GAAkB,EAAEnC,EAAE,IAAIC,EAAN,IAAYC,EAAZ,IAAkBC,GAApB,CAAlB;EACA5T,IAAAA,KAAK,CAAC6V,SAAN,GAAkB,EAAEnC,EAAE,IAAIC,EAAN,IAAYC,GAAd,CAAlB;EACA5T,IAAAA,KAAK,CAAC8V,SAAN,GAAkB,EAAEnC,EAAE,IAAIC,GAAR,CAAlB;EACA5T,IAAAA,KAAK,CAAC+V,SAAN,GAAkB,CAACnC,GAAnB;EACA5T,IAAAA,KAAK,CAACpjB,IAAN,GAAaA,IAAb;EACAojB,IAAAA,KAAK,CAAC7mB,MAAN,GAAeA,MAAM,CAACoI,KAAtB;EACAye,IAAAA,KAAK,CAAC9mB,KAAN,GAAcA,KAAK,CAACqI,KAApB;EACAye,IAAAA,KAAK,CAACuV,MAAN,GAAeA,MAAf;EACAvV,IAAAA,KAAK,CAACqT,gBAAN,GAAyBA,gBAAzB;EACArT,IAAAA,KAAK,CAACoV,QAAN,GAAiBA,QAAjB;EACApV,IAAAA,KAAK,CAACsT,UAAN,GAAmBA,UAAnB;EACD,GAxCU,CAAX;;EA0CA,MAAIroB,UAAJ,EAAgB;EACdN,IAAAA,MAAM,CAACqhB,gBAAP,CAAwB,QAAxB,EAAkCqJ,QAAlC,EAA4C;EAAEnF,MAAAA,OAAO,EAAE;EAAX,KAA5C;EACD;;EAED,SAAO8F,UAAM,CAAChW,KAAD,CAAb;EACD;EAEM,SAASiW,UAAT,GAAuB;EAC5B,QAAMC,OAAO,GAAGrvB,UAAM,CAACssB,aAAD,CAAtB;EAEA,MAAI,CAAC+C,OAAL,EAAc,MAAM,IAAIpvB,KAAJ,CAAU,0CAAV,CAAN;EAEd,SAAOovB,OAAP;EACD;;ECzLM,MAAMC,OAAO,GAAGnuB,eAAe,CAAC;EACrCpL,EAAAA,IAAI,EAAE,SAD+B;EAGrC0B,EAAAA,KAAK,EAAE;EACL83B,IAAAA,MAAM,EAAEj3B,MADH;EAELmG,IAAAA,KAAK,EAAEnG,MAFF;EAGL6pB,IAAAA,IAAI,EAAE7pB,MAHD;EAILuR,IAAAA,KAAK,EAAE;EACL9N,MAAAA,IAAI,EAAEzD,MADD;EAELkK,MAAAA,OAAO,EAAE;EAFJ,KAJF;EAQLooB,IAAAA,MAAM,EAAE/e,OARH;EASLnF,IAAAA,IAAI,EAAEpO,MATD;EAWL,OAAGgjB,eAAe,EAXb;EAYL,OAAGM,gBAAgB,EAZd;EAaL,OAAGjG,kBAAkB,EAbhB;EAcL,OAAGqG,kBAAkB,EAdhB;EAeL,OAAG2H,iBAAiB,EAff;EAgBL,OAAGvH,gBAAgB,EAhBd;EAiBL,OAAGI,YAAY,EAjBV;EAkBL,OAAGjV,cAAc;EAlBZ,GAH8B;;EAwBrClG,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEgkB,MAAAA;EAAF,QAAoBD,SAAS,CAAC/jB,KAAD,CAAnC;EACA,UAAM;EAAEskB,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,UAAM;EAAEwe,MAAAA;EAAF,QAAsBD,YAAY,CAACve,KAAD,CAAxC;EACA,UAAM;EAAEi3B,MAAAA;EAAF,QAAaU,UAAU,EAA7B;EACA,UAAM;EAAEjT,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAEssB,MAAAA,eAAF;EAAmBC,MAAAA;EAAnB,QAAsCH,WAAW,CAACpsB,KAAD,CAAvD;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EACA,UAAM;EAAEwlB,MAAAA,gBAAF;EAAoBC,MAAAA;EAApB,QAAwCF,YAAY,CAACmB,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CAAN,CAA1D;EAEA,WAAO,MAAM;EAAA;;EACX,YAAM+3B,SAAS,GAAG,CAAC,EAAE/3B,KAAK,CAAC83B,MAAN,IAAgB93B,KAAK,CAAC0qB,IAAtB,IAA8B1f,KAAK,CAAC8sB,MAApC,IAA8C9sB,KAAK,CAAC0f,IAAtD,CAAnB;EACA,YAAMiJ,OAAO,GAAG,CAAC,EAAE3zB,KAAK,CAACiP,IAAN,IAAcjE,KAAK,CAACiE,IAAtB,CAAjB;EACA,YAAM+oB,UAAU,GAAGD,SAAS,IAAIpE,OAAb,IAAwB3oB,KAAK,CAACD,OAAjD;EAEA;EAAA,iBAEW,CACL,UADK,EAEL;EACE,8BAAoBksB,MAAM,CAACh0B,KAD7B;EAEE,8BAAoBjD,KAAK,CAACmzB,MAF5B;EAGE,WAAE,aAAYnzB,KAAK,CAACoS,KAAM,OAA1B,GAAmC;EAHrC,SAFK,EAOL4R,aAAa,CAAC/gB,KAPT,EAQLqhB,cAAc,CAACrhB,KARV,EASLyhB,gBAAgB,CAACzhB,KATZ,EAULqpB,eAAe,CAACrpB,KAVX,EAWL6hB,cAAc,CAAC7hB,KAXV,EAYLuiB,gBAAgB,CAACviB,KAZZ,EAaL2Q,YAAY,CAAC3Q,KAbR,CAFX;EAAA,iBAiBW,CACLub,eAAe,CAACvb,KADX,EAELspB,cAAc,CAACtpB,KAFV,EAGLwiB,eAAe,CAACxiB,KAHX,CAjBX;EAAA,gBAsBS;EAtBT;EAAA,wBAwBM+0B,UAAU;EAAA,0BAEND,SAAS;EAAA,4BAEL/sB,KAAK,CAAC8sB,MAAN,GACE9sB,KAAK,CAAC8sB,MAAN,EADF;EAAA,yBAIc93B,KAAK,CAACokB,OAJpB;EAAA,sBAKWpkB,KAAK,CAAC0qB,IALjB;EAAA,uBAMY1qB,KAAK,CAAC83B;EANlB,qDAFK;EAAA,YAFH,EAiBNnE,OAAO;EAAA,4BAEH3oB,KAAK,CAACiE,IAAN,GAAajE,KAAK,CAACiE,IAAN,EAAb,GAA4BjP,KAAK,CAACiP,IAF/B;EAAA,YAjBD,oBAuBNjE,KAAK,CAACD,OAvBA,qBAuBN,oBAAAC,KAAK,CAvBC;EAAA;EAAA,UAxBhB,EAmDMA,KAAK,CAACitB,OAAN,0CACyB;EAAEltB,UAAAA,OAAO,EAAEC,KAAK,CAACitB;EAAjB,SADzB,CAnDN;EAAA;EAAA;EAwDD,KA7DD;EA8DD;;EAjGoC,CAAD,CAA/B;;ECRA,MAAMC,iBAAiB,GAAGxuB,eAAe,CAAC;EAC/CpL,EAAAA,IAAI,EAAE,mBADyC;EAG/C0B,EAAAA,KAAK,EAAE;EACLm4B,IAAAA,OAAO,EAAEt3B,MADJ;EAELmG,IAAAA,KAAK,EAAEnG,MAFF;EAGLu3B,IAAAA,IAAI,EAAEhkB,OAHD;EAILmS,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAE8P,OADI;EAEVrJ,MAAAA,OAAO,EAAE;EAFC,KAJP;EAQLstB,IAAAA,IAAI,EAAE;EACJ/zB,MAAAA,IAAI,EAAEzD,MADF;EAEJuf,MAAAA,SAAS,EAAG5f,CAAD,IAAY,CAACA,CAAD,IAAM,CAAC,YAAD,EAAe,OAAf,EAAwBtD,QAAxB,CAAiCsD,CAAjC;EAFzB,KARD;EAYL3F,IAAAA,MAAM,EAAE;EACNyJ,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADA;EAENkK,MAAAA,OAAO,EAAE;EAFH,KAZH;EAgBL,OAAG8Y,eAAe,EAhBb;EAiBL,OAAGM,gBAAgB,EAjBd;EAkBL,OAAGI,kBAAkB,EAlBhB;EAmBL,OAAGI,gBAAgB,EAnBd;EAoBL,OAAGtQ,mBAAmB,CAAC;EACrB/V,MAAAA,IAAI,EAAE;EADe,KAAD,CApBjB;EAuBL,OAAGymB,YAAY,CAAC;EAAEna,MAAAA,GAAG,EAAE;EAAP,KAAD,CAvBV;EAwBL,OAAGkF,cAAc;EAxBZ,GAHwC;EA8B/CwR,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAAoB;EADpC,GA9BwC;;EAkC/C2G,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEgkB,MAAAA;EAAF,QAAoBD,SAAS,CAAC/jB,KAAD,CAAnC;EACA,UAAM;EAAE2lB,MAAAA,sBAAF;EAA0BC,MAAAA;EAA1B,QAAoDF,kBAAkB,CAAC7c,YAAQ,CAAC,MAAM7I,KAAK,CAACm4B,OAAb,CAAT,CAA5E;EACA,UAAM;EAAE3S,MAAAA,gBAAF;EAAoBC,MAAAA;EAApB,QAAwCF,YAAY,CAAC1c,YAAQ,CAAC,MAAM7I,KAAK,CAACgH,KAAb,CAAT,CAA1D;EACA,UAAM;EAAEsd,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EACA,UAAMnF,MAAM,GAAGgO,YAAQ,CAAC,MACtB9H,MAAM,CAACf,KAAK,CAACnF,MAAP,CAAN,IACCmF,KAAK,CAACokB,OAAN,KAAkB,aAAlB,GAAkC,CAAlC,GAAsC,CADvC,KAECpkB,KAAK,CAACokB,OAAN,KAAkB,SAAlB,GAA8B,EAA9B,GAAmC,CAFpC,CADqB,CAAvB;EAKA,UAAM0C,QAAQ,GAAGjB,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,EAAsBA,KAAK,CAACumB,UAA5B,CAAhC;EACA,UAAMQ,YAAY,GAAGrS,aAAa,CAChC1U,KAAK,CAAC1B,IAD0B,EAEhCuK,YAAQ,CAAC,MAAMzB,QAAQ,CAACpH,KAAK,CAACsU,QAAP,EAAiB,EAAjB,CAAf,CAFwB,EAGhCzL,YAAQ,CAAC,MAAM,QAAP,CAHwB,EAIhCA,YAAQ,CAAC,MAAMie,QAAQ,CAAC7jB,KAAT,GAAiBpI,MAAM,CAACoI,KAAxB,GAAgC,CAAvC,CAJwB,EAKhCpI,MALgC,EAMhCisB,QANgC,CAAlC;EASA,WAAO,MAAM;EACX;EAAA,iBAEW,CACL,qBADK,EAEL;EACE,uCAA6B9mB,KAAK,CAACo4B,IADrC;EAEE,6CAAmCp4B,KAAK,CAACq4B,IAAN,KAAe,YAFpD;EAGE,4CAAkCvR,QAAQ,CAAC7jB,KAH7C;EAIE,wCAA8BjD,KAAK,CAACq4B,IAAN,KAAe,OAJ/C;EAKE,2CAAiCr4B,KAAK,CAACuU;EALzC,SAFK,EASLX,YAAY,CAAC3Q,KATR,EAUL0iB,sBAAsB,CAAC1iB,KAVlB,EAWL+gB,aAAa,CAAC/gB,KAXT,EAYLqhB,cAAc,CAACrhB,KAZV,EAaLyhB,gBAAgB,CAACzhB,KAbZ,EAcL6hB,cAAc,CAAC7hB,KAdV,EAeLuiB,gBAAgB,CAACviB,KAfZ,CAFX;EAAA,iBAmBW,CACL2iB,qBAAqB,CAAC3iB,KADjB,EAEL8jB,YAAY,CAAC9jB,KAFR,EAGLwiB,eAAe,CAACxiB,KAHX,EAIL;EACEpI,UAAAA,MAAM,EAAE6F,aAAa,CAAC7F,MAAM,CAACoI,KAAR,CADvB;EAEExH,UAAAA,SAAS,EAAG,cAAaiF,aAAa,CAAC,CAAComB,QAAQ,CAAC7jB,KAAV,GAAkB,GAAlB,GAAwB,CAAzB,EAA4B,GAA5B,CAAiC;EAFzE,SAJK;EAnBX;EAAA,wBA6BM+H,KAAK,CAACD,OAAN;EAAA,mBACW;EADX,YAEIC,KAAK,CAACD,OAAN,EAFJ,EA7BN;EAAA;EAoCD,KArCD;EAsCD;;EA/F8C,CAAD,CAAzC;;ECXA,MAAMutB,kBAAoD,GAAGpwB,MAAM,CAACC,GAAP,CAAW,qBAAX,CAA7D;;ECGA,MAAMowB,gBAAgB,GAAG7uB,eAAe,CAAC;EAC9CpL,EAAAA,IAAI,EAAE,kBADwC;EAG9C0B,EAAAA,KAAK,EAAE;EACL6U,IAAAA,MAAM,EAAET,OADH;EAELokB,IAAAA,WAAW,EAAE33B,MAFR;EAGL43B,IAAAA,WAAW,EAAE53B,MAHR;EAILmG,IAAAA,KAAK,EAAEnG,MAJF;EAKLqnB,IAAAA,QAAQ,EAAE9T,OALL;EAMLnF,IAAAA,IAAI,EAAEpO,MAND;EAQL,OAAGusB,eAAe,EARb;EASL,OAAGrI,YAAY,CAAC;EAAEna,MAAAA,GAAG,EAAE;EAAP,KAAD;EATV,GAHuC;;EAe9ChB,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAEgL,MAAAA,KAAF;EAASlI,MAAAA;EAAT,KAAkB;EAC9B,UAAM41B,WAAW,GAAGnwB,UAAM,CAAC+vB,kBAAD,CAA1B;EAEA,QAAI,CAACI,WAAL,EAAkB,MAAM,IAAIlwB,KAAJ,CAAU,iDAAV,CAAN;EAElB,UAAM0kB,IAAI,GAAGP,OAAO,CAAC3sB,KAAD,EAAQ8C,KAAR,CAApB;EACA,UAAMgkB,QAAQ,GAAGje,YAAQ,CAAC,MAAM;EAAA;;EAC9B,aAAO7I,KAAK,CAAC6U,MAAN,4BAAgBqY,IAAI,CAACsF,aAArB,qBAAgB,oBAAoBvvB,KAApC,CAAP;EACD,KAFwB,CAAzB;EAGA,UAAM+D,KAAK,GAAG6B,YAAQ,CAAC,MAAM;EAAA;;EAC3B,UAAIie,QAAQ,CAAC7jB,KAAb,EAAoB,6BAAOjD,KAAK,CAACy4B,WAAb,iCAA4BC,WAAW,CAAC1xB,KAAZ,CAAkB/D,KAA9C;EAEpB,aAAOjD,KAAK,CAACgH,KAAb;EACD,KAJqB,CAAtB;EAKA,UAAM;EAAEwe,MAAAA,gBAAF;EAAoBC,MAAAA;EAApB,QAAwCF,YAAY,CAACve,KAAD,CAA1D;EAEA,WAAO,MAAM;EAAA;;EACX,YAAMurB,GAAG,GAAIrF,IAAI,CAACJ,MAAL,CAAY7pB,KAAb,GAAsB,GAAtB,GAA4BjD,KAAK,CAAC4K,GAA9C;EAEA;EAAA,iBAEW,CACL,oBADK,EAEL;EACE,wCAA8Bkc,QAAQ,CAAC7jB,KADzC;EAEE,0CAAgCjD,KAAK,CAACkoB,QAAN,IAAkBwQ,WAAW,CAACxQ,QAAZ,CAAqBjlB,KAFzE;EAGE,sCAA4BiqB,IAAI,CAACJ,MAAL,CAAY7pB,KAH1C;EAIE,WAAE,GAAEjD,KAAK,CAACw4B,WAAY,EAAtB,GAA0B1R,QAAQ,CAAC7jB,KAAT,IAAkBjD,KAAK,CAACw4B;EAJpD,SAFK,EAQLhT,gBAAgB,CAACviB,KARZ,CAFX;EAAA,iBAYW,CACLwiB,eAAe,CAACxiB,KADX,CAZX;EAAA,wBAemB6jB,QAAQ,CAAC7jB,KAAT,GAAiB,MAAjB,GAA0BxD,SAf7C;EAAA,mBAgBcqnB,QAAQ,CAAC7jB,KAAT,IAAkBiqB,IAAI,CAACuF;EAhBrC;EAAA,wBAkBMzyB,KAAK,CAACiP,IAlBZ,oBAoBMjE,KAAK,CAACD,OApBZ,qBAoBM,oBAAAC,KAAK,CApBX;EAAA;EAAA;EAuBD,KA1BD;EA2BD;;EA1D6C,CAAD,CAAxC;;ECRA,MAAM2tB,mBAAmB,GAAGjuB,sBAAsB,CAAC,uBAAD,EAA0B,IAA1B,CAAlD;;ECyBA,MAAMkuB,YAAY,GAAGlvB,eAAe,CAAC;EAC1CpL,EAAAA,IAAI,EAAE,cADoC;EAG1C0B,EAAAA,KAAK,EAAE;EACLgH,IAAAA,KAAK,EAAEnG,MADF;EAELqnB,IAAAA,QAAQ,EAAE9T,OAFL;EAGLykB,IAAAA,OAAO,EAAE;EACPv0B,MAAAA,IAAI,EAAEzD,MADC;EAEPkK,MAAAA,OAAO,EAAE;EAFF,KAHJ;EAOL2f,IAAAA,IAAI,EAAE7pB,MAPD;EAQLqW,IAAAA,KAAK,EAAE;EACL5S,MAAAA,IAAI,EAAEpF,KADD;EAEL6L,MAAAA,OAAO,EAAE,MAAO;EAFX,KARF;EAaL,OAAGoZ,gBAAgB,EAbd;EAcL,OAAGQ,gBAAgB,EAdd;EAeL,OAAGI,YAAY,CAAC;EAAEna,MAAAA,GAAG,EAAE;EAAP,KAAD;EAfV,GAHmC;;EAqB1ChB,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAEsZ,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EACA,UAAM;EAAEwlB,MAAAA,gBAAF;EAAoBC,MAAAA;EAApB,QAAwCF,YAAY,CAACmB,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CAAN,CAA1D;EACA,UAAMkX,KAAK,GAAGrO,YAAQ,CAAC,MAAM;EAC3B,aAAO7I,KAAK,CAACkX,KAAN,CAAYnY,GAAZ,CAAgB,CAACoX,IAAD,EAAOgB,KAAP,EAAc2hB,KAAd,MAAyB;EAC9C94B,QAAAA,KAAK,EAAE;EACLkoB,UAAAA,QAAQ,EAAE/Q,KAAK,IAAI2hB,KAAK,CAACj6B,MAAN,GAAe,CAD7B;EAEL,cAAI,OAAOsX,IAAP,KAAgB,QAAhB,GAA2B;EAAElH,YAAAA,IAAI,EAAEkH;EAAR,WAA3B,GAA4CA,IAAhD;EAFK;EADuC,OAAzB,CAAhB,CAAP;EAMD,KAPqB,CAAtB;EASA7M,IAAAA,WAAO,CAACgvB,kBAAD,EAAqB;EAC1BtxB,MAAAA,KAAK,EAAE0f,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CADc;EAE1BkoB,MAAAA,QAAQ,EAAExB,SAAK,CAAC1mB,KAAD,EAAQ,UAAR;EAFW,KAArB,CAAP;EAKA,WAAO;EAAA;;EAAA;EAAA,iBAEI,CACL,eADK,EAELskB,cAAc,CAACrhB,KAFV,EAGL6hB,cAAc,CAAC7hB,KAHV,EAILuiB,gBAAgB,CAACviB,KAJZ,CAFJ;EAAA,iBAQI,CACLwiB,eAAe,CAACxiB,KADX;EARJ;EAAA,wBAYDjD,KAAK,CAAC0qB,IAAN;EAAA,kBACc1qB,KAAK,CAAC0qB,IADpB;EAAA;EAAA,qCAZC,EAgBDxT,KAAK,CAACjU,KAAN,CAAYlE,GAAZ,CAAgB,CAACoX,IAAD,EAAOgB,KAAP;EAAA;;EAAA;EAAA,mBAGNA;EAHM,aAIPhB,IAAI,CAACnW,KAJE;EAAA,2CAMVgL,KAAK,CAACmL,IANI,qBAMV,iBAAAnL,KAAK,EAAQ,EAAE,GAAGmL,IAAL;EAAWgB,cAAAA;EAAX,aAAR,CANK;EAAA,kBASZA,KAAK,GAAGnX,KAAK,CAACkX,KAAN,CAAYrY,MAAZ,GAAqB,CAA7B;EAAA,4BAEImM,KAAK,CAAC6tB,OAAN,GAAgB7tB,KAAK,CAAC6tB,OAAN,CAAc,EAAE,GAAG1iB,IAAL;EAAWgB,cAAAA;EAAX,aAAd,CAAhB,GAAoDnX,KAAK,CAAC64B,OAF9D;EAAA,YATY;EAAA,SAAhB,CAhBC,oBAiCD7tB,KAAK,CAACD,OAjCL,qBAiCD,oBAAAC,KAAK,CAjCJ;EAAA;EAAA;EAAA,KAAP;EAoCD;;EA3EyC,CAAD,CAApC;;ECzBA,MAAM+tB,YAAY,GAAGruB,sBAAsB,CAAC,gBAAD,CAA3C;;ECAA,MAAMsuB,WAAW,GAAGtuB,sBAAsB,CAAC,eAAD,CAA1C;;ECAA,MAAMuuB,WAAW,GAAGvuB,sBAAsB,CAAC,eAAD,CAA1C;;ECAA,MAAMwuB,eAAe,GAAGxuB,sBAAsB,CAAC,oBAAD,CAA9C;;ECAA,MAAMyuB,QAAQ,GAAGzuB,sBAAsB,CAAC,YAAD,CAAvC;;ECAA,MAAM0uB,aAAa,GAAG1uB,sBAAsB,CAAC,iBAAD,CAA5C;;ECAA,MAAM2uB,SAAS,GAAG3uB,sBAAsB,CAAC,aAAD,CAAxC;;ECAA,MAAM4uB,UAAU,GAAG5uB,sBAAsB,CAAC,cAAD,CAAzC;;EC+BA,MAAM6uB,KAAK,GAAG7vB,eAAe,CAAC;EACnCpL,EAAAA,IAAI,EAAE,OAD6B;EAGnCoiB,EAAAA,UAAU,EAAE;EAAEsR,IAAAA;EAAF,GAHuB;EAKnChyB,EAAAA,KAAK,EAAE;EACLw5B,IAAAA,YAAY,EAAE34B,MADT;EAELqxB,IAAAA,UAAU,EAAErxB,MAFP;EAGLqnB,IAAAA,QAAQ,EAAE9T,OAHL;EAIL3P,IAAAA,IAAI,EAAE2P,OAJD;EAKLqlB,IAAAA,KAAK,EAAErlB,OALF;EAMLqN,IAAAA,KAAK,EAAE5gB,MANF;EAOLqsB,IAAAA,IAAI,EAAE9Y,OAPD;EAQLslB,IAAAA,aAAa,EAAE74B,MARV;EASLoxB,IAAAA,WAAW,EAAEpxB,MATR;EAULwxB,IAAAA,MAAM,EAAEje,OAVH;EAWLulB,IAAAA,QAAQ,EAAE94B,MAXL;EAYLoO,IAAAA,IAAI,EAAEpO,MAZD;EAaL+4B,IAAAA,KAAK,EAAE/4B,MAbF;EAeL,OAAGiP,cAAc,EAfZ;EAgBL,OAAG+T,eAAe,EAhBb;EAiBL,OAAGM,gBAAgB,EAjBd;EAkBL,OAAGjG,kBAAkB,EAlBhB;EAmBL,OAAGqG,kBAAkB,EAnBhB;EAoBL,OAAG2H,iBAAiB,EApBf;EAqBL,OAAGvH,gBAAgB,EArBd;EAsBL,OAAGyI,eAAe,EAtBb;EAuBL,OAAGrI,YAAY,EAvBV;EAwBL,OAAGuC,gBAAgB,CAAC;EAAEE,MAAAA,OAAO,EAAE;EAAX,KAAD;EAxBd,GAL4B;;EAgCnC5d,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEgkB,MAAAA;EAAF,QAAoBD,SAAS,CAAC/jB,KAAD,CAAnC;EACA,UAAM;EAAEmlB,MAAAA,YAAF;EAAgBC,MAAAA,WAAhB;EAA6BsC,MAAAA;EAA7B,QAAgDD,UAAU,CAACznB,KAAD,CAAhE;EACA,UAAM;EAAEskB,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,UAAM;EAAEwe,MAAAA;EAAF,QAAsBD,YAAY,CAACve,KAAD,CAAxC;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAEssB,MAAAA,eAAF;EAAmBC,MAAAA;EAAnB,QAAsCH,WAAW,CAACpsB,KAAD,CAAvD;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EACA,UAAMktB,IAAI,GAAGP,OAAO,CAAC3sB,KAAD,EAAQ8C,KAAR,CAApB;EAEA,WAAO,MAAM;EAAA;;EACX,YAAMyvB,GAAG,GAAIrF,IAAI,CAACJ,MAAL,CAAY7pB,KAAb,GAAsB,GAAtB,GAA4BjD,KAAK,CAAC4K,GAA9C;EACA,YAAMivB,QAAQ,GAAG,CAAC,EAAE7uB,KAAK,CAAC4uB,KAAN,IAAe55B,KAAK,CAAC45B,KAAvB,CAAlB;EACA,YAAME,WAAW,GAAG,CAAC,EAAE9uB,KAAK,CAAC2uB,QAAN,IAAkB35B,KAAK,CAAC25B,QAA1B,CAArB;EACA,YAAMI,aAAa,GAAGF,QAAQ,IAAIC,WAAlC;EACA,YAAME,SAAS,GAAG,CAAC,EAAEhvB,KAAK,CAACkc,MAAN,IAAgBlnB,KAAK,CAACw5B,YAAtB,IAAsCx5B,KAAK,CAACkyB,UAA9C,CAAnB;EACA,YAAMwB,UAAU,GAAG,CAAC,EAAE1oB,KAAK,CAACic,OAAN,IAAiBjnB,KAAK,CAAC05B,aAAvB,IAAwC15B,KAAK,CAACiyB,WAAhD,CAApB;EACA,YAAMjL,QAAQ,GAAG,CAAC,EAAEhc,KAAK,CAACyW,KAAN,IAAezhB,KAAK,CAACyhB,KAAvB,CAAlB;EACA,YAAMwY,SAAS,GAAGF,aAAa,IAAIrG,UAAjB,IAA+BsG,SAAjD;EACA,YAAMrG,OAAO,GAAG,CAAC,EAAE3oB,KAAK,CAACiE,IAAN,IAAcjP,KAAK,CAACiP,IAAtB,CAAjB;EACA,YAAMoY,WAAW,GAAG,CAACrnB,KAAK,CAACkoB,QAAP,KAAoBgF,IAAI,CAAC7F,WAAL,CAAiBpkB,KAAjB,IAA0BjD,KAAK,CAACktB,IAApD,CAApB;EAEA;EAAA,iBAEW,CACL,QADK,EAEL;EACE,8BAAoBltB,KAAK,CAACkoB,QAD5B;EAEE,0BAAgBloB,KAAK,CAACyE,IAFxB;EAGE,2BAAiBzE,KAAK,CAACy5B,KAAN,IAAe,EAAEz5B,KAAK,CAACkoB,QAAN,IAAkBloB,KAAK,CAACyE,IAA1B,CAHlC;EAIE,0BAAgB4iB;EAJlB,SAFK,EAQLzT,YAAY,CAAC3Q,KARR,EASL+gB,aAAa,CAAC/gB,KATT,EAULkiB,YAAY,CAACliB,KAVR,EAWLqhB,cAAc,CAACrhB,KAXV,EAYLyhB,gBAAgB,CAACzhB,KAZZ,EAaLqpB,eAAe,CAACrpB,KAbX,EAcL6hB,cAAc,CAAC7hB,KAdV,EAeLykB,cAAc,CAACzkB,KAfV,CAFX;EAAA,iBAmBW,CACLmiB,WAAW,CAACniB,KADP,EAELub,eAAe,CAACvb,KAFX,EAGLspB,cAAc,CAACtpB,KAHV,CAnBX;EAAA,gBAwBWiqB,IAAI,CAACH,IAAL,CAAU9pB,KAxBrB;EAAA,mBAyBcokB,WAAW,IAAI6F,IAAI,CAACuF;EAzBlC;EAAA,wBA4BMrL,WAAW,CAACC,WAAD,EAAc,QAAd,CA5BjB,EA8BML,QAAQ;EAAA,0BAEJhc,KAAK,CAACyW,KAAN,mBACEzW,KAAK,CAACyW,KADR,qBACE,kBAAAzW,KAAK,EAAS;EAAEoW,YAAAA,GAAG,EAAEphB,KAAK,CAACyhB;EAAb,WAAT,CADP;EAAA,mBAEezhB,KAAK,CAACyhB,KAFrB;EAAA;EAAA,mBAEuC;EAFvC,uCAFI;EAAA,UA9Bd,kBAuCMzW,KAAK,CAACkvB,KAvCZ,qBAuCM,kBAAAlvB,KAAK,CAvCX,EAyCMivB,SAAS;EAAA,0BAELvG,UAAU;EAAA,4BAEN1oB,KAAK,CAACic,OAAN,GACEjc,KAAK,CAACic,OAAN,EADF;EAAA,yBAIcjnB,KAAK,CAACokB,OAJpB;EAAA,sBAKWpkB,KAAK,CAACiyB,WALjB;EAAA,uBAMYjyB,KAAK,CAAC05B;EANlB,qDAFM;EAAA,YAFL,EAiBLK,aAAa;EAAA,4BAETF,QAAQ;EAAA,8BAEJ7uB,KAAK,CAAC4uB,KAAN,GACE5uB,KAAK,CAAC4uB,KAAN,EADF,GAEE55B,KAAK,CAAC45B,KAJJ;EAAA,cAFC;EAAA,8BAYP5uB,KAAK,CAAC2uB,QAAN,GACE3uB,KAAK,CAAC2uB,QAAN,EADF,GAEE35B,KAAK,CAAC25B,QAdD;EAAA;EAAA;EAAA,YAjBR,EAqCLK,SAAS;EAAA,4BAELhvB,KAAK,CAACkc,MAAN,GACElc,KAAK,CAACkc,MAAN,EADF;EAAA,yBAIclnB,KAAK,CAACokB,OAJpB;EAAA,sBAKWpkB,KAAK,CAACkyB,UALjB;EAAA,uBAMYlyB,KAAK,CAACw5B;EANlB,qDAFK;EAAA,YArCJ;EAAA;EAAA,UAzCf,EA+FM7F,OAAO;EAAA,0BAEH3oB,KAAK,CAACiE,IAAN,GAAajE,KAAK,CAACiE,IAAN,EAAb,GAA4BjP,KAAK,CAACiP,IAF/B;EAAA,UA/Fb,oBAqGMjE,KAAK,CAACD,OArGZ,qBAqGM,oBAAAC,KAAK,CArGX,EAuGMA,KAAK,CAACitB,OAAN,wCACuB;EAAEltB,UAAAA,OAAO,EAAEC,KAAK,CAACitB;EAAjB,SADvB,CAvGN;EAAA;EAAA,sFA0Be5Q,WA1Bf;EA4GD,KAxHD;EAyHD;;EApKkC,CAAD,CAA7B;;ECjCP;;EAOO,SAAS8S,mBAAT,CACL77B,IADK,EAIL;EAAA,MAFA87B,MAEA,uEAFS,cAET;EAAA,MADA/B,IACA;EACA,SAAO3uB,eAAe,CAAC;EACrBpL,IAAAA,IADqB;EAGrB0B,IAAAA,KAAK,EAAE;EACLuoB,MAAAA,KAAK,EAAEnU,OADF;EAELimB,MAAAA,WAAW,EAAEjmB,OAFR;EAGLkmB,MAAAA,aAAa,EAAElmB,OAHV;EAILikB,MAAAA,IAAI,EAAE;EACJ/zB,QAAAA,IAAI,EAAEzD,MADF;EAEJkK,QAAAA,OAAO,EAAEstB;EAFL,OAJD;EAQL+B,MAAAA,MAAM,EAAE;EACN91B,QAAAA,IAAI,EAAEzD,MADA;EAENkK,QAAAA,OAAO,EAAEqvB;EAFH;EARH,KAHc;;EAiBrBxwB,IAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,UAAX;EAAEgL,QAAAA;EAAF,OAAW;EACvB,aAAO,MAAM;EACX,cAAMJ,GAAG,GAAG5K,KAAK,CAACuoB,KAAN,GAAcgS,mBAAd,GAAgCja,cAA5C;EAEA,eAAO9jB,KAAC,CAACoO,GAAD,EAA6B;EACnCtM,UAAAA,IADmC;EAEnC+5B,UAAAA,IAAI,EAAEr4B,KAAK,CAACq4B,IAFuB;;EAGnCmC,UAAAA,aAAa,CAAEr/B,EAAF,EAAmB;EAC9BA,YAAAA,EAAE,CAACG,KAAH,CAASa,eAAT,GAA2B6D,KAAK,CAACo6B,MAAjC;EACD,WALkC;;EAMnCK,UAAAA,OAAO,CAAEt/B,EAAF,EAAmB;EACxB,gBAAI6E,KAAK,CAACs6B,aAAV,EAAyB;EACvB,oBAAM;EAAEI,gBAAAA,SAAF;EAAaC,gBAAAA,UAAb;EAAyBp+B,gBAAAA,WAAzB;EAAsCE,gBAAAA;EAAtC,kBAAuDtB,EAA7D;EACAA,cAAAA,EAAE,CAACy/B,wBAAH,GAA8B;EAC5BrtB,gBAAAA,QAAQ,EAAEpS,EAAE,CAACG,KAAH,CAASiS,QADS;EAE5BzS,gBAAAA,GAAG,EAAEK,EAAE,CAACG,KAAH,CAASR,GAFc;EAG5BE,gBAAAA,IAAI,EAAEG,EAAE,CAACG,KAAH,CAASN,IAHa;EAI5BJ,gBAAAA,KAAK,EAAEO,EAAE,CAACG,KAAH,CAASV,KAJY;EAK5BC,gBAAAA,MAAM,EAAEM,EAAE,CAACG,KAAH,CAAST;EALW,eAA9B;EAOAM,cAAAA,EAAE,CAACG,KAAH,CAASiS,QAAT,GAAoB,UAApB;EACApS,cAAAA,EAAE,CAACG,KAAH,CAASR,GAAT,GAAgB,GAAE4/B,SAAU,IAA5B;EACAv/B,cAAAA,EAAE,CAACG,KAAH,CAASN,IAAT,GAAiB,GAAE2/B,UAAW,IAA9B;EACAx/B,cAAAA,EAAE,CAACG,KAAH,CAASV,KAAT,GAAkB,GAAE2B,WAAY,IAAhC;EACApB,cAAAA,EAAE,CAACG,KAAH,CAAST,MAAT,GAAmB,GAAE4B,YAAa,IAAlC;EACD;;EAED,gBAAIuD,KAAK,CAACq6B,WAAV,EAAuB;EACrBl/B,cAAAA,EAAE,CAACG,KAAH,CAASu/B,WAAT,CAAqB,SAArB,EAAgC,MAAhC,EAAwC,WAAxC;EACD;EACF,WA1BkC;;EA2BnCC,UAAAA,YAAY,CAAE3/B,EAAF,EAAmB;EAC7B,gBAAI6E,KAAK,CAACs6B,aAAN,IAAuBn/B,EAAvB,YAAuBA,EAAE,CAAEy/B,wBAA/B,EAAyD;EACvD,oBAAM;EAAErtB,gBAAAA,QAAF;EAAYzS,gBAAAA,GAAZ;EAAiBE,gBAAAA,IAAjB;EAAuBJ,gBAAAA,KAAvB;EAA8BC,gBAAAA;EAA9B,kBAAyCM,EAAE,CAACy/B,wBAAlD;EACA,qBAAOz/B,EAAE,CAACy/B,wBAAV;EACAz/B,cAAAA,EAAE,CAACG,KAAH,CAASiS,QAAT,GAAoBA,QAAQ,IAAI,EAAhC;EACApS,cAAAA,EAAE,CAACG,KAAH,CAASR,GAAT,GAAeA,GAAG,IAAI,EAAtB;EACAK,cAAAA,EAAE,CAACG,KAAH,CAASN,IAAT,GAAgBA,IAAI,IAAI,EAAxB;EACAG,cAAAA,EAAE,CAACG,KAAH,CAASV,KAAT,GAAiBA,KAAK,IAAI,EAA1B;EACAO,cAAAA,EAAE,CAACG,KAAH,CAAST,MAAT,GAAkBA,MAAM,IAAI,EAA5B;EACD;EACF;;EArCkC,SAA7B,EAsCLmQ,KAAK,CAACD,OAtCD,CAAR;EAuCD,OA1CD;EA2CD;;EA7DoB,GAAD,CAAtB;EA+DD;EAEM,SAASgwB,0BAAT,CACLz8B,IADK,EAEL08B,SAFK,EAIL;EAAA,MADA3C,IACA,uEADO,QACP;EACA,SAAO3uB,eAAe,CAAC;EACrBpL,IAAAA,IADqB;EAGrB0B,IAAAA,KAAK,EAAE;EACLq4B,MAAAA,IAAI,EAAE;EACJ/zB,QAAAA,IAAI,EAAEzD,MADF;EAEJkK,QAAAA,OAAO,EAAEstB;EAFL;EADD,KAHc;;EAUrBzuB,IAAAA,KAAK,CAAE5J,KAAF,SAAoB;EAAA,UAAX;EAAEgL,QAAAA;EAAF,OAAW;EACvB,aAAO,MAAM;EACX,eAAOxO,KAAC,CAAC8jB,cAAD,EAAa;EACnBhiB,UAAAA,IADmB;EAEnB;EACA,aAAG08B;EAHgB,SAAb,EAILhwB,KAAK,CAACD,OAJD,CAAR;EAKD,OAND;EAOD;;EAlBoB,GAAD,CAAtB;EAoBD;;ECtGD;EAae,sCAA+C;EAAA,MAArCkwB,mBAAqC,uEAAf,EAAe;EAAA,MAAXvgC,CAAW,uEAAP,KAAO;EAC5D,QAAMwgC,YAAY,GAAGxgC,CAAC,GAAG,OAAH,GAAa,QAAnC;EACA,QAAMygC,cAAc,GAAGrwB,YAAQ,CAAE,UAASowB,YAAa,EAAxB,CAA/B;EAEA,SAAO;EACLV,IAAAA,aAAa,CAAEr/B,EAAF,EAAyB;EACpCA,MAAAA,EAAE,CAACigC,OAAH,GAAajgC,EAAE,CAACiQ,UAAhB;EACAjQ,MAAAA,EAAE,CAACkgC,aAAH,GAAmB;EACjBpkB,QAAAA,UAAU,EAAE9b,EAAE,CAACG,KAAH,CAAS2b,UADJ;EAEjBqkB,QAAAA,QAAQ,EAAEngC,EAAE,CAACG,KAAH,CAASggC,QAFF;EAGjB,SAACJ,YAAD,GAAgB//B,EAAE,CAACG,KAAH,CAAS4/B,YAAT;EAHC,OAAnB;EAKD,KARI;;EAULK,IAAAA,OAAO,CAAEpgC,EAAF,EAAyB;EAC9B,YAAMqgC,YAAY,GAAGrgC,EAAE,CAACkgC,aAAxB;EAEAlgC,MAAAA,EAAE,CAACG,KAAH,CAASu/B,WAAT,CAAqB,YAArB,EAAmC,MAAnC,EAA2C,WAA3C,EAH8B;;EAK9B1/B,MAAAA,EAAE,CAACG,KAAH,CAASggC,QAAT,GAAoB,QAApB;EACA,YAAM1R,MAAM,GAAI,GAAEzuB,EAAE,CAACggC,cAAD,CAAiB,IAArC;EAEAhgC,MAAAA,EAAE,CAACG,KAAH,CAAS4/B,YAAT,IAAyB,GAAzB;EAEA,WAAK//B,EAAE,CAACsB,YAAR,CAV8B;;EAY9BtB,MAAAA,EAAE,CAACG,KAAH,CAAS2b,UAAT,GAAsBukB,YAAY,CAACvkB,UAAnC;;EAEA,UAAIgkB,mBAAmB,IAAI9/B,EAAE,CAACigC,OAA9B,EAAuC;EACrCjgC,QAAAA,EAAE,CAACigC,OAAH,CAAWvL,SAAX,CAAqBC,GAArB,CAAyBmL,mBAAzB;EACD;;EAEDrX,MAAAA,qBAAqB,CAAC,MAAM;EAC1BzoB,QAAAA,EAAE,CAACG,KAAH,CAAS4/B,YAAT,IAAyBtR,MAAzB;EACD,OAFoB,CAArB;EAGD,KA/BI;;EAiCL6R,IAAAA,YAAY,EAAEC,WAjCT;EAkCLC,IAAAA,gBAAgB,EAAED,WAlCb;;EAoCLjB,IAAAA,OAAO,CAAEt/B,EAAF,EAAyB;EAC9BA,MAAAA,EAAE,CAACkgC,aAAH,GAAmB;EACjBpkB,QAAAA,UAAU,EAAE,EADK;EAEjBqkB,QAAAA,QAAQ,EAAEngC,EAAE,CAACG,KAAH,CAASggC,QAFF;EAGjB,SAACJ,YAAD,GAAgB//B,EAAE,CAACG,KAAH,CAAS4/B,YAAT;EAHC,OAAnB;EAMA//B,MAAAA,EAAE,CAACG,KAAH,CAASggC,QAAT,GAAoB,QAApB;EACAngC,MAAAA,EAAE,CAACG,KAAH,CAAS4/B,YAAT,IAA0B,GAAE//B,EAAE,CAACggC,cAAD,CAAiB,IAA/C;EACA,WAAKhgC,EAAE,CAACsB,YAAR,CAT8B;;EAW9BmnB,MAAAA,qBAAqB,CAAC,MAAOzoB,EAAE,CAACG,KAAH,CAAS4/B,YAAT,IAAyB,GAAjC,CAArB;EACD,KAhDI;;EAkDLJ,IAAAA,YAlDK;EAmDLc,IAAAA,gBAAgB,EAAEd;EAnDb,GAAP;;EAsDA,WAASA,YAAT,CAAuB3/B,EAAvB,EAA8C;EAC5C,QAAI8/B,mBAAmB,IAAI9/B,EAAE,CAACigC,OAA9B,EAAuC;EACrCjgC,MAAAA,EAAE,CAACigC,OAAH,CAAWvL,SAAX,CAAqBK,MAArB,CAA4B+K,mBAA5B;EACD;;EACDS,IAAAA,WAAW,CAACvgC,EAAD,CAAX;EACD;;EAED,WAASugC,WAAT,CAAsBvgC,EAAtB,EAA6C;EAC3C,UAAMmK,IAAI,GAAGnK,EAAE,CAACkgC,aAAH,CAAkBH,YAAlB,CAAb;EACA//B,IAAAA,EAAE,CAACG,KAAH,CAASggC,QAAT,GAAoBngC,EAAE,CAACkgC,aAAH,CAAkBC,QAAtC;EACA,QAAIh2B,IAAI,IAAI,IAAZ,EAAkBnK,EAAE,CAACG,KAAH,CAAS4/B,YAAT,IAAyB51B,IAAzB;EAClB,WAAOnK,EAAE,CAACkgC,aAAV;EACD;EACF;;EChFM,MAAMQ,iBAAiB,GAAGnyB,eAAe,CAAC;EAC/CpL,EAAAA,IAAI,EAAE,mBADyC;EAG/C0B,EAAAA,KAAK,EAAE;EACL6D,IAAAA,MAAM,EAAE9D;EADH,GAHwC;;EAO/C6J,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAMgwB,SAAS,GAAG;EAChBR,MAAAA,aAAa,CAAEr/B,EAAF,EAAe;EACzBA,QAAAA,EAAD,CAAoBG,KAApB,CAA0BwgC,aAA1B,GAA0C,MAA1C;EACD,OAHe;;EAIhB,YAAMP,OAAN,CAAepgC,EAAf,EAA4B4gC,IAA5B,EAA8C;EAC5C,cAAM,IAAIC,OAAJ,CAAYC,OAAO,IAAIrY,qBAAqB,CAACqY,OAAD,CAA5C,CAAN;EAEA,cAAM;EAAEvhC,UAAAA,CAAF;EAAKC,UAAAA;EAAL,YAAWuhC,aAAa,CAACl8B,KAAK,CAAC6D,MAAP,EAAgB1I,EAAhB,CAA9B;EAEA,cAAMs0B,SAAS,GAAGt0B,EAAE,CAACghC,OAAH,CAAW,CAC3B;EAAE1gC,UAAAA,SAAS,EAAG,aAAYf,CAAE,OAAMC,CAAE,gBAApC;EAAqDwzB,UAAAA,OAAO,EAAE;EAA9D,SAD2B,EAE3B;EAAE1yB,UAAAA,SAAS,EAAE;EAAb,SAF2B,CAAX,EAGf;EACD2gC,UAAAA,QAAQ,EAAE,GADT;EAEDC,UAAAA,MAAM,EAAE7wB;EAFP,SAHe,CAAlB;EAOAikB,QAAAA,SAAS,CAAC6M,QAAV,CAAmBC,IAAnB,CAAwB,MAAMR,IAAI,EAAlC;EACD,OAjBe;;EAkBhBN,MAAAA,YAAY,CAAEtgC,EAAF,EAAe;EACxBA,QAAAA,EAAD,CAAoBG,KAApB,CAA0BkhC,cAA1B,CAAyC,gBAAzC;EACD,OApBe;;EAqBhBC,MAAAA,aAAa,CAAEthC,EAAF,EAAe;EACzBA,QAAAA,EAAD,CAAoBG,KAApB,CAA0BwgC,aAA1B,GAA0C,MAA1C;EACD,OAvBe;;EAwBhB,YAAMrB,OAAN,CAAet/B,EAAf,EAA4B4gC,IAA5B,EAA8C;EAC5C,cAAM,IAAIC,OAAJ,CAAYC,OAAO,IAAIrY,qBAAqB,CAACqY,OAAD,CAA5C,CAAN;EAEA,cAAM;EAAEvhC,UAAAA,CAAF;EAAKC,UAAAA;EAAL,YAAWuhC,aAAa,CAACl8B,KAAK,CAAC6D,MAAP,EAAgB1I,EAAhB,CAA9B;EAEA,cAAMs0B,SAAS,GAAGt0B,EAAE,CAACghC,OAAH,CAAW,CAC3B;EAAE1gC,UAAAA,SAAS,EAAE;EAAb,SAD2B,EAE3B;EAAEA,UAAAA,SAAS,EAAG,aAAYf,CAAE,OAAMC,CAAE,gBAApC;EAAqDwzB,UAAAA,OAAO,EAAE;EAA9D,SAF2B,CAAX,EAGf;EACDiO,UAAAA,QAAQ,EAAE,GADT;EAEDC,UAAAA,MAAM,EAAE5wB;EAFP,SAHe,CAAlB;EAOAgkB,QAAAA,SAAS,CAAC6M,QAAV,CAAmBC,IAAnB,CAAwB,MAAMR,IAAI,EAAlC;EACD,OArCe;;EAsChBjB,MAAAA,YAAY,CAAE3/B,EAAF,EAAe;EACxBA,QAAAA,EAAD,CAAoBG,KAApB,CAA0BkhC,cAA1B,CAAyC,gBAAzC;EACD;;EAxCe,KAAlB;EA2CA,WAAO,MAAM;EACX,aAAOx8B,KAAK,CAAC6D,MAAN;EAAA,gBAGI;EAHJ,SAIIm3B,SAJJ;EAAA,eAKK;EALL,UAMShwB,KANT;EAAA,gBASc;EATd,SAS4CA,KAT5C,CAAP;EAUD,KAXD;EAYD;;EA/D8C,CAAD,CAAzC;;EAkEP,SAASkxB,aAAT,CAAwBr4B,MAAxB,EAA6C1I,EAA7C,EAA8D;EAC5D,QAAMuhC,SAAS,GAAG74B,MAAM,CAACxI,qBAAP,EAAlB;EACA,QAAMshC,KAAK,GAAGzhC,iBAAiB,CAACC,EAAD,CAA/B;EACA,QAAM,CAACyhC,OAAD,EAAUC,OAAV,IAAqBthC,gBAAgB,CAACJ,EAAD,CAAhB,CAAqBgB,eAArB,CAAqCF,KAArC,CAA2C,GAA3C,EAAgD8C,GAAhD,CAAoDyB,CAAC,IAAIpE,UAAU,CAACoE,CAAD,CAAnE,CAA3B;EAEA,QAAM,CAACs8B,UAAD,EAAaC,YAAb,IAA6BxhC,gBAAgB,CAACJ,EAAD,CAAhB,CAAqB6hC,gBAArB,CAAsC,2BAAtC,EAAmE/gC,KAAnE,CAAyE,GAAzE,CAAnC;EAEA,MAAIm4B,OAAO,GAAGsI,SAAS,CAAC1hC,IAAV,GAAiB0hC,SAAS,CAAC9hC,KAAV,GAAkB,CAAjD;;EACA,MAAIkiC,UAAU,KAAK,MAAf,IAAyBC,YAAY,KAAK,MAA9C,EAAsD;EACpD3I,IAAAA,OAAO,IAAIsI,SAAS,CAAC9hC,KAAV,GAAkB,CAA7B;EACD,GAFD,MAEO,IAAIkiC,UAAU,KAAK,OAAf,IAA0BC,YAAY,KAAK,OAA/C,EAAwD;EAC7D3I,IAAAA,OAAO,IAAIsI,SAAS,CAAC9hC,KAAV,GAAkB,CAA7B;EACD;;EAED,MAAIy5B,OAAO,GAAGqI,SAAS,CAAC5hC,GAAV,GAAgB4hC,SAAS,CAAC7hC,MAAV,GAAmB,CAAjD;;EACA,MAAIiiC,UAAU,KAAK,KAAf,IAAwBC,YAAY,KAAK,KAA7C,EAAoD;EAClD1I,IAAAA,OAAO,IAAIqI,SAAS,CAAC7hC,MAAV,GAAmB,CAA9B;EACD,GAFD,MAEO,IAAIiiC,UAAU,KAAK,QAAf,IAA2BC,YAAY,KAAK,QAAhD,EAA0D;EAC/D1I,IAAAA,OAAO,IAAIqI,SAAS,CAAC7hC,MAAV,GAAmB,CAA9B;EACD;;EAED,SAAO;EACLH,IAAAA,CAAC,EAAE05B,OAAO,IAAIwI,OAAO,GAAGD,KAAK,CAAC3hC,IAApB,CADL;EAELL,IAAAA,CAAC,EAAE05B,OAAO,IAAIwI,OAAO,GAAGF,KAAK,CAAC7hC,GAApB;EAFL,GAAP;EAID;;ECvFM,MAAMmiC,mBAAmB,GAAG9C,mBAAmB,CAAC,qBAAD,CAA/C;EACA,MAAM+C,0BAA0B,GAAG/C,mBAAmB,CAAC,6BAAD,CAAtD;EACA,MAAMgD,cAAc,GAAGhD,mBAAmB,CAAC,gBAAD,CAA1C;EACA,MAAMiD,qBAAqB,GAAGjD,mBAAmB,CAAC,wBAAD,CAAjD;EACA,MAAMkD,eAAe,GAAGlD,mBAAmB,CAAC,iBAAD,CAA3C;EACA,MAAMmD,cAAc,GAAGnD,mBAAmB,CAAC,gBAAD,EAAmB,eAAnB,EAAoC,QAApC,CAA1C;;EAGA,MAAMoD,uBAAuB,GAAGpD,mBAAmB,CAAC,0BAAD,CAAnD;EACA,MAAMqD,oBAAoB,GAAGrD,mBAAmB,CAAC,uBAAD,CAAhD;EACA,MAAMsD,eAAe,GAAGtD,mBAAmB,CAAC,iBAAD,CAA3C;EACA,MAAMuD,gBAAgB,GAAGvD,mBAAmB,CAAC,kBAAD,CAA5C;EACA,MAAMwD,kBAAkB,GAAGxD,mBAAmB,CAAC,qBAAD,CAA9C;EACA,MAAMyD,yBAAyB,GAAGzD,mBAAmB,CAAC,6BAAD,CAArD;EACA,MAAM0D,kBAAkB,GAAG1D,mBAAmB,CAAC,qBAAD,CAA9C;EACA,MAAM2D,yBAAyB,GAAG3D,mBAAmB,CAAC,6BAAD,CAArD;EACA,MAAM4D,iBAAiB,GAAG5D,mBAAmB,CAAC,oBAAD,CAA7C;EACA,MAAM6D,wBAAwB,GAAG7D,mBAAmB,CAAC,4BAAD,CAApD;EACA,MAAM8D,iBAAiB,GAAG9D,mBAAmB,CAAC,oBAAD,CAA7C;EACA,MAAM+D,wBAAwB,GAAG/D,mBAAmB,CAAC,4BAAD,CAApD;;EAGA,MAAMgE,iBAAiB,GAAGpD,0BAA0B,CAAC,mBAAD,EAAsBqD,yBAAyB,EAA/C,CAApD;EACA,MAAMC,kBAAkB,GAAGtD,0BAA0B,CAAC,qBAAD,EAAwBqD,yBAAyB,CAAC,EAAD,EAAK,IAAL,CAAjD,CAArD;;ECjBA,MAAME,SAAS,GAAG50B,eAAe,CAAC;EACvCpL,EAAAA,IAAI,EAAE,WADiC;EAGvC0B,EAAAA,KAAK,EAAE;EACL6U,IAAAA,MAAM,EAAET,OADH;EAELnR,IAAAA,KAAK,EAAE;EACLqB,MAAAA,IAAI,EAAE,CAACpF,KAAD,EAAQ2B,MAAR,CADD;EAELkK,MAAAA,OAAO,EAAE,MAAO;EAFX,KAFF;EAOL,OAAGoV,mBAAmB,CAAC;EACrBlJ,MAAAA,UAAU,EAAE;EACV9R,QAAAA,SAAS,EAAE84B,iBADD;EAEV1V,QAAAA,KAAK,EAAE;EAFG;EADS,KAAD;EAPjB,GAHgC;;EAkBvC3e,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAMuzB,QAAQ,GAAG11B,YAAQ,CAAC,MAAM9F,WAAW,CAAC/C,KAAK,CAACiD,KAAP,CAAlB,CAAzB;EAEA,WAAO;EAAA;;EAAA;EAAA,sBAEUjD,KAAK,CAACiX,UAFhB;EAAA,eAGC,KAHD;EAAA,iBAIG;EAJH;EAAA,wBAMAsnB,QAAQ,CAACt7B,KAAT,CAAepE,MAAf,GAAwB,CAAxB,IAA6BmB,KAAK,CAAC6U,MAApC,IACA0pB,QAAQ,CAACt7B,KAAT,CAAelE,GAAf,CAAmB,CAACpC,OAAD,EAAUqC,CAAV;EAAA,mBACN,qBADM;EAAA,iBACsBA;EADtB,YAEbrC,OAFa,EAAnB,CAPC,EAcDqO,KAdC,sCAcDA,KAAK,CAAED,OAdN,qBAcD,oBAAAC,KAAK,CAdJ;EAAA;EAAA;EAAA,KAAP;EAiBD;;EAtCsC,CAAD,CAAjC;;ECdP;;EAkCO,MAAMwzB,OAAkC,GAAGt2B,MAAM,CAACC,GAAP,CAAW,cAAX,CAA3C;EAWA,MAAMs2B,aAAa,GAAGhxB,YAAY,CAAC;EACxCya,EAAAA,QAAQ,EAAE9T,OAD8B;EAExCsqB,EAAAA,QAAQ,EAAEtqB,OAF8B;EAGxCuqB,EAAAA,cAAc,EAAEvqB,OAHwB;EAIxCwqB,EAAAA,QAAQ,EAAExqB,OAJ8B;EAKxCmS,EAAAA,UAAU,EAAE;EACVjiB,IAAAA,IAAI,EAAE8P,OADI;EAEVrJ,IAAAA,OAAO,EAAE;EAFC;EAL4B,CAAD,CAAlC;EAWA,SAAS8zB,UAAT,CAAqB7+B,KAArB,EAAuC;EAC5C,QAAM8+B,KAAK,GAAGjZ,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAA7B;EAEA,QAAM+Q,UAAU,GAAGlI,YAAQ,CAAC,MAAM7I,KAAK,CAACkoB,QAAb,CAA3B;EACA,QAAM6W,UAAU,GAAGl2B,YAAQ,CAAC,MAAM7I,KAAK,CAAC4+B,QAAb,CAA3B;EACA,QAAMI,YAAY,GAAGl6B,OAAG,CAAC,KAAD,CAAxB;EACA,QAAMoS,KAAK,GAAGpS,OAAG,CAAc,EAAd,CAAjB;EACA,QAAMm6B,aAAa,GAAGn6B,OAAG,CAAyB,EAAzB,CAAzB;;EAEA,iBAAeo6B,QAAf,GAA2B;EACzB,UAAMC,OAAO,GAAG,EAAhB;EACA,QAAIC,KAAK,GAAG,IAAZ;EAEAH,IAAAA,aAAa,CAACh8B,KAAd,GAAsB,EAAtB;EACA67B,IAAAA,KAAK,CAAC77B,KAAN,GAAc,IAAd;EACA+7B,IAAAA,YAAY,CAAC/7B,KAAb,GAAqB,IAArB;;EAEA,SAAK,MAAMkT,IAAX,IAAmBe,KAAK,CAACjU,KAAzB,EAAgC;EAC9B,YAAMo8B,iBAAiB,GAAG,MAAMlpB,IAAI,CAAC+oB,QAAL,EAAhC;;EAEA,UAAIG,iBAAiB,CAACxgC,MAAlB,GAA2B,CAA/B,EAAkC;EAChCugC,QAAAA,KAAK,GAAG,KAAR;EAEAD,QAAAA,OAAO,CAAChiC,IAAR,CAAa;EACX6V,UAAAA,EAAE,EAAEmD,IAAI,CAACnD,EADE;EAEXisB,UAAAA,aAAa,EAAEI;EAFJ,SAAb;EAID;;EAED,UAAI,CAACD,KAAD,IAAUp/B,KAAK,CAAC0+B,QAApB,EAA8B;EAC/B;;EAEDO,IAAAA,aAAa,CAACh8B,KAAd,GAAsBk8B,OAAtB;EACAL,IAAAA,KAAK,CAAC77B,KAAN,GAAcm8B,KAAd;EACAJ,IAAAA,YAAY,CAAC/7B,KAAb,GAAqB,KAArB;EAEA,WAAO;EAAEm8B,MAAAA,KAAF;EAASH,MAAAA,aAAa,EAAEA,aAAa,CAACh8B;EAAtC,KAAP;EACD;;EAED,WAAS+F,KAAT,GAAkB;EAChBkO,IAAAA,KAAK,CAACjU,KAAN,CAAYq8B,OAAZ,CAAoBnpB,IAAI,IAAIA,IAAI,CAACnN,KAAL,EAA5B;EACA81B,IAAAA,KAAK,CAAC77B,KAAN,GAAc,IAAd;EACD;;EAED,WAASs8B,eAAT,GAA4B;EAC1BroB,IAAAA,KAAK,CAACjU,KAAN,CAAYq8B,OAAZ,CAAoBnpB,IAAI,IAAIA,IAAI,CAACopB,eAAL,EAA5B;EACAN,IAAAA,aAAa,CAACh8B,KAAd,GAAsB,EAAtB;EACA67B,IAAAA,KAAK,CAAC77B,KAAN,GAAc,IAAd;EACD;;EAEDqG,EAAAA,WAAO,CAACk1B,OAAD,EAAU;EACfzpB,IAAAA,QAAQ,EAAE,CAAC/B,EAAD,EAAKksB,QAAL,EAAel2B,KAAf,EAAsBu2B,eAAtB,KAA0C;EAClDroB,MAAAA,KAAK,CAACjU,KAAN,CAAY9F,IAAZ,CAAiB;EACf6V,QAAAA,EADe;EAEfksB,QAAAA,QAFe;EAGfl2B,QAAAA,KAHe;EAIfu2B,QAAAA;EAJe,OAAjB;EAMD,KARc;EASftqB,IAAAA,UAAU,EAAEjC,EAAE,IAAI;EAChBkE,MAAAA,KAAK,CAACjU,KAAN,GAAciU,KAAK,CAACjU,KAAN,CAAYiC,MAAZ,CAAmBiR,IAAI,IAAI;EACvC,eAAOA,IAAI,CAACnD,EAAL,KAAYA,EAAnB;EACD,OAFa,CAAd;EAGD,KAbc;EAcfjC,IAAAA,UAde;EAefguB,IAAAA,UAfe;EAgBfC,IAAAA,YAhBe;EAiBf9nB,IAAAA;EAjBe,GAAV,CAAP;EAoBA,SAAO;EACL+nB,IAAAA,aADK;EAELluB,IAAAA,UAFK;EAGLguB,IAAAA,UAHK;EAILC,IAAAA,YAJK;EAKL9nB,IAAAA,KALK;EAMLgoB,IAAAA,QANK;EAOLl2B,IAAAA,KAPK;EAQLu2B,IAAAA;EARK,GAAP;EAUD;EAEM,SAASC,OAAT,GAAoB;EACzB,SAAOj3B,UAAM,CAACi2B,OAAD,EAAU,IAAV,CAAb;EACD;;EC5ID;EA8BO,MAAMiB,mBAAmB,GAAGhyB,YAAY,CAAC;EAC9Cya,EAAAA,QAAQ,EAAE9T,OADoC;EAE9C1W,EAAAA,KAAK,EAAE0W,OAFuC;EAG9C6qB,EAAAA,aAAa,EAAE;EACb36B,IAAAA,IAAI,EAAE,CAACpF,KAAD,EAAQ2B,MAAR,CADO;EAEbkK,IAAAA,OAAO,EAAE,MAAO;EAFH,GAH+B;EAO9C20B,EAAAA,SAAS,EAAE;EACTp7B,IAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADG;EAETkK,IAAAA,OAAO,EAAE;EAFA,GAPmC;EAW9CzM,EAAAA,IAAI,EAAEuC,MAXwC;EAY9C+9B,EAAAA,QAAQ,EAAExqB,OAZoC;EAa9CurB,EAAAA,KAAK,EAAE;EACLr7B,IAAAA,IAAI,EAAEpF,KADD;EAEL6L,IAAAA,OAAO,EAAE,MAAO;EAFX,GAbuC;EAiB9Cwb,EAAAA,UAAU,EAAE;EAjBkC,CAAD,CAAxC;EAoBA,SAASqZ,aAAT,CACL5/B,KADK,EAGL;EAAA,MADA1B,IACA,uEADOqN,sBAAsB,EAC7B;EACA,QAAMmzB,KAAK,GAAGjZ,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAA7B;EACA,QAAM6/B,IAAI,GAAGL,OAAO,EAApB;EACA,QAAMP,aAAa,GAAGn6B,OAAG,CAAW,EAAX,CAAzB;EACA,QAAMg7B,UAAU,GAAGh7B,OAAG,CAAC,IAAD,CAAtB;EACA,QAAMiM,UAAU,GAAGlI,YAAQ,CAAC,MAAM,CAAC,EAAE7I,KAAK,CAACkoB,QAAN,IAAkB2X,IAAlB,YAAkBA,IAAI,CAAE9uB,UAAN,CAAiB9N,KAArC,CAAR,CAA3B;EACA,QAAM87B,UAAU,GAAGl2B,YAAQ,CAAC,MAAM,CAAC,EAAE7I,KAAK,CAAC4+B,QAAN,IAAkBiB,IAAlB,YAAkBA,IAAI,CAAEd,UAAN,CAAiB97B,KAArC,CAAR,CAA3B;EACA,QAAM88B,OAAO,GAAGl3B,YAAQ,CAAC,MAAM;EAAA;;EAC7B,QACE7I,KAAK,CAACtC,KAAN,4BACAsC,KAAK,CAACi/B,aADN,aACA,qBAAqBpgC,MADrB,IAEAogC,aAAa,CAACh8B,KAAd,CAAoBpE,MAHtB,EAIE,OAAO,KAAP;EAEF,WAAOihC,UAAU,CAAC78B,KAAX,GAAmB,IAAnB,GAA0B,IAAjC;EACD,GARuB,CAAxB;EASA,QAAM+7B,YAAY,GAAGl6B,OAAG,CAAC,KAAD,CAAxB;EACA,QAAMk7B,iBAAiB,GAAGn3B,YAAQ,CAAC,MAAM;EACvC,WAAO;EACL,OAAE,GAAEvK,IAAK,SAAT,GAAoByhC,OAAO,CAAC98B,KAAR,KAAkB,KADjC;EAEL,OAAE,GAAE3E,IAAK,YAAT,GAAuByS,UAAU,CAAC9N,KAF7B;EAGL,OAAE,GAAE3E,IAAK,YAAT,GAAuBygC,UAAU,CAAC97B;EAH7B,KAAP;EAKD,GANiC,CAAlC;EAQA,QAAMwc,GAAG,GAAG5W,YAAQ,CAAC;EAAA;;EAAA,0BAAM7I,KAAK,CAAC1B,IAAZ,0BAAoB2F,MAAM,EAA1B;EAAA,GAAD,CAApB;EAEA8d,EAAAA,iBAAa,CAAC,MAAM;EAClB8d,IAAAA,IAAI,QAAJ,YAAAA,IAAI,CAAE9qB,QAAN,CAAe0K,GAAG,CAACxc,KAAnB,EAA0Bi8B,QAA1B,EAAoCl2B,KAApC,EAA2Cu2B,eAA3C;EACD,GAFY,CAAb;EAIAvqB,EAAAA,mBAAe,CAAC,MAAM;EACpB6qB,IAAAA,IAAI,QAAJ,YAAAA,IAAI,CAAE5qB,UAAN,CAAiBwK,GAAG,CAACxc,KAArB;EACD,GAFc,CAAf;;EAIA,WAAS+F,KAAT,GAAkB;EAChBu2B,IAAAA,eAAe;EACfT,IAAAA,KAAK,CAAC77B,KAAN,GAAc,IAAd;EACD;;EAED,WAASs8B,eAAT,GAA4B;EAC1BO,IAAAA,UAAU,CAAC78B,KAAX,GAAmB,IAAnB;EACAg8B,IAAAA,aAAa,CAACh8B,KAAd,GAAsB,EAAtB;EACD;;EAED,iBAAei8B,QAAf,GAA2B;EACzB,UAAMC,OAAO,GAAG,EAAhB;EAEAF,IAAAA,aAAa,CAACh8B,KAAd,GAAsB,EAAtB;EACA+7B,IAAAA,YAAY,CAAC/7B,KAAb,GAAqB,IAArB;;EAEA,SAAK,MAAMg9B,IAAX,IAAmBjgC,KAAK,CAAC2/B,KAAzB,EAAgC;EAC9B,UAAIR,OAAO,CAACtgC,MAAR,KAAmBmB,KAAK,CAAC0/B,SAAN,IAAmB,CAAtC,CAAJ,EAA8C;EAC5C;EACD;;EAED,YAAMvgB,OAAO,GAAG,OAAO8gB,IAAP,KAAgB,UAAhB,GAA6BA,IAA7B,GAAoC,MAAMA,IAA1D;EACA,YAAMC,MAAM,GAAG,MAAM/gB,OAAO,CAAC2f,KAAK,CAAC77B,KAAP,CAA5B;EAEA,UAAIi9B,MAAM,KAAK,IAAf,EAAqB;;EAErB,UAAI,OAAOA,MAAP,KAAkB,QAAtB,EAAgC;EAC9B;EACA3iC,QAAAA,OAAO,CAACC,IAAR,CAAc,GAAE0iC,MAAO,6EAAvB;EAEA;EACD;;EAEDf,MAAAA,OAAO,CAAChiC,IAAR,CAAa+iC,MAAb;EACD;;EAEDjB,IAAAA,aAAa,CAACh8B,KAAd,GAAsBk8B,OAAtB;EACAH,IAAAA,YAAY,CAAC/7B,KAAb,GAAqB,KAArB;EACA68B,IAAAA,UAAU,CAAC78B,KAAX,GAAmB,KAAnB;EAEA,WAAOg8B,aAAa,CAACh8B,KAArB;EACD;;EAED,SAAO;EACLg8B,IAAAA,aADK;EAELluB,IAAAA,UAFK;EAGLguB,IAAAA,UAHK;EAILe,IAAAA,UAJK;EAKLC,IAAAA,OALK;EAMLf,IAAAA,YANK;EAOLh2B,IAAAA,KAPK;EAQLu2B,IAAAA,eARK;EASLL,IAAAA,QATK;EAULc,IAAAA;EAVK,GAAP;EAYD;;EC/GM,MAAMG,YAAY,GAAG,QAArB;EAEA,MAAMC,eAAe,GAAG3yB,YAAY,CAAC;EAC1CuF,EAAAA,EAAE,EAAEnS,MADsC;EAE1CqxB,EAAAA,UAAU,EAAErxB,MAF8B;EAG1CoxB,EAAAA,WAAW,EAAEpxB,MAH6B;EAI1Cw/B,EAAAA,WAAW,EAAE,CAACjsB,OAAD,EAAUvT,MAAV,CAJ6B;EAK1Cy/B,EAAAA,IAAI,EAAEz/B,MALoC;EAM1C09B,EAAAA,QAAQ,EAAE;EACRj6B,IAAAA,IAAI,EAAE,CAACpF,KAAD,EAAQ2B,MAAR,CADE;EAERkK,IAAAA,OAAO,EAAE,MAAO;EAFR,GANgC;EAU1Cw1B,EAAAA,cAAc,EAAEnsB,OAV0B;EAW1CosB,EAAAA,SAAS,EAAE;EACTl8B,IAAAA,IAAI,EAAEzD,MADG;EAETkK,IAAAA,OAAO,EAAE,YAFA;EAGTqV,IAAAA,SAAS,EAAG5f,CAAD,IAAY,CAAC,YAAD,EAAe,UAAf,EAA2BtD,QAA3B,CAAoCsD,CAApC;EAHd,GAX+B;EAiB1C,KAAG2jB,gBAAgB,EAjBuB;EAkB1C,KAAGsb,mBAAmB;EAlBoB,CAAD,CAApC;EAqBA,MAAMgB,MAAM,GAAGl2B,gBAAgB,GAOjC;EACHjM,EAAAA,IAAI,EAAE,QADH;EAGH0B,EAAAA,KAAK,EAAE;EACL0gC,IAAAA,OAAO,EAAEtsB,OADJ;EAGL,OAAGgsB,eAAe;EAHb,GAHJ;EASH9e,EAAAA,KAAK,EAAE;EACL,yBAAsB/b,GAAD,IAAc,IAD9B;EAEL,qBAAkBuoB,CAAD,IAAmB,IAF/B;EAGL,oBAAiBA,CAAD,IAAmB;EAH9B,GATJ;;EAeHlkB,EAAAA,KAAK,CAAE5J,KAAF,QAA0B;EAAA,QAAjB;EAAEgL,MAAAA,KAAF;EAASuW,MAAAA;EAAT,KAAiB;EAC7B,UAAM;EAAE+C,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,UAAM;EACJi/B,MAAAA,aADI;EAEJluB,MAAAA,UAFI;EAGJguB,MAAAA,UAHI;EAIJe,MAAAA,UAJI;EAKJC,MAAAA,OALI;EAMJf,MAAAA,YANI;EAOJh2B,MAAAA,KAPI;EAQJu2B,MAAAA,eARI;EASJL,MAAAA,QATI;EAUJc,MAAAA;EAVI,QAWFJ,aAAa,CAAC5/B,KAAD,CAXjB;EAaA,UAAMyf,GAAG,GAAGxb,MAAM,EAAlB;EACA,UAAM+O,EAAE,GAAGnK,YAAQ,CAAC,MAAM7I,KAAK,CAACgT,EAAN,IAAa,SAAQyM,GAAI,EAAhC,CAAnB;EACA,UAAMkhB,SAAS,GAAGja,SAAK,CAAC1mB,KAAD,EAAQ,SAAR,CAAvB;EAEA,UAAM4gC,SAAS,GAAG/3B,YAAQ,CAAa,OAAO;EAC5CmK,MAAAA,EAD4C;EAE5CjC,MAAAA,UAF4C;EAG5C4vB,MAAAA,SAH4C;EAI5C5B,MAAAA,UAJ4C;EAK5Ce,MAAAA,UAL4C;EAM5CC,MAAAA,OAN4C;EAO5Cf,MAAAA,YAP4C;EAQ5Ch2B,MAAAA,KAR4C;EAS5Cu2B,MAAAA,eAT4C;EAU5CL,MAAAA;EAV4C,KAAP,CAAb,CAA1B;EAaA51B,IAAAA,WAAO,CAAC62B,YAAD,EAAeS,SAAf,CAAP;EAEA/yB,IAAAA,SAAS,CAAC,MAAM;EAAA;;EACd,YAAM6lB,UAAU,GAAI1oB,KAAK,CAACic,OAAN,IAAiBjnB,KAAK,CAACiyB,WAA3C;EACA,YAAM+H,SAAS,GAAIhvB,KAAK,CAACkc,MAAN,IAAgBlnB,KAAK,CAACkyB,UAAzC;EACA,YAAM2O,OAAO,GAAG,CAAC,EAAE71B,KAAK,CAACs1B,IAAN,IAActgC,KAAK,CAACsgC,IAAtB,CAAjB;EACA,YAAMQ,WAAW,GAAG,CAAC,EACnB91B,KAAK,CAACuzB,QAAN,uBACAv+B,KAAK,CAACu+B,QADN,aACA,gBAAgB1/B,MADhB,IAEAogC,aAAa,CAACh8B,KAAd,CAAoBpE,MAHD,CAArB;EAKA,YAAMkiC,UAAU,GAAG,CAAC/gC,KAAK,CAACqgC,WAAP,IACjBrgC,KAAK,CAACqgC,WAAN,KAAsB,MAAtB,KACCS,WAAW,IAAID,OADhB,CADF;EAIA,YAAMG,YAAY,GAAGF,WAAW,IAC9BD,OAAO,KACN7gC,KAAK,CAACugC,cAAN,IAAwBvgC,KAAK,CAAC0gC,OADxB,CADT;EAKA;EAAA,iBACc,CACV,SADU,EAET,YAAW1gC,KAAK,CAACwgC,SAAU,EAFlB,EAGVlc,cAAc,CAACrhB,KAHL,EAIV+8B,iBAAiB,CAAC/8B,KAJR;EADd,UAQMywB,UAAU;EAAA,iBAEF,kBAFE;EAAA,mBAGE5F,CAAC,IAAIvM,IAAI,CAAC,eAAD,EAAkBuM,CAAlB;EAHX,UAKN9iB,KALM,sCAKNA,KAAK,CAAEic,OALD,qBAKN,oBAAAjc,KAAK,EAAY41B,SAAS,CAAC39B,KAAtB,CALC,EAONjD,KAAK,CAACiyB,WAAN;EAAA,gBACcjyB,KAAK,CAACiyB;EADpB,2BAPM,kBARhB;EAAA,iBAqBe;EArBf,4BAsBQjnB,KAAK,CAACD,OAtBd,qBAsBQ,oBAAAC,KAAK,EAAW41B,SAAS,CAAC39B,KAArB,CAtBb,IAyBM+2B,SAAS;EAAA,iBAED,iBAFC;EAAA,mBAGGlM,CAAC,IAAIvM,IAAI,CAAC,cAAD,EAAiBuM,CAAjB;EAHZ,UAKL9iB,KALK,qCAKLA,KAAK,CAAEkc,MALF,qBAKL,mBAAAlc,KAAK,EAAW41B,SAAS,CAAC39B,KAArB,CALA,EAOLjD,KAAK,CAACkyB,UAAN;EAAA,gBACclyB,KAAK,CAACkyB;EADpB,2BAPK,kBAzBf,EAsCM6O,UAAU;EAAA,iBACC;EADD;EAAA,kBAGGC,YAHH;EAAA,iBAIE/B,aAAa,CAACh8B,KAAd,KAAwB69B,WAAW,GAAG9gC,KAAK,CAACu+B,QAAT,GAAoBv+B,KAAK,CAACsgC,IAA7D;EAJF,SAKG;EAAEv1B,QAAAA,OAAO,EAAEC,KAAK,CAACuzB;EAAjB,OALH,6CAQNvzB,KAAK,CAACi2B,OARA,qBAQN,oBAAAj2B,KAAK,EAAW41B,SAAS,CAAC39B,KAArB,CARC,EAtChB;EAmDD,KArEQ,CAAT;EAuEA,WAAO;EACL88B,MAAAA,OADK;EAELb,MAAAA,QAFK;EAGLl2B,MAAAA,KAHK;EAILu2B,MAAAA,eAJK;EAKLN,MAAAA;EALK,KAAP;EAOD;;EA/HE,CAPiC,CAA/B;EA2IA,SAASiC,gBAAT,CAA2BlhC,KAA3B,EAAwF;EAC7F,SAAOoC,IAAI,CAACpC,KAAD,EAAQD,MAAM,CAACE,IAAP,CAAYwgC,MAAM,CAACzgC,KAAnB,CAAR,CAAX;EACD;;EC3LM,MAAMmhC,MAAM,GAAGz3B,eAAe,CAAC;EACpCpL,EAAAA,IAAI,EAAE,QAD8B;EAGpC0B,EAAAA,KAAK,EAAE;EACLkoB,IAAAA,QAAQ,EAAE9T,OADL;EAEL1W,IAAAA,KAAK,EAAE0W,OAFF;EAGLnF,IAAAA,IAAI,EAAEpO,MAHD;EAKL,OAAGiP,cAAc;EALZ,GAH6B;;EAWpClG,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,WAAO;EAAA;;EAAA;EAAA,iBAEI,CACL,SADK,EAEL;EACE,+BAAqBhL,KAAK,CAACkoB,QAD7B;EAEE,4BAAkBloB,KAAK,CAACtC;EAF1B,SAFK;EAFJ,UAUDsC,KAAK,CAACiP,IAVL,oBAYDjE,KAAK,CAACD,OAZL,qBAYD,oBAAAC,KAAK,CAZJ;EAAA,KAAP;EAeD;;EA3BmC,CAAD,CAA9B;;ECgBA,MAAMo2B,4BAAkE,GAAGl5B,MAAM,CAACC,GAAP,CAAW,iCAAX,CAA3E;EAEA,MAAMk5B,sBAAsB,GAAG33B,mBAAe,CAAC;EACpDpL,EAAAA,IAAI,EAAE,wBAD8C;EAGpD0B,EAAAA,KAAK,EAAE;EACLkoB,IAAAA,QAAQ,EAAE9T,OADL;EAELpB,IAAAA,EAAE,EAAEnS,MAFC;EAGLkzB,IAAAA,MAAM,EAAE3f,OAHH;EAIL9V,IAAAA,IAAI,EAAEuC,MAJD;EAKLygC,IAAAA,SAAS,EAAEzgC,MALN;EAML0gC,IAAAA,QAAQ,EAAE1gC,MANL;EAOLknB,IAAAA,QAAQ,EAAE;EACRzjB,MAAAA,IAAI,EAAE8P,OADE;EAERrJ,MAAAA,OAAO,EAAE;EAFD,KAPL;EAWL6zB,IAAAA,QAAQ,EAAExqB,OAXL;EAYL9P,IAAAA,IAAI,EAAEzD,MAZD;EAaL0lB,IAAAA,UAAU,EAAE;EAbP,GAH6C;EAmBpDjF,EAAAA,KAAK,EAAE;EACL,yBAAsB/b,GAAD,IAAc;EAD9B,GAnB6C;;EAuBpDqE,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAMub,UAAU,GAAGV,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAAlC;EACA,UAAMyf,GAAG,GAAGxb,MAAM,EAAlB;EACA,UAAM+O,EAAE,GAAGnK,YAAQ,CAAC,MAAM7I,KAAK,CAACgT,EAAN,IAAa,6BAA4ByM,GAAI,EAApD,CAAnB;EACA,UAAMnhB,IAAI,GAAGuK,YAAQ,CAAC,MAAM7I,KAAK,CAAC1B,IAAN,IAAc0U,EAAE,CAAC/P,KAAxB,CAArB;EAEAqG,IAAAA,WAAO,CAAC83B,4BAAD,EAA+B;EACpClZ,MAAAA,QAAQ,EAAExB,SAAK,CAAC1mB,KAAD,EAAQ,UAAR,CADqB;EAEpC+zB,MAAAA,MAAM,EAAErN,SAAK,CAAC1mB,KAAD,EAAQ,QAAR,CAFuB;EAGpCumB,MAAAA,UAHoC;EAIpCwB,MAAAA,QAAQ,EAAElf,YAAQ,CAAC,MAAM,CAAC,CAAC7I,KAAK,CAAC+nB,QAAR,IAAqB/nB,KAAK,CAAC+nB,QAAN,IAAkB,IAAlB,IAA0B7oB,KAAK,CAACC,OAAN,CAAconB,UAAU,CAACtjB,KAAzB,CAAtD,CAJkB;EAKpC3E,MAAAA,IALoC;EAMpCgjC,MAAAA,SAAS,EAAE5a,SAAK,CAAC1mB,KAAD,EAAQ,WAAR,CANoB;EAOpCuhC,MAAAA,QAAQ,EAAE7a,SAAK,CAAC1mB,KAAD,EAAQ,UAAR,CAPqB;EAQpC4+B,MAAAA,QAAQ,EAAElY,SAAK,CAAC1mB,KAAD,EAAQ,UAAR,CARqB;EASpCsE,MAAAA,IAAI,EAAEoiB,SAAK,CAAC1mB,KAAD,EAAQ,MAAR;EATyB,KAA/B,CAAP;EAYA6N,IAAAA,SAAS,CAAC,MAAM;EAAA;;EACd;EAAA,iBAEU,2BAFV;EAAA,4BAGuB7N,KAAK,CAACsE,IAAN,KAAe,OAAf,GAAyB0O,EAAE,CAAC/P,KAA5B,GAAoCxD,SAH3D;EAAA,gBAIWO,KAAK,CAACsE,IAAN,KAAe,OAAf,GAAyB,YAAzB,GAAwC7E;EAJnD,UAMMuL,KANN,sCAMMA,KAAK,CAAED,OANb,qBAMM,oBAAAC,KAAK,CANX;EASD,KAVQ,CAAT;EAYA,WAAO,EAAP;EACD;;EAtDmD,CAAD,CAA9C;;ECmBA,MAAMw2B,yBAAyB,GAAG/zB,YAAY,CAAC;EACpDzG,EAAAA,KAAK,EAAEnG,MAD6C;EAEpDqnB,EAAAA,QAAQ,EAAE9T,OAF0C;EAGpD1W,EAAAA,KAAK,EAAE0W,OAH6C;EAIpDpB,EAAAA,EAAE,EAAEnS,MAJgD;EAKpDkzB,EAAAA,MAAM,EAAE3f,OAL4C;EAMpD4f,EAAAA,KAAK,EAAEnzB,MAN6C;EAOpDygC,EAAAA,SAAS,EAAEzgC,MAPyC;EAQpD0gC,EAAAA,QAAQ,EAAE1gC,MAR0C;EASpDwxB,EAAAA,MAAM,EAAE;EACN/tB,IAAAA,IAAI,EAAE8P,OADA;EAENrJ,IAAAA,OAAO,EAAE;EAFH,GAT4C;EAapDgd,EAAAA,QAAQ,EAAE;EACRzjB,IAAAA,IAAI,EAAE8P,OADE;EAERrJ,IAAAA,OAAO,EAAE;EAFD,GAb0C;EAiBpDzM,EAAAA,IAAI,EAAEuC,MAjB8C;EAkBpD+9B,EAAAA,QAAQ,EAAExqB,OAlB0C;EAmBpDqtB,EAAAA,SAAS,EAAE,IAnByC;EAoBpDC,EAAAA,UAAU,EAAE,IApBwC;EAqBpDnb,EAAAA,UAAU,EAAE,IArBwC;EAsBpDjiB,EAAAA,IAAI,EAAEzD,MAtB8C;EAuBpDoC,EAAAA,KAAK,EAAE,IAvB6C;EAwBpD0+B,EAAAA,eAAe,EAAE;EACfr9B,IAAAA,IAAI,EAAEs9B,QADS;EAEf72B,IAAAA,OAAO,EAAErL;EAFM,GAxBmC;EA6BpD,KAAGoQ,cAAc,EA7BmC;EA8BpD,KAAGqU,gBAAgB;EA9BiC,CAAD,CAA9C;EAiCA,SAAS0d,mBAAT,CACL7hC,KADK,EAIL;EACA,QAAMuoB,KAAK,GAAGhgB,UAAM,CAAC64B,4BAAD,EAA+B3hC,SAA/B,CAApB;EACA,QAAM;EAAE6kB,IAAAA;EAAF,MAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,QAAMumB,UAAU,GAAGV,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAAlC;EACA,QAAMyhC,SAAS,GAAG54B,YAAQ,CAAC,MACzB7I,KAAK,CAACyhC,SAAN,KAAoBhiC,SAApB,GAAgCO,KAAK,CAACyhC,SAAtC,GACEzhC,KAAK,CAACiD,KAAN,KAAgBxD,SAAhB,GAA4BO,KAAK,CAACiD,KAAlC,GACA,IAHsB,CAA1B;EAKA,QAAMy+B,UAAU,GAAG74B,YAAQ,CAAC,MAAM7I,KAAK,CAAC0hC,UAAN,KAAqBjiC,SAArB,GAAiCO,KAAK,CAAC0hC,UAAvC,GAAoD,KAA3D,CAA3B;EACA,QAAMI,UAAU,GAAGj5B,YAAQ,CAAC,MAC1B,CAAA0f,KAAK,QAAL,YAAAA,KAAK,CAAER,QAAP,CAAgB9kB,KAAhB,KACA,CAAC,CAACjD,KAAK,CAAC+nB,QADR,IAEC/nB,KAAK,CAAC+nB,QAAN,IAAkB,IAAlB,IAA0B7oB,KAAK,CAACC,OAAN,CAAconB,UAAU,CAACtjB,KAAzB,CAHF,CAA3B;EAKA,QAAM67B,KAAK,GAAGj2B,YAAQ,CAAC;EACrB+M,IAAAA,GAAG,GAAI;EACL,YAAMrQ,GAAG,GAAGgjB,KAAK,GAAGA,KAAK,CAAChC,UAAN,CAAiBtjB,KAApB,GAA4BsjB,UAAU,CAACtjB,KAAxD;EAEA,aAAO6+B,UAAU,CAAC7+B,KAAX,GACHsC,GAAG,CAAC7C,IAAJ,CAAUlC,CAAD,IAAYR,KAAK,CAAC2hC,eAAN,CAAsBnhC,CAAtB,EAAyBihC,SAAS,CAACx+B,KAAnC,CAArB,CADG,GAEHjD,KAAK,CAAC2hC,eAAN,CAAsBp8B,GAAtB,EAA2Bk8B,SAAS,CAACx+B,KAArC,CAFJ;EAGD,KAPoB;;EAQrBuT,IAAAA,GAAG,CAAEjR,GAAF,EAAgB;EACjB,YAAMw8B,YAAY,GAAGx8B,GAAG,GAAGk8B,SAAS,CAACx+B,KAAb,GAAqBy+B,UAAU,CAACz+B,KAAxD;EAEA,UAAIqH,MAAM,GAAGy3B,YAAb;;EAEA,UAAID,UAAU,CAAC7+B,KAAf,EAAsB;EACpBqH,QAAAA,MAAM,GAAG/E,GAAG,GACR,CAAC,GAAGxC,WAAW,CAACwjB,UAAU,CAACtjB,KAAZ,CAAf,EAAmC8+B,YAAnC,CADQ,GAERh/B,WAAW,CAACwjB,UAAU,CAACtjB,KAAZ,CAAX,CAA8BiC,MAA9B,CAAsCiR,IAAD,IAAe,CAACnW,KAAK,CAAC2hC,eAAN,CAAsBxrB,IAAtB,EAA4BsrB,SAAS,CAACx+B,KAAtC,CAArD,CAFJ;EAGD;;EAED,UAAIslB,KAAJ,EAAW;EACTA,QAAAA,KAAK,CAAChC,UAAN,CAAiBtjB,KAAjB,GAAyBqH,MAAzB;EACD,OAFD,MAEO;EACLic,QAAAA,UAAU,CAACtjB,KAAX,GAAmBqH,MAAnB;EACD;EACF;;EAxBoB,GAAD,CAAtB;EA0BA,QAAM;EAAEkb,IAAAA,gBAAF;EAAoBC,IAAAA;EAApB,MAAwCF,YAAY,CAAC1c,YAAQ,CAAC,MAAM;EACxE,WACEi2B,KAAK,CAAC77B,KAAN,IACA,CAACjD,KAAK,CAACtC,KADP,IAEA,CAACsC,KAAK,CAACkoB,QAHF,GAIHloB,KAAK,CAACgH,KAJH,GAIWvH,SAJlB;EAKD,GANkE,CAAT,CAA1D;EAOA,QAAMirB,IAAI,GAAG7hB,YAAQ,CAAC,MAAM;EAAA;;EAC1B,WAAOi2B,KAAK,CAAC77B,KAAN,4BACHslB,KADG,oBACHA,KAAK,CAAEgZ,QAAP,CAAgBt+B,KADb,oCACsBjD,KAAK,CAACuhC,QAD5B,4BAEHhZ,KAFG,oBAEHA,KAAK,CAAE+Y,SAAP,CAAiBr+B,KAFd,oCAEuBjD,KAAK,CAACshC,SAFpC;EAGD,GAJoB,CAArB;EAMA,SAAO;EACL/Y,IAAAA,KADK;EAELjE,IAAAA,cAFK;EAGLmd,IAAAA,SAHK;EAILC,IAAAA,UAJK;EAKL5C,IAAAA,KALK;EAMLtZ,IAAAA,gBANK;EAOLC,IAAAA,eAPK;EAQLiF,IAAAA;EARK,GAAP;EAUD;EAEM,MAAMsX,iBAAiB,GAAGz3B,gBAAgB,GAS5C;EACHjM,EAAAA,IAAI,EAAE,mBADH;EAGHoiB,EAAAA,UAAU,EAAE;EAAEsR,IAAAA;EAAF,GAHT;EAKHnH,EAAAA,YAAY,EAAE,KALX;EAOH7qB,EAAAA,KAAK,EAAEwhC,yBAAyB,EAP7B;EASHlgB,EAAAA,KAAK,EAAE;EACL,yBAAsB/b,GAAD,IAAc;EAD9B,GATJ;;EAaHqE,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAM;EACJsZ,MAAAA,cADI;EAEJiE,MAAAA,KAFI;EAGJmC,MAAAA,IAHI;EAIJoU,MAAAA,KAJI;EAKJtZ,MAAAA,gBALI;EAMJC,MAAAA,eANI;EAOJgc,MAAAA;EAPI,QAQFI,mBAAmB,CAAC7hC,KAAD,CARvB;EASA,UAAMyf,GAAG,GAAGxb,MAAM,EAAlB;EACA,UAAM+O,EAAE,GAAGnK,YAAQ,CAAC,MAAM7I,KAAK,CAACgT,EAAN,IAAa,SAAQyM,GAAI,EAAhC,CAAnB;EACA,UAAMkhB,SAAS,GAAG77B,OAAG,CAAC,KAAD,CAArB;EACA,UAAMm9B,cAAc,GAAGn9B,OAAG,CAAC,KAAD,CAA1B;EACA,UAAMo9B,KAAK,GAAGp9B,OAAG,EAAjB;;EAEA,aAASq9B,OAAT,CAAkBrU,CAAlB,EAAiC;EAC/B6S,MAAAA,SAAS,CAAC19B,KAAV,GAAkB,IAAlB;;EACA,UACE,CAACkK,sBAAD,IACCA,sBAAsB,IAAK2gB,CAAC,CAACjqB,MAAH,CAA0Bu+B,OAA1B,CAAkC,gBAAlC,CAF7B,EAGE;EACAH,QAAAA,cAAc,CAACh/B,KAAf,GAAuB,IAAvB;EACD;EACF;;EAED,aAASo/B,MAAT,GAAmB;EACjB1B,MAAAA,SAAS,CAAC19B,KAAV,GAAkB,KAAlB;EACAg/B,MAAAA,cAAc,CAACh/B,KAAf,GAAuB,KAAvB;EACD;;EAED4K,IAAAA,SAAS,CAAC,MAAM;EAAA;;EACd,YAAMmmB,KAAK,GAAGhpB,KAAK,CAACgpB,KAAN,GACVhpB,KAAK,CAACgpB,KAAN,CAAY;EACZA,QAAAA,KAAK,EAAEh0B,KAAK,CAACg0B,KADD;EAEZh0B,QAAAA,KAAK,EAAE;EAAEmI,UAAAA,GAAG,EAAE6K,EAAE,CAAC/P;EAAV;EAFK,OAAZ,CADU,GAKVjD,KAAK,CAACg0B,KALV;EAMA,YAAM1vB,IAAI,wBAAGikB,KAAH,oBAAGA,KAAK,CAAEjkB,IAAP,CAAYrB,KAAf,gCAAwBjD,KAAK,CAACsE,IAAxC;EAEA;EAAA,iBAEW,CACL,qBADK,EAEL;EACE,wCAA8Bw6B,KAAK,CAAC77B,KADtC;EAEE,2CAAiCjD,KAAK,CAACkoB,QAFzC;EAGE,wCAA8BloB,KAAK,CAACtC,KAHtC;EAIE,0CAAgCijC,SAAS,CAAC19B,KAJ5C;EAKE,gDAAsCg/B,cAAc,CAACh/B,KALvD;EAME,yCAA+B,CAAAslB,KAAK,QAAL,YAAAA,KAAK,CAAEwL,MAAP,CAAc9wB,KAAd,KAAuBjD,KAAK,CAAC+zB;EAN9D,SAFK,EAULzP,cAAc,CAACrhB,KAVV,EAWLuiB,gBAAgB,CAACviB,KAXZ;EAFX;EAAA,iBAgBe;EAhBf,4BAiBQ+H,KAAK,CAACD,OAjBd,qBAiBQ,oBAAAC,KAAK,CAjBb;EAAA,iBAoBe,CACL,4BADK,CApBf;EAAA,iBAuBgBya,eAAe,CAACxiB;EAvBhC,UA8BUynB,IAAI,CAACznB,KAAL;EAAA,gBAA4BynB,IAAI,CAACznB;EAAjC,2BA9BV;EAAA,yCAiCoB67B,KAAK,CAAC77B,KAjC1B;EAAA,eAkCgBi/B,KAlChB;EAAA,oBAmCqBliC,KAAK,CAACkoB,QAnC3B;EAAA,cAoCelV,EAAE,CAAC/P,KApClB;EAAA,kBAqCmBo/B,MArCnB;EAAA,mBAsCoBF,OAtCpB;EAAA,oBAuCqBniC,KAAK,CAAC4+B,QAvC3B;EAAA,gBAwCiBt6B,IAxCjB;EAAA,iBAyCkBm9B,SAAS,CAACx+B,KAzC5B;EAAA,qCA0CiBslB,KA1CjB,oBA0CiBA,KAAK,CAAEjqB,IAAP,CAAY2E,KA1C7B,gCA0CsCjD,KAAK,CAAC1B,IA1C5C;EAAA,wBA2CyBgG,IAAI,KAAK,UAAT,GAAsBw6B,KAAK,CAAC77B,KAA5B,GAAoCxD;EA3C7D,SA4CeqD,KA5Cf,wJAiCoBg8B,KAAK,CAAC77B,KAjC1B,qBA+CU+H,KAAK,CAACk3B,KA/ChB,qBA+CU,kBAAAl3B,KAAK,EAAS;EACd8zB,QAAAA,KADc;EAEdtZ,QAAAA,gBAFc;EAGdxlB,QAAAA,KAAK,EAAE;EACLmiC,UAAAA,OADK;EAELE,UAAAA,MAFK;EAGLrvB,UAAAA,EAAE,EAAEA,EAAE,CAAC/P;EAHF;EAHO,OAAT,CA/Cf,yCAwBmBjD,KAAK,CAACqyB,MAAN,IAAgB,CACzB,CAACryB,KAAK,CAACkoB,QAAP,IAAmB,CAACloB,KAAK,CAAC4+B,QADD,EAEzB,IAFyB,EAGzB,CAAC,QAAD,EAAW,QAAX,CAHyB,CAxBnC;EAAA,oBA4DiB5+B,KAAK,CAACkoB,QA5DvB;EAAA,iBA6DcloB,KAAK,CAACtC,KA7DpB;EAAA,eA8DYsV,EAAE,CAAC/P;EA9Df;EAAA,wBAgEQ+wB,KAhER;EAAA;EAAA;EAoED,KA7EQ,CAAT;EA+EA,WAAO;EACL2M,MAAAA,SADK;EAELuB,MAAAA;EAFK,KAAP;EAID;;EA/HE,CAT4C,CAA1C;EA6IA,SAASI,kBAAT,CAA6BtiC,KAA7B,EAAoG;EACzG,SAAOoC,IAAI,CAACpC,KAAD,EAAQD,MAAM,CAACE,IAAP,CAAY+hC,iBAAiB,CAAChiC,KAA9B,CAAR,CAAX;EACD;;ECtRM,MAAMuiC,SAAS,GAAG74B,mBAAe,CAAC;EACvCpL,EAAAA,IAAI,EAAE,WADiC;EAGvCusB,EAAAA,YAAY,EAAE,KAHyB;EAKvC7qB,EAAAA,KAAK,EAAE;EACLwiC,IAAAA,aAAa,EAAEpuB,OADV;EAELquB,IAAAA,iBAAiB,EAAE;EACjBn+B,MAAAA,IAAI,EAAEzD,MADW;EAEjBkK,MAAAA,OAAO,EAAE;EAFQ,KAFd;EAOL,OAAGq1B,eAAe,EAPb;EAQL,OAAGoB,yBAAyB,EARvB;EAULF,IAAAA,SAAS,EAAE;EACTh9B,MAAAA,IAAI,EAAEzD,MADG;EAETkK,MAAAA,OAAO,EAAE;EAFA,KAVN;EAcLw2B,IAAAA,QAAQ,EAAE;EACRj9B,MAAAA,IAAI,EAAEzD,MADE;EAERkK,MAAAA,OAAO,EAAE;EAFD;EAdL,GALgC;EAyBvCuW,EAAAA,KAAK,EAAE;EACL,4BAAyB/b,GAAD,IAAkB;EADrC,GAzBgC;;EA6BvCqE,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAMw3B,aAAa,GAAG3c,eAAe,CAAC7lB,KAAD,EAAQ,eAAR,CAArC;EACA,UAAMshC,SAAS,GAAGz4B,YAAQ,CAAC,MAAM;EAC/B,aAAO25B,aAAa,CAACv/B,KAAd,GACHjD,KAAK,CAACyiC,iBADH,GAEHziC,KAAK,CAACshC,SAFV;EAGD,KAJyB,CAA1B;EAKA,UAAMC,QAAQ,GAAG14B,YAAQ,CAAC,MAAM;EAC9B,aAAO25B,aAAa,CAACv/B,KAAd,GACHjD,KAAK,CAACyiC,iBADH,GAEHziC,KAAK,CAACuhC,QAFV;EAGD,KAJwB,CAAzB;;EAMA,aAASmB,QAAT,GAAqB;EACnB,UAAIF,aAAa,CAACv/B,KAAlB,EAAyB;EACvBu/B,QAAAA,aAAa,CAACv/B,KAAd,GAAsB,KAAtB;EACD;EACF;;EAED4K,IAAAA,SAAS,CAAC,MAAM;EACd,YAAM,CAAC80B,UAAD,EAAaC,YAAb,IAA6B//B,gBAAgB,CAACC,KAAD,CAAnD;EACA,YAAM,CAAC+/B,UAAD,EAAaC,EAAb,IAAmB5B,gBAAgB,CAAClhC,KAAD,CAAzC;EACA,YAAM,CAAC+iC,YAAD,EAAeC,EAAf,IAAqBV,kBAAkB,CAACtiC,KAAD,CAA7C;EAEA;EAAA,iBAEU;EAFV,SAGS2iC,UAHT,EAISE,UAJT,KAOM,GAAG73B,KAPT;EAQMD,QAAAA,OAAO,EAAE;EAAA,cAAC;EACRgG,YAAAA,UADQ;EAERguB,YAAAA;EAFQ,WAAD;EAAA,mEAKAgE,YALA;EAAA,oBAMA,UANA;EAAA,mCAOiBL,QAPjB;EAAA,yBAQOpB,SAAS,CAACr+B,KARjB;EAAA,wBASMs+B,QAAQ,CAACt+B,KATf;EAAA,4BAUUu/B,aAAa,CAACv/B,KAAd,GAAsB,OAAtB,GAAgCxD,SAV1C;EAAA,wBAWMsR,UAAU,CAAC9N,KAXjB;EAAA,wBAYM87B,UAAU,CAAC97B;EAZjB,aAaA2/B,YAbA;EAAA,SARf;EAAA;EAAA;EA2BD,KAhCQ,CAAT;EAkCA,WAAO,EAAP;EACD;;EAnFsC,CAAD,CAAjC;;ECWA,MAAMK,KAAK,GAAGv5B,eAAe,CAAC;EACnCpL,EAAAA,IAAI,EAAE,OAD6B;EAGnCoiB,EAAAA,UAAU,EAAE;EAAEsR,IAAAA;EAAF,GAHuB;EAKnChyB,EAAAA,KAAK,EAAE;EACLw4B,IAAAA,WAAW,EAAE33B,MADR;EAEL24B,IAAAA,YAAY,EAAE34B,MAFT;EAGLqxB,IAAAA,UAAU,EAAErxB,MAHP;EAILmyB,IAAAA,QAAQ,EAAE5e,OAJL;EAKL6e,IAAAA,SAAS,EAAE;EACT3uB,MAAAA,IAAI,EAAEzD,MADG;EAETkK,MAAAA,OAAO,EAAE;EAFA,KALN;EASLmoB,IAAAA,UAAU,EAAE;EACV5uB,MAAAA,IAAI,EAAEzD,MADI;EAEVkK,MAAAA,OAAO,EAAE;EAFC,KATP;EAaLmd,IAAAA,QAAQ,EAAE9T,OAbL;EAcL8uB,IAAAA,SAAS,EAAE9uB,OAdN;EAeLlP,IAAAA,MAAM,EAAEkP,OAfH;EAgBL+uB,IAAAA,UAAU,EAAE;EACV7+B,MAAAA,IAAI,EAAEzD,MADI;EAEVkK,MAAAA,OAAO,EAAE;EAFC,KAhBP;EAoBLipB,IAAAA,KAAK,EAAE5f,OApBF;EAqBL8Y,IAAAA,IAAI,EAAE9Y,OArBD;EAsBLgvB,IAAAA,IAAI,EAAEhvB,OAtBD;EAuBLslB,IAAAA,aAAa,EAAE74B,MAvBV;EAwBLoxB,IAAAA,WAAW,EAAEpxB,MAxBR;EAyBLwxB,IAAAA,MAAM,EAAE;EACN/tB,MAAAA,IAAI,EAAE8P,OADA;EAENrJ,MAAAA,OAAO,EAAE;EAFH,KAzBH;EA6BLkE,IAAAA,IAAI,EAAEpO,MA7BD;EA8BL0lB,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAE8P,OADI;EAEVrJ,MAAAA,OAAO,EAAE;EAFC,KA9BP;EAmCL,OAAG8Y,eAAe,EAnCb;EAoCL,OAAGM,gBAAgB,EApCd;EAqCL,OAAGI,kBAAkB,EArChB;EAsCL,OAAGI,gBAAgB,EAtCd;EAuCL,OAAGyI,eAAe,EAvCb;EAwCL,OAAGhD,aAAa,EAxCX;EAyCL,OAAGrF,YAAY,CAAC;EAAEna,MAAAA,GAAG,EAAE;EAAP,KAAD,CAzCV;EA0CL,OAAGkF,cAAc,EA1CZ;EA2CL,OAAGwX,gBAAgB,CAAC;EAAEE,MAAAA,OAAO,EAAE;EAAX,KAAD;EA3Cd,GAL4B;EAmDnClG,EAAAA,KAAK,EAAE;EACL,mBAAgBwM,CAAD,IAAc,IADxB;EAEL,qBAAkB7qB,KAAD,IAAoB,IAFhC;EAGL,yBAAsBA,KAAD,IAAoB;EAHpC,GAnD4B;;EAyDnC2G,EAAAA,KAAK,CAAE5J,KAAF,QAAiC;EAAA,QAAxB;EAAE8C,MAAAA,KAAF;EAASye,MAAAA,IAAT;EAAevW,MAAAA;EAAf,KAAwB;EACpC,UAAM8b,QAAQ,GAAGjB,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAAhC;EAEA,UAAM;EAAE4T,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEgkB,MAAAA;EAAF,QAAoBD,SAAS,CAAC/jB,KAAD,CAAnC;EACA,UAAM;EAAEmlB,MAAAA,YAAF;EAAgBC,MAAAA,WAAhB;EAA6BsC,MAAAA;EAA7B,QAAgDD,UAAU,CAACznB,KAAD,CAAhE;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EACA,UAAM;EAAEsqB,MAAAA;EAAF,QAAkBD,OAAO,CAACrqB,KAAD,CAA/B;EACA,UAAM;EAAEskB,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,UAAMktB,IAAI,GAAGP,OAAO,CAAC3sB,KAAD,EAAQ8C,KAAR,CAApB;;EAEA,aAASywB,YAAT,CAAuBzF,CAAvB,EAAiC;EAC/BhH,MAAAA,QAAQ,CAAC7jB,KAAT,GAAiB,KAAjB;EAEAse,MAAAA,IAAI,CAAC,aAAD,EAAgBuM,CAAhB,CAAJ;EACD;;EAED,WAAO,MAAM;EAAA;;EACX,YAAMyE,GAAG,GAAIrF,IAAI,CAACJ,MAAL,CAAY7pB,KAAb,GAAsB,GAAtB,GAA4BjD,KAAK,CAAC4K,GAA9C;EACA,YAAMovB,SAAS,GAAG,CAAC,EAAEhvB,KAAK,CAACkc,MAAN,IAAgBlnB,KAAK,CAACkyB,UAAtB,IAAoClyB,KAAK,CAACw5B,YAA5C,CAAnB;EACA,YAAM/F,QAAQ,GAAG,CAAC,EAAEzoB,KAAK,CAACiN,KAAN,IAAejY,KAAK,CAACgzB,QAAvB,CAAlB;EACA,YAAMU,UAAU,GAAG,CAAC,EAAE1oB,KAAK,CAACic,OAAN,IAAiBjnB,KAAK,CAACiyB,WAAvB,IAAsCjyB,KAAK,CAAC05B,aAA9C,CAApB;EACA,YAAMrS,WAAW,GAAG,CAACrnB,KAAK,CAACkoB,QAAP,KAAoBgF,IAAI,CAAC7F,WAAL,CAAiBpkB,KAAjB,IAA0BjD,KAAK,CAACktB,IAApD,CAApB;EAEA,aAAOpG,QAAQ,CAAC7jB,KAAT;EAAA,iBAEI,CACL,QADK,EAEL;EACE,8BAAoBjD,KAAK,CAACkoB,QAD5B;EAEE,2BAAiBloB,KAAK,CAACg0B,KAFzB;EAGE,0BAAgB3M,WAHlB;EAIE,0BAAgBrnB,KAAK,CAACojC;EAJxB,SAFK,EAQLxvB,YAAY,CAAC3Q,KARR,EASL+gB,aAAa,CAAC/gB,KATT,EAULkiB,YAAY,CAACliB,KAVR,EAWLqhB,cAAc,CAACrhB,KAXV,EAYLyhB,gBAAgB,CAACzhB,KAZZ,EAaL6hB,cAAc,CAAC7hB,KAbV,EAcLqnB,WAAW,CAACrnB,KAdP,EAeLykB,cAAc,CAACzkB,KAfV,CAFJ;EAAA,iBAmBK,CAACmiB,WAAW,CAACniB,KAAb,CAnBL;EAAA,oBAoBQjD,KAAK,CAACkoB,QAAN,IAAkBzoB,SApB1B;EAAA,qBAqBSO,KAAK,CAACkjC,SArBf;EAAA,gBAsBIhW,IAAI,CAACH,IAAL,CAAU9pB,KAtBd;EAAA,mBAwBOokB,WAAW,IAAI6F,IAAI,CAACuF;EAxB3B;EAAA,wBA0BDrL,WAAW,CAACC,WAAD,EAAc,QAAd,CA1BV,EA4BDqM,UAAU;EAAA,mBACC;EADD,YAEN1oB,KAAK,CAACic,OAAN,GACEjc,KAAK,CAACic,OAAN,EADF;EAAA,kBAIWjnB,KAAK,CAACiyB,WAJjB;EAAA,mBAKYjyB,KAAK,CAAC05B,aALlB;EAAA,kBAMW15B,KAAK,CAACsF;EANjB,8CAFM,EA5BT,uCA2CD0F,KAAK,CAACD,OA3CL,qBA2CD,qBAAAC,KAAK,CA3CJ,6BA2CoBhL,KAAK,CAACiP,IA3C1B,EA6CD+qB,SAAS;EAAA,mBACE;EADF,YAELhvB,KAAK,CAACkc,MAAN,GACElc,KAAK,CAACkc,MAAN,EADF;EAAA,kBAIWlnB,KAAK,CAACkyB,UAJjB;EAAA,mBAKYlyB,KAAK,CAACw5B,YALlB;EAAA,kBAMWx5B,KAAK,CAACsF;EANjB,8CAFK,EA7CR,EA4DDmuB,QAAQ;EAAA,mBAEA,eAFA;EAAA,qBAGIF;EAHJ,YAKJvoB,KAAK,CAACiN,KAAN,GACEjN,KAAK,CAACiN,KAAN,CAAY;EAAEjY,UAAAA,KAAK,EAAE;EAAEgtB,YAAAA,OAAO,EAAEuG;EAAX;EAAT,SAAZ,CADF;EAAA,kBAIWvzB,KAAK,CAACizB,SAJjB;EAAA,kBAKS;EALT,6BALI,kBA5DP;EAAA;EAAA,+GAuBS5L,WAAW,IAAIrnB,KAAK,CAACqyB,MAvB9B,EAuBsC,IAvBtC,GAAP;EA8ED,KArFD;EAsFD;;EAjKkC,CAAD,CAA7B;;ECrBA,MAAMgR,KAAK,GAAG34B,sBAAsB,CAAC,QAAD,CAApC;;ECMA,MAAM44B,QAAQ,GAAG55B,mBAAe,CAAC;EACtCpL,EAAAA,IAAI,EAAE,UADgC;EAGtCilC,EAAAA,UAAU,EAAE,IAH0B;EAKtCvjC,EAAAA,KAAK,EAAE;EACL6U,IAAAA,MAAM,EAAET,OADH;EAELjR,IAAAA,GAAG,EAAE,CAACpC,MAAD,EAASF,MAAT,CAFA;EAGLoC,IAAAA,KAAK,EAAE;EACLqB,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADD;EAELkK,MAAAA,OAAO,EAAE;EAFJ,KAHF;EAQL,OAAGoV,mBAAmB,CAAC;EACrBlJ,MAAAA,UAAU,EAAE;EAAE9R,QAAAA,SAAS,EAAE84B;EAAb;EADS,KAAD;EARjB,GAL+B;;EAkBtCr0B,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAMmP,OAAO,GAAGtR,YAAQ,CAAC,MAAM;EAC7B,aAAO7I,KAAK,CAACmD,GAAN,GAAa,GAAEnD,KAAK,CAACiD,KAAM,MAAKjD,KAAK,CAACmD,GAAI,EAA1C,GAA8CtC,MAAM,CAACb,KAAK,CAACiD,KAAP,CAA3D;EACD,KAFuB,CAAxB;EAIA,WAAO,MAAM;EACX;EAAA,sBACgCjD,KAAK,CAACiX;EADtC;EAAA;EAAA,mBAIY;EAJZ,YAMQjM,KAAK,CAACD,OAAN,GACEC,KAAK,CAACD,OAAN,CAAc;EACdoP,UAAAA,OAAO,EAAEA,OAAO,CAAClX,KADH;EAEdE,UAAAA,GAAG,EAAEnD,KAAK,CAACmD,GAFG;EAGdF,UAAAA,KAAK,EAAEjD,KAAK,CAACiD;EAHC,SAAd,CADF,GAMEkX,OAAO,CAAClX,KAZlB,sBAGejD,KAAK,CAAC6U,MAHrB;EAAA;EAiBD,KAlBD;EAmBD;;EA1CqC,CAAD,CAAhC;;ECVP;;EAUO,MAAM2uB,iBAAiB,GAAG95B,mBAAe,CAAC;EAC/CpL,EAAAA,IAAI,EAAE,mBADyC;EAG/C0B,EAAAA,KAAK,EAAE;EACLsI,IAAAA,QAAQ,EAAEvI,MADL;EAELiJ,IAAAA,KAAK,EAAE,CAACjI,MAAD,EAASF,MAAT,CAFF;EAGLoI,IAAAA,IAAI,EAAEmL,OAHD;EAILtL,IAAAA,MAAM,EAAEsL;EAJH,GAHwC;;EAU/CxK,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE1C,MAAAA,QAAF;EAAYU,MAAAA,KAAZ;EAAmBC,MAAAA,IAAnB;EAAyBH,MAAAA;EAAzB,QAAoC4uB,UAAM,CAAC13B,KAAD,CAAhD;EAEAyI,IAAAA,eAAe,CAACH,QAAD,EAAW;EACxBU,MAAAA,KADwB;EAExBC,MAAAA,IAFwB;EAGxBH,MAAAA;EAHwB,KAAX,CAAf;EAMA,WAAO;EAAA;;EAAA,+BAAMkC,KAAK,CAACD,OAAZ,qBAAM,oBAAAC,KAAK,CAAX;EAAA,KAAP;EACD;;EApB8C,CAAD,CAAzC;;ECVP;;EASA;EACO,MAAMy4B,cAAc,GAAGh2B,YAAY,CAAC;EACzCi2B,EAAAA,UAAU,EAAE,CAAC3iC,MAAD,EAASF,MAAT,CAD6B;EAEzC8iC,EAAAA,SAAS,EAAE,CAAC5iC,MAAD,EAASF,MAAT;EAF8B,CAAD,EAGvC,OAHuC,CAAnC;EAKA,SAAS+iC,QAAT,CAAmB5jC,KAAnB,EAAsCstB,EAAtC,EAAqE;EAC1E,QAAMuW,MAAiD,GAAG,EAA1D;;EACA,QAAMC,eAAe,GAAIt6B,IAAD,IAA4B,MAAwB;EAC1E;EACA,QAAI,CAACmD,UAAL,EAAiB,OAAOqvB,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAP;EAEjB,UAAMpnB,MAAM,GAAGrL,IAAI,KAAK,WAAxB;EAEAq6B,IAAAA,MAAM,CAACH,UAAP,IAAqBr3B,MAAM,CAAC8kB,YAAP,CAAoB0S,MAAM,CAACH,UAA3B,CAArB;EACA,WAAOG,MAAM,CAACH,UAAd;EAEAG,IAAAA,MAAM,CAACF,SAAP,IAAoBt3B,MAAM,CAAC8kB,YAAP,CAAoB0S,MAAM,CAACF,SAA3B,CAApB;EACA,WAAOE,MAAM,CAACF,SAAd;EAEA,WAAO,IAAI3H,OAAJ,CAAYC,OAAO,IAAI;EAAA;;EAC5B,YAAM1L,KAAK,GAAGnpB,QAAQ,gBAACpH,KAAK,CAACwJ,IAAD,CAAN,0BAAgB,CAAhB,EAAmB,EAAnB,CAAtB;EAEAq6B,MAAAA,MAAM,CAACr6B,IAAD,CAAN,GAAe6C,MAAM,CAACwW,UAAP,CAAkB,MAAM;EACrCyK,QAAAA,EAAE,QAAF,YAAAA,EAAE,CAAGzY,MAAH,CAAF;EACAonB,QAAAA,OAAO,CAACpnB,MAAD,CAAP;EACD,OAHc,EAGZ0b,KAHY,CAAf;EAID,KAPM,CAAP;EAQD,GApBD;;EAsBA,SAAO;EACLwT,IAAAA,aAAa,EAAED,eAAe,CAAC,YAAD,CADzB;EAELE,IAAAA,YAAY,EAAEF,eAAe,CAAC,WAAD;EAFxB,GAAP;EAID;;EC3CD;;EA8BO,MAAMG,kBAAkB,GAAGx2B,YAAY,CAAC;EAC7Cy2B,EAAAA,SAAS,EAAE,CAACrjC,MAAD,EAASd,MAAT,CADkC;EAE7CokC,EAAAA,cAAc,EAAE;EACd7/B,IAAAA,IAAI,EAAEvE,MADQ;EAEdgL,IAAAA,OAAO,EAAE,OAAO,EAAP;EAFK,GAF6B;EAO7Cq5B,EAAAA,WAAW,EAAE;EACX9/B,IAAAA,IAAI,EAAE8P,OADK;EAEXrJ,IAAAA,OAAO,EAAEtL;EAFE,GAPgC;EAW7C4kC,EAAAA,WAAW,EAAEjwB,OAXgC;EAY7CkwB,EAAAA,WAAW,EAAE;EACXhgC,IAAAA,IAAI,EAAE8P,OADK;EAEXrJ,IAAAA,OAAO,EAAEtL;EAFE,GAZgC;EAiB7C,KAAGgkC,cAAc;EAjB4B,CAAD,CAAvC;EAoBA,SAASc,YAAT,CACLvkC,KADK,EAEL8mB,QAFK,EAGL;EACA,QAAM0d,WAAW,GAAG1/B,OAAG,EAAvB;EAEA,MAAI2/B,SAAS,GAAG,KAAhB;EACA,MAAI9D,SAAS,GAAG,KAAhB;EAEA,QAAM2D,WAAW,GAAGz7B,YAAQ,CAAC,MAAM7I,KAAK,CAACskC,WAAN,IAAsBtkC,KAAK,CAACskC,WAAN,IAAqB,IAArB,IAA6BtkC,KAAK,CAACqkC,WAAhE,CAA5B;EACA,QAAMD,WAAW,GAAGv7B,YAAQ,CAAC,MAAM7I,KAAK,CAACokC,WAAN,IAAsBpkC,KAAK,CAACokC,WAAN,IAAqB,IAArB,IAA6B,CAACpkC,KAAK,CAACqkC,WAApC,IAAmD,CAACC,WAAW,CAACrhC,KAA7F,CAA5B;EAEA,QAAM;EAAE+gC,IAAAA,YAAF;EAAgBD,IAAAA;EAAhB,MAAkCH,QAAQ,CAAC5jC,KAAD,EAAQiD,KAAK,IAAI;EAC/D,QAAIA,KAAK,MACNjD,KAAK,CAACqkC,WAAN,IAAqBI,SAAtB,IACCH,WAAW,CAACrhC,KAAZ,IAAqB09B,SAFf,CAAT,EAGG;EACD7Z,MAAAA,QAAQ,CAAC7jB,KAAT,GAAiBA,KAAjB;EACD;EACF,GAP+C,CAAhD;EASA,QAAMyhC,eAAe,GAAG;EACtBC,IAAAA,KAAK,EAAG7W,CAAD,IAAmB;EACxBA,MAAAA,CAAC,CAAC8W,eAAF;EACAJ,MAAAA,WAAW,CAACvhC,KAAZ,GAAqB6qB,CAAC,CAAC8C,aAAF,IAAmB9C,CAAC,CAACjqB,MAA1C;EACAijB,MAAAA,QAAQ,CAAC7jB,KAAT,GAAiB,CAAC6jB,QAAQ,CAAC7jB,KAA3B;EACD,KALqB;EAMtB4hC,IAAAA,UAAU,EAAG/W,CAAD,IAAmB;EAC7B2W,MAAAA,SAAS,GAAG,IAAZ;EACAD,MAAAA,WAAW,CAACvhC,KAAZ,GAAqB6qB,CAAC,CAAC8C,aAAF,IAAmB9C,CAAC,CAACjqB,MAA1C;EACAmgC,MAAAA,YAAY;EACb,KAVqB;EAWtBc,IAAAA,UAAU,EAAGhX,CAAD,IAAmB;EAC7B2W,MAAAA,SAAS,GAAG,KAAZ;EACAV,MAAAA,aAAa;EACd,KAdqB;EAetBgB,IAAAA,KAAK,EAAGjX,CAAD,IAAmB;EACxB,UACE3gB,sBAAsB,IACtB,CAAE2gB,CAAC,CAACjqB,MAAH,CAA0Bu+B,OAA1B,CAAkC,gBAAlC,CAFH,EAGE;EAEFzB,MAAAA,SAAS,GAAG,IAAZ;EACA7S,MAAAA,CAAC,CAAC8W,eAAF;EACAJ,MAAAA,WAAW,CAACvhC,KAAZ,GAAqB6qB,CAAC,CAAC8C,aAAF,IAAmB9C,CAAC,CAACjqB,MAA1C;EAEAmgC,MAAAA,YAAY;EACb,KA1BqB;EA2BtBgB,IAAAA,IAAI,EAAGlX,CAAD,IAAmB;EACvB6S,MAAAA,SAAS,GAAG,KAAZ;EACA7S,MAAAA,CAAC,CAAC8W,eAAF;EAEAb,MAAAA,aAAa;EACd;EAhCqB,GAAxB;EAmCA,QAAMkB,eAAe,GAAGp8B,YAAQ,CAAC,MAAM;EACrC,UAAMq8B,MAAuC,GAAG,EAAhD;;EAEA,QAAId,WAAW,CAACnhC,KAAhB,EAAuB;EACrBiiC,MAAAA,MAAM,CAACP,KAAP,GAAeD,eAAe,CAACC,KAA/B;EACD;;EACD,QAAI3kC,KAAK,CAACqkC,WAAV,EAAuB;EACrBa,MAAAA,MAAM,CAACL,UAAP,GAAoBH,eAAe,CAACG,UAApC;EACAK,MAAAA,MAAM,CAACJ,UAAP,GAAoBJ,eAAe,CAACI,UAApC;EACD;;EACD,QAAIR,WAAW,CAACrhC,KAAhB,EAAuB;EACrBiiC,MAAAA,MAAM,CAACH,KAAP,GAAeL,eAAe,CAACK,KAA/B;EACAG,MAAAA,MAAM,CAACF,IAAP,GAAcN,eAAe,CAACM,IAA9B;EACD;;EAED,WAAOE,MAAP;EACD,GAhB+B,CAAhC;EAkBA,MAAIC,KAAJ;EACAjyB,EAAAA,SAAK,CAAC,MAAM,CAAC,CAAClT,KAAK,CAACkkC,SAAf,EAA0B3+B,GAAG,IAAI;EACpC,QAAIA,GAAG,IAAIoH,UAAX,EAAuB;EACrBw4B,MAAAA,KAAK,GAAGC,eAAW,EAAnB;EACAD,MAAAA,KAAK,CAACE,GAAN,CAAU,MAAM;EACdC,QAAAA,aAAa,CAACtlC,KAAD,EAAQ;EAAEwkC,UAAAA,WAAF;EAAeS,UAAAA;EAAf,SAAR,CAAb;EACD,OAFD;EAGD,KALD,MAKO,IAAIE,KAAJ,EAAW;EAChBA,MAAAA,KAAK,CAACxhB,IAAN;EACD;EACF,GATI,EASF;EAAE4hB,IAAAA,KAAK,EAAE,MAAT;EAAiBlyB,IAAAA,SAAS,EAAE;EAA5B,GATE,CAAL;EAWA,SAAO;EAAEmxB,IAAAA,WAAF;EAAeS,IAAAA;EAAf,GAAP;EACD;;EAED,SAASK,aAAT,CAAwBtlC,KAAxB,QAAkH;EAAA,MAAnE;EAAEwkC,IAAAA,WAAF;EAAeS,IAAAA;EAAf,GAAmE;EAChH/xB,EAAAA,SAAK,CAAC,MAAMlT,KAAK,CAACkkC,SAAb,EAAwB,CAAC3+B,GAAD,EAAMigC,MAAN,KAAiB;EAC5C,QAAIA,MAAM,IAAIjgC,GAAG,KAAKigC,MAAtB,EAA8B;EAC5B,YAAMtB,SAAS,GAAGuB,YAAY,CAACD,MAAD,CAA9B;EACAtB,MAAAA,SAAS,IAAIwB,oBAAoB,CAACxB,SAAD,CAAjC;EACD;;EACD,QAAI3+B,GAAJ,EAAS;EACPyc,MAAAA,YAAQ,CAAC,MAAM2jB,kBAAkB,EAAzB,CAAR;EACD;EACF,GARI,EAQF;EAAEtyB,IAAAA,SAAS,EAAE;EAAb,GARE,CAAL;EAUAH,EAAAA,SAAK,CAAC,MAAMlT,KAAK,CAACmkC,cAAb,EAA6B,MAAM;EACtCwB,IAAAA,kBAAkB;EACnB,GAFI,CAAL;EAIAC,EAAAA,kBAAc,CAAC,MAAM;EACnBF,IAAAA,oBAAoB;EACrB,GAFa,CAAd;;EAIA,WAASC,kBAAT,GAAiF;EAAA,QAApDxqC,EAAoD,uEAA/CsqC,YAAY,EAAmC;;EAAA,QAA/B17B,MAA+B,uEAAtB/J,KAAK,CAACmkC,cAAgB;;EAC/E,QAAI,CAAChpC,EAAL,EAAS;EAET4E,IAAAA,MAAM,CAACiR,OAAP,CAAei0B,eAAe,CAAChiC,KAA/B,EAAsCq8B,OAAtC,CAA8C,SAAgB;EAAA,UAAf,CAAChhC,IAAD,EAAOgvB,EAAP,CAAe;EAC5DnyB,MAAAA,EAAE,CAACuyB,gBAAH,CAAoBpvB,IAApB,EAA0BgvB,EAA1B;EACD,KAFD;EAIAvtB,IAAAA,MAAM,CAACE,IAAP,CAAY8J,MAAZ,EAAoBu1B,OAApB,CAA4B7+B,CAAC,IAAI;EAC/B,UAAIsJ,MAAM,CAACtJ,CAAD,CAAN,IAAa,IAAjB,EAAuB;EACrBtF,QAAAA,EAAE,CAAC0qC,eAAH,CAAmBplC,CAAnB;EACD,OAFD,MAEO;EACLtF,QAAAA,EAAE,CAAC2qC,YAAH,CAAgBrlC,CAAhB,EAAmBsJ,MAAM,CAACtJ,CAAD,CAAzB;EACD;EACF,KAND;EAOD;;EAED,WAASilC,oBAAT,GAAmF;EAAA,QAApDvqC,EAAoD,uEAA/CsqC,YAAY,EAAmC;;EAAA,QAA/B17B,MAA+B,uEAAtB/J,KAAK,CAACmkC,cAAgB;;EACjF,QAAI,CAAChpC,EAAL,EAAS;EAET4E,IAAAA,MAAM,CAACiR,OAAP,CAAei0B,eAAe,CAAChiC,KAA/B,EAAsCq8B,OAAtC,CAA8C,SAAgB;EAAA,UAAf,CAAChhC,IAAD,EAAOgvB,EAAP,CAAe;EAC5DnyB,MAAAA,EAAE,CAAC0yB,mBAAH,CAAuBvvB,IAAvB,EAA6BgvB,EAA7B;EACD,KAFD;EAIAvtB,IAAAA,MAAM,CAACE,IAAP,CAAY8J,MAAZ,EAAoBu1B,OAApB,CAA4B7+B,CAAC,IAAI;EAC/BtF,MAAAA,EAAE,CAAC0qC,eAAH,CAAmBplC,CAAnB;EACD,KAFD;EAGD;;EAED,QAAM7D,EAAE,GAAGkN,kBAAkB,CAAC,cAAD,CAA7B;;EACA,WAAS27B,YAAT,GAA4E;EAAA;;EAAA,QAArD7yB,QAAqD,uEAA1C5S,KAAK,CAACkkC,SAAoC;EAC1E,QAAIA,SAAJ;;EACA,QAAItxB,QAAJ,EAAc;EACZ,UAAIA,QAAQ,KAAK,QAAjB,EAA2B;EAAA;;EACzBsxB,QAAAA,SAAS,GAAGtnC,EAAH,iCAAGA,EAAE,CAAE6vB,KAAP,sCAAG,UAAWsZ,GAAd,qBAAG,cAAgB36B,UAA5B;EACD,OAFD,MAEO,IAAI,OAAOwH,QAAP,KAAoB,QAAxB,EAAkC;EACvC;EACAsxB,QAAAA,SAAS,GAAG74B,QAAQ,CAAC26B,aAAT,CAAuBpzB,QAAvB,CAAZ;EACD,OAHM,MAGA,IAAI,SAASA,QAAb,EAAuB;EAC5B;EACAsxB,QAAAA,SAAS,GAAGtxB,QAAQ,CAACmzB,GAArB;EACD,OAHM,MAGA;EACL;EACA7B,QAAAA,SAAS,GAAGtxB,QAAZ;EACD;EACF,KAfyE;;;EAkB1E4xB,IAAAA,WAAW,CAACvhC,KAAZ,GAAoB,eAAAihC,SAAS,SAAT,uBAAWh4B,QAAX,MAAwBC,IAAI,CAACC,YAA7B,GAA4C83B,SAA5C,GAAwD,IAA5E;EAEA,WAAOM,WAAW,CAACvhC,KAAnB;EACD;EACF;;ECjMD;EACO,SAASgjC,WAAT,CAAsBC,MAAtB,EAAsC;EAC3C,MAAI,CAACC,IAAD,EAAOC,KAAP,IAAgBF,MAAM,CAACjqC,KAAP,CAAa,GAAb,CAApB;;EACA,MAAI,CAACmqC,KAAL,EAAY;EACVA,IAAAA,KAAK,GACHD,IAAI,KAAK,KAAT,IAAkBA,IAAI,KAAK,QAA3B,GAAsC,OAAtC,GACEA,IAAI,KAAK,OAAT,IAAoBA,IAAI,KAAK,KAA7B,GAAqC,KAArC,GACA,QAHJ;EAID;;EACD,SAAO;EACLA,IAAAA,IADK;EAELC,IAAAA;EAFK,GAAP;EAID;EAED;;EACO,SAASC,cAAT,CAAyBH,MAAzB,EAA+C;EACpD,SAAO;EACLC,IAAAA,IAAI,EAAE;EACJlX,MAAAA,MAAM,EAAE,QADJ;EAEJn0B,MAAAA,GAAG,EAAE,QAFD;EAGJC,MAAAA,MAAM,EAAE,KAHJ;EAIJuF,MAAAA,KAAK,EAAE,KAJH;EAKJoB,MAAAA,GAAG,EAAE;EALD,MAMJwkC,MAAM,CAACC,IANH,CADD;EAQLC,IAAAA,KAAK,EAAEF,MAAM,CAACE;EART,GAAP;EAUD;EAED;;EACO,SAASE,cAAT,CAAyBJ,MAAzB,EAA+C/qC,EAA/C,EAAgE;EAAA;;EACrE,QAAM;EAAEgrC,IAAAA,IAAF;EAAQC,IAAAA;EAAR,MAAkBF,MAAxB;EACA,QAAM;EAAE1F,IAAAA;EAAF,MAAgBn0B,MAAM,CAAC9Q,gBAAP,CAAwBJ,EAAxB,CAAtB;EAEA,QAAM4D,GAAuC,GAAGyhC,SAAS,KAAK,KAAd,GAAsB;EACpElgC,IAAAA,KAAK,EAAE,MAD6D;EAEpEoB,IAAAA,GAAG,EAAE;EAF+D,GAAtB,GAG5C;EACFpB,IAAAA,KAAK,EAAE,OADL;EAEFoB,IAAAA,GAAG,EAAE;EAFH,GAHJ;EAQA,SAAO,cAAC3C,GAAG,CAAConC,IAAD,CAAJ,wBAAcA,IAAd,IAAsB,GAAtB,kBAA6BpnC,GAAG,CAACqnC,KAAD,CAAhC,yBAA2CA,KAA3C,CAAP;EACD;;EChDD;EACO,SAASG,iBAAT,CAA4BC,KAA5B,EAAiD5c,MAAjD,EAAuE;EAC5E,SAAO;EACLlvB,IAAAA,CAAC,EAAE8rC,KAAK,CAAC9rC,CAAN,GAAUkvB,MAAM,CAAClvB,CADf;EAELC,IAAAA,CAAC,EAAE6rC,KAAK,CAAC7rC,CAAN,GAAUivB,MAAM,CAACjvB;EAFf,GAAP;EAID;EAUD;;EACO,SAAS8rC,WAAT,CAAqC9mC,CAArC,EAA2CC,CAA3C,EAAiD;EACtD,SAAO;EACLlF,IAAAA,CAAC,EAAEiF,CAAC,CAACjF,CAAF,GAAMkF,CAAC,CAAClF,CADN;EAELC,IAAAA,CAAC,EAAEgF,CAAC,CAAChF,CAAF,GAAMiF,CAAC,CAACjF;EAFN,GAAP;EAID;EAED;;EACO,SAAS+rC,aAAT,CAAwBR,MAAxB,EAA8CS,GAA9C,EAAuE;EAC5E,MAAIT,MAAM,CAACC,IAAP,KAAgB,KAAhB,IAAyBD,MAAM,CAACC,IAAP,KAAgB,QAA7C,EAAuD;EACrD,UAAM;EAAEA,MAAAA,IAAF;EAAQC,MAAAA;EAAR,QAAkBF,MAAxB;EAEA,UAAMxrC,CAAS,GACb0rC,KAAK,KAAK,OAAV,GAAoB,CAApB,GACEA,KAAK,KAAK,QAAV,GAAqBO,GAAG,CAAC/rC,KAAJ,GAAY,CAAjC,GACAwrC,KAAK,KAAK,KAAV,GAAkBO,GAAG,CAAC/rC,KAAtB,GACAwrC,KAJJ;EAKA,UAAMzrC,CAAS,GACbwrC,IAAI,KAAK,KAAT,GAAiB,CAAjB,GACEA,IAAI,KAAK,QAAT,GAAoBQ,GAAG,CAAC9rC,MAAxB,GACAsrC,IAHJ;EAKA,WAAOI,iBAAiB,CAAC;EAAE7rC,MAAAA,CAAF;EAAKC,MAAAA;EAAL,KAAD,EAA2BgsC,GAA3B,CAAxB;EACD,GAdD,MAcO,IAAIT,MAAM,CAACC,IAAP,KAAgB,OAAhB,IAA2BD,MAAM,CAACC,IAAP,KAAgB,KAA/C,EAAsD;EAC3D,UAAM;EAAEA,MAAAA,IAAF;EAAQC,MAAAA;EAAR,QAAkBF,MAAxB;EAEA,UAAMxrC,CAAS,GACbyrC,IAAI,KAAK,OAAT,GAAmB,CAAnB,GACEA,IAAI,KAAK,KAAT,GAAiBQ,GAAG,CAAC/rC,KAArB,GACAurC,IAHJ;EAIA,UAAMxrC,CAAS,GACbyrC,KAAK,KAAK,KAAV,GAAkB,CAAlB,GACEA,KAAK,KAAK,QAAV,GAAqBO,GAAG,CAAC9rC,MAAJ,GAAa,CAAlC,GACAurC,KAAK,KAAK,QAAV,GAAqBO,GAAG,CAAC9rC,MAAzB,GACAurC,KAJJ;EAMA,WAAOG,iBAAiB,CAAC;EAAE7rC,MAAAA,CAAF;EAAKC,MAAAA;EAAL,KAAD,EAA2BgsC,GAA3B,CAAxB;EACD;;EAED,SAAOJ,iBAAiB,CAAC;EACvB7rC,IAAAA,CAAC,EAAEisC,GAAG,CAAC/rC,KAAJ,GAAY,CADQ;EAEvBD,IAAAA,CAAC,EAAEgsC,GAAG,CAAC9rC,MAAJ,GAAa;EAFO,GAAD,EAGL8rC,GAHK,CAAxB;EAID;;ECvED;EAiBA,MAAMC,kBAAkB,GAAG;EACzBC,EAAAA,MAAM,EAAEC,sBADiB;EACO;EAChCC,EAAAA,SAAS,EAAEC,yBAFc;;EAAA,CAA3B;EAsBO,MAAMC,yBAAyB,GAAGx5B,YAAY,CAAC;EACpDy5B,EAAAA,gBAAgB,EAAE;EAChB5iC,IAAAA,IAAI,EAAE,CAACzD,MAAD,EAAS+gC,QAAT,CADU;EAEhB72B,IAAAA,OAAO,EAAE,QAFO;EAGhBqV,IAAAA,SAAS,EAAG7a,GAAD,IAAc,OAAOA,GAAP,KAAe,UAAf,IAA6BA,GAAG,IAAIqhC;EAH7C,GADkC;EAMpDV,EAAAA,MAAM,EAAE;EACN5hC,IAAAA,IAAI,EAAEzD,MADA;EAENkK,IAAAA,OAAO,EAAE;EAFH,GAN4C;EAUpDqvB,EAAAA,MAAM,EAAE;EACN91B,IAAAA,IAAI,EAAEzD,MADA;EAENkK,IAAAA,OAAO,EAAE;EAFH,GAV4C;EAcpD6e,EAAAA,MAAM,EAAE,CAAC7oB,MAAD,EAASF,MAAT;EAd4C,CAAD,CAA9C;EAiBA,SAASsmC,qBAAT,CACLnnC,KADK,EAELonC,IAFK,EAGL;EACA,QAAMC,aAAa,GAAGviC,OAAG,CAAC,EAAD,CAAzB;EACA,QAAMwiC,cAAc,GAAGxiC,OAAG,EAA1B;EAEA,MAAIqgC,KAAJ;EACAj7B,EAAAA,eAAW,CAAC,YAAY;EAAA;;EACtB,cAAAi7B,KAAK,SAAL,mBAAOxhB,IAAP;EACA2jB,IAAAA,cAAc,CAACrkC,KAAf,GAAuBxD,SAAvB;EAEA,QAAI,EAAEkN,UAAU,IAAIy6B,IAAI,CAACtgB,QAAL,CAAc7jB,KAA5B,IAAqCjD,KAAK,CAACknC,gBAA7C,CAAJ,EAAoE;EAEpE/B,IAAAA,KAAK,GAAGC,eAAW,EAAnB;EACA,UAAMpjB,YAAQ,EAAd;EACAmjB,IAAAA,KAAK,CAACE,GAAN,CAAU,MAAM;EACd,UAAI,OAAOrlC,KAAK,CAACknC,gBAAb,KAAkC,UAAtC,EAAkD;EAAA;;EAChDI,QAAAA,cAAc,CAACrkC,KAAf,4BAAuBjD,KAAK,CAACknC,gBAAN,CAAuBE,IAAvB,EAA6BpnC,KAA7B,EAAoCqnC,aAApC,CAAvB,qBAAuB,sBAAoDC,cAA3E;EACD,OAFD,MAEO;EAAA;;EACLA,QAAAA,cAAc,CAACrkC,KAAf,4BAAuB2jC,kBAAkB,CAAC5mC,KAAK,CAACknC,gBAAP,CAAlB,CAA2CE,IAA3C,EAAiDpnC,KAAjD,EAAwDqnC,aAAxD,CAAvB,qBAAuB,sBAAwEC,cAA/F;EACD;EACF,KAND;EAOD,GAfU,CAAX;EAiBA36B,EAAAA,UAAU,IAAIN,MAAM,CAACqhB,gBAAP,CAAwB,QAAxB,EAAkCqJ,QAAlC,EAA4C;EAAEnF,IAAAA,OAAO,EAAE;EAAX,GAA5C,CAAd;EAEAgU,EAAAA,kBAAc,CAAC,MAAM;EAAA;;EACnBj5B,IAAAA,UAAU,IAAIN,MAAM,CAACwhB,mBAAP,CAA2B,QAA3B,EAAqCkJ,QAArC,CAAd;EACAuQ,IAAAA,cAAc,CAACrkC,KAAf,GAAuBxD,SAAvB;EACA,eAAA0lC,KAAK,SAAL,oBAAOxhB,IAAP;EACD,GAJa,CAAd;;EAMA,WAASoT,QAAT,CAAmBjJ,CAAnB,EAA6B;EAAA;;EAC3B,6BAAAwZ,cAAc,CAACrkC,KAAf,gDAAAqkC,cAAc,EAASxZ,CAAT,CAAd;EACD;;EAED,SAAO;EACLuZ,IAAAA,aADK;EAELC,IAAAA;EAFK,GAAP;EAID;;EAED,SAASR,sBAAT,GAAmC;EAElC;;EAED,SAASE,yBAAT,CAAoCI,IAApC,EAAgEpnC,KAAhE,EAAsFqnC,aAAtF,EAAkI;EAChI,QAAME,cAAc,GAAGj6B,eAAe,CAAC85B,IAAI,CAAC5C,WAAL,CAAiBvhC,KAAlB,CAAtC;;EACA,MAAIskC,cAAJ,EAAoB;EAClBxnC,IAAAA,MAAM,CAACynC,MAAP,CAAcH,aAAa,CAACpkC,KAA5B,EAAmC;EACjCsK,MAAAA,QAAQ,EAAE;EADuB,KAAnC;EAGD;;EAED,QAAMk6B,eAAe,GAAG5+B,YAAQ,CAAC,MAAMo9B,WAAW,CAACjmC,KAAK,CAACkmC,MAAP,CAAlB,CAAhC;EACA,QAAMwB,eAAe,GAAG7+B,YAAQ,CAAC,MAC/B7I,KAAK,CAACo6B,MAAN,KAAiB,SAAjB,GAA6BqN,eAAe,CAACxkC,KAA7C,GACEjD,KAAK,CAACo6B,MAAN,KAAiB,MAAjB,GAA0BiM,cAAc,CAACoB,eAAe,CAACxkC,KAAjB,CAAxC,GACAgjC,WAAW,CAACjmC,KAAK,CAACo6B,MAAP,CAHiB,CAAhC;EAKA,QAAMuN,WAAW,GAAG9+B,YAAQ,CAAC,MAAM;EACjC,WAAO4+B,eAAe,CAACxkC,KAAhB,CAAsBkjC,IAAtB,KAA+BuB,eAAe,CAACzkC,KAAhB,CAAsBkjC,IAA5D;EACD,GAF2B,CAA5B;EAIA,QAAMyB,mBAAmB,GAAG/+B,YAAQ,CAAC,MAAM;EACzC,UAAMtD,GAAG,GAAGnJ,UAAU,CAAC4D,KAAK,CAACme,SAAP,CAAtB;EACA,WAAOvd,KAAK,CAAC2E,GAAD,CAAL,GAAa8D,QAAb,GAAwB9D,GAA/B;EACD,GAHmC,CAApC;EAKA,QAAMsiC,kBAAkB,GAAGh/B,YAAQ,CAAC,MAAM;EACxC,UAAMtD,GAAG,GAAGnJ,UAAU,CAAC4D,KAAK,CAACse,QAAP,CAAtB;EACA,WAAO1d,KAAK,CAAC2E,GAAD,CAAL,GAAa8D,QAAb,GAAwB9D,GAA/B;EACD,GAHkC,CAAnC;EAKA,MAAIya,OAAO,GAAG,KAAd;EACA,QAAMZ,QAAQ,GAAG,IAAI0oB,cAAJ,CAAmB,MAAM;EACxC,QAAI9nB,OAAJ,EAAasnB,cAAc;EAC5B,GAFgB,CAAjB;EAGAloB,EAAAA,QAAQ,CAACY,OAAT,CAAiBonB,IAAI,CAAC5C,WAAL,CAAiBvhC,KAAlC;EACAmc,EAAAA,QAAQ,CAACY,OAAT,CAAiBonB,IAAI,CAACW,SAAL,CAAe9kC,KAAhC;EAEA2iC,EAAAA,kBAAc,CAAC,MAAM;EACnBxmB,IAAAA,QAAQ,CAAC4oB,UAAT;EACD,GAFa,CAAd,CAnCgI;;EAwChI,WAASV,cAAT,GAA2B;EACzBtnB,IAAAA,OAAO,GAAG,KAAV;EACA4D,IAAAA,qBAAqB,CAAC,MAAM;EAC1BA,MAAAA,qBAAqB,CAAC,MAAM5D,OAAO,GAAG,IAAjB,CAArB;EACD,KAFoB,CAArB;EAIA,UAAM0c,SAAS,GAAG0K,IAAI,CAAC5C,WAAL,CAAiBvhC,KAAjB,CAAwB5H,qBAAxB,EAAlB,CANyB;;EAQzB,QAAI2E,KAAK,CAAC4pB,MAAV,EAAkB;EAChB8S,MAAAA,SAAS,CAAChiC,CAAV,IAAe,CAACsF,KAAK,CAAC4pB,MAAtB;EACA8S,MAAAA,SAAS,CAAC/hC,CAAV,IAAe,CAACqF,KAAK,CAAC4pB,MAAtB;EACA8S,MAAAA,SAAS,CAAC9hC,KAAV,IAAmB,CAACoF,KAAK,CAAC4pB,MAAP,GAAgB,CAAnC;EACA8S,MAAAA,SAAS,CAAC7hC,MAAV,IAAoB,CAACmF,KAAK,CAAC4pB,MAAP,GAAgB,CAApC;EACD;;EAED,UAAMqe,YAAY,GAAGr8B,eAAe,CAACw7B,IAAI,CAACW,SAAL,CAAe9kC,KAAhB,CAApC;EACA,UAAMilC,aAAa,GAAGD,YAAY,CAACjZ,WAAnC;EACA,UAAMmZ,cAAc,GAAG/kC,IAAI,CAACF,GAAL,CAAS+kC,YAAY,CAACz7B,YAAtB,EAAoCH,MAAM,CAACupB,WAA3C,CAAvB;EAEA,QAAIwS,UAAJ;EACA;EACE,YAAMC,WAAW,GAAG,IAAIvyB,GAAJ,EAApB;EACAsxB,MAAAA,IAAI,CAACW,SAAL,CAAe9kC,KAAf,CAAsBqlC,gBAAtB,CAAuC,GAAvC,EAA4ChJ,OAA5C,CAAoDnkC,EAAE,IAAI;EACxD,cAAMT,CAAC,GAAGS,EAAE,CAACotC,UAAb;EACA,cAAM5tC,CAAC,GAAGQ,EAAE,CAACqtC,SAAb;;EACA,YAAI9tC,CAAC,IAAIC,CAAT,EAAY;EACV0tC,UAAAA,WAAW,CAAC7xB,GAAZ,CAAgBrb,EAAhB,EAAoB,CAACT,CAAD,EAAIC,CAAJ,CAApB;EACD;EACF,OAND;EAQA,YAAM8tC,eAAe,GAAGrB,IAAI,CAACW,SAAL,CAAe9kC,KAAf,CAAsB3H,KAAtB,CAA4B8iB,QAApD;EACA,YAAMsqB,gBAAgB,GAAGtB,IAAI,CAACW,SAAL,CAAe9kC,KAAf,CAAsB3H,KAAtB,CAA4B6iB,SAArD;EACAipB,MAAAA,IAAI,CAACW,SAAL,CAAe9kC,KAAf,CAAsB3H,KAAtB,CAA4BkhC,cAA5B,CAA2C,WAA3C;EACA4K,MAAAA,IAAI,CAACW,SAAL,CAAe9kC,KAAf,CAAsB3H,KAAtB,CAA4BkhC,cAA5B,CAA2C,YAA3C;EAEA4L,MAAAA,UAAU,GAAGltC,iBAAiB,CAACksC,IAAI,CAACW,SAAL,CAAe9kC,KAAhB,CAA9B;EACAmlC,MAAAA,UAAU,CAAC1tC,CAAX,IAAgB0B,UAAU,CAACgrC,IAAI,CAACW,SAAL,CAAe9kC,KAAf,CAAsB3H,KAAtB,CAA4BN,IAA7B,CAAV,IAAgD,CAAhE;EACAotC,MAAAA,UAAU,CAACztC,CAAX,IAAgByB,UAAU,CAACgrC,IAAI,CAACW,SAAL,CAAe9kC,KAAf,CAAsB3H,KAAtB,CAA4BR,GAA7B,CAAV,IAA+C,CAA/D;EAEAssC,MAAAA,IAAI,CAACW,SAAL,CAAe9kC,KAAf,CAAsB3H,KAAtB,CAA4B8iB,QAA5B,GAAuCqqB,eAAvC;EACArB,MAAAA,IAAI,CAACW,SAAL,CAAe9kC,KAAf,CAAsB3H,KAAtB,CAA4B6iB,SAA5B,GAAwCuqB,gBAAxC;EACAL,MAAAA,WAAW,CAAC/I,OAAZ,CAAoB,CAAC/xB,QAAD,EAAWpS,EAAX,KAAkB;EACpCA,QAAAA,EAAE,CAACwtC,QAAH,CAAY,GAAGp7B,QAAf;EACD,OAFD;EAGD;EAED,UAAMsZ,aAAa,GAAGzjB,IAAI,CAACF,GAAL,CAAS0kC,mBAAmB,CAAC3kC,KAA7B,EAAoCmlC,UAAU,CAACvtC,MAA/C,CAAtB;EAEA,UAAM+tC,cAAc,GAAG,EAAvB;EACA,UAAMC,SAAS,GAAG;EAChB/tC,MAAAA,GAAG,EAAE4hC,SAAS,CAAC5hC,GAAV,GAAgB8tC,cADL;EAEhB7tC,MAAAA,MAAM,EAAEotC,cAAc,GAAGzL,SAAS,CAAC3hC,MAA3B,GAAoC6tC,cAF5B;EAGhB5tC,MAAAA,IAAI,EAAE0hC,SAAS,CAAC1hC,IAAV,GAAiB4tC,cAHP;EAIhB3tC,MAAAA,KAAK,EAAEitC,aAAa,GAAGxL,SAAS,CAACzhC,KAA1B,GAAkC2tC;EAJzB,KAAlB;EAOA,UAAME,KAAK,GAAIrB,eAAe,CAACxkC,KAAhB,CAAsBkjC,IAAtB,KAA+B,QAA/B,IAA2Ctf,aAAa,IAAIgiB,SAAS,CAAC9tC,MAAvE,IACX0sC,eAAe,CAACxkC,KAAhB,CAAsBkjC,IAAtB,KAA+B,KAA/B,IAAwCtf,aAAa,IAAIgiB,SAAS,CAAC/tC,GADtE;EAGA,UAAMorC,MAAM,GAAG4C,KAAK,GAAGrB,eAAe,CAACxkC,KAAnB,GACfwkC,eAAe,CAACxkC,KAAhB,CAAsBkjC,IAAtB,KAA+B,QAA/B,IAA2C0C,SAAS,CAAC/tC,GAAV,GAAgB+tC,SAAS,CAAC9tC,MAAtE,IACD0sC,eAAe,CAACxkC,KAAhB,CAAsBkjC,IAAtB,KAA+B,KAA/B,IAAwC0C,SAAS,CAAC9tC,MAAV,GAAmB8tC,SAAS,CAAC/tC,GADpE,GAC2EurC,cAAc,CAACoB,eAAe,CAACxkC,KAAjB,CADzF,GAEAwkC,eAAe,CAACxkC,KAHpB;EAIA,UAAMm3B,MAAM,GAAG0O,KAAK,GAAGpB,eAAe,CAACzkC,KAAnB,GAA2BojC,cAAc,CAACH,MAAD,CAA7D;EAEA,UAAM6C,OAAO,GAAGpB,WAAW,CAAC1kC,KAAZ,IAAqB,CAAC,QAAD,EAAW,KAAX,EAAkB,QAAlB,EAA4B/F,QAA5B,CAAqCgpC,MAAM,CAACC,IAA5C,CAArC;EAEA,UAAM/nB,QAAQ,GAAG2qB,OAAO,GAAG3lC,IAAI,CAACF,GAAL,CAASglC,aAAT,EAAwB9kC,IAAI,CAACD,GAAL,CAASu5B,SAAS,CAAC9hC,KAAnB,EAA0BstC,aAAa,GAAGU,cAAc,GAAG,CAA3D,CAAxB,CAAH,GACpB1C,MAAM,CAACC,IAAP,KAAgB,KAAhB,GAAwB0C,SAAS,CAAC5tC,KAAlC,GACAirC,MAAM,CAACC,IAAP,KAAgB,OAAhB,GAA0B0C,SAAS,CAAC7tC,IAApC,GACA,IAHJ;EAIA,UAAMsjB,QAAQ,GAAGlb,IAAI,CAACF,GAAL,CAAS2kC,kBAAkB,CAAC5kC,KAA5B,EAAmCmb,QAAnC,EAA8Cse,SAAS,CAAC9hC,KAAxD,CAAjB;EACA,UAAMujB,SAAS,GAAG2qB,KAAK,GAAGlB,mBAAmB,CAAC3kC,KAAvB,GAA+BG,IAAI,CAACF,GAAL,CACpD0kC,mBAAmB,CAAC3kC,KADgC,EAEpDG,IAAI,CAAC4lC,KAAL,CAAW9C,MAAM,CAACC,IAAP,KAAgB,KAAhB,GAAwB0C,SAAS,CAAC/tC,GAAlC,GAAwC+tC,SAAS,CAAC9tC,MAA7D,CAFoD,CAAtD;EAKA,UAAMkuC,WAAW,GAAGvC,aAAa,CAACR,MAAD,EAASxJ,SAAT,CAAjC;EACA,UAAMwM,YAAY,GAAGxC,aAAa,CAACtM,MAAD,EAAS,IAAI5/B,GAAJ,CAAQ,EACjD,GAAG4tC,UAD8C;EAEjDvtC,MAAAA,MAAM,EAAEuI,IAAI,CAACF,GAAL,CAAS2jB,aAAT,EAAwB1I,SAAxB;EAFyC,KAAR,CAAT,CAAlC;EAKA,UAAM;EAAEzjB,MAAAA,CAAF;EAAKC,MAAAA;EAAL,QAAW8rC,WAAS,CAACwC,WAAD,EAAcC,YAAd,CAA1B;EAEAnpC,IAAAA,MAAM,CAACynC,MAAP,CAAcH,aAAa,CAACpkC,KAA5B,EAAmC;EACjC,mCAA6BqjC,cAAc,CAACJ,MAAD,EAASkB,IAAI,CAAC5C,WAAL,CAAiBvhC,KAA1B,CADV;EAEjCnI,MAAAA,GAAG,EAAE4F,aAAa,CAAC0C,IAAI,CAAC+C,KAAL,CAAWxL,CAAX,CAAD,CAFe;EAGjCK,MAAAA,IAAI,EAAE0F,aAAa,CAAC0C,IAAI,CAAC+C,KAAL,CAAWzL,CAAX,CAAD,CAHc;EAGG;EACpCyB,MAAAA,eAAe,EAAEmqC,cAAc,CAAClM,MAAD,EAASgN,IAAI,CAAC5C,WAAL,CAAiBvhC,KAA1B,CAJE;EAKjCqb,MAAAA,QAAQ,EAAE5d,aAAa,CAAC4d,QAAD,CALU;EAMjCF,MAAAA,QAAQ,EAAE1d,aAAa,CAAC0d,QAAD,CANU;EAOjCD,MAAAA,SAAS,EAAEzd,aAAa,CAACyd,SAAD;EAPS,KAAnC;EASD;;EAEDjL,EAAAA,SAAK,CACH,MAAM,CAACu0B,eAAe,CAACxkC,KAAjB,EAAwBykC,eAAe,CAACzkC,KAAxC,EAA+CjD,KAAK,CAAC4pB,MAArD,CADH,EAEH,MAAM0d,cAAc,EAFjB,EAGH;EAAEj0B,IAAAA,SAAS,EAAE,CAACk0B;EAAd,GAHG,CAAL;EAMA,MAAIA,cAAJ,EAAoBvlB,YAAQ,CAAC,MAAMslB,cAAc,EAArB,CAAR;EACpB1jB,EAAAA,qBAAqB,CAAC,MAAM;EAC1B,QAAIyjB,aAAa,CAACpkC,KAAd,CAAoBkb,SAAxB,EAAmCmpB,cAAc;EAClD,GAFoB,CAArB;EAIA,SAAO;EAAEA,IAAAA;EAAF,GAAP;EACD;;EC3PD,IAAI6B,KAAK,GAAG,IAAZ;EACA,MAAMC,MAAM,GAAG,EAAf;EAEA;EACA;EACA;EACA;;EACO,SAASC,eAAT,CAA0B/b,EAA1B,EAA0C;EAC/C,MAAI,CAAC6b,KAAD,IAAUC,MAAM,CAACvqC,MAArB,EAA6B;EAC3BuqC,IAAAA,MAAM,CAACjsC,IAAP,CAAYmwB,EAAZ;EACA+X,IAAAA,GAAG;EACJ,GAHD,MAGO;EACL8D,IAAAA,KAAK,GAAG,KAAR;EACA7b,IAAAA,EAAE;EACF+X,IAAAA,GAAG;EACJ;EACF;EAED,IAAIiE,GAAG,GAAG,CAAC,CAAX;;EACA,SAASjE,GAAT,GAAgB;EACdkE,EAAAA,oBAAoB,CAACD,GAAD,CAApB;EACAA,EAAAA,GAAG,GAAG1lB,qBAAqB,CAAC,MAAM;EAChC,UAAM4lB,KAAK,GAAGJ,MAAM,CAACnnC,KAAP,EAAd;EACA,QAAIunC,KAAJ,EAAWA,KAAK;EAEhB,QAAIJ,MAAM,CAACvqC,MAAX,EAAmBwmC,GAAG,GAAtB,KACK8D,KAAK,GAAG,IAAR;EACN,GAN0B,CAA3B;EAOD;;EC5BD;;EAgBA,MAAMM,gBAAgB,GAAG;EACvBxxB,EAAAA,KAAK,EAAEyxB,mBADgB;EAEvBvX,EAAAA,KAAK,EAAEwX,mBAFgB;EAGvBC,EAAAA,UAAU,EAAEC;EAHW,CAAzB;EAUO,MAAMC,uBAAuB,GAAGr8B,YAAY,CAAC;EAClDs8B,EAAAA,cAAc,EAAE;EACdzlC,IAAAA,IAAI,EAAE,CAACzD,MAAD,EAAS+gC,QAAT,CADQ;EAEd72B,IAAAA,OAAO,EAAE,OAFK;EAGdqV,IAAAA,SAAS,EAAG7a,GAAD,IAAc,OAAOA,GAAP,KAAe,UAAf,IAA6BA,GAAG,IAAIkkC;EAH/C;EADkC,CAAD,CAA5C;EAQA,SAASO,mBAAT,CACLhqC,KADK,EAELonC,IAFK,EAGL;EACA,MAAI,CAACz6B,UAAL,EAAiB;EAEjB,MAAIw4B,KAAJ;EACAj7B,EAAAA,eAAW,CAAC,YAAY;EAAA;;EACtB,cAAAi7B,KAAK,SAAL,mBAAOxhB,IAAP;EAEA,QAAI,EAAEyjB,IAAI,CAACtgB,QAAL,CAAc7jB,KAAd,IAAuBjD,KAAK,CAAC+pC,cAA/B,CAAJ,EAAoD;EAEpD5E,IAAAA,KAAK,GAAGC,eAAW,EAAnB;EACA,UAAMpjB,YAAQ,EAAd;EACAmjB,IAAAA,KAAK,CAACE,GAAN,CAAU,MAAM;EACd,UAAI,OAAOrlC,KAAK,CAAC+pC,cAAb,KAAgC,UAApC,EAAgD;EAC9C/pC,QAAAA,KAAK,CAAC+pC,cAAN,CAAqB3C,IAArB;EACD,OAFD,MAEO;EAAA;;EACL,iCAAAqC,gBAAgB,CAACzpC,KAAK,CAAC+pC,cAAP,CAAhB,gDAAAN,gBAAgB,EAAyBrC,IAAzB,CAAhB;EACD;EACF,KAND;EAOD,GAdU,CAAX;EAeD;;EAED,SAASsC,mBAAT,CAA8BtC,IAA9B,EAAwD;EAAA;;EACtD,WAAS6C,QAAT,CAAmBnc,CAAnB,EAA6B;EAC3BsZ,IAAAA,IAAI,CAACtgB,QAAL,CAAc7jB,KAAd,GAAsB,KAAtB;EACD;;EAEDinC,EAAAA,UAAU,0BAAC9C,IAAI,CAAC5C,WAAL,CAAiBvhC,KAAlB,oCAA2BmkC,IAAI,CAACW,SAAL,CAAe9kC,KAA1C,EAAiDgnC,QAAjD,CAAV;EACD;;EAED,SAASN,mBAAT,CAA8BvC,IAA9B,EAAwD;EAAA;;EACtD,QAAM+C,cAAc,GAAG,CAAC,GAAG,IAAI33B,GAAJ,CAAQ,CACjC,GAAGxG,gBAAgB,CAACo7B,IAAI,CAAC5C,WAAL,CAAiBvhC,KAAlB,CADc,EAEjC,GAAG+I,gBAAgB,CAACo7B,IAAI,CAACW,SAAL,CAAe9kC,KAAhB,CAFc,CAAR,CAAJ,EAGnBiC,MAHmB,CAGZ/J,EAAE,IAAI,CAACA,EAAE,CAAC00B,SAAH,CAAaua,QAAb,CAAsB,0BAAtB,CAHK,CAAvB;EAIA,QAAMC,cAAc,GAAGh+B,MAAM,CAACqpB,UAAP,GAAoBrqB,QAAQ,CAACoqB,eAAT,CAAyBl5B,WAApE;;EAEA,QAAM+tC,gBAAgB,GAAG,CAACnvC,EAAE,IAAI0Q,YAAY,CAAC1Q,EAAD,CAAZ,IAAoBA,EAA3B,EAA+B,qBAAAisC,IAAI,CAACn+B,IAAL,CAAUhG,KAAV,sCAAiBuK,YAAjB,KAAiCnC,QAAQ,CAACoqB,eAAzE,CAAzB;;EACA,MAAI6U,gBAAJ,EAAsB;EACpBlD,IAAAA,IAAI,CAACn+B,IAAL,CAAUhG,KAAV,CAAiB4sB,SAAjB,CAA2BC,GAA3B,CAA+B,2BAA/B;EACD;;EAEDqa,EAAAA,cAAc,CAAC7K,OAAf,CAAuB,CAACnkC,EAAD,EAAK6D,CAAL,KAAW;EAChC7D,IAAAA,EAAE,CAACG,KAAH,CAASu/B,WAAT,CAAqB,sBAArB,EAA6Cn6B,aAAa,CAAC2pC,cAAD,CAA1D;EACAlvC,IAAAA,EAAE,CAAC00B,SAAH,CAAaC,GAAb,CAAiB,0BAAjB;EACD,GAHD;EAKA8V,EAAAA,kBAAc,CAAC,MAAM;EACnBuE,IAAAA,cAAc,CAAC7K,OAAf,CAAuB,CAACnkC,EAAD,EAAK6D,CAAL,KAAW;EAChC7D,MAAAA,EAAE,CAACG,KAAH,CAASkhC,cAAT,CAAwB,sBAAxB;EACArhC,MAAAA,EAAE,CAAC00B,SAAH,CAAaK,MAAb,CAAoB,0BAApB;EACD,KAHD;;EAIA,QAAIoa,gBAAJ,EAAsB;EACpBlD,MAAAA,IAAI,CAACn+B,IAAL,CAAUhG,KAAV,CAAiB4sB,SAAjB,CAA2BK,MAA3B,CAAkC,2BAAlC;EACD;EACF,GARa,CAAd;EASD;;EAED,SAAS2Z,wBAAT,CAAmCzC,IAAnC,EAA6D;EAAA;;EAC3D,MAAImD,IAAI,GAAG,KAAX;EACA,MAAIjB,GAAG,GAAG,CAAC,CAAX;;EAEA,WAASkB,MAAT,CAAiB1c,CAAjB,EAA2B;EACzBub,IAAAA,eAAe,CAAC,MAAM;EAAA;;EACpB,YAAM/oC,KAAK,GAAG0vB,WAAW,CAACC,GAAZ,EAAd;EACA,uDAAAmX,IAAI,CAACE,cAAL,EAAoBrkC,KAApB,sEAA4B6qB,CAA5B;EACA,YAAM2c,IAAI,GAAGza,WAAW,CAACC,GAAZ,KAAoB3vB,KAAjC;EACAiqC,MAAAA,IAAI,GAAGE,IAAI,IAAI,OAAO,EAAX,CAAJ,GAAqB,CAA5B;EACD,KALc,CAAf;EAMD;;EAEDP,EAAAA,UAAU,2BAAC9C,IAAI,CAAC5C,WAAL,CAAiBvhC,KAAlB,qCAA2BmkC,IAAI,CAACW,SAAL,CAAe9kC,KAA1C,EAAiD6qB,CAAC,IAAI;EAC9D,QAAIyc,IAAJ,EAAU;EACR;EACA;EACA;EACA;EACAhB,MAAAA,oBAAoB,CAACD,GAAD,CAApB;EACAA,MAAAA,GAAG,GAAG1lB,qBAAqB,CAAC,MAAM;EAChC0lB,QAAAA,GAAG,GAAG1lB,qBAAqB,CAAC,MAAM;EAChC4mB,UAAAA,MAAM,CAAC1c,CAAD,CAAN;EACD,SAF0B,CAA3B;EAGD,OAJ0B,CAA3B;EAKD,KAXD,MAWO;EACL0c,MAAAA,MAAM,CAAC1c,CAAD,CAAN;EACD;EACF,GAfS,CAAV;EAgBD;EAED;;;EACA,SAASoc,UAAT,CAAqB/uC,EAArB,EAAkD8uC,QAAlD,EAAgF;EAC9E,QAAME,cAAc,GAAG,CAAC9+B,QAAD,EAAW,GAAGW,gBAAgB,CAAC7Q,EAAD,CAA9B,CAAvB;EACAgvC,EAAAA,cAAc,CAAC7K,OAAf,CAAuBnkC,EAAE,IAAI;EAC3BA,IAAAA,EAAE,CAACuyB,gBAAH,CAAoB,QAApB,EAA8Buc,QAA9B,EAAwC;EAAErY,MAAAA,OAAO,EAAE;EAAX,KAAxC;EACD,GAFD;EAIAgU,EAAAA,kBAAc,CAAC,MAAM;EACnBuE,IAAAA,cAAc,CAAC7K,OAAf,CAAuBnkC,EAAE,IAAI;EAC3BA,MAAAA,EAAE,CAAC0yB,mBAAH,CAAuB,QAAvB,EAAiCoc,QAAjC;EACD,KAFD;EAGD,GAJa,CAAd;EAKD;;ECzID;;EAOO,SAASS,WAAT,CAAsB7mC,MAAtB,EAA+D;EACpE,QAAM8mC,cAAc,GAAG9hC,YAAQ,CAAC,MAAM;EACpC,UAAM+hC,OAAO,GAAG/mC,MAAM,CAACZ,KAAvB;EAEA,QAAI2nC,OAAO,KAAK,IAAZ,IAAoB,CAACj+B,UAAzB,EAAqC,OAAOlN,SAAP;EAErC,UAAMorC,aAAa,GACjBD,OAAO,KAAK,KAAZ,GAAoBv/B,QAAQ,CAACy/B,IAA7B,GACE,OAAOF,OAAP,KAAmB,QAAnB,GAA8Bv/B,QAAQ,CAAC26B,aAAT,CAAuB4E,OAAvB,CAA9B,GACAA,OAHJ;;EAKA,QAAIC,aAAa,IAAI,IAArB,EAA2B;EACzBrtC,MAAAA,QAAI,CAAE,2BAA0BotC,OAAQ,EAApC,CAAJ;EACA,aAAOnrC,SAAP;EACD;;EAED,QAAI,CAACirC,WAAW,CAACK,KAAZ,CAAkBC,GAAlB,CAAsBH,aAAtB,CAAL,EAA2C;EACzC,YAAM1vC,EAAE,GAAGkQ,QAAQ,CAACmI,aAAT,CAAuB,KAAvB,CAAX;EACArY,MAAAA,EAAE,CAACu0B,SAAH,GAAe,qBAAf;EACAmb,MAAAA,aAAa,CAACp3B,WAAd,CAA0BtY,EAA1B;EACAuvC,MAAAA,WAAW,CAACK,KAAZ,CAAkBv0B,GAAlB,CAAsBq0B,aAAtB,EAAqC1vC,EAArC;EACD;;EAED,WAAOuvC,WAAW,CAACK,KAAZ,CAAkBn1B,GAAlB,CAAsBi1B,aAAtB,CAAP;EACD,GAvB8B,CAA/B;EAyBA,SAAO;EAAEF,IAAAA;EAAF,GAAP;EACD;EACDD,WAAW,CAACK,KAAZ,GAAoB,IAAIE,OAAJ,EAApB;;ECnCA;EAOO,MAAMC,aAAa,GAAGz9B,YAAY,CAAC;EACxCqT,EAAAA,KAAK,EAAE1M;EADiC,CAAD,EAEtC,MAFsC,CAAlC;EAIA,SAAS+2B,OAAT,CAAkBnrC,KAAlB,EAA6C6U,MAA7C,EAAmE;EACxE,QAAM6O,QAAQ,GAAG5e,OAAG,CAAC,KAAD,CAApB;EACA,QAAMkzB,UAAU,GAAGnvB,YAAQ,CAAC,MAAM6a,QAAQ,CAACzgB,KAAT,IAAkBjD,KAAK,CAAC8gB,KAAxB,IAAiCjM,MAAM,CAAC5R,KAA/C,CAA3B;EAEAiQ,EAAAA,SAAK,CAAC2B,MAAD,EAAS,MAAM6O,QAAQ,CAACzgB,KAAT,GAAiB,IAAhC,CAAL;;EAEA,WAAS63B,YAAT,GAAyB;EACvB,QAAI,CAAC96B,KAAK,CAAC8gB,KAAX,EAAkB4C,QAAQ,CAACzgB,KAAT,GAAiB,KAAjB;EACnB;;EAED,SAAO;EAAEygB,IAAAA,QAAF;EAAYsU,IAAAA,UAAZ;EAAwB8C,IAAAA;EAAxB,GAAP;EACD;;EChBD,MAAMsQ,KAAK,GAAGtmC,OAAG,CAA8B,EAA9B,CAAjB;EAEO,SAASumC,QAAT,CAAmBvkB,QAAnB,EAA2C;EAChD,QAAMlqB,EAAE,GAAGkN,kBAAkB,CAAC,UAAD,CAA7B;EACA,MAAIq7B,KAAJ;EACAjyB,EAAAA,SAAK,CAAC4T,QAAD,EAAWvhB,GAAG,IAAI;EACrB,QAAIA,GAAJ,EAAS;EACP4/B,MAAAA,KAAK,GAAGC,eAAW,EAAnB;EACAD,MAAAA,KAAK,CAACE,GAAN,CAAU,MAAM;EACd+F,QAAAA,KAAK,CAACnoC,KAAN,CAAY9F,IAAZ,CAAiBP,EAAjB;EAEAgpC,QAAAA,kBAAc,CAAC,MAAM;EACnB,gBAAM0F,GAAG,GAAGF,KAAK,CAACnoC,KAAN,CAAY5G,OAAZ,CAAoBO,EAApB,CAAZ;EACAwuC,UAAAA,KAAK,CAACnoC,KAAN,CAAYsmB,MAAZ,CAAmB+hB,GAAnB,EAAwB,CAAxB;EACD,SAHa,CAAd;EAID,OAPD;EAQD,KAVD,MAUO;EAAA;;EACL,gBAAAnG,KAAK,SAAL,mBAAOxhB,IAAP;EACD;EACF,GAdI,EAcF;EAAEtQ,IAAAA,SAAS,EAAE;EAAb,GAdE,CAAL;EAgBA,QAAMk4B,KAAK,GAAG1iC,YAAQ,CAAC,MAAM;EAC3B,WAAOoB,SAAK,CAACmhC,KAAK,CAACnoC,KAAN,CAAYmoC,KAAK,CAACnoC,KAAN,CAAYpE,MAAZ,GAAqB,CAAjC,CAAD,CAAL,KAA+CjC,EAAtD;EACD,GAFqB,CAAtB;EAIA,SAAO;EACL2uC,IAAAA;EADK,GAAP;EAGD;;ECrBD,SAASC,kBAAT,GAA+B;EAC7B,SAAO,IAAP;EACD;;EAED,SAASC,UAAT,CAAqB3d,CAArB,EAAoC3yB,EAApC,EAAqD8jB,OAArD,EAAqG;EACnG;EACA;EACA;EACA;EACA,MAAI,CAAC6O,CAAD,IAAM4d,aAAa,CAAC5d,CAAD,EAAI7O,OAAJ,CAAb,KAA8B,KAAxC,EAA+C,OAAO,KAAP,CALoD;EAQnG;EACA;;EACA,QAAMhW,IAAI,GAAGiC,YAAY,CAAC/P,EAAD,CAAzB;EACA,MACE,OAAOwwC,UAAP,KAAsB,WAAtB,IACA1iC,IAAI,YAAY0iC,UADhB,IAEA1iC,IAAI,CAAC2iC,IAAL,KAAc9d,CAAC,CAACjqB,MAHlB,EAIE,OAAO,KAAP,CAfiG;EAkBnG;;EACA,QAAMoI,QAAQ,GAAG,CAAE,OAAOgT,OAAO,CAAChc,KAAf,KAAyB,QAAzB,IAAqCgc,OAAO,CAAChc,KAAR,CAAc4oC,OAApD,KAAiE,MAAM,EAAvE,CAAD,GAAjB,CAnBmG;;;EAqBnG5/B,EAAAA,QAAQ,CAAC9O,IAAT,CAAchC,EAAd,EArBmG;EAwBnG;EACA;EACA;EACA;;EACA,SAAO,CAAC8Q,QAAQ,CAACvJ,IAAT,CAAcvH,EAAE,IAAIA,EAAJ,oBAAIA,EAAE,CAAEivC,QAAJ,CAAatc,CAAC,CAACjqB,MAAf,CAApB,CAAR;EACD;;EAED,SAAS6nC,aAAT,CAAwB5d,CAAxB,EAAuC7O,OAAvC,EAA8F;EAC5F,QAAM6H,QAAQ,GAAI,OAAO7H,OAAO,CAAChc,KAAf,KAAyB,QAAzB,IAAqCgc,OAAO,CAAChc,KAAR,CAAc6oC,gBAApD,IAAyEN,kBAA1F;EAEA,SAAO1kB,QAAQ,CAACgH,CAAD,CAAf;EACD;;EAED,SAASie,SAAT,CAAoBje,CAApB,EAAmC3yB,EAAnC,EAAoD8jB,OAApD,EAA2F;EACzF,QAAME,OAAO,GAAG,OAAOF,OAAO,CAAChc,KAAf,KAAyB,UAAzB,GAAsCgc,OAAO,CAAChc,KAA9C,GAAsDgc,OAAO,CAAChc,KAAR,CAAckc,OAApF;EAEAhkB,EAAAA,EAAE,CAAC6wC,aAAH,CAAkBC,uBAAlB,IAA6CR,UAAU,CAAC3d,CAAD,EAAI3yB,EAAJ,EAAQ8jB,OAAR,CAAvD,IAA2E4D,UAAU,CAAC,MAAM;EAC1F6oB,IAAAA,aAAa,CAAC5d,CAAD,EAAI7O,OAAJ,CAAb,IAA6BE,OAA7B,IAAwCA,OAAO,CAAC2O,CAAD,CAA/C;EACD,GAFoF,EAElF,CAFkF,CAArF;EAGD;;EAED,SAASoe,YAAT,CAAuB/wC,EAAvB,EAAwCgxC,QAAxC,EAAkE;EAChE,QAAMljC,IAAI,GAAGiC,YAAY,CAAC/P,EAAD,CAAzB;EAEAgxC,EAAAA,QAAQ,CAAC9gC,QAAD,CAAR;;EAEA,MAAI,OAAOsgC,UAAP,KAAsB,WAAtB,IAAqC1iC,IAAI,YAAY0iC,UAAzD,EAAqE;EACnEQ,IAAAA,QAAQ,CAACljC,IAAD,CAAR;EACD;EACF;;EAEM,MAAMmjC,YAAY,GAAG;EAC1B;EACA;EACA;EACA;EACA;EACAptB,EAAAA,OAAO,CAAE7jB,EAAF,EAAmB8jB,OAAnB,EAA0D;EAC/D,UAAM+N,OAAO,GAAIc,CAAD,IAAcie,SAAS,CAACje,CAAD,EAAkB3yB,EAAlB,EAAsB8jB,OAAtB,CAAvC;;EACA,UAAMotB,WAAW,GAAIve,CAAD,IAAc;EAChC3yB,MAAAA,EAAE,CAAC6wC,aAAH,CAAkBC,uBAAlB,GAA4CR,UAAU,CAAC3d,CAAD,EAAkB3yB,EAAlB,EAAsB8jB,OAAtB,CAAtD;EACD,KAFD;;EAIAitB,IAAAA,YAAY,CAAC/wC,EAAD,EAAM+V,GAAD,IAAsB;EACrCA,MAAAA,GAAG,CAACwc,gBAAJ,CAAqB,OAArB,EAA8BV,OAA9B,EAAuC,IAAvC;EACA9b,MAAAA,GAAG,CAACwc,gBAAJ,CAAqB,WAArB,EAAkC2e,WAAlC,EAA+C,IAA/C;EACD,KAHW,CAAZ;;EAKA,QAAI,CAAClxC,EAAE,CAAC6wC,aAAR,EAAuB;EACrB7wC,MAAAA,EAAE,CAAC6wC,aAAH,GAAmB;EACjBC,QAAAA,uBAAuB,EAAE;EADR,OAAnB;EAGD;;EAED9wC,IAAAA,EAAE,CAAC6wC,aAAH,CAAiB/sB,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAArC,IAA4C;EAC1CuN,MAAAA,OAD0C;EAE1Cqf,MAAAA;EAF0C,KAA5C;EAID,GA3ByB;;EA6B1BtsB,EAAAA,SAAS,CAAE5kB,EAAF,EAAmB8jB,OAAnB,EAA0D;EACjE,QAAI,CAAC9jB,EAAE,CAAC6wC,aAAR,EAAuB;EAEvBE,IAAAA,YAAY,CAAC/wC,EAAD,EAAM+V,GAAD,IAAsB;EAAA;;EACrC,UAAI,CAACA,GAAD,IAAQ,uBAAC/V,EAAE,CAAC6wC,aAAJ,aAAC,kBAAmB/sB,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAvC,CAAD,CAAZ,EAA0D;EAE1D,YAAM;EAAEuN,QAAAA,OAAF;EAAWqf,QAAAA;EAAX,UAA2BlxC,EAAE,CAAC6wC,aAAH,CAAiB/sB,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAArC,CAAjC;EAEAvO,MAAAA,GAAG,CAAC2c,mBAAJ,CAAwB,OAAxB,EAAiCb,OAAjC,EAA0C,IAA1C;EACA9b,MAAAA,GAAG,CAAC2c,mBAAJ,CAAwB,WAAxB,EAAqCwe,WAArC,EAAkD,IAAlD;EACD,KAPW,CAAZ;EASA,WAAOlxC,EAAE,CAAC6wC,aAAH,CAAiB/sB,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAArC,CAAP;EACD;;EA1CyB,CAArB;;ECtBP,SAAS6sB,KAAT,CAAgBtsC,KAAhB,EAAmC;EACjC,QAAM;EAAEumB,IAAAA,UAAF;EAAcvf,IAAAA,KAAd;EAAqB,OAAGxE;EAAxB,MAAiCxC,KAAvC;EACA;EAAA,YACmB,iBADnB;EAAA;EAAA;EAAA,oBAEMA,KAAK,CAACumB,UAAN;EAAA,eAES,CACL,kBADK,EAELvmB,KAAK,CAACgH,KAAN,CAAY2e,sBAAZ,CAAmC1iB,KAF9B,CAFT;EAAA,eAMUjD,KAAK,CAACgH,KAAN,CAAY4e,qBAAZ,CAAkC3iB;EAN5C,OAOOT,IAPP,YAFN;EAAA;EAcD;;EAOM,MAAM+pC,QAAQ,GAAGhiC,gBAAgB,GAEnC;EACHjM,EAAAA,IAAI,EAAE,UADH;EAGHoiB,EAAAA,UAAU,EAAE;EAAE0rB,IAAAA;EAAF,GAHT;EAKHvhB,EAAAA,YAAY,EAAE,KALX;EAOH7qB,EAAAA,KAAK,EAAE;EACLuU,IAAAA,QAAQ,EAAEH,OADL;EAELo4B,IAAAA,MAAM,EAAE,CAACp4B,OAAD,EAAUvT,MAAV,EAAkBd,MAAlB,CAFH;EAGL0sC,IAAAA,SAAS,EAAEr4B,OAHN;EAIL0K,IAAAA,YAAY,EAAE,IAJT;EAKL4tB,IAAAA,gBAAgB,EAAEt4B,OALb;EAMLmS,IAAAA,UAAU,EAAEnS,OANP;EAOLu4B,IAAAA,UAAU,EAAEv4B,OAPP;EAQLw4B,IAAAA,KAAK,EAAE;EACLtoC,MAAAA,IAAI,EAAE,CAACzD,MAAD,EAASuT,OAAT,CADD;EAELrJ,MAAAA,OAAO,EAAE;EAFJ,KARF;EAaL,OAAGk5B,kBAAkB,EAbhB;EAcL,OAAG/lB,kBAAkB,EAdhB;EAeL,OAAG+oB,yBAAyB,EAfvB;EAgBL,OAAG6C,uBAAuB,EAhBrB;EAiBL,OAAGh6B,cAAc,EAjBZ;EAkBL,OAAGqQ,mBAAmB,EAlBjB;EAmBL,OAAG+qB,aAAa;EAnBX,GAPJ;EA6BH5pB,EAAAA,KAAK,EAAE;EACL,qBAAkBwM,CAAD,IAAmB,IAD/B;EAEL,yBAAsB7qB,KAAD,IAAoB;EAFpC,GA7BJ;;EAkCH2G,EAAAA,KAAK,CAAE5J,KAAF,QAAiC;EAAA,QAAxB;EAAEgL,MAAAA,KAAF;EAASlI,MAAAA,KAAT;EAAgBye,MAAAA;EAAhB,KAAwB;EACpC,UAAMuF,QAAQ,GAAGjB,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAAhC;EACA,UAAM;EAAE2qC,MAAAA;EAAF,QAAqBD,WAAW,CAAC7hC,YAAQ,CAAC,MAAM7I,KAAK,CAACwsC,MAAN,IAAgBxsC,KAAK,CAACysC,SAA7B,CAAT,CAAtC;EACA,UAAM;EAAE74B,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAE4d,MAAAA;EAAF,QAAiBI,MAAM,EAA7B;EACA,UAAM;EAAEga,MAAAA,UAAF;EAAc8C,MAAAA;EAAd,QAA+BqQ,OAAO,CAACnrC,KAAD,EAAQ8mB,QAAR,CAA5C;EACA,UAAM+lB,UAAU,GAAGnnB,kBAAkB,CAAC7c,YAAQ,CAAC,MAAM;EACnD,aAAO,OAAO7I,KAAK,CAAC4sC,KAAb,KAAuB,QAAvB,GAAkC5sC,KAAK,CAAC4sC,KAAxC,GAAgD,IAAvD;EACD,KAF6C,CAAT,CAArC;EAGA,UAAM;EAAEpI,MAAAA,WAAF;EAAeS,MAAAA;EAAf,QAAmCV,YAAY,CAACvkC,KAAD,EAAQ8mB,QAAR,CAArD;EACA,UAAM;EAAEtI,MAAAA;EAAF,QAAsBD,YAAY,CAACve,KAAD,CAAxC;EACA,UAAM;EAAEurC,MAAAA;EAAF,QAAYF,QAAQ,CAACvkB,QAAD,CAA1B;EAEA,UAAM7d,IAAI,GAAGnE,OAAG,EAAhB;EACA,UAAMijC,SAAS,GAAGjjC,OAAG,EAArB;EACA,UAAM;EAAEuiC,MAAAA,aAAF;EAAiBC,MAAAA;EAAjB,QAAoCH,qBAAqB,CAACnnC,KAAD,EAAQ;EACrE+nC,MAAAA,SADqE;EAErEvD,MAAAA,WAFqE;EAGrE1d,MAAAA;EAHqE,KAAR,CAA/D;EAKAkjB,IAAAA,mBAAmB,CAAChqC,KAAD,EAAQ;EACzBiJ,MAAAA,IADyB;EAEzB8+B,MAAAA,SAFyB;EAGzBvD,MAAAA,WAHyB;EAIzB1d,MAAAA,QAJyB;EAKzBwgB,MAAAA;EALyB,KAAR,CAAnB;;EAQA,aAASwF,cAAT,CAAyBhf,CAAzB,EAAwC;EACtCvM,MAAAA,IAAI,CAAC,eAAD,EAAkBuM,CAAlB,CAAJ;EAEA,UAAI,CAAC9tB,KAAK,CAAC2sC,UAAX,EAAuB7lB,QAAQ,CAAC7jB,KAAT,GAAiB,KAAjB,CAAvB,KACK8pC,YAAY;EAClB;;EAED,aAASjB,gBAAT,GAA6B;EAC3B,aAAOhlB,QAAQ,CAAC7jB,KAAT,IAAkBsoC,KAAK,CAACtoC,KAA/B;EACD;;EAED0J,IAAAA,UAAU,IAAIuG,SAAK,CAAC4T,QAAD,EAAWvhB,GAAG,IAAI;EACnC,UAAIA,GAAJ,EAAS;EACP8G,QAAAA,MAAM,CAACqhB,gBAAP,CAAwB,SAAxB,EAAmCsf,SAAnC;EACD,OAFD,MAEO;EACL3gC,QAAAA,MAAM,CAACwhB,mBAAP,CAA2B,SAA3B,EAAsCmf,SAAtC;EACD;EACF,KANkB,EAMhB;EAAE35B,MAAAA,SAAS,EAAE;EAAb,KANgB,CAAnB;;EAQA,aAAS25B,SAAT,CAAoBlf,CAApB,EAAsC;EACpC,UAAIA,CAAC,CAACrrB,GAAF,KAAU,QAAV,IAAsB8oC,KAAK,CAACtoC,KAAhC,EAAuC;EACrC,YAAI,CAACjD,KAAK,CAAC2sC,UAAX,EAAuB;EACrB7lB,UAAAA,QAAQ,CAAC7jB,KAAT,GAAiB,KAAjB;EACD,SAFD,MAEO8pC,YAAY;EACpB;EACF;;EAED1f,IAAAA,aAAa,CAACvT,IAAI,IAAI;EACpB,UAAIyxB,KAAK,CAACtoC,KAAN,IAAe6jB,QAAQ,CAAC7jB,KAA5B,EAAmC;EACjC6W,QAAAA,IAAI,CAAC,KAAD,CAAJ;EACA,YAAI,CAAC9Z,KAAK,CAAC2sC,UAAX,EAAuB7lB,QAAQ,CAAC7jB,KAAT,GAAiB,KAAjB,CAAvB,KACK8pC,YAAY;EAClB,OAJD,MAIO;EACLjzB,QAAAA,IAAI;EACL;EACF,KARY,CAAb;EAUA,UAAMhf,GAAG,GAAGgK,OAAG,EAAf;EACAoO,IAAAA,SAAK,CAAC,MAAM4T,QAAQ,CAAC7jB,KAAT,KAAmBjD,KAAK,CAACuU,QAAN,IAAkBvU,KAAK,CAACysC,SAA3C,KAAyD9B,cAAc,CAAC1nC,KAAf,IAAwB,IAAxF,EAA8FsC,GAAG,IAAI;EACxG,UAAIA,GAAJ,EAAS;EACP,cAAM0iC,YAAY,GAAGr8B,eAAe,CAAC3C,IAAI,CAAChG,KAAN,CAApC;;EACA,YAAIglC,YAAY,IAAIA,YAAY,KAAK58B,QAAQ,CAACU,gBAA9C,EAAgE;EAC9DjR,UAAAA,GAAG,CAACmI,KAAJ,GAAYglC,YAAY,CAACO,SAAzB;EACD;EACF;EACF,KAPI,CAAL,CAlEoC;;EA4EpC,aAASuE,YAAT,GAAyB;EAAA;;EACvB,UAAI/sC,KAAK,CAAC0sC,gBAAV,EAA4B;EAE5B,0BAAA3E,SAAS,CAAC9kC,KAAV,sCAAiBk5B,OAAjB,CAAyB,CACvB;EAAEhgC,QAAAA,eAAe,EAAE;EAAnB,OADuB,EAEvB;EAAEV,QAAAA,SAAS,EAAE;EAAb,OAFuB,EAGvB;EAAEU,QAAAA,eAAe,EAAE;EAAnB,OAHuB,CAAzB,EAIG;EACDigC,QAAAA,QAAQ,EAAE,GADT;EAEDC,QAAAA,MAAM,EAAE9wB;EAFP,OAJH;EAQD;;EAEDsC,IAAAA,SAAS,CAAC;EAAA;;EAAA,sEAEJ7C,KAAK,CAACk5B,SAFF,qBAEJ,sBAAAl5B,KAAK,EAAa;EAClB8b,QAAAA,QAAQ,EAAEA,QAAQ,CAAC7jB,KADD;EAElBjD,QAAAA,KAAK,EAAEwgB,cAAU,CAAC;EAChB+F,UAAAA,UAAU,EAAEO,QAAQ,CAAC7jB,KADL;EAEhB,iCAAwBsC,GAAD,IAAkBuhB,QAAQ,CAAC7jB,KAAT,GAAiBsC;EAF1C,SAAD,EAGd0nC,cAAU,CAAChI,eAAe,CAAChiC,KAAjB,CAHI,EAGqBjD,KAAK,CAACmkC,cAH3B;EAFC,OAAb,CAFD;EAAA,oBAUO,CAACwG,cAAc,CAAC1nC,KAVvB;EAAA,cAWC0nC,cAAc,CAAC1nC;EAXhB;EAAA,wBAaF+0B,UAAU,CAAC/0B,KAAX;EAAA,mBAES,CACL,WADK,EAEL;EACE,mCAAuBjD,KAAK,CAACuU,QAAN,IAAkBvU,KAAK,CAACysC,SADjD;EAEE,iCAAqB3lB,QAAQ,CAAC7jB,KAFhC;EAGE,oCAAwBjD,KAAK,CAACysC;EAHhC,WAFK,EAOL74B,YAAY,CAAC3Q,KAPR,EAQL2a,UAAU,CAAC3a,KARN,CAFT;EAAA,mBAYUnI,GAAG,CAACmI,KAAJ,IAAa,IAAb,GAAqB,QAAOvC,aAAa,CAAC5F,GAAG,CAACmI,KAAL,CAAY,EAArD,GAAyDxD,SAZnE;EAAA,iBAaQwJ;EAbR,WAcMnG,KAdN;EAAA,mBAiBY+pC,UAjBZ;EAAA,wBAkBiB/lB,QAAQ,CAAC7jB,KAAT,IAAkB,CAAC,CAACjD,KAAK,CAAC4sC;EAlB3C;EAAA;EAAA,0BAsBmB9R,YAtBnB;EAAA;EAAA,wBAwBiB96B,KAAK,CAACiX,UAxBvB;EAAA,oBAyBautB,WAAW,CAACvhC;EAzBzB;EAAA;EAAA,mBA4BY8kC,SA5BZ;EAAA,qBA+Ba,CACL,oBADK,EAEL/nC,KAAK,CAAC8e,YAFD,CA/Bb;EAAA,qBAmCa,CACLN,eAAe,CAACvb,KADX,EAELokC,aAAa,CAACpkC,KAFT;EAnCb,gCAwCQ+H,KAAK,CAACD,OAxCd,qBAwCQ,oBAAAC,KAAK,EAAW;EAAE8b,YAAAA;EAAF,WAAX,CAxCb,oBA6BeA,QAAQ,CAAC7jB,KA7BxB,2CA8BuB;EAAEkc,YAAAA,OAAO,EAAE2tB,cAAX;EAA2BhB,YAAAA,gBAA3B;EAA6CD,YAAAA,OAAO,EAAE,MAAM,CAACrH,WAAW,CAACvhC,KAAb;EAA5D,WA9BvB;EAAA,oFAbE;EAAA;EAAA,KAAD,CAAT;EA8DA,WAAO;EACL8pC,MAAAA,YADK;EAELhF,MAAAA,SAFK;EAGLvD,MAAAA;EAHK,KAAP;EAKD;;EA9LE,CAFmC,CAAjC;;ECtDA,MAAM0I,OAAO,GAAG3iC,gBAAgB,GAElC;EACHjM,EAAAA,IAAI,EAAE,SADH;EAGHusB,EAAAA,YAAY,EAAE,KAHX;EAKH7qB,EAAAA,KAAK,EAAE;EACLmtC,IAAAA,UAAU,EAAE/4B,OADP;EAELgmB,IAAAA,MAAM,EAAE;EACN91B,MAAAA,IAAI,EAAEzD,MADA;EAENkK,MAAAA,OAAO,EAAE;EAFH,KAFH;EAMLqiC,IAAAA,WAAW,EAAE;EACX9oC,MAAAA,IAAI,EAAE8P,OADK;EAEXrJ,MAAAA,OAAO,EAAE;EAFE,KANR;EAULsiC,IAAAA,UAAU,EAAEj5B,OAVP;EAWLmS,IAAAA,UAAU,EAAEnS,OAXP;EAaL,OAAG8J,kBAAkB,CAAC;EAAEtjB,MAAAA,KAAK,EAAE;EAAT,KAAD,CAbhB;EAcL,OAAGulB,mBAAmB,CAAC;EACrBlJ,MAAAA,UAAU,EAAE;EAAE9R,QAAAA,SAAS,EAAE02B;EAAb;EADS,KAAD;EAdjB,GALJ;EAwBHva,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAAoB;EADpC,GAxBJ;;EA4BH2G,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAM8b,QAAQ,GAAGjB,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAAhC;EACA,UAAM;EAAEwe,MAAAA;EAAF,QAAsBD,YAAY,CAACve,KAAD,CAAxC;EAEA,UAAMstC,OAAO,GAAGxoC,OAAG,EAAnB;;EACA,aAASyoC,SAAT,CAAoBzf,CAApB,EAAmC;EAAA;;EACjC,YAAM0f,MAAM,GAAG1f,CAAC,CAAC2f,aAAjB;EACA,YAAMC,KAAK,GAAG5f,CAAC,CAACjqB,MAAhB;;EAEA,UACE2pC,MAAM,KAAKE,KAAX,sBACAJ,OAAO,CAACrqC,KADR,aACA,eAAe8kC,SADf;EAGA,OAAC,CAAC18B,QAAD,EAAWiiC,OAAO,CAACrqC,KAAR,CAAc8kC,SAAzB,EAAoC7qC,QAApC,CAA6CwwC,KAA7C,CAHD;EAKA,OAACJ,OAAO,CAACrqC,KAAR,CAAc8kC,SAAd,CAAwBqC,QAAxB,CAAiCsD,KAAjC,CANH;EAQE;EACA;EACA;EACA;EAXF,QAYE;EACA,cAAMC,SAAS,GAAG,CAAC,GAAGL,OAAO,CAACrqC,KAAR,CAAc8kC,SAAd,CAAwBO,gBAAxB,CACpB,0EADoB,CAAJ,EAEfpjC,MAFe,CAER/J,EAAE,IAAI,CAACA,EAAE,CAACyyC,YAAH,CAAgB,UAAhB,CAFC,CAAlB;EAIA,YAAI,CAACD,SAAS,CAAC9uC,MAAf,EAAuB;EAEvB,cAAMgvC,YAAY,GAAGF,SAAS,CAAC,CAAD,CAA9B;EACA,cAAMG,WAAW,GAAGH,SAAS,CAACA,SAAS,CAAC9uC,MAAV,GAAmB,CAApB,CAA7B;;EAEA,YAAI2uC,MAAM,KAAKK,YAAf,EAA6B;EAC3BC,UAAAA,WAAW,CAAC/I,KAAZ;EACD,SAFD,MAEO;EACL8I,UAAAA,YAAY,CAAC9I,KAAb;EACD;EACF;EACF;;EAED,QAAIp4B,UAAJ,EAAgB;EACduG,MAAAA,SAAK,CAAC,MAAM4T,QAAQ,CAAC7jB,KAAT,IAAkBjD,KAAK,CAACotC,WAA/B,EAA4C7nC,GAAG,IAAI;EACtDA,QAAAA,GAAG,GACC8F,QAAQ,CAACqiB,gBAAT,CAA0B,SAA1B,EAAqC6f,SAArC,CADD,GAECliC,QAAQ,CAACwiB,mBAAT,CAA6B,SAA7B,EAAwC0f,SAAxC,CAFJ;EAGD,OAJI,EAIF;EAAEl6B,QAAAA,SAAS,EAAE;EAAb,OAJE,CAAL;EAKD;;EAEDH,IAAAA,SAAK,CAAC4T,QAAD,EAAW,MAAMvhB,GAAN,IAAa;EAC3B,YAAMyc,YAAQ,EAAd;;EACA,UAAIzc,GAAJ,EAAS;EAAA;;EACP,sBAAA+nC,OAAO,CAACrqC,KAAR,CAAe8kC,SAAf,gCAA0BhD,KAA1B,CAAgC;EAAEgJ,UAAAA,aAAa,EAAE;EAAjB,SAAhC;EACD,OAFD,MAEO;EAAA;;EACL,wBAAAT,OAAO,CAACrqC,KAAR,CAAeuhC,WAAf,kCAA4BO,KAA5B,CAAkC;EAAEgJ,UAAAA,aAAa,EAAE;EAAjB,SAAlC;EACD;EACF,KAPI,CAAL;EASA,WAAO,MAAM;EACX;EAAA,sBAEcjnB,QAAQ,CAAC7jB,KAFvB;EAAA,yCAEc6jB,QAAQ,CAAC7jB,KAFvB;EAAA,iBAGW,CACL,UADK,EAEL;EACE,kCAAwBjD,KAAK,CAACmtC;EADhC,SAFK,CAHX;EAAA,iBASY3uB,eAAe,CAACvb,KAT5B;EAAA,sBAUiBjD,KAAK,CAACiX,UAVvB;EAAA,eAWUq2B,OAXV;EAAA,qBAYc,QAZd;EAAA,sBAae,MAbf;EAAA,0BAcoB;EACd,2BAAiB,QADH;EAEd,2BAAiBzsC,MAAM,CAACimB,QAAQ,CAAC7jB,KAAV;EAFT;EAdpB,SAkBSH,KAlBT,GAmBa;EACPiI,QAAAA,OAAO,EAAEC,KAAK,CAACD,OADR;EAEPm5B,QAAAA,SAAS,EAAEl5B,KAAK,CAACk5B;EAFV,OAnBb;EAyBD,KA1BD;EA2BD;;EA/GE,CAFkC,CAAhC;;ECLA,MAAM8J,QAAQ,GAAGtkC,eAAe,CAAC;EACtCpL,EAAAA,IAAI,EAAE,UADgC;EAGtC0B,EAAAA,KAAK,EAAE;EACLiuC,IAAAA,KAAK,EAAE75B,OADF;EAELvV,IAAAA,MAAM,EAAE,CAACkC,MAAD,EAASF,MAAT,CAFH;EAGLqtC,IAAAA,SAAS,EAAE,CAACntC,MAAD,EAASF,MAAT,CAHN;EAILqzB,IAAAA,QAAQ,EAAE9f,OAJL;EAKL,OAAGtE,cAAc;EALZ,GAH+B;;EAWtClG,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAE8C,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE8Q,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAMmuC,aAAa,GAAGtlC,YAAQ,CAAC,MAAM;EACnC,YAAMsJ,MAAqB,GAAG,EAA9B;;EAEA,UAAInS,KAAK,CAACnB,MAAV,EAAkB;EAChBsT,QAAAA,MAAM,CAACnS,KAAK,CAACk0B,QAAN,GAAiB,WAAjB,GAA+B,UAAhC,CAAN,GAAoDxzB,aAAa,CAACV,KAAK,CAACnB,MAAP,CAAjE;EACD;;EAED,UAAImB,KAAK,CAACkuC,SAAV,EAAqB;EACnB/7B,QAAAA,MAAM,CAACnS,KAAK,CAACk0B,QAAN,GAAiB,kBAAjB,GAAsC,gBAAvC,CAAN,GAAiExzB,aAAa,CAACV,KAAK,CAACkuC,SAAP,CAA9E;EACD;;EAED,aAAO/7B,MAAP;EACD,KAZ6B,CAA9B;EAcA,WAAO,MAAM;EACX;EAAA,iBAEW,CACL;EACE,uBAAa,IADf;EAEE,8BAAoBnS,KAAK,CAACiuC,KAF5B;EAGE,iCAAuBjuC,KAAK,CAACk0B;EAH/B,SADK,EAMLtgB,YAAY,CAAC3Q,KANR,CAFX;EAAA,iBAUYkrC,aAAa,CAAClrC,KAV1B;EAAA,4BAYM,CAACH,KAAK,CAACsrC,IAAP,IAAetrC,KAAK,CAACsrC,IAAN,KAAe,WAA9B,GACIpuC,KAAK,CAACk0B,QAAN,GAAiB,UAAjB,GAA8B,YADlC,GAEIz0B,SAdV;EAAA,gBAgBW,GAAEqD,KAAK,CAACsrC,IAAN,IAAc,WAAY;EAhBvC;EAmBD,KApBD;EAqBD;;EAhDqC,CAAD,CAAhC;;ECEA,MAAMC,qBAAqD,GAAGnmC,MAAM,CAACC,GAAP,CAAW,2BAAX,CAA9D;EAEP,MAAMgf,iBAAe,GAAG,CAAC,SAAD,EAAY,WAAZ,EAAyB,OAAzB,EAAkC,QAAlC,CAAxB;EAGO,MAAMmnB,gBAAgB,GAAG5kC,eAAe,CAAC;EAC9CpL,EAAAA,IAAI,EAAE,kBADwC;EAG9C0B,EAAAA,KAAK,EAAE;EACLwnB,IAAAA,OAAO,EAAE;EACPljB,MAAAA,IAAI,EAAEzD,MADC;EAEPkK,MAAAA,OAAO,EAAE,SAFF;EAGPqV,MAAAA,SAAS,EAAG5f,CAAD,IAAY2mB,iBAAe,CAACjqB,QAAhB,CAAyBsD,CAAzB;EAHhB,KADJ;EAOL,OAAGukB,YAAY,EAPV;EAQL,OAAG+C,cAAc,EARZ;EASL,OAAGhY,cAAc;EATZ,GAHuC;EAe9CwR,EAAAA,KAAK,EAAE;EACL,yBAAsB/b,GAAD,IAAkB;EADlC,GAfuC;;EAmB9CqE,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB4d,IAAAA,QAAQ,CAAC5oB,KAAD,EAAQquC,qBAAR,CAAR;EACA,UAAM;EAAEz6B,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EAEA,UAAMuuC,YAAY,GAAG1lC,YAAQ,CAAC,MAAM7I,KAAK,CAACwnB,OAAN,IAAkB,+BAA8BxnB,KAAK,CAACwnB,OAAQ,EAArE,CAA7B;EAEA,WAAO;EAAA;;EAAA;EAAA,iBAEI,CACL,oBADK,EAEL5T,YAAY,CAAC3Q,KAFR,EAGLsrC,YAAY,CAACtrC,KAHR;EAFJ;EAAA,0CAQD+H,KAAK,CAACD,OARL,qBAQD,oBAAAC,KAAK,CARJ;EAAA;EAAA,KAAP;EAWD;;EApC6C,CAAD,CAAxC;;ECPA,MAAMwjC,6BAA6B,GAAG/gC,YAAY,CAAC;EACxDghC,EAAAA,UAAU,EAAE;EACVnqC,IAAAA,IAAI,EAAEzD,MADI;EAEVkK,IAAAA,OAAO,EAAE;EAFC,GAD4C;EAKxD2jC,EAAAA,YAAY,EAAE;EACZpqC,IAAAA,IAAI,EAAEzD,MADM;EAEZkK,IAAAA,OAAO,EAAE;EAFG,GAL0C;EASxD4jC,EAAAA,WAAW,EAAEv6B,OAT2C;EAUxDie,EAAAA,MAAM,EAAE;EACN/tB,IAAAA,IAAI,EAAE,CAAC8P,OAAD,EAAUrU,MAAV,CADA;EAENgL,IAAAA,OAAO,EAAE;EAFH,GAVgD;EAcxD/D,EAAAA,KAAK,EAAEnG;EAdiD,CAAD,CAAlD;EAiBA,MAAM+tC,oBAAoB,GAAGllC,eAAe,CAAC;EAClDpL,EAAAA,IAAI,EAAE,sBAD4C;EAGlDoiB,EAAAA,UAAU,EAAE;EAAE2R,YAAAA;EAAF,GAHsC;EAKlDryB,EAAAA,KAAK,EAAE,EACL,GAAGwuC,6BAA6B;EAD3B,GAL2C;;EASlD5kC,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM6jC,cAAc,GAAGtmC,UAAM,CAAC8lC,qBAAD,CAA7B;EAEA,QAAI,CAACQ,cAAL,EAAqB,MAAM,IAAIrmC,KAAJ,CAAU,+EAAV,CAAN;EAErB,UAAM;EAAEmd,MAAAA,sBAAF;EAA0BC,MAAAA;EAA1B,QAAoDF,kBAAkB,CAAC1lB,KAAD,EAAQ,OAAR,CAA5E;EAEA,UAAM4gC,SAAS,GAAG/3B,YAAQ,CAAC,OAAO;EAChCimC,MAAAA,QAAQ,EAAED,cAAc,CAACpmB,UAAf,CAA0BxlB,KADJ;EAEhCilB,MAAAA,QAAQ,EAAE2mB,cAAc,CAAC3mB,QAAf,CAAwBjlB,KAFF;EAGhCwrC,MAAAA,UAAU,EAAEzuC,KAAK,CAACyuC,UAHc;EAIhCC,MAAAA,YAAY,EAAE1uC,KAAK,CAAC0uC;EAJY,KAAP,CAAD,CAA1B;EAOA,WAAO;EAAA;;EAAA;EAAA,iBAEI,CACL,yBADK,EAEL;EACE,6CAAmCG,cAAc,CAACpmB,UAAf,CAA0BxlB;EAD/D,SAFK,EAKL0iB,sBAAsB,CAAC1iB,KALlB,CAFJ;EAAA,iBASK2iB,qBAAqB,CAAC3iB,KAT3B;EAAA,gBAUE,QAVF;EAAA,oBAWQ4rC,cAAc,CAAC3mB,QAAf,CAAwBjlB,KAAxB,GAAgC,CAAC,CAAjC,GAAqCxD,SAX7C;EAAA,oBAYQovC,cAAc,CAAC3mB,QAAf,CAAwBjlB,KAZhC;EAAA,yBAaa4rC,cAAc,CAACpmB,UAAf,CAA0BxlB,KAbvC;EAAA,mBAcO4rC,cAAc,CAACnmB;EAdtB;EAAA,iBAiBQ;EAjBR,kCAkBD1d,KAAK,CAACD,OAlBL,qBAkBD,oBAAAC,KAAK,EAAW41B,SAAS,CAAC39B,KAArB,CAlBJ,EAmBD,CAACjD,KAAK,CAAC2uC,WAAP;EAAA,iBACW;EADX,UAGI3jC,KAAK,CAACitB,OAAN,GAAgBjtB,KAAK,CAACitB,OAAN,CAAc2I,SAAS,CAAC39B,KAAxB,CAAhB;EAAA,gBACgB4rC,cAAc,CAACpmB,UAAf,CAA0BxlB,KAA1B,GAAkCjD,KAAK,CAAC0uC,YAAxC,GAAuD1uC,KAAK,CAACyuC;EAD7E,2BAHJ,EAnBC,gGAeQzuC,KAAK,CAACqyB,MAfd;EAAA,KAAP;EA6BD;;EApDiD,CAAD,CAA5C;;ECpBA,MAAM0c,mBAAmB,GAAGrlC,eAAe,CAAC;EACjDpL,EAAAA,IAAI,EAAE,qBAD2C;EAGjD0B,EAAAA,KAAK,EAAE,EACL,GAAGkrC,aAAa;EADX,GAH0C;;EAOjDthC,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM6jC,cAAc,GAAGtmC,UAAM,CAAC8lC,qBAAD,CAA7B;EAEA,QAAI,CAACQ,cAAL,EAAqB,MAAM,IAAIrmC,KAAJ,CAAU,8EAAV,CAAN;EAErB,UAAM;EAAEwvB,MAAAA,UAAF;EAAc8C,MAAAA;EAAd,QAA+BqQ,OAAO,CAACnrC,KAAD,EAAQ6uC,cAAc,CAACpmB,UAAvB,CAA5C;EAEA,WAAO;EAAA;;EAAA;EAAA,wBAC6BqS;EAD7B;EAAA;EAAA,mBAIM,CACL,wBADK;EAJN,YAQC9vB,KAAK,CAACD,OAAN,IAAiBitB,UAAU,CAAC/0B,KAA5B;EAAA,mBACW;EADX,8BAEI+H,KAAK,CAACD,OAFV,qBAEI,oBAAAC,KAAK,CAFT,EARD,sBAGQ6jC,cAAc,CAACpmB,UAAf,CAA0BxlB,KAHlC;EAAA;EAAA,KAAP;EAgBD;;EA9BgD,CAAD,CAA3C;;ECMA,MAAM+rC,eAAe,GAAGtlC,eAAe,CAAC;EAC7CpL,EAAAA,IAAI,EAAE,iBADuC;EAG7C0B,EAAAA,KAAK,EAAE;EACL45B,IAAAA,KAAK,EAAE/4B,MADF;EAELoO,IAAAA,IAAI,EAAEpO,MAFD;EAGLs3B,IAAAA,OAAO,EAAEt3B,MAHJ;EAKL,OAAGqqC,aAAa,EALX;EAML,OAAG/iB,kBAAkB,EANhB;EAOL,OAAGxD,gBAAgB,EAPd;EAQL,OAAGJ,kBAAkB,EARhB;EASL,OAAGQ,YAAY,EATV;EAUL,OAAGypB,6BAA6B;EAV3B,GAHsC;;EAgB7C5kC,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAMikC,SAAS,GAAG7mB,YAAY,CAACpoB,KAAD,EAAQquC,qBAAR,CAA9B;EACA,UAAM;EAAEvpB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EAEAsJ,IAAAA,WAAO,CAAC+kC,qBAAD,EAAwBY,SAAxB,CAAP;EAEA,UAAMC,gBAAgB,GAAGrmC,YAAQ,CAAC,MAAM;EACtC,YAAMsO,KAAK,GAAG83B,SAAS,CAAC1mB,KAAV,CAAgBrR,KAAhB,CAAsBjU,KAAtB,CAA4B5G,OAA5B,CAAoC4yC,SAAS,CAACj8B,EAA9C,CAAd;EACA,aAAO,CAACi8B,SAAS,CAACxmB,UAAV,CAAqBxlB,KAAtB,IACLgsC,SAAS,CAAC1mB,KAAV,CAAgBQ,QAAhB,CAAyB9lB,KAAzB,CAA+BP,IAA/B,CAAoCsQ,EAAE,IAAIi8B,SAAS,CAAC1mB,KAAV,CAAgBrR,KAAhB,CAAsBjU,KAAtB,CAA4B5G,OAA5B,CAAoC2W,EAApC,IAA0CmE,KAA1C,KAAoD,CAA9F,CADF;EAED,KAJgC,CAAjC;EAMA,UAAMg4B,eAAe,GAAGtmC,YAAQ,CAAC,MAAM;EACrC,YAAMsO,KAAK,GAAG83B,SAAS,CAAC1mB,KAAV,CAAgBrR,KAAhB,CAAsBjU,KAAtB,CAA4B5G,OAA5B,CAAoC4yC,SAAS,CAACj8B,EAA9C,CAAd;EACA,aAAO,CAACi8B,SAAS,CAACxmB,UAAV,CAAqBxlB,KAAtB,IACLgsC,SAAS,CAAC1mB,KAAV,CAAgBQ,QAAhB,CAAyB9lB,KAAzB,CAA+BP,IAA/B,CAAoCsQ,EAAE,IAAIi8B,SAAS,CAAC1mB,KAAV,CAAgBrR,KAAhB,CAAsBjU,KAAtB,CAA4B5G,OAA5B,CAAoC2W,EAApC,IAA0CmE,KAA1C,KAAoD,CAAC,CAA/F,CADF;EAED,KAJ+B,CAAhC;EAMA,UAAM;EAAEwO,MAAAA,sBAAF;EAA0BC,MAAAA;EAA1B,QAAoDF,kBAAkB,CAAC1lB,KAAD,EAAQ,SAAR,CAA5E;EAEA,WAAO;EAAA;;EAAA;EAAA,iBAEI,CACL,mBADK,EAEL;EACE,uCAA6BivC,SAAS,CAACxmB,UAAV,CAAqBxlB,KADpD;EAEE,8CAAoCisC,gBAAgB,CAACjsC,KAFvD;EAGE,6CAAmCksC,eAAe,CAAClsC,KAHrD;EAIE,yCAA+BgsC,SAAS,CAAC/mB,QAAV,CAAmBjlB;EAJpD,SAFK,EAQL6hB,cAAc,CAAC7hB,KARV,EASL0iB,sBAAsB,CAAC1iB,KATlB,CAFJ;EAAA,iBAaK2iB,qBAAqB,CAAC3iB,KAb3B;EAAA,yBAcagsC,SAAS,CAACxmB,UAAV,CAAqBxlB;EAdlC;EAAA;EAAA,mBAiBM,CACL,2BADK,EAEL,GAAGyhB,gBAAgB,CAACzhB,KAFf;EAjBN,qBAsBD,mBAAA+H,KAAK,CAACD,OAAN,yCAAAC,KAAK;EAAA,wBAGYhL,KAAK,CAACyuC,UAHlB;EAAA,0BAIczuC,KAAK,CAAC0uC,YAJpB;EAAA,mBAKO1uC,KAAK,CAACgH,KALb;EAAA,yBAMahH,KAAK,CAAC2uC,WANnB;EAAA,oBAOQ3uC,KAAK,CAACqyB;EAPd;EAAA,0BASCrnB,KAAK,CAAC4uB,KAAN,GAAc5uB,KAAK,CAAC4uB,KAAN,EAAd,GAA8B55B,KAAK,CAAC45B,KATrC;EAAA;EAAA,mBAW0B55B,KAAK,CAAC8gB;EAXhC;EAAA,0BAYC9V,KAAK,CAACiE,IAAN,GAAajE,KAAK,CAACiE,IAAN,EAAb,GAA4BjP,KAAK,CAACiP,IAZnC;EAAA,0BAtBJ;EAAA;EAAA;EAAA,KAAP;EAwCD;;EA7E4C,CAAD,CAAvC;;ECXA,MAAMmgC,WAAW,GAAG1lC,eAAe,CAAC;EACzCpL,EAAAA,IAAI,EAAE,aADmC;EAGzC0B,EAAAA,KAAK,EAAE;EACLsmB,IAAAA,QAAQ,EAAElS;EADL,GAHkC;;EAOzCxK,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,WAAO,MAAM;EACX;EAAA,iBAEW,CACL,eADK,EAEL;EAAE,qCAA2BhL,KAAK,CAACsmB;EAAnC,SAFK,CAFX;EAAA,uBAMkBtmB,KAAK,CAACsmB,QAAN,IAAkB7mB;EANpC,SAOcuL,KAPd;EAUD,KAXD;EAYD;;EApBwC,CAAD,CAAnC;;ECNP;EAGO,SAASqkC,uBAAT,CAAkClD,QAAlC,EAA2E;EAChF,QAAMmD,eAAe,GAAGxqC,OAAG,EAA3B;EACA,QAAM4a,cAAc,GAAG5a,OAAG,CAAC,KAAD,CAA1B;EAEA,QAAMsa,QAAQ,GAAG,IAAIC,oBAAJ,CAA0BrO,OAAD,IAA0C;EAClFm7B,IAAAA,QAAQ,QAAR,YAAAA,QAAQ,CAAGn7B,OAAH,EAAYoO,QAAZ,CAAR;EAEAM,IAAAA,cAAc,CAACzc,KAAf,GAAuB,CAAC,CAAC+N,OAAO,CAACqG,IAAR,CAAasI,KAAK,IAAIA,KAAK,CAACD,cAA5B,CAAzB;EACD,GAJgB,CAAjB;EAMA1K,EAAAA,mBAAe,CAAC,MAAM;EACpBoK,IAAAA,QAAQ,CAAC4oB,UAAT;EACD,GAFc,CAAf;EAIA90B,EAAAA,SAAK,CAACo8B,eAAD,EAAkB,CAACppB,QAAD,EAAW6L,QAAX,KAAwB;EAC7C,QAAIA,QAAJ,EAAc;EACZ3S,MAAAA,QAAQ,CAACa,SAAT,CAAmB8R,QAAnB;EACArS,MAAAA,cAAc,CAACzc,KAAf,GAAuB,KAAvB;EACD;;EAED,QAAIijB,QAAJ,EAAc9G,QAAQ,CAACY,OAAT,CAAiBkG,QAAjB;EACf,GAPI,EAOF;EACDqf,IAAAA,KAAK,EAAE;EADN,GAPE,CAAL;EAWA,SAAO;EAAE+J,IAAAA,eAAF;EAAmB5vB,IAAAA;EAAnB,GAAP;EACD;;ECbM,MAAM6vB,eAAe,GAAG7lC,eAAe,CAAC;EAC7CpL,EAAAA,IAAI,EAAE,iBADuC;EAG7C0B,EAAAA,KAAK,EAAE;EACL6U,IAAAA,MAAM,EAAE;EACNvQ,MAAAA,IAAI,EAAE8P,OADA;EAENrJ,MAAAA,OAAO,EAAE;EAFH,KADH;EAKLotB,IAAAA,OAAO,EAAEt3B,MALJ;EAML2uC,IAAAA,SAAS,EAAE,CAACzuC,MAAD,EAASF,MAAT,CANN;EAOL4uC,IAAAA,WAAW,EAAE;EACXnrC,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADK;EAEXkK,MAAAA,OAAO,EAAE;EAFE,KAPR;EAWL2kC,IAAAA,SAAS,EAAEt7B,OAXN;EAYLpN,IAAAA,KAAK,EAAEnG,MAZF;EAaLhG,IAAAA,MAAM,EAAE;EACNyJ,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADA;EAENkK,MAAAA,OAAO,EAAE;EAFH,KAbH;EAiBLy3B,IAAAA,aAAa,EAAEpuB,OAjBV;EAkBLjR,IAAAA,GAAG,EAAE;EACHmB,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADH;EAEHkK,MAAAA,OAAO,EAAE;EAFN,KAlBA;EAsBLwb,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADI;EAEVkK,MAAAA,OAAO,EAAE;EAFC,KAtBP;EA0BL4kC,IAAAA,OAAO,EAAEv7B,OA1BJ;EA2BLw7B,IAAAA,MAAM,EAAEx7B,OA3BH;EA4BLy7B,IAAAA,OAAO,EAAEz7B,OA5BJ;EA6BL07B,IAAAA,UAAU,EAAE17B,OA7BP;EA+BL,OAAGuQ,gBAAgB,EA/Bd;EAgCL,OAAGI,YAAY,EAhCV;EAiCL,OAAGjV,cAAc;EAjCZ,GAHsC;EAuC7CwR,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAAmB;EADnC,GAvCsC;;EA2C7C2G,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM+kC,QAAQ,GAAGlqB,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAAhC;EACA,UAAM;EAAE0d,MAAAA;EAAF,QAAYM,MAAM,EAAxB;EACA,UAAM;EAAEpK,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEwlB,MAAAA,gBAAF;EAAoBC,MAAAA;EAApB,QAAwCF,YAAY,CAACvlB,KAAD,EAAQ,OAAR,CAA1D;EACA,UAAM;EAAE2lB,MAAAA,sBAAF;EAA0BC,MAAAA;EAA1B,QAAoDF,kBAAkB,CAAC7c,YAAQ,CAAC,MAAM7I,KAAK,CAACm4B,OAAN,IAAiBn4B,KAAK,CAACgH,KAA9B,CAAT,CAA5E;EACA,UAAM;EAAE2e,MAAAA,sBAAsB,EAAEqqB,eAA1B;EAA2CpqB,MAAAA,qBAAqB,EAAEqqB;EAAlE,QAAqFvqB,kBAAkB,CAAC1lB,KAAD,EAAQ,OAAR,CAA7G;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EACA,UAAM;EAAEsvC,MAAAA,eAAF;EAAmB5vB,MAAAA;EAAnB,QAAsC2vB,uBAAuB,EAAnE;EAEA,UAAMlsC,GAAG,GAAG0F,YAAQ,CAAC,MAAMzB,QAAQ,CAACpH,KAAK,CAACmD,GAAP,EAAY,EAAZ,CAAf,CAApB;EACA,UAAMtI,MAAM,GAAGgO,YAAQ,CAAC,MAAMzB,QAAQ,CAACpH,KAAK,CAACnF,MAAP,EAAe,EAAf,CAAf,CAAvB;EACA,UAAMq1C,gBAAgB,GAAGrnC,YAAQ,CAAC,MAAMzM,UAAU,CAAC4D,KAAK,CAACyvC,WAAP,CAAV,GAAgCtsC,GAAG,CAACF,KAApC,GAA4C,GAAnD,CAAjC;EACA,UAAMktC,eAAe,GAAGtnC,YAAQ,CAAC,MAAMzM,UAAU,CAAC2zC,QAAQ,CAAC9sC,KAAV,CAAV,GAA6BE,GAAG,CAACF,KAAjC,GAAyC,GAAhD,CAAhC;EACA,UAAMmtC,UAAU,GAAGvnC,YAAQ,CAAC,MAAM6U,KAAK,CAACza,KAAN,KAAgBjD,KAAK,CAAC2vC,OAA7B,CAA3B;EACA,UAAM14B,UAAU,GAAGpO,YAAQ,CAAC,MAAM7I,KAAK,CAACwiC,aAAN,GAAsB,iBAAtB,GAA0C,oBAAjD,CAA3B;EACA,UAAMrU,OAAO,GAAGtlB,YAAQ,CAAC,MAAM;EAC7B,aAAO7I,KAAK,CAACwvC,SAAN,IAAmB,IAAnB,GACHxvC,KAAK,CAACwvC,SADH,GAEHpzC,UAAU,CAAC4D,KAAK,CAACwvC,SAAP,CAFd;EAGD,KAJuB,CAAxB;;EAMA,aAASa,WAAT,CAAsBviB,CAAtB,EAAqC;EACnC,UAAI,CAACwhB,eAAe,CAACrsC,KAArB,EAA4B;EAE5B,YAAM;EAAEjI,QAAAA,IAAF;EAAQC,QAAAA,KAAR;EAAeL,QAAAA;EAAf,UAAyB00C,eAAe,CAACrsC,KAAhB,CAAsB5H,qBAAtB,EAA/B;EACA,YAAM4H,KAAK,GAAGmtC,UAAU,CAACntC,KAAX,GAAoBrI,KAAK,GAAGkzB,CAAC,CAACY,OAAX,IAAuBzzB,KAAK,GAAGL,KAA/B,CAAnB,GAA2DkzB,CAAC,CAACY,OAAF,GAAY1zB,IAArF;EAEA+0C,MAAAA,QAAQ,CAAC9sC,KAAT,GAAiBG,IAAI,CAAC+C,KAAL,CAAWlD,KAAK,GAAGrI,KAAR,GAAgBuI,GAAG,CAACF,KAA/B,CAAjB;EACD;;EAED,WAAO;EAAA,aAEGqsC,eAFH;EAAA,eAGI,CACL,mBADK,EAEL;EACE,qCAA6BtvC,KAAK,CAAC6U,MAAN,IAAgB6K,cAAc,CAACzc,KAD9D;EAEE,sCAA8BmtC,UAAU,CAACntC,KAF3C;EAGE,sCAA8BjD,KAAK,CAAC4kB,OAHtC;EAIE,0CAAkC5kB,KAAK,CAAC8vC,UAJ1C;EAKE,sCAA8B9vC,KAAK,CAAC6vC;EALtC,OAFK,EASL/qB,cAAc,CAAC7hB,KATV,EAUL2Q,YAAY,CAAC3Q,KAVR,CAHJ;EAAA,eAeI;EACLpI,QAAAA,MAAM,EAAEmF,KAAK,CAAC6U,MAAN,GAAenU,aAAa,CAAC7F,MAAM,CAACoI,KAAR,CAA5B,GAA6C,CADhD;EAEL,sCAA8BvC,aAAa,CAAC7F,MAAM,CAACoI,KAAR;EAFtC,OAfJ;EAAA,cAmBE,aAnBF;EAAA,uBAoBW,GApBX;EAAA,uBAqBajD,KAAK,CAACmD,GArBnB;EAAA,uBAsBanD,KAAK,CAACwiC,aAAN,GAAsB/iC,SAAtB,GAAkC0wC,eAAe,CAACltC,KAtB/D;EAAA,iBAuBOjD,KAAK,CAAC0vC,SAAN,IAAmBW;EAvB1B;EAAA,sBAyBDrwC,KAAK,CAAC4vC,MAAN;EAAA,iBAES,CACL,2BADK,EAELpqB,gBAAgB,CAACviB,KAFZ,CAFT;EAAA,iBAMS,EACL,GAAGwiB,eAAe,CAACxiB,KADd;EAEL,WAACmtC,UAAU,CAACntC,KAAX,GAAmB,MAAnB,GAA4B,OAA7B,GAAuCvC,aAAa,CAAC,CAAC7F,MAAM,CAACoI,KAAT,CAF/C;EAGLqtC,UAAAA,SAAS,EAAG,GAAE5vC,aAAa,CAAC7F,MAAM,CAACoI,KAAP,GAAe,CAAhB,CAAmB,SAHzC;EAILkrB,UAAAA,OAAO,EAAEA,OAAO,CAAClrB,KAJZ;EAKLnI,UAAAA,GAAG,EAAG,cAAa4F,aAAa,CAAC7F,MAAM,CAACoI,KAAP,GAAe,CAAhB,CAAmB,GAL9C;EAMLrI,UAAAA,KAAK,EAAE8F,aAAa,CAAC,MAAMwvC,gBAAgB,CAACjtC,KAAxB,EAA+B,GAA/B,CANf;EAOL,2CAAiCvC,aAAa,CAAC7F,MAAM,CAACoI,KAAP,IAAgBmtC,UAAU,CAACntC,KAAX,GAAmB,CAAnB,GAAuB,CAAC,CAAxC,CAAD;EAPzC;EANT,iBAzBC;EAAA,iBA4CM,CACL,+BADK,EAEL0iB,sBAAsB,CAAC1iB,KAFlB,CA5CN;EAAA,iBAgDM,CACL2iB,qBAAqB,CAAC3iB,KADjB,EAEL;EACEkrB,UAAAA,OAAO,EAAEA,OAAO,CAAClrB,KADnB;EAEErI,UAAAA,KAAK,EAAE8F,aAAa,CAAE,CAACV,KAAK,CAAC4vC,MAAP,GAAgB,GAAhB,GAAsBM,gBAAgB,CAACjtC,KAAzC,EAAiD,GAAjD;EAFtB,SAFK;EAhDN;EAAA,gBAyDgBgU,UAAU,CAAChU;EAzD3B;EAAA,wBA0DC,CAACjD,KAAK,CAACwiC,aAAP;EAAA,mBAES,CACL,gCADK,EAELwN,eAAe,CAAC/sC,KAFX,CAFT;EAAA,mBAMS,CACLgtC,cAAc,CAAChtC,KADV,EAEL;EAAErI,YAAAA,KAAK,EAAE8F,aAAa,CAACyvC,eAAe,CAACltC,KAAjB,EAAwB,GAAxB;EAAtB,WAFK;EANT;EAAA,mBAYW;EAZX,YAaI,CAAC,MAAD,EAAS,OAAT,EAAkBlE,GAAlB,CAAsBwxC,GAAG;EAAA,iBAEjBA,GAFiB;EAAA,mBAGhB,CACL,kCADK,EAELA,GAFK,EAGLP,eAAe,CAAC/sC,KAHX,CAHgB;EAAA,mBAQfgtC,cAAc,CAAChtC;EARA,mBAAzB,CAbJ,EA1DD;EAAA,uBAsFD+H,KAAK,CAACD,OAAN;EAAA,iBACW;EADX,UAEIC,KAAK,CAACD,OAAN,CAAc;EAAE9H,QAAAA,KAAK,EAAEktC,eAAe,CAACltC,KAAzB;EAAgCutC,QAAAA,MAAM,EAAEN,gBAAgB,CAACjtC;EAAzD,OAAd,CAFJ,EAtFC;EAAA;EAAA,0EAAP;EA6FD;;EAvK4C,CAAD,CAAvC;;ECKP;EACO,MAAMwtC,eAAe,GAAGhjC,YAAY,CAAC;EAC1CijC,EAAAA,OAAO,EAAEt8B;EADiC,CAAD,EAExC,QAFwC,CAApC;EAIA,SAASu8B,SAAT,CACL3wC,KADK,EAGL;EAAA,MADA1B,IACA,uEADOqN,sBAAsB,EAC7B;EACA,QAAMilC,aAAa,GAAG/nC,YAAQ,CAAC,OAAO;EACpC,KAAE,GAAEvK,IAAK,WAAT,GAAsB0B,KAAK,CAAC0wC;EADQ,GAAP,CAAD,CAA9B;EAIA,SAAO;EAAEE,IAAAA;EAAF,GAAP;EACD;EAEM,SAASC,UAAT,CACL7wC,KADK,QASL;EAAA;;EAAA,MADA;EAAEgL,IAAAA;EAAF,GACA;EACA;EAAA,aACe,GAAEhL,KAAK,CAAC1B,IAAK;EAD5B,MAEM,mBAAA0M,KAAK,CAACD,OAAN,yCAAAC,KAAK,EAAW;EAChBhE,IAAAA,KAAK,EAAEhH,KAAK,CAACgH,KADG;EAEhB8f,IAAAA,QAAQ,EAAE9mB,KAAK,CAAC6U;EAFA,GAAX,CAAL;EAAA,cAKW7U,KAAK,CAAC6U,MALjB;EAAA,aAMU7U,KAAK,CAACgH,KANhB;EAAA,cAOS,GAPT;EAAA;EAAA,mDAFN;EAeD;;EC5DM,MAAM8pC,QAAQ,GAAG,MAAM;EAC5B,QAAMnQ,SAAS,GAAG77B,OAAG,CAAC,KAAD,CAArB;;EAEA,WAASigC,KAAT,GAAkB;EAChBpE,IAAAA,SAAS,CAAC19B,KAAV,GAAkB,IAAlB;EACD;;EAED,WAAS+hC,IAAT,GAAiB;EACfrE,IAAAA,SAAS,CAAC19B,KAAV,GAAkB,KAAlB;EACD;;EAED,SAAO;EAAE09B,IAAAA,SAAF;EAAaoE,IAAAA,KAAb;EAAoBC,IAAAA;EAApB,GAAP;EACD,CAZM;;ECgCP,MAAM7d,eAAe,GAAG,CAAC,YAAD,EAAe,UAAf,EAA2B,QAA3B,EAAqC,WAArC,EAAkD,OAAlD,CAAxB;EAeO,MAAM4pB,eAAe,GAAGtjC,YAAY,CAAC;EAC1CujC,EAAAA,eAAe,EAAEnwC,MADyB;EAE1Cs3B,EAAAA,OAAO,EAAEt3B,MAFiC;EAG1CowC,EAAAA,SAAS,EAAE78B,OAH+B;EAI1C88B,EAAAA,SAAS,EAAE;EACT5sC,IAAAA,IAAI,EAAEzD,MADG;EAETkK,IAAAA,OAAO,EAAE;EAFA,GAJ+B;EAQ1C/D,EAAAA,KAAK,EAAEnG,MARmC;EAS1CmzB,EAAAA,KAAK,EAAEnzB,MATmC;EAU1CswC,EAAAA,eAAe,EAAE/8B,OAVyB;EAW1Cg9B,EAAAA,gBAAgB,EAAEvwC,MAXwB;EAY1C8uC,EAAAA,OAAO,EAAEv7B,OAZiC;EAa1Ci9B,EAAAA,UAAU,EAAEj9B,OAb8B;EAc1CoT,EAAAA,OAAO,EAAE;EACPljB,IAAAA,IAAI,EAAEzD,MADC;EAEPkK,IAAAA,OAAO,EAAE,QAFF;EAGPqV,IAAAA,SAAS,EAAG5f,CAAD,IAAY2mB,eAAe,CAACjqB,QAAhB,CAAyBsD,CAAzB;EAHhB,GAdiC;EAoB1C,KAAGsP,cAAc,EApByB;EAqB1C,KAAG2gC,eAAe;EArBwB,CAAD,EAsBxC,SAtBwC,CAApC;EAwBA,MAAMa,MAAM,GAAG/mC,gBAAgB,GAajC;EACHjM,EAAAA,IAAI,EAAE,QADH;EAGHusB,EAAAA,YAAY,EAAE,KAHX;EAKH7qB,EAAAA,KAAK,EAAE;EACL6U,IAAAA,MAAM,EAAET,OADH;EAEL8T,IAAAA,QAAQ,EAAE9T,OAFL;EAGL1W,IAAAA,KAAK,EAAE0W,OAHF;EAILpB,IAAAA,EAAE,EAAEnS,MAJC;EAKL,OAAGkwC,eAAe;EALb,GALJ;EAaHzvB,EAAAA,KAAK,EAAE;EACL,mBAAgBwM,CAAD,IAAc,IADxB;EAEL,2BAAwBA,CAAD,IAAmB,IAFrC;EAGL,0BAAuBA,CAAD,IAAmB,IAHpC;EAIL,qBAAkB9tB,KAAD,IAA6B,IAJzC;EAKL,qBAAkB6U,MAAD,IAAqB,IALjC;EAML,yBAAsBtP,GAAD,IAAc;EAN9B,GAbJ;;EAsBHqE,EAAAA,KAAK,CAAE5J,KAAF,QAAiC;EAAA,QAAxB;EAAE8C,MAAAA,KAAF;EAASye,MAAAA,IAAT;EAAevW,MAAAA;EAAf,KAAwB;EACpC,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAE4wC,MAAAA;EAAF,QAAoBD,SAAS,CAAC3wC,KAAD,CAAnC;EACA,UAAM8mB,QAAQ,GAAGjB,eAAe,CAAC7lB,KAAD,EAAQ,QAAR,CAAhC;EACA,UAAM;EAAE2gC,MAAAA,SAAF;EAAaoE,MAAAA,KAAb;EAAoBC,MAAAA;EAApB,QAA6B8L,QAAQ,EAA3C;EAEA,UAAMrxB,GAAG,GAAGxb,MAAM,EAAlB;EAEA,UAAMstC,QAAQ,GAAGzsC,OAAG,EAApB;EACA,UAAM0sC,gBAAgB,GAAG1sC,OAAG,EAA5B;EACA,UAAM2sC,UAAU,GAAG3sC,OAAG,EAAtB;EACA,UAAMkO,EAAE,GAAGnK,YAAQ,CAAC,MAAM7I,KAAK,CAACgT,EAAN,IAAa,SAAQyM,GAAI,EAAhC,CAAnB;EACA,UAAMiyB,QAAQ,GAAG7oC,YAAQ,CAAC,MAAM,CAAC7I,KAAK,CAACqxC,UAAP,IAAqB,CAAC,EAAErxC,KAAK,CAACg0B,KAAN,IAAehpB,KAAK,CAACgpB,KAAvB,CAA7B,CAAzB;EAEA9pB,IAAAA,eAAW,CAAC,MAAM4c,QAAQ,CAAC7jB,KAAT,GAAiB09B,SAAS,CAAC19B,KAAlC,CAAX;EAEA,UAAM;EAAE0iB,MAAAA,sBAAF;EAA0BC,MAAAA;EAA1B,QAAoDF,kBAAkB,CAACgB,SAAK,CAAC1mB,KAAD,EAAQ,SAAR,CAAN,CAA5E;EACA,UAAM;EAAEwlB,MAAAA,gBAAF;EAAoBC,MAAAA;EAApB,QAAwCF,YAAY,CAAC1c,YAAQ,CAAC,MAAM;EACxE,aACEie,QAAQ,CAAC7jB,KAAT,IACA09B,SAAS,CAAC19B,KADV,IAEA,CAACjD,KAAK,CAACtC,KAFP,IAGA,CAACsC,KAAK,CAACkoB,QAJF,GAKHloB,KAAK,CAACgH,KALH,GAKWvH,SALlB;EAMD,KAPkE,CAAT,CAA1D;EASAyT,IAAAA,SAAK,CAAC4T,QAAD,EAAWvhB,GAAG,IAAI;EACrB,UAAImsC,QAAQ,CAACzuC,KAAb,EAAoB;EAClB,cAAM9H,EAAe,GAAGo2C,QAAQ,CAACtuC,KAAT,CAAgB8iC,GAAxC;EACA,cAAM4L,QAAqB,GAAGH,gBAAgB,CAACvuC,KAAjB,CAAwB8iC,GAAtD;EACA,cAAM3qC,IAAI,GAAGF,iBAAiB,CAACC,EAAD,CAA9B;EACA,cAAMy2C,UAAU,GAAGD,QAAQ,CAACt2C,qBAAT,EAAnB;EAEA,cAAMX,CAAC,GAAGk3C,UAAU,CAACl3C,CAAX,GAAeU,IAAI,CAACV,CAA9B;EACA,cAAMC,CAAC,GAAGi3C,UAAU,CAACj3C,CAAX,GAAeS,IAAI,CAACT,CAApB,IAAyBS,IAAI,CAACP,MAAL,GAAc,CAAd,GAAkB+2C,UAAU,CAAC/2C,MAAX,GAAoB,CAA/D,CAAV;EAEA,cAAMg3C,WAAW,GAAGD,UAAU,CAACh3C,KAAX,GAAmB,IAAvC;EACA,cAAMA,KAAK,GAAGwI,IAAI,CAACK,GAAL,CAASouC,WAAW,GAAGz2C,IAAI,CAACR,KAA5B,IAAqC,CAArC,GACV;EAAEwjB,UAAAA,QAAQ,EAAE1d,aAAa,CAACmxC,WAAD;EAAzB,SADU,GAEVpyC,SAFJ;EAIA,cAAM28B,QAAQ,GAAGhgC,UAAU,CAACb,gBAAgB,CAACJ,EAAD,CAAhB,CAAqB22C,kBAAtB,CAAV,GAAsD,IAAvE;EACA,cAAMjjB,KAAK,GAAGzyB,UAAU,CAACb,gBAAgB,CAACo2C,QAAD,CAAhB,CAA2B3U,gBAA3B,CAA4C,uBAA5C,CAAD,CAAxB;EAEA7hC,QAAAA,EAAE,CAACG,KAAH,CAASy2C,UAAT,GAAsB,SAAtB;EACAJ,QAAAA,QAAQ,CAACr2C,KAAT,CAAey2C,UAAf,GAA4B,QAA5B;EAEA52C,QAAAA,EAAE,CAACghC,OAAH,CAAW,CACT;EAAE1gC,UAAAA,SAAS,EAAE;EAAb,SADS,EAET;EAAEA,UAAAA,SAAS,EAAG,aAAYf,CAAE,OAAMC,CAAE,aAAYk0B,KAAM,GAAtD;EAA0D,aAAGj0B;EAA7D,SAFS,CAAX,EAGG;EACDwhC,UAAAA,QADC;EAEDC,UAAAA,MAAM,EAAE9wB,cAFP;EAGDi1B,UAAAA,SAAS,EAAEj7B,GAAG,GAAG,QAAH,GAAc;EAH3B,SAHH,EAOG+2B,QAPH,CAOYC,IAPZ,CAOiB,MAAM;EACrBphC,UAAAA,EAAE,CAACG,KAAH,CAASkhC,cAAT,CAAwB,YAAxB;EACAmV,UAAAA,QAAQ,CAACr2C,KAAT,CAAekhC,cAAf,CAA8B,YAA9B;EACD,SAVD;EAWD;EACF,KAjCI,EAiCF;EAAE+I,MAAAA,KAAK,EAAE;EAAT,KAjCE,CAAL;EAmCA,UAAM3E,SAAS,GAAG/3B,YAAQ,CAAmB,OAAO;EAClDie,MAAAA,QAAQ,EAAEA,QAAQ,CAAC7jB,KAD+B;EAElD09B,MAAAA,SAAS,EAAEA,SAAS,CAAC19B,KAF6B;EAGlDwuC,MAAAA,UAHkD;EAIlDzM,MAAAA,IAJkD;EAKlDD,MAAAA;EALkD,KAAP,CAAnB,CAA1B;;EAQA,aAAS/X,OAAT,CAAkBc,CAAlB,EAAiC;EAC/B,UAAIA,CAAC,CAACjqB,MAAF,KAAawH,QAAQ,CAAC2mC,aAA1B,EAAyC;EACvClkB,QAAAA,CAAC,CAACmkB,cAAF;EACD;;EAED1wB,MAAAA,IAAI,CAAC,eAAD,EAAkBqf,SAAS,CAAC39B,KAA5B,CAAJ;EACD;;EAED,UAAMw9B,MAAM,GAAGl4B,UAAM,CAAC,QAAD,EAAyC9I,SAAzC,CAArB;EAEAoO,IAAAA,SAAS,CAAC,MAAM;EAAA;;EACd,YAAMqkC,UAAU,GAAGlyC,KAAK,CAACwnB,OAAN,KAAkB,UAArC;EACA,YAAMkM,UAAU,GAAI1oB,KAAK,CAACmnC,YAAN,IAAsBnyC,KAAK,CAACoxC,gBAAhD;EACA,YAAMgB,QAAQ,GAAG,CAAC,EAAEpyC,KAAK,CAACixC,SAAN,IAAmBjmC,KAAK,CAACqnC,KAA3B,CAAlB;EACA,YAAMrY,SAAS,GAAG,CAAC,EAAEhvB,KAAK,CAACsnC,WAAN,IAAqBtyC,KAAK,CAACgxC,eAA3B,IAA8CoB,QAAhD,CAAnB;EACA,YAAMpe,KAAK,GAAGhpB,KAAK,CAACgpB,KAAN,GACVhpB,KAAK,CAACgpB,KAAN,CAAY;EACZA,QAAAA,KAAK,EAAEh0B,KAAK,CAACg0B,KADD;EAEZh0B,QAAAA,KAAK,EAAE;EAAEmI,UAAAA,GAAG,EAAE6K,EAAE,CAAC/P;EAAV;EAFK,OAAZ,CADU,GAKVjD,KAAK,CAACg0B,KALV;EAOA;EAAA,iBAEW,CACL,SADK,EAEL;EACE,6BAAmBlN,QAAQ,CAAC7jB,KAD9B;EAEE,+BAAqB+2B,SAFvB;EAGE,8BAAoB2G,SAAS,CAAC19B,KAHhC;EAIE,qCAA2B,CAAC,CAACjD,KAAK,CAACm4B,OAJrC;EAKE,uCAA6Bn4B,KAAK,CAACmxC,eALrC;EAME,gCAAsBzd,UANxB;EAOE,8BAAoB1zB,KAAK,CAAC2vC,OAP5B;EAQE,kCAAwB3vC,KAAK,CAACqxC,UARhC;EASE,WAAE,oBAAmBrxC,KAAK,CAACwnB,OAAQ,EAAnC,GAAuC;EATzC,SAFK,EAaL5T,YAAY,CAAC3Q,KAbR,EAcL2tC,aAAa,CAAC3tC,KAdT,EAeL0iB,sBAAsB,CAAC1iB,KAflB,EAgBLuiB,gBAAgB,CAACviB,KAhBZ,CAFX;EAAA,iBAoBW,CACL2iB,qBAAqB,CAAC3iB,KADjB,EAELwiB,eAAe,CAACxiB,KAFX,CApBX;EAAA,mBAwBc+pB;EAxBd,SAyBSlqB,KAzBT;EAAA,iBA2Be;EA3Bf;EAAA,gBA8BW,SA9BX;EAAA,kBA+Be9C,KAAK,CAAC0wC,OA/BrB;EAAA,iBAgCcjQ,MAAM,GAAI,CAACA,MAAM,CAACx9B,KAAP,CAAa88B,OAAb,CAAqB98B,KAAtB,GAA8BxD,SAA9B,GAA0CO,KAAK,CAACgH,KAApD,GAA6DhH,KAAK,CAACgH;EAhCvF,SAiCe;EAAE+D,QAAAA,OAAO,EAAEC,KAAK,CAACunC;EAAjB,OAjCf,2BAoCM7e,UAAU;EAAA,iBAEF,wBAFE;EAAA,mBAGE5F,CAAC,IAAIvM,IAAI,CAAC,qBAAD,EAAwBuM,CAAxB;EAHX,UAKN9tB,KAAK,CAACoxC,gBAAN;EAAA,gBACcpxC,KAAK,CAACoxC;EADpB,2BALM,EASNpmC,KATM,2CASNA,KAAK,CAAEmnC,YATD,qBASN,yBAAAnnC,KAAK,EAAiBy1B,MAAjB,oBAAiBA,MAAM,CAAEx9B,KAAzB,CATC,kBApChB;EAAA,iBAiDe;EAjDf,UAkDQ,CAAC,WAAD,EAAc,QAAd,EAAwB/F,QAAxB,CAAiC8C,KAAK,CAACwnB,OAAvC,KAAmDkqB,QAAQ,CAACzuC,KAA5D;EAAA,eACmBuuC,gBADnB;EAAA;EAAA;EAAA,wBAEIxd,KAFJ;EAAA;EAAA,yBAlDR;EAAA,eAwDyBud,QAxDzB;EAAA,eAwD0Cv+B,EAAE,CAAC/P;EAxD7C;EAAA,wBAyDU+wB,KAzDV;EAAA;EAAA,wCA4DQhpB,KAAK,CAACD,OA5Dd,qBA4DQ,oBAAAC,KAAK,EAAW,EAChB,IAAGy1B,MAAH,oBAAGA,MAAM,CAAEx9B,KAAX,CADgB;EAEhB,WAAG29B,SAAS,CAAC39B,KAFG;EAGhBjD,QAAAA,KAAK,EAAE;EACLgT,UAAAA,EAAE,EAAEA,EAAE,CAAC/P,KADF;EAELgI,UAAAA,KAAK,EAAE,gBAFF;EAGLk3B,UAAAA,OAAO,EAAE,MAAOxB,SAAS,CAAC19B,KAAV,GAAkB,IAH7B;EAILo/B,UAAAA,MAAM,EAAE,MAAO1B,SAAS,CAAC19B,KAAV,GAAkB;EAJ5B,SAHS;EAShB8hC,QAAAA,KATgB;EAUhBC,QAAAA;EAVgB,OAAX,CA5Db,IA0EMoN,QAAQ;EAAA;EAAA,mBAGE,oBAHF;EAAA,qBAIOtkB,CAAD,IAAcvM,IAAI,CAAC,aAAD,EAAgBuM,CAAhB;EAJxB,YAOF9iB,KAAK,CAACqnC,KAAN,GACErnC,KAAK,CAACqnC,KAAN,EADF;EAAA,kBAEgBryC,KAAK,CAACkxC;EAFtB,6BAPE,iCAKKlxC,KAAK,CAAC6U,MALX;EAAA,QA1Ed,EAyFMmlB,SAAS;EAAA,iBAED,uBAFC;EAAA,mBAGGlM,CAAC,IAAIvM,IAAI,CAAC,oBAAD,EAAuBuM,CAAvB;EAHZ,UAKL9iB,KALK,0CAKLA,KAAK,CAAEsnC,WALF,qBAKL,wBAAAtnC,KAAK,EAAgBy1B,MAAhB,oBAAgBA,MAAM,CAAEx9B,KAAxB,CALA,EAOLjD,KAAK,CAACgxC,eAAN;EAAA,gBACchxC,KAAK,CAACgxC;EADpB,2BAPK,kBAzFf;EAAA,iBAsGe;EAtGf,UAuGQkB,UAAU;EAAA,iBAEG;EAFH,gBAINR,QAAQ,CAACzuC,KAAT;EAAA,iBACW;EADX;EAAA,eAEqBuuC,gBAFrB;EAAA;EAAA;EAAA,wBAGMxd,KAHN;EAAA;EAAA,2BAJM;EAAA,iBAYG;EAZH,gBAvGlB,EAuHQ,CAAC,OAAD,EAAU,YAAV,EAAwB92B,QAAxB,CAAiC8C,KAAK,CAACwnB,OAAvC,KAAmDkqB,QAAQ,CAACzuC,KAA5D;EAAA,eACmBuuC,gBADnB;EAAA;EAAA;EAAA,wBAEIxd,KAFJ;EAAA;EAAA,yBAvHR;EA+HD,KA3IQ,CAAT;EA6IA,WAAO;EACLyd,MAAAA;EADK,KAAP;EAGD;;EArPE,CAbiC,CAA/B;EAuQP;EACO,SAASe,gBAAT,CAA2B1vC,KAA3B,EAA2D;EAChE,SAAOV,IAAI,CAACU,KAAD,EAAQ/C,MAAM,CAACE,IAAP,CAAYqxC,MAAM,CAACtxC,KAAnB,CAAR,CAAX;EACD;;EC5SM,MAAMyyC,mBAAgD,GAAGvqC,MAAM,CAACC,GAAP,CAAW,wBAAX,CAAzD;EACA,MAAMuqC,mBAAiD,GAAGxqC,MAAM,CAACC,GAAP,CAAW,gBAAX,CAA1D;EAEA,SAASwqC,aAAT,CAAwB3yC,KAAxB,EAA6C;EAClD,QAAM4yC,OAAO,GAAGrqC,UAAM,CAACkqC,mBAAD,CAAtB;EAEA,MAAI,CAACG,OAAL,EAAc,MAAM,IAAIpqC,KAAJ,CAAU,kDAAV,CAAN;EAEd,SAAOoqC,OAAO,CAACC,WAAR,CAAoB7yC,KAApB,CAAP;EACD;EAEM,SAAS8yC,SAAT,GAAsB;EAC3B,QAAMF,OAAO,GAAGrqC,UAAM,CAACkqC,mBAAD,CAAtB;EAEA,MAAI,CAACG,OAAL,EAAc,MAAM,IAAIpqC,KAAJ,CAAU,kDAAV,CAAN;EAEd,SAAOoqC,OAAO,CAACG,QAAR,EAAP;EACD;;EAED,SAASC,eAAT,CAA0Bt4C,CAA1B,EAAsD;EACpD,SAAO,CAAC,CAACA,CAAF,IAAOA,CAAC,CAAC+O,cAAF,CAAiB,UAAjB,CAAP,IAAuC/O,CAAC,CAAC+O,cAAF,CAAiB,aAAjB,CAAvC,IAA0E/O,CAAC,CAAC+O,cAAF,CAAiB,YAAjB,CAAjF;EACD;;EAEM,SAASwpC,mBAAT,CAA8B/hC,GAA9B,EAAwC9S,OAAxC,EAAiF;EACtF,QAAMw0C,OAAO,GAAGI,eAAe,CAAC50C,OAAD,CAAf,GAA2BA,OAA3B,GAAqC80C,0BAA0B,CAAC90C,OAAD,CAA/E;EAEA,QAAM+0C,YAAY,GAAGP,OAAO,CAACQ,UAAR,CAAmBliC,GAAnB,CAArB;EAEA,SAAO;EAAE0hC,IAAAA,OAAF;EAAWO,IAAAA;EAAX,GAAP;EACD;EAED,MAAME,WAAW,GAAG,WAApB;;EAEA,MAAMv1C,OAAO,GAAG,CAACD,GAAD,EAAcy1C,MAAd,KAAoC;EAClD,SAAOz1C,GAAG,CAACC,OAAJ,CAAY,YAAZ,EAA0B,CAACY,KAAD,EAAgByY,KAAhB,KAAkC;EACjE;EACA,WAAOtW,MAAM,CAACyyC,MAAM,CAAC,CAACn8B,KAAF,CAAP,CAAb;EACD,GAHM,CAAP;EAID,CALD;;EAOA,MAAMo8B,uBAAuB,GAAG,CAC9B9hC,OAD8B,EAE9BjS,QAF8B,EAG9B++B,QAH8B,KAI3B;EACH,SAAO,UAAC97B,GAAD,EAAuC;EAAA,sCAAtB6wC,MAAsB;EAAtBA,MAAAA,MAAsB;EAAA;;EAC5C,QAAI,CAAC7wC,GAAG,CAAC1G,UAAJ,CAAes3C,WAAf,CAAL,EAAkC;EAChC,aAAOv1C,OAAO,CAAC2E,GAAD,EAAM6wC,MAAN,CAAd;EACD;;EAED,UAAME,QAAQ,GAAG/wC,GAAG,CAAC3E,OAAJ,CAAYu1C,WAAZ,EAAyB,EAAzB,CAAjB;EACA,UAAMI,aAAa,GAAGhiC,OAAO,CAACxO,KAAR,IAAiBs7B,QAAQ,CAACt7B,KAAT,CAAewO,OAAO,CAACxO,KAAvB,CAAvC;EACA,UAAMywC,cAAc,GAAGl0C,QAAQ,CAACyD,KAAT,IAAkBs7B,QAAQ,CAACt7B,KAAT,CAAezD,QAAQ,CAACyD,KAAxB,CAAzC;EAEA,QAAIpF,GAAW,GAAGuC,oBAAoB,CAACqzC,aAAD,EAAgBD,QAAhB,EAA0B,IAA1B,CAAtC;;EAEA,QAAI,CAAC31C,GAAL,EAAU;EACRR,MAAAA,WAAW,CAAE,oBAAmBoF,GAAI,mBAAkBgP,OAAO,CAACxO,KAAM,2BAAzD,CAAX;EACApF,MAAAA,GAAG,GAAGuC,oBAAoB,CAACszC,cAAD,EAAiBF,QAAjB,EAA2B,IAA3B,CAA1B;EACD;;EAED,QAAI,CAAC31C,GAAL,EAAU;EACRJ,MAAAA,YAAY,CAAE,oBAAmBgF,GAAI,yBAAzB,CAAZ;EACA5E,MAAAA,GAAG,GAAG4E,GAAN;EACD;;EAED,QAAI,OAAO5E,GAAP,KAAe,QAAnB,EAA6B;EAC3BJ,MAAAA,YAAY,CAAE,oBAAmBgF,GAAI,0BAAzB,CAAZ;EACA5E,MAAAA,GAAG,GAAG4E,GAAN;EACD;;EAED,WAAO3E,OAAO,CAACD,GAAD,EAAMy1C,MAAN,CAAd;EACD,GA3BD;EA4BD,CAjCD;;EAmCA,SAASK,oBAAT,CAA+BliC,OAA/B,EAAqDjS,QAArD,EAA4E;EAC1E,SAAO,CAACyD,KAAD,EAAgB7E,OAAhB,KAAuD;EAC5D,UAAMw1C,YAAY,GAAG,IAAIC,IAAI,CAACC,YAAT,CAAsB,CAACriC,OAAO,CAACxO,KAAT,EAAgBzD,QAAQ,CAACyD,KAAzB,CAAtB,EAAuD7E,OAAvD,CAArB;EAEA,WAAOw1C,YAAY,CAACG,MAAb,CAAoB9wC,KAApB,CAAP;EACD,GAJD;EAKD;;EAEM,SAASiwC,0BAAT,CAAqC90C,OAArC,EAA6E;EAClF,QAAMy0C,WAAW,GAAIz0C,OAAD,IAId;EACJ,UAAMqT,OAAO,GAAG7M,SAAS,CAACxG,OAAO,CAACqT,OAAT,CAAzB;EACA,UAAMjS,QAAQ,GAAGoF,SAAS,CAACxG,OAAO,CAACoB,QAAT,CAA1B;EACA,UAAM++B,QAAQ,GAAG35B,SAAS,CAACxG,OAAO,CAACmgC,QAAT,CAA1B;EAEA,WAAO;EACL9sB,MAAAA,OADK;EAELjS,MAAAA,QAFK;EAGL++B,MAAAA,QAHK;EAIL93B,MAAAA,CAAC,EAAE8sC,uBAAuB,CAAC9hC,OAAD,EAAUjS,QAAV,EAAoB++B,QAApB,CAJrB;EAKLyV,MAAAA,CAAC,EAAEL,oBAAoB,CAACliC,OAAD,EAAUjS,QAAV;EALlB,KAAP;EAOD,GAhBD;;EAkBA,SAAO;EACL4zC,IAAAA,UAAU,EAAEliC,GAAG,IAAI;EAAA;;EACjB,YAAM+iC,SAAS,GAAGpB,WAAW,CAAC;EAC5BphC,QAAAA,OAAO,2BAAErT,OAAF,oBAAEA,OAAO,CAAE81C,aAAX,oCAA4B,IADP;EAE5B10C,QAAAA,QAAQ,2BAAEpB,OAAF,oBAAEA,OAAO,CAAEs1C,cAAX,oCAA6B,IAFT;EAG5BnV,QAAAA,QAAQ,uBAAEngC,OAAF,oBAAEA,OAAO,CAAEmgC,QAAX,gCAAuB;EAAEjjB,UAAAA;EAAF;EAHH,OAAD,CAA7B;EAMApK,MAAAA,GAAG,CAAC5H,OAAJ,CAAYopC,mBAAZ,EAAiCuB,SAAjC;EAEA,aAAOA,SAAP;EACD,KAXI;EAYLlB,IAAAA,QAAQ,EAAE,MAAM;EACd,YAAMl1B,YAAY,GAAGtV,UAAM,CAACmqC,mBAAD,CAA3B;EAEA,UAAI,CAAC70B,YAAL,EAAmB,MAAM,IAAIrV,KAAJ,CAAU,mDAAV,CAAN;EAEnB,aAAOqV,YAAP;EACD,KAlBI;EAmBLg1B,IAAAA,WAAW,EAAEz0C,OAAO,IAAI;EACtB,YAAMyf,YAAY,GAAGtV,UAAM,CAACmqC,mBAAD,CAA3B;EAEA,UAAI,CAAC70B,YAAL,EAAmB,MAAM,IAAIrV,KAAJ,CAAU,mDAAV,CAAN;EAEnB,YAAMuV,QAAQ,GAAG80B,WAAW,CAAC;EAC3BphC,QAAAA,OAAO,EAAE5I,YAAQ,CAAC;EAAA;;EAAA,oCAAMzK,OAAN,oBAAMA,OAAO,CAAE+1C,MAAf,8BAAyBt2B,YAAY,CAACpM,OAAb,CAAqBxO,KAA9C;EAAA,SAAD,CADU;EAE3BzD,QAAAA,QAAQ,EAAEqJ,YAAQ,CAAC;EAAA;;EAAA,qCAAMzK,OAAN,oBAAMA,OAAO,CAAE+1C,MAAf,+BAAyBt2B,YAAY,CAACre,QAAb,CAAsByD,KAA/C;EAAA,SAAD,CAFS;EAG3Bs7B,QAAAA,QAAQ,EAAE11B,YAAQ,CAAC;EAAA;;EAAA,uCAAMzK,OAAN,oBAAMA,OAAO,CAAEmgC,QAAf,iCAA2B1gB,YAAY,CAAC0gB,QAAb,CAAsBt7B,KAAjD;EAAA,SAAD;EAHS,OAAD,CAA5B;EAMAqG,MAAAA,WAAO,CAACopC,mBAAD,EAAsB30B,QAAtB,CAAP;EAEA,aAAOA,QAAP;EACD;EAjCI,GAAP;EAmCD;;EC3JM,MAAMq2B,UAAU,GAAG1qC,eAAe,CAAC;EACxCpL,EAAAA,IAAI,EAAE,YADkC;EAGxCusB,EAAAA,YAAY,EAAE,KAH0B;EAKxC7qB,EAAAA,KAAK,EAAE;EACLq0C,IAAAA,KAAK,EAAEjgC,OADF;EAEL+F,IAAAA,OAAO,EAAE/F,OAFJ;EAGLkgC,IAAAA,iBAAiB,EAAE;EACjBhwC,MAAAA,IAAI,EAAEzD,MADW;EAEjBkK,MAAAA,OAAO,EAAE;EAFQ,KAHd;EAOLwpC,IAAAA,aAAa,EAAE;EACbjwC,MAAAA,IAAI,EAAEzD,MADO;EAEbkK,MAAAA,OAAO,EAAE;EAFI,KAPV;EAWLgd,IAAAA,QAAQ,EAAE3T,OAXL;EAYLogC,IAAAA,QAAQ,EAAE;EACRlwC,MAAAA,IAAI,EAAE,CAAC8P,OAAD,EAAUrT,MAAV,CADE;EAERgK,MAAAA,OAAO,EAAE,KAFD;EAGRqV,MAAAA,SAAS,EAAG5f,CAAD,IAAyB;EAClC,eACE,OAAOA,CAAP,KAAa,SAAb,IACA,CAAC,IAAD,EAAO,IAAP,EAAatD,QAAb,CAAsBsD,CAAtB,CAFF;EAID;EARO,KAZL;EAuBL,OAAG4/B,eAAe,EAvBb;EAyBLnO,IAAAA,WAAW,EAAE;EACX3tB,MAAAA,IAAI,EAAEzD,MADK;EAEXkK,MAAAA,OAAO,EAAE;EAFE,KAzBR;EA6BLwb,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAEpF,KADI;EAEV6L,MAAAA,OAAO,EAAE,MAAO,EAFN;EAGVqV,MAAAA,SAAS,EAAG7a,GAAD,IAAc;EACvB,eAAOxC,WAAW,CAACwC,GAAD,CAAX,CAAiBrF,KAAjB,CAAuBM,CAAC,IAAIA,CAAC,IAAI,IAAL,IAAa,OAAOA,CAAP,KAAa,QAAtD,CAAP;EACD;EALS,KA7BP;EAqCL,OAAGuwC,eAAe,CAAC;EAAEE,MAAAA,SAAS,EAAE;EAAb,KAAD;EArCb,GALiC;EA6CxC3vB,EAAAA,KAAK,EAAE;EACL,yBAAsBmzB,KAAD,IAAmB;EADnC,GA7CiC;;EAiDxC7qC,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAM;EAAEvE,MAAAA;EAAF,QAAQqsC,SAAS,EAAvB;EACA,UAAMhU,KAAK,GAAGjZ,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAA7B;EAEA,UAAM00C,aAAa,GAAG5vC,OAAG,CAAC,KAAD,CAAzB;EACA,UAAM6vC,OAAO,GAAG9rC,YAAQ,CAAC,MAAM;EAAA;;EAC7B,aAAO6rC,aAAa,CAACzxC,KAAd,IAAuB,CAAC,kBAAC67B,KAAK,CAAC77B,KAAP,aAAC,aAAapE,MAAd,CAA/B;EACD,KAFuB,CAAxB;EAIA,UAAM0E,IAAI,GAAGsF,YAAQ,CAAC,MAAM,OAAO7I,KAAK,CAACw0C,QAAb,KAA0B,SAA1B,GAAsCx0C,KAAK,CAACw0C,QAA5C,GAAuD/0C,SAA9D,CAArB;EACA,UAAMm1C,UAAU,GAAG/rC,YAAQ,CAAC;EAAA;;EAAA,aAAM,kBAACi2B,KAAK,CAAC77B,KAAP,4BAAgB,EAAhB,EAAoByK,MAApB,CAA2B,CAACpK,KAAD;EAAA,YAAQ;EAAEgC,UAAAA,IAAI,GAAG;EAAT,SAAR;EAAA,eAAyBhC,KAAK,GAAGgC,IAAjC;EAAA,OAA3B,EAAkE,CAAlE,CAAN;EAAA,KAAD,CAA3B;EACA,UAAMuvC,kBAAkB,GAAGhsC,YAAQ,CAAC,MAAMxF,qBAAqB,CAACuxC,UAAU,CAAC3xC,KAAZ,EAAmBM,IAAI,CAACN,KAAxB,CAA5B,CAAnC;EAEA,UAAM6xC,SAAS,GAAGjsC,YAAQ,CAAC;EAAA;;EAAA,aAAM,kBAACi2B,KAAK,CAAC77B,KAAP,4BAAgB,EAAhB,EAAoBlE,GAApB,CAAwBP,IAAI,IAAI;EAC/D,cAAM;EAAEF,UAAAA,IAAI,GAAG,EAAT;EAAagH,UAAAA,IAAI,GAAG;EAApB,YAA0B9G,IAAhC;EAEA,eAAO,CAACwB,KAAK,CAACw0C,QAAP,GACHl2C,IADG,GAEF,GAAEA,IAAK,KAAI+E,qBAAqB,CAACiC,IAAD,EAAO/B,IAAI,CAACN,KAAZ,CAAmB,GAFxD;EAGD,OANgC,CAAN;EAAA,KAAD,CAA1B;EAQA,UAAM8xC,YAAY,GAAGlsC,YAAQ,CAAC,MAAM;EAAA;;EAClC,YAAMmsC,SAAS,2CAAGlW,KAAK,CAAC77B,KAAT,qBAAG,cAAapE,MAAhB,kCAA0B,CAAzC;EACA,UAAImB,KAAK,CAACw0C,QAAV,EAAoB,OAAO/tC,CAAC,CAACzG,KAAK,CAACs0C,iBAAP,EAA0BU,SAA1B,EAAqCH,kBAAkB,CAAC5xC,KAAxD,CAAR,CAApB,KACK,OAAOwD,CAAC,CAACzG,KAAK,CAACu0C,aAAP,EAAsBS,SAAtB,CAAR;EACN,KAJ4B,CAA7B;EAMA,UAAMC,QAAQ,GAAGnwC,OAAG,EAApB;;EACA,aAASigC,KAAT,GAAkB;EAAA;;EAChB,yBAAAkQ,QAAQ,CAAChyC,KAAT,qCAAgB8hC,KAAhB;EACD;;EACD,aAASC,IAAT,GAAiB;EAAA;;EACf,0BAAAiQ,QAAQ,CAAChyC,KAAT,sCAAgB+hC,IAAhB;EACD;;EACD,aAASL,KAAT,GAAkB;EAAA;;EAChB,0BAAAsQ,QAAQ,CAAChyC,KAAT,sCAAgB0hC,KAAhB;EACD;;EACD,aAAS0N,KAAT,CAAgBvkB,CAAhB,EAA2B;EACzBA,MAAAA,CAAC,QAAD,YAAAA,CAAC,CAAE8W,eAAH;EAEA9F,MAAAA,KAAK,CAAC77B,KAAN,GAAc,EAAd;;EAEA,UAAIgyC,QAAJ,YAAIA,QAAQ,CAAEhyC,KAAd,EAAqB;EACnBgyC,QAAAA,QAAQ,CAAChyC,KAAT,CAAeA,KAAf,GAAuB,EAAvB;EACD;EACF;;EAED4K,IAAAA,SAAS,CAAC,MAAM;EACd,YAAMqnC,UAAU,GAAG,CAAC,EAAElqC,KAAK,CAACmP,OAAN,IAAiBna,KAAK,CAACma,OAAvB,IAAkC46B,YAAY,CAAC9xC,KAAjD,CAApB;EACA,YAAM,CAACkyC,SAAD,EAAYxS,UAAZ,IAA0B9/B,gBAAgB,CAACC,KAAD,CAAhD;EACA,YAAM,CAAC+/B,UAAD,IAAe3B,gBAAgB,CAAClhC,KAAD,CAArC;EACA,YAAM,CAACo1C,UAAD,EAAaC,CAAb,IAAkB7C,gBAAgB,CAACxyC,KAAD,CAAxC;EAEA;EAAA,sBAEc8+B,KAAK,CAAC77B,KAFpB;EAAA,yCAEc67B,KAAK,CAAC77B,KAFpB;EAAA,iBAGU;EAHV,SAISkyC,SAJT,EAKStS,UALT,KAQM,GAAG73B,KART;EASMD,QAAAA,OAAO,EAAE;EAAA,oBAEI4pC,OAAO,CAAC1xC,KAFZ;EAAA,0BAGUjD,KAAK,CAACiyB,WAHhB;EAAA,6BAIa1sB,GAAG,IAAImvC,aAAa,CAACzxC,KAAd,GAAsBsC,GAJ1C;EAAA,6BAKao/B,KALb;EAAA,6BAMaA,KANb;EAAA,2BAOW0N;EAPX,WAQA+C,UARA,KAWH,GAAGpqC,KAXA;EAYHD,UAAAA,OAAO,EAAE;EAAA,gBAAC;EACR+b,cAAAA,QADQ;EAER9mB,cAAAA,KAAK,EAAE;EAAEiL,gBAAAA,KAAK,EAAEqqC,UAAT;EAAqB,mBAAG1U;EAAxB;EAFC,aAAD;EAAA;EAAA,qBAMGqU,QANH;EAAA,sBAOE,MAPF;EAAA,0BAQQj1C,KAAK,CAACkoB,QARd;EAAA,0BASQloB,KAAK,CAAC+nB,QATd;EAAA,yBAUO+F,CAAC,IAAIA,CAAC,CAAC8W,eAAF,EAVZ;EAAA,0BAWQ9W,CAAC,IAAI;EAAA;;EACd,oBAAI,CAACA,CAAC,CAACjqB,MAAP,EAAe;EAEf,sBAAMA,MAAM,GAAGiqB,CAAC,CAACjqB,MAAjB;EACAi7B,gBAAAA,KAAK,CAAC77B,KAAN,GAAc,CAAC,qBAAGY,MAAM,CAAC4wC,KAAV,4BAAmB,EAAnB,CAAD,CAAd;EAEA,oBAAI,CAAC3tB,QAAL,EAAe,oBAAAmuB,QAAQ,CAAChyC,KAAT,sCAAgB8hC,KAAhB;EAChB;EAlBE,eAmBEnE,SAnBF,EAoBE+B,UApBF,+DAuBHgS,OAAO,CAAC1xC,KAAR;EAAA,uBACaqyC;EADb,gBAEItqC,KAAK,CAACuqC,SAAN,GAAkBvqC,KAAK,CAACuqC,SAAN,CAAgB;EAClCT,cAAAA,SAAS,EAAEA,SAAS,CAAC7xC,KADa;EAElC2xC,cAAAA,UAAU,EAAEA,UAAU,CAAC3xC,KAFW;EAGlC4xC,cAAAA,kBAAkB,EAAEA,kBAAkB,CAAC5xC;EAHL,aAAhB,CAAlB,GAKAjD,KAAK,CAACq0C,KAAN,GAAcS,SAAS,CAAC7xC,KAAV,CAAgBlE,GAAhB,CAAoBkQ,IAAI;EAAA,qBAE9BA,IAF8B;EAAA,sBAG/B,OAH+B;EAAA,uBAI5BjP,KAAK,CAACgH;EAJsB;EAAA,8BAKnCiI,IALmC;EAAA;EAAA,4BAAxB,CAAd,GAOA6lC,SAAS,CAAC7xC,KAAV,CAAgB7D,IAAhB,CAAqB,IAArB,CAdJ,KAvBG;EAAA,WAZN;EAAA;EAAA,oHATf;EAkEM6hC,QAAAA,OAAO,EAAEiU,UAAU,GAAG;EAAA,mBAKRH,YAAY,CAAC9xC;EALL,WAMN+H,KAAK,CAACmP,OANA,iBAAH,GASf1a,SA3EV;EAAA;EAAA;EA+ED,KArFQ,CAAT;EAuFA,WAAO;EACLslC,MAAAA,KADK;EAELC,MAAAA,IAFK;EAGLL,MAAAA;EAHK,KAAP;EAKD;;EA5LuC,CAAD,CAAlC;;ECNA,MAAM6Q,OAAO,GAAG9rC,eAAe,CAAC;EACrCpL,EAAAA,IAAI,EAAE,SAD+B;EAGrC0B,EAAAA,KAAK,EAAE,EACL,GAAG6jB,eAAe,EADb;EAEL,OAAG3F,kBAAkB,EAFhB;EAGL,OAAGqG,kBAAkB,EAHhB;EAIL,OAAG2H,iBAAiB,EAJf;EAKL,OAAGvH,gBAAgB,EALd;EAML,OAAGI,YAAY,EANV;EAOL,OAAGA,YAAY,CAAC;EAAEna,MAAAA,GAAG,EAAE;EAAP,KAAD,CAPV;EAQL,OAAGkF,cAAc;EARZ,GAH8B;;EAcrClG,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEgkB,MAAAA;EAAF,QAAoBD,SAAS,CAAC/jB,KAAD,CAAnC;EACA,UAAM;EAAEwe,MAAAA;EAAF,QAAsBD,YAAY,CAACve,KAAD,CAAxC;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAEssB,MAAAA,eAAF;EAAmBC,MAAAA;EAAnB,QAAsCH,WAAW,CAACpsB,KAAD,CAAvD;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EAEA,WAAO;EAAA,eAEI,CACL,UADK,EAEL4T,YAAY,CAAC3Q,KAFR,EAGL+gB,aAAa,CAAC/gB,KAHT,EAILyhB,gBAAgB,CAACzhB,KAJZ,EAKLqpB,eAAe,CAACrpB,KALX,EAML6hB,cAAc,CAAC7hB,KANV,CAFJ;EAAA,eAUI,CAELub,eAAe,CAACvb,KAFX,EAGLspB,cAAc,CAACtpB,KAHV;EAVJ,OAeO+H,KAfP,wBAAP;EAkBD;;EAxCoC,CAAD,CAA/B;;ECRA,MAAMyqC,KAAK,GAAG/rC,eAAe,CAAC;EACnCpL,EAAAA,IAAI,EAAE,OAD6B;EAGnC0B,EAAAA,KAAK,EAAE,EACL,GAAGy+B,aAAa;EADX,GAH4B;EAOnCnd,EAAAA,KAAK,EAAE;EACL,yBAAsB/b,GAAD,IAAyB,IADzC;EAELmwC,IAAAA,MAAM,EAAG5nB,CAAD,IAAc;EAFjB,GAP4B;;EAYnClkB,EAAAA,KAAK,CAAE5J,KAAF,QAA0B;EAAA,QAAjB;EAAEgL,MAAAA,KAAF;EAASuW,MAAAA;EAAT,KAAiB;EAC7B,UAAMse,IAAI,GAAGhB,UAAU,CAAC7+B,KAAD,CAAvB;EACA,UAAM21C,OAAO,GAAG7wC,OAAG,EAAnB;;EAEA,aAAS8wC,OAAT,CAAkB9nB,CAAlB,EAA4B;EAC1BA,MAAAA,CAAC,CAACmkB,cAAF;EACApS,MAAAA,IAAI,CAAC72B,KAAL;EACD;;EAED,aAAS6sC,QAAT,CAAmB/nB,CAAnB,EAA6B;EAC3BA,MAAAA,CAAC,CAACmkB,cAAF;EACApS,MAAAA,IAAI,CAACX,QAAL,GAAgB3C,IAAhB,CAAqB,SAAe;EAAA,YAAd;EAAE6C,UAAAA;EAAF,SAAc;;EAClC,YAAIA,KAAJ,EAAW;EACT7d,UAAAA,IAAI,CAAC,QAAD,EAAWuM,CAAX,CAAJ;EACD;EACF,OAJD;EAKD;;EAEDjgB,IAAAA,SAAS,CAAC;EAAA;;EAAA;EAAA,eAEA8nC,OAFA;EAAA,iBAGA,QAHA;EAAA;EAAA,mBAKIC,OALJ;EAAA,oBAMKC;EANL,4BAQJ7qC,KAAK,CAACD,OARF,qBAQJ,oBAAAC,KAAK,EAAW60B,IAAX,CARD;EAAA,KAAD,CAAT;EAYA,WAAOA,IAAP;EACD;;EA3CkC,CAAD,CAA7B;;ECEA,MAAMiW,UAAU,GAAGpsC,eAAe,CAAC;EACxCpL,EAAAA,IAAI,EAAE,YADkC;EAGxC0B,EAAAA,KAAK,EAAE;EACL+1C,IAAAA,KAAK,EAAE;EACLzxC,MAAAA,IAAI,EAAE8P,OADD;EAELrJ,MAAAA,OAAO,EAAE;EAFJ,KADF;EAKL,OAAGga,YAAY;EALV,GAHiC;;EAWxCnb,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,WAAO;EAAA,eAEI,CACL,aADK,EAEL;EAAE,8BAAsBhL,KAAK,CAAC+1C;EAA9B,OAFK;EAFJ,OAMO/qC,KANP,eAAP;EASD;;EArBuC,CAAD,CAAlC;;ECTP;;EAaA,MAAMgrC,aAAW,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,KAAzB,CAApB;;EAEA,MAAMC,eAAe,GAAG,CAAC,MAAM;EAC7B,SAAOD,aAAW,CAACtoC,MAAZ,CAAmB,CAAC1N,KAAD,EAAQuF,GAAR,KAAgB;EACxCvF,IAAAA,KAAK,CAACuF,GAAD,CAAL,GAAa;EACXjB,MAAAA,IAAI,EAAE,CAAC8P,OAAD,EAAUvT,MAAV,EAAkBE,MAAlB,CADK;EAEXgK,MAAAA,OAAO,EAAE;EAFE,KAAb;EAIA,WAAO/K,KAAP;EACD,GANM,EAMJ,EANI,CAAP;EAOD,CARuB,GAAxB;;EAUA,MAAMk2C,WAAW,GAAG,CAAC,MAAM;EACzB,SAAOF,aAAW,CAACtoC,MAAZ,CAAmB,CAAC1N,KAAD,EAAQuF,GAAR,KAAgB;EACxCvF,IAAAA,KAAK,CAAC,WAAW6K,cAAU,CAACtF,GAAD,CAAtB,CAAL,GAAoC;EAClCjB,MAAAA,IAAI,EAAE,CAACzD,MAAD,EAASE,MAAT,CAD4B;EAElCgK,MAAAA,OAAO,EAAE;EAFyB,KAApC;EAIA,WAAO/K,KAAP;EACD,GANM,EAMJ,EANI,CAAP;EAOD,CARmB,GAApB;;EAUA,MAAMm2C,UAAU,GAAG,CAAC,MAAM;EACxB,SAAOH,aAAW,CAACtoC,MAAZ,CAAmB,CAAC1N,KAAD,EAAQuF,GAAR,KAAgB;EACxCvF,IAAAA,KAAK,CAAC,UAAU6K,cAAU,CAACtF,GAAD,CAArB,CAAL,GAAmC;EACjCjB,MAAAA,IAAI,EAAE,CAACzD,MAAD,EAASE,MAAT,CAD2B;EAEjCgK,MAAAA,OAAO,EAAE;EAFwB,KAAnC;EAIA,WAAO/K,KAAP;EACD,GANM,EAMJ,EANI,CAAP;EAOD,CARkB,GAAnB;;EAUA,MAAMo2C,SAAO,GAAG;EACdC,EAAAA,GAAG,EAAEt2C,MAAM,CAACE,IAAP,CAAYg2C,eAAZ,CADS;EAEdrsB,EAAAA,MAAM,EAAE7pB,MAAM,CAACE,IAAP,CAAYi2C,WAAZ,CAFM;EAGdI,EAAAA,KAAK,EAAEv2C,MAAM,CAACE,IAAP,CAAYk2C,UAAZ;EAHO,CAAhB;;EAMA,SAASI,iBAAT,CAA0BjyC,IAA1B,EAAsDkF,IAAtD,EAAoEjE,GAApE,EAAoG;EAClG,MAAImqB,SAAiB,GAAGprB,IAAxB;;EACA,MAAIiB,GAAG,IAAI,IAAP,IAAeA,GAAG,KAAK,KAA3B,EAAkC;EAChC,WAAO9F,SAAP;EACD;;EACD,MAAI+J,IAAJ,EAAU;EACR,UAAMgtC,UAAU,GAAGhtC,IAAI,CAAC1L,OAAL,CAAawG,IAAb,EAAmB,EAAnB,CAAnB;EACAorB,IAAAA,SAAS,IAAK,IAAG8mB,UAAW,EAA5B;EACD;;EACD,MAAIlyC,IAAI,KAAK,KAAb,EAAoB;EAClBorB,IAAAA,SAAS,GAAG,OAAOA,SAAnB;EACD,GAXiG;EAalG;EACA;;;EACA,MAAIprB,IAAI,KAAK,KAAT,KAAmBiB,GAAG,KAAK,EAAR,IAAcA,GAAG,KAAK,IAAzC,CAAJ,EAAoD;EAClD;EACA,WAAOmqB,SAAS,CAAC/qB,WAAV,EAAP;EACD,GAlBiG;;;EAoBlG+qB,EAAAA,SAAS,IAAK,IAAGnqB,GAAI,EAArB;EACA,SAAOmqB,SAAS,CAAC/qB,WAAV,EAAP;EACD;;EAEM,MAAM8xC,IAAI,GAAG/sC,eAAe,CAAC;EAClCpL,EAAAA,IAAI,EAAE,MAD4B;EAGlC0B,EAAAA,KAAK,EAAE;EACL02C,IAAAA,IAAI,EAAE;EACJpyC,MAAAA,IAAI,EAAE,CAAC8P,OAAD,EAAUvT,MAAV,EAAkBE,MAAlB,CADF;EAEJgK,MAAAA,OAAO,EAAE;EAFL,KADD;EAKL,OAAGkrC,eALE;EAMLrsB,IAAAA,MAAM,EAAE;EACNtlB,MAAAA,IAAI,EAAE,CAACzD,MAAD,EAASE,MAAT,CADA;EAENgK,MAAAA,OAAO,EAAE;EAFH,KANH;EAUL,OAAGmrC,WAVE;EAWLI,IAAAA,KAAK,EAAE;EACLhyC,MAAAA,IAAI,EAAE,CAACzD,MAAD,EAASE,MAAT,CADD;EAELgK,MAAAA,OAAO,EAAE;EAFJ,KAXF;EAeL,OAAGorC,UAfE;EAgBLQ,IAAAA,SAAS,EAAE;EACTryC,MAAAA,IAAI,EAAEzD,MADG;EAETkK,MAAAA,OAAO,EAAE,IAFA;EAGTqV,MAAAA,SAAS,EAAGviB,GAAD,IAAc,CAAC,MAAD,EAAS,OAAT,EAAkB,KAAlB,EAAyB,QAAzB,EAAmC,UAAnC,EAA+C,SAA/C,EAA0DX,QAA1D,CAAmEW,GAAnE;EAHhB,KAhBN;EAqBL,OAAGknB,YAAY;EArBV,GAH2B;;EA2BlCnb,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAMiZ,OAAO,GAAGpb,YAAQ,CAAC,MAAM;EAC7B,YAAMgnB,SAAgB,GAAG,EAAzB,CAD6B;;EAI7B,UAAIvrB,IAAJ;;EACA,WAAKA,IAAL,IAAa8xC,SAAb,EAAsB;EACpBA,QAAAA,SAAO,CAAC9xC,IAAD,CAAP,CAAcg7B,OAAd,CAAsB91B,IAAI,IAAI;EAC5B,gBAAMvG,KAAgC,GAAIjD,KAAD,CAAewJ,IAAf,CAAzC;EACA,gBAAMkmB,SAAS,GAAG6mB,iBAAe,CAACjyC,IAAD,EAAOkF,IAAP,EAAavG,KAAb,CAAjC;EACA,cAAIysB,SAAJ,EAAeG,SAAS,CAAE1yB,IAAX,CAAgBuyB,SAAhB;EAChB,SAJD;EAKD;;EAED,YAAMknB,aAAa,GAAG/mB,SAAS,CAACntB,IAAV,CAAegtB,SAAS,IAAIA,SAAS,CAAC3zB,UAAV,CAAqB,QAArB,CAA5B,CAAtB;EAEA8zB,MAAAA,SAAS,CAAC1yB,IAAV,CAAe;EACb;EACA,iBAAS,CAACy5C,aAAD,IAAkB,CAAC52C,KAAK,CAAC02C,IAFrB;EAGb,SAAE,SAAQ12C,KAAK,CAAC02C,IAAK,EAArB,GAAyB12C,KAAK,CAAC02C,IAHlB;EAIb,SAAE,UAAS12C,KAAK,CAAC4pB,MAAO,EAAxB,GAA4B5pB,KAAK,CAAC4pB,MAJrB;EAKb,SAAE,SAAQ5pB,KAAK,CAACs2C,KAAM,EAAtB,GAA0Bt2C,KAAK,CAACs2C,KALnB;EAMb,SAAE,cAAat2C,KAAK,CAAC22C,SAAU,EAA/B,GAAmC32C,KAAK,CAAC22C;EAN5B,OAAf;EASA,aAAO9mB,SAAP;EACD,KAzBuB,CAAxB;EA2BA,WAAO;EAAA;;EAAA,aAAMrzB,KAAC,CAACwD,KAAK,CAAC4K,GAAP,EAAY;EACxBK,QAAAA,KAAK,EAAEgZ,OAAO,CAAChhB;EADS,OAAZ,oBAEX+H,KAAK,CAACD,OAFK,qBAEX,oBAAAC,KAAK,CAFM,CAAP;EAAA,KAAP;EAGD;;EA1DiC,CAAD,CAA5B;;EC3EP;;EAaA,MAAMgrC,WAAW,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,KAAzB,CAApB;;EAEA,MAAMa,SAAS,GAAG,CAAC,OAAD,EAAU,KAAV,EAAiB,QAAjB,CAAlB;;EAEA,SAASC,YAAT,CAAuBtzC,MAAvB,EAAuCuzC,GAAvC,EAAsE;EACpE,SAAOf,WAAW,CAACtoC,MAAZ,CAAmB,CAAC1N,KAAD,EAAQuF,GAAR,KAAgB;EACxCvF,IAAAA,KAAK,CAACwD,MAAM,GAAGqH,cAAU,CAACtF,GAAD,CAApB,CAAL,GAAkCwxC,GAAG,EAArC;EACA,WAAO/2C,KAAP;EACD,GAHM,EAGJ,EAHI,CAAP;EAID;;EAED,MAAMg3C,cAAc,GAAIn5C,GAAD,IAAc,CAAC,GAAGg5C,SAAJ,EAAe,UAAf,EAA2B,SAA3B,EAAsC35C,QAAtC,CAA+CW,GAA/C,CAArC;;EACA,MAAMo5C,UAAU,GAAGH,YAAY,CAAC,OAAD,EAAU,OAAO;EAC9CxyC,EAAAA,IAAI,EAAEzD,MADwC;EAE9CkK,EAAAA,OAAO,EAAE,IAFqC;EAG9CqV,EAAAA,SAAS,EAAE42B;EAHmC,CAAP,CAAV,CAA/B;;EAMA,MAAME,gBAAgB,GAAIr5C,GAAD,IAAc,CAAC,GAAGg5C,SAAJ,EAAe,eAAf,EAAgC,cAAhC,EAAgD35C,QAAhD,CAAyDW,GAAzD,CAAvC;;EACA,MAAMs5C,YAAY,GAAGL,YAAY,CAAC,SAAD,EAAY,OAAO;EAClDxyC,EAAAA,IAAI,EAAEzD,MAD4C;EAElDkK,EAAAA,OAAO,EAAE,IAFyC;EAGlDqV,EAAAA,SAAS,EAAE82B;EAHuC,CAAP,CAAZ,CAAjC;;EAMA,MAAME,qBAAqB,GAAIv5C,GAAD,IAAc,CAAC,GAAGg5C,SAAJ,EAAe,eAAf,EAAgC,cAAhC,EAAgD,SAAhD,EAA2D35C,QAA3D,CAAoEW,GAApE,CAA5C;;EACA,MAAMw5C,iBAAiB,GAAGP,YAAY,CAAC,cAAD,EAAiB,OAAO;EAC5DxyC,EAAAA,IAAI,EAAEzD,MADsD;EAE5DkK,EAAAA,OAAO,EAAE,IAFmD;EAG5DqV,EAAAA,SAAS,EAAEg3B;EAHiD,CAAP,CAAjB,CAAtC;EAMA,MAAMhB,OAAO,GAAG;EACdhQ,EAAAA,KAAK,EAAErmC,MAAM,CAACE,IAAP,CAAYg3C,UAAZ,CADO;EAEdK,EAAAA,OAAO,EAAEv3C,MAAM,CAACE,IAAP,CAAYk3C,YAAZ,CAFK;EAGdI,EAAAA,YAAY,EAAEx3C,MAAM,CAACE,IAAP,CAAYo3C,iBAAZ;EAHA,CAAhB;EAMA,MAAMG,QAAQ,GAAG;EACfpR,EAAAA,KAAK,EAAE,OADQ;EAEfkR,EAAAA,OAAO,EAAE,SAFM;EAGfC,EAAAA,YAAY,EAAE;EAHC,CAAjB;;EAMA,SAAShB,eAAT,CAA0BjyC,IAA1B,EAAsDkF,IAAtD,EAAoEjE,GAApE,EAAiF;EAC/E,MAAImqB,SAAS,GAAG8nB,QAAQ,CAAClzC,IAAD,CAAxB;;EACA,MAAIiB,GAAG,IAAI,IAAX,EAAiB;EACf,WAAO9F,SAAP;EACD;;EACD,MAAI+J,IAAJ,EAAU;EACR;EACA,UAAMgtC,UAAU,GAAGhtC,IAAI,CAAC1L,OAAL,CAAawG,IAAb,EAAmB,EAAnB,CAAnB;EACAorB,IAAAA,SAAS,IAAK,IAAG8mB,UAAW,EAA5B;EACD,GAT8E;;;EAW/E9mB,EAAAA,SAAS,IAAK,IAAGnqB,GAAI,EAArB;EACA,SAAOmqB,SAAS,CAAC/qB,WAAV,EAAP;EACD;;EAEM,MAAM8yC,IAAI,GAAG/tC,eAAe,CAAC;EAClCpL,EAAAA,IAAI,EAAE,MAD4B;EAGlC0B,EAAAA,KAAK,EAAE;EACL03C,IAAAA,KAAK,EAAEtjC,OADF;EAELujC,IAAAA,SAAS,EAAEvjC,OAFN;EAGLgyB,IAAAA,KAAK,EAAE;EACL9hC,MAAAA,IAAI,EAAEzD,MADD;EAELkK,MAAAA,OAAO,EAAE,IAFJ;EAGLqV,MAAAA,SAAS,EAAE42B;EAHN,KAHF;EAQL,OAAGC,UARE;EASLK,IAAAA,OAAO,EAAE;EACPhzC,MAAAA,IAAI,EAAEzD,MADC;EAEPkK,MAAAA,OAAO,EAAE,IAFF;EAGPqV,MAAAA,SAAS,EAAE82B;EAHJ,KATJ;EAcL,OAAGC,YAdE;EAeLI,IAAAA,YAAY,EAAE;EACZjzC,MAAAA,IAAI,EAAEzD,MADM;EAEZkK,MAAAA,OAAO,EAAE,IAFG;EAGZqV,MAAAA,SAAS,EAAEg3B;EAHC,KAfT;EAoBL,OAAGC,iBApBE;EAqBL,OAAGtyB,YAAY;EArBV,GAH2B;;EA2BlCnb,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAMiZ,OAAO,GAAGpb,YAAQ,CAAC,MAAM;EAC7B,YAAMgnB,SAAgB,GAAG,EAAzB,CAD6B;;EAI7B,UAAIvrB,IAAJ;;EACA,WAAKA,IAAL,IAAa8xC,OAAb,EAAsB;EACpBA,QAAAA,OAAO,CAAC9xC,IAAD,CAAP,CAAcg7B,OAAd,CAAsB91B,IAAI,IAAI;EAC5B,gBAAMvG,KAAa,GAAIjD,KAAD,CAAewJ,IAAf,CAAtB;EACA,gBAAMkmB,SAAS,GAAG6mB,eAAe,CAACjyC,IAAD,EAAOkF,IAAP,EAAavG,KAAb,CAAjC;EACA,cAAIysB,SAAJ,EAAeG,SAAS,CAAE1yB,IAAX,CAAgBuyB,SAAhB;EAChB,SAJD;EAKD;;EAEDG,MAAAA,SAAS,CAAC1yB,IAAV,CAAe;EACb,6BAAqB6C,KAAK,CAAC23C,SADd;EAEb,wBAAgB33C,KAAK,CAAC03C,KAFT;EAGb,SAAE,SAAQ13C,KAAK,CAAComC,KAAM,EAAtB,GAA0BpmC,KAAK,CAAComC,KAHnB;EAIb,SAAE,WAAUpmC,KAAK,CAACs3C,OAAQ,EAA1B,GAA8Bt3C,KAAK,CAACs3C,OAJvB;EAKb,SAAE,iBAAgBt3C,KAAK,CAACu3C,YAAa,EAArC,GAAyCv3C,KAAK,CAACu3C;EALlC,OAAf;EAQA,aAAO1nB,SAAP;EACD,KAtBuB,CAAxB;EAwBA,WAAO;EAAA;;EAAA,aAAMrzB,KAAC,CAACwD,KAAK,CAAC4K,GAAP,EAAY;EACxBK,QAAAA,KAAK,EAAE,CAAC,OAAD,EAAUgZ,OAAO,CAAChhB,KAAlB;EADiB,OAAZ,oBAEX+H,KAAK,CAACD,OAFK,qBAEX,oBAAAC,KAAK,CAFM,CAAP;EAAA,KAAP;EAGD;;EAvDiC,CAAD,CAA5B;;ECtEA,MAAM4sC,OAAO,GAAGltC,sBAAsB,CAAC,aAAD,EAAgB,KAAhB,EAAuB,SAAvB,CAAtC;;ECFP;EAOO,MAAMmtC,MAAM,GAAGnuC,eAAe,CAAC;EACpCpL,EAAAA,IAAI,EAAE,QAD8B;EAGpC0B,EAAAA,KAAK,EAAE;EACLkoB,IAAAA,QAAQ,EAAE9T,OADL;EAELmS,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAE8P,OADI;EAEVrJ,MAAAA,OAAO,EAAEtL;EAFC,KAFP;EAOL,OAAGgkC,cAAc;EAPZ,GAH6B;EAapCniB,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAAoB;EADpC,GAb6B;;EAiBpC2G,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAMyuB,KAAK,GAAG5T,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAA7B;EACA,UAAM;EAAEgkC,MAAAA,YAAF;EAAgBD,MAAAA;EAAhB,QAAkCH,QAAQ,CAAC5jC,KAAD,EAAQiD,KAAK,IAAI,CAACjD,KAAK,CAACkoB,QAAP,KAAoBuR,KAAK,CAACx2B,KAAN,GAAcA,KAAlC,CAAjB,CAAhD;EAEA,WAAO;EAAA;;EAAA,+BAAM+H,KAAK,CAACD,OAAZ,qBAAM,oBAAAC,KAAK,EAAW;EAC3ByuB,QAAAA,KAAK,EAAEA,KAAK,CAACx2B,KADc;EAE3BjD,QAAAA,KAAK,EAAE;EACL83C,UAAAA,YAAY,EAAE9T,YADT;EAEL+T,UAAAA,YAAY,EAAEhU;EAFT;EAFoB,OAAX,CAAX;EAAA,KAAP;EAOD;;EA5BmC,CAAD,CAA9B;;ECIA,MAAMiU,gBAAgB,GAAG9vC,MAAM,CAACC,GAAP,CAAW,sBAAX,CAAzB;EAEA,MAAM8vC,UAAU,GAAGvuC,eAAe,CAAC;EACxCpL,EAAAA,IAAI,EAAE,YADkC;EAGxC0B,EAAAA,KAAK,EAAE,EACL,GAAG8nB,cAAc,CAAC;EAChBG,MAAAA,aAAa,EAAE;EADC,KAAD,CADZ;EAIL,OAAGlD,YAAY,EAJV;EAKL,OAAGjV,cAAc;EALZ,GAHiC;EAWxCwR,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAAgB;EADhC,GAXiC;;EAexC2G,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEyoB,MAAAA,UAAF;EAAcE,MAAAA,MAAd;EAAsB7O,MAAAA,IAAtB;EAA4B3Q,MAAAA,IAA5B;EAAkC4f,MAAAA;EAAlC,QAA+CH,QAAQ,CAAC5oB,KAAD,EAAQg4C,gBAAR,CAA7D;EAEA,WAAO;EAAA;;EAAA;EAAA,iBAEI,CACL,cADK,EAELpkC,YAAY,CAAC3Q,KAFR;EAFJ;EAAA,0CAOD+H,KAAK,CAACD,OAPL,qBAOD,oBAAAC,KAAK,EAAW;EAChByd,UAAAA,UADgB;EAEhBE,UAAAA,MAFgB;EAGhB7O,UAAAA,IAHgB;EAIhB3Q,UAAAA,IAJgB;EAKhB4f,UAAAA,QAAQ,EAAEA,QAAQ,CAAC9lB;EALH,SAAX,CAPJ;EAAA;EAAA,KAAP;EAgBD;;EAnCuC,CAAD,CAAlC;;ECbP;;EAWO,MAAMi1C,KAAK,GAAG3tC,gBAAgB,GAIhC;EACHjM,EAAAA,IAAI,EAAE,OADH;EAGH0B,EAAAA,KAAK,EAAEmoB,kBAAkB,EAHtB;;EAKHve,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAEyd,MAAAA,UAAF;EAAcE,MAAAA,MAAd;EAAsBD,MAAAA,MAAtB;EAA8BT,MAAAA,aAA9B;EAA6ChlB,MAAAA,KAA7C;EAAoDilB,MAAAA;EAApD,QAAiEE,YAAY,CAACpoB,KAAD,EAAQg4C,gBAAR,CAAnF;EACA,WAAO;EAAA;;EAAA,+BAAMhtC,KAAK,CAACD,OAAZ,qBAAM,oBAAAC,KAAK,EAAW;EAC3Byd,QAAAA,UAAU,EAAEA,UAAU,CAACxlB,KADI;EAE3BglB,QAAAA,aAAa,EAAEA,aAAa,CAAChlB,KAFF;EAG3B0lB,QAAAA,MAH2B;EAI3BD,QAAAA,MAJ2B;EAK3BzlB,QAAAA,KAAK,EAAEA,KAAK,CAACA,KALc;EAM3BilB,QAAAA,QAAQ,EAAEA,QAAQ,CAACjlB;EANQ,OAAX,CAAX;EAAA,KAAP;EAQD;;EAfE,CAJgC,CAA9B;;ECPA,MAAMk1C,IAAI,GAAGztC,sBAAsB,CAAC,OAAD,CAAnC;;ECKA,MAAM0tC,OAAO,GAAG1uC,eAAe,CAAC;EACrCpL,EAAAA,IAAI,EAAE,SAD+B;EAGrC0B,EAAAA,KAAK,EAAEiU,eAAe,EAHe;;EAKrCrK,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE+M,MAAAA,aAAF;EAAiBX,MAAAA,aAAjB;EAAgCF,MAAAA;EAAhC,QAA0CrB,YAAY,CAAC7V,KAAD,CAA5D;EAEA6N,IAAAA,SAAS,CAAC;EAAA;;EAAA;EAAA,iBACKkK,aAAa,CAAC9U;EADnB,4BAEJ+H,KAAK,CAACD,OAFF,qBAEJ,oBAAAC,KAAK,CAFD;EAAA,KAAD,CAAT;EAMA,WAAO;EACLoM,MAAAA,aADK;EAELF,MAAAA;EAFK,KAAP;EAID;;EAlBoC,CAAD,CAA/B;;ECIA,MAAMmhC,WAAW,GAAG3uC,eAAe,CAAC;EACzCpL,EAAAA,IAAI,EAAE,aADmC;EAGzC0B,EAAAA,KAAK,EAAE;EACLuN,IAAAA,QAAQ,EAAE;EACRjJ,MAAAA,IAAI,EAAEzD,MADE;EAERynB,MAAAA,QAAQ,EAAE;EAFF,KADL;EAKLhjB,IAAAA,IAAI,EAAE;EACJhB,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADF;EAEJkK,MAAAA,OAAO,EAAE;EAFL,KALD;EASLwb,IAAAA,UAAU,EAAEnS,OATP;EAUL,OAAGC,mBAAmB;EAVjB,GAHkC;;EAgBzCzK,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAMmH,MAAM,GAAGuC,aAAa,CAC1B1U,KAAK,CAAC1B,IADoB,EAE1BuK,YAAQ,CAAC,MAAMzB,QAAQ,CAACpH,KAAK,CAACsU,QAAP,EAAiB,EAAjB,CAAf,CAFkB,EAG1BoS,SAAK,CAAC1mB,KAAD,EAAQ,UAAR,CAHqB,EAI1B0mB,SAAK,CAAC1mB,KAAD,EAAQ,MAAR,CAJqB,EAK1B0mB,SAAK,CAAC1mB,KAAD,EAAQ,MAAR,CALqB,EAM1B0mB,SAAK,CAAC1mB,KAAD,EAAQ,YAAR,CANqB,CAA5B;EASA,WAAO;EAAA;;EAAA;EAAA,iBAEI,CACL,eADK,EAEL;EACE,qCAA2BA,KAAK,CAACuU;EADnC,SAFK,CAFJ;EAAA,iBAQKpC,MAAM,CAAClP;EARZ,4BAUD+H,KAAK,CAACD,OAVL,qBAUD,oBAAAC,KAAK,CAVJ;EAAA,KAAP;EAaD;;EAvCwC,CAAD,CAAnC;;ECAA,MAAMstC,KAAK,GAAG5uC,eAAe,CAAC;EACnCpL,EAAAA,IAAI,EAAE,OAD6B;EAGnCoiB,EAAAA,UAAU,EAAE;EAAEC,eAAAA;EAAF,GAHuB;EAKnC3gB,EAAAA,KAAK,EAAE;EACLumB,IAAAA,UAAU,EAAEnS,OADP;EAELhW,IAAAA,OAAO,EAAE;EACPkG,MAAAA,IAAI,EAAEvE,MADC;EAEP;EACA;EACAgL,MAAAA,OAAO,EAAE,OAAO;EACd9B,QAAAA,IAAI,EAAExJ,SADQ;EAEdwhB,QAAAA,UAAU,EAAExhB,SAFE;EAGdyhB,QAAAA,SAAS,EAAEzhB;EAHG,OAAP;EAJF,KAFJ;EAaL,OAAGye,kBAAkB,EAbhB;EAcL,OAAG6G,YAAY,EAdV;EAeL,OAAG5E,mBAAmB,CAAC;EAAElJ,MAAAA,UAAU,EAAE;EAAd,KAAD;EAfjB,GAL4B;EAuBnCqK,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAAoB;EADpC,GAvB4B;;EA2BnC2G,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAEwT,MAAAA;EAAF,QAAsBD,YAAY,CAACve,KAAD,CAAxC;EACA,UAAM8mB,QAAQ,GAAGjB,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAAhC;;EAEA,aAASu4C,WAAT,CAAsB74B,cAAtB,EAA+C;EAC7C,UAAIoH,QAAQ,CAAC7jB,KAAb,EAAoB;EAEpB6jB,MAAAA,QAAQ,CAAC7jB,KAAT,GAAiByc,cAAjB;EACD;;EAED,WAAO;EAAA;;EAAA;EAAA,iBAEG,QAFH;EAAA,iBAQKlB,eAAe,CAACvb;EARrB;EAAA,wBAUD6jB,QAAQ,CAAC7jB,KAAT;EAAA,wBAC8BjD,KAAK,CAACiX;EADpC;EAAA,4CAEIjM,KAAK,CAACD,OAFV,qBAEI,oBAAAC,KAAK,CAFT;EAAA,6BAVC;EAAA,6DAIDutC,WAJC,EAKDv4C,KAAK,CAAC5B,OALL;EAAA,KAAP;EAiBD;;EAtDkC,CAAD,CAA7B;;ECLA,MAAMo6C,cAAc,GAAG9uC,eAAe,CAAC;EAC5CpL,EAAAA,IAAI,EAAE,gBADsC;EAG5C0B,EAAAA,KAAK,EAAE;EACLgH,IAAAA,KAAK,EAAEnG,MADF;EAELotC,IAAAA,KAAK,EAAE75B,OAFF;EAIL,OAAG2Q,YAAY;EAJV,GAHqC;;EAU5Cnb,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAEwa,MAAAA,gBAAF;EAAoBC,MAAAA;EAApB,QAAwCF,YAAY,CAACmB,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CAAN,CAA1D;EAEA,WAAO;EAAA,eAEI,CACL,kBADK,EAEL;EACE,mCAA2BA,KAAK,CAACiuC;EADnC,OAFK,EAKLzoB,gBAAgB,CAACviB,KALZ,CAFJ;EAAA,eASI;EAAEwiB,QAAAA;EAAF;EATJ;EAAA,sBAWDza,KAAK,CAACD,OAAN;EAAA,iBACW;EADX,UAEIC,KAAK,CAACD,OAAN,EAFJ,EAXC;EAAA,6BAAP;EAkBD;;EA/B2C,CAAD,CAAtC;;ECCA,MAAM0tC,kBAAkC,GAAG,QAAoC;EAAA,MAAnC;EAAEzlC,IAAAA,EAAF;EAAM/P,IAAAA,KAAN;EAAay1C,IAAAA,MAAb;EAAqBC,IAAAA;EAArB,GAAmC;;EACpF,MAAI11C,KAAJ,EAAW;EACT,UAAM21C,SAAS,GAAG,IAAIpmC,GAAJ,EAAlB;EACAomC,IAAAA,SAAS,CAAC9oB,GAAV,CAAc9c,EAAd;EAEA,QAAInW,MAAM,GAAG87C,OAAO,CAAC/iC,GAAR,CAAY5C,EAAZ,CAAb;;EAEA,WAAOnW,MAAM,IAAI,IAAjB,EAAuB;EACrB+7C,MAAAA,SAAS,CAAC9oB,GAAV,CAAcjzB,MAAd;EACAA,MAAAA,MAAM,GAAG87C,OAAO,CAAC/iC,GAAR,CAAY/Y,MAAZ,CAAT;EACD;;EAED,WAAO+7C,SAAP;EACD,GAZD,MAYO;EACLF,IAAAA,MAAM,CAACr3C,MAAP,CAAc2R,EAAd;EACA,WAAO0lC,MAAP;EACD;EACF,CAjBM;EAmBA,MAAMG,oBAAoC,GAAG,SAAoC;EAAA,MAAnC;EAAE7lC,IAAAA,EAAF;EAAM/P,IAAAA,KAAN;EAAay1C,IAAAA,MAAb;EAAqBC,IAAAA;EAArB,GAAmC;;EACtF,MAAI11C,KAAJ,EAAW;EACT,QAAIpG,MAAM,GAAG87C,OAAO,CAAC/iC,GAAR,CAAY5C,EAAZ,CAAb;EACA0lC,IAAAA,MAAM,CAAC5oB,GAAP,CAAW9c,EAAX;;EAEA,WAAOnW,MAAM,IAAI,IAAjB,EAAuB;EACrB67C,MAAAA,MAAM,CAAC5oB,GAAP,CAAWjzB,MAAX;EACAA,MAAAA,MAAM,GAAG87C,OAAO,CAAC/iC,GAAR,CAAY/Y,MAAZ,CAAT;EACD;;EAED,WAAO67C,MAAP;EACD,GAVD,MAUO;EACLA,IAAAA,MAAM,CAACr3C,MAAP,CAAc2R,EAAd;EACD;;EACD,SAAO0lC,MAAP;EACD,CAfM;;ECDA,MAAMI,yBAAyC,GAAG;EACvDnwB,EAAAA,MAAM,EAAE,QAA6B;EAAA,QAA5B;EAAE3V,MAAAA,EAAF;EAAM/P,MAAAA,KAAN;EAAa8lB,MAAAA;EAAb,KAA4B;EACnCA,IAAAA,QAAQ,CAACvS,GAAT,CAAaxD,EAAb,EAAiB/P,KAAK,GAAG,IAAH,GAAU,KAAhC;EAEA,WAAO8lB,QAAP;EACD,GALsD;EAMvDgwB,EAAAA,EAAE,EAAE,CAACv4C,CAAD,EAAIgE,QAAJ,EAAcm0C,OAAd,KAA0B;EAC5B,QAAI55C,GAAG,GAAG,IAAI+W,GAAJ,EAAV;;EAEA,SAAK,MAAM9C,EAAX,IAAkBxS,CAAC,IAAI,EAAvB,EAA4B;EAC1BzB,MAAAA,GAAG,GAAG+5C,yBAAyB,CAACnwB,MAA1B,CAAiC;EACrC3V,QAAAA,EADqC;EAErC/P,QAAAA,KAAK,EAAE,IAF8B;EAGrC8lB,QAAAA,QAAQ,EAAE,IAAIjT,GAAJ,CAAQ/W,GAAR,CAH2B;EAIrCyF,QAAAA,QAJqC;EAKrCm0C,QAAAA;EALqC,OAAjC,CAAN;EAOD;;EAED,WAAO55C,GAAP;EACD,GApBsD;EAqBvD+E,EAAAA,GAAG,EAAEtD,CAAC,IAAI;EACR,UAAMyoB,GAAG,GAAG,EAAZ;;EAEA,SAAK,MAAM,CAACxmB,GAAD,EAAMQ,KAAN,CAAX,IAA2BzC,CAAC,CAACwQ,OAAF,EAA3B,EAAwC;EACtC,UAAI/N,KAAK,KAAK,IAAd,EAAoBgmB,GAAG,CAAC9rB,IAAJ,CAASsF,GAAT;EACrB;;EAED,WAAOwmB,GAAP;EACD;EA7BsD,CAAlD;EAgCA,MAAM+vB,kBAAkB,GAAG,YAAoC;EAAA,MAAnCC,MAAmC,uEAA1B,KAA0B;EACpE,QAAMC,QAAwB,GAAG;EAC/BvwB,IAAAA,MAAM,EAAE,SAAuC;EAAA,UAAtC;EAAE3V,QAAAA,EAAF;EAAM/P,QAAAA,KAAN;EAAa8lB,QAAAA,QAAb;EAAuBvkB,QAAAA;EAAvB,OAAsC;EAC7C,UAAIA,QAAQ,CAACwmC,GAAT,CAAah4B,EAAb,CAAJ,EAAsB,OAAO+V,QAAP;EAEtB,UAAIkwB,MAAJ,EAAY,OAAO,IAAInjC,GAAJ,CAAQ,CAAC,CAAC9C,EAAD,EAAK/P,KAAK,GAAG,IAAH,GAAU,KAApB,CAAD,CAAR,CAAP;EAEZ8lB,MAAAA,QAAQ,CAACvS,GAAT,CAAaxD,EAAb,EAAiB/P,KAAK,GAAG,IAAH,GAAU,KAAhC;EAEA,aAAO8lB,QAAP;EACD,KAT8B;EAU/BgwB,IAAAA,EAAE,EAAE,CAACv4C,CAAD,EAAIgE,QAAJ,EAAcm0C,OAAd,KAA0B;EAC5B,UAAI55C,GAAG,GAAG,IAAI+W,GAAJ,EAAV;;EAEA,WAAK,MAAM9C,EAAX,IAAkBxS,CAAlB,WAAkBA,CAAlB,GAAuB,EAAvB,EAA4B;EAC1BzB,QAAAA,GAAG,GAAGm6C,QAAQ,CAACvwB,MAAT,CAAgB;EACpB3V,UAAAA,EADoB;EAEpB/P,UAAAA,KAAK,EAAE,IAFa;EAGpB8lB,UAAAA,QAAQ,EAAE,IAAIjT,GAAJ,CAAQ/W,GAAR,CAHU;EAIpByF,UAAAA,QAJoB;EAKpBm0C,UAAAA;EALoB,SAAhB,CAAN;EAOD;;EAED,aAAO55C,GAAP;EACD,KAxB8B;EAyB/B+E,IAAAA,GAAG,EAAEg1C,yBAAyB,CAACh1C;EAzBA,GAAjC;EA4BA,SAAOo1C,QAAP;EACD,CA9BM;EAgCA,MAAMC,qBAAqC,GAAG;EACnDxwB,EAAAA,MAAM,EAAE,SAAgD;EAAA,QAA/C;EAAE3V,MAAAA,EAAF;EAAM/P,MAAAA,KAAN;EAAa8lB,MAAAA,QAAb;EAAuBvkB,MAAAA,QAAvB;EAAiCm0C,MAAAA;EAAjC,KAA+C;EACtD,UAAMzhC,KAAK,GAAG,CAAClE,EAAD,CAAd;;EAEA,WAAOkE,KAAK,CAACrY,MAAb,EAAqB;EACnB,YAAMsX,IAAI,GAAGe,KAAK,CAACjV,KAAN,EAAb;EAEA8mB,MAAAA,QAAQ,CAACvS,GAAT,CAAaL,IAAb,EAAmBlT,KAAK,GAAG,IAAH,GAAU,KAAlC;;EAEA,UAAIuB,QAAQ,CAACwmC,GAAT,CAAa70B,IAAb,CAAJ,EAAwB;EACtBe,QAAAA,KAAK,CAAC/Z,IAAN,CAAW,GAAGqH,QAAQ,CAACoR,GAAT,CAAaO,IAAb,CAAd;EACD;EACF;;EAED,QAAItZ,MAAM,GAAG87C,OAAO,CAAC/iC,GAAR,CAAY5C,EAAZ,CAAb;;EAEA,WAAOnW,MAAP,EAAe;EACb,YAAMu8C,WAAW,GAAG50C,QAAQ,CAACoR,GAAT,CAAa/Y,MAAb,CAApB;EACA,YAAMw8C,aAAa,GAAGD,WAAW,CAACl5C,KAAZ,CAAkB7B,GAAG,IAAI0qB,QAAQ,CAACnT,GAAT,CAAavX,GAAb,MAAsB,IAA/C,CAAtB;EACA,YAAMi7C,YAAY,GAAGF,WAAW,CAACl5C,KAAZ,CAAkB7B,GAAG,IAAI,CAAC0qB,QAAQ,CAACiiB,GAAT,CAAa3sC,GAAb,CAAD,IAAsB0qB,QAAQ,CAACnT,GAAT,CAAavX,GAAb,MAAsB,KAArE,CAArB;EAEA0qB,MAAAA,QAAQ,CAACvS,GAAT,CAAa3Z,MAAb,EAAqBw8C,aAAa,GAAG,IAAH,GAAUC,YAAY,GAAG,KAAH,GAAW,eAAnE;EAEAz8C,MAAAA,MAAM,GAAG87C,OAAO,CAAC/iC,GAAR,CAAY/Y,MAAZ,CAAT;EACD;;EAED,WAAOksB,QAAP;EACD,GA3BkD;EA4BnDgwB,EAAAA,EAAE,EAAE,CAACv4C,CAAD,EAAIgE,QAAJ,EAAcm0C,OAAd,KAA0B;EAC5B,QAAI55C,GAAG,GAAG,IAAI+W,GAAJ,EAAV;;EAEA,SAAK,MAAM9C,EAAX,IAAkBxS,CAAC,IAAI,EAAvB,EAA4B;EAC1BzB,MAAAA,GAAG,GAAGo6C,qBAAqB,CAACxwB,MAAtB,CAA6B;EACjC3V,QAAAA,EADiC;EAEjC/P,QAAAA,KAAK,EAAE,IAF0B;EAGjC8lB,QAAAA,QAAQ,EAAE,IAAIjT,GAAJ,CAAQ/W,GAAR,CAHuB;EAIjCyF,QAAAA,QAJiC;EAKjCm0C,QAAAA;EALiC,OAA7B,CAAN;EAOD;;EAED,WAAO55C,GAAP;EACD,GA1CkD;EA2CnD+E,EAAAA,GAAG,EAAE,CAACtD,CAAD,EAAIgE,QAAJ,KAAiB;EACpB,UAAMykB,GAAG,GAAG,EAAZ;;EAEA,SAAK,MAAM,CAACxmB,GAAD,EAAMQ,KAAN,CAAX,IAA2BzC,CAAC,CAACwQ,OAAF,EAA3B,EAAwC;EACtC,UAAI/N,KAAK,KAAK,IAAV,IAAkB,CAACuB,QAAQ,CAACwmC,GAAT,CAAavoC,GAAb,CAAvB,EAA0CwmB,GAAG,CAAC9rB,IAAJ,CAASsF,GAAT;EAC3C;;EAED,WAAOwmB,GAAP;EACD;EAnDkD,CAA9C;;EClFA,MAAMswB,qBAAqB,GAAIN,MAAD,IAAwC;EAC3E,SAAO,QAA2B;EAAA,QAA1B;EAAEjmC,MAAAA,EAAF;EAAM/P,MAAAA,KAAN;EAAa4R,MAAAA;EAAb,KAA0B;EAChC,UAAM2kC,SAAsB,GAAGP,MAAM,GAAG,IAAIzmC,GAAJ,EAAH,GAAeqC,MAApD;;EAEA,QAAI5R,KAAJ,EAAW;EACTu2C,MAAAA,SAAS,CAAC1pB,GAAV,CAAc9c,EAAd;EACD,KAFD,MAEO;EACLwmC,MAAAA,SAAS,CAACn4C,MAAV,CAAiB2R,EAAjB;EACD;;EAED,WAAOwmC,SAAP;EACD,GAVD;EAWD,CAZM;;ECqCP,MAAMC,aAA0C,GAAGvxC,MAAM,CAACC,GAAP,CAAW,gBAAX,CAAnD;EAEA,MAAMuxC,WAA0B,GAAG;EACjC1mC,EAAAA,EAAE,EAAElO,OAAG,CAAC,IAAD,CAD0B;EAEjCmE,EAAAA,IAAI,EAAE;EACJ8L,IAAAA,QAAQ,EAAE,MAAM,IADZ;EAEJE,IAAAA,UAAU,EAAE,MAAM,IAFd;EAGJ0jC,IAAAA,OAAO,EAAE7zC,OAAG,CAAC,IAAIgR,GAAJ,EAAD,CAHR;EAIJtR,IAAAA,QAAQ,EAAEM,OAAG,CAAC,IAAIgR,GAAJ,EAAD,CAJT;EAKJ6jC,IAAAA,IAAI,EAAE,MAAM,IALR;EAMJhxB,IAAAA,MAAM,EAAE,MAAM,IANV;EAOJ+vB,IAAAA,MAAM,EAAE5zC,OAAG,CAAC,IAAI0N,GAAJ,EAAD,CAPP;EAQJuW,IAAAA,QAAQ,EAAEjkB,OAAG,CAAC,IAAIgR,GAAJ,EAAD,CART;EASJjB,IAAAA,MAAM,EAAE/P,OAAG,CAAC,IAAI0N,GAAJ,EAAD,CATP;EAUJonC,IAAAA,QAAQ,EAAE,MAAM,IAVZ;EAWJC,IAAAA,cAAc,EAAE/0C,OAAG,CAAC,EAAD;EAXf;EAF2B,CAAnC;EAiBO,MAAMg1C,eAAe,GAAGrsC,YAAY,CAAC;EAC1CssC,EAAAA,cAAc,EAAE,CAACl5C,MAAD,EAAS+gC,QAAT,CAD0B;EAE1CoY,EAAAA,YAAY,EAAE,CAACn5C,MAAD,EAAS+gC,QAAT,CAF4B;EAG1CqY,EAAAA,cAAc,EAAE,CAACp5C,MAAD,EAAS+gC,QAAT,CAH0B;EAI1C8W,EAAAA,MAAM,EAAEx5C,KAJkC;EAK1C6pB,EAAAA,QAAQ,EAAE7pB,KALgC;EAM1C2V,EAAAA,MAAM,EAAE3V;EANkC,CAAD,EAOxC,QAPwC,CAApC;EASA,MAAMg7C,SAAS,GAAIl6C,KAAD,IAAwB;EAC/C,MAAI6oB,WAAW,GAAG,KAAlB;EACA,QAAMrkB,QAAQ,GAAGM,OAAG,CAAC,IAAIgR,GAAJ,EAAD,CAApB;EACA,QAAM6iC,OAAO,GAAG7zC,OAAG,CAAC,IAAIgR,GAAJ,EAAD,CAAnB;EAEA,QAAM4iC,MAAM,GAAG7yB,eAAe,CAAC7lB,KAAD,EAAQ,QAAR,EAAkBA,KAAK,CAAC04C,MAAxB,EAAgCl4C,CAAC,IAAI,IAAIgS,GAAJ,CAAQhS,CAAR,CAArC,EAAiDA,CAAC,IAAI,CAAC,GAAGA,CAAC,CAACgF,MAAF,EAAJ,CAAtD,CAA9B;EACA,QAAMqP,MAAM,GAAGgR,eAAe,CAAC7lB,KAAD,EAAQ,QAAR,EAAkBA,KAAK,CAAC6U,MAAxB,EAAgCrU,CAAC,IAAI,IAAIgS,GAAJ,CAAQhS,CAAR,CAArC,EAAiDA,CAAC,IAAI,CAAC,GAAGA,CAAC,CAACgF,MAAF,EAAJ,CAAtD,CAA9B;EAEA,QAAMy0C,cAAc,GAAGpxC,YAAQ,CAAC,MAAM;EACpC,QAAI,OAAO7I,KAAK,CAACi6C,cAAb,KAAgC,QAApC,EAA8C,OAAOj6C,KAAK,CAACi6C,cAAb;;EAE9C,YAAQj6C,KAAK,CAACi6C,cAAd;EACE,WAAK,QAAL;EAAe,eAAOV,qBAAqB,CAAC,IAAD,CAA5B;;EACf,WAAK,UAAL;EACA;EACE,eAAOA,qBAAqB,EAA5B;EAJJ;EAMD,GAT8B,CAA/B;EAWA,QAAMQ,cAAc,GAAGlxC,YAAQ,CAAC,MAAM;EACpC,QAAI,OAAO7I,KAAK,CAAC+5C,cAAb,KAAgC,QAApC,EAA8C,OAAO/5C,KAAK,CAAC+5C,cAAb;;EAE9C,YAAQ/5C,KAAK,CAAC+5C,cAAd;EACE,WAAK,aAAL;EAAoB,eAAOf,kBAAkB,CAAC,IAAD,CAAzB;;EACpB,WAAK,MAAL;EAAa,eAAOA,kBAAkB,EAAzB;;EACb,WAAK,aAAL;EAAoB,eAAOF,yBAAP;;EACpB,WAAK,SAAL;EACA;EAAS,eAAOK,qBAAP;EALX;EAOD,GAV8B,CAA/B;EAYA,QAAMa,YAAY,GAAGnxC,YAAQ,CAAC,MAAM;EAClC,QAAI,OAAO7I,KAAK,CAACg6C,YAAb,KAA8B,UAAlC,EAA8C,OAAOh6C,KAAK,CAACg6C,YAAb;;EAE9C,YAAQh6C,KAAK,CAACg6C,YAAd;EACE,WAAK,QAAL;EAAe,eAAOvB,kBAAP;;EACf,WAAK,UAAL;EACA;EAAS,eAAOI,oBAAP;EAHX;EAKD,GAR4B,CAA7B;EAUA,QAAM9vB,QAAQ,GAAGlD,eAAe,CAC9B7lB,KAD8B,EAE9B,UAF8B,EAG9BA,KAAK,CAAC+oB,QAHwB,EAI9BvoB,CAAC,IAAIu5C,cAAc,CAAC92C,KAAf,CAAqB81C,EAArB,CAAwBv4C,CAAxB,EAA2BgE,QAAQ,CAACvB,KAApC,EAA2C01C,OAAO,CAAC11C,KAAnD,CAJyB,EAK9BzC,CAAC,IAAIu5C,cAAc,CAAC92C,KAAf,CAAqBa,GAArB,CAAyBtD,CAAzB,EAA4BgE,QAAQ,CAACvB,KAArC,EAA4C01C,OAAO,CAAC11C,KAApD,CALyB,CAAhC;EAQA+R,EAAAA,mBAAe,CAAC,MAAM;EACpB6T,IAAAA,WAAW,GAAG,IAAd;EACD,GAFc,CAAf;EAIA,QAAMsxB,MAAqB,GAAG;EAC5BnnC,IAAAA,EAAE,EAAElO,OAAG,CAAC,IAAD,CADqB;EAE5BmE,IAAAA,IAAI,EAAE;EACJyvC,MAAAA,MADI;EAEJ3vB,MAAAA,QAFI;EAGJlU,MAAAA,MAHI;EAIJglC,MAAAA,cAAc,EAAEhxC,YAAQ,CAAC,MAAM;EAC7B,cAAMogB,GAAG,GAAG,EAAZ;;EAEA,aAAK,MAAM,CAACxmB,GAAD,EAAMQ,KAAN,CAAX,IAA2B8lB,QAAQ,CAAC9lB,KAAT,CAAe+N,OAAf,EAA3B,EAAqD;EACnD,cAAI/N,KAAK,KAAK,IAAd,EAAoBgmB,GAAG,CAAC9rB,IAAJ,CAASsF,GAAT;EACrB;;EAED,eAAOwmB,GAAP;EACD,OARuB,CAJpB;EAaJlU,MAAAA,QAAQ,EAAE,CAAC/B,EAAD,EAAKonC,QAAL,EAAeC,OAAf,KAA2B;EACnCD,QAAAA,QAAQ,IAAIzB,OAAO,CAAC11C,KAAR,CAAcuT,GAAd,CAAkBxD,EAAlB,EAAsBonC,QAAtB,CAAZ;EAEAC,QAAAA,OAAO,IAAI71C,QAAQ,CAACvB,KAAT,CAAeuT,GAAf,CAAmBxD,EAAnB,EAAuB,EAAvB,CAAX;;EAEA,YAAIonC,QAAQ,IAAI,IAAhB,EAAsB;EACpB51C,UAAAA,QAAQ,CAACvB,KAAT,CAAeuT,GAAf,CAAmB4jC,QAAnB,EAA6B,CAAC,IAAG51C,QAAQ,CAACvB,KAAT,CAAe2S,GAAf,CAAmBwkC,QAAnB,KAAgC,EAAnC,CAAD,EAAwCpnC,EAAxC,CAA7B;EACD;EACF,OArBG;EAsBJiC,MAAAA,UAAU,EAAEjC,EAAE,IAAI;EAChB,YAAI6V,WAAJ,EAAiB;EAEjBrkB,QAAAA,QAAQ,CAACvB,KAAT,CAAe5B,MAAf,CAAsB2R,EAAtB;EACA,cAAMnW,MAAM,GAAG87C,OAAO,CAAC11C,KAAR,CAAc2S,GAAd,CAAkB5C,EAAlB,CAAf;;EACA,YAAInW,MAAJ,EAAY;EAAA;;EACV,gBAAMy9C,IAAI,0BAAG91C,QAAQ,CAACvB,KAAT,CAAe2S,GAAf,CAAmB/Y,MAAnB,CAAH,kCAAiC,EAA3C;EACA2H,UAAAA,QAAQ,CAACvB,KAAT,CAAeuT,GAAf,CAAmB3Z,MAAnB,EAA2By9C,IAAI,CAACp1C,MAAL,CAAYD,KAAK,IAAIA,KAAK,KAAK+N,EAA/B,CAA3B;EACD;;EACD2lC,QAAAA,OAAO,CAAC11C,KAAR,CAAc5B,MAAd,CAAqB2R,EAArB;EACA0lC,QAAAA,MAAM,CAACz1C,KAAP,CAAa5B,MAAb,CAAoB2R,EAApB;EACA6B,QAAAA,MAAM,CAAC5R,KAAP,CAAa5B,MAAb,CAAoB2R,EAApB;EACA+V,QAAAA,QAAQ,CAAC9lB,KAAT,CAAe5B,MAAf,CAAsB2R,EAAtB;EACD,OAnCG;EAoCJ2mC,MAAAA,IAAI,EAAE,CAAC3mC,EAAD,EAAK/P,KAAL,EAAYs3C,KAAZ,KAAsB;EAC1B,cAAM3B,SAAS,GAAGoB,YAAY,CAAC/2C,KAAb,CAAmB;EACnC+P,UAAAA,EADmC;EAEnC/P,UAAAA,KAFmC;EAGnCy1C,UAAAA,MAAM,EAAE,IAAIlmC,GAAJ,CAAQkmC,MAAM,CAACz1C,KAAf,CAH2B;EAInCuB,UAAAA,QAAQ,EAAEA,QAAQ,CAACvB,KAJgB;EAKnC01C,UAAAA,OAAO,EAAEA,OAAO,CAAC11C,KALkB;EAMnCs3C,UAAAA;EANmC,SAAnB,CAAlB;EASA3B,QAAAA,SAAS,KAAKF,MAAM,CAACz1C,KAAP,GAAe21C,SAApB,CAAT;EACD,OA/CG;EAgDJjwB,MAAAA,MAAM,EAAE,CAAC3V,EAAD,EAAK/P,KAAL,EAAYs3C,KAAZ,KAAsB;EAC5B,cAAMC,WAAW,GAAGT,cAAc,CAAC92C,KAAf,CAAqB0lB,MAArB,CAA4B;EAC9C3V,UAAAA,EAD8C;EAE9C/P,UAAAA,KAF8C;EAG9C8lB,UAAAA,QAAQ,EAAE,IAAIjT,GAAJ,CAAQiT,QAAQ,CAAC9lB,KAAjB,CAHoC;EAI9CuB,UAAAA,QAAQ,EAAEA,QAAQ,CAACvB,KAJ2B;EAK9C01C,UAAAA,OAAO,EAAEA,OAAO,CAAC11C,KAL6B;EAM9Cs3C,UAAAA;EAN8C,SAA5B,CAApB;EASAC,QAAAA,WAAW,KAAKzxB,QAAQ,CAAC9lB,KAAT,GAAiBu3C,WAAtB,CAAX;EACD,OA3DG;EA4DJZ,MAAAA,QAAQ,EAAE,CAAC5mC,EAAD,EAAK/P,KAAL,EAAYs3C,KAAZ,KAAsB;EAC9B,cAAMf,SAAS,GAAGS,cAAc,CAACh3C,KAAf,CAAqB;EACrC+P,UAAAA,EADqC;EAErC/P,UAAAA,KAFqC;EAGrC4R,UAAAA,MAAM,EAAE,IAAIrC,GAAJ,CAAQqC,MAAM,CAAC5R,KAAf,CAH6B;EAIrCuB,UAAAA,QAAQ,EAAEA,QAAQ,CAACvB,KAJkB;EAKrC01C,UAAAA,OAAO,EAAEA,OAAO,CAAC11C,KALoB;EAMrCs3C,UAAAA;EANqC,SAArB,CAAlB;EASAf,QAAAA,SAAS,KAAK3kC,MAAM,CAAC5R,KAAP,GAAeu2C,SAApB,CAAT;EACD,OAvEG;EAwEJh1C,MAAAA,QAxEI;EAyEJm0C,MAAAA;EAzEI;EAFsB,GAA9B;EA+EArvC,EAAAA,WAAO,CAACmwC,aAAD,EAAgBU,MAAhB,CAAP;EAEA,SAAOA,MAAM,CAAClxC,IAAd;EACD,CAvIM;EAyIA,MAAMwxC,aAAa,GAAIznC,EAAD,IAAiC;EAC5D,QAAMnW,MAAM,GAAG0L,UAAM,CAACkxC,aAAD,EAAgBC,WAAhB,CAArB;EAEA,QAAMgB,UAAU,GAAG7xC,YAAQ,CAAC;EAAA;;EAAA,wBAAMmK,EAAE,CAAC/P,KAAT,wBAAkBgB,MAAM,GAAGuD,QAAT,EAAlB;EAAA,GAAD,CAA3B;EAEA,QAAM2O,IAAI,GAAG,EACX,GAAGtZ,MADQ;EAEXmW,IAAAA,EAAE,EAAE0nC,UAFO;EAGX79C,IAAAA,MAAM,EAAEgM,YAAQ,CAAC,MAAMhM,MAAM,CAACoM,IAAP,CAAY0vC,OAAZ,CAAoB11C,KAApB,CAA0B2S,GAA1B,CAA8B8kC,UAAU,CAACz3C,KAAzC,CAAP,CAHL;EAIX0lB,IAAAA,MAAM,EAAE,CAACI,QAAD,EAAoB+E,CAApB,KAAiCjxB,MAAM,CAACoM,IAAP,CAAY0f,MAAZ,CAAmB+xB,UAAU,CAACz3C,KAA9B,EAAqC8lB,QAArC,EAA+C+E,CAA/C,CAJ9B;EAKXrF,IAAAA,UAAU,EAAE5f,YAAQ,CAAC,MAAMhM,MAAM,CAACoM,IAAP,CAAY8f,QAAZ,CAAqB9lB,KAArB,CAA2B2S,GAA3B,CAA+B8kC,UAAU,CAACz3C,KAA1C,MAAqD,IAA5D,CALT;EAMX22C,IAAAA,QAAQ,EAAE,CAAC7pB,SAAD,EAAqBjC,CAArB,KAAkCjxB,MAAM,CAACoM,IAAP,CAAY2wC,QAAZ,CAAqBc,UAAU,CAACz3C,KAAhC,EAAuC8sB,SAAvC,EAAkDjC,CAAlD,CANjC;EAOXhH,IAAAA,QAAQ,EAAEje,YAAQ,CAAC,MAAMhM,MAAM,CAACoM,IAAP,CAAY4L,MAAZ,CAAmB5R,KAAnB,CAAyB+nC,GAAzB,CAA6B0P,UAAU,CAACz3C,KAAxC,CAAP;EAPP,GAAb;EAUApG,EAAAA,MAAM,CAACoM,IAAP,CAAY8L,QAAZ,CAAqB2lC,UAAU,CAACz3C,KAAhC,EAAuCpG,MAAM,CAACmW,EAAP,CAAU/P,KAAjD,EAAwD,KAAxD;EAEA+R,EAAAA,mBAAe,CAAC,MAAM;EACpBnY,IAAAA,MAAM,CAACoM,IAAP,CAAYgM,UAAZ,CAAuBylC,UAAU,CAACz3C,KAAlC;EACD,GAFc,CAAf;EAIA,SAAOkT,IAAP;EACD,CAtBM;EAwBA,MAAMwkC,cAAc,GAAI36C,KAAD,IAA8B;EAC1D,QAAMnD,MAAM,GAAG0L,UAAM,CAACkxC,aAAD,EAAgBC,WAAhB,CAArB;EAEA,QAAM1mC,EAAE,GAAGnK,YAAQ,CAAC;EAAA;;EAAA,2BAAM7I,KAAK,CAACiD,KAAZ,2BAAqBgB,MAAM,GAAGuD,QAAT,EAArB;EAAA,GAAD,CAAnB;EAEA,QAAM+gB,KAAK,GAAG,EACZ,GAAG1rB,MADS;EAEZmW,IAAAA,EAFY;EAGZ2mC,IAAAA,IAAI,EAAE,CAACA,IAAD,EAAgB7rB,CAAhB,KAA6BjxB,MAAM,CAACoM,IAAP,CAAY0wC,IAAZ,CAAiB3mC,EAAE,CAAC/P,KAApB,EAA2B02C,IAA3B,EAAiC7rB,CAAjC,CAHvB;EAIZ8sB,IAAAA,MAAM,EAAE/xC,YAAQ,CAAC,MAAMhM,MAAM,CAACoM,IAAP,CAAYyvC,MAAZ,CAAmBz1C,KAAnB,CAAyB+nC,GAAzB,CAA6Bh4B,EAAE,CAAC/P,KAAhC,CAAP,CAJJ;EAKZwlB,IAAAA,UAAU,EAAE5f,YAAQ,CAAC,MAAMhM,MAAM,CAACoM,IAAP,CAAY8f,QAAZ,CAAqB9lB,KAArB,CAA2B2S,GAA3B,CAA+B5C,EAAE,CAAC/P,KAAlC,MAA6C,IAApD,CALR;EAMZ43C,IAAAA,eAAe,EAAEhyC,YAAQ,CAAC,MAAMhM,MAAM,CAACoM,IAAP,CAAY8f,QAAZ,CAAqB9lB,KAArB,CAA2B2S,GAA3B,CAA+B5C,EAAE,CAAC/P,KAAlC,MAA6C,eAApD;EANb,GAAd;EASApG,EAAAA,MAAM,CAACoM,IAAP,CAAY8L,QAAZ,CAAqB/B,EAAE,CAAC/P,KAAxB,EAA+BpG,MAAM,CAACmW,EAAP,CAAU/P,KAAzC,EAAgD,IAAhD;EAEA+R,EAAAA,mBAAe,CAAC,MAAM;EACpBnY,IAAAA,MAAM,CAACoM,IAAP,CAAYgM,UAAZ,CAAuBjC,EAAE,CAAC/P,KAA1B;EACD,GAFc,CAAf;EAIAqG,EAAAA,WAAO,CAACmwC,aAAD,EAAgBlxB,KAAhB,CAAP;EAEA,SAAOA,KAAP;EACD,CAvBM;;ECnNP,MAAMuyB,eAAe,GAAGpxC,eAAe,CAAC;EACtCpL,EAAAA,IAAI,EAAE,iBADgC;EAGtC0B,EAAAA,KAAK,EAAE;EACL25C,IAAAA,IAAI,EAAEvlC,OADD;EAEL8C,IAAAA,KAAK,EAAEhY;EAFF,GAH+B;;EAQtC0K,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB+vC,IAAAA,UAAU;EAEV,WAAO,MAAM;EACX;EAAA;EAAA,mBAEe;EAFf;EAAA,mBAG4B/6C,KAAK,CAACkX;EAHlC,WAGkDlM,KAHlD,qCAE6ChL,KAAK,CAAC25C,IAFnD;EAAA;EAOD,KARD;EASD;;EApBqC,CAAD,CAAvC;EAuBO,MAAMqB,UAAU,GAAGzwC,gBAAgB,GASrC;EACHjM,EAAAA,IAAI,EAAE,YADH;EAGH0B,EAAAA,KAAK,EAAE;EACLiD,IAAAA,KAAK,EAAE,IADF;EAELyrC,IAAAA,YAAY,EAAE;EACZpqC,MAAAA,IAAI,EAAEzD,MADM;EAEZkK,MAAAA,OAAO,EAAE;EAFG,KAFT;EAML0jC,IAAAA,UAAU,EAAE;EACVnqC,MAAAA,IAAI,EAAEzD,MADI;EAEVkK,MAAAA,OAAO,EAAE;EAFC,KANP;EAULmM,IAAAA,KAAK,EAAEhY,KAVF;EAYL,OAAG6lB,YAAY;EAZV,GAHJ;;EAkBHnb,EAAAA,KAAK,CAAE5J,KAAF,SAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE4vC,MAAAA,MAAF;EAAUjB,MAAAA;EAAV,QAAmBgB,cAAc,CAAC36C,KAAD,CAAvC;EACA,UAAMs6C,IAAI,GAAGW,OAAO,EAApB;;EAEA,UAAMjuB,OAAO,GAAIc,CAAD,IAAc;EAC5B6rB,MAAAA,IAAI,CAAC,CAACiB,MAAM,CAAC33C,KAAT,EAAgB6qB,CAAhB,CAAJ;EACD,KAFD;;EAIA,UAAMotB,WAAW,GAAGryC,YAAQ,CAAC,OAAO;EAClCmkB,MAAAA,OADkC;EAElCkF,MAAAA,UAAU,EAAE0oB,MAAM,CAAC33C,KAAP,GAAejD,KAAK,CAAC0uC,YAArB,GAAoC1uC,KAAK,CAACyuC,UAFpB;EAGlCxjC,MAAAA,KAAK,EAAE;EAH2B,KAAP,CAAD,CAA5B;EAMA,WAAO,MAAM;EAAA;;EACX;EAAA,iBAEW,CACL,cADK,EAEL;EACE,mCAAyBqvC,IAAzB,oBAAyBA,IAAI,CAAE5mB,UAAN,CAAiBzwB;EAD5C,SAFK;EAFX;EAAA,yCASM+H,KAAK,CAACmwC,MATZ,qBASM,mBAAAnwC,KAAK,EAAUkwC,WAAW,CAACj4C,KAAtB,CATX;EAAA,mBAU4BjD,KAAK,CAACkX,KAVlC;EAAA,kBAU+C0jC,MAAM,CAAC33C;EAVtD,WAUsE+H,KAVtE;EAAA;EAAA;EAaD,KAdD;EAeD;;EA/CE,CATqC,CAAnC;;ECzCA,MAAMowC,eAAe,GAAG1xC,eAAe,CAAC;EAC7CpL,EAAAA,IAAI,EAAE,iBADuC;EAG7C0B,EAAAA,KAAK,EAAE;EACLhF,IAAAA,IAAI,EAAEoZ,OADD;EAELnZ,IAAAA,KAAK,EAAEmZ,OAFF;EAIL,OAAG2Q,YAAY;EAJV,GAHsC;;EAU7Cnb,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,WAAO,MAAM;EACX;EAAA,iBAEW,CACL,oBADK,EAEL;EACE,uCAA6BhL,KAAK,CAAChF,IADrC;EAEE,qCAA2BgF,KAAK,CAAC/E;EAFnC,SAFK;EAFX,SASc+P,KATd;EAYD,KAbD;EAcD;;EAzB4C,CAAD,CAAvC;;ECJA,MAAMqwC,eAAe,GAAG3wC,sBAAsB,CAAC,oBAAD,CAA9C;;ECAA,MAAM4wC,iBAAiB,GAAG5wC,sBAAsB,CAAC,sBAAD,CAAhD;;ECAA,MAAM6wC,cAAc,GAAG7wC,sBAAsB,CAAC,mBAAD,CAA7C;;ECsCA,MAAM8wC,SAAS,GAAGjxC,gBAAgB,GAQpC;EACHjM,EAAAA,IAAI,EAAE,WADH;EAGHoiB,EAAAA,UAAU,EAAE;EAAEsR,IAAAA;EAAF,GAHT;EAKHhyB,EAAAA,KAAK,EAAE;EACL6U,IAAAA,MAAM,EAAET,OADH;EAELqkB,IAAAA,WAAW,EAAE53B,MAFR;EAGL23B,IAAAA,WAAW,EAAE33B,MAHR;EAIL24B,IAAAA,YAAY,EAAE34B,MAJT;EAKLqxB,IAAAA,UAAU,EAAErxB,MALP;EAMLqnB,IAAAA,QAAQ,EAAE9T,OANL;EAOL8Y,IAAAA,IAAI,EAAE9Y,OAPD;EAQLslB,IAAAA,aAAa,EAAE74B,MARV;EASLoxB,IAAAA,WAAW,EAAEpxB,MATR;EAUL84B,IAAAA,QAAQ,EAAE94B,MAVL;EAWL+4B,IAAAA,KAAK,EAAE/4B,MAXF;EAYLoC,IAAAA,KAAK,EAAE,IAZF;EAcL,OAAG4gB,eAAe,EAdb;EAeL,OAAGM,gBAAgB,EAfd;EAgBL,OAAGjG,kBAAkB,EAhBhB;EAiBL,OAAGqG,kBAAkB,EAjBhB;EAkBL,OAAGI,gBAAgB,EAlBd;EAmBL,OAAGyI,eAAe,EAnBb;EAoBL,OAAGrI,YAAY,EApBV;EAqBL,OAAGjV,cAAc,EArBZ;EAsBL,OAAGwX,gBAAgB,CAAC;EAAEE,MAAAA,OAAO,EAAE;EAAX,KAAD;EAtBd,GALJ;;EA8BH5d,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA;;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAMkiB,IAAI,GAAGP,OAAO,CAAC3sB,KAAD,EAAQ8C,KAAR,CAApB;EACA,UAAMkQ,EAAE,GAAGnK,YAAQ,CAAC;EAAA;;EAAA,6BAAM7I,KAAK,CAACiD,KAAZ,2BAAqBiqB,IAAI,CAACH,IAAL,CAAU9pB,KAA/B;EAAA,KAAD,CAAnB;EACA,UAAM;EAAE22C,MAAAA,QAAF;EAAY9yB,MAAAA,QAAQ,EAAE20B,cAAtB;EAAsC9yB,MAAAA,MAAtC;EAA8CF,MAAAA,UAA9C;EAA0Dxf,MAAAA,IAA1D;EAAgEpM,MAAAA;EAAhE,QAA2E49C,aAAa,CAACznC,EAAD,CAA9F;EACA,UAAMsnC,IAAI,GAAGW,OAAO,EAApB;EACA,UAAMn0B,QAAQ,GAAGje,YAAQ,CAAC,MAAM;EAAA;;EAC9B,aAAO7I,KAAK,CAAC6U,MAAN,4BAAgBqY,IAAI,CAACsF,aAArB,qBAAgB,oBAAoBvvB,KAApC,KAA6Cw4C,cAAc,CAACx4C,KAAnE;EACD,KAFwB,CAAzB;EAGA,UAAMw1B,WAAW,yBAAGz4B,KAAK,CAACy4B,WAAT,iCAAwBz4B,KAAK,CAACgH,KAA/C;EACA,UAAMssB,YAAY,GAAGzqB,YAAQ,CAAC,OAAO;EACnC7B,MAAAA,KAAK,EAAE8f,QAAQ,CAAC7jB,KAAT,GAAiBw1B,WAAjB,GAA+Bz4B,KAAK,CAACgH,KADT;EAEnCugB,MAAAA,SAAS,EAAEvnB,KAAK,CAACunB,SAFkB;EAGnCC,MAAAA,OAAO,EAAExnB,KAAK,CAACwnB;EAHoB,KAAP,CAAD,CAA7B;EAMAiC,IAAAA,aAAS,CAAC,MAAM;EAAA;;EACd,UAAI,wBAAAyD,IAAI,CAACsF,aAAL,kCAAoBvvB,KAApB,IAA6BpG,MAAM,CAACoG,KAAP,IAAgB,IAAjD,EAAuD;EACrDgG,QAAAA,IAAI,CAAC0wC,IAAL,CAAU98C,MAAM,CAACoG,KAAjB,EAAwB,IAAxB;EACD;EACF,KAJQ,CAAT;EAMA,UAAM;EAAE2Q,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEgkB,MAAAA;EAAF,QAAoBD,SAAS,CAAC/jB,KAAD,CAAnC;EACA,UAAM;EAAEmlB,MAAAA,YAAF;EAAgBC,MAAAA,WAAhB;EAA6BsC,MAAAA;EAA7B,QAAgDD,UAAU,CAAC6L,YAAD,CAAhE;EACA,UAAM;EAAEhP,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,UAAM;EAAEwe,MAAAA;EAAF,QAAsBD,YAAY,CAACve,KAAD,CAAxC;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EAEA,UAAM4gC,SAAS,GAAG/3B,YAAQ,CAAC,OAAO;EAChCie,MAAAA,QAAQ,EAAEA,QAAQ,CAAC7jB,KADa;EAEhC22C,MAAAA,QAFgC;EAGhCjxB,MAAAA,MAHgC;EAIhCF,MAAAA,UAAU,EAAEA,UAAU,CAACxlB;EAJS,KAAP,CAAD,CAA1B;EAOA,WAAO,MAAM;EAAA;;EACX,YAAMsvB,GAAG,GAAIrF,IAAI,CAACJ,MAAL,CAAY7pB,KAAb,GAAsB,GAAtB,GAA4BjD,KAAK,CAAC4K,GAA9C;EACA,YAAMivB,QAAQ,GAAI7uB,KAAK,CAAC4uB,KAAN,IAAe55B,KAAK,CAAC45B,KAAvC;EACA,YAAME,WAAW,GAAI9uB,KAAK,CAAC2uB,QAAN,IAAkB35B,KAAK,CAAC25B,QAA7C;EACA,YAAMM,SAAS,GAAG,CAAC,EAAEJ,QAAQ,IAAIC,WAAd,CAAnB;EACA,YAAME,SAAS,GAAG,CAAC,EAAEhvB,KAAK,CAACkc,MAAN,IAAgBlnB,KAAK,CAACw5B,YAAtB,IAAsCx5B,KAAK,CAACkyB,UAA9C,CAAnB;EACA,YAAMwB,UAAU,GAAG,CAAC,EAAE1oB,KAAK,CAACic,OAAN,IAAiBjnB,KAAK,CAAC05B,aAAvB,IAAwC15B,KAAK,CAACiyB,WAAhD,CAApB;EACA,YAAM5K,WAAW,GAAG,CAACrnB,KAAK,CAACkoB,QAAP,KAAoBgF,IAAI,CAAC7F,WAAL,CAAiBpkB,KAAjB,IAA0BjD,KAAK,CAACktB,IAAhC,IAAwCltB,KAAK,CAACiD,KAAN,IAAe,IAA3E,CAApB;EAEAq3C,MAAAA,IAAI,QAAJ,YAAAA,IAAI,CAAEoB,gBAAN,CAAuBhoB,UAAvB;EAEA;EAAA,iBAEW,CACL,aADK,EAEL;EACE,iCAAuB5M,QAAQ,CAAC7jB,KADlC;EAEE,mCAAyBjD,KAAK,CAACkoB,QAFjC;EAGE,+BAAqBb,WAHvB;EAIE,kCAAwB,CAACqM,UAAD,KAAe4mB,IAAf,oBAAeA,IAAI,CAAE5mB,UAAN,CAAiBzwB,KAAhC,CAJ1B;EAKE,WAAE,GAAEjD,KAAK,CAACw4B,WAAY,EAAtB,GAA0B1R,QAAQ,CAAC7jB,KAAT,IAAkBjD,KAAK,CAACw4B;EALpD,SAFK,EASL5kB,YAAY,CAAC3Q,KATR,EAUL+gB,aAAa,CAAC/gB,KAVT,EAWLkiB,YAAY,CAACliB,KAXR,EAYLqhB,cAAc,CAACrhB,KAZV,EAaLyhB,gBAAgB,CAACzhB,KAbZ,EAcL6hB,cAAc,CAAC7hB,KAdV,EAeLykB,cAAc,CAACzkB,KAfV,CAFX;EAAA,iBAmBW,CACLmiB,WAAW,CAACniB,KADP,EAELub,eAAe,CAACvb,KAFX,CAnBX;EAAA,gBAuBWiqB,IAAI,CAACH,IAAL,CAAU9pB,KAvBrB;EAAA,oBAwBeokB,WAAW,GAAG,CAAH,GAAO5nB,SAxBjC;EAAA,mBAyBc4nB,WAAW,KAAMyG,CAAD,IAAmB;EAAA;;EAC3C,4BAAAZ,IAAI,CAACuF,QAAL,yCAAAvF,IAAI,EAAYY,CAAZ,CAAJ;EACA9tB,UAAAA,KAAK,CAACiD,KAAN,IAAe,IAAf,IAAuB22C,QAAQ,CAAC,CAAC6B,cAAc,CAACx4C,KAAjB,EAAwB6qB,CAAxB,CAA/B;EACD,SAHoB;EAzBzB;EAAA,wBA+BM1G,WAAW,CAACC,WAAW,IAAIP,QAAQ,CAAC7jB,KAAzB,EAAgC,aAAhC,CA/BjB,EAiCMywB,UAAU,KACV1oB,KAAK,CAACic,OAAN,GACIjc,KAAK,CAACic,OAAN,CAAc2Z,SAAS,CAAC39B,KAAxB,CADJ;EAAA;EAAA;EAAA;EAAA,uBAKkBjD,KAAK,CAACokB,OALxB;EAAA,oBAMepkB,KAAK,CAACiyB,WANrB;EAAA,qBAOgBjyB,KAAK,CAAC05B;EAPtB;EAAA,uBADU,CAjChB,EA+CMO,SAAS;EAAA,0BAELJ,QAAQ;EAAA,4BAEJ7uB,KAAK,CAAC4uB,KAAN,GACE5uB,KAAK,CAAC4uB,KAAN,EADF,GAEE55B,KAAK,CAAC45B,KAJJ;EAAA,YAFH,EAWLE,WAAW;EAAA,4BAEP9uB,KAAK,CAAC2uB,QAAN,GACE3uB,KAAK,CAAC2uB,QAAN,EADF,GAEE35B,KAAK,CAAC25B,QAJD;EAAA,YAXN;EAAA;EAAA,UA/Cf,oBAqEM3uB,KAAK,CAACD,OArEZ,qBAqEM,oBAAAC,KAAK,EAAW41B,SAAS,CAAC39B,KAArB,CArEX,EAuEM+2B,SAAS,KACThvB,KAAK,CAACkc,MAAN,GACIlc,KAAK,CAACkc,MAAN,CAAa0Z,SAAS,CAAC39B,KAAvB,CADJ;EAAA;EAAA;EAAA;EAAA,uBAKkBjD,KAAK,CAACokB,OALxB;EAAA,oBAMepkB,KAAK,CAACkyB,UANrB;EAAA,qBAOgBlyB,KAAK,CAACw5B;EAPtB;EAAA,wBADS,CAvEf;EAAA;EAAA,kGA6BenS,WA7Bf;EAsFD,KAjGD;EAkGD;;EApKE,CARoC,CAAlC;;EC3BA,MAAMs0B,aAAa,GAAGpxC,gBAAgB,GASxC;EACHjM,EAAAA,IAAI,EAAE,eADH;EAGH0B,EAAAA,KAAK,EAAE;EACLkX,IAAAA,KAAK,EAAEhY;EADF,GAHJ;;EAOH0K,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,WAAO;EAAA;;EAAA,kDAAMA,KAAK,CAACD,OAAZ,qBAAM,qBAAAC,KAAK,CAAX,6CAA2BhL,KAAK,CAACkX,KAAjC,qBAA2B,aAAanY,GAAb,CAAiB,SAA2B;EAAA,YAA1B;EAAEyF,UAAAA,QAAF;EAAY,aAAG2R;EAAf,SAA0B;EAC5E,cAAM;EAAElT,UAAAA,KAAF;EAAS,aAAGT;EAAZ,YAAqB2T,IAA3B;EACA,eAAO3R,QAAQ;EAAA,mBAEJvB,KAFI;EAAA,mBAGJuB;EAHI,aAMT,GAAGwG,KANM;EAOTmwC,UAAAA,MAAM,EAAED,WAAW,IAAIlwC,KAAK,CAAC4wC,cAAN,GACnB5wC,KAAK,CAAC4wC,cAAN,CAAqB,EAAE,GAAGp5C,IAAL;EAAW,eAAG04C;EAAd,WAArB,CADmB,6CAEJ14C,IAFI,EAEM04C,WAFN,YAPd;EAAA;EAAA,oCAablwC,KAAK,CAACmL,IAAN,GAAanL,KAAK,CAACmL,IAAN,CAAWA,IAAX,CAAb,8BAA+CA,IAA/C,EAA8DnL,KAA9D,KAbF;EAeD,OAjBiC,CAA3B;EAAA,KAAP;EAkBD;;EA1BE,CATwC,CAAtC;;ECuBA,MAAM6wC,OAGX,GAAG3zC,MAAM,CAACC,GAAP,CAAW,cAAX,CAHE;EAKA,MAAM4yC,UAAU,GAAG,MAAM;EAC9B,QAAMl+C,MAAM,GAAG0L,UAAM,CAACszC,OAAD,EAAU;EAAEnoB,IAAAA,UAAU,EAAE5uB,OAAG,CAAC,KAAD,CAAjB;EAA0B42C,IAAAA,gBAAgB,EAAE,MAAM;EAAlD,GAAV,CAArB;EAEA,QAAMtU,IAAI,GAAG;EACX1T,IAAAA,UAAU,EAAE5uB,OAAG,CAAC,KAAD,CADJ;EAEX42C,IAAAA,gBAAgB,EAAGz4C,KAAD,IAAoB;EACpC,UAAIA,KAAJ,EAAWmkC,IAAI,CAAC1T,UAAL,CAAgBzwB,KAAhB,GAAwBA,KAAxB;EACZ;EAJU,GAAb;EAOAqG,EAAAA,WAAO,CAACuyC,OAAD,EAAUzU,IAAV,CAAP;EAEA,SAAOvqC,MAAP;EACD,CAbM;EAeA,MAAMo+C,OAAO,GAAG,MAAM;EAC3B,SAAO1yC,UAAM,CAACszC,OAAD,EAAU,IAAV,CAAb;EACD,CAFM;EAIA,MAAMC,KAAK,GAAGvxC,gBAAgB,GAShC;EACHjM,EAAAA,IAAI,EAAE,OADH;EAGH0B,EAAAA,KAAK,EAAE;EACLgH,IAAAA,KAAK,EAAEnG,MADF;EAELqnB,IAAAA,QAAQ,EAAE9T,OAFL;EAGLhC,IAAAA,KAAK,EAAE;EACL9N,MAAAA,IAAI,EAAEzD,MADD;EAELkK,MAAAA,OAAO,EAAE;EAFJ,KAHF;EAOLgxC,IAAAA,GAAG,EAAE3nC,OAPA;EAQL4nC,IAAAA,SAAS,EAAE;EACT13C,MAAAA,IAAI,EAAE,CAAC8P,OAAD,EAAUvT,MAAV,CADG;EAETkK,MAAAA,OAAO,EAAE;EAFA,KARN;EAYLmM,IAAAA,KAAK,EAAEhY,KAZF;EAcL,OAAG46C,eAAe,CAAC;EACjBC,MAAAA,cAAc,EAAE,MADC;EAEjBC,MAAAA,YAAY,EAAE,UAFG;EAGjBC,MAAAA,cAAc,EAAE;EAHC,KAAD,CAdb;EAmBL,OAAGp2B,eAAe,EAnBb;EAoBL,OAAGM,gBAAgB,EApBd;EAqBL,OAAGjG,kBAAkB,EArBhB;EAsBL,OAAGqG,kBAAkB,EAtBhB;EAuBL,OAAGI,gBAAgB,EAvBd;EAwBL,OAAGI,YAAY,EAxBV;EAyBL,OAAGjV,cAAc;EAzBZ,GAHJ;EA+BHwR,EAAAA,KAAK,EAAE;EACL,uBAAoB/b,GAAD,IAAmB,IADjC;EAEL,qBAAkBA,GAAD,IAAmB,IAF/B;EAGL,qBAAkBA,GAAD,IAAmB;EAH/B,GA/BJ;;EAqCHqE,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAE2lB,MAAAA,sBAAF;EAA0BC,MAAAA;EAA1B,QAAoDF,kBAAkB,CAACgB,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CAAN,CAA5E;EACA,UAAM;EAAEgkB,MAAAA;EAAF,QAAoBD,SAAS,CAAC/jB,KAAD,CAAnC;EACA,UAAM;EAAEskB,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EACA,UAAM;EAAEwe,MAAAA;EAAF,QAAsBD,YAAY,CAACve,KAAD,CAAxC;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EACA,UAAM;EAAE25C,MAAAA,IAAF;EAAQhxB,MAAAA,MAAR;EAAgBixB,MAAAA;EAAhB,QAA6BM,SAAS,CAACl6C,KAAD,CAA5C;EACA+6C,IAAAA,UAAU;EAEVltC,IAAAA,SAAS,CAAC,MAAM;EACd,YAAMosB,SAAS,GAAG,OAAOj6B,KAAK,CAACg8C,SAAb,KAA2B,QAA3B,IAAuChxC,KAAK,CAACgxC,SAA/D;EAEA;EAAA,iBAEW,CACL,QADK,EAEL;EACE,8BAAoBh8C,KAAK,CAACkoB,QAD5B;EAEE,yBAAeloB,KAAK,CAAC+7C,GAFvB;EAGE,+BAAqB/7C,KAAK,CAACg8C,SAH7B;EAIE,sCAA4Bh8C,KAAK,CAACg8C,SAAN,KAAoB,QAJlD;EAKE,WAAE,WAAUh8C,KAAK,CAACoS,KAAM,OAAxB,GAAiC;EALnC,SAFK,EASLwB,YAAY,CAAC3Q,KATR,EAUL0iB,sBAAsB,CAAC1iB,KAVlB,EAWL+gB,aAAa,CAAC/gB,KAXT,EAYLqhB,cAAc,CAACrhB,KAZV,EAaLyhB,gBAAgB,CAACzhB,KAbZ,EAcL6hB,cAAc,CAAC7hB,KAdV,CAFX;EAAA,iBAkBW,CACL2iB,qBAAqB,CAAC3iB,KADjB,EAELub,eAAe,CAACvb,KAFX;EAlBX;EAAA,wBAuBMg3B,SAAS,KACTjvB,KAAK,CAACgxC,SAAN,GACIhxC,KAAK,CAACgxC,SAAN,EADJ;EAAA,0BAEsBh8C,KAAK,CAACg8C,SAF5B;EAAA,UADS,CAvBf;EAAA,mBA6B2Bh8C,KAAK,CAACkX;EA7BjC;EA+BQnM,UAAAA,OAAO,EAAEC,KAAK,CAACD,OA/BvB;EAgCQoL,UAAAA,IAAI,EAAEnL,KAAK,CAACmL,IAhCpB;EAiCQylC,UAAAA,cAAc,EAAE5wC,KAAK,CAACmwC,MAjC9B;EAAA;EAAA;EAAA;EAAA;EAsCD,KAzCQ,CAAT;EA2CA,WAAO;EACLxB,MAAAA,IADK;EAELhxB,MAAAA,MAFK;EAGLixB,MAAAA;EAHK,KAAP;EAKD;;EAhGE,CATgC,CAA9B;;EC1DA,MAAMqC,QAAQ,GAAGvxC,sBAAsB,CAAC,YAAD,CAAvC;;ECIA,MAAMwxC,cAAc,GAAGxyC,eAAe,CAAC;EAC5CpL,EAAAA,IAAI,EAAE,gBADsC;EAG5C0B,EAAAA,KAAK,EAAE;EACLhF,IAAAA,IAAI,EAAEoZ,OADD;EAELnZ,IAAAA,KAAK,EAAEmZ,OAFF;EAIL,OAAG2Q,YAAY;EAJV,GAHqC;;EAU5Cnb,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,WAAO,MAAM;EACX;EAAA,iBAEW,CACL,mBADK,EAEL;EACE,sCAA4BhL,KAAK,CAAChF,IADpC;EAEE,oCAA0BgF,KAAK,CAAC/E;EAFlC,SAFK;EAFX,SASc+P,KATd;EAYD,KAbD;EAcD;;EAzB2C,CAAD,CAAtC;;ECGA,MAAMmxC,eAAe,GAAGzyC,eAAe,CAAC;EAC7CpL,EAAAA,IAAI,EAAE,iBADuC;EAG7C0B,EAAAA,KAAK,EAAE;EACLm0C,IAAAA,MAAM,EAAEtzC,MADH;EAEL6yC,IAAAA,cAAc,EAAE7yC,MAFX;EAGL09B,IAAAA,QAAQ,EAAEx+B,MAHL;EAIL+a,IAAAA,GAAG,EAAE;EACHxW,MAAAA,IAAI,EAAE8P,OADH;EAEHrJ,MAAAA,OAAO,EAAEtL;EAFN;EAJA,GAHsC;;EAa7CmK,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAMoxC,cAAc,GAAGzJ,aAAa,CAAC3yC,KAAD,CAApC;EACA,UAAM;EAAE4d,MAAAA;EAAF,QAAiBE,UAAU,CAAC9d,KAAD,EAAQo8C,cAAR,CAAjC;EAEA,WAAO;EAAA;;EAAA;EAAA,iBAEI,CACL,mBADK,EAELx+B,UAAU,CAAC3a,KAFN;EAFJ,4BAOD+H,KAAK,CAACD,OAPL,qBAOD,oBAAAC,KAAK,CAPJ;EAAA,KAAP;EAUD;;EA3B4C,CAAD,CAAvC;;ECTP;;EAIO,SAASqxC,UAAT,GAAuB;EAC5B,QAAM34B,QAAQ,GAAG5e,OAAG,CAAC,KAAD,CAApB;EAEA2kB,EAAAA,aAAS,CAAC,MAAM;EACdpd,IAAAA,MAAM,CAACuX,qBAAP,CAA6B,MAAM;EACjCF,MAAAA,QAAQ,CAACzgB,KAAT,GAAiB,IAAjB;EACD,KAFD;EAGD,GAJQ,CAAT;EAMA,QAAMq5C,aAAa,GAAGzzC,YAAQ,CAAC,MAAM,CAAC6a,QAAQ,CAACzgB,KAAV,GAAmB;EACtDgU,IAAAA,UAAU,EAAE;EAD0C,GAAnB,GAEhCxX,SAFyB,CAA9B;EAIA,SAAO;EAAE68C,IAAAA;EAAF,GAAP;EACD;;ECPM,MAAMC,KAAK,GAAG7yC,eAAe,CAAC;EACnCpL,EAAAA,IAAI,EAAE,OAD6B;EAGnC0B,EAAAA,KAAK,EAAE+kB,YAAY,CAAC;EAAEna,IAAAA,GAAG,EAAE;EAAP,GAAD,CAHgB;;EAKnChB,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE4L,MAAAA;EAAF,QAAiBpC,SAAS,EAAhC;EACA,UAAM;EAAE8nC,MAAAA;EAAF,QAAoBD,UAAU,EAApC;EAEA,WAAO;EAAA;;EAAA;EAAA,iBAEG,QAFH;EAAA,iBAGI,CACLzlC,UAAU,CAAC3T,KADN,EAELq5C,aAAa,CAACr5C,KAFT;EAHJ;EAAA;EAAA,mBAQQ;EARR,8BASC+H,KAAK,CAACD,OATP,qBASC,oBAAAC,KAAK,CATN;EAAA;EAAA,KAAP;EAaD;;EAtBkC,CAAD,CAA7B;;ECOA,MAAMwxC,KAAK,GAAGjyC,gBAAgB,GAEhC;EACHjM,EAAAA,IAAI,EAAE,OADH;EAGHusB,EAAAA,YAAY,EAAE,KAHX;EAKH7qB,EAAAA,KAAK,EAAE;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAy8C,IAAAA,WAAW,EAAEroC,OAVR;EAWLmS,IAAAA,UAAU,EAAEnS,OAXP;EAYLpB,IAAAA,EAAE,EAAEnS,MAZC;EAcL,OAAGsf,mBAAmB,CAAC;EACrBlJ,MAAAA,UAAU,EAAE;EAAE9R,QAAAA,SAAS,EAAE02B;EAAb;EADS,KAAD;EAdjB,GALJ;EAwBHva,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAAoB;EADpC,GAxBJ;;EA4BH2G,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAM8b,QAAQ,GAAGjB,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAAhC;EAEA,UAAMyf,GAAG,GAAGxb,MAAM,EAAlB;EACA,UAAM+O,EAAE,GAAGnK,YAAQ,CAAC,MAAM7I,KAAK,CAACgT,EAAN,IAAa,UAASyM,GAAI,EAAjC,CAAnB;EAEA,WAAO,MAAM;EACX;EAAA,sBAEcqH,QAAQ,CAAC7jB,KAFvB;EAAA,yCAEc6jB,QAAQ,CAAC7jB,KAFvB;EAAA,iBAGW,CACL,QADK,CAHX;EAAA,sBAMiBjD,KAAK,CAACiX,UANvB;EAAA;EAAA,4BAQqB,WARrB;EAAA,0BASmB,YATnB;EAAA,iBAUY,KAVZ;EAAA,0BAWoB;EACd,2BAAiB,MADH;EAEd,2BAAiBpW,MAAM,CAACimB,QAAQ,CAAC7jB,KAAV,CAFT;EAGd,uBAAa+P,EAAE,CAAC/P;EAHF;EAXpB,SAgBSH,KAhBT,GAiBa;EACPiI,QAAAA,OAAO,EAAEC,KAAK,CAACD,OADR;EAEPm5B,QAAAA,SAAS,EAAEl5B,KAAK,CAACk5B;EAFV,OAjBb;EAuBD,KAxBD;EAyBD;;EA3DE,CAFgC,CAA9B;;EChBP,MAAMwY,OAAO,GAAG,GAAhB;;EACA,MAAMC,OAAO,GAAG,EAAhB;;EAOA;EACA,SAASC,uBAAT,CAAkCC,IAAlC,EAAgD;EAC9C,QAAMC,KAAK,GAAG,aAAd;EACA,SAAO,CAACD,IAAI,GAAG,CAAP,GAAW,CAAC,GAAZ,GAAkB,GAAnB,IAA0Bz5C,IAAI,CAAC8rB,IAAL,CAAU9rB,IAAI,CAACK,GAAL,CAASo5C,IAAT,CAAV,CAA1B,GAAsDC,KAA7D;EACD;EAED;EACA;EACA;;;EACO,SAASC,wBAAT,CAAmCC,OAAnC,EAAsD;EAC3D;EACA,MAAIA,OAAO,CAACn+C,MAAR,GAAiB,CAArB,EAAwB;EACtB;EACA,WAAO,CAAP;EACD,GAL0D;EAO3D;EACA;EACA;;;EACA,MAAIm+C,OAAO,CAACn+C,MAAR,KAAmB,CAAvB,EAA0B;EACxB;EACA,QAAIm+C,OAAO,CAAC,CAAD,CAAP,CAAWv2C,CAAX,KAAiBu2C,OAAO,CAAC,CAAD,CAAP,CAAWv2C,CAAhC,EAAmC;EACjC;EACA,aAAO,CAAP;EACD;;EACD,WAAO,CAACu2C,OAAO,CAAC,CAAD,CAAP,CAAWC,CAAX,GAAeD,OAAO,CAAC,CAAD,CAAP,CAAWC,CAA3B,KAAiCD,OAAO,CAAC,CAAD,CAAP,CAAWv2C,CAAX,GAAeu2C,OAAO,CAAC,CAAD,CAAP,CAAWv2C,CAA3D,CAAP;EACD,GAjB0D;EAmB3D;;;EACA,MAAIo2C,IAAI,GAAG,CAAX;;EACA,OAAK,IAAI79C,CAAC,GAAGg+C,OAAO,CAACn+C,MAAR,GAAiB,CAA9B,EAAiCG,CAAC,GAAG,CAArC,EAAwCA,CAAC,EAAzC,EAA6C;EAC3C,QAAIg+C,OAAO,CAACh+C,CAAD,CAAP,CAAWyH,CAAX,KAAiBu2C,OAAO,CAACh+C,CAAC,GAAG,CAAL,CAAP,CAAeyH,CAApC,EAAuC;EACrC;EACA;EACD;;EACD,UAAMy2C,KAAK,GAAGN,uBAAuB,CAACC,IAAD,CAArC,CAL2C;;EAM3C,UAAMM,KAAK,GAAG,CAACH,OAAO,CAACh+C,CAAD,CAAP,CAAWi+C,CAAX,GAAeD,OAAO,CAACh+C,CAAC,GAAG,CAAL,CAAP,CAAei+C,CAA/B,KAAqCD,OAAO,CAACh+C,CAAD,CAAP,CAAWyH,CAAX,GAAeu2C,OAAO,CAACh+C,CAAC,GAAG,CAAL,CAAP,CAAeyH,CAAnE,CAAd,CAN2C;;EAO3Co2C,IAAAA,IAAI,IAAI,CAACM,KAAK,GAAGD,KAAT,IAAkB95C,IAAI,CAACK,GAAL,CAAS05C,KAAT,CAA1B;;EACA,QAAIn+C,CAAC,KAAKg+C,OAAO,CAACn+C,MAAR,GAAiB,CAA3B,EAA8B;EAC5Bg+C,MAAAA,IAAI,IAAI,GAAR;EACD;EACF;;EACD,SAAOD,uBAAuB,CAACC,IAAD,CAAvB,GAAgC,IAAvC;EACD;EAEM,SAASO,WAAT,GAAwB;EAC7B,QAAM3uB,OAAoE,GAAG,EAA7E;;EAEA,WAAS4uB,WAAT,CAAsBvvB,CAAtB,EAAqC;EACnC5uB,IAAAA,KAAK,CAACqB,IAAN,CAAWutB,CAAC,CAACwvB,cAAb,EAA6Bhe,OAA7B,CAAqC1I,KAAK,IAAI;EAAA;;EAC5C,YAAMomB,OAAO,4BAAGvuB,OAAO,CAACmI,KAAK,CAAC2mB,UAAP,CAAV,oCAAiC9uB,OAAO,CAACmI,KAAK,CAAC2mB,UAAP,CAAP,GAA4B,IAAIl4C,cAAJ,CAAmBs3C,OAAnB,CAA1E;EACAK,MAAAA,OAAO,CAAC7/C,IAAR,CAAa,CAAC2wB,CAAC,CAAC0vB,SAAH,EAAc5mB,KAAd,CAAb;EACD,KAHD;EAID;;EAED,WAAS6mB,QAAT,CAAmB3vB,CAAnB,EAAkC;EAChC5uB,IAAAA,KAAK,CAACqB,IAAN,CAAWutB,CAAC,CAACwvB,cAAb,EAA6Bhe,OAA7B,CAAqC1I,KAAK,IAAI;EAC5C,aAAOnI,OAAO,CAACmI,KAAK,CAAC2mB,UAAP,CAAd;EACD,KAFD;EAGD;;EAED,WAASG,WAAT,CAAsB1qC,EAAtB,EAAkC;EAAA;;EAChC,UAAMgqC,OAAO,kBAAGvuB,OAAO,CAACzb,EAAD,CAAV,qBAAG,YAAaxN,MAAb,GAAsBmqC,OAAtB,EAAhB;;EAEA,QAAI,CAACqN,OAAL,EAAc;EACZ,YAAM,IAAIx0C,KAAJ,CAAW,2BAA0BwK,EAAG,EAAxC,CAAN;EACD;;EAED,UAAM2qC,MAAM,GAAGX,OAAO,CAAC,CAAD,CAAtB;EACA,UAAMtiD,CAAW,GAAG,EAApB;EACA,UAAMC,CAAW,GAAG,EAApB;;EACA,SAAK,MAAM4K,GAAX,IAAkBy3C,OAAlB,EAA2B;EACzB,UAAIW,MAAM,CAAC,CAAD,CAAN,GAAYp4C,GAAG,CAAC,CAAD,CAAf,GAAqBm3C,OAAzB,EAAkC;EAElChiD,MAAAA,CAAC,CAACyC,IAAF,CAAO;EAAEsJ,QAAAA,CAAC,EAAElB,GAAG,CAAC,CAAD,CAAR;EAAa03C,QAAAA,CAAC,EAAE13C,GAAG,CAAC,CAAD,CAAH,CAAOmpB;EAAvB,OAAP;EACA/zB,MAAAA,CAAC,CAACwC,IAAF,CAAO;EAAEsJ,QAAAA,CAAC,EAAElB,GAAG,CAAC,CAAD,CAAR;EAAa03C,QAAAA,CAAC,EAAE13C,GAAG,CAAC,CAAD,CAAH,CAAOopB;EAAvB,OAAP;EACD;;EAED,WAAO;EACLj0B,MAAAA,CAAC,EAAEqiD,wBAAwB,CAACriD,CAAD,CADtB;EAELC,MAAAA,CAAC,EAAEoiD,wBAAwB,CAACpiD,CAAD,CAFtB;;EAGL,UAAI6lC,SAAJ,GAAiB;EACf,cAAM;EAAE9lC,UAAAA,CAAF;EAAKC,UAAAA;EAAL,YAAW,IAAjB;EACA,cAAM,CAACijD,IAAD,EAAOC,IAAP,IAAe,CAACz6C,IAAI,CAACK,GAAL,CAAS/I,CAAT,CAAD,EAAc0I,IAAI,CAACK,GAAL,CAAS9I,CAAT,CAAd,CAArB;EAEA,eAAOijD,IAAI,GAAGC,IAAP,IAAenjD,CAAC,IAAI,CAApB,GAAwB,OAAxB,GACHkjD,IAAI,GAAGC,IAAP,IAAenjD,CAAC,IAAI,CAApB,GAAwB,MAAxB,GACAmjD,IAAI,GAAGD,IAAP,IAAejjD,CAAC,IAAI,CAApB,GAAwB,MAAxB,GACAkjD,IAAI,GAAGD,IAAP,IAAejjD,CAAC,IAAI,CAApB,GAAwB,IAAxB,GACAmjD,MAAI,EAJR;EAKD;;EAZI,KAAP;EAcD;;EAED,SAAO;EAAET,IAAAA,WAAF;EAAeI,IAAAA,QAAf;EAAyBC,IAAAA;EAAzB,GAAP;EACD;;EAED,SAASI,MAAT,GAAwB;EACtB,QAAM,IAAIt1C,KAAJ,EAAN;EACD;;ECzGM,SAASu1C,QAAT,OAMJ;EAAA,MANuB;EAAEj3B,IAAAA,QAAF;EAAYk3B,IAAAA,WAAZ;EAAyBpjD,IAAAA,KAAzB;EAAgCqjD,IAAAA,SAAhC;EAA2C1wC,IAAAA;EAA3C,GAMvB;EACDkc,EAAAA,aAAS,CAAC,MAAM;EACdpd,IAAAA,MAAM,CAACqhB,gBAAP,CAAwB,YAAxB,EAAsCwwB,YAAtC,EAAoD;EAAEtsB,MAAAA,OAAO,EAAE;EAAX,KAApD;EACAvlB,IAAAA,MAAM,CAACqhB,gBAAP,CAAwB,WAAxB,EAAqCywB,WAArC,EAAkD;EAAEvsB,MAAAA,OAAO,EAAE;EAAX,KAAlD;EACAvlB,IAAAA,MAAM,CAACqhB,gBAAP,CAAwB,UAAxB,EAAoC0wB,UAApC,EAAgD;EAAExsB,MAAAA,OAAO,EAAE;EAAX,KAAhD;EACD,GAJQ,CAAT;EAMA5c,EAAAA,mBAAe,CAAC,MAAM;EACpB3I,IAAAA,MAAM,CAACwhB,mBAAP,CAA2B,YAA3B,EAAyCqwB,YAAzC;EACA7xC,IAAAA,MAAM,CAACwhB,mBAAP,CAA2B,WAA3B,EAAwCswB,WAAxC;EACA9xC,IAAAA,MAAM,CAACwhB,mBAAP,CAA2B,UAA3B,EAAuCuwB,UAAvC;EACD,GAJc,CAAf;EAMA,QAAM7mC,YAAY,GAAG1O,YAAQ,CAAC,MAAM0E,QAAQ,CAACtK,KAAT,KAAmB,QAA1B,CAA7B;EAEA,QAAM;EAAEo6C,IAAAA,WAAF;EAAeI,IAAAA,QAAf;EAAyBC,IAAAA;EAAzB,MAAyCN,WAAW,EAA1D;EACA,MAAIiB,aAAa,GAAG,KAApB;EACA,QAAMC,UAAU,GAAGx5C,OAAG,CAAC,KAAD,CAAtB;EACA,QAAMy5C,YAAY,GAAGz5C,OAAG,CAAC,CAAD,CAAxB;EACA,QAAM8kB,MAAM,GAAG9kB,OAAG,CAAC,CAAD,CAAlB;EACA,MAAIxE,KAAJ;;EAEA,WAASmmC,SAAT,CAAoB+X,GAApB,EAAiC3pC,MAAjC,EAA0D;EACxD,WAAO,CACLtH,QAAQ,CAACtK,KAAT,KAAmB,MAAnB,GAA4Bu7C,GAA5B,GACEjxC,QAAQ,CAACtK,KAAT,KAAmB,OAAnB,GAA6BoI,QAAQ,CAACoqB,eAAT,CAAyBzG,WAAzB,GAAuCwvB,GAApE,GACAjxC,QAAQ,CAACtK,KAAT,KAAmB,QAAnB,GAA8BoI,QAAQ,CAACoqB,eAAT,CAAyBjpB,YAAzB,GAAwCgyC,GAAtE,GACAV,IAAI,EAJD,KAKFjpC,MAAM,GAAGja,KAAK,CAACqI,KAAT,GAAiB,CALrB,CAAP;EAMD;;EAED,WAASw7C,WAAT,CAAsBD,GAAtB,EAAyD;EAAA,QAAtBE,KAAsB,uEAAd,IAAc;EACvD,UAAM3O,QAAQ,GACZxiC,QAAQ,CAACtK,KAAT,KAAmB,MAAnB,GAA4B,CAACu7C,GAAG,GAAG50B,MAAM,CAAC3mB,KAAd,IAAuBrI,KAAK,CAACqI,KAAzD,GACEsK,QAAQ,CAACtK,KAAT,KAAmB,OAAnB,GAA6B,CAACoI,QAAQ,CAACoqB,eAAT,CAAyBzG,WAAzB,GAAuCwvB,GAAvC,GAA6C50B,MAAM,CAAC3mB,KAArD,IAA8DrI,KAAK,CAACqI,KAAjG,GACAsK,QAAQ,CAACtK,KAAT,KAAmB,QAAnB,GAA8B,CAACoI,QAAQ,CAACoqB,eAAT,CAAyBjpB,YAAzB,GAAwCgyC,GAAxC,GAA8C50B,MAAM,CAAC3mB,KAAtD,IAA+DrI,KAAK,CAACqI,KAAnG,GACA66C,IAAI,EAJR;EAMA,WAAOY,KAAK,GAAGt7C,IAAI,CAACD,GAAL,CAAS,CAAT,EAAYC,IAAI,CAACF,GAAL,CAAS,CAAT,EAAY6sC,QAAZ,CAAZ,CAAH,GAAwCA,QAApD;EACD;;EAED,WAASmO,YAAT,CAAuBpwB,CAAvB,EAAsC;EACpC,QAAImwB,SAAS,CAACh7C,KAAd,EAAqB;EAErB,UAAM07C,MAAM,GAAG7wB,CAAC,CAACwvB,cAAF,CAAiB,CAAjB,EAAoB5uB,OAAnC;EACA,UAAMkwB,MAAM,GAAG9wB,CAAC,CAACwvB,cAAF,CAAiB,CAAjB,EAAoB3uB,OAAnC;EAEA,UAAMkwB,SAAS,GAAG,EAAlB;EACA,UAAMC,WAAoB,GACxBvxC,QAAQ,CAACtK,KAAT,KAAmB,MAAnB,GAA4B07C,MAAM,GAAGE,SAArC,GACEtxC,QAAQ,CAACtK,KAAT,KAAmB,OAAnB,GAA6B07C,MAAM,GAAGtzC,QAAQ,CAACoqB,eAAT,CAAyBzG,WAAzB,GAAuC6vB,SAA7E,GACAtxC,QAAQ,CAACtK,KAAT,KAAmB,QAAnB,GAA8B27C,MAAM,GAAGvzC,QAAQ,CAACoqB,eAAT,CAAyBjpB,YAAzB,GAAwCqyC,SAA/E,GACAf,IAAI,EAJR;EAMA,UAAMiB,SAAkB,GAAGj4B,QAAQ,CAAC7jB,KAAT,KACzBsK,QAAQ,CAACtK,KAAT,KAAmB,MAAnB,GAA4B07C,MAAM,GAAG/jD,KAAK,CAACqI,KAA3C,GACEsK,QAAQ,CAACtK,KAAT,KAAmB,OAAnB,GAA6B07C,MAAM,GAAGtzC,QAAQ,CAACoqB,eAAT,CAAyBzG,WAAzB,GAAuCp0B,KAAK,CAACqI,KAAnF,GACAsK,QAAQ,CAACtK,KAAT,KAAmB,QAAnB,GAA8B27C,MAAM,GAAGvzC,QAAQ,CAACoqB,eAAT,CAAyBjpB,YAAzB,GAAwC5R,KAAK,CAACqI,KAArF,GACA66C,IAAI,EAJmB,CAA3B;;EAOA,QACEgB,WAAW,IACXC,SADA,IAECj4B,QAAQ,CAAC7jB,KAAT,IAAkB+6C,WAAW,CAAC/6C,KAHjC,EAIE;EACAo7C,MAAAA,aAAa,GAAG,IAAhB;EACA/9C,MAAAA,KAAK,GAAG,CAACq+C,MAAD,EAASC,MAAT,CAAR;EAEAh1B,MAAAA,MAAM,CAAC3mB,KAAP,GAAewjC,SAAS,CAAClvB,YAAY,CAACtU,KAAb,GAAqB07C,MAArB,GAA8BC,MAA/B,EAAuC93B,QAAQ,CAAC7jB,KAAhD,CAAxB;EACAs7C,MAAAA,YAAY,CAACt7C,KAAb,GAAqBw7C,WAAW,CAAClnC,YAAY,CAACtU,KAAb,GAAqB07C,MAArB,GAA8BC,MAA/B,CAAhC;EAEAnB,MAAAA,QAAQ,CAAC3vB,CAAD,CAAR;EACAuvB,MAAAA,WAAW,CAACvvB,CAAD,CAAX;EACD;EACF;;EAED,WAASqwB,WAAT,CAAsBrwB,CAAtB,EAAqC;EACnC,UAAM6wB,MAAM,GAAG7wB,CAAC,CAACwvB,cAAF,CAAiB,CAAjB,EAAoB5uB,OAAnC;EACA,UAAMkwB,MAAM,GAAG9wB,CAAC,CAACwvB,cAAF,CAAiB,CAAjB,EAAoB3uB,OAAnC;;EAEA,QAAI0vB,aAAJ,EAAmB;EACjB,UAAI,CAACvwB,CAAC,CAACkxB,UAAP,EAAmB;EACjBX,QAAAA,aAAa,GAAG,KAAhB;EACA;EACD;;EAED,YAAMxiD,EAAE,GAAGuH,IAAI,CAACK,GAAL,CAASk7C,MAAM,GAAGr+C,KAAK,CAAE,CAAF,CAAvB,CAAX;EACA,YAAMxE,EAAE,GAAGsH,IAAI,CAACK,GAAL,CAASm7C,MAAM,GAAGt+C,KAAK,CAAE,CAAF,CAAvB,CAAX;EAEA,YAAM2+C,YAAY,GAAG1nC,YAAY,CAACtU,KAAb,GACjBpH,EAAE,GAAGC,EAAL,IAAWD,EAAE,GAAG,CADC,GAEjBC,EAAE,GAAGD,EAAL,IAAWC,EAAE,GAAG,CAFpB;;EAIA,UAAImjD,YAAJ,EAAkB;EAChBX,QAAAA,UAAU,CAACr7C,KAAX,GAAmB,IAAnB;EACAo7C,QAAAA,aAAa,GAAG,KAAhB;EACD,OAHD,MAGO,IAAI,CAAC9mC,YAAY,CAACtU,KAAb,GAAqBnH,EAArB,GAA0BD,EAA3B,IAAiC,CAArC,EAAwC;EAC7CwiD,QAAAA,aAAa,GAAG,KAAhB;EACD;EACF;;EAED,QAAI,CAACC,UAAU,CAACr7C,KAAhB,EAAuB;EAEvB6qB,IAAAA,CAAC,CAACmkB,cAAF;EACAoL,IAAAA,WAAW,CAACvvB,CAAD,CAAX;EAEA,UAAMiiB,QAAQ,GAAG0O,WAAW,CAAClnC,YAAY,CAACtU,KAAb,GAAqB07C,MAArB,GAA8BC,MAA/B,EAAuC,KAAvC,CAA5B;EACAL,IAAAA,YAAY,CAACt7C,KAAb,GAAqBG,IAAI,CAACD,GAAL,CAAS,CAAT,EAAYC,IAAI,CAACF,GAAL,CAAS,CAAT,EAAY6sC,QAAZ,CAAZ,CAArB;;EAEA,QAAIA,QAAQ,GAAG,CAAf,EAAkB;EAChBnmB,MAAAA,MAAM,CAAC3mB,KAAP,GAAewjC,SAAS,CAAClvB,YAAY,CAACtU,KAAb,GAAqB07C,MAArB,GAA8BC,MAA/B,EAAuC,IAAvC,CAAxB;EACD,KAFD,MAEO,IAAI7O,QAAQ,GAAG,CAAf,EAAkB;EACvBnmB,MAAAA,MAAM,CAAC3mB,KAAP,GAAewjC,SAAS,CAAClvB,YAAY,CAACtU,KAAb,GAAqB07C,MAArB,GAA8BC,MAA/B,EAAuC,KAAvC,CAAxB;EACD;EACF;;EAED,WAASR,UAAT,CAAqBtwB,CAArB,EAAoC;EAClCuwB,IAAAA,aAAa,GAAG,KAAhB;EAEA,QAAI,CAACC,UAAU,CAACr7C,KAAhB,EAAuB;EAEvBo6C,IAAAA,WAAW,CAACvvB,CAAD,CAAX;EAEAwwB,IAAAA,UAAU,CAACr7C,KAAX,GAAmB,KAAnB;EAEA,UAAMi8C,QAAQ,GAAGxB,WAAW,CAAC5vB,CAAC,CAACwvB,cAAF,CAAiB,CAAjB,EAAoBC,UAArB,CAA5B;EACA,UAAM4B,EAAE,GAAG/7C,IAAI,CAACK,GAAL,CAASy7C,QAAQ,CAACxkD,CAAlB,CAAX;EACA,UAAM0kD,EAAE,GAAGh8C,IAAI,CAACK,GAAL,CAASy7C,QAAQ,CAACvkD,CAAlB,CAAX;EACA,UAAMskD,YAAY,GAAG1nC,YAAY,CAACtU,KAAb,GACjBk8C,EAAE,GAAGC,EAAL,IAAWD,EAAE,GAAG,GADC,GAEjBC,EAAE,GAAGD,EAAL,IAAWC,EAAE,GAAG,CAFpB;;EAIA,QAAIH,YAAJ,EAAkB;EAChBn4B,MAAAA,QAAQ,CAAC7jB,KAAT,GAAiBi8C,QAAQ,CAAC1e,SAAT,MAAwB;EACvCxlC,QAAAA,IAAI,EAAE,OADiC;EAEvCC,QAAAA,KAAK,EAAE,MAFgC;EAGvCF,QAAAA,MAAM,EAAE;EAH+B,QAIvCwS,QAAQ,CAACtK,KAJ8B,KAIpB66C,IAAI,EAJR,CAAjB;EAKD,KAND,MAMO;EACLh3B,MAAAA,QAAQ,CAAC7jB,KAAT,GAAiBs7C,YAAY,CAACt7C,KAAb,GAAqB,GAAtC;EACD;EACF;;EAED,QAAMo8C,UAAU,GAAGx2C,YAAQ,CAAC,MAAM;EAChC,WAAOy1C,UAAU,CAACr7C,KAAX,GAAmB;EACxBxH,MAAAA,SAAS,EACP8R,QAAQ,CAACtK,KAAT,KAAmB,MAAnB,GAA6B,2BAA0Bs7C,YAAY,CAACt7C,KAAb,GAAqBrI,KAAK,CAACqI,KAAM,MAAxF,GACEsK,QAAQ,CAACtK,KAAT,KAAmB,OAAnB,GAA8B,0BAAyBs7C,YAAY,CAACt7C,KAAb,GAAqBrI,KAAK,CAACqI,KAAM,MAAxF,GACAsK,QAAQ,CAACtK,KAAT,KAAmB,QAAnB,GAA+B,0BAAyBs7C,YAAY,CAACt7C,KAAb,GAAqBrI,KAAK,CAACqI,KAAM,MAAzF,GACA66C,IAAI,EALgB;EAMxB7mC,MAAAA,UAAU,EAAE;EANY,KAAnB,GAOHxX,SAPJ;EAQD,GAT0B,CAA3B;EAWA,SAAO;EACL6+C,IAAAA,UADK;EAELC,IAAAA,YAFK;EAGLc,IAAAA;EAHK,GAAP;EAKD;;EAED,SAASvB,IAAT,GAAwB;EACtB,QAAM,IAAIt1C,KAAJ,EAAN;EACD;;ECxJM,MAAM82C,iBAAiB,GAAG51C,eAAe,CAAC;EAC/CpL,EAAAA,IAAI,EAAE,mBADyC;EAG/C0B,EAAAA,KAAK,EAAE;EACLgH,IAAAA,KAAK,EAAEnG,MADF;EAEL0+C,IAAAA,oBAAoB,EAAEnrC,OAFjB;EAGLorC,IAAAA,aAAa,EAAEprC,OAHV;EAILkS,IAAAA,QAAQ,EAAElS,OAJL;EAKLmS,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAE8P,OADI;EAEVrJ,MAAAA,OAAO,EAAE;EAFC,KALP;EASL00C,IAAAA,SAAS,EAAErrC,OATN;EAULsrC,IAAAA,IAAI,EAAEtrC,OAVD;EAWLurC,IAAAA,SAAS,EAAE;EACTr7C,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADG;EAETkK,MAAAA,OAAO,EAAE;EAFA,KAXN;EAeL0W,IAAAA,KAAK,EAAE5gB,MAfF;EAgBL++C,IAAAA,SAAS,EAAExrC,OAhBN;EAiBL6pC,IAAAA,SAAS,EAAE7pC,OAjBN;EAkBLxZ,IAAAA,KAAK,EAAE;EACL0J,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADD;EAELkK,MAAAA,OAAO,EAAE;EAFJ,KAlBF;EAsBLwC,IAAAA,QAAQ,EAAE;EACRjJ,MAAAA,IAAI,EAAEzD,MADE;EAERkK,MAAAA,OAAO,EAAE,MAFD;EAGRqV,MAAAA,SAAS,EAAGnd,KAAD,IAAgB,CAAC,MAAD,EAAS,OAAT,EAAkB,QAAlB,EAA4B/F,QAA5B,CAAqC+F,KAArC;EAHnB,KAtBL;EA4BL,OAAG4gB,eAAe,EA5Bb;EA6BL,OAAGU,kBAAkB,EA7BhB;EA8BL,OAAGlQ,mBAAmB,EA9BjB;EA+BL,OAAGsQ,gBAAgB,EA/Bd;EAgCL,OAAGI,YAAY,CAAC;EAAEna,MAAAA,GAAG,EAAE;EAAP,KAAD,CAhCV;EAiCL,OAAGkF,cAAc;EAjCZ,GAHwC;EAuC/CwR,EAAAA,KAAK,EAAE;EACL,yBAAsB/b,GAAD,IAAkB;EADlC,GAvCwC;;EA2C/CqE,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEgkB,MAAAA;EAAF,QAAoBD,SAAS,CAAC/jB,KAAD,CAAnC;EACA,UAAM;EAAE2lB,MAAAA,sBAAF;EAA0BC,MAAAA;EAA1B,QAAoDF,kBAAkB,CAACgB,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CAAN,CAA5E;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAEi3B,MAAAA;EAAF,QAAaU,UAAU,EAA7B;EACA,UAAM;EAAE7S,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EAEA,UAAM8mB,QAAQ,GAAGjB,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAAhC;EACA,UAAM6/C,UAAU,GAAG/6C,OAAG,CAAC,KAAD,CAAtB;EACA,UAAMlK,KAAK,GAAGiO,YAAQ,CAAC,MAAM;EAC3B,aAAQ7I,KAAK,CAAC0/C,IAAN,IAAc1/C,KAAK,CAACw/C,aAApB,IAAqCK,UAAU,CAAC58C,KAAjD,GACHlC,MAAM,CAACf,KAAK,CAACpF,KAAP,CADH,GAEHmG,MAAM,CAACf,KAAK,CAAC0/C,IAAN,GAAa1/C,KAAK,CAAC2/C,SAAnB,GAA+B3/C,KAAK,CAACpF,KAAtC,CAFV;EAGD,KAJqB,CAAtB;EAKA,UAAMojD,WAAW,GAAGn1C,YAAQ,CAAC,MAAM,CAAC7I,KAAK,CAACy/C,SAAP,KAAqBxoB,MAAM,CAACh0B,KAAP,IAAgBjD,KAAK,CAAC4/C,SAA3C,CAAP,CAA5B;;EAEA,QAAI,CAAC5/C,KAAK,CAACu/C,oBAAX,EAAiC;EAC/BrsC,MAAAA,SAAK,CAAC+jB,MAAD,EAAS1xB,GAAG,IAAI,CAACvF,KAAK,CAACy/C,SAAP,KAAqB34B,QAAQ,CAAC7jB,KAAT,GAAiB,CAACsC,GAAvC,CAAhB,CAAL;EACD;;EAED2N,IAAAA,SAAK,CAAClT,KAAD,EAAQuF,GAAG,IAAI;EAClB,UAAIA,GAAG,CAACk6C,SAAR,EAAmB34B,QAAQ,CAAC7jB,KAAT,GAAiB,IAAjB;EACpB,KAFI,CAAL;EAIA8e,IAAAA,iBAAa,CAAC,MAAM;EAClB,UAAI/hB,KAAK,CAACumB,UAAN,IAAoB,IAAxB,EAA8B;EAE9BO,MAAAA,QAAQ,CAAC7jB,KAAT,GAAiBjD,KAAK,CAACy/C,SAAN,IAAmB,CAACxoB,MAAM,CAACh0B,KAA5C;EACD,KAJY,CAAb;EAMA,UAAM68C,MAAM,GAAGh7C,OAAG,EAAlB;EAEA,UAAM;EAAEw5C,MAAAA,UAAF;EAAcC,MAAAA,YAAd;EAA4Bc,MAAAA;EAA5B,QAA2CtB,QAAQ,CAAC;EACxDj3B,MAAAA,QADwD;EAExDk3B,MAAAA,WAFwD;EAGxDpjD,MAAAA,KAHwD;EAIxDqjD,MAAAA,SAAS,EAAEv3B,SAAK,CAAC1mB,KAAD,EAAQ,WAAR,CAJwC;EAKxDuN,MAAAA,QAAQ,EAAEmZ,SAAK,CAAC1mB,KAAD,EAAQ,UAAR;EALyC,KAAD,CAAzD;EAQA,UAAM2U,UAAU,GAAG9L,YAAQ,CAAC,MAAM;EAChC,YAAMvD,IAAI,GAAG04C,WAAW,CAAC/6C,KAAZ,GAAoB,CAApB,GACTjD,KAAK,CAAC0/C,IAAN,IAAc1/C,KAAK,CAACw/C,aAApB,GAAoCz+C,MAAM,CAACf,KAAK,CAAC2/C,SAAP,CAA1C,GACA/kD,KAAK,CAACqI,KAFV;EAIA,aAAOq7C,UAAU,CAACr7C,KAAX,GAAmBqC,IAAI,GAAGi5C,YAAY,CAACt7C,KAAvC,GAA+CqC,IAAtD;EACD,KAN0B,CAA3B;EAOA,UAAMyhB,YAAY,GAAGrS,aAAa,CAChC1U,KAAK,CAAC1B,IAD0B,EAEhCuK,YAAQ,CAAC,MAAMzB,QAAQ,CAACpH,KAAK,CAACsU,QAAP,EAAiB,EAAjB,CAAf,CAFwB,EAGhCoS,SAAK,CAAC1mB,KAAD,EAAQ,UAAR,CAH2B,EAIhC2U,UAJgC,EAKhC/Z,KALgC,EAMhCiO,YAAQ,CAAC,MAAMie,QAAQ,CAAC7jB,KAAT,IAAkBq7C,UAAU,CAACr7C,KAApC,CANwB,EAOhC4F,YAAQ,CAAC,MAAMy1C,UAAU,CAACr7C,KAAlB,CAPwB,CAAlC;EAUA,WAAO,MAAM;EAAA;;EACX,YAAM+jB,QAAQ,GAAIhc,KAAK,CAACyW,KAAN,IAAezhB,KAAK,CAACyhB,KAAvC;EAEA;EAAA,eAGYq+B,MAHZ;EAAA,wBAIqB,MAAOD,UAAU,CAAC58C,KAAX,GAAmB,IAJ/C;EAAA,wBAKqB,MAAO48C,UAAU,CAAC58C,KAAX,GAAmB,KAL/C;EAAA,iBAMa,CACL,qBADK,EAEL;EACE,yCAA+BjD,KAAK,CAACuN,QAAN,KAAmB,QADpD;EAEE,sCAA4BvN,KAAK,CAACuN,QAAN,KAAmB,OAFjD;EAGE,kDAAwCvN,KAAK,CAACw/C,aAHhD;EAIE,2CAAiCx/C,KAAK,CAACsmB,QAJzC;EAKE,8CAAoCu5B,UAAU,CAAC58C,KALjD;EAME,uCAA6BjD,KAAK,CAAC0/C,IANrC;EAOE,wCAA8B1/C,KAAK,CAACuN,QAAN,KAAmB,MAPnD;EAQE,4CAAkCywC,WAAW,CAAC/6C,KARhD;EASE,2CAAiCjD,KAAK,CAACuU;EATzC,SAFK,EAaLX,YAAY,CAAC3Q,KAbR,EAcL0iB,sBAAsB,CAAC1iB,KAdlB,EAeL+gB,aAAa,CAAC/gB,KAfT,EAgBLyhB,gBAAgB,CAACzhB,KAhBZ,EAiBL6hB,cAAc,CAAC7hB,KAjBV,CANb;EAAA,iBAyBa,CACL2iB,qBAAqB,CAAC3iB,KADjB,EAEL8jB,YAAY,CAAC9jB,KAFR,EAGLo8C,UAAU,CAACp8C,KAHN;EAzBb,SA8BWH,KA9BX;EAAA,wBAgCQkkB,QAAQ;EAAA,mBACG;EADH,YAEJhc,KAAK,CAACyW,KAAN,mBACEzW,KAAK,CAACyW,KADR,qBACE,kBAAAzW,KAAK,EAAS;EAAEyW,UAAAA,KAAK,EAAEzhB,KAAK,CAACyhB;EAAf,SAAT,CADP;EAAA,iBAEczhB,KAAK,CAACyhB,KAFpB;EAAA,iBAEgC;EAFhC,4BAFI,EAhChB,EAyCQzW,KAAK,CAACic,OAAN;EAAA,mBACW;EADX,8BAEIjc,KAAK,CAACic,OAFV,qBAEI,oBAAAjc,KAAK,CAFT,EAzCR;EAAA,mBA+CiB;EA/CjB,8BAgDUA,KAAK,CAACD,OAhDhB,qBAgDU,oBAAAC,KAAK,CAhDf,IAmDQA,KAAK,CAACkc,MAAN;EAAA,mBACW;EADX,6BAEIlc,KAAK,CAACkc,MAFV,qBAEI,mBAAAlc,KAAK,CAFT,EAnDR;EAAA;EAAA;EAAA,gBA0DqB;EA1DrB;EAAA,wBA2DQgzC,WAAW,CAAC/6C,KAAZ,KAAsBq7C,UAAU,CAACr7C,KAAX,IAAoB6jB,QAAQ,CAAC7jB,KAAnD;EAAA,mBAEQ,4BAFR;EAAA,mBAGSq7C,UAAU,CAACr7C,KAAX,GAAmB;EACxBkrB,YAAAA,OAAO,EAAEowB,YAAY,CAACt7C,KAAb,GAAqB,GADN;EAExBgU,YAAAA,UAAU,EAAE;EAFY,WAAnB,GAGHxX,SANN;EAAA,qBAOY,MAAMqnB,QAAQ,CAAC7jB,KAAT,GAAiB;EAPnC,iCA3DR;EAAA;EAwED,KA3ED;EA4ED;;EAjL8C,CAAD,CAAzC;;ECtBP;EAIO,SAAS88C,YAAT,CAAuB5T,QAAvB,EAA6C;EAAA;;EAClD,MAAI,CAACx/B,UAAL,EAAiB;EAEjB,QAAM/P,EAAE,GAAGkN,kBAAkB,CAAC,cAAD,CAA7B;EACA,QAAMg2C,MAAM,GAAGljD,EAAH,gCAAGA,EAAE,CAAEqM,IAAP,4CAAG,SAAU+2C,UAAb,8CAAG,oBAAsB9uC,GAAzB,qBAAG,sBAA2B+uC,UAA1C;EAEA,SAAOH,MAAM,QAAN,IAAAA,MAAM,CAAEI,WAAR,GAAsB/T,QAAQ,EAA9B,GAAmC1iB,aAAS,CAAC0iB,QAAD,CAAnD;EACD;;ECXD;EAOO,MAAMgU,MAAM,GAAGz2C,eAAe,CAAC;EACpCpL,EAAAA,IAAI,EAAE,QAD8B;;EAGpCsL,EAAAA,KAAK,CAAEyrC,CAAF,QAAgB;EAAA,QAAX;EAAErqC,MAAAA;EAAF,KAAW;EACnB,UAAMskB,IAAI,GAAGxqB,OAAG,CAAC,KAAD,CAAhB;EAEAi7C,IAAAA,YAAY,CAAC,MAAOzwB,IAAI,CAACrsB,KAAL,GAAa,IAArB,CAAZ;EAEA,WAAO;EAAA;;EAAA,aAAMqsB,IAAI,CAACrsB,KAAL,uBAAc+H,KAAK,CAACD,OAApB,qBAAc,oBAAAC,KAAK,CAAnB,CAAN;EAAA,KAAP;EACD;;EATmC,CAAD,CAA9B;;ECPP;EAWO,SAASo1C,iBAAT,CAA4BjU,QAA5B,EAA4E;EACjF,QAAMkU,SAAS,GAAGv7C,OAAG,EAArB;EACA,QAAMw7C,WAAW,GAAGx7C,OAAG,EAAvB;EACA,QAAMy7C,cAAc,GAAGz7C,OAAG,EAA1B;EACA,QAAM07C,aAAa,GAAG17C,OAAG,EAAzB;EAEA,QAAMsa,QAAQ,GAAG,IAAI0oB,cAAJ,CAAoB92B,OAAD,IAAoC;EACtEm7B,IAAAA,QAAQ,QAAR,YAAAA,QAAQ,CAAGn7B,OAAH,EAAYoO,QAAZ,CAAR;EAEA,QAAI,CAACpO,OAAO,CAACnS,MAAb,EAAqB;EAErByhD,IAAAA,WAAW,CAACr9C,KAAZ,GAAoB+N,OAAO,CAAC,CAAD,CAAP,CAAWsvC,WAA/B;EACAC,IAAAA,cAAc,CAACt9C,KAAf,GAAuB+N,OAAO,CAAC,CAAD,CAAP,CAAWuvC,cAAX,CAA0B,CAA1B,CAAvB;EACAC,IAAAA,aAAa,CAACv9C,KAAd,GAAsB+N,OAAO,CAAC,CAAD,CAAP,CAAWwvC,aAAX,CAAyB,CAAzB,CAAtB;EACD,GARgB,CAAjB;EAUAxrC,EAAAA,mBAAe,CAAC,MAAM;EACpBoK,IAAAA,QAAQ,CAAC4oB,UAAT;EACD,GAFc,CAAf;EAIA90B,EAAAA,SAAK,CAACmtC,SAAD,EAAY,CAACn6B,QAAD,EAAW6L,QAAX,KAAwB;EACvC,QAAIA,QAAJ,EAAc;EACZ3S,MAAAA,QAAQ,CAACa,SAAT,CAAmB8R,QAAnB;EACAuuB,MAAAA,WAAW,CAACr9C,KAAZ,GAAoBxD,SAApB;EACA8gD,MAAAA,cAAc,CAACt9C,KAAf,GAAuBxD,SAAvB;EACA+gD,MAAAA,aAAa,CAACv9C,KAAd,GAAsBxD,SAAtB;EACD;;EAED,QAAIymB,QAAJ,EAAc9G,QAAQ,CAACY,OAAT,CAAiBkG,QAAjB;EACf,GATI,EASF;EACDqf,IAAAA,KAAK,EAAE;EADN,GATE,CAAL;EAaA,SAAO;EACL8a,IAAAA,SADK;EAELC,IAAAA,WAAW,EAAE1hB,YAAQ,CAAC0hB,WAAD,CAFhB;EAGLC,IAAAA,cAAc,EAAE3hB,YAAQ,CAAC2hB,cAAD,CAHnB;EAILC,IAAAA,aAAa,EAAE5hB,YAAQ,CAAC4hB,aAAD;EAJlB,GAAP;EAMD;;EClDD;EAIO,SAASC,OAAT,GAAmC;EACxC,QAAMC,IAAI,GAAG57C,OAAG,CAAoB,EAApB,CAAhB;EAEA67C,EAAAA,kBAAc,CAAC,MAAOD,IAAI,CAACz9C,KAAL,GAAa,EAArB,CAAd;;EAEA,WAAS29C,SAAT,CAAoB9yB,CAApB,EAA4B9uB,CAA5B,EAAuC;EACrC0hD,IAAAA,IAAI,CAACz9C,KAAL,CAAWjE,CAAX,IAAgB8uB,CAAhB;EACD;;EAED,SAAO;EAAE4yB,IAAAA,IAAF;EAAQE,IAAAA;EAAR,GAAP;EACD;;ECcM,MAAMC,WAAW,GAAGn3C,eAAe,CAAC;EACzCpL,EAAAA,IAAI,EAAE,aADmC;EAGzC0B,EAAAA,KAAK,EAAE;EACLM,IAAAA,KAAK,EAAE;EACLgE,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADD;EAELkK,MAAAA,OAAO,EAAE;EAFJ,KADF;EAKLwb,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAEvD,MADI;EAEVgK,MAAAA,OAAO,EAAG/K,KAAD,IAAgBA,KAAK,CAACM;EAFrB,KALP;EASL4nB,IAAAA,QAAQ,EAAE9T,OATL;EAULvV,IAAAA,MAAM,EAAE;EACNyF,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADA;EAENkK,MAAAA,OAAO,EAAE,CAFH;EAGNqV,MAAAA,SAAS,EAAG7a,GAAD,IAAiBA,GAAG,GAAG,CAAN,KAAY;EAHlC,KAVH;EAeLu7C,IAAAA,YAAY,EAAE,CAAC//C,MAAD,EAASF,MAAT,CAfT;EAgBLkgD,IAAAA,SAAS,EAAE;EACTz8C,MAAAA,IAAI,EAAEzD,MADG;EAETkK,MAAAA,OAAO,EAAE;EAFA,KAhBN;EAoBLi2C,IAAAA,QAAQ,EAAE;EACR18C,MAAAA,IAAI,EAAEzD,MADE;EAERkK,MAAAA,OAAO,EAAE;EAFD,KApBL;EAwBLk2C,IAAAA,QAAQ,EAAE;EACR38C,MAAAA,IAAI,EAAEzD,MADE;EAERkK,MAAAA,OAAO,EAAE;EAFD,KAxBL;EA4BLm2C,IAAAA,QAAQ,EAAE;EACR58C,MAAAA,IAAI,EAAEzD,MADE;EAERkK,MAAAA,OAAO,EAAE;EAFD,KA5BL;EAgCLwN,IAAAA,SAAS,EAAE;EACTjU,MAAAA,IAAI,EAAEzD,MADG;EAETkK,MAAAA,OAAO,EAAE;EAFA,KAhCN;EAoCLo2C,IAAAA,aAAa,EAAE;EACb78C,MAAAA,IAAI,EAAEzD,MADO;EAEbkK,MAAAA,OAAO,EAAE;EAFI,KApCV;EAwCLq2C,IAAAA,oBAAoB,EAAE;EACpB98C,MAAAA,IAAI,EAAEzD,MADc;EAEpBkK,MAAAA,OAAO,EAAE;EAFW,KAxCjB;EA4CLs2C,IAAAA,cAAc,EAAE;EACd/8C,MAAAA,IAAI,EAAEzD,MADQ;EAEdkK,MAAAA,OAAO,EAAE;EAFK,KA5CX;EAgDLu2C,IAAAA,iBAAiB,EAAE;EACjBh9C,MAAAA,IAAI,EAAEzD,MADW;EAEjBkK,MAAAA,OAAO,EAAE;EAFQ,KAhDd;EAoDLw2C,IAAAA,aAAa,EAAE;EACbj9C,MAAAA,IAAI,EAAEzD,MADO;EAEbkK,MAAAA,OAAO,EAAE;EAFI,KApDV;EAwDLy2C,IAAAA,aAAa,EAAE;EACbl9C,MAAAA,IAAI,EAAEzD,MADO;EAEbkK,MAAAA,OAAO,EAAE;EAFI,KAxDV;EA4DL02C,IAAAA,QAAQ,EAAE;EACRn9C,MAAAA,IAAI,EAAEzD,MADE;EAERkK,MAAAA,OAAO,EAAE;EAFD,KA5DL;EAgEL22C,IAAAA,iBAAiB,EAAEttC,OAhEd;EAkEL,OAAG2Q,YAAY,CAAC;EAAEna,MAAAA,GAAG,EAAE;EAAP,KAAD,CAlEV;EAmEL,OAAG2Z,kBAAkB,EAnEhB;EAoEL,OAAGJ,gBAAgB,EApEd;EAqEL,OAAGQ,gBAAgB,EArEd;EAsEL,OAAGyF,aAAa,EAtEX;EAuEL,OAAGvG,eAAe,EAvEb;EAwEL,OAAG/T,cAAc,EAxEZ;EAyEL,OAAGwX,gBAAgB,CAAC;EAAEE,MAAAA,OAAO,EAAE;EAAX,KAAD;EAzEd,GAHkC;EA+EzClG,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAAmB,IADnC;EAEL2X,IAAAA,KAAK,EAAG3X,KAAD,IAAmB,IAFrB;EAGLkG,IAAAA,IAAI,EAAGlG,KAAD,IAAmB,IAHpB;EAIL6W,IAAAA,IAAI,EAAG7W,KAAD,IAAmB,IAJpB;EAKLnE,IAAAA,IAAI,EAAGmE,KAAD,IAAmB;EALpB,GA/EkC;;EAuFzC2G,EAAAA,KAAK,CAAE5J,KAAF,QAA0B;EAAA,QAAjB;EAAEgL,MAAAA,KAAF;EAASuW,MAAAA;EAAT,KAAiB;EAC7B,UAAM7G,IAAI,GAAGmL,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAA5B;EACA,UAAM;EAAEyG,MAAAA,CAAF;EAAKutC,MAAAA;EAAL,QAAWlB,SAAS,EAA1B;EACA,UAAM;EAAEp1B,MAAAA;EAAF,QAAYM,MAAM,EAAxB;EACA,UAAM;EAAEpK,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM2hD,UAAU,GAAG78C,OAAG,CAAC,CAAC,CAAF,CAAtB;EAEA2D,IAAAA,eAAe,CAAChJ,SAAD,EAAY;EAAEqJ,MAAAA,MAAM,EAAE;EAAV,KAAZ,CAAf;EAEA,UAAM;EAAEu3C,MAAAA;EAAF,QAAgBD,iBAAiB,CAAEpvC,OAAD,IAAoC;EAC1E,UAAI,CAACA,OAAO,CAACnS,MAAb,EAAqB;EAErB,YAAM;EAAEgF,QAAAA,MAAF;EAAUy8C,QAAAA;EAAV,UAA0BtvC,OAAO,CAAC,CAAD,CAAvC;EAEA,YAAM4wC,SAAS,GAAG/9C,MAAM,CAACmiC,aAAP,CAAqB,yBAArB,CAAlB;EAEA,UAAI,CAAC4b,SAAL,EAAgB;EAEhB,YAAMC,UAAU,GAAGvB,WAAW,CAAC1lD,KAA/B;EACA,YAAMknD,SAAS,GAAGF,SAAS,CAACvmD,qBAAV,GAAkCT,KAAlC,GAA0C,EAA5D;EAEA+mD,MAAAA,UAAU,CAAC1+C,KAAX,GAAmBG,IAAI,CAACD,GAAL,CAAS,CAAT,EAAYC,IAAI,CAAC4lC,KAAL,CAAW,CAAC6Y,UAAU,GAAG,EAAd,IAAoBC,SAA/B,CAAZ,CAAnB;EACD,KAbsC,CAAvC;EAeA,UAAMjjD,MAAM,GAAGgK,YAAQ,CAAC,MAAMzB,QAAQ,CAACpH,KAAK,CAACnB,MAAP,EAAe,EAAf,CAAf,CAAvB;EACA,UAAMyB,KAAK,GAAGuI,YAAQ,CAAC,MAAMzB,QAAQ,CAACpH,KAAK,CAACM,KAAP,EAAc,EAAd,CAAf,CAAtB;EAEA,UAAMwgD,YAAY,GAAGj4C,YAAQ,CAAC,MAAM;EAAA;;EAClC,UAAI7I,KAAK,CAAC8gD,YAAV,EAAwB,OAAO19C,IAAI,CAACF,GAAL,CAASkE,QAAQ,wBAACpH,KAAK,CAAC8gD,YAAP,kCAAuB,EAAvB,EAA2B,EAA3B,CAAjB,EAAiDjiD,MAAM,CAACoE,KAAxD,CAAP,CAAxB,KACK,IAAI0+C,UAAU,CAAC1+C,KAAX,IAAoB,CAAxB,EAA2B,OAAO0+C,UAAU,CAAC1+C,KAAlB;EAChC,aAAOpE,MAAM,CAACoE,KAAd;EACD,KAJ4B,CAA7B;EAMA,UAAM8+C,KAAK,GAAGl5C,YAAQ,CAAC,MAAM;EAC3B,UAAIhK,MAAM,CAACoE,KAAP,IAAgB,CAApB,EAAuB,OAAO,EAAP;;EAEvB,UAAI69C,YAAY,CAAC79C,KAAb,IAAsB,CAA1B,EAA6B;EAC3B,eAAO,CAACG,IAAI,CAACF,GAAL,CAASE,IAAI,CAACD,GAAL,CAAS7C,KAAK,CAAC2C,KAAf,EAAsByX,IAAI,CAACzX,KAA3B,CAAT,EAA4C3C,KAAK,CAAC2C,KAAN,GAAcpE,MAAM,CAACoE,KAAjE,CAAD,CAAP;EACD;;EAED,UAAIjD,KAAK,CAACnB,MAAN,IAAgBiiD,YAAY,CAAC79C,KAAjC,EAAwC;EACtC,eAAO5C,WAAW,CAACxB,MAAM,CAACoE,KAAR,EAAe3C,KAAK,CAAC2C,KAArB,CAAlB;EACD;;EAED,YAAM++C,MAAM,GAAG5+C,IAAI,CAAC6+C,IAAL,CAAUnB,YAAY,CAAC79C,KAAb,GAAqB,CAA/B,CAAf;EACA,YAAMjI,IAAI,GAAGgnD,MAAb;EACA,YAAM/mD,KAAK,GAAG4D,MAAM,CAACoE,KAAP,GAAe++C,MAA7B;;EAEA,UAAItnC,IAAI,CAACzX,KAAL,GAAajI,IAAjB,EAAuB;EACrB,eAAO,CAAC,GAAGqF,WAAW,CAAC+C,IAAI,CAACD,GAAL,CAAS,CAAT,EAAY29C,YAAY,CAAC79C,KAAb,GAAqB,CAAjC,CAAD,EAAsC3C,KAAK,CAAC2C,KAA5C,CAAf,EAAmEjD,KAAK,CAACyhD,QAAzE,EAAmF5iD,MAAM,CAACoE,KAA1F,CAAP;EACD,OAFD,MAEO,IAAIyX,IAAI,CAACzX,KAAL,GAAahI,KAAjB,EAAwB;EAC7B,cAAMinD,WAAW,GAAGpB,YAAY,CAAC79C,KAAb,GAAqB,CAAzC;EACA,cAAMk/C,UAAU,GAAGtjD,MAAM,CAACoE,KAAP,GAAei/C,WAAf,GAA6B5hD,KAAK,CAAC2C,KAAtD;EACA,eAAO,CAAC3C,KAAK,CAAC2C,KAAP,EAAcjD,KAAK,CAACyhD,QAApB,EAA8B,GAAGphD,WAAW,CAAC6hD,WAAD,EAAcC,UAAd,CAA5C,CAAP;EACD,OAJM,MAIA;EACL,cAAMD,WAAW,GAAG9+C,IAAI,CAACD,GAAL,CAAS,CAAT,EAAY29C,YAAY,CAAC79C,KAAb,GAAqB,CAAjC,CAApB;EACA,cAAMk/C,UAAU,GAAGD,WAAW,KAAK,CAAhB,GAAoBxnC,IAAI,CAACzX,KAAzB,GAAiCyX,IAAI,CAACzX,KAAL,GAAaG,IAAI,CAAC6+C,IAAL,CAAUC,WAAW,GAAG,CAAxB,CAAb,GAA0C5hD,KAAK,CAAC2C,KAApG;EACA,eAAO,CAAC3C,KAAK,CAAC2C,KAAP,EAAcjD,KAAK,CAACyhD,QAApB,EAA8B,GAAGphD,WAAW,CAAC6hD,WAAD,EAAcC,UAAd,CAA5C,EAAuEniD,KAAK,CAACyhD,QAA7E,EAAuF5iD,MAAM,CAACoE,KAA9F,CAAP;EACD;EACF,KA1BqB,CAAtB,CAjC6B;;EA8D7B,aAASm/C,QAAT,CAAmBt0B,CAAnB,EAA6B7qB,KAA7B,EAA4Cs3C,KAA5C,EAAyD;EACvDzsB,MAAAA,CAAC,CAACmkB,cAAF;EACAv3B,MAAAA,IAAI,CAACzX,KAAL,GAAaA,KAAb;EACAs3C,MAAAA,KAAK,IAAIh5B,IAAI,CAACg5B,KAAD,EAAQt3C,KAAR,CAAb;EACD;;EAED,UAAM;EAAEy9C,MAAAA,IAAF;EAAQE,MAAAA;EAAR,QAAsBH,OAAO,EAAnC;EAEA,UAAMvpC,KAAK,GAAGrO,YAAQ,CAAC,MAAM;EAC3B,YAAMw5C,WAAW,GAAG;EAClBj+B,QAAAA,OAAO,EAAEpkB,KAAK,CAACokB,OADG;EAElBQ,QAAAA,OAAO,EAAE5kB,KAAK,CAAC4kB,OAFG;EAGlBtf,QAAAA,IAAI,EAAEtF,KAAK,CAACsF;EAHM,OAApB;EAMA,aAAOy8C,KAAK,CAAC9+C,KAAN,CAAYlE,GAAZ,CAAgB,CAACoX,IAAD,EAAOgB,KAAP,KAAiB;EACtC,cAAMrS,GAAG,GAAIgpB,CAAD,IAAY8yB,SAAS,CAAC9yB,CAAD,EAAI3W,KAAJ,CAAjC;;EAEA,YAAI,OAAOhB,IAAP,KAAgB,QAApB,EAA8B;EAC5B,iBAAO;EACL2Q,YAAAA,QAAQ,EAAE,KADL;EAELpM,YAAAA,IAAI,EAAEvE,IAFD;EAGLnW,YAAAA,KAAK,EAAE,EACL,GAAGqiD,WADE;EAELv9C,cAAAA,GAFK;EAGL28C,cAAAA,QAAQ,EAAE,IAHL;EAIL/2B,cAAAA,IAAI,EAAE,IAJD;EAKLxC,cAAAA,QAAQ,EAAE,IALL;EAMLV,cAAAA,OAAO,EAAExnB,KAAK,CAACwnB,OANV;EAOL1D,cAAAA,MAAM,EAAE9jB,KAAK,CAAC8jB;EAPT;EAHF,WAAP;EAaD,SAdD,MAcO;EACL,gBAAMgD,QAAQ,GAAG3Q,IAAI,KAAKuE,IAAI,CAACzX,KAA/B;EACA,iBAAO;EACL6jB,YAAAA,QADK;EAELpM,YAAAA,IAAI,EAAEs5B,CAAC,CAAC79B,IAAD,CAFF;EAGLnW,YAAAA,KAAK,EAAE,EACL,GAAGqiD,WADE;EAELv9C,cAAAA,GAFK;EAGL28C,cAAAA,QAAQ,EAAE,KAHL;EAIL/2B,cAAAA,IAAI,EAAE,IAJD;EAKLxC,cAAAA,QAAQ,EAAE,CAAC,CAACloB,KAAK,CAACkoB,QAAR,IAAoBloB,KAAK,CAACnB,MAAN,GAAe,CALxC;EAML2lB,cAAAA,SAAS,EAAExkB,KAAK,CAACwkB,SANZ;EAOLgD,cAAAA,OAAO,EAAExnB,KAAK,CAACwnB,OAPV;EAQL1D,cAAAA,MAAM,EAAE9jB,KAAK,CAAC8jB,MART;EASL9c,cAAAA,KAAK,EAAE8f,QAAQ,GAAG9mB,KAAK,CAACgH,KAAT,GAAiBvH,SAT3B;EAUL6iD,cAAAA,WAAW,EAAEx7B,QAVR;EAWLvO,cAAAA,SAAS,EAAE9R,CAAC,CAACqgB,QAAQ,GAAG9mB,KAAK,CAACohD,oBAAT,GAAgCphD,KAAK,CAACmhD,aAA/C,EAA8DhqC,KAAK,GAAG,CAAtE,CAXP;EAYL6V,cAAAA,OAAO,EAAGc,CAAD,IAAcs0B,QAAQ,CAACt0B,CAAD,EAAI3X,IAAJ;EAZ1B;EAHF,WAAP;EAkBD;EACF,OAtCM,CAAP;EAuCD,KA9CqB,CAAtB;EAgDA,UAAMosC,QAAQ,GAAG15C,YAAQ,CAAC,MAAM;EAC9B,YAAMw5C,WAAW,GAAG;EAClBr7C,QAAAA,KAAK,EAAEvH,SADW;EAElB2kB,QAAAA,OAAO,EAAEpkB,KAAK,CAACokB,OAFG;EAGlBQ,QAAAA,OAAO,EAAE5kB,KAAK,CAAC4kB,OAHG;EAIlBtf,QAAAA,IAAI,EAAEtF,KAAK,CAACsF,IAJM;EAKlBkiB,QAAAA,OAAO,EAAExnB,KAAK,CAACwnB,OALG;EAMlB1D,QAAAA,MAAM,EAAE9jB,KAAK,CAAC8jB;EANI,OAApB;EASA,YAAM0+B,YAAY,GAAG,CAAC,CAACxiD,KAAK,CAACkoB,QAAR,IAAoBxN,IAAI,CAACzX,KAAL,IAAc3C,KAAK,CAAC2C,KAA7D;EACA,YAAMw/C,YAAY,GAAG,CAAC,CAACziD,KAAK,CAACkoB,QAAR,IAAoBxN,IAAI,CAACzX,KAAL,IAAc3C,KAAK,CAAC2C,KAAN,GAAcpE,MAAM,CAACoE,KAArB,GAA6B,CAApF;EAEA,aAAO;EACL2X,QAAAA,KAAK,EAAE5a,KAAK,CAAC0hD,iBAAN,GAA0B,EAC/B,GAAGW,WAD4B;EAE/B33B,UAAAA,IAAI,EAAEhN,KAAK,CAACza,KAAN,GAAcjD,KAAK,CAACkhD,QAApB,GAA+BlhD,KAAK,CAAC+gD,SAFZ;EAG/B/zB,UAAAA,OAAO,EAAGc,CAAD,IAAcs0B,QAAQ,CAACt0B,CAAD,EAAIxtB,KAAK,CAAC2C,KAAV,EAAiB,OAAjB,CAHA;EAI/BilB,UAAAA,QAAQ,EAAEs6B,YAJqB;EAK/BjqC,UAAAA,SAAS,EAAE9R,CAAC,CAACzG,KAAK,CAACqhD,cAAP,CALmB;EAM/BqB,UAAAA,YAAY,EAAEF;EANiB,SAA1B,GAOH/iD,SARC;EASL0J,QAAAA,IAAI,EAAE,EACJ,GAAGk5C,WADC;EAEJ33B,UAAAA,IAAI,EAAEhN,KAAK,CAACza,KAAN,GAAcjD,KAAK,CAACihD,QAApB,GAA+BjhD,KAAK,CAACghD,QAFvC;EAGJh0B,UAAAA,OAAO,EAAGc,CAAD,IAAcs0B,QAAQ,CAACt0B,CAAD,EAAIpT,IAAI,CAACzX,KAAL,GAAa,CAAjB,EAAoB,MAApB,CAH3B;EAIJilB,UAAAA,QAAQ,EAAEs6B,YAJN;EAKJjqC,UAAAA,SAAS,EAAE9R,CAAC,CAACzG,KAAK,CAACshD,iBAAP,CALR;EAMJoB,UAAAA,YAAY,EAAEF;EANV,SATD;EAiBL1oC,QAAAA,IAAI,EAAE,EACJ,GAAGuoC,WADC;EAEJ33B,UAAAA,IAAI,EAAEhN,KAAK,CAACza,KAAN,GAAcjD,KAAK,CAACghD,QAApB,GAA+BhhD,KAAK,CAACihD,QAFvC;EAGJj0B,UAAAA,OAAO,EAAGc,CAAD,IAAcs0B,QAAQ,CAACt0B,CAAD,EAAIpT,IAAI,CAACzX,KAAL,GAAa,CAAjB,EAAoB,MAApB,CAH3B;EAIJilB,UAAAA,QAAQ,EAAEu6B,YAJN;EAKJlqC,UAAAA,SAAS,EAAE9R,CAAC,CAACzG,KAAK,CAACuhD,aAAP,CALR;EAMJmB,UAAAA,YAAY,EAAED;EANV,SAjBD;EAyBL3jD,QAAAA,IAAI,EAAEkB,KAAK,CAAC0hD,iBAAN,GAA0B,EAC9B,GAAGW,WAD2B;EAE9B33B,UAAAA,IAAI,EAAEhN,KAAK,CAACza,KAAN,GAAcjD,KAAK,CAAC+gD,SAApB,GAAgC/gD,KAAK,CAACkhD,QAFd;EAG9Bl0B,UAAAA,OAAO,EAAGc,CAAD,IAAcs0B,QAAQ,CAACt0B,CAAD,EAAIxtB,KAAK,CAAC2C,KAAN,GAAcpE,MAAM,CAACoE,KAArB,GAA6B,CAAjC,EAAoC,MAApC,CAHD;EAI9BilB,UAAAA,QAAQ,EAAEu6B,YAJoB;EAK9BlqC,UAAAA,SAAS,EAAE9R,CAAC,CAACzG,KAAK,CAACwhD,aAAP,CALkB;EAM9BkB,UAAAA,YAAY,EAAED;EANgB,SAA1B,GAOFhjD;EAhCC,OAAP;EAkCD,KA/CwB,CAAzB;;EAiDA,aAASkjD,WAAT,GAAwB;EAAA;;EACtB,YAAM74B,YAAY,GAAGpP,IAAI,CAACzX,KAAL,GAAa3C,KAAK,CAAC2C,KAAxC;EACA,+BAAAy9C,IAAI,CAACz9C,KAAL,CAAW6mB,YAAX,4CAA0Bic,GAA1B,CAA8BhB,KAA9B;EACD;;EAED,aAASiI,SAAT,CAAoBlf,CAApB,EAAsC;EACpC,UAAIA,CAAC,CAACrrB,GAAF,KAAUP,SAAS,CAAClH,IAApB,IAA4B,CAACgF,KAAK,CAACkoB,QAAnC,IAA+CxN,IAAI,CAACzX,KAAL,GAAajD,KAAK,CAACM,KAAtE,EAA6E;EAC3Eoa,QAAAA,IAAI,CAACzX,KAAL,GAAayX,IAAI,CAACzX,KAAL,GAAa,CAA1B;EACA+e,QAAAA,YAAQ,CAAC2gC,WAAD,CAAR;EACD,OAHD,MAGO,IAAI70B,CAAC,CAACrrB,GAAF,KAAUP,SAAS,CAACjH,KAApB,IAA6B,CAAC+E,KAAK,CAACkoB,QAApC,IAAgDxN,IAAI,CAACzX,KAAL,GAAa3C,KAAK,CAAC2C,KAAN,GAAcpE,MAAM,CAACoE,KAArB,GAA6B,CAA9F,EAAiG;EACtGyX,QAAAA,IAAI,CAACzX,KAAL,GAAayX,IAAI,CAACzX,KAAL,GAAa,CAA1B;EACA+e,QAAAA,YAAQ,CAAC2gC,WAAD,CAAR;EACD;EACF;;EAED,WAAO;EAAA,aAEGtC,SAFH;EAAA,eAGI,CACL,cADK,EAELzsC,YAAY,CAAC3Q,KAFR,CAHJ;EAAA,cAOE,YAPF;EAAA,oBAQUwD,CAAC,CAACzG,KAAK,CAACuY,SAAP,CARX;EAAA,mBASSy0B,SATT;EAAA,mBAUO;EAVP;EAAA;EAAA,iBAYO;EAZP,UAaChtC,KAAK,CAAC0hD,iBAAN;EAAA,iBACU,qBADV;EAAA,qBAC0C;EAD1C,UAEI12C,KAAK,CAAC4P,KAAN,GAAc5P,KAAK,CAAC4P,KAAN,CAAY2nC,QAAQ,CAACt/C,KAAT,CAAe2X,KAA3B,CAAd,yBACU2nC,QAAQ,CAACt/C,KAAT,CAAe2X,KADzB,WAFJ,EAbD;EAAA,iBAqBS,oBArBT;EAAA,qBAqBwC;EArBxC,UAsBG5P,KAAK,CAAC7B,IAAN,GAAa6B,KAAK,CAAC7B,IAAN,CAAWo5C,QAAQ,CAACt/C,KAAT,CAAekG,IAA1B,CAAb,yBACUo5C,QAAQ,CAACt/C,KAAT,CAAekG,IADzB,WAtBH,IA2BC+N,KAAK,CAACjU,KAAN,CAAYlE,GAAZ,CAAgB,CAACoX,IAAD,EAAOgB,KAAP;EAAA,eAEP,GAAEA,KAAM,IAAGhB,IAAI,CAACuE,IAAK,EAFd;EAAA,iBAGP,CACL,oBADK,EAEL;EACE,2CAAiCvE,IAAI,CAAC2Q;EADxC,SAFK,CAHO;EAAA,qBASJ;EATI,UAWZ9b,KAAK,CAACmL,IAAN,GAAanL,KAAK,CAACmL,IAAN,CAAWA,IAAX,CAAb,yBACUA,IAAI,CAACnW,KADf;EAAA,wBACwBmW,IAAI,CAACuE,IAD7B;EAAA,YAXY,KAAhB,CA3BD;EAAA,iBA4CS,oBA5CT;EAAA,qBA4CwC;EA5CxC,UA6CG1P,KAAK,CAAC8O,IAAN,GAAa9O,KAAK,CAAC8O,IAAN,CAAWyoC,QAAQ,CAACt/C,KAAT,CAAe6W,IAA1B,CAAb,yBACUyoC,QAAQ,CAACt/C,KAAT,CAAe6W,IADzB,WA7CH,IAkDC9Z,KAAK,CAAC0hD,iBAAN;EAAA,iBACU,oBADV;EAAA,qBACyC;EADzC,UAEI12C,KAAK,CAAClM,IAAN,GAAakM,KAAK,CAAClM,IAAN,CAAWyjD,QAAQ,CAACt/C,KAAT,CAAenE,IAA1B,CAAb,yBACUyjD,QAAQ,CAACt/C,KAAT,CAAenE,IADzB,WAFJ,EAlDD;EAAA,+CAAP;EA4DD;;EAzUwC,CAAD,CAAnC;;ECfP,SAASkqC,KAAT,CAAgBzjC,GAAhB,EAA6B;EAC3B,SAAOnC,IAAI,CAAC4lC,KAAL,CAAW5lC,IAAI,CAACK,GAAL,CAAS8B,GAAT,CAAX,IAA4BnC,IAAI,CAACw/C,IAAL,CAAUr9C,GAAV,CAAnC;EACD;;EAEM,MAAMs9C,SAAS,GAAGn5C,eAAe,CAAC;EACvCpL,EAAAA,IAAI,EAAE,WADiC;EAGvC0B,EAAAA,KAAK,EAAE;EACL6uB,IAAAA,KAAK,EAAE;EACLvqB,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADD;EAELkK,MAAAA,OAAO,EAAE;EAFJ;EADF,GAHgC;;EAUvCnB,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAM/B,IAAI,GAAGnE,OAAG,EAAhB;EACA,UAAM;EAAEwqC,MAAAA,eAAF;EAAmB5vB,MAAAA;EAAnB,QAAsC2vB,uBAAuB,EAAnE;EAEAnlC,IAAAA,eAAW,CAAC,MAAM;EAAA;;EAChBolC,MAAAA,eAAe,CAACrsC,KAAhB,kBAAwBgG,IAAI,CAAChG,KAA7B,qBAAwB,YAAY8iC,GAApC;EACD,KAFU,CAAX;EAIA,QAAIkC,YAAJ;EACA/0B,IAAAA,SAAK,CAACwM,cAAD,EAAiBna,GAAG,IAAI;EAC3B,UAAIA,GAAJ,EAAS;EACP0iC,QAAAA,YAAY,GAAGr8B,eAAe,CAAC0jC,eAAe,CAACrsC,KAAjB,CAA9B;EACAglC,QAAAA,YAAY,GAAGA,YAAY,KAAK58B,QAAQ,CAACU,gBAA1B,GAA6CV,QAA7C,GAA+D48B,YAA9E;EACAA,QAAAA,YAAY,CAACva,gBAAb,CAA8B,QAA9B,EAAwCuc,QAAxC,EAAkD;EAAErY,UAAAA,OAAO,EAAE;EAAX,SAAlD;EACAqY,QAAAA,QAAQ;EACT,OALD,MAKO;EACLhC,QAAAA,YAAY,CAACpa,mBAAb,CAAiC,QAAjC,EAA2Coc,QAA3C;EACD;EACF,KATI,CAAL;EAWAj1B,IAAAA,mBAAe,CAAC,MAAM;EAAA;;EACpB,uBAAAizB,YAAY,SAAZ,0BAAcpa,mBAAd,CAAkC,QAAlC,EAA4Coc,QAA5C;EACD,KAFc,CAAf;EAIA,QAAIT,KAAK,GAAG,CAAC,CAAb;;EACA,aAASS,QAAT,GAAqB;EACnB,UAAI,CAACvqB,cAAc,CAACzc,KAApB,EAA2B;EAE3BsmC,MAAAA,oBAAoB,CAACC,KAAD,CAApB;EACAA,MAAAA,KAAK,GAAG5lB,qBAAqB,CAAC,MAAM;EAAA;;EAClC,cAAMzoB,EAAsB,GAAG,iBAAC8N,IAAI,CAAChG,KAAN,qBAAC,aAAY8iC,GAAb,EAA6BC,aAA7B,CAA2C,aAA3C,CAA/B;EACA,YAAI,CAAC7qC,EAAL,EAAS;EAET,cAAMC,IAAI,GAAGk0C,eAAe,CAACrsC,KAAhB,CAAuB5H,qBAAvB,EAAb;EACA,cAAMkR,YAAY,4BAAG07B,YAAY,CAACz7B,YAAhB,oCAAgCH,MAAM,CAACupB,WAAzD;EACA,cAAMktB,SAAS,4BAAG7a,YAAY,CAACO,SAAhB,oCAA6Bn8B,MAAM,CAAC02C,OAAnD;EACA,cAAMjoD,GAAG,GAAGM,IAAI,CAACN,GAAL,GAAWgoD,SAAvB;EACA,cAAM/S,QAAQ,GAAG,CAAC+S,SAAS,GAAGv2C,YAAZ,GAA2BzR,GAA5B,KAAoCM,IAAI,CAACP,MAAL,GAAc0R,YAAlD,CAAjB;EACA,cAAMy2C,SAAS,GAAGha,KAAK,CAAC,CAAC5tC,IAAI,CAACP,MAAL,GAAc,CAACmF,KAAK,CAAC6uB,KAArB,GAA6BzzB,IAAI,CAACP,MAAnC,KAA8C,CAACk1C,QAAD,GAAY,GAA1D,CAAD,CAAvB;EAEA50C,QAAAA,EAAE,CAACG,KAAH,CAASu/B,WAAT,CAAqB,WAArB,EAAmC,cAAamoB,SAAU,aAAYhjD,KAAK,CAAC6uB,KAAM,GAAlF;EACD,OAZ4B,CAA7B;EAaD;;EAED,WAAO;EAAA,eAEI,CACL,YADK,EAEL;EAAE,8BAAsBnP,cAAc,CAACzc;EAAvC,OAFK,CAFJ;EAAA,aAMGgG,IANH;EAAA;EAAA,qBAQWghC,QARX;EAAA,gBASMA;EATN,OAUOj/B,KAVP,iDAAP;EAaD;;EAnEsC,CAAD,CAAjC;;ECAA,MAAMi4C,iBAAiB,GAAGv5C,eAAe,CAAC;EAC/CpL,EAAAA,IAAI,EAAE,mBADyC;EAG/C0B,EAAAA,KAAK,EAAE;EACLm4B,IAAAA,OAAO,EAAEt3B,MADJ;EAELmG,IAAAA,KAAK,EAAEnG,MAFF;EAGL2hC,IAAAA,aAAa,EAAE,CAACpuB,OAAD,EAAUvT,MAAV,CAHV;EAIL0lB,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADI;EAEVkK,MAAAA,OAAO,EAAE;EAFC,KAJP;EAQLm4C,IAAAA,MAAM,EAAE;EACN5+C,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADA;EAENkK,MAAAA,OAAO,EAAE;EAFH,KARH;EAYLnQ,IAAAA,KAAK,EAAE;EACL0J,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADD;EAELkK,MAAAA,OAAO,EAAE;EAFJ,KAZF;EAiBL,OAAGqf,aAAa,EAjBX;EAkBL,OAAGrF,YAAY,CAAC;EAAEna,MAAAA,GAAG,EAAE;EAAP,KAAD,CAlBV;EAmBL,OAAGkF,cAAc;EAnBZ,GAHwC;;EAyB/ClG,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAMm4C,qBAAqB,GAAG,EAA9B;EACA,UAAMC,aAAa,GAAG,IAAIhgD,IAAI,CAACigD,EAAT,GAAcF,qBAApC;EAEA,UAAM;EAAEvvC,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEsqB,MAAAA,WAAF;EAAeC,MAAAA;EAAf,QAA8BF,OAAO,CAACrqB,KAAD,CAA3C;EACA,UAAM;EAAEwlB,MAAAA,gBAAF;EAAoBC,MAAAA;EAApB,QAAwCF,YAAY,CAACmB,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CAAN,CAA1D;EACA,UAAM;EAAEwlB,MAAAA,gBAAgB,EAAE89B,oBAApB;EAA0C79B,MAAAA,eAAe,EAAE89B;EAA3D,QAAmFh+B,YAAY,CAACmB,SAAK,CAAC1mB,KAAD,EAAQ,SAAR,CAAN,CAArG;EACA,UAAM;EAAEsvC,MAAAA,eAAF;EAAmB5vB,MAAAA;EAAnB,QAAsC2vB,uBAAuB,EAAnE;EAEA,UAAMc,eAAe,GAAGtnC,YAAQ,CAAC,MAAMzF,IAAI,CAACD,GAAL,CAAS,CAAT,EAAYC,IAAI,CAACF,GAAL,CAAS,GAAT,EAAc9G,UAAU,CAAC4D,KAAK,CAACumB,UAAP,CAAxB,CAAZ,CAAP,CAAhC;EACA,UAAM3rB,KAAK,GAAGiO,YAAQ,CAAC,MAAM9H,MAAM,CAACf,KAAK,CAACpF,KAAP,CAAb,CAAtB;EACA,UAAM0K,IAAI,GAAGuD,YAAQ,CAAC,MAAM;EAC1B;EACA,aAAO0hB,UAAU,CAACtnB,KAAX,GAAmBlC,MAAM,CAACf,KAAK,CAACsF,IAAP,CAAzB,GAAwCgqC,eAAe,CAACrsC,KAAhB,GAC3CqsC,eAAe,CAACrsC,KAAhB,CAAsB5H,qBAAtB,GAA8CT,KADH,GACWwI,IAAI,CAACD,GAAL,CAASvI,KAAK,CAACqI,KAAf,EAAsB,EAAtB,CAD1D;EAED,KAJoB,CAArB;EAKA,UAAMugD,QAAQ,GAAG36C,YAAQ,CAAC,MAAOs6C,qBAAqB,IAAI,IAAIvoD,KAAK,CAACqI,KAAN,GAAcqC,IAAI,CAACrC,KAA3B,CAAtB,GAA2D,CAAlE,CAAzB;EACA,UAAMwgD,WAAW,GAAG56C,YAAQ,CAAC,MAAMjO,KAAK,CAACqI,KAAN,GAAcqC,IAAI,CAACrC,KAAnB,GAA2BugD,QAAQ,CAACvgD,KAA3C,CAA5B;EACA,UAAMygD,gBAAgB,GAAG76C,YAAQ,CAAC,MAAMnI,aAAa,CAAE,CAAC,MAAMyvC,eAAe,CAACltC,KAAvB,IAAgC,GAAjC,GAAwCmgD,aAAzC,CAApB,CAAjC;EAEA,WAAO;EAAA,aAEG9T,eAFH;EAAA,eAGI,CACL,qBADK,EAEL;EACE,8CAAsC,CAAC,CAACtvC,KAAK,CAACwiC,aADhD;EAEE,wCAAgC9iB,cAAc,CAACzc,KAFjD;EAGE,+CAAuCjD,KAAK,CAACwiC,aAAN,KAAwB;EAHjE,OAFK,EAOL5uB,YAAY,CAAC3Q,KAPR,EAQLqnB,WAAW,CAACrnB,KARP,EASLuiB,gBAAgB,CAACviB,KATZ,CAHJ;EAAA,eAcI,CACLsnB,UAAU,CAACtnB,KADN,EAELwiB,eAAe,CAACxiB,KAFX,CAdJ;EAAA,cAkBE,aAlBF;EAAA,uBAmBW,GAnBX;EAAA,uBAoBW,KApBX;EAAA,uBAqBajD,KAAK,CAACwiC,aAAN,GAAsB/iC,SAAtB,GAAkC0wC,eAAe,CAACltC;EArB/D;EAAA;EAAA,iBAwBM;EACLxH,UAAAA,SAAS,EAAG,wBAAuBsF,MAAM,CAACf,KAAK,CAACkjD,MAAP,CAAe;EADnD,SAxBN;EAAA,iBA2BK,4BA3BL;EAAA,mBA4BU,OAAMM,QAAQ,CAACvgD,KAAM,IAAGugD,QAAQ,CAACvgD,KAAM;EA5BjD;EAAA,iBA+BQ,CACL,+BADK,EAELqgD,oBAAoB,CAACrgD,KAFhB,CA/BR;EAAA,iBAmCSsgD,mBAAmB,CAACtgD,KAnC7B;EAAA,gBAoCM,aApCN;EAAA,cAqCI,KArCJ;EAAA,cAsCI,KAtCJ;EAAA,aAuCKkgD,qBAvCL;EAAA,wBAwCgBM,WAAW,CAACxgD,KAxC5B;EAAA,4BAyCoBmgD,aAzCpB;EAAA,6BA0CqB;EA1CrB;EAAA,iBA8CO,8BA9CP;EAAA,gBA+CM,aA/CN;EAAA,cAgDI,KAhDJ;EAAA,cAiDI,KAjDJ;EAAA,aAkDKD,qBAlDL;EAAA,wBAmDgBM,WAAW,CAACxgD,KAnD5B;EAAA,4BAoDoBmgD,aApDpB;EAAA,6BAqDqBM,gBAAgB,CAACzgD;EArDtC,qFAwDD+H,KAAK,CAACD,OAAN;EAAA,iBACW;EADX,UAEIC,KAAK,CAACD,OAAN,CAAc;EAAE9H,QAAAA,KAAK,EAAEktC,eAAe,CAACltC;EAAzB,OAAd,CAFJ,EAxDC;EAAA;EAAA,8CAAP;EA+DD;;EA7G8C,CAAD,CAAzC;;ECVA,MAAM0gD,MAAM,GAAGj6C,mBAAe,CAAC;EACpCpL,EAAAA,IAAI,EAAE,QAD8B;EAGpC0B,EAAAA,KAAK,EAAE;EACLshC,IAAAA,SAAS,EAAE;EACTh9B,MAAAA,IAAI,EAAEzD,MADG;EAETkK,MAAAA,OAAO,EAAE;EAFA,KADN;EAKLw2B,IAAAA,QAAQ,EAAE;EACRj9B,MAAAA,IAAI,EAAEzD,MADE;EAERkK,MAAAA,OAAO,EAAE;EAFD;EALL,GAH6B;;EAcpCnB,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB6C,IAAAA,SAAS,CAAC;EAAA,eAEA,SAFA;EAAA,kBAGK7N,KAAK,CAACuhC,QAHX;EAAA,mBAIMvhC,KAAK,CAACshC,SAJZ;EAAA,cAKD;EALC,OAMIt2B,KANJ,+BAAD,CAAT;EAUA,WAAO,EAAP;EACD;;EA1BmC,CAAD,CAA9B;;ECMA,MAAM44C,WAAW,GAAGl6C,mBAAe,CAAC;EACzCpL,EAAAA,IAAI,EAAE,aADmC;EAGzCusB,EAAAA,YAAY,EAAE,KAH2B;EAKzC7qB,EAAAA,KAAK,EAAE;EACLnF,IAAAA,MAAM,EAAE;EACNyJ,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADA;EAENkK,MAAAA,OAAO,EAAE;EAFH,KADH;EAML,OAAGq1B,eAAe,EANb;EAOL,OAAGoB,yBAAyB,EAPvB;EASLD,IAAAA,QAAQ,EAAE;EACRj9B,MAAAA,IAAI,EAAEzD,MADE;EAERkK,MAAAA,OAAO,EAAE;EAFD,KATL;EAaLu2B,IAAAA,SAAS,EAAE;EACTh9B,MAAAA,IAAI,EAAEzD,MADG;EAETkK,MAAAA,OAAO,EAAE;EAFA,KAbN;EAiBLzG,IAAAA,IAAI,EAAE;EACJA,MAAAA,IAAI,EAAEzD,MADF;EAEJkK,MAAAA,OAAO,EAAE;EAFL;EAjBD,GALkC;;EA4BzCnB,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAMyU,GAAG,GAAGxb,MAAM,EAAlB;EACA,UAAM+O,EAAE,GAAGnK,YAAQ,CAAC,MAAM7I,KAAK,CAACgT,EAAN,IAAa,eAAcyM,GAAI,EAAtC,CAAnB;EAEA5R,IAAAA,SAAS,CAAC,MAAM;EACd,YAAM,CAAC80B,UAAD,EAAaC,YAAb,IAA6B//B,gBAAgB,CAACC,KAAD,CAAnD;EACA,YAAM,CAAC+/B,UAAD,EAAaC,EAAb,IAAmB5B,gBAAgB,CAAClhC,KAAD,CAAzC;EACA,YAAM,CAAC+iC,YAAD,EAAeC,EAAf,IAAqBV,kBAAkB,CAACtiC,KAAD,CAA7C;EACA,YAAMg0B,KAAK,GAAGhpB,KAAK,CAACgpB,KAAN,GACVhpB,KAAK,CAACgpB,KAAN,CAAY;EACZA,QAAAA,KAAK,EAAEh0B,KAAK,CAACg0B,KADD;EAEZh0B,QAAAA,KAAK,EAAE;EAAEmI,UAAAA,GAAG,EAAE6K,EAAE,CAAC/P;EAAV;EAFK,OAAZ,CADU,GAKVjD,KAAK,CAACg0B,KALV;EAOA;EAAA,iBAEU;EAFV,SAGS2O,UAHT,EAISE,UAJT,KAOM,GAAG73B,KAPT;EAQMD,QAAAA,OAAO,EAAE;EAAA,cAAC;EACRgG,YAAAA,UADQ;EAERguB,YAAAA,UAFQ;EAGRgB,YAAAA;EAHQ,WAAD;EAAA,sDAMH/L,KAAK;EAAA,wBAEQjjB,UAAU,CAAC9N,KAFnB;EAAA,qBAGK88B,OAAO,CAAC98B,KAAR,KAAkB,KAHvB;EAAA,mBAIG+P,EAAE,CAAC/P;EAJN;EAAA,4BAMD+wB,KANC;EAAA;EAAA,6CANF,yDAiBE+O,YAjBF;EAAA,kBAkBE/vB,EAAE,CAAC/P,KAlBL;EAAA,wBAmBQjD,KAAK,CAACuhC,QAnBd;EAAA,yBAoBSvhC,KAAK,CAACshC,SApBf;EAAA,oBAqBIthC,KAAK,CAACsE,IArBV;EAAA,wBAsBQyM,UAAU,CAAC9N,KAtBnB;EAAA,wBAuBQ87B,UAAU,CAAC97B;EAvBnB,aAwBE2/B,YAxBF,GAyBO53B,KAzBP;EAAA,SARf;EAAA;EAAA;EAwCD,KAnDQ,CAAT;EAqDA,WAAO,EAAP;EACD;;EAtFwC,CAAD,CAAnC;;ECbP;;EA0DO,MAAM64C,aAA0C,GAAG37C,MAAM,CAACC,GAAP,CAAW,kBAAX,CAAnD;EAEA,SAASs+B,SAAT,CAAoB3Y,CAApB,EAAgD3yB,EAAhD,EAAiEqlC,SAAjE,EAAoF;EACzF,QAAMtM,QAAQ,GAAGsM,SAAS,KAAK,UAA/B;EACA,QAAMplC,IAAI,GAAGD,EAAE,CAACE,qBAAH,EAAb;EACA,QAAMu7B,KAAK,GAAG,aAAa9I,CAAb,GAAiBA,CAAC,CAACW,OAAF,CAAU,CAAV,CAAjB,GAAgCX,CAA9C;EACA,SAAOoG,QAAQ,GACX0C,KAAK,CAACjI,OAAN,IAAiBvzB,IAAI,CAACN,GAAL,GAAWM,IAAI,CAACP,MAAL,GAAc,CAA1C,CADW,GAEX+7B,KAAK,CAAClI,OAAN,IAAiBtzB,IAAI,CAACJ,IAAL,GAAYI,IAAI,CAACR,KAAL,GAAa,CAA1C,CAFJ;EAGD;;EAED,SAASkpD,WAAT,CAAsBh2B,CAAtB,EAAkDvgB,QAAlD,EAA2F;EACzF,MAAI,aAAaugB,CAAb,IAAkBA,CAAC,CAACW,OAAF,CAAU5vB,MAAhC,EAAwC,OAAOivB,CAAC,CAACW,OAAF,CAAU,CAAV,EAAalhB,QAAb,CAAP,CAAxC,KACK,IAAI,oBAAoBugB,CAApB,IAAyBA,CAAC,CAACwvB,cAAF,CAAiBz+C,MAA9C,EAAsD,OAAOivB,CAAC,CAACwvB,cAAF,CAAiB,CAAjB,EAAoB/vC,QAApB,CAAP,CAAtD,KACA,OAAQugB,CAAD,CAAkBvgB,QAAlB,CAAP;EACN;;EAEM,MAAMw2C,eAAe,GAAGt2C,YAAY,CAAC;EAC1Cya,EAAAA,QAAQ,EAAE9T,OADgC;EAE1CwqB,EAAAA,QAAQ,EAAExqB,OAFgC;EAG1CjR,EAAAA,GAAG,EAAE;EACHmB,IAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADH;EAEHkK,IAAAA,OAAO,EAAE;EAFN,GAHqC;EAO1C7H,EAAAA,GAAG,EAAE;EACHoB,IAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADH;EAEHkK,IAAAA,OAAO,EAAE;EAFN,GAPqC;EAW1C4e,EAAAA,IAAI,EAAE;EACJrlB,IAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADF;EAEJkK,IAAAA,OAAO,EAAE;EAFL,GAXoC;EAe1Ci5C,EAAAA,UAAU,EAAEnjD,MAf8B;EAgB1CojD,EAAAA,UAAU,EAAE;EACV3/C,IAAAA,IAAI,EAAE,CAAC8P,OAAD,EAAUvT,MAAV,CADI;EAEVkK,IAAAA,OAAO,EAAEtL,SAFC;EAGV2gB,IAAAA,SAAS,EAAG5f,CAAD,IAAY,OAAOA,CAAP,KAAa,SAAb,IAA0BA,CAAC,KAAK;EAH7C,GAhB8B;EAqB1C0jD,EAAAA,SAAS,EAAE;EACT5/C,IAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADG;EAETkK,IAAAA,OAAO,EAAE;EAFA,GArB+B;EAyB1Co5C,EAAAA,SAAS,EAAE;EACT7/C,IAAAA,IAAI,EAAE,CAAC8P,OAAD,EAAUvT,MAAV,CADG;EAETkK,IAAAA,OAAO,EAAE,IAFA;EAGTqV,IAAAA,SAAS,EAAG5f,CAAD,IAAY,OAAOA,CAAP,KAAa,SAAb,IAA0BA,CAAC,KAAK;EAH9C,GAzB+B;EA8B1C4jD,EAAAA,cAAc,EAAE;EACd9/C,IAAAA,IAAI,EAAE8P,OADQ;EAEdrJ,IAAAA,OAAO,EAAE;EAFK,GA9B0B;EAkC1Cs5C,EAAAA,KAAK,EAAE;EACL//C,IAAAA,IAAI,EAAE,CAACpF,KAAD,EAAQa,MAAR;EADD,GAlCmC;EAqC1CukD,EAAAA,QAAQ,EAAE;EACRhgD,IAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADE;EAERkK,IAAAA,OAAO,EAAE;EAFD,GArCgC;EAyC1C/D,EAAAA,KAAK,EAAEnG,MAzCmC;EA0C1C0jD,EAAAA,UAAU,EAAE1jD,MA1C8B;EA2C1C2jD,EAAAA,cAAc,EAAE3jD,MA3C0B;EA4C1C4jD,EAAAA,SAAS,EAAE;EACTngD,IAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADG;EAETkK,IAAAA,OAAO,EAAE;EAFA,GA5C+B;EAgD1Cy1B,EAAAA,SAAS,EAAE;EACTl8B,IAAAA,IAAI,EAAEzD,MADG;EAETkK,IAAAA,OAAO,EAAE,YAFA;EAGTqV,IAAAA,SAAS,EAAG5f,CAAD,IAAY,CAAC,UAAD,EAAa,YAAb,EAA2BtD,QAA3B,CAAoCsD,CAApC;EAHd,GAhD+B;EAqD1CmvC,EAAAA,OAAO,EAAEv7B,OArDiC;EAsD1C4f,EAAAA,KAAK,EAAEnzB,MAtDmC;EAwD1C,KAAG8jB,gBAAgB,EAxDuB;EAyD1C,KAAGJ,kBAAkB,CAAC;EACpBC,IAAAA,SAAS,EAAE;EADS,GAAD;EAzDqB,CAAD,EA4DxC,QA5DwC,CAApC;EAgEA,MAAMkgC,SAAS,GAAG,QAUnB;EAAA,MAVoB;EACxB1kD,IAAAA,KADwB;EAExB2kD,IAAAA,mBAFwB;EAGxBC,IAAAA,eAHwB;EAIxBC,IAAAA;EAJwB,GAUpB;EACJ,QAAM;EAAEnnC,IAAAA;EAAF,MAAYM,MAAM,EAAxB;EACA,QAAMoyB,UAAU,GAAGvnC,YAAQ,CAAC,MAAM6U,KAAK,CAACza,KAAN,KAAgBjD,KAAK,CAAC2vC,OAA7B,CAA3B;EACA,QAAMmV,mBAAmB,GAAGj8C,YAAQ,CAAC,MAAM;EACzC,QAAIk8C,EAAiB,GAAGrnC,KAAK,CAACza,KAAN,GAAc,KAAd,GAAsB,KAA9C;;EAEA,QAAIjD,KAAK,CAAC2vC,OAAV,EAAmB;EACjBoV,MAAAA,EAAE,GAAGA,EAAE,KAAK,KAAP,GAAe,KAAf,GAAuB,KAA5B;EACD;;EAED,WAAOA,EAAP;EACD,GARmC,CAApC;EASA,QAAM7hD,GAAG,GAAG2F,YAAQ,CAAC,MAAMzM,UAAU,CAAC4D,KAAK,CAACkD,GAAP,CAAjB,CAApB;EACA,QAAMC,GAAG,GAAG0F,YAAQ,CAAC,MAAMzM,UAAU,CAAC4D,KAAK,CAACmD,GAAP,CAAjB,CAApB;EACA,QAAMwmB,IAAI,GAAG9gB,YAAQ,CAAC,MAAM7I,KAAK,CAAC2pB,IAAN,GAAa,CAAb,GAAiBvtB,UAAU,CAAC4D,KAAK,CAAC2pB,IAAP,CAA3B,GAA0C,CAAjD,CAArB;EACA,QAAMq7B,QAAQ,GAAGn8C,YAAQ,CAAC,MAAM;EAC9B,UAAMo8C,WAAW,GAAGt7B,IAAI,CAAC1mB,KAAL,CAAWuE,QAAX,GAAsB09C,IAAtB,EAApB;EACA,WAAOD,WAAW,CAAC/nD,QAAZ,CAAqB,GAArB,IACF+nD,WAAW,CAACpmD,MAAZ,GAAqBomD,WAAW,CAAC5oD,OAAZ,CAAoB,GAApB,CAArB,GAAgD,CAD9C,GAEH,CAFJ;EAGD,GALwB,CAAzB;EAOA,QAAM6nD,SAAS,GAAGr7C,YAAQ,CAAC,MAAMzB,QAAQ,CAACpH,KAAK,CAACkkD,SAAP,EAAkB,EAAlB,CAAf,CAA1B;EACA,QAAMI,QAAQ,GAAGz7C,YAAQ,CAAC,MAAMzB,QAAQ,CAACpH,KAAK,CAACskD,QAAP,EAAiB,EAAjB,CAAf,CAAzB;EACA,QAAMG,SAAS,GAAG57C,YAAQ,CAAC,MAAMzB,QAAQ,CAACpH,KAAK,CAACykD,SAAP,EAAkB,EAAlB,CAAf,CAA1B;EACA,QAAMU,QAAQ,GAAGt8C,YAAQ,CAAC,MAAM,CAAC1F,GAAG,CAACF,KAAJ,GAAYC,GAAG,CAACD,KAAjB,IAA0B0mB,IAAI,CAAC1mB,KAAtC,CAAzB;EACA,QAAMilB,QAAQ,GAAGxB,SAAK,CAAC1mB,KAAD,EAAQ,UAAR,CAAtB;EACA,QAAMk0B,QAAQ,GAAGrrB,YAAQ,CAAC,MAAM7I,KAAK,CAACwgC,SAAN,KAAoB,UAA3B,CAAzB;EAEA,QAAMwjB,UAAU,GAAGn7C,YAAQ,CAAC;EAAA;;EAAA,WAAM7I,KAAK,CAACkoB,QAAN,GAAiBzoB,SAAjB,wBAA6BO,KAAK,CAACgkD,UAAnC,gCAAiDhkD,KAAK,CAACgH,KAA7D;EAAA,GAAD,CAA3B;EACA,QAAMu9C,UAAU,GAAG17C,YAAQ,CAAC;EAAA;;EAAA,WAAM7I,KAAK,CAACkoB,QAAN,GAAiBzoB,SAAjB,wBAA6BO,KAAK,CAACukD,UAAnC,gCAAiDvkD,KAAK,CAACgH,KAA7D;EAAA,GAAD,CAA3B;EACA,QAAMw9C,cAAc,GAAG37C,YAAQ,CAAC;EAAA;;EAAA,WAAM7I,KAAK,CAACkoB,QAAN,GAAiBzoB,SAAjB,4BAA6BO,KAAK,CAACwkD,cAAnC,oCAAqDxkD,KAAK,CAACgH,KAAjE;EAAA,GAAD,CAA/B;EAEA,QAAMo+C,YAAY,GAAGtgD,OAAG,CAAC,KAAD,CAAxB;EAEA,QAAMugD,WAAW,GAAGvgD,OAAG,CAAC,CAAD,CAAvB;EACA,QAAMwgD,iBAAiB,GAAGxgD,OAAG,EAA7B;;EAEA,WAASygD,UAAT,CAAqBtiD,KAArB,EAAoC;EAClC,QAAI0mB,IAAI,CAAC1mB,KAAL,IAAc,CAAlB,EAAqB,OAAOA,KAAP;EAErB,UAAMuiD,OAAO,GAAGxiD,KAAK,CAACC,KAAD,EAAQC,GAAG,CAACD,KAAZ,EAAmBE,GAAG,CAACF,KAAvB,CAArB;EACA,UAAM2mB,MAAM,GAAG1mB,GAAG,CAACD,KAAJ,GAAY0mB,IAAI,CAAC1mB,KAAhC;EACA,UAAMijB,QAAQ,GAAG9iB,IAAI,CAAC+C,KAAL,CAAW,CAACq/C,OAAO,GAAG57B,MAAX,IAAqBD,IAAI,CAAC1mB,KAArC,IAA8C0mB,IAAI,CAAC1mB,KAAnD,GAA2D2mB,MAA5E;EAEA,WAAOxtB,UAAU,CAACgH,IAAI,CAACF,GAAL,CAASgjB,QAAT,EAAmB/iB,GAAG,CAACF,KAAvB,EAA8BS,OAA9B,CAAsCshD,QAAQ,CAAC/hD,KAA/C,CAAD,CAAjB;EACD;;EAED,WAASwiD,cAAT,CAAyB33B,CAAzB,EAA6D;EAAA;;EAC3D,UAAMoG,QAAQ,GAAGl0B,KAAK,CAACwgC,SAAN,KAAoB,UAArC;EACA,UAAMlgC,KAAK,GAAG4zB,QAAQ,GAAG,KAAH,GAAW,MAAjC;EACA,UAAMr1B,MAAM,GAAGq1B,QAAQ,GAAG,QAAH,GAAc,OAArC;EACA,UAAM3mB,QAAQ,GAAG2mB,QAAQ,GAAG,SAAH,GAAe,SAAxC;EAEA,UAAM;EACJ,OAAC5zB,KAAD,GAASolD,UADL;EAEJ,OAAC7mD,MAAD,GAAU8mD;EAFN,iCAGFL,iBAAiB,CAACriD,KAHhB,qBAGF,sBAAyB8iC,GAAzB,CAA6B1qC,qBAA7B,EAHJ;EAIA,UAAMuqD,WAAW,GAAG9B,WAAW,CAACh2B,CAAD,EAAIvgB,QAAJ,CAA/B,CAV2D;;EAa3D,QAAIs4C,QAAQ,GAAGziD,IAAI,CAACF,GAAL,CAASE,IAAI,CAACD,GAAL,CAAS,CAACyiD,WAAW,GAAGF,UAAd,GAA2BL,WAAW,CAACpiD,KAAxC,IAAiD0iD,WAA1D,EAAuE,CAAvE,CAAT,EAAoF,CAApF,KAA0F,CAAzG;EAEA,QAAIzxB,QAAQ,IAAIkc,UAAU,CAACntC,KAA3B,EAAkC4iD,QAAQ,GAAG,IAAIA,QAAf;EAElC,WAAON,UAAU,CAACriD,GAAG,CAACD,KAAJ,GAAY4iD,QAAQ,IAAI1iD,GAAG,CAACF,KAAJ,GAAYC,GAAG,CAACD,KAApB,CAArB,CAAjB;EACD;;EAED,MAAI6iD,UAAU,GAAG,KAAjB;;EAEA,QAAMC,UAAU,GAAIj4B,CAAD,IAAgC;EACjD,QAAI,CAACg4B,UAAL,EAAiB;EACfT,MAAAA,WAAW,CAACpiD,KAAZ,GAAoB,CAApB;EACA0hD,MAAAA,mBAAmB,CAACc,cAAc,CAAC33B,CAAD,CAAf,CAAnB;EACD;;EAEDs3B,IAAAA,YAAY,CAACniD,KAAb,GAAqB,KAArB;EACA6iD,IAAAA,UAAU,GAAG,KAAb;EACAT,IAAAA,WAAW,CAACpiD,KAAZ,GAAoB,CAApB;EACD,GATD;;EAWA,QAAM+iD,WAAW,GAAIl4B,CAAD,IAAgC;EAClD,UAAMm4B,WAAW,GAAGpB,cAAc,CAAC/2B,CAAD,CAAlC;EAEA,QAAI,CAACm4B,WAAL,EAAkB;EAElBA,IAAAA,WAAW,CAAClhB,KAAZ;EACAqgB,IAAAA,YAAY,CAACniD,KAAb,GAAqB,IAArB;;EAEA,QAAIgjD,WAAW,CAAC7b,QAAZ,CAAqBtc,CAAC,CAACjqB,MAAvB,CAAJ,EAA4C;EAC1CiiD,MAAAA,UAAU,GAAG,IAAb;EACAT,MAAAA,WAAW,CAACpiD,KAAZ,GAAoBwjC,SAAS,CAAC3Y,CAAD,EAAIm4B,WAAJ,EAAiBjmD,KAAK,CAACwgC,SAAvB,CAA7B;EACD,KAHD,MAGO;EACL6kB,MAAAA,WAAW,CAACpiD,KAAZ,GAAoB,CAApB;EACA2hD,MAAAA,eAAe,CAACa,cAAc,CAAC33B,CAAD,CAAf,CAAf;EACD;EACF,GAfD;;EAiBA,QAAMo4B,mBAAmB,GAAG;EAAEt0B,IAAAA,OAAO,EAAE,IAAX;EAAiBu0B,IAAAA,OAAO,EAAE;EAA1B,GAA5B;;EAEA,WAASC,WAAT,CAAsBt4B,CAAtB,EAAkD;EAChDg4B,IAAAA,UAAU,GAAG,IAAb;EACAlB,IAAAA,eAAe,CAACa,cAAc,CAAC33B,CAAD,CAAf,CAAf;EACD;;EAED,WAASu4B,eAAT,CAA0Bv4B,CAA1B,EAAyC;EACvCA,IAAAA,CAAC,CAAC8W,eAAF;EACA9W,IAAAA,CAAC,CAACmkB,cAAF;EAEA8T,IAAAA,UAAU,CAACj4B,CAAD,CAAV;EAEAzhB,IAAAA,MAAM,CAACwhB,mBAAP,CAA2B,WAA3B,EAAwCu4B,WAAxC,EAAqDF,mBAArD;EACA75C,IAAAA,MAAM,CAACwhB,mBAAP,CAA2B,SAA3B,EAAsCw4B,eAAtC;EACD;;EAED,WAASC,gBAAT,CAA2Bx4B,CAA3B,EAA0C;EACxCA,IAAAA,CAAC,CAAC8W,eAAF;EACA9W,IAAAA,CAAC,CAACmkB,cAAF;EAEA8T,IAAAA,UAAU,CAACj4B,CAAD,CAAV;EAEAzhB,IAAAA,MAAM,CAACwhB,mBAAP,CAA2B,WAA3B,EAAwCu4B,WAAxC,EAAqDF,mBAArD;EACA75C,IAAAA,MAAM,CAACwhB,mBAAP,CAA2B,UAA3B,EAAuCy4B,gBAAvC;EACD;;EAED,WAASC,kBAAT,CAA6Bz4B,CAA7B,EAA4C;EAC1Ck4B,IAAAA,WAAW,CAACl4B,CAAD,CAAX;EAEAzhB,IAAAA,MAAM,CAACqhB,gBAAP,CAAwB,WAAxB,EAAqC04B,WAArC,EAAkDF,mBAAlD;EACA75C,IAAAA,MAAM,CAACqhB,gBAAP,CAAwB,UAAxB,EAAoC44B,gBAApC,EAAsD;EAAE10B,MAAAA,OAAO,EAAE;EAAX,KAAtD;EACD;;EAED,WAAS40B,iBAAT,CAA4B14B,CAA5B,EAA2C;EACzCA,IAAAA,CAAC,CAACmkB,cAAF;EAEA+T,IAAAA,WAAW,CAACl4B,CAAD,CAAX;EAEAzhB,IAAAA,MAAM,CAACqhB,gBAAP,CAAwB,WAAxB,EAAqC04B,WAArC,EAAkDF,mBAAlD;EACA75C,IAAAA,MAAM,CAACqhB,gBAAP,CAAwB,SAAxB,EAAmC24B,eAAnC,EAAoD;EAAEz0B,MAAAA,OAAO,EAAE;EAAX,KAApD;EACD;;EAED,QAAMrkB,QAAQ,GAAIhI,GAAD,IAAiB;EAChC,UAAMkhD,UAAU,GAAG,CAAClhD,GAAG,GAAGrC,GAAG,CAACD,KAAX,KAAqBE,GAAG,CAACF,KAAJ,GAAYC,GAAG,CAACD,KAArC,IAA8C,GAAjE;EACA,WAAOD,KAAK,CAACpC,KAAK,CAAC6lD,UAAD,CAAL,GAAoB,CAApB,GAAwBA,UAAzB,EAAqC,CAArC,EAAwC,GAAxC,CAAZ;EACD,GAHD;;EAKA,QAAMC,WAAW,GAAG79C,YAAQ,CAAS,MAAM;EACzC,QAAI,CAAC7I,KAAK,CAACqkD,KAAX,EAAkB;EAChB,aAAOc,QAAQ,CAACliD,KAAT,KAAmBoG,QAAnB,GAA8BhJ,WAAW,CAAC8kD,QAAQ,CAACliD,KAAT,GAAiB,CAAlB,CAAX,CAAgClE,GAAhC,CAAoC0H,CAAC,IAAI;EAC5E,cAAMxD,KAAK,GAAGC,GAAG,CAACD,KAAJ,GAAawD,CAAC,GAAGkjB,IAAI,CAAC1mB,KAApC;EACA,eAAO;EACLA,UAAAA,KADK;EAELsK,UAAAA,QAAQ,EAAEA,QAAQ,CAACtK,KAAD;EAFb,SAAP;EAID,OANoC,CAA9B,GAMF,EANL;EAOD;;EACD,QAAI/D,KAAK,CAACC,OAAN,CAAca,KAAK,CAACqkD,KAApB,CAAJ,EAAgC,OAAOrkD,KAAK,CAACqkD,KAAN,CAAYtlD,GAAZ,CAAgB0H,CAAC,KAAK;EAAExD,MAAAA,KAAK,EAAEwD,CAAT;EAAY8G,MAAAA,QAAQ,EAAEA,QAAQ,CAAC9G,CAAD,CAA9B;EAAmCutB,MAAAA,KAAK,EAAEvtB,CAAC,CAACe,QAAF;EAA1C,KAAL,CAAjB,CAAP;EAChC,WAAOzH,MAAM,CAACE,IAAP,CAAYD,KAAK,CAACqkD,KAAlB,EAAyBtlD,GAAzB,CAA6B0D,GAAG,KAAK;EAC1CQ,MAAAA,KAAK,EAAEmE,QAAQ,CAAC3E,GAAD,EAAM,EAAN,CAD2B;EAE1C8K,MAAAA,QAAQ,EAAEA,QAAQ,CAACnG,QAAQ,CAAC3E,GAAD,EAAM,EAAN,CAAT,CAFwB;EAG1CuxB,MAAAA,KAAK,EAAGh0B,KAAK,CAACqkD,KAAP,CAAwC5hD,GAAxC;EAHmC,KAAL,CAAhC,CAAP;EAKD,GAhB2B,CAA5B;EAkBA,QAAMkkD,SAAS,GAAG99C,YAAQ,CAAC,MAAM69C,WAAW,CAACzjD,KAAZ,CAAkBP,IAAlB,CAAuB;EAAA,QAAC;EAAEsxB,MAAAA;EAAF,KAAD;EAAA,WAAe,CAAC,CAACA,KAAjB;EAAA,GAAvB,CAAP,CAA1B;EAEA,QAAMoT,IAAmB,GAAG;EAC1BpgC,IAAAA,KAAK,EAAE0f,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CADc;EAE1BglD,IAAAA,QAF0B;EAG1B98B,IAAAA,QAH0B;EAI1BsY,IAAAA,SAAS,EAAE9Z,SAAK,CAAC1mB,KAAD,EAAQ,WAAR,CAJU;EAK1BwkB,IAAAA,SAAS,EAAEkC,SAAK,CAAC1mB,KAAD,EAAQ,WAAR,CALU;EAM1B2mD,IAAAA,SAN0B;EAO1B7B,IAAAA,mBAP0B;EAQ1B1U,IAAAA,UAR0B;EAS1Bpc,IAAAA,KAAK,EAAEtN,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CATc;EAU1BkD,IAAAA,GAV0B;EAW1BC,IAAAA,GAX0B;EAY1BiiD,IAAAA,YAZ0B;EAa1BD,IAAAA,QAb0B;EAc1BqB,IAAAA,iBAd0B;EAe1BD,IAAAA,kBAf0B;EAgB1BG,IAAAA,WAhB0B;EAiB1BjB,IAAAA,cAjB0B;EAkB1Bl4C,IAAAA,QAlB0B;EAmB1BqxB,IAAAA,QAAQ,EAAElY,SAAK,CAAC1mB,KAAD,EAAQ,UAAR,CAnBW;EAoB1B4kB,IAAAA,OAAO,EAAE8B,SAAK,CAAC1mB,KAAD,EAAQ,SAAR,CApBY;EAqB1BulD,IAAAA,UArB0B;EAsB1BnB,IAAAA,cAAc,EAAE19B,SAAK,CAAC1mB,KAAD,EAAQ,gBAAR,CAtBK;EAuB1BmkD,IAAAA,SAAS,EAAEz9B,SAAK,CAAC1mB,KAAD,EAAQ,WAAR,CAvBU;EAwB1BqlD,IAAAA,WAxB0B;EAyB1B17B,IAAAA,IAzB0B;EA0B1Bu6B,IAAAA,SA1B0B;EA2B1BF,IAAAA,UA3B0B;EA4B1BC,IAAAA,UAAU,EAAEv9B,SAAK,CAAC1mB,KAAD,EAAQ,YAAR,CA5BS;EA6B1BqkD,IAAAA,KAAK,EAAE39B,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CA7Bc;EA8B1BskD,IAAAA,QA9B0B;EA+B1BC,IAAAA,UA/B0B;EAgC1Be,IAAAA,iBAhC0B;EAiC1Bd,IAAAA,cAjC0B;EAkC1BC,IAAAA,SAlC0B;EAmC1BvwB,IAAAA;EAnC0B,GAA5B;EAsCA5qB,EAAAA,WAAO,CAACu6C,aAAD,EAAgBzc,IAAhB,CAAP;EAEA,SAAOA,IAAP;EACD,CAzNM;;ECzHA,MAAMwf,YAAY,GAAGl9C,eAAe,CAAC;EAC1CpL,EAAAA,IAAI,EAAE,cADoC;EAG1CoiB,EAAAA,UAAU,EAAE;EAAEsR,IAAAA;EAAF,GAH8B;EAK1ChyB,EAAAA,KAAK,EAAE;EACL0gC,IAAAA,OAAO,EAAEtsB,OADJ;EAELjR,IAAAA,GAAG,EAAE;EACHmB,MAAAA,IAAI,EAAEvD,MADH;EAEHunB,MAAAA,QAAQ,EAAE;EAFP,KAFA;EAMLplB,IAAAA,GAAG,EAAE;EACHoB,MAAAA,IAAI,EAAEvD,MADH;EAEHunB,MAAAA,QAAQ,EAAE;EAFP,KANA;EAUL/B,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAEvD,MADI;EAEVunB,MAAAA,QAAQ,EAAE;EAFA,KAVP;EAcL/a,IAAAA,QAAQ,EAAE;EACRjJ,MAAAA,IAAI,EAAEvD,MADE;EAERunB,MAAAA,QAAQ,EAAE;EAFF;EAdL,GALmC;EAyB1ChH,EAAAA,KAAK,EAAE;EACL,yBAAsB9gB,CAAD,IAAe;EAD/B,GAzBmC;;EA6B1CoJ,EAAAA,KAAK,CAAE5J,KAAF,QAA0B;EAAA,QAAjB;EAAEgL,MAAAA,KAAF;EAASuW,MAAAA;EAAT,KAAiB;EAC7B,UAAMslC,MAAM,GAAGt+C,UAAM,CAACs7C,aAAD,CAArB;EAEA,QAAI,CAACgD,MAAL,EAAa,MAAM,IAAIr+C,KAAJ,CAAU,yEAAV,CAAN;EAEb,UAAM;EACJw7C,MAAAA,UADI;EAEJr6B,MAAAA,IAFI;EAGJuK,MAAAA,QAHI;EAIJhM,MAAAA,QAJI;EAKJg8B,MAAAA,SALI;EAMJD,MAAAA,UANI;EAOJzjB,MAAAA,SAPI;EAQJxM,MAAAA,KARI;EASJ4K,MAAAA,QATI;EAUJpa,MAAAA,SAVI;EAWJ4rB,MAAAA,UAXI;EAYJ0U,MAAAA,mBAZI;EAaJM,MAAAA;EAbI,QAcFyB,MAdJ;EAgBA,UAAM;EAAErhC,MAAAA,gBAAF;EAAoBC,MAAAA;EAApB,QAAwCF,YAAY,CAACy+B,UAAD,CAA1D;EAEA,UAAM;EAAEjiD,MAAAA,MAAF;EAAUC,MAAAA,QAAV;EAAoBN,MAAAA,GAApB;EAAyBC,MAAAA,IAAzB;EAA+B3G,MAAAA,IAA/B;EAAqCC,MAAAA,KAArC;EAA4CwG,MAAAA,IAA5C;EAAkDD,MAAAA;EAAlD,QAAyDU,SAA/D;EACA,UAAM4kD,YAAY,GAAG,CAAC/kD,MAAD,EAASC,QAAT,EAAmBN,GAAnB,EAAwBC,IAAxB,EAA8B3G,IAA9B,EAAoCC,KAApC,EAA2CwG,IAA3C,EAAiDD,EAAjD,CAArB;EAEA,UAAMulD,WAAW,GAAGl+C,YAAQ,CAAC,MAAM;EACjC,UAAI8gB,IAAI,CAAC1mB,KAAT,EAAgB,OAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAAP,CAAhB,KACK,OAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,EAAP,CAAP;EACN,KAH2B,CAA5B;;EAKA,aAAS+jD,YAAT,CAAuBl5B,CAAvB,EAAyC7qB,KAAzC,EAAwD;EACtD,UAAI,CAAC6jD,YAAY,CAAC5pD,QAAb,CAAsB4wB,CAAC,CAACrrB,GAAxB,CAAL,EAAmC;EAEnCqrB,MAAAA,CAAC,CAACmkB,cAAF;;EAEA,YAAMgV,KAAK,GAAGt9B,IAAI,CAAC1mB,KAAL,IAAc,GAA5B;;EACA,YAAMikD,KAAK,GAAG,CAAClnD,KAAK,CAACmD,GAAN,GAAYnD,KAAK,CAACkD,GAAnB,IAA0B+jD,KAAxC;;EACA,UAAI,CAACjsD,IAAD,EAAOC,KAAP,EAAcwG,IAAd,EAAoBD,EAApB,EAAwBtE,QAAxB,CAAiC4wB,CAAC,CAACrrB,GAAnC,CAAJ,EAA6C;EAC3C,cAAM0kD,QAAQ,GAAG/W,UAAU,CAACntC,KAAX,GAAmB,CAACjI,IAAD,EAAOwG,EAAP,CAAnB,GAAgC,CAACvG,KAAD,EAAQuG,EAAR,CAAjD;EACA,cAAMg/B,SAAS,GAAG2mB,QAAQ,CAACjqD,QAAT,CAAkB4wB,CAAC,CAACrrB,GAApB,IAA2B,CAA3B,GAA+B,CAAC,CAAlD;EACA,cAAM2kD,UAAU,GAAGt5B,CAAC,CAACu5B,QAAF,GAAa,CAAb,GAAkBv5B,CAAC,CAACw5B,OAAF,GAAY,CAAZ,GAAgB,CAArD;EAEArkD,QAAAA,KAAK,GAAGA,KAAK,GAAIu9B,SAAS,GAAGymB,KAAZ,GAAoBF,WAAW,CAAC9jD,KAAZ,CAAkBmkD,UAAlB,CAArC;EACD,OAND,MAMO,IAAIt5B,CAAC,CAACrrB,GAAF,KAAUd,IAAd,EAAoB;EACzBsB,QAAAA,KAAK,GAAGjD,KAAK,CAACkD,GAAd;EACD,OAFM,MAEA,IAAI4qB,CAAC,CAACrrB,GAAF,KAAUf,GAAd,EAAmB;EACxBuB,QAAAA,KAAK,GAAGjD,KAAK,CAACmD,GAAd;EACD,OAFM,MAEA;EACL,cAAMq9B,SAAS,GAAG1S,CAAC,CAACrrB,GAAF,KAAUT,QAAV,GAAqB,CAArB,GAAyB,CAAC,CAA5C;EACAiB,QAAAA,KAAK,GAAGA,KAAK,GAAIu9B,SAAS,GAAGymB,KAAZ,IAAqBC,KAAK,GAAG,GAAR,GAAcA,KAAK,GAAG,EAAtB,GAA2B,EAAhD,CAAjB;EACD;;EAED,aAAO9jD,IAAI,CAACD,GAAL,CAASnD,KAAK,CAACkD,GAAf,EAAoBE,IAAI,CAACF,GAAL,CAASlD,KAAK,CAACmD,GAAf,EAAoBF,KAApB,CAApB,CAAP;EACD;;EAED,aAAS+pC,SAAT,CAAoBlf,CAApB,EAAsC;EACpC,YAAM5H,QAAQ,GAAG8gC,YAAY,CAACl5B,CAAD,EAAI9tB,KAAK,CAACumB,UAAV,CAA7B;EAEAL,MAAAA,QAAQ,IAAI,IAAZ,IAAoB3E,IAAI,CAAC,mBAAD,EAAsB2E,QAAtB,CAAxB;EACD;;EAED,WAAO,MAAM;EAAA;;EACX,YAAMqhC,kBAAkB,GAAG7mD,aAAa,CAACwzB,QAAQ,CAACjxB,KAAT,GAAiB,MAAMjD,KAAK,CAACuN,QAA7B,GAAwCvN,KAAK,CAACuN,QAA/C,EAAyD,GAAzD,CAAxC;EACA,YAAM0gC,KAAK,GAAG/Z,QAAQ,CAACjxB,KAAT,GAAiB,OAAjB,GAA2B,QAAzC;EACA,YAAM;EAAEyhB,QAAAA;EAAF,UAAuBD,YAAY,CAAC5b,YAAQ,CAAC,MAAM,CAACqf,QAAQ,CAACjlB,KAAV,GAAkBuhB,SAAS,CAACvhB,KAA5B,GAAoCxD,SAA3C,CAAT,CAAzC;EAEA;EAAA,iBAEW,CACL,gBADK,EAEL;EACE,qCAA2BO,KAAK,CAAC0gC,OADnC;EAEE,qCAA2B1gC,KAAK,CAAC0gC,OAAN,IAAiB0kB,YAAY,CAACniD;EAF3D,SAFK,CAFX;EAAA,iBASW;EACL,WAAE,SAAQgrC,KAAM,QAAhB,GAA2B,QAAOsZ,kBAAmB,oCADhD;EAEL,mCAAyB7mD,aAAa,CAACwjD,SAAS,CAACjhD,KAAX,CAFjC;EAGLu9B,UAAAA,SAAS,EAAE,CAACtM,QAAQ,CAACjxB,KAAV,GAAkB6hD,mBAAmB,CAAC7hD,KAAtC,GAA8CxD;EAHpD,SATX;EAAA,gBAcS,QAdT;EAAA,oBAeeyoB,QAAQ,CAACjlB,KAAT,GAAiB,CAAC,CAAlB,GAAsB,CAfrC;EAAA,sBAgBiB+wB,KAAK,CAAC/wB,KAhBvB;EAAA,yBAiBoBjD,KAAK,CAACkD,GAjB1B;EAAA,yBAkBoBlD,KAAK,CAACmD,GAlB1B;EAAA,yBAmBoBnD,KAAK,CAACumB,UAnB1B;EAAA,yBAoBoBqY,QAAQ,CAAC37B,KApB7B;EAAA,4BAqBuBu9B,SAAS,CAACv9B,KArBjC;EAAA,qBAsBgB+pC;EAtBhB;EAAA,iBAyBa,CACL,yBADK,EAELxnB,gBAAgB,CAACviB,KAFZ,EAGLyhB,gBAAgB,CAACzhB,KAHZ,CAzBb;EAAA,iBA8Ba,EACL,GAAGwiB,eAAe,CAACxiB;EADd;EA9Bb;EAAA,iBAmCa,CACL,wBADK,EAELuiB,gBAAgB,CAACviB,KAFZ,CAnCb;EAAA,iBAuCcwiB,eAAe,CAACxiB;EAvC9B,qDAwCiB,IAxCjB,EAwCuB,IAxCvB;EAAA;EAAA;EAAA;EAAA,kBA0C6B;EA1C7B;EAAA;EAAA,mBA4Cc;EA5Cd;EAAA,mBAgDiB,CACL,uBADK;EAhDjB,qFAqDc+H,KAAK,CAAC,aAAD,CArDnB,qBAqDc,wBAAAA,KAAK,EAAkB;EAAEub,UAAAA,UAAU,EAAEvmB,KAAK,CAACumB;EAApB,SAAlB,CArDnB,gCAqD0EvmB,KAAK,CAACumB,UAAN,CAAiB7iB,OAAjB,CAAyB,CAAzB,CArD1E,0BA6CkBugD,UAAU,CAAChhD,KAAX,IAAoBjD,KAAK,CAAC0gC,OAA3B,IAAuCujB,UAAU,CAAChhD,KAAX,KAAqB,QA7C7E;EAAA;EA4DD,KAjED;EAkED;;EA7JyC,CAAD,CAApC;;ECJA,MAAMukD,YAAY,GAAG99C,eAAe,CAAC;EAC1CpL,EAAAA,IAAI,EAAE,cADoC;EAG1C0B,EAAAA,KAAK,EAAE;EACLM,IAAAA,KAAK,EAAE;EACLgE,MAAAA,IAAI,EAAEvD,MADD;EAELunB,MAAAA,QAAQ,EAAE;EAFL,KADF;EAKL3E,IAAAA,IAAI,EAAE;EACJrf,MAAAA,IAAI,EAAEvD,MADF;EAEJunB,MAAAA,QAAQ,EAAE;EAFN;EALD,GAHmC;EAc1ChH,EAAAA,KAAK,EAAE,EAdmC;;EAgB1C1X,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM67C,MAAM,GAAGt+C,UAAM,CAACs7C,aAAD,CAArB;EAEA,QAAI,CAACgD,MAAL,EAAa,MAAM,IAAIr+C,KAAJ,CAAU,oEAAV,CAAN;EAEb,UAAM;EACJ+7C,MAAAA,UADI;EAEJC,MAAAA,cAFI;EAGJtwB,MAAAA,QAHI;EAIJowB,MAAAA,QAJI;EAKJH,MAAAA,SALI;EAMJM,MAAAA,SANI;EAOJz9C,MAAAA,KAPI;EAQJ4d,MAAAA,OARI;EASJ8hC,MAAAA,WATI;EAUJ5B,MAAAA;EAVI,QAWF+B,MAXJ;EAaA,UAAM;EAAE/hC,MAAAA;EAAF,QAAqBD,UAAU,CAACD,OAAD,CAArC;EAEA,UAAM;EACJe,MAAAA,sBAAsB,EAAE8hC,qBADpB;EAEJ7hC,MAAAA,qBAAqB,EAAE8hC;EAFnB,QAGFhiC,kBAAkB,CAAC8+B,cAAD,CAHtB;EAKA,UAAM;EACJ7+B,MAAAA,sBAAsB,EAAEgiC,iBADpB;EAEJ/hC,MAAAA,qBAAqB,EAAEgiC;EAFnB,QAGFliC,kBAAkB,CAAC6+B,UAAD,CAHtB;EAKA,UAAMsD,QAAQ,GAAGh/C,YAAQ,CAAC,MAAO,SAAQqrB,QAAQ,CAACjxB,KAAT,GAAiB,WAAjB,GAA+B,cAAe,EAA9D,CAAzB;EACA,UAAM6kD,MAAM,GAAGj/C,YAAQ,CAAC,MAAMqrB,QAAQ,CAACjxB,KAAT,GAAiB,QAAjB,GAA4B,OAAnC,CAAvB;EAEA,UAAM8kD,gBAAgB,GAAGl/C,YAAQ,CAAC,MAAM;EACtC,aAAO;EACL,SAACg/C,QAAQ,CAAC5kD,KAAV,GAAkB,IADb;EAEL,SAAC6kD,MAAM,CAAC7kD,KAAR,GAAgB;EAFX,OAAP;EAID,KALgC,CAAjC;EAOA,UAAM+kD,cAAc,GAAGn/C,YAAQ,CAAC,MAAM7I,KAAK,CAAC2jB,IAAN,GAAa3jB,KAAK,CAACM,KAA1B,CAA/B;EAEA,UAAM2nD,eAAe,GAAGp/C,YAAQ,CAAC,MAAM;EACrC,aAAO;EACL,SAACg/C,QAAQ,CAAC5kD,KAAV,GAAkBvC,aAAa,CAACV,KAAK,CAACM,KAAP,EAAc,GAAd,CAD1B;EAEL,SAACwnD,MAAM,CAAC7kD,KAAR,GAAgBvC,aAAa,CAACsnD,cAAc,CAAC/kD,KAAhB,EAAuB,GAAvB;EAFxB,OAAP;EAID,KAL+B,CAAhC;EAOA,UAAMilD,aAAa,GAAGr/C,YAAQ,CAAC,MAAM;EACnC,YAAMw7C,KAAK,GAAGnwB,QAAQ,CAACjxB,KAAT,GAAiByjD,WAAW,CAACzjD,KAAZ,CAAkBjH,KAAlB,GAA0B2zC,OAA1B,EAAjB,GAAuD+W,WAAW,CAACzjD,KAAjF;EAEA,aAAOohD,KAAK,CAACtlD,GAAN,CAAU,CAACopD,IAAD,EAAOhxC,KAAP,KAAiB;EAAA;;EAChC,cAAMixC,iBAAiB,GAAGl0B,QAAQ,CAACjxB,KAAT,GAAiB,iBAAjB,GAAqC,qBAA/D;EACA;EAAA,iBAEUklD,IAAI,CAACllD,KAFf;EAAA,mBAGW,CACL,sBADK,EAEL;EACE,4CAAgCklD,IAAI,CAAC56C,QAAL,IAAiBvN,KAAK,CAACM,KAAvB,IAAgC6nD,IAAI,CAAC56C,QAAL,IAAiBvN,KAAK,CAAC2jB;EADzF,WAFK,CAHX;EAAA,mBASW;EACL,aAACykC,iBAAD,GAAsBD,IAAI,CAAC56C,QAAL,GAAgB,CAAhB,IAAqB46C,IAAI,CAAC56C,QAAL,GAAgB,GAAtC,IAA8C7M,aAAa,CAACynD,IAAI,CAAC56C,QAAN,EAAgB,GAAhB;EAD3E;EATX,YAcM,CAAC46C,IAAI,CAACn0B,KAAL,IAAchpB,KAAK,CAAC,YAAD,CAApB;EAAA,mBACa;EADb,qDAEMA,KAAK,CAAC,YAAD,CAFX,qBAEM,uBAAAA,KAAK,EAAiB;EAAEm9C,UAAAA,IAAF;EAAQhxC,UAAAA;EAAR,SAAjB,CAFX,+BAEgDgxC,IAAI,CAACn0B,KAFrD,EAdN;EAsBD,OAxBM,CAAP;EAyBD,KA5B6B,CAA9B;EA8BA,WAAO,MAAM;EACX;EAAA,iBAEW,CACL,gBADK,EAELlP,cAAc,CAAC7hB,KAFV,CAFX;EAAA,iBAMW;EACL,mCAAyBvC,aAAa,CAAC+jD,SAAS,CAACxhD,KAAX,CADjC;EAEL,kCAAwBvC,aAAa,CAAC4jD,QAAQ,CAACrhD,KAAV,CAFhC;EAGLu9B,UAAAA,SAAS,EAAE,CAACtM,QAAQ,CAACjxB,KAAV,GAAkB6hD,mBAAmB,CAAC7hD,KAAtC,GAA8CxD;EAHpD;EANX;EAAA,iBAaa,CACL,4BADK,EAELkoD,iBAAiB,CAAC1kD,KAFb,EAGL;EACE,iDAAuC,CAAC,CAAC+D,KAAK,CAAC/D,KAAR,IAAiB,CAACuhD,cAAc,CAACvhD;EAD1E,SAHK,CAbb;EAAA,iBAoBa,EACL,GAAG8kD,gBAAgB,CAAC9kD,KADf;EAEL,aAAG2kD,gBAAgB,CAAC3kD;EAFf;EApBb;EAAA,iBA0Ba,CACL,sBADK,EAELwkD,qBAAqB,CAACxkD,KAFjB,CA1Bb;EAAA,iBA8Ba,EACL,GAAGglD,eAAe,CAAChlD,KADd;EAEL,aAAGykD,oBAAoB,CAACzkD;EAFnB;EA9Bb,mBAoCMkhD,SAAS,CAAClhD,KAAV;EAAA,iBAES,CACL,uBADK,EAEL;EACE,gDAAsCkhD,SAAS,CAAClhD,KAAV,KAAoB;EAD5D,SAFK;EAFT,UASIilD,aAAa,CAACjlD,KATlB,KApCN;EAkDD,KAnDD;EAoDD;;EAnJyC,CAAD,CAApC;;ECGA,MAAMolD,YAAY,GAAG3+C,mBAAe,CAAC;EAC1CpL,EAAAA,IAAI,EAAE,cADoC;EAG1C0B,EAAAA,KAAK,EAAE,EACL,GAAGogC,eAAe,EADb;EAEL,OAAG2jB,eAAe,EAFb;EAILx9B,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAEpF,KADI;EAEV6L,MAAAA,OAAO,EAAE,MAAO,CAAC,CAAD,EAAI,CAAJ;EAFN;EAJP,GAHmC;EAa1CuW,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAA6B;EAD7C,GAbmC;;EAiB1C2G,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAEgL,MAAAA,KAAF;EAASlI,MAAAA;EAAT,KAAkB;EAC9B,UAAMwlD,aAAa,GAAGxjD,OAAG,EAAzB;EACA,UAAMyjD,YAAY,GAAGzjD,OAAG,EAAxB;EACA,UAAM0jD,YAAY,GAAG1jD,OAAG,EAAxB;EACA,UAAMmwC,QAAQ,GAAGnwC,OAAG,EAApB;EAEA,QAAI2jD,SAAS,GAAG,KAAhB;;EACA,aAAS5D,cAAT,CAAyB/2B,CAAzB,EAAqD;EAAA;;EACnD,UAAI,CAACw6B,aAAa,CAACrlD,KAAf,IAAwB,CAACslD,YAAY,CAACtlD,KAA1C,EAAiD;EAEjDwlD,MAAAA,SAAS,GAAG,IAAZ;EAEA,YAAMpD,WAAW,GAAG5e,SAAS,CAAC3Y,CAAD,EAAIw6B,aAAa,CAACrlD,KAAd,CAAoB8iC,GAAxB,EAA6B/lC,KAAK,CAACwgC,SAAnC,CAA7B;EACA,YAAMkoB,UAAU,GAAGjiB,SAAS,CAAC3Y,CAAD,EAAIy6B,YAAY,CAACtlD,KAAb,CAAmB8iC,GAAvB,EAA4B/lC,KAAK,CAACwgC,SAAlC,CAA5B;EAEA,YAAM7gC,CAAC,GAAGyD,IAAI,CAACK,GAAL,CAAS4hD,WAAT,CAAV;EACA,YAAMzlD,CAAC,GAAGwD,IAAI,CAACK,GAAL,CAASilD,UAAT,CAAV;EAEA,aAAQ/oD,CAAC,GAAGC,CAAJ,IAAUD,CAAC,KAAKC,CAAN,IAAWylD,WAAW,GAAG,CAApC,2BAA0CiD,aAAa,CAACrlD,KAAxD,qBAA0C,qBAAqB8iC,GAA/D,0BAAqEwiB,YAAY,CAACtlD,KAAlF,qBAAqE,oBAAoB8iC,GAAhG;EACD;;EAED,UAAM;EACJ7iC,MAAAA,GADI;EAEJC,MAAAA,GAFI;EAGJiiD,MAAAA,YAHI;EAIJG,MAAAA,UAJI;EAKJiB,MAAAA,iBALI;EAMJD,MAAAA,kBANI;EAOJjB,MAAAA,iBAPI;EAQJ/3C,MAAAA,QARI;EASJo5C,MAAAA;EATI,QAUFjC,SAAS,CAAC;EACZ;EACA1kD,MAAAA,KAFY;EAGZ2kD,MAAAA,mBAAmB,EAAEz+B,QAAQ,IAAI;EAC/B4Y,QAAAA,KAAK,CAAC77B,KAAN,GAAculD,YAAY,CAACvlD,KAAb,KAAuBqlD,aAAa,CAACrlD,KAArC,GAA6C,CAACijB,QAAD,EAAW4Y,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAAX,CAA7C,GAA0E,CAAC67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAAD,EAAiBijB,QAAjB,CAAxF;EACD,OALW;EAMZ0+B,MAAAA,eAAe,EAAE1+B,QAAQ,IAAI;EAC3B,YAAIsiC,YAAY,CAACvlD,KAAb,KAAuBqlD,aAAa,CAACrlD,KAAzC,EAAgD;EAC9C67B,UAAAA,KAAK,CAAC77B,KAAN,GAAc,CAACG,IAAI,CAACF,GAAL,CAASgjB,QAAT,EAAmB4Y,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAAnB,CAAD,EAAqC67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAArC,CAAd;EACD,SAFD,MAEO;EACL67B,UAAAA,KAAK,CAAC77B,KAAN,GAAc,CAAC67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAAD,EAAiBG,IAAI,CAACD,GAAL,CAAS27B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAAT,EAAyBijB,QAAzB,CAAjB,CAAd;EACD;;EACD,YAAIuiC,SAAS,IAAI3pB,KAAK,CAAC77B,KAAN,CAAY,CAAZ,MAAmB67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAApC,EAAoD;EAClDulD,UAAAA,YAAY,CAACvlD,KAAb,GAAqBijB,QAAQ,GAAG4Y,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAAX,GAA4BslD,YAAY,CAACtlD,KAAzC,GAAiDqlD,aAAa,CAACrlD,KAApF;EACD;;EACDwlD,QAAAA,SAAS,GAAG,KAAZ;EACD,OAhBW;EAiBZ5D,MAAAA;EACA;;EAlBY,KAAD,CAVb;EA+BA,UAAM/lB,KAAK,GAAGjZ,eAAe,CAC3B7lB,KAD2B,EAE3B,YAF2B,EAG3BP,SAH2B,EAI3BwpB,GAAG,IAAI;EACL,UAAI,CAACA,GAAD,IAAQ,CAACA,GAAG,CAACpqB,MAAjB,EAAyB,OAAO,CAAC,CAAD,EAAI,CAAJ,CAAP;EAEzB,aAAOoqB,GAAG,CAAClqB,GAAJ,CAAQkE,KAAK,IAAIsiD,UAAU,CAACtiD,KAAD,CAA3B,CAAP;EACD,KAR0B,CAA7B;EAWA,UAAM;EAAE09B,MAAAA,SAAF;EAAaoE,MAAAA,KAAb;EAAoBC,MAAAA;EAApB,QAA6B8L,QAAQ,EAA3C;EACA,UAAM4U,UAAU,GAAG78C,YAAQ,CAAC,MAAM0E,QAAQ,CAACuxB,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAAD,CAAf,CAA3B;EACA,UAAM0lD,SAAS,GAAG9/C,YAAQ,CAAC,MAAM0E,QAAQ,CAACuxB,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAAD,CAAf,CAA1B;EAEA,WAAO,MAAM;EACX,YAAM,CAAC4/B,UAAD,EAAawS,CAAb,IAAkBnU,gBAAgB,CAAClhC,KAAD,CAAxC;EAEA;EAAA,iBAEW,CACL,UADK,EAEL,gBAFK,EAGL;EACE,kCAAwB,CAAC,CAACgL,KAAK,CAAC,YAAD,CAAP,IAAyB27C,SAAS,CAAC1jD,KAD7D;EAEE,+BAAqB09B,SAAS,CAAC19B,KAFjC;EAGE,+BAAqBmiD,YAAY,CAACniD,KAHpC;EAIE,gCAAsBjD,KAAK,CAACkoB;EAJ9B,SAHK,CAFX;EAAA,eAYU+sB;EAZV,SAaSpS,UAbT;EAAA,mBAcclC,SAAS,CAAC19B;EAdxB,YAiBM,GAAG+H,KAjBT;EAkBMD,QAAAA,OAAO,EAAE;EAAA,cAAC;EAAEiI,YAAAA;EAAF,WAAD;EAAA;EAAA,qBAEC,qBAFD;EAAA,2BAGSwzC,iBAHT;EAAA,mCAIiBD;EAJjB;EAAA,kBAOG,GAAEvzC,EAAE,CAAC/P,KAAM,QAPd;EAAA,oBAQIjD,KAAK,CAAC1B,IAAN,IAAc0U,EAAE,CAAC/P,KARrB;EAAA,wBASQjD,KAAK,CAACkoB,QATd;EAAA,wBAUQloB,KAAK,CAAC4+B,QAVd;EAAA,wBAWM,IAXN;EAAA,qBAYKE,KAAK,CAAC77B,KAAN,CAAY,CAAZ;EAZL;EAAA,kBAgBG,GAAE+P,EAAE,CAAC/P,KAAM,OAhBd;EAAA,oBAiBIjD,KAAK,CAAC1B,IAAN,IAAc0U,EAAE,CAAC/P,KAjBrB;EAAA,wBAkBQjD,KAAK,CAACkoB,QAlBd;EAAA,wBAmBQloB,KAAK,CAAC4+B,QAnBd;EAAA,wBAoBM,IApBN;EAAA,qBAqBKE,KAAK,CAAC77B,KAAN,CAAY,CAAZ;EArBL;EAAA,mBAyBGqiD,iBAzBH;EAAA,qBA0BKI,UAAU,CAACziD,KA1BhB;EAAA,oBA2BI0lD,SAAS,CAAC1lD;EA3Bd;EA6BA,0BAAc+H,KAAK,CAAC,YAAD,CA7BnB;EAAA;EAAA;EAAA,mBAiCGs9C,aAjCH;EAAA,uBAkCO3nB,SAAS,IAAI6nB,YAAY,CAACvlD,KAAb,KAAuBqlD,aAAa,CAACrlD,KAlCzD;EAAA,0BAmCU67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAnCV;EAAA,mCAoCmBzC,CAAC,IAAKs+B,KAAK,CAAC77B,KAAN,GAAc,CAACzC,CAAD,EAAIs+B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAAJ,CApCvC;EAAA,uBAqCQ6qB,CAAD,IAAmB;EAAA;;EAC3BiX,cAAAA,KAAK;EACLyjB,cAAAA,YAAY,CAACvlD,KAAb,GAAqBqlD,aAAa,CAACrlD,KAAnC,CAF2B;EAK3B;EACA;EACA;;EACA,kBACE67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,MAAmB67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAAnB,IACA67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,MAAmBC,GAAG,CAACD,KADvB,IAEA6qB,CAAC,CAAC2f,aAAF,8BAAoB8a,YAAY,CAACtlD,KAAjC,qBAAoB,qBAAoB8iC,GAAxC,CAHF,EAIE,wBAAAwiB,YAAY,CAACtlD,KAAb,0CAAoB8iC,GAApB,CAAwBhB,KAAxB;EACH,aAlDE;EAAA,sBAmDM,MAAM;EACbC,cAAAA,IAAI;EACJwjB,cAAAA,YAAY,CAACvlD,KAAb,GAAqB,IAArB;EACD,aAtDE;EAAA,mBAuDGC,GAAG,CAACD,KAvDP;EAAA,mBAwDG67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAxDH;EAAA,wBAyDQyiD,UAAU,CAACziD;EAzDnB;EA2DA,2BAAe+H,KAAK,CAAC,aAAD,CA3DpB;EAAA;EAAA;EAAA,mBA+DGu9C,YA/DH;EAAA,uBAgEO5nB,SAAS,IAAI6nB,YAAY,CAACvlD,KAAb,KAAuBslD,YAAY,CAACtlD,KAhExD;EAAA,0BAiEU67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAjEV;EAAA,mCAkEmBzC,CAAC,IAAKs+B,KAAK,CAAC77B,KAAN,GAAc,CAAC67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAAD,EAAiBzC,CAAjB,CAlEvC;EAAA,uBAmEQstB,CAAD,IAAmB;EAAA;;EAC3BiX,cAAAA,KAAK;EACLyjB,cAAAA,YAAY,CAACvlD,KAAb,GAAqBslD,YAAY,CAACtlD,KAAlC,CAF2B;EAK3B;EACA;EACA;;EACA,kBACE67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,MAAmB67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAAnB,IACA67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,MAAmBE,GAAG,CAACF,KADvB,IAEA6qB,CAAC,CAAC2f,aAAF,+BAAoB6a,aAAa,CAACrlD,KAAlC,qBAAoB,sBAAqB8iC,GAAzC,CAHF,EAIE;EAAA;;EACA,yCAAAuiB,aAAa,CAACrlD,KAAd,2CAAqB8iC,GAArB,CAAyBhB,KAAzB;EACD;EACF,aAlFE;EAAA,sBAmFM,MAAM;EACbC,cAAAA,IAAI;EACJwjB,cAAAA,YAAY,CAACvlD,KAAb,GAAqB,IAArB;EACD,aAtFE;EAAA,mBAuFG67B,KAAK,CAAC77B,KAAN,CAAY,CAAZ,CAvFH;EAAA,mBAwFGE,GAAG,CAACF,KAxFP;EAAA,wBAyFQ0lD,SAAS,CAAC1lD;EAzFlB;EA2FA,2BAAe+H,KAAK,CAAC,aAAD,CA3FpB;EAAA;EAAA;EAAA,SAlBf;EAAA;EAAA;EAoHD,KAvHD;EAwHD;;EA5MyC,CAAD,CAApC;;ECKA,MAAM49C,OAAO,GAAGl/C,eAAe,CAAC;EACrCpL,EAAAA,IAAI,EAAE,SAD+B;EAGrC0B,EAAAA,KAAK,EAAE;EACL1B,IAAAA,IAAI,EAAEuC,MADD;EAELgoD,IAAAA,aAAa,EAAE;EACbvkD,MAAAA,IAAI,EAAEzD,MADO;EAEbkK,MAAAA,OAAO,EAAE;EAFI,KAFV;EAML0tB,IAAAA,WAAW,EAAE53B,MANR;EAOLmG,IAAAA,KAAK,EAAEnG,MAPF;EAQLowC,IAAAA,SAAS,EAAE78B,OARN;EASL8T,IAAAA,QAAQ,EAAE9T,OATL;EAUL00C,IAAAA,SAAS,EAAE;EACTxkD,MAAAA,IAAI,EAAEzD,MADG;EAETkK,MAAAA,OAAO,EAAE;EAFA,KAVN;EAcLg+C,IAAAA,QAAQ,EAAE;EACRzkD,MAAAA,IAAI,EAAEzD,MADE;EAERkK,MAAAA,OAAO,EAAE;EAFD,KAdL;EAkBLi+C,IAAAA,cAAc,EAAE50C,OAlBX;EAmBLqlB,IAAAA,KAAK,EAAErlB,OAnBF;EAoBLvV,IAAAA,MAAM,EAAE;EACNyF,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADA;EAENkK,MAAAA,OAAO,EAAE;EAFH,KApBH;EAwBL6zB,IAAAA,QAAQ,EAAExqB,OAxBL;EAyBLmS,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAEvD,MADI;EAEVgK,MAAAA,OAAO,EAAE;EAFC,KAzBP;EA6BLk+C,IAAAA,UAAU,EAAE/pD,KA7BP;EA8BLgqD,IAAAA,iBAAiB,EAAE;EACjB5kD,MAAAA,IAAI,EAAEzD,MADW;EAEjBkK,MAAAA,OAAO,EAAE,KAFQ;EAGjBqV,MAAAA,SAAS,EAAG5f,CAAD,IAAY,CAAC,KAAD,EAAQ,QAAR,EAAkBtD,QAAlB,CAA2BsD,CAA3B;EAHN,KA9Bd;EAmCL6xB,IAAAA,MAAM,EAAEje,OAnCH;EAqCL,OAAG+P,gBAAgB,EArCd;EAsCL,OAAGiG,aAAa,EAtCX;EAuCL,OAAGrF,YAAY,EAvCV;EAwCL,OAAGjV,cAAc;EAxCZ,GAH8B;EA8CrCwR,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAAmB;EADnC,GA9C8B;;EAkDrC2G,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAEvE,MAAAA;EAAF,QAAQqsC,SAAS,EAAvB;EACA,UAAM;EAAEl/B,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM6a,MAAM,GAAGgL,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAA9B;EAEA,UAAM+hD,KAAK,GAAGl5C,YAAQ,CAAC,MAAMxI,WAAW,CAACU,MAAM,CAACf,KAAK,CAACnB,MAAP,CAAP,EAAuB,CAAvB,CAAlB,CAAtB;EACA,UAAMsqD,UAAU,GAAGtgD,YAAQ,CAAC,MAAMk5C,KAAK,CAAC9+C,KAAN,CAAYwP,OAAZ,CAAoBjS,CAAC,IAAIR,KAAK,CAACgpD,cAAN,GAAuB,CAACxoD,CAAC,GAAG,GAAL,EAAUA,CAAV,CAAvB,GAAsC,CAACA,CAAD,CAA/D,CAAP,CAA3B;EACA,UAAM4oD,UAAU,GAAGtkD,OAAG,CAAC,CAAC,CAAF,CAAtB;EACA,UAAMukD,UAAU,GAAGvkD,OAAG,CAAC,CAAC,CAAF,CAAtB;EACA,UAAMwkD,QAAQ,GAAGxkD,OAAG,EAApB;EACA,QAAIykD,UAAU,GAAG,KAAjB;EAEA,UAAMC,SAAS,GAAG3gD,YAAQ,CAAC,MAAMsgD,UAAU,CAAClmD,KAAX,CAAiBlE,GAAjB,CAAqBkE,KAAK,IAAI;EAAA;;EAC7D,YAAM48C,UAAU,GAAG7/C,KAAK,CAACy5B,KAAN,IAAe2vB,UAAU,CAACnmD,KAAX,GAAmB,CAAC,CAAtD;EACA,YAAMwmD,QAAQ,GAAG5uC,MAAM,CAAC5X,KAAP,IAAgBA,KAAjC;EACA,YAAMwhC,SAAS,GAAG2kB,UAAU,CAACnmD,KAAX,IAAoBA,KAAtC;EACA,YAAMymD,UAAU,GAAG7J,UAAU,GAAGpb,SAAH,GAAeglB,QAA5C;EACA,YAAM/+B,IAAI,GAAGg/B,UAAU,GAAG1pD,KAAK,CAAC+oD,QAAT,GAAoB/oD,KAAK,CAAC8oD,SAAjD;EACA,YAAMrwB,WAAW,yBAAGz4B,KAAK,CAACy4B,WAAT,iCAAwBz4B,KAAK,CAACgH,KAA/C;EACA,YAAMA,KAAK,GAAIyiD,QAAQ,IAAIhlB,SAAb,GAA0BhM,WAA1B,GAAwCz4B,KAAK,CAACgH,KAA5D;EAEA,aAAO;EAAEyiD,QAAAA,QAAF;EAAYhlB,QAAAA,SAAZ;EAAuB/Z,QAAAA,IAAvB;EAA6B1jB,QAAAA;EAA7B,OAAP;EACD,KAVgC,CAAP,CAA1B;EAYA,UAAM2iD,UAAU,GAAG9gD,YAAQ,CAAC,MAAM,CAAC,CAAD,EAAI,GAAGsgD,UAAU,CAAClmD,KAAlB,EAAyBlE,GAAzB,CAA6BkE,KAAK,IAAI;EACtE,eAAS60C,YAAT,GAAyB;EACvBsR,QAAAA,UAAU,CAACnmD,KAAX,GAAmBA,KAAnB;EACD;;EAED,eAAS80C,YAAT,GAAyB;EACvBqR,QAAAA,UAAU,CAACnmD,KAAX,GAAmB,CAAC,CAApB;EACD;;EAED,eAASk/B,OAAT,GAAoB;EAClB,YAAIl/B,KAAK,KAAK,CAAV,IAAe4X,MAAM,CAAC5X,KAAP,KAAiB,CAApC,EAAuC;EAAA;;EACrC,6BAAAqmD,QAAQ,CAACrmD,KAAT,qCAAgB8hC,KAAhB;EACD,SAFD,MAEO;EACLskB,UAAAA,UAAU,CAACpmD,KAAX,GAAmBA,KAAnB;EACD;EACF;;EAED,eAASo/B,MAAT,GAAmB;EACjB,YAAI,CAACknB,UAAL,EAAiBF,UAAU,CAACpmD,KAAX,GAAmB,CAAC,CAApB;EAClB;;EAED,eAAS+pB,OAAT,GAAoB;EAClB,YAAIhtB,KAAK,CAACkoB,QAAN,IAAkBloB,KAAK,CAAC4+B,QAA5B,EAAsC;EACtC/jB,QAAAA,MAAM,CAAC5X,KAAP,GAAe4X,MAAM,CAAC5X,KAAP,KAAiBA,KAAjB,IAA0BjD,KAAK,CAACixC,SAAhC,GAA4C,CAA5C,GAAgDhuC,KAA/D;EACD;;EAED,aAAO;EACL60C,QAAAA,YAAY,EAAE93C,KAAK,CAACy5B,KAAN,GAAcqe,YAAd,GAA6Br4C,SADtC;EAELs4C,QAAAA,YAAY,EAAE/3C,KAAK,CAACy5B,KAAN,GAAcse,YAAd,GAA6Bt4C,SAFtC;EAGL0iC,QAAAA,OAHK;EAILE,QAAAA,MAJK;EAKLrV,QAAAA;EALK,OAAP;EAOD,KAjCiC,CAAP,CAA3B;;EAmCA,aAASqf,WAAT,GAAwB;EACtBkd,MAAAA,UAAU,GAAG,IAAb;EACD;;EAED,aAASK,SAAT,GAAsB;EACpBL,MAAAA,UAAU,GAAG,KAAb;EACD;;EAED,UAAMjrD,IAAI,GAAGuK,YAAQ,CAAC;EAAA;;EAAA,4BAAM7I,KAAK,CAAC1B,IAAZ,0BAAqB,YAAW2F,MAAM,EAAG,EAAzC;EAAA,KAAD,CAArB;;EAEA,aAAS4lD,WAAT,QAA+G;EAAA;;EAAA,UAAzF;EAAE5mD,QAAAA,KAAF;EAASkU,QAAAA,KAAT;EAAgB2yC,QAAAA,QAAQ,GAAG;EAA3B,OAAyF;EAC7G,YAAM;EAAEhS,QAAAA,YAAF;EAAgBC,QAAAA,YAAhB;EAA8B5V,QAAAA,OAA9B;EAAuCE,QAAAA,MAAvC;EAA+CrV,QAAAA;EAA/C,UAA2D28B,UAAU,CAAC1mD,KAAX,CAAiBkU,KAAK,GAAG,CAAzB,CAAjE;EACA,YAAMnE,EAAE,GAAI,GAAE1U,IAAI,CAAC2E,KAAM,IAAGpC,MAAM,CAACoC,KAAD,CAAN,CAAcnF,OAAd,CAAsB,GAAtB,EAA2B,GAA3B,CAAgC,EAA5D;EACA,YAAMisD,QAAQ,GAAG;EACf/iD,QAAAA,KAAK,2BAAEwiD,SAAS,CAACvmD,KAAV,CAAgBkU,KAAhB,CAAF,qBAAE,sBAAwBnQ,KADhB;EAEfod,QAAAA,OAAO,EAAEpkB,KAAK,CAACokB,OAFA;EAGf8D,QAAAA,QAAQ,EAAEloB,KAAK,CAACkoB,QAHD;EAIfwC,QAAAA,IAAI,4BAAE8+B,SAAS,CAACvmD,KAAV,CAAgBkU,KAAhB,CAAF,qBAAE,uBAAwBuT,IAJf;EAKf2H,QAAAA,MAAM,EAAEryB,KAAK,CAACqyB,MALC;EAMf/sB,QAAAA,IAAI,EAAEtF,KAAK,CAACsF,IANG;EAOfsF,QAAAA,GAAG,EAAE,MAPU;EAQf4c,QAAAA,OAAO,EAAE;EARM,OAAjB;EAWA;EAAA,eAGYxU,EAHZ;EAAA,iBAIa;EACL,kCAAwBhT,KAAK,CAACgpD,cAAN,IAAwB/lD,KAAK,GAAG,CAAR,GAAY,CADvD;EAEL,kCAAwBjD,KAAK,CAACgpD,cAAN,IAAwB/lD,KAAK,GAAG,CAAR,KAAc;EAFzD,SAJb;EAAA,uBAQoBopC,WARpB;EAAA,qBASkBud,SATlB;EAAA,wBAUqB9R,YAVrB;EAAA,wBAWqBC;EAXrB;EAAA,iBAakB;EAblB,UAauCtxC,CAAC,CAACzG,KAAK,CAAC6oD,aAAP,EAAsB5lD,KAAtB,EAA6BjD,KAAK,CAACnB,MAAnC,CAbxC,IAeQ,CAACirD,QAAD,GAAYrqD,SAAZ,GACEuL,KAAK,CAACmL,IAAN,GAAanL,KAAK,CAACmL,IAAN,CAAW,EACxB,GAAGqzC,SAAS,CAACvmD,KADW;EAExBjD,QAAAA,KAAK,EAAE+pD,QAFiB;EAGxB9mD,QAAAA,KAHwB;EAIxBkU,QAAAA;EAJwB,OAAX,CAAb,yBAOW4yC,QAPX,WAhBV;EAAA,iBA4BY,kBA5BZ;EAAA,gBA6BazrD,IAAI,CAAC2E,KA7BlB;EAAA,cA8BW+P,EA9BX;EAAA,gBA+BW,OA/BX;EAAA,iBAgCc/P,KAhCd;EAAA,mBAiCgB4X,MAAM,CAAC5X,KAAP,KAAiBA,KAjCjC;EAAA,mBAkCgB+pB,OAlChB;EAAA,mBAmCgBmV,OAnChB;EAAA,kBAoCeE,MApCf;EAAA,eAqCYlrB,KAAK,KAAK,CAAV,GAAcmyC,QAAd,GAAyB7pD,SArCrC;EAAA,oBAsCiBO,KAAK,CAAC4+B,QAtCvB;EAAA,oBAuCiB5+B,KAAK,CAACkoB;EAvCvB;EA2CD;;EAED,WAAO,MAAM;EAAA;;EACX,YAAMy+B,SAAS,GAAG,CAAC,uBAAC3mD,KAAK,CAACipD,UAAP,aAAC,kBAAkBpqD,MAAnB,CAAnB;EAEA;EAAA,iBAEW,CACL,UADK,EAEL;EACE,6BAAmBmB,KAAK,CAACy5B,KAD3B;EAEE,gCAAsBz5B,KAAK,CAAC4+B;EAF9B,SAFK,EAMLhrB,YAAY,CAAC3Q,KANR;EAFX;EAAA;EAAA,mBAWyB,CAXzB;EAAA,mBAWqC,CAAC,CAXtC;EAAA,sBAWqD;EAXrD,gCAaM8+C,KAAK,CAAC9+C,KAAN,CAAYlE,GAAZ,CAAgB,CAACkE,KAAD,EAAQjE,CAAR;EAAA;;EAAA;EAAA,qBACL;EADK,cAGZ,CAAC2nD,SAAD,GAAalnD,SAAb,GACEuL,KAAK,CAAC,YAAD,CAAL,GAAsBA,KAAK,CAAC,YAAD,CAAL,CAAoB;EAAE/H,YAAAA,KAAF;EAASkU,YAAAA,KAAK,EAAEnY,CAAhB;EAAmBg1B,YAAAA,KAAK,wBAAEh0B,KAAK,CAACipD,UAAR,qBAAE,mBAAmBjqD,CAAnB;EAA1B,WAApB,CAAtB,GACA,sBAAAgB,KAAK,CAACipD,UAAN,gCAAmBjqD,CAAnB,mCAAgCgB,KAAK,CAACipD,UAAN,CAAiBjqD,CAAjB,CAAhC,iEALU;EAAA,qBASL,CACL,gBADK,EAEL;EACE,yCAA2BoE,IAAI,CAAC6+C,IAAL,CAAUoH,UAAU,CAACpmD,KAArB,MAAgCA;EAD7D,aAFK;EATK,cAgBVjD,KAAK,CAACgpD,cAAN;EAAA,qBAEuB/lD,KAAK,GAAG,GAF/B;EAAA,qBAE6CjE,CAAC,GAAG;EAFjD;EAAA,qBAGuBiE,KAHvB;EAAA,qBAGwCjE,CAAC,GAAG,CAAL,GAAU;EAHjD;EAAA,qBAMqBiE,KANrB;EAAA,qBAMqCjE;EANrC,yCAhBU;EAAA,SAAhB,CAbN;EAAA;EAAA;EA0CD,KA7CD;EA8CD;;EAhOoC,CAAD,CAA/B;;ECLA,MAAMgrD,MAAM,GAAGtgD,eAAe,CAAC;EACpCpL,EAAAA,IAAI,EAAE,QAD8B;EAGpC0B,EAAAA,KAAK,EAAE;EACLgH,IAAAA,KAAK,EAAE;EACL1C,MAAAA,IAAI,EAAEzD,MADD;EAELkK,MAAAA,OAAO,EAAE;EAFJ,KADF;EAML,OAAG8Y,eAAe,EANb;EAOL,OAAG3F,kBAAkB,EAPhB;EAQL,OAAGqG,kBAAkB,EARhB;EASL,OAAG2H,iBAAiB,EATf;EAUL,OAAGvH,gBAAgB,EAVd;EAWL,OAAGI,YAAY,EAXV;EAYL,OAAGjV,cAAc;EAZZ,GAH6B;;EAkBpClG,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAE2lB,MAAAA,sBAAF;EAA0BC,MAAAA;EAA1B,QAAoDF,kBAAkB,CAACgB,SAAK,CAAC1mB,KAAD,EAAQ,OAAR,CAAN,CAA5E;EACA,UAAM;EAAEgkB,MAAAA;EAAF,QAAoBD,SAAS,CAAC/jB,KAAD,CAAnC;EACA,UAAM;EAAEwe,MAAAA;EAAF,QAAsBD,YAAY,CAACve,KAAD,CAAxC;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAEssB,MAAAA,eAAF;EAAmBC,MAAAA;EAAnB,QAAsCH,WAAW,CAACpsB,KAAD,CAAvD;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EAEA,WAAO;EAAA,eAEI,CACL,SADK,EAEL4T,YAAY,CAAC3Q,KAFR,EAGL0iB,sBAAsB,CAAC1iB,KAHlB,EAIL+gB,aAAa,CAAC/gB,KAJT,EAKLyhB,gBAAgB,CAACzhB,KALZ,EAMLqpB,eAAe,CAACrpB,KANX,EAOL6hB,cAAc,CAAC7hB,KAPV,CAFJ;EAAA,eAWI,CACL2iB,qBAAqB,CAAC3iB,KADjB,EAELub,eAAe,CAACvb,KAFX,EAGLspB,cAAc,CAACtpB,KAHV;EAXJ,OAgBO+H,KAhBP,wBAAP;EAmBD;;EA9CmC,CAAD,CAA9B;;ECGA,MAAMi/C,OAAO,GAAGvgD,eAAe,CAAC;EACrCpL,EAAAA,IAAI,EAAE,SAD+B;EAGrC0B,EAAAA,KAAK,EAAE,EACL,GAAG+jD,eAAe,EADb;EAEL,OAAG3jB,eAAe,EAFb;EAIL7Z,IAAAA,UAAU,EAAE;EACVjiB,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADI;EAEVkK,MAAAA,OAAO,EAAE;EAFC;EAJP,GAH8B;EAarCuW,EAAAA,KAAK,EAAE;EACL,yBAAsB9gB,CAAD,IAAe;EAD/B,GAb8B;;EAiBrCoJ,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAMk/C,iBAAiB,GAAGplD,OAAG,EAA7B;EAEA,UAAM;EACJ5B,MAAAA,GADI;EAEJC,MAAAA,GAFI;EAGJiiD,MAAAA,YAHI;EAIJG,MAAAA,UAJI;EAKJiB,MAAAA,iBALI;EAMJD,MAAAA,kBANI;EAOJjB,MAAAA,iBAPI;EAQJ/3C,MAAAA,QARI;EASJo5C,MAAAA;EATI,QAUFjC,SAAS,CAAC;EACZ1kD,MAAAA,KADY;EAEZ;EACA2kD,MAAAA,mBAAmB,EAAEz+B,QAAQ,IAAI4Y,KAAK,CAAC77B,KAAN,GAAcsiD,UAAU,CAACr/B,QAAD,CAH7C;EAIZ;EACA0+B,MAAAA,eAAe,EAAE1+B,QAAQ,IAAI4Y,KAAK,CAAC77B,KAAN,GAAcsiD,UAAU,CAACr/B,QAAD,CALzC;EAMZ2+B,MAAAA,cAAc,EAAE;EAAA;;EAAA,wCAAMqF,iBAAiB,CAACjnD,KAAxB,qBAAM,sBAAyB8iC,GAA/B;EAAA;EANJ,KAAD,CAVb;EAmBA,UAAMjH,KAAK,GAAGjZ,eAAe,CAC3B7lB,KAD2B,EAE3B,YAF2B,EAG3BP,SAH2B,EAI3Be,CAAC,IAAI;EACH,YAAMyC,KAAK,GAAG,OAAOzC,CAAP,KAAa,QAAb,GAAwBpE,UAAU,CAACoE,CAAD,CAAlC,GAAwCA,CAAC,IAAI,IAAL,GAAY0C,GAAG,CAACD,KAAhB,GAAwBzC,CAA9E;EAEA,aAAO+kD,UAAU,CAACtiD,KAAD,CAAjB;EACD,KAR0B,CAA7B;EAWA,UAAM;EAAE09B,MAAAA,SAAF;EAAaoE,MAAAA,KAAb;EAAoBC,MAAAA;EAApB,QAA6B8L,QAAQ,EAA3C;EACA,UAAM6X,SAAS,GAAG9/C,YAAQ,CAAC,MAAM0E,QAAQ,CAACuxB,KAAK,CAAC77B,KAAP,CAAf,CAA1B;EAEA,WAAO,MAAM;EACX,YAAM,CAAC4/B,UAAD,EAAawS,CAAb,IAAkBnU,gBAAgB,CAAClhC,KAAD,CAAxC;EAEA;EAAA,iBAEW,CACL,UADK,EAEL;EACE,kCAAwB,CAAC,CAACgL,KAAK,CAAC,YAAD,CAAP,IAAyB27C,SAAS,CAAC1jD,KAD7D;EAEE,+BAAqB09B,SAAS,CAAC19B,KAFjC;EAGE,+BAAqBmiD,YAAY,CAACniD,KAHpC;EAIE,gCAAsBjD,KAAK,CAACkoB;EAJ9B,SAFK;EAFX,SAWS2a,UAXT;EAAA,mBAYclC,SAAS,CAAC19B;EAZxB,YAeM,GAAG+H,KAfT;EAgBMD,QAAAA,OAAO,EAAE;EAAA,cAAC;EAAEiI,YAAAA;EAAF,WAAD;EAAA;EAAA,qBAEC,qBAFD;EAAA,2BAGSwzC,iBAHT;EAAA,mCAIiBD;EAJjB;EAAA,kBAOEvzC,EAAE,CAAC/P,KAPL;EAAA,oBAQIjD,KAAK,CAAC1B,IAAN,IAAc0U,EAAE,CAAC/P,KARrB;EAAA,wBASQjD,KAAK,CAACkoB,QATd;EAAA,wBAUQloB,KAAK,CAAC4+B,QAVd;EAAA,wBAWM,IAXN;EAAA,qBAYKE,KAAK,CAAC77B;EAZX;EAAA,mBAgBGqiD,iBAhBH;EAAA,qBAiBK,CAjBL;EAAA,oBAkBIqD,SAAS,CAAC1lD;EAlBd;EAoBA,0BAAc+H,KAAK,CAAC,YAAD,CApBnB;EAAA;EAAA;EAAA,mBAwBGk/C,iBAxBH;EAAA,uBAyBOvpB,SAAS,CAAC19B,KAzBjB;EAAA,mBA0BGC,GAAG,CAACD,KA1BP;EAAA,mBA2BGE,GAAG,CAACF,KA3BP;EAAA,0BA4BU67B,KAAK,CAAC77B,KA5BhB;EAAA,mCA6BmBzC,CAAC,IAAKs+B,KAAK,CAAC77B,KAAN,GAAczC,CA7BvC;EAAA,wBA8BQmoD,SAAS,CAAC1lD,KA9BlB;EAAA,yBA+BSjD,KAAK,CAACwkB,SA/Bf;EAAA,uBAgCOugB,KAhCP;EAAA,sBAiCMC;EAjCN;EAmCA,2BAAeh6B,KAAK,CAAC,aAAD,CAnCpB;EAAA;EAAA;EAAA,SAhBf;EAAA;EAAA;EA0DD,KA7DD;EA8DD;;EAnHoC,CAAD,CAA/B;;ECJA,MAAMm/C,OAAO,GAAGzgD,mBAAe,CAAC;EACrCpL,EAAAA,IAAI,EAAE,SAD+B;EAGrCusB,EAAAA,YAAY,EAAE,KAHuB;EAKrC7qB,EAAAA,KAAK,EAAE;EACLwiC,IAAAA,aAAa,EAAEpuB,OADV;EAEL65B,IAAAA,KAAK,EAAE75B,OAFF;EAGL3P,IAAAA,IAAI,EAAE2P,OAHD;EAKL,OAAGq8B,eAAe,EALb;EAML,OAAGrQ,eAAe,EANb;EAOL,OAAGoB,yBAAyB;EAPvB,GAL8B;EAerClgB,EAAAA,KAAK,EAAE;EACL,4BAAyB/b,GAAD,IAAkB;EADrC,GAf8B;;EAmBrCqE,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAMw3B,aAAa,GAAG3c,eAAe,CAAC7lB,KAAD,EAAQ,eAAR,CAArC;EACA,UAAM;EAAE4wC,MAAAA;EAAF,QAAoBD,SAAS,CAAC3wC,KAAD,CAAnC;EAEA,UAAMoqD,WAAW,GAAGvhD,YAAQ,CAAC,MAAM;EACjC,aAAO,OAAO7I,KAAK,CAAC0wC,OAAb,KAAyB,QAAzB,IAAqC1wC,KAAK,CAAC0wC,OAAN,KAAkB,EAAvD,GACH1wC,KAAK,CAAC0wC,OADH,GAEH1wC,KAAK,CAACgH,KAFV;EAGD,KAJ2B,CAA5B;;EAMA,aAAS07B,QAAT,GAAqB;EACnB,UAAIF,aAAa,CAACv/B,KAAlB,EAAyB;EACvBu/B,QAAAA,aAAa,CAACv/B,KAAd,GAAsB,KAAtB;EACD;EACF;;EAED4K,IAAAA,SAAS,CAAC,MAAM;EACd,YAAM,CAAC80B,UAAD,EAAaC,YAAb,IAA6B//B,gBAAgB,CAACC,KAAD,CAAnD;EACA,YAAM,CAAC+/B,UAAD,EAAaC,EAAb,IAAmB5B,gBAAgB,CAAClhC,KAAD,CAAzC;EACA,YAAM,CAAC+iC,YAAD,EAAeC,EAAf,IAAqBV,kBAAkB,CAACtiC,KAAD,CAA7C;EACA,YAAMqqD,OAAO,GAAGvlD,OAAG,EAAnB;;EAEA,eAASkoB,OAAT,GAAoB;EAAA;;EAClB,0BAAAq9B,OAAO,CAACpnD,KAAR,4DAAei/B,KAAf,0CAAsByC,KAAtB;EACD;;EAED;EAAA,iBAEW,CACL,UADK,EAEL;EAAE,6BAAmB3kC,KAAK,CAACiuC;EAA3B,SAFK,EAGL;EAAE,qCAA2BzL,aAAa,CAACv/B;EAA3C,SAHK,EAIL2tC,aAAa,CAAC3tC,KAJT;EAFX,SAQS0/B,UART,EASSE,UATT,KAYM,GAAG73B,KAZT;EAaMD,QAAAA,OAAO,EAAE;EAAA,cAAC;EACRgG,YAAAA,UADQ;EAERguB,YAAAA,UAFQ;EAGRgB,YAAAA;EAHQ,WAAD;EAAA;EAAA,mBAMCsqB;EAND,aAOAtnB,YAPA;EAAA,oBAQA,UARA;EAAA,mCASiBL,QATjB;EAAA,4BAUUF,aAAa,CAACv/B,KAAd,GAAsB,OAAtB,GAAgCxD,SAV1C;EAAA,wBAWMsR,UAAU,CAAC9N,KAXjB;EAAA,wBAYM87B,UAAU,CAAC97B;EAZjB,aAaA2/B,YAbA;EAgBH73B,YAAAA,OAAO,EAAE;EAAA,uBAAkB,iBAAlB;EAAA,yBAA8CiiB;EAA9C,oCAhBN;EAiBHkV,YAAAA,KAAK,EAAE;EAAA,kBAAC;EAAE1c,gBAAAA;EAAF,eAAD;EAAA;EAAA,yBAEI,CACL,iBADK,EAELA,gBAAgB,CAACviB,KAFZ;EAFJ,kBAODjD,KAAK,CAAC0wC,OAAN;EAAA,wBAEO,UAFP;EAAA;EAAA,yBAIU3Q,OAAO,CAAC98B,KAAR,KAAkB,KAAlB,GAA0BxD,SAA1B,GAAsC2qD,WAAW,CAACnnD;EAJ5D;EAAA,yBAMI29B,SAAS,IACT51B,KAAK,CAACunC,MAAN,GACIvnC,KAAK,CAACunC,MAAN,CAAa3R,SAAb,CADJ;EAAA,4BAIiBA,SAAS,CAAC9Z,QAJ3B;EAAA,2BAKgB8Z,SAAS,CAAC55B,KAL1B;EAAA;EAAA,0BAOa,IAPb;EAAA,2BAQc;EARd;EAPJ,wCAPC;EAAA,aAjBJ;EAAA;EAAA;EAAA,SAbf;EAAA;EAAA;EAkED,KA5EQ,CAAT;EA8EA,WAAO,EAAP;EACD;;EAlHoC,CAAD,CAA/B;;ECDA,MAAMsjD,UAAU,GAAG5gD,eAAe,CAAC;EACxCpL,EAAAA,IAAI,EAAE,YADkC;EAGxC0B,EAAAA,KAAK,EAAE;EACLuqD,IAAAA,SAAS,EAAEn2C,OADN;EAEL/H,IAAAA,MAAM,EAAE+H,OAFH;EAIL,OAAGyP,eAAe,EAJb;EAKL,OAAG3F,kBAAkB,EALhB;EAML,OAAGqG,kBAAkB,EANhB;EAOL,OAAG2H,iBAAiB,EAPf;EAQL,OAAGvH,gBAAgB,EARd;EASL,OAAGI,YAAY,EATV;EAUL,OAAGjV,cAAc;EAVZ,GAHiC;;EAgBxClG,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEgkB,MAAAA;EAAF,QAAoBD,SAAS,CAAC/jB,KAAD,CAAnC;EACA,UAAM;EAAEwe,MAAAA;EAAF,QAAsBD,YAAY,CAACve,KAAD,CAAxC;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EACA,UAAM;EAAEssB,MAAAA,eAAF;EAAmBC,MAAAA;EAAnB,QAAsCH,WAAW,CAACpsB,KAAD,CAAvD;EACA,UAAM;EAAE8kB,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,CAArC;EAEA,WAAO;EAAA,eAEI,CACL;EACE,wBAAgB,IADlB;EAEE,oCAA4BA,KAAK,CAACuqD,SAFpC;EAGE,gCAAwBvqD,KAAK,CAACqM;EAHhC,OADK,EAMLuH,YAAY,CAAC3Q,KANR,EAOL+gB,aAAa,CAAC/gB,KAPT,EAQLyhB,gBAAgB,CAACzhB,KARZ,EASLqpB,eAAe,CAACrpB,KATX,EAUL6hB,cAAc,CAAC7hB,KAVV,CAFJ;EAAA,eAcI,CACLub,eAAe,CAACvb,KADX,EAELspB,cAAc,CAACtpB,KAFV;EAdJ,OAkBO+H,KAlBP,wBAAP;EAqBD;;EA7CuC,CAAD,CAAlC;;ECJA,MAAMw/C,MAAM,GAAG9gD,eAAe,CAAC;EACpCpL,EAAAA,IAAI,EAAE,QAD8B;EAGpC0B,EAAAA,KAAK,EAAE;EACLyqD,IAAAA,WAAW,EAAEr2C,OADR;EAELs2C,IAAAA,WAAW,EAAEt2C,OAFR;EAGLvZ,IAAAA,MAAM,EAAE,CAACkG,MAAD,EAASF,MAAT,CAHH;EAKL,OAAGsjB,gBAAgB,EALd;EAML,OAAGrU,cAAc,EANZ;EAOL,OAAGiV,YAAY;EAPV,GAH6B;;EAapCnb,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEskB,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EAEA,WAAO;EAAA;;EAAA;EAAA,iBAEI,CACL,SADK,EAEL;EACE,mCAAyB,CAAC,CAACA,KAAK,CAACnF,MADnC;EAEE,mCAAyBmF,KAAK,CAACyqD,WAFjC;EAGE,mCAAyBzqD,KAAK,CAAC0qD,WAHjC;EAIE,8BAAoB,CAAC,CAAC1/C,KAAK,CAAClQ,GAJ9B;EAKE,iCAAuB,CAAC,CAACkQ,KAAK,CAACjQ;EALjC,SAFK,EASL6Y,YAAY,CAAC3Q,KATR,EAULqhB,cAAc,CAACrhB,KAVV;EAFJ;EAAA,sCAeD+H,KAAK,CAAClQ,GAfL,qBAeD,gBAAAkQ,KAAK,CAfJ,EAiBDA,KAAK,CAACD,OAAN;EAAA,mBAEQ,kBAFR;EAAA,mBAGS;EAAElQ,YAAAA,MAAM,EAAE6F,aAAa,CAACV,KAAK,CAACnF,MAAP;EAAvB;EAHT,8DAMMmQ,KAAK,CAACD,OANZ,qBAMM,oBAAAC,KAAK,CANX,OAjBC,mBA4BDA,KAAK,CAACjQ,MA5BL,qBA4BD,mBAAAiQ,KAAK,CA5BJ;EAAA;EAAA;EAAA,KAAP;EA+BD;;EAhDmC,CAAD,CAA9B;;ECWA,MAAM2/C,SAAS,GAAGjhD,eAAe,CAAC;EACvCpL,EAAAA,IAAI,EAAE,WADiC;EAGvCoiB,EAAAA,UAAU,EAAE;EAAER,IAAAA;EAAF,GAH2B;EAKvC2K,EAAAA,YAAY,EAAE,KALyB;EAOvC7qB,EAAAA,KAAK,EAAE;EACL4qD,IAAAA,QAAQ,EAAEx2C,OADL;EAELy2C,IAAAA,SAAS,EAAEz2C,OAFN;EAGL+F,IAAAA,OAAO,EAAE,CAAC/F,OAAD,EAAUrT,MAAV,EAAkBF,MAAlB,CAHJ;EAILk0C,IAAAA,YAAY,EAAEnT,QAJT;EAKLp+B,IAAAA,MAAM,EAAE3C,MALH;EAMLyiB,IAAAA,WAAW,EAAEziB,MANR;EAOLiqD,IAAAA,qBAAqB,EAAE12C,OAPlB;EAQL22C,IAAAA,iBAAiB,EAAE32C,OARd;EASL42C,IAAAA,QAAQ,EAAE52C,OATL;EAUL62C,IAAAA,IAAI,EAAE;EACJ3mD,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADF;EAEJkK,MAAAA,OAAO,EAAE,CAFL;EAGJqV,MAAAA,SAAS,EAAG5f,CAAD,IAAY,CAACI,KAAK,CAACxE,UAAU,CAACoE,CAAD,CAAX;EAHzB,KAVD;EAeL0qD,IAAAA,OAAO,EAAE;EACP5mD,MAAAA,IAAI,EAAE,CAACvD,MAAD,EAASF,MAAT,CADC;EAEPuf,MAAAA,SAAS,EAAG5f,CAAD,IAAY,CAACI,KAAK,CAACxE,UAAU,CAACoE,CAAD,CAAX;EAFtB,KAfJ;EAmBL2qD,IAAAA,MAAM,EAAEtqD,MAnBH;EAqBL,OAAGu/B,eAAe,EArBb;EAsBL,OAAG2Q,eAAe;EAtBb,GAPgC;EAgCvCzvB,EAAAA,KAAK,EAAE;EACL,yBAAsB/b,GAAD,IAAiB;EADjC,GAhCgC;;EAoCvCqE,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAM8zB,KAAK,GAAGjZ,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAA7B;EAEA,UAAMorD,aAAa,GAAGtmD,OAAG,CAAC,MAAD,CAAzB;EACA,UAAM4vC,aAAa,GAAG5vC,OAAG,CAAC,KAAD,CAAzB;EACA,UAAM6vC,OAAO,GAAG9rC,YAAQ,CAAC,MAAM;EAC7B,aAAO6rC,aAAa,CAACzxC,KAAd,IAAuB,CAAC,CAAC67B,KAAK,CAAC77B,KAAtC;EACD,KAFuB,CAAxB;EAIA,UAAM8xC,YAAY,GAAGlsC,YAAQ,CAAC,MAAM;EAClC,aAAO,OAAO7I,KAAK,CAAC+0C,YAAb,KAA8B,UAA9B,GACH/0C,KAAK,CAAC+0C,YAAN,CAAmBjW,KAAK,CAAC77B,KAAzB,CADG,GAEH,CAAC67B,KAAK,CAAC77B,KAAN,IAAe,EAAhB,EAAoBuE,QAApB,GAA+B3I,MAFnC;EAGD,KAJ4B,CAA7B;EAKA,UAAMsE,GAAG,GAAG0F,YAAQ,CAAC,MAAM;EACzB,UAAI/F,KAAK,CAACuoD,SAAV,EAAqB,OAAOvoD,KAAK,CAACuoD,SAAb;EAErB,UACE,CAACrrD,KAAK,CAACma,OAAP,IACC,OAAOna,KAAK,CAACma,OAAb,KAAyB,QAAzB,IACD,OAAOna,KAAK,CAACma,OAAb,KAAyB,QAH3B,EAIE,OAAO1a,SAAP;EAEF,aAAOO,KAAK,CAACma,OAAb;EACD,KAVmB,CAApB;;EAYA,aAASo+B,WAAT,CACE74B,cADF,EAEE1O,OAFF,EAGE;EAAA;;EACA,UAAI,CAAChR,KAAK,CAAC6qD,SAAP,IAAoB,CAACnrC,cAAzB,EAAyC;EAEzC,2BAAC1O,OAAO,CAAC,CAAD,CAAP,CAAWnN,MAAZ,gEAAyCkhC,KAAzC;EACD;;EAED,UAAMpE,SAAS,GAAG77B,OAAG,CAAC,KAAD,CAArB;EACA,UAAMmwC,QAAQ,GAAGnwC,OAAG,EAApB;;EACA,aAASigC,KAAT,GAAkB;EAAA;;EAChB,yBAAAkQ,QAAQ,CAAChyC,KAAT,qCAAgB8hC,KAAhB;EACD;;EACD,aAASC,IAAT,GAAiB;EAAA;;EACf,0BAAAiQ,QAAQ,CAAChyC,KAAT,sCAAgB+hC,IAAhB;EACD;;EACD,aAAS7C,OAAT,CAAkBrU,CAAlB,EAAiC;EAC/B6S,MAAAA,SAAS,CAAC19B,KAAV,GAAkB,IAAlB;EACD;;EACD,aAASo/B,MAAT,CAAiBvU,CAAjB,EAAgC;EAC9B6S,MAAAA,SAAS,CAAC19B,KAAV,GAAkB,KAAlB;EACD;;EACD,aAASovC,KAAT,CAAgBvkB,CAAhB,EAA2B;EACzBA,MAAAA,CAAC,QAAD,YAAAA,CAAC,CAAE8W,eAAH;EAEA9F,MAAAA,KAAK,CAAC77B,KAAN,GAAc,EAAd;EACD;;EAED,UAAMqoD,QAAQ,GAAGxmD,OAAG,EAApB;;EACA,aAASymD,oBAAT,GAAiC;EAC/B,UAAI,CAACvrD,KAAK,CAAC4qD,QAAX,EAAqB;EAErB5oC,MAAAA,YAAQ,CAAC,MAAM;EACb,YAAI,CAACspC,QAAQ,CAACroD,KAAd,EAAqB;EAErB,cAAM3H,KAAK,GAAGC,gBAAgB,CAAC+vD,QAAQ,CAACroD,KAAV,CAA9B;EAEA,cAAMuoD,OAAO,GAAGpvD,UAAU,CAACd,KAAK,CAAC0hC,gBAAN,CAAuB,uBAAvB,CAAD,CAAV,GAChB5gC,UAAU,CAACd,KAAK,CAAC0hC,gBAAN,CAAuB,0BAAvB,CAAD,CADV;EAGA,cAAMniC,MAAM,GAAGywD,QAAQ,CAACroD,KAAT,CAAesJ,YAA9B;EACA,cAAMk/C,UAAU,GAAGrvD,UAAU,CAACd,KAAK,CAACmwD,UAAP,CAA7B;EACA,cAAMptC,SAAS,GAAGjiB,UAAU,CAAC4D,KAAK,CAACirD,IAAP,CAAV,GAAyBQ,UAAzB,GAAsCD,OAAxD;EACA,cAAMrtC,SAAS,GAAG/hB,UAAU,CAAC4D,KAAK,CAACkrD,OAAP,CAAV,GAA6BO,UAA7B,GAA0CD,OAA1C,IAAqDniD,QAAvE;EAEA+hD,QAAAA,aAAa,CAACnoD,KAAd,GAAsBvC,aAAa,CAAC0C,IAAI,CAACF,GAAL,CAASib,SAAT,EAAoB/a,IAAI,CAACD,GAAL,CAASkb,SAAT,EAAoBxjB,MAApB,WAAoBA,MAApB,GAA8B,CAA9B,CAApB,CAAD,CAAnC;EACD,OAdO,CAAR;EAeD;;EAED4uB,IAAAA,aAAS,CAAC8hC,oBAAD,CAAT;EACAr4C,IAAAA,SAAK,CAAC4rB,KAAD,EAAQysB,oBAAR,CAAL;EACAr4C,IAAAA,SAAK,CAAC,MAAMlT,KAAK,CAACirD,IAAb,EAAmBM,oBAAnB,CAAL;EACAr4C,IAAAA,SAAK,CAAC,MAAMlT,KAAK,CAACkrD,OAAb,EAAsBK,oBAAtB,CAAL;EAEA,QAAInsC,QAAJ;EACAlM,IAAAA,SAAK,CAACo4C,QAAD,EAAW/lD,GAAG,IAAI;EACrB,UAAIA,GAAJ,EAAS;EACP6Z,QAAAA,QAAQ,GAAG,IAAI0oB,cAAJ,CAAmByjB,oBAAnB,CAAX;EACAnsC,QAAAA,QAAQ,CAACY,OAAT,CAAiBsrC,QAAQ,CAACroD,KAA1B;EACD,OAHD,MAGO;EAAA;;EACL,qBAAAmc,QAAQ,SAAR,sBAAU4oB,UAAV;EACD;EACF,KAPI,CAAL;EAQAhzB,IAAAA,mBAAe,CAAC,MAAM;EAAA;;EACpB,oBAAAoK,QAAQ,SAAR,uBAAU4oB,UAAV;EACD,KAFc,CAAf;EAIAn6B,IAAAA,SAAS,CAAC,MAAM;EACd,YAAMqnC,UAAU,GAAG,CAAC,EAAElqC,KAAK,CAACmP,OAAN,IAAiBna,KAAK,CAACma,OAAvB,IAAkCna,KAAK,CAAC+0C,YAA1C,CAApB;EACA,YAAM,CAACI,SAAD,EAAYxS,UAAZ,IAA0B9/B,gBAAgB,CAACC,KAAD,CAAhD;EACA,YAAM,CAAC+/B,UAAD,IAAe3B,gBAAgB,CAAClhC,KAAD,CAArC;EACA,YAAM,CAACo1C,UAAD,IAAe5C,gBAAgB,CAACxyC,KAAD,CAArC;EAEA;EAAA,sBAEc8+B,KAAK,CAAC77B,KAFpB;EAAA,yCAEc67B,KAAK,CAAC77B,KAFpB;EAAA,iBAGW,CACL,YADK,EAEL;EACE,kCAAwBjD,KAAK,CAACwD,MADhC;EAEE,kCAAwBxD,KAAK,CAACmrD,MAFhC;EAGE,mCAAyBnrD,KAAK,CAAC4qD,QAHjC;EAIE,mCAAyB5qD,KAAK,CAACgrD,QAAN,IAAkBhrD,KAAK,CAAC4qD;EAJnD,SAFK;EAHX,SAYSzV,SAZT,EAaStS,UAbT,KAgBM,GAAG73B,KAhBT;EAiBMD,QAAAA,OAAO,EAAE;EAAA,cAAC;EAAEgG,YAAAA,UAAF;EAAcguB,YAAAA;EAAd,WAAD;EAAA;EAAA,qBAEE;EACL,0CAA4BqsB,aAAa,CAACnoD;EADrC,aAFF;EAAA,sBAKI0xC,OAAO,CAAC1xC,KALZ;EAAA,+BAMasC,GAAG,IAAImvC,aAAa,CAACzxC,KAAd,GAAsBsC,GAN1C;EAAA,+BAOaw/B,KAPb;EAAA,6BAQWsN,KARX;EAAA,oBASA;EATA,aAUA+C,UAVA,KAaH,GAAGpqC,KAbA;EAcHD,YAAAA,OAAO,EAAE,SAGH;EAAA,kBAHI;EACR+b,gBAAAA,QADQ;EAER9mB,gBAAAA,KAAK,EAAE;EAAEiL,kBAAAA,KAAK,EAAEqqC,UAAT;EAAqB,qBAAG1U;EAAxB;EAFC,eAGJ;EACJ,oBAAM8qB,eAAe,GAAG5kC,QAAQ,IAAI9mB,KAAK,CAAC8qD,qBAA1C;EACA,0DAEM9qD,KAAK,CAACwD,MAAN;EAAA,yBACY,oBADZ;EAAA,yBACwC;EAAE2qB,kBAAAA,OAAO,EAAEu9B,eAAe,GAAGjsD,SAAH,GAAe;EAAzC;EADxC,kBAEIO,KAAK,CAACwD,MAFV,KAFN;EAAA,uBASYyxC,QATZ;EAAA,yBAUcK,UAVd;EAAA,yBAWa;EAAEnnB,kBAAAA,OAAO,EAAEu9B,eAAe,GAAGjsD,SAAH,GAAe;EAAzC,iBAXb;EAAA,iDAYgBq/B,KAAK,CAAC77B,KAZtB;EAAA,6BAgBkBjD,KAAK,CAAC6qD,SAhBxB;EAAA,4BAiBiB9rB,UAAU,CAAC97B,KAjB5B;EAAA,4BAkBiB8N,UAAU,CAAC9N,KAlB5B;EAAA,+BAmBoBjD,KAAK,CAACsjB,WAnB1B;EAAA,wBAoBatjB,KAAK,CAACirD,IApBnB;EAAA,2BAqBgB9oB,OArBhB;EAAA,0BAsBeE;EAtBf,iBAuBWzB,SAvBX,EAwBW+B,UAxBX,0IAYgB7D,KAAK,CAAC77B,KAZtB,uCAaoB;EACZkc,gBAAAA,OAAO,EAAEo5B;EADG,eAbpB,EAeS,IAfT;EAAA;EAAA,oBA2BMv4C,KAAK,CAAC4qD,QAAN;EAAA,yBAES,CACLtV,UADK,EAEL,mBAFK,CAFT;EAAA,iDAMYxW,KAAK,CAAC77B,KANlB;EAAA,uBAOQqoD,QAPR;EAAA;EAAA,+BASc;EATd,mFAMYxsB,KAAK,CAAC77B,KANlB,GA3BN,EAwCMjD,KAAK,CAACmrD,MAAN;EAAA,yBACY,oBADZ;EAAA,yBACwC;EAAEh9B,kBAAAA,OAAO,EAAEu9B,eAAe,GAAGjsD,SAAH,GAAe;EAAzC;EADxC,kBAEIO,KAAK,CAACmrD,MAFV,KAxCN;EA+CD,aAlEE;EAAA;EAAA;EAAA,SAjBf;EAuFMlqB,QAAAA,OAAO,EAAEiU,UAAU,GAAG;EAAA,cAAC;EAAEvU,YAAAA;EAAF,WAAD;EAAA;EAAA,sBAKP3gC,KAAK,CAAC+qD,iBAAN,IAA2BpqB,SAAS,CAAC19B,KAL9B;EAAA,qBAMR8xC,YAAY,CAAC9xC,KANL;EAAA,mBAOVE,GAAG,CAACF;EAPM,aAQN+H,KAAK,CAACmP,OARA;EAAA,SAAH,GAWf1a,SAlGV;EAAA;EAAA;EAsGD,KA5GQ,CAAT;EA8GA,WAAO;EACLslC,MAAAA,KADK;EAELC,MAAAA;EAFK,KAAP;EAID;;EApPsC,CAAD,CAAjC;;ECnBA,SAAS2mB,aAAT,CACL9nD,MADK,EAG0C;EAAA,oCAD5C68C,IAC4C;EAD5CA,IAAAA,IAC4C;EAAA;;EAC/C,SAAO,IAAIkL,KAAJ,CAAU/nD,MAAV,EAAkB;EACvB+R,IAAAA,GAAG,CAAE/R,MAAF,EAAUpB,GAAV,EAAe;EAChB,UAAIopD,OAAO,CAAC7gB,GAAR,CAAYnnC,MAAZ,EAAoBpB,GAApB,CAAJ,EAA8B;EAC5B,eAAOopD,OAAO,CAACj2C,GAAR,CAAY/R,MAAZ,EAAoBpB,GAApB,CAAP;EACD;;EACD,WAAK,MAAMqC,GAAX,IAAkB47C,IAAlB,EAAwB;EACtB,YAAI57C,GAAG,CAAC7B,KAAJ,IAAa4oD,OAAO,CAAC7gB,GAAR,CAAYlmC,GAAG,CAAC7B,KAAhB,EAAuBR,GAAvB,CAAjB,EAA8C;EAC5C,iBAAOopD,OAAO,CAACj2C,GAAR,CAAY9Q,GAAG,CAAC7B,KAAhB,EAAuBR,GAAvB,CAAP;EACD;EACF;EACF,KAVsB;;EAWvBqpD,IAAAA,wBAAwB,CAAEjoD,MAAF,EAAUpB,GAAV,EAAe;EAAA;;EACrC,sCAAOopD,OAAO,CAACC,wBAAR,CAAiCjoD,MAAjC,EAAyCpB,GAAzC,CAAP,oCACEi+C,IAAI,CAACrpC,IAAL,CAAUvS,GAAG,IAAIA,GAAG,CAAC7B,KAAJ,IAAa4oD,OAAO,CAACC,wBAAR,CAAiChnD,GAAG,CAAC7B,KAArC,EAA4CR,GAA5C,CAA9B,CADF;EAGD;;EAfsB,GAAlB,CAAP;EAiBD;;ECFD,MAAMspD,UAAU,GAAG,CAAC,OAAD,EAAU,MAAV,EAAkB,MAAlB,EAA0B,MAA1B,EAAkC,gBAAlC,EAAoD,MAApD,EAA4D,OAA5D,CAAnB;EAEO,MAAMC,UAAU,GAAGtiD,eAAe,CAAC;EACxCpL,EAAAA,IAAI,EAAE,YADkC;EAGxCoiB,EAAAA,UAAU,EAAE;EAAER,IAAAA;EAAF,GAH4B;EAKxC2K,EAAAA,YAAY,EAAE,KAL0B;EAOxC7qB,EAAAA,KAAK,EAAE;EACL6qD,IAAAA,SAAS,EAAEz2C,OADN;EAEL+F,IAAAA,OAAO,EAAE,CAAC/F,OAAD,EAAUrT,MAAV,EAAkBF,MAAlB,CAFJ;EAGLk0C,IAAAA,YAAY,EAAEnT,QAHT;EAILp+B,IAAAA,MAAM,EAAE3C,MAJH;EAKLyiB,IAAAA,WAAW,EAAEziB,MALR;EAMLiqD,IAAAA,qBAAqB,EAAE12C,OANlB;EAOL22C,IAAAA,iBAAiB,EAAE32C,OAPd;EAQL+2C,IAAAA,MAAM,EAAEtqD,MARH;EASLyD,IAAAA,IAAI,EAAE;EACJA,MAAAA,IAAI,EAAEzD,MADF;EAEJkK,MAAAA,OAAO,EAAE;EAFL,KATD;EAcL,OAAGq1B,eAAe,EAdb;EAeL,OAAG2Q,eAAe;EAfb,GAPiC;EAyBxCzvB,EAAAA,KAAK,EAAE;EACL,yBAAsB/b,GAAD,IAAiB;EADjC,GAzBiC;;EA6BxCqE,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAM8zB,KAAK,GAAGjZ,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAA7B;EAEA,UAAM00C,aAAa,GAAG5vC,OAAG,CAAC,KAAD,CAAzB;EACA,UAAM6vC,OAAO,GAAG9rC,YAAQ,CAAC,MAAM;EAC7B,aAAO6rC,aAAa,CAACzxC,KAAd,IAAuB,CAAC,CAAC67B,KAAK,CAAC77B,KAA/B,IAAwC8oD,UAAU,CAAC7uD,QAAX,CAAoB8C,KAAK,CAACsE,IAA1B,CAA/C;EACD,KAFuB,CAAxB;EAIA,UAAMywC,YAAY,GAAGlsC,YAAQ,CAAC,MAAM;EAClC,aAAO,OAAO7I,KAAK,CAAC+0C,YAAb,KAA8B,UAA9B,GACH/0C,KAAK,CAAC+0C,YAAN,CAAmBjW,KAAK,CAAC77B,KAAzB,CADG,GAEH,CAAC67B,KAAK,CAAC77B,KAAN,IAAe,EAAhB,EAAoBuE,QAApB,GAA+B3I,MAFnC;EAGD,KAJ4B,CAA7B;EAKA,UAAMsE,GAAG,GAAG0F,YAAQ,CAAC,MAAM;EACzB,UAAI/F,KAAK,CAACuoD,SAAV,EAAqB,OAAOvoD,KAAK,CAACuoD,SAAb;EAErB,UACE,CAACrrD,KAAK,CAACma,OAAP,IACC,OAAOna,KAAK,CAACma,OAAb,KAAyB,QAAzB,IACD,OAAOna,KAAK,CAACma,OAAb,KAAyB,QAH3B,EAIE,OAAO1a,SAAP;EAEF,aAAOO,KAAK,CAACma,OAAb;EACD,KAVmB,CAApB;;EAYA,aAASo+B,WAAT,CACE74B,cADF,EAEE1O,OAFF,EAGE;EAAA;;EACA,UAAI,CAAChR,KAAK,CAAC6qD,SAAP,IAAoB,CAACnrC,cAAzB,EAAyC;EAEzC,2BAAC1O,OAAO,CAAC,CAAD,CAAP,CAAWnN,MAAZ,gEAAyCkhC,KAAzC;EACD;;EAED,UAAMpE,SAAS,GAAG77B,OAAG,CAAC,KAAD,CAArB;EACA,UAAMmwC,QAAQ,GAAGnwC,OAAG,EAApB;;EACA,aAASigC,KAAT,GAAkB;EAAA;;EAChB,yBAAAkQ,QAAQ,CAAChyC,KAAT,qCAAgB8hC,KAAhB;EACD;;EACD,aAASC,IAAT,GAAiB;EAAA;;EACf,0BAAAiQ,QAAQ,CAAChyC,KAAT,sCAAgB+hC,IAAhB;EACD;;EACD,aAAS7C,OAAT,CAAkBrU,CAAlB,EAAiC;EAC/B6S,MAAAA,SAAS,CAAC19B,KAAV,GAAkB,IAAlB;EACD;;EACD,aAASo/B,MAAT,CAAiBvU,CAAjB,EAAgC;EAC9B6S,MAAAA,SAAS,CAAC19B,KAAV,GAAkB,KAAlB;EACD;;EAED,UAAMgpD,SAAS,GAAGnnD,OAAG,EAArB;EACA,UAAMonD,SAAS,GAAGpnD,OAAG,EAArB;EAEA+I,IAAAA,SAAS,CAAC,MAAM;EACd,YAAMqnC,UAAU,GAAG,CAAC,EAAElqC,KAAK,CAACmP,OAAN,IAAiBna,KAAK,CAACma,OAAvB,IAAkCna,KAAK,CAAC+0C,YAA1C,CAApB;EACA,YAAM,CAACI,SAAD,EAAYxS,UAAZ,IAA0B9/B,gBAAgB,CAACC,KAAD,CAAhD;EACA,YAAM,CAAC+/B,UAAD,IAAe3B,gBAAgB,CAAClhC,KAAD,CAArC;EACA,YAAM,CAACo1C,UAAD,IAAe5C,gBAAgB,CAACxyC,KAAD,CAArC;EAEA;EAAA,eAEUisD,SAFV;EAAA,sBAGcntB,KAAK,CAAC77B,KAHpB;EAAA,yCAGc67B,KAAK,CAAC77B,KAHpB;EAAA,iBAIW,CACL,cADK,EAEL;EACE,oCAA0BjD,KAAK,CAACwD,MADlC;EAEE,oCAA0BxD,KAAK,CAACmrD;EAFlC,SAFK,CAJX;EAAA,mBAWcxqB,SAAS,CAAC19B;EAXxB,SAYSkyC,SAZT,EAaStS,UAbT,KAgBM,GAAG73B,KAhBT;EAiBMD,QAAAA,OAAO,EAAE;EAAA,cAAC;EAAEgG,YAAAA,UAAF;EAAcguB,YAAAA;EAAd,WAAD;EAAA;EAAA,mBAECmtB,SAFD;EAAA,sBAGIvX,OAAO,CAAC1xC,KAHZ;EAAA,+BAIasC,GAAG,IAAImvC,aAAa,CAACzxC,KAAd,GAAsBsC,GAJ1C;EAAA,+BAKaw/B,KALb;EAAA,6BAMWjX,CAAC,IAAI;EACnBA,cAAAA,CAAC,CAAC8W,eAAF;EAEA9F,cAAAA,KAAK,CAAC77B,KAAN,GAAc,EAAd;EACD,aAVI;EAAA,oBAWA;EAXA,aAYAmyC,UAZA,KAeH,GAAGpqC,KAfA;EAgBHD,YAAAA,OAAO,EAAE,SAGH;EAAA,kBAHI;EACR+b,gBAAAA,QADQ;EAER9mB,gBAAAA,KAAK,EAAE;EAAEiL,kBAAAA,KAAK,EAAEqqC,UAAT;EAAqB,qBAAG1U;EAAxB;EAFC,eAGJ;EACJ,oBAAM8qB,eAAe,GAAG5kC,QAAQ,IAAI9mB,KAAK,CAAC8qD,qBAA1C;EAEA,0DAEM9qD,KAAK,CAACwD,MAAN;EAAA,yBACY,sBADZ;EAAA,yBAC0C;EAAE2qB,kBAAAA,OAAO,EAAEu9B,eAAe,GAAGjsD,SAAH,GAAe;EAAzC;EAD1C,kBAEIO,KAAK,CAACwD,MAFV,KAFN;EAAA,uBASYyxC,QATZ;EAAA,yBAUcK,UAVd;EAAA,yBAWa;EAAEnnB,kBAAAA,OAAO,EAAEu9B,eAAe,GAAGjsD,SAAH,GAAe;EAAzC,iBAXb;EAAA,iDAYgBq/B,KAAK,CAAC77B,KAZtB;EAAA,6BAgBkBjD,KAAK,CAAC6qD,SAhBxB;EAAA,4BAiBiB9rB,UAAU,CAAC97B,KAjB5B;EAAA,4BAkBiB8N,UAAU,CAAC9N,KAlB5B;EAAA,+BAmBoBjD,KAAK,CAACsjB,WAnB1B;EAAA,wBAoBa,CApBb;EAAA,wBAqBatjB,KAAK,CAACsE,IArBnB;EAAA,2BAsBgB69B,OAtBhB;EAAA,0BAuBeE;EAvBf,iBAwBWzB,SAxBX,EAyBW+B,UAzBX,6IAYgB7D,KAAK,CAAC77B,KAZtB,uCAaoB;EACZkc,gBAAAA,OAAO,EAAEo5B;EADG,eAbpB,EAeS,IAfT;EAAA;EAAA,oBA4BMv4C,KAAK,CAACmrD,MAAN;EAAA,yBACY,sBADZ;EAAA,yBAC0C;EAAEh9B,kBAAAA,OAAO,EAAEu9B,eAAe,GAAGjsD,SAAH,GAAe;EAAzC;EAD1C,kBAEIO,KAAK,CAACmrD,MAFV,KA5BN;EAmCD,aAzDE;EAAA;EAAA;EAAA,SAjBf;EA8EMlqB,QAAAA,OAAO,EAAEiU,UAAU,GAAG;EAAA,cAAC;EAAEvU,YAAAA;EAAF,WAAD;EAAA;EAAA,sBAKP3gC,KAAK,CAAC+qD,iBAAN,IAA2BpqB,SAAS,CAAC19B,KAL9B;EAAA,qBAMR8xC,YAAY,CAAC9xC,KANL;EAAA,mBAOVE,GAAG,CAACF;EAPM,aAQN+H,KAAK,CAACmP,OARA;EAAA,SAAH,GAWf1a,SAzFV;EAAA;EAAA;EA6FD,KAnGQ,CAAT;EAqGA,WAAOksD,aAAa,CAAC;EACnB5mB,MAAAA,KADmB;EAEnBC,MAAAA;EAFmB,KAAD,EAGjBinB,SAHiB,EAGNC,SAHM,CAApB;EAID;;EA1LuC,CAAD,CAAlC;;ECdA,MAAMC,cAAc,GAAGziD,eAAe,CAAC;EAC5CpL,EAAAA,IAAI,EAAE,gBADsC;EAG5C0B,EAAAA,KAAK,EAAE;EACLosD,IAAAA,cAAc,EAAEh4C,OADX;EAGL,OAAGtE,cAAc,EAHZ;EAIL,OAAGiV,YAAY;EAJV,GAHqC;;EAU5Cnb,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EAEA,WAAO,MAAM;EAAA;;EACX,UAAI,CAACA,KAAK,CAACosD,cAAX,EAA2B,yBAAOphD,KAAK,CAACD,OAAb,qBAAO,oBAAAC,KAAK,CAAZ;EAE3B;EAAA,iBACoB,CAAC,kBAAD,EAAqB4I,YAAY,CAAC3Q,KAAlC;EADpB;EAAA,2CAEM+H,KAAK,CAACD,OAFZ,qBAEM,qBAAAC,KAAK,CAFX;EAAA;EAKD,KARD;EASD;;EAtB2C,CAAD,CAAtC;;ECFA,MAAMqhD,eAA+C,GAAGnkD,MAAM,CAACC,GAAP,CAAW,kBAAX,CAAxD;;ECKA,MAAMmkD,gBAAgB,GAAG5iD,mBAAe,CAAC;EAC9CpL,EAAAA,IAAI,EAAE,kBADwC;EAG9C0B,EAAAA,KAAK,EAAE;EACLusD,IAAAA,OAAO,EAAEn4C,OADJ;EAELo4C,IAAAA,SAAS,EAAE3rD,MAFN;EAGL6pB,IAAAA,IAAI,EAAE7pB,MAHD;EAIL4rD,IAAAA,SAAS,EAAE5rD,MAJN;EAKL6rD,IAAAA,OAAO,EAAEt4C,OALJ;EAMLu4C,IAAAA,QAAQ,EAAE9rD,MANL;EAQL,OAAG8jB,gBAAgB,EARd;EASL,OAAGyF,aAAa,EATX;EAUL,OAAG7F,kBAAkB;EAVhB,GAHuC;;EAgB9C3a,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM4hD,QAAQ,GAAGrkD,UAAM,CAAC8jD,eAAD,CAAvB;EAEA,QAAI,CAACO,QAAL,EAAe,MAAM,IAAIpkD,KAAJ,CAAU,8CAAV,CAAN;EAEf,UAAM;EAAE8hB,MAAAA,WAAF;EAAeC,MAAAA;EAAf,QAA8BF,OAAO,CAACrqB,KAAD,EAAQ,yBAAR,CAA3C;EACA,UAAM;EAAE4lB,MAAAA,qBAAF;EAAyBD,MAAAA;EAAzB,QAAoDD,kBAAkB,CAACgB,SAAK,CAAC1mB,KAAD,EAAQ,UAAR,CAAN,CAA5E;EACA,UAAM;EAAE4lB,MAAAA,qBAAqB,EAAEinC,eAAzB;EAA0ClnC,MAAAA,sBAAsB,EAAEmnC;EAAlE,QAAuFpnC,kBAAkB,CAACknC,QAAQ,CAACJ,SAAV,CAA/G;EACA,UAAM;EAAE1nC,MAAAA;EAAF,QAAqBD,UAAU,CAAC7kB,KAAD,EAAQ,yBAAR,CAArC;EACA,UAAM;EAAE0kB,MAAAA;EAAF,QAAuBD,YAAY,CAACzkB,KAAD,CAAzC;EAEA,WAAO;EAAA,eAEI,CACL,oBADK,EAEL;EACE,wCAAgCA,KAAK,CAAC0sD;EADxC,OAFK;EAFJ,QASD,CAAC1sD,KAAK,CAACusD,OAAP;EAAA,eAES,CACL,yBADK,EAELznC,cAAc,CAAC7hB,KAFV,EAGLqnB,WAAW,CAACrnB,KAHP,EAILyhB,gBAAgB,CAACzhB,KAJZ,CAFT;EAAA,eASUsnB,UAAU,CAACtnB;EATrB;EAAA,eAYW,CACL,+BADK,EAEL6hB,cAAc,CAAC7hB,KAFV,EAGL0iB,sBAAsB,CAAC1iB,KAHlB,CAZX;EAAA,eAiBY2iB,qBAAqB,CAAC3iB;EAjBlC,QAoBM+H,KAAK,CAACD,OAAN,GAAgBC,KAAK,CAACD,OAAN,CAAc;EAAE2f,MAAAA,IAAI,EAAE1qB,KAAK,CAAC0qB,IAAd;EAAoB+hC,MAAAA,SAAS,EAAEzsD,KAAK,CAACysD,SAArC;EAAgDnnD,MAAAA,IAAI,EAAEtF,KAAK,CAACsF;EAA5D,KAAd,CAAhB,GACEtF,KAAK,CAAC0qB,IAAN;EAAA,cAA2B1qB,KAAK,CAAC0qB,IAAjC;EAAA,eAAgD1qB,KAAK,CAACysD,SAAtD;EAAA,cAAyEzsD,KAAK,CAACsF;EAA/E,6CACA7F,SAtBR,UATC;EAAA,eAqCM,CACL,0BADK,EAELqtD,gBAAgB,CAAC7pD,KAFZ,CArCN;EAAA,eAyCO4pD,eAAe,CAAC5pD;EAzCvB,oBAAP;EA6CD;;EAxE6C,CAAD,CAAxC;;ECEA,MAAM8pD,aAAa,GAAGrjD,eAAe,CAAC;EAC3CpL,EAAAA,IAAI,EAAE,eADqC;EAG3C0B,EAAAA,KAAK,EAAE;EACL2sD,IAAAA,QAAQ,EAAE9rD,MADL;EAEL6rD,IAAAA,OAAO,EAAEt4C,OAFJ;EAGLm4C,IAAAA,OAAO,EAAEn4C,OAHJ;EAIL44C,IAAAA,YAAY,EAAE;EACZ1oD,MAAAA,IAAI,EAAE8P,OADM;EAEZrJ,MAAAA,OAAO,EAAEtL;EAFG,KAJT;EAQLirB,IAAAA,IAAI,EAAE7pB,MARD;EASL4rD,IAAAA,SAAS,EAAE5rD,MATN;EAWL,OAAG8jB,gBAAgB,EAXd;EAYL,OAAGJ,kBAAkB,EAZhB;EAaL,OAAG6F,aAAa,EAbX;EAcL,OAAGrF,YAAY,EAdV;EAeL,OAAG7G,kBAAkB;EAfhB,GAHoC;;EAqB3CtU,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM4hD,QAAQ,GAAGrkD,UAAM,CAAC8jD,eAAD,CAAvB;EAEA,QAAI,CAACO,QAAL,EAAe,MAAM,IAAIpkD,KAAJ,CAAU,8CAAV,CAAN;EAEf,UAAM;EAAEgW,MAAAA;EAAF,QAAsBD,YAAY,CAACve,KAAD,CAAxC;EAEA,UAAMitD,OAAO,GAAGnoD,OAAG,CAAC,CAAD,CAAnB;EACA,UAAMooD,MAAM,GAAGpoD,OAAG,EAAlB;EACAoO,IAAAA,SAAK,CAACg6C,MAAD,EAAShnC,QAAQ,IAAI;EAAA;;EACxB,UAAI,CAACA,QAAL,EAAe;EACf+mC,MAAAA,OAAO,CAAChqD,KAAR,sDAAgBijB,QAAQ,CAAC6f,GAAT,CAAaC,aAAb,CAA2B,0BAA3B,CAAhB,qBAAgB,uBAAwD3qC,qBAAxD,GAAgFT,KAAhG,oCAAyG,CAAzG;EACD,KAHI,EAGF;EACD2qC,MAAAA,KAAK,EAAE;EADN,KAHE,CAAL;EAOA,WAAO;EAAA;;EAAA;EAAA,iBAEI,CACL,iBADK,EAEL;EACE,uCAA6BvlC,KAAK,CAAC0sD;EADrC,SAFK,CAFJ;EAAA,iBAQI;EACL,mCAAyBhsD,aAAa,CAACusD,OAAO,CAAChqD,KAAT;EADjC;EARJ;EAAA,iBAaK,uBAbL;EAAA,iBAcOub,eAAe,CAACvb;EAdvB,4BAgBC+H,KAAK,CAACD,OAhBP,qBAgBC,oBAAAC,KAAK,CAhBN;EAAA,eAoBKkiD,MApBL;EAAA,mBAqBSltD,KAAK,CAACusD,OArBf;EAAA,gBAsBMvsD,KAAK,CAAC0qB,IAtBZ;EAAA,qBAuBW1qB,KAAK,CAACysD,SAvBjB;EAAA,gBAwBMzsD,KAAK,CAACsF,IAxBZ;EAAA,qBAyBWtF,KAAK,CAACwkB,SAzBjB;EAAA,oBA0BUxkB,KAAK,CAAC2sD,QA1BhB;EAAA,mBA2BS3sD,KAAK,CAAC0sD,OA3Bf;EAAA,mBA4BS1sD,KAAK,CAAC4kB;EA5Bf,SA6BQ;EAAE7Z,QAAAA,OAAO,EAAEC,KAAK,CAAC0f;EAAjB,OA7BR,+FAgCDkiC,QAAQ,CAACxoC,OAAT,CAAiBnhB,KAAjB,KAA2B,SAA3B;EAAA,iBACW;EADX,UAEI,CAACjD,KAAK,CAACgtD,YAAP,wBAAuBhiD,KAAK,CAACmiD,QAA7B,qBAAuB,qBAAAniD,KAAK,CAA5B,CAFJ,EAhCC;EAAA,KAAP;EAuCD;;EA5E0C,CAAD,CAArC;;ECOA,MAAMoiD,SAAS,GAAG1jD,eAAe,CAAC;EACvCpL,EAAAA,IAAI,EAAE,WADiC;EAGvC0B,EAAAA,KAAK,EAAE;EACLwgC,IAAAA,SAAS,EAAE;EACTl8B,MAAAA,IAAI,EAAEzD,MADG;EAETkK,MAAAA,OAAO,EAAE,UAFA;EAGTqV,MAAAA,SAAS,EAAG5f,CAAD,IAAY,CAAC,UAAD,EAAa,YAAb,EAA2BtD,QAA3B,CAAoCsD,CAApC;EAHd,KADN;EAML2lC,IAAAA,IAAI,EAAE;EACJ7hC,MAAAA,IAAI,EAAEzD,MADF;EAEJuf,MAAAA,SAAS,EAAG5f,CAAD,IAAYA,CAAC,IAAI,IAAL,IAAa,CAAC,OAAD,EAAU,KAAV,EAAiBtD,QAAjB,CAA0BsD,CAA1B;EAFhC,KAND;EAUL6sD,IAAAA,SAAS,EAAE;EACT/oD,MAAAA,IAAI,EAAE,CAACzD,MAAD,EAASE,MAAT,CADG;EAETgK,MAAAA,OAAO,EAAE;EAFA,KAVN;EAcLuiD,IAAAA,aAAa,EAAE;EACbhpD,MAAAA,IAAI,EAAE,CAACzD,MAAD,EAASE,MAAT,CADO;EAEbgK,MAAAA,OAAO,EAAE;EAFI,KAdV;EAkBLyhD,IAAAA,SAAS,EAAE3rD,MAlBN;EAmBL0sD,IAAAA,YAAY,EAAE;EACZjpD,MAAAA,IAAI,EAAEzD,MADM;EAEZkK,MAAAA,OAAO,EAAE,OAFG;EAGZqV,MAAAA,SAAS,EAAG5f,CAAD,IAAY,CAAC,MAAD,EAAS,OAAT,EAAkB,KAAlB,EAAyB,MAAzB,EAAiCtD,QAAjC,CAA0CsD,CAA1C;EAHX,KAnBT;EAyBL,OAAG2jB,gBAAgB,EAzBd;EA0BL,OAAGY,YAAY,EA1BV;EA2BL,OAAGjV,cAAc;EA3BZ,GAHgC;;EAiCvClG,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM;EAAE4I,MAAAA;EAAF,QAAmBC,YAAY,CAAC7T,KAAD,CAArC;EACA,UAAM;EAAEskB,MAAAA;EAAF,QAAqBD,UAAU,CAACrkB,KAAD,CAArC;EAEAsJ,IAAAA,WAAO,CAAC+iD,eAAD,EAAkB;EACvBjoC,MAAAA,OAAO,EAAEsC,SAAK,CAAC1mB,KAAD,EAAQ,SAAR,CADS;EAEvBwsD,MAAAA,SAAS,EAAE9lC,SAAK,CAAC1mB,KAAD,EAAQ,WAAR;EAFO,KAAlB,CAAP;EAKA,UAAMwtD,SAAS,GAAG3kD,YAAQ,CAAC,MAAM;EAC/B,YAAMs9B,IAAI,GAAGnmC,KAAK,CAACmmC,IAAN,GAAanmC,KAAK,CAACmmC,IAAnB,GAA0BnmC,KAAK,CAACokB,OAAN,KAAkB,SAAlB,GAA8B,KAA9B,GAAsC,IAA7E;EAEA,aAAO+hB,IAAI,IAAK,oBAAmBA,IAAK,EAAxC;EACD,KAJyB,CAA1B;EAMA,WAAO;EAAA;;EAAA;EAAA,iBAEI,CACL,YADK,EAEJ,eAAcnmC,KAAK,CAACwgC,SAAU,EAF1B,EAGL;EACE,oCAA0B,CAAC,CAACxgC,KAAK,CAACqtD,SADpC;EAEE,2CAAiCrtD,KAAK,CAACutD,YAAN,KAAuB,KAAvB,IAAgCvtD,KAAK,CAACutD,YAAN,KAAuB;EAF1F,SAHK,EAOL35C,YAAY,CAAC3Q,KAPR,EAQLqhB,cAAc,CAACrhB,KARV,EASLuqD,SAAS,CAACvqD,KATL,CAFJ;EAAA,iBAaI;EACL,yCAA+BvC,aAAa,CAACV,KAAK,CAACstD,aAAP,CADvC;EAEL,qCAA2B5sD,aAAa,CAACV,KAAK,CAACqtD,SAAN,IAAmB5tD,SAApB;EAFnC;EAbJ;EAAA,wBAkBD,CAACO,KAAK,CAACutD,YAAN,KAAuB,MAAvB,IAAiCvtD,KAAK,CAACutD,YAAN,KAAuB,KAAzD;EAAA;EAAA,gCAlBC,oBAsBDviD,KAAK,CAACD,OAtBL,qBAsBD,oBAAAC,KAAK,CAtBJ;EAAA;EAAA;EAAA,KAAP;EAyBD;;EAzEsC,CAAD,CAAjC;;ECHA,MAAMyiD,QAAQ,GAAGljD,gBAAgB,GAEnC;EACHjM,EAAAA,IAAI,EAAE,UADH;EAGHusB,EAAAA,YAAY,EAAE,KAHX;EAKH7qB,EAAAA,KAAK,EAAE;EACLgT,IAAAA,EAAE,EAAEnS,MADC;EAEL0lB,IAAAA,UAAU,EAAEnS,OAFP;EAGLnF,IAAAA,IAAI,EAAEpO,MAHD;EAKLqlC,IAAAA,MAAM,EAAE;EACN5hC,MAAAA,IAAI,EAAEzD,MADA;EAENkK,MAAAA,OAAO,EAAE;EAFH,KALH;EASLqvB,IAAAA,MAAM,EAAE;EACN91B,MAAAA,IAAI,EAAEzD,MADA;EAENkK,MAAAA,OAAO,EAAE;EAFH,KATH;EAcL,OAAGoV,mBAAmB,CAAC;EACrBlJ,MAAAA,UAAU,EAAE;EADS,KAAD;EAdjB,GALJ;EAwBHqK,EAAAA,KAAK,EAAE;EACL,yBAAsBre,KAAD,IAAoB;EADpC,GAxBJ;;EA4BH2G,EAAAA,KAAK,CAAE5J,KAAF,QAA2B;EAAA,QAAlB;EAAE8C,MAAAA,KAAF;EAASkI,MAAAA;EAAT,KAAkB;EAC9B,UAAM8b,QAAQ,GAAGjB,eAAe,CAAC7lB,KAAD,EAAQ,YAAR,CAAhC;EAEA,UAAMyf,GAAG,GAAGxb,MAAM,EAAlB;EACA,UAAM+O,EAAE,GAAGnK,YAAQ,CAAC,MAAM7I,KAAK,CAACgT,EAAN,IAAa,aAAYyM,GAAI,EAApC,CAAnB;EAEA,UAAMymB,MAAM,GAAGr9B,YAAQ,CAAC,MAAM;EAC5B,aAAO7I,KAAK,CAACkmC,MAAN,CAAajqC,KAAb,CAAmB,GAAnB,EAAwB4C,MAAxB,GAAiC,CAAjC,GACHmB,KAAK,CAACkmC,MADH,GAEHlmC,KAAK,CAACkmC,MAAN,GAAe,SAFnB;EAGD,KAJsB,CAAvB;EAMA,UAAM9L,MAAM,GAAGvxB,YAAQ,CAAC,MAAM;EAC5B,aACE7I,KAAK,CAACo6B,MAAN,KAAiB,MAAjB,IACAp6B,KAAK,CAACo6B,MAAN,KAAiB,SADjB,IAEAp6B,KAAK,CAACo6B,MAAN,CAAan+B,KAAb,CAAmB,GAAnB,EAAwB4C,MAAxB,GAAiC,CAFjC,IAGAmB,KAAK,CAACkmC,MAAN,CAAajqC,KAAb,CAAmB,GAAnB,EAAwB4C,MAAxB,GAAiC,CAJ5B,GAKHmB,KAAK,CAACo6B,MALH,GAMHp6B,KAAK,CAACo6B,MAAN,GAAe,SANnB;EAOD,KARsB,CAAvB;EAUA,UAAMnjB,UAAU,GAAGpO,YAAQ,CAAC,MAAM;EAChC,UAAI7I,KAAK,CAACiX,UAAV,EAAsB,OAAOjX,KAAK,CAACiX,UAAb;EACtB,aAAO6P,QAAQ,CAAC7jB,KAAT,GAAiB,kBAAjB,GAAsC,iBAA7C;EACD,KAH0B,CAA3B;EAKA,WAAO,MAAM;EACX;EAAA,sBAEc6jB,QAAQ,CAAC7jB,KAFvB;EAAA,yCAEc6jB,QAAQ,CAAC7jB,KAFvB;EAAA,iBAGW,CACL,WADK,CAHX;EAAA,cAMS+P,EAAE,CAAC/P,KANZ;EAAA,sBAOiBgU,UAAU,CAAChU,KAP5B;EAAA;EAAA,4BASqB,WATrB;EAAA,0BAUmB,YAVnB;EAAA,kBAWaijC,MAAM,CAACjjC,KAXpB;EAAA,kBAYam3B,MAAM,CAACn3B,KAZpB;EAAA,qBAagB,CAbhB;EAAA,kBAca,EAdb;EAAA,iBAeY,KAfZ;EAAA;EAAA,yBAiBoB,KAjBpB;EAAA;EAAA,gBAmBS,SAnBT;EAAA;EAAA,0BAqBoB;EACd,8BAAoB+P,EAAE,CAAC/P;EADT;EArBpB,SAwBSH,KAxBT;EA2BMohC,QAAAA,SAAS,EAAEl5B,KAAK,CAACk5B,SA3BvB;EA4BMn5B,QAAAA,OAAO,EAAE;EAAA;;EAAA,4CAAI2iD,IAAJ;EAAIA,YAAAA,IAAJ;EAAA;;EAAA,sDAAa1iD,KAAK,CAACD,OAAnB,qBAAa,qBAAAC,KAAK,EAAW,GAAG0iD,IAAd,CAAlB,6BAAyC1tD,KAAK,CAACiP,IAA/C;EAAA,SA5Bf;EAAA;EAAA;EAgCD,KAjCD;EAkCD;;EAzFE,CAFmC,CAAjC;;ECnBP;EAMO,MAAM0+C,WAAW,GAAGjkD,eAAe,CAAC;EACzCpL,EAAAA,IAAI,EAAE,aADmC;EAGzC0B,EAAAA,KAAK,EAAE,EACL,GAAGy/B,mBAAmB;EADjB,GAHkC;EAOzCne,EAAAA,KAAK,EAAE;EACL,yBAAsB/b,GAAD,IAAc;EAD9B,GAPkC;;EAWzCqE,EAAAA,KAAK,CAAE5J,KAAF,QAAoB;EAAA,QAAX;EAAEgL,MAAAA;EAAF,KAAW;EACvB,UAAM4iD,UAAU,GAAGhuB,aAAa,CAAC5/B,KAAD,EAAQ,YAAR,CAAhC;EAEA,WAAO;EAAA;;EAAA,+BAAMgL,KAAK,CAACD,OAAZ,qBAAM,oBAAAC,KAAK,EAAW4iD,UAAX,CAAX;EAAA,KAAP;EACD;;EAfwC,CAAD,CAAnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECNP;EASA,SAAS5uC,SAAT,CAAkB7jB,EAAlB,EAAmC8jB,OAAnC,EAAsE;EAAA;;EACpE,QAAMC,SAAS,GAAGD,OAAO,CAACC,SAAR,IAAqB,EAAvC;EACA,QAAMjc,KAAK,GAAGgc,OAAO,CAAChc,KAAtB;EACA,QAAM;EAAE6c,IAAAA,IAAF;EAAQzM,IAAAA,SAAR;EAAmB,OAAGw6C;EAAtB,MAAuC3uC,SAA7C;EACA,QAAM4G,YAAY,GAAG,CAAC/lB,MAAM,CAACE,IAAP,CAAY4tD,YAAZ,EAA0BhvD,MAAhD;EAEA,QAAM;EAAEsgB,IAAAA,OAAF;EAAW/gB,IAAAA;EAAX,MAAuB,OAAO6E,KAAP,KAAiB,QAAjB,GACzBA,KADyB,GAEzB;EACAkc,IAAAA,OAAO,EAAElc,KADT;EAEA7E,IAAAA,OAAO,EAAE;EACP0vD,MAAAA,UAAU,wBAAED,YAAF,oBAAEA,YAAY,CAAEE,IAAhB,iCAAwBjoC,YAD3B;EAEPkoC,MAAAA,aAAa,wBAAEH,YAAF,oBAAEA,YAAY,CAAE1mD,IAAhB,iCAAwB2e,YAF9B;EAGPmoC,MAAAA,SAAS,yBAAEJ,YAAF,oBAAEA,YAAY,CAAE5oD,KAAhB,kCAAyB6gB,YAH3B;EAIPooC,MAAAA,OAAO,uBAAEL,YAAF,oBAAEA,YAAY,CAAEM,GAAhB,gCAAuBroC;EAJvB;EAFT,GAFJ;EAYA,QAAM1G,QAAQ,GAAG,IAAIgvC,gBAAJ,CAAqB,YAGjC;EAAA,QAFHC,SAEG,uEAF2B,EAE3B;EAAA,QADHjvC,QACG;EACHD,IAAAA,OAAO,QAAP,YAAAA,OAAO,CAAGkvC,SAAH,EAAcjvC,QAAd,CAAP;EAEA,QAAIU,IAAJ,EAAUC,WAAS,CAAC5kB,EAAD,EAAK8jB,OAAL,CAAT;EACX,GAPgB,CAAjB;EASA,MAAI5L,SAAJ,EAAe8L,OAAO,QAAP,YAAAA,OAAO,CAAG,EAAH,EAAOC,QAAP,CAAP;EAEfjkB,EAAAA,EAAE,CAACmzD,OAAH,GAAavuD,MAAM,CAAC5E,EAAE,CAACmzD,OAAJ,CAAnB;EACAnzD,EAAAA,EAAE,CAACmzD,OAAH,CAAYrvC,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAhC,IAAuC;EAAEL,IAAAA;EAAF,GAAvC;EAEAA,EAAAA,QAAQ,CAACY,OAAT,CAAiB7kB,EAAjB,EAAqBiD,OAArB;EACD;;EAED,SAAS2hB,WAAT,CAAoB5kB,EAApB,EAAqC8jB,OAArC,EAAwE;EAAA;;EACtE,MAAI,iBAAC9jB,EAAE,CAACmzD,OAAJ,aAAC,YAAarvC,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAD,CAAJ,EAA4C;;EAE5CtkB,EAAAA,EAAE,CAACmzD,OAAH,CAAWrvC,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAA/B,EAAqCL,QAArC,CAA8C4oB,UAA9C;;EACA,SAAO7sC,EAAE,CAACmzD,OAAH,CAAWrvC,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAA/B,CAAP;EACD;;EAEM,MAAM8uC,MAAoC,GAAG;EAClDvvC,WAAAA,SADkD;EAElDe,aAAAA;EAFkD,CAA7C;;ECzCP,SAASf,SAAT,CAAkB7jB,EAAlB,EAAmC8jB,OAAnC,EAAoE;EAAA;;EAClE,QAAME,OAAO,GAAGF,OAAO,CAAChc,KAAxB;EACA,QAAM7E,OAAgC,GAAG;EACvCwzB,IAAAA,OAAO,EAAE,wBAAC3S,OAAO,CAACC,SAAT,aAAC,mBAAmBrK,MAApB;EAD8B,GAAzC;EAIAxI,EAAAA,MAAM,CAACqhB,gBAAP,CAAwB,QAAxB,EAAkCvO,OAAlC,EAA2C/gB,OAA3C;EAEAjD,EAAAA,EAAE,CAACqzD,SAAH,GAAezuD,MAAM,CAAC5E,EAAE,CAACqzD,SAAJ,CAArB;EACArzD,EAAAA,EAAE,CAACqzD,SAAH,CAAcvvC,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,IAAyC;EACvCN,IAAAA,OADuC;EAEvC/gB,IAAAA;EAFuC,GAAzC;;EAKA,MAAI,yBAAC6gB,OAAO,CAACC,SAAT,aAAC,oBAAmBU,KAApB,CAAJ,EAA+B;EAC7BT,IAAAA,OAAO;EACR;EACF;;EAED,SAASY,WAAT,CAAoB5kB,EAApB,EAAqC8jB,OAArC,EAAsE;EAAA;;EACpE,MAAI,mBAAC9jB,EAAE,CAACqzD,SAAJ,aAAC,cAAevvC,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAnC,CAAD,CAAJ,EAA8C;EAE9C,QAAM;EAAEN,IAAAA,OAAF;EAAW/gB,IAAAA;EAAX,MAAuBjD,EAAE,CAACqzD,SAAH,CAAavvC,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAA7B;EAEApT,EAAAA,MAAM,CAACwhB,mBAAP,CAA2B,QAA3B,EAAqC1O,OAArC,EAA8C/gB,OAA9C;EAEA,SAAOjD,EAAE,CAACqzD,SAAH,CAAavvC,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAP;EACD;;EAEM,MAAMgvC,MAAM,GAAG;EACpBzvC,WAAAA,SADoB;EAEpBe,aAAAA;EAFoB,CAAf;;EC3BP,SAASf,SAAT,CAAkB7jB,EAAlB,EAAmC8jB,OAAnC,EAAoE;EAAA;;EAClE,QAAM;EAAEyvC,IAAAA,IAAI,GAAG;EAAT,4BAAmBzvC,OAAO,CAACC,SAA3B,iCAAwC,EAA9C;EACA,QAAMjc,KAAK,GAAGgc,OAAO,CAAChc,KAAtB;EACA,QAAM7E,OAAO,GAAI,OAAO6E,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,CAAC7E,OAApC,IAAgD;EAAEwzB,IAAAA,OAAO,EAAE;EAAX,GAAhE;EACA,QAAMzS,OAAO,GAAG,OAAOlc,KAAP,KAAiB,UAAjB,IAA+B,iBAAiBA,KAAhD,GAAwDA,KAAxD,GAAgEA,KAAK,CAACkc,OAAtF;EAEA,QAAMtb,MAAM,GAAG6qD,IAAI,GACfvzD,EADe,GAEf8jB,OAAO,CAAC0vC,GAAR,GACEtjD,QAAQ,CAAC26B,aAAT,CAAuB/mB,OAAO,CAAC0vC,GAA/B,CADF,GAEEtiD,MAJN;EAMA,MAAI,CAACxI,MAAL,EAAa;EAEbA,EAAAA,MAAM,CAAC6pB,gBAAP,CAAwB,QAAxB,EAAkCvO,OAAlC,EAA2C/gB,OAA3C;EAEAjD,EAAAA,EAAE,CAACyzD,SAAH,GAAe7uD,MAAM,CAAC5E,EAAE,CAACyzD,SAAJ,CAArB;EACAzzD,EAAAA,EAAE,CAACyzD,SAAH,CAAc3vC,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAlC,IAAyC;EACvCN,IAAAA,OADuC;EAEvC/gB,IAAAA,OAFuC;EAGvC;EACAyF,IAAAA,MAAM,EAAE6qD,IAAI,GAAGjvD,SAAH,GAAeoE;EAJY,GAAzC;EAMD;;EAED,SAASkc,WAAT,CAAoB5kB,EAApB,EAAqC8jB,OAArC,EAAsE;EAAA;;EACpE,MAAI,mBAAC9jB,EAAE,CAACyzD,SAAJ,aAAC,cAAe3vC,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAnC,CAAD,CAAJ,EAA8C;EAE9C,QAAM;EAAEN,IAAAA,OAAF;EAAW/gB,IAAAA,OAAX;EAAoByF,IAAAA,MAAM,GAAG1I;EAA7B,MAAoCA,EAAE,CAACyzD,SAAH,CAAa3vC,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAA1C;EAEA5b,EAAAA,MAAM,CAACgqB,mBAAP,CAA2B,QAA3B,EAAqC1O,OAArC,EAA8C/gB,OAA9C;EACA,SAAOjD,EAAE,CAACyzD,SAAH,CAAa3vC,OAAO,CAACM,QAAR,CAAkBC,CAAlB,CAAoBC,GAAjC,CAAP;EACD;;EAED,SAASqS,OAAT,CAAkB32B,EAAlB,EAAmC8jB,OAAnC,EAAoE;EAClE,MAAIA,OAAO,CAAChc,KAAR,KAAkBgc,OAAO,CAAC8S,QAA9B,EAAwC;EAExChS,EAAAA,WAAS,CAAC5kB,EAAD,EAAK8jB,OAAL,CAAT;EACAD,EAAAA,SAAO,CAAC7jB,EAAD,EAAK8jB,OAAL,CAAP;EACD;;EAEM,MAAM4vC,MAAM,GAAG;EACpB7vC,WAAAA,SADoB;EAEpBe,aAAAA,WAFoB;EAGpB+R,EAAAA;EAHoB,CAAf;;ECrDP;;EA6CA,MAAMg9B,aAAa,GAAIC,OAAD,IAA2B;EAC/C,QAAM;EAAEC,IAAAA,WAAF;EAAeC,IAAAA,SAAf;EAA0BC,IAAAA,WAA1B;EAAuCC,IAAAA;EAAvC,MAAqDJ,OAA3D;EACA,QAAMK,QAAQ,GAAG,GAAjB;EACA,QAAMC,WAAW,GAAG,EAApB;EACAN,EAAAA,OAAO,CAAC36B,OAAR,GAAkB66B,SAAS,GAAGD,WAA9B;EACAD,EAAAA,OAAO,CAAC16B,OAAR,GAAkB86B,SAAS,GAAGD,WAA9B;;EAEA,MAAI9rD,IAAI,CAACK,GAAL,CAASsrD,OAAO,CAAC16B,OAAjB,IAA4B+6B,QAAQ,GAAGhsD,IAAI,CAACK,GAAL,CAASsrD,OAAO,CAAC36B,OAAjB,CAA3C,EAAsE;EACpE26B,IAAAA,OAAO,CAAC/zD,IAAR,IAAiBi0D,SAAS,GAAGD,WAAW,GAAGK,WAA3C,IAA2DN,OAAO,CAAC/zD,IAAR,CAAa+zD,OAAb,CAA3D;EACAA,IAAAA,OAAO,CAAC9zD,KAAR,IAAkBg0D,SAAS,GAAGD,WAAW,GAAGK,WAA5C,IAA4DN,OAAO,CAAC9zD,KAAR,CAAc8zD,OAAd,CAA5D;EACD;;EAED,MAAI3rD,IAAI,CAACK,GAAL,CAASsrD,OAAO,CAAC36B,OAAjB,IAA4Bg7B,QAAQ,GAAGhsD,IAAI,CAACK,GAAL,CAASsrD,OAAO,CAAC16B,OAAjB,CAA3C,EAAsE;EACpE06B,IAAAA,OAAO,CAACvtD,EAAR,IAAe2tD,SAAS,GAAGD,WAAW,GAAGG,WAAzC,IAAyDN,OAAO,CAACvtD,EAAR,CAAWutD,OAAX,CAAzD;EACAA,IAAAA,OAAO,CAACttD,IAAR,IAAiB0tD,SAAS,GAAGD,WAAW,GAAGG,WAA3C,IAA2DN,OAAO,CAACttD,IAAR,CAAastD,OAAb,CAA3D;EACD;EACF,CAhBD;;EAkBA,SAASO,UAAT,CAAqB/U,KAArB,EAAwCwU,OAAxC,EAA+D;EAAA;;EAC7D,QAAMn4B,KAAK,GAAG2jB,KAAK,CAAC+C,cAAN,CAAqB,CAArB,CAAd;EACAyR,EAAAA,OAAO,CAACC,WAAR,GAAsBp4B,KAAK,CAAClI,OAA5B;EACAqgC,EAAAA,OAAO,CAACG,WAAR,GAAsBt4B,KAAK,CAACjI,OAA5B;EAEA,oBAAAogC,OAAO,CAACzuD,KAAR,yCAAAyuD,OAAO,EAAS,EAAE,GAAGxU,KAAL;EAAY,OAAGwU;EAAf,GAAT,CAAP;EACD;;EAED,SAASQ,QAAT,CAAmBhV,KAAnB,EAAsCwU,OAAtC,EAA6D;EAAA;;EAC3D,QAAMn4B,KAAK,GAAG2jB,KAAK,CAAC+C,cAAN,CAAqB,CAArB,CAAd;EACAyR,EAAAA,OAAO,CAACE,SAAR,GAAoBr4B,KAAK,CAAClI,OAA1B;EACAqgC,EAAAA,OAAO,CAACI,SAAR,GAAoBv4B,KAAK,CAACjI,OAA1B;EAEA,kBAAAogC,OAAO,CAACrtD,GAAR,uCAAAqtD,OAAO,EAAO,EAAE,GAAGxU,KAAL;EAAY,OAAGwU;EAAf,GAAP,CAAP;EAEAD,EAAAA,aAAa,CAACC,OAAD,CAAb;EACD;;EAED,SAASS,SAAT,CAAoBjV,KAApB,EAAuCwU,OAAvC,EAA8D;EAAA;;EAC5D,QAAMn4B,KAAK,GAAG2jB,KAAK,CAAC+C,cAAN,CAAqB,CAArB,CAAd;EACAyR,EAAAA,OAAO,CAACU,UAAR,GAAqB74B,KAAK,CAAClI,OAA3B;EACAqgC,EAAAA,OAAO,CAACW,UAAR,GAAqB94B,KAAK,CAACjI,OAA3B;EAEA,mBAAAogC,OAAO,CAACY,IAAR,wCAAAZ,OAAO,EAAQ,EAAE,GAAGxU,KAAL;EAAY,OAAGwU;EAAf,GAAR,CAAP;EACD;;EAED,SAASa,cAAT,GAAyE;EAAA,MAAhD3sD,KAAgD,uEAAzB,EAAyB;EACvE,QAAM8rD,OAAO,GAAG;EACdC,IAAAA,WAAW,EAAE,CADC;EAEdE,IAAAA,WAAW,EAAE,CAFC;EAGdD,IAAAA,SAAS,EAAE,CAHG;EAIdE,IAAAA,SAAS,EAAE,CAJG;EAKdM,IAAAA,UAAU,EAAE,CALE;EAMdC,IAAAA,UAAU,EAAE,CANE;EAOdt7B,IAAAA,OAAO,EAAE,CAPK;EAQdC,IAAAA,OAAO,EAAE,CARK;EASdr5B,IAAAA,IAAI,EAAEiI,KAAK,CAACjI,IATE;EAUdC,IAAAA,KAAK,EAAEgI,KAAK,CAAChI,KAVC;EAWduG,IAAAA,EAAE,EAAEyB,KAAK,CAACzB,EAXI;EAYdC,IAAAA,IAAI,EAAEwB,KAAK,CAACxB,IAZE;EAadnB,IAAAA,KAAK,EAAE2C,KAAK,CAAC3C,KAbC;EAcdqvD,IAAAA,IAAI,EAAE1sD,KAAK,CAAC0sD,IAdE;EAedjuD,IAAAA,GAAG,EAAEuB,KAAK,CAACvB;EAfG,GAAhB;EAkBA,SAAO;EACL4tD,IAAAA,UAAU,EAAGxhC,CAAD,IAAmBwhC,UAAU,CAACxhC,CAAD,EAAIihC,OAAJ,CADpC;EAELQ,IAAAA,QAAQ,EAAGzhC,CAAD,IAAmByhC,QAAQ,CAACzhC,CAAD,EAAIihC,OAAJ,CAFhC;EAGLS,IAAAA,SAAS,EAAG1hC,CAAD,IAAmB0hC,SAAS,CAAC1hC,CAAD,EAAIihC,OAAJ;EAHlC,GAAP;EAKD;;EAED,SAAS/vC,OAAT,CAAkB7jB,EAAlB,EAAmC8jB,OAAnC,EAAmE;EAAA;;EACjE,QAAMhc,KAAK,GAAGgc,OAAO,CAAChc,KAAtB;EACA,QAAMY,MAAM,GAAGZ,KAAK,QAAL,IAAAA,KAAK,CAAEpG,MAAP,GAAgB1B,EAAE,CAAC2Q,aAAnB,GAAmC3Q,EAAlD;EACA,QAAMiD,OAAO,qBAAG6E,KAAH,oBAAGA,KAAK,CAAE7E,OAAV,6BAAqB;EAAEwzB,IAAAA,OAAO,EAAE;EAAX,GAAlC;EACA,QAAMnS,GAAG,wBAAGR,OAAO,CAACM,QAAX,qBAAG,kBAAkBC,CAAlB,CAAoBC,GAAhC,CAJiE;;EAMjE,MAAI,CAAC5b,MAAD,IAAW,CAAC4b,GAAhB,EAAqB;EAErB,QAAMowC,QAAQ,GAAGD,cAAc,CAAC3wC,OAAO,CAAChc,KAAT,CAA/B;EAEAY,EAAAA,MAAM,CAACisD,cAAP,4BAAwBjsD,MAAM,CAACisD,cAA/B,oCAAiD/vD,MAAM,CAACwC,MAAP,CAAc,IAAd,CAAjD;EACAsB,EAAAA,MAAM,CAACisD,cAAP,CAAuBrwC,GAAvB,IAA8BowC,QAA9B;EAEA5vD,EAAAA,IAAI,CAAC4vD,QAAD,CAAJ,CAAevwB,OAAf,CAAuBywB,SAAS,IAAI;EAClClsD,IAAAA,MAAM,CAAC6pB,gBAAP,CAAwBqiC,SAAxB,EAAmCF,QAAQ,CAACE,SAAD,CAA3C,EAAwD3xD,OAAxD;EACD,GAFD;EAGD;;EAED,SAAS2hB,SAAT,CAAoB5kB,EAApB,EAAqC8jB,OAArC,EAAqE;EAAA;;EACnE,QAAMpb,MAAM,GAAG,kBAAAob,OAAO,CAAChc,KAAR,4BAAepG,MAAf,GAAwB1B,EAAE,CAAC2Q,aAA3B,GAA2C3Q,EAA1D;EACA,QAAMskB,GAAG,yBAAGR,OAAO,CAACM,QAAX,qBAAG,mBAAkBC,CAAlB,CAAoBC,GAAhC;EAEA,MAAI,EAAC5b,MAAD,YAACA,MAAM,CAAEisD,cAAT,KAA2B,CAACrwC,GAAhC,EAAqC;EAErC,QAAMowC,QAAQ,GAAGhsD,MAAM,CAACisD,cAAP,CAAsBrwC,GAAtB,CAAjB;EAEAxf,EAAAA,IAAI,CAAC4vD,QAAD,CAAJ,CAAevwB,OAAf,CAAuBywB,SAAS,IAAI;EAClClsD,IAAAA,MAAM,CAACgqB,mBAAP,CAA2BkiC,SAA3B,EAAsCF,QAAQ,CAACE,SAAD,CAA9C;EACD,GAFD;EAIA,SAAOlsD,MAAM,CAACisD,cAAP,CAAsBrwC,GAAtB,CAAP;EACD;;EAEM,MAAMuwC,KAAsB,GAAG;EACpChxC,EAAAA,OADoC;EAEpCe,EAAAA;EAFoC,CAA/B;;;;;;;;;;;;;ECpJP;;EASA,MAAMuL,OAAoB,GAAG;EAC3BlF,EAAAA,QAAQ,EAAE,gBADiB;EAE3BnE,EAAAA,QAAQ,EAAE,WAFiB;EAG3BguC,EAAAA,MAAM,EAAE,kBAHmB;EAI3Bh4C,EAAAA,KAAK,EAAE,WAJoB;EAK3B5W,EAAAA,MAAM,EAAE,kBALmB;EAKC;EAC5BgxC,EAAAA,KAAK,EAAE,kBANoB;EAO3B1hC,EAAAA,OAAO,EAAE,kBAPkB;EAQ3BD,EAAAA,IAAI,EAAE,iBARqB;EAS3BE,EAAAA,OAAO,EAAE,kBATkB;EAU3BlT,EAAAA,KAAK,EAAE,kBAVoB;EAW3ByL,EAAAA,IAAI,EAAE,kBAXqB;EAY3B2Q,EAAAA,IAAI,EAAE,mBAZqB;EAa3Bo2C,EAAAA,UAAU,EAAE,qBAbe;EAc3BC,EAAAA,WAAW,EAAE,4BAdc;EAe3BC,EAAAA,qBAAqB,EAAE,eAfI;EAgB3Br2C,EAAAA,SAAS,EAAE,YAhBgB;EAgBF;EACzBrD,EAAAA,IAAI,EAAE,cAjBqB;EAkB3B25C,EAAAA,MAAM,EAAE,kBAlBmB;EAmB3BC,EAAAA,IAAI,EAAE,UAnBqB;EAoB3BC,EAAAA,QAAQ,EAAE,eApBiB;EAqB3BC,EAAAA,QAAQ,EAAE,eArBiB;EAsB3BC,EAAAA,OAAO,EAAE,qBAtBkB;EAuB3BC,EAAAA,QAAQ,EAAE,oBAvBiB;EAwB3BC,EAAAA,IAAI,EAAE,YAxBqB;EAyB3BC,EAAAA,WAAW,EAAE,kBAzBc;EA0B3BC,EAAAA,UAAU,EAAE,UA1Be;EA2B3BC,EAAAA,UAAU,EAAE,oBA3Be;EA4B3BpgB,EAAAA,OAAO,EAAE,YA5BkB;EA6B3B91B,EAAAA,KAAK,EAAE,gBA7BoB;EA8B3B9b,EAAAA,IAAI,EAAE,eA9BqB;EA+B3BiyD,EAAAA,MAAM,EAAE,4BA/BmB;EAgC3BvyD,EAAAA,IAAI,EAAE,eAhCqB;EAiC3BwyD,EAAAA,IAAI,EAAE,UAjCqB;EAkC3BC,EAAAA,KAAK,EAAE;EAlCoB,CAA7B;EAqCA,MAAMC,GAAY,GAAG;EACnB;EACA/rD,EAAAA,SAAS,EAAGnF,KAAD,IAAgBxD,KAAC,CAACuuB,UAAD,EAAa,EAAE,GAAG/qB,KAAL;EAAYiL,IAAAA,KAAK,EAAE;EAAnB,GAAb;EAFT,CAArB;;ECbO,MAAMkmD,eAAa,GAAG,YAAkC;EAAA,MAAjC/yD,OAAiC,uEAAP,EAAO;;EAC7D,QAAMgzD,OAAO,GAAIlgD,GAAD,IAAc;EAC5B,UAAM;EACJmgD,MAAAA,UAAU,GAAG,EADT;EAEJ3wC,MAAAA,UAAU,GAAG,EAFT;EAGJyK,MAAAA,KAAK,GAAG;EAHJ,QAIF/sB,OAJJ;;EAMA,SAAK,MAAMqE,GAAX,IAAkBie,UAAlB,EAA8B;EAC5B,YAAMqrB,SAAS,GAAGrrB,UAAU,CAACje,GAAD,CAA5B;EAEAyO,MAAAA,GAAG,CAAC66B,SAAJ,CAActpC,GAAd,EAAmBspC,SAAnB;EACD;;EAED,SAAK,MAAMtpC,GAAX,IAAkB4uD,UAAlB,EAA8B;EAC5B,YAAMlsD,SAAS,GAAGksD,UAAU,CAAC5uD,GAAD,CAA5B;EAEAyO,MAAAA,GAAG,CAAC/L,SAAJ,CAAc1C,GAAd,EAAmB0C,SAAnB;EACD;;EAED+L,IAAAA,GAAG,CAAC5H,OAAJ,CAAYrB,cAAZ,EAA4BG,cAAc,CAAChK,OAAO,CAACkK,QAAT,CAA1C;EACA4I,IAAAA,GAAG,CAAC5H,OAAJ,CAAYurB,aAAZ,EAA2BgC,aAAa,CAACz4B,OAAO,CAACw5B,OAAT,CAAxC;EACA1mB,IAAAA,GAAG,CAAC5H,OAAJ,CAAYuG,WAAZ,EAAyBoB,WAAW,CAACC,GAAD,EAAM9S,OAAO,CAAC2R,KAAd,CAApC;EACAmB,IAAAA,GAAG,CAAC5H,OAAJ,CAAYkhB,UAAZ,EAAwB7mB,SAAS,CAAC;EAChCioB,MAAAA,UAAU,EAAE,KADoB;EAEhCJ,MAAAA,IAAI,EAAE,EACJ,GAAGR,WADC;EAEJkmC,QAAAA;EAFI,OAF0B;EAMhC5lC,MAAAA;EANgC,KAAD,EAO9BH,KAP8B,CAAjC;EAQA,UAAM;EAAEynB,MAAAA,OAAF;EAAWO,MAAAA;EAAX,QAA4BF,mBAAmB,CAAC/hC,GAAD,EAAM9S,OAAN,oBAAMA,OAAO,CAAE+1C,MAAf,CAArD;EACAjjC,IAAAA,GAAG,CAAC5H,OAAJ,CAAYmpC,mBAAZ,EAAiCG,OAAjC;EACA1hC,IAAAA,GAAG,CAAC5H,OAAJ,CAAYgU,SAAZ,EAAuBC,SAAS,CAAC41B,YAAD,EAAe/0C,OAAf,oBAAeA,OAAO,CAAE+1C,MAAxB,CAAhC,EAhC4B;;EAmC5B,aAAS5rC,MAAT,CAAgD9F,GAAhD,EAAiF;EAAA;;EAC/E,YAAM7F,EAAE,GAAG,KAAK4iB,CAAhB;EAEA,YAAMnO,QAAQ,wCAAGzU,EAAE,CAACC,MAAN,qBAAG,WAAWwU,QAAd,0DAA0BzU,EAAE,CAACoI,KAAH,CAASg7C,UAAnC,qBAA0B,qBAAqB3uC,QAA7D;;EAEA,UAAIA,QAAQ,IAAK5O,GAAD,IAAgB4O,QAAhC,EAA0C;EACxC,eAAOA,QAAQ,CAAE5O,GAAF,CAAf;EACD;EACF;;EAEDyO,IAAAA,GAAG,CAACogD,KAAJ,CAAU;EACRzoD,MAAAA,QAAQ,EAAE;EACR0oD,QAAAA,QAAQ,GAAI;EACV,iBAAOzoC,YAAQ,CAAC;EACdxgB,YAAAA,QAAQ,EAAEC,MAAM,CAACipD,IAAP,CAAY,IAAZ,EAAkBvpD,cAAlB,CADI;EAEd2vB,YAAAA,OAAO,EAAErvB,MAAM,CAACipD,IAAP,CAAY,IAAZ,EAAkB38B,aAAlB,CAFK;EAGd9kB,YAAAA,KAAK,EAAExH,MAAM,CAACipD,IAAP,CAAY,IAAZ,EAAkB3hD,WAAlB,CAHO;EAIdsb,YAAAA,KAAK,EAAE5iB,MAAM,CAACipD,IAAP,CAAY,IAAZ,EAAkBhnC,UAAlB,CAJO;EAKd2pB,YAAAA,MAAM,EAAE5rC,MAAM,CAACipD,IAAP,CAAY,IAAZ,EAAkB/e,mBAAlB,CALM;EAMd33B,YAAAA,GAAG,EAAEvS,MAAM,CAACipD,IAAP,CAAY,IAAZ,EAAkBl0C,SAAlB;EANS,WAAD,CAAf;EAQD;;EAVO;EADF,KAAV;EAcD,GA3DD;;EA6DA,SAAO;EAAE8zC,IAAAA;EAAF,GAAP;EACD,CA/DM;;QC3BMD,aAAa,GAAG,YAAkC;EAAA,MAAjC/yD,OAAiC,uEAAP,EAAO;EAC7D,SAAOqzD,eAAc,CAAC;EAAEJ,IAAAA,UAAF;EAAc3wC,IAAAA,UAAd;EAA0B,OAAGtiB;EAA7B,GAAD,CAArB;EACD;QAEYszD,OAAO;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"vuetify.js","sources":["../src/util/box.ts","../src/util/animation.ts","../src/util/console.ts","../src/util/helpers.ts","../src/util/color/transformSRGB.ts","../src/util/color/transformCIELAB.ts","../src/util/colorUtils.ts","../src/composables/defaults.ts","../src/util/defineComponent.tsx","../src/util/createSimpleFunctional.ts","../src/util/dom.ts","../src/util/easing.ts","../src/util/getCurrentInstance.ts","../src/util/getScrollParent.ts","../src/util/globals.ts","../src/util/isFixedPosition.ts","../src/util/propsFactory.ts","../src/util/useRender.ts","../src/util/color/APCA.ts","../src/composables/theme.ts","../src/composables/layout.ts","../src/locale/en.ts","../src/locale/index.ts","../src/composables/rtl.ts","../src/components/VApp/VApp.tsx","../src/composables/dimensions.ts","../src/components/VResponsive/VResponsive.tsx","../src/directives/intersect/index.ts","../src/composables/transition.ts","../src/components/VImg/VImg.tsx","../src/composables/border.ts","../src/composables/density.ts","../src/composables/elevation.ts","../src/composables/rounded.ts","../src/composables/tag.ts","../src/composables/color.ts","../src/composables/proxiedModel.ts","../src/components/VAppBar/VAppBar.tsx","../src/composables/variant.tsx","../src/components/VBtnGroup/VBtnGroup.tsx","../src/composables/group.ts","../src/components/VBtnToggle/VBtnToggle.tsx","../src/composables/size.ts","../src/composables/icons.tsx","../src/components/VIcon/VIcon.tsx","../src/composables/position.ts","../src/composables/router.tsx","../src/directives/ripple/index.ts","../src/components/VBtn/VBtn.tsx","../src/components/VAppBar/VAppBarNavIcon.tsx","../src/components/VAppBar/VAppBarTitle.tsx","../src/components/VAvatar/VAvatar.tsx","../src/components/VAlert/VAlert.tsx","../src/components/VBadge/VBadge.tsx","../src/components/VBanner/VBannerActions.ts","../src/components/VBanner/VBannerAvatar.tsx","../src/components/VBanner/VBannerContent.ts","../src/components/VBanner/VBannerText.ts","../src/composables/display.ts","../src/components/VBanner/VBanner.tsx","../src/components/VBottomNavigation/VBottomNavigation.tsx","../src/components/VBreadcrumbs/shared.ts","../src/components/VBreadcrumbs/VBreadcrumbsItem.tsx","../src/components/VBreadcrumbs/VBreadcrumbsDivider.tsx","../src/components/VBreadcrumbs/VBreadcrumbs.tsx","../src/components/VCard/VCardActions.ts","../src/components/VCard/VCardAvatar.ts","../src/components/VCard/VCardHeader.ts","../src/components/VCard/VCardHeaderText.ts","../src/components/VCard/VCardImg.ts","../src/components/VCard/VCardSubtitle.ts","../src/components/VCard/VCardText.ts","../src/components/VCard/VCardTitle.ts","../src/components/VCard/VCard.tsx","../src/components/transitions/createTransition.ts","../src/components/transitions/expand-transition.ts","../src/components/transitions/dialog-transition.tsx","../src/components/transitions/index.ts","../src/components/VMessages/VMessages.tsx","../src/composables/form.ts","../src/composables/validation.ts","../src/components/VInput/VInput.tsx","../src/components/VLabel/VLabel.tsx","../src/components/VSelectionControlGroup/VSelectionControlGroup.tsx","../src/components/VSelectionControl/VSelectionControl.tsx","../src/components/VCheckbox/VCheckbox.tsx","../src/components/VChip/VChip.tsx","../src/components/VCode/index.ts","../src/components/VCounter/VCounter.tsx","../src/components/VDefaultsProvider/VDefaultsProvider.tsx","../src/composables/delay.ts","../src/components/VOverlay/useActivator.tsx","../src/components/VOverlay/util/anchor.ts","../src/components/VOverlay/util/point.ts","../src/components/VOverlay/positionStrategies.ts","../src/components/VOverlay/requestNewFrame.ts","../src/components/VOverlay/scrollStrategies.ts","../src/composables/teleport.ts","../src/composables/lazy.ts","../src/composables/stack.ts","../src/directives/click-outside/index.ts","../src/components/VOverlay/VOverlay.tsx","../src/components/VDialog/VDialog.tsx","../src/components/VDivider/VDivider.tsx","../src/components/VExpansionPanel/VExpansionPanels.tsx","../src/components/VExpansionPanel/VExpansionPanelTitle.tsx","../src/components/VExpansionPanel/VExpansionPanelText.tsx","../src/components/VExpansionPanel/VExpansionPanel.tsx","../src/components/VField/VFieldLabel.tsx","../src/composables/intersectionObserver.ts","../src/components/VProgressLinear/VProgressLinear.tsx","../src/composables/loader.tsx","../src/composables/focus.ts","../src/components/VField/VField.tsx","../src/composables/locale.ts","../src/components/VFileInput/VFileInput.tsx","../src/components/VFooter/VFooter.tsx","../src/components/VForm/VForm.tsx","../src/components/VGrid/VContainer.tsx","../src/components/VGrid/VCol.ts","../src/components/VGrid/VRow.ts","../src/components/VGrid/VSpacer.ts","../src/components/VHover/VHover.tsx","../src/components/VItemGroup/VItemGroup.tsx","../src/components/VItemGroup/VItem.tsx","../src/components/VKbd/index.ts","../src/components/VLayout/VLayout.tsx","../src/components/VLayout/VLayoutItem.tsx","../src/components/VLazy/VLazy.tsx","../src/components/VList/VListSubheader.tsx","../src/composables/nested/openStrategies.ts","../src/composables/nested/selectStrategies.ts","../src/composables/nested/activeStrategies.ts","../src/composables/nested/nested.ts","../src/components/VList/VListGroup.tsx","../src/components/VList/VListItemAvatar.tsx","../src/components/VList/VListItemHeader.ts","../src/components/VList/VListItemSubtitle.ts","../src/components/VList/VListItemTitle.ts","../src/components/VList/VListItem.tsx","../src/components/VList/VListChildren.tsx","../src/components/VList/VList.tsx","../src/components/VList/VListImg.ts","../src/components/VList/VListItemMedia.tsx","../src/components/VLocaleProvider/VLocaleProvider.tsx","../src/composables/ssrBoot.ts","../src/components/VMain/VMain.tsx","../src/components/VMenu/VMenu.tsx","../src/composables/touch.ts","../src/components/VNavigationDrawer/touch.ts","../src/components/VNavigationDrawer/VNavigationDrawer.tsx","../src/composables/hydration.ts","../src/components/VNoSsr/VNoSsr.tsx","../src/composables/resizeObserver.ts","../src/composables/refs.ts","../src/components/VPagination/VPagination.tsx","../src/components/VParallax/VParallax.tsx","../src/components/VProgressCircular/VProgressCircular.tsx","../src/components/VRadio/VRadio.tsx","../src/components/VRadioGroup/VRadioGroup.tsx","../src/components/VSlider/slider.ts","../src/components/VSlider/VSliderThumb.tsx","../src/components/VSlider/VSliderTrack.tsx","../src/components/VRangeSlider/VRangeSlider.tsx","../src/components/VRating/VRating.tsx","../src/components/VSheet/VSheet.tsx","../src/components/VSlider/VSlider.tsx","../src/components/VSwitch/VSwitch.tsx","../src/components/VSystemBar/VSystemBar.tsx","../src/components/VTable/VTable.tsx","../src/components/VTextarea/VTextarea.tsx","../src/composables/forwardRef.ts","../src/components/VTextField/VTextField.tsx","../src/components/VThemeProvider/VThemeProvider.tsx","../src/components/VTimeline/shared.ts","../src/components/VTimeline/VTimelineDivider.tsx","../src/components/VTimeline/VTimelineItem.tsx","../src/components/VTimeline/VTimeline.tsx","../src/components/VTooltip/VTooltip.tsx","../src/components/VValidation/VValidation.tsx","../src/directives/mutate/index.ts","../src/directives/resize/index.ts","../src/directives/scroll/index.ts","../src/directives/touch/index.ts","../src/iconsets/mdi.ts","../src/framework.ts","../src/entry-bundler.ts"],"sourcesContent":["export class Box {\n x: number\n y: number\n width: number\n height: number\n\n constructor ({ x, y, width, height }: {\n x: number\n y: number\n width: number\n height: number\n }) {\n this.x = x\n this.y = y\n this.width = width\n this.height = height\n }\n\n get top () { return this.y }\n get bottom () { return this.y + this.height }\n get left () { return this.x }\n get right () { return this.x + this.width }\n}\n","import { Box } from '@/util/box'\n\n/** @see https://stackoverflow.com/a/57876601/2074736 */\nexport function nullifyTransforms (el: HTMLElement): Box {\n const rect = el.getBoundingClientRect()\n const style = getComputedStyle(el)\n const tx = style.transform\n\n if (tx) {\n let ta, sx, sy, dx, dy\n if (tx.startsWith('matrix3d(')) {\n ta = tx.slice(9, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[5]\n dx = +ta[12]\n dy = +ta[13]\n } else if (tx.startsWith('matrix(')) {\n ta = tx.slice(7, -1).split(/, /)\n sx = +ta[0]\n sy = +ta[3]\n dx = +ta[4]\n dy = +ta[5]\n } else {\n return new Box(rect)\n }\n\n const to = style.transformOrigin\n const x = rect.x - dx - (1 - sx) * parseFloat(to)\n const y = rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1))\n const w = sx ? rect.width / sx : el.offsetWidth\n const h = sy ? rect.height / sy : el.offsetHeight\n\n return new Box({ x, y, width: w, height: h })\n } else {\n return new Box(rect)\n }\n}\n","/* eslint-disable no-console */\n// import Vuetify from '../framework'\n\nfunction createMessage (message: string, vm?: any, parent?: any): string | void {\n // if (Vuetify.config.silent) return\n\n if (parent) {\n vm = {\n _isVue: true,\n $parent: parent,\n $options: vm,\n }\n }\n\n if (vm) {\n // Only show each message once per instance\n vm.$_alreadyWarned = vm.$_alreadyWarned || []\n if (vm.$_alreadyWarned.includes(message)) return\n vm.$_alreadyWarned.push(message)\n }\n\n return `[Vuetify] ${message}` + (\n vm ? generateComponentTrace(vm) : ''\n )\n}\n\nexport function consoleInfo (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.info(newMessage)\n}\n\nexport function consoleWarn (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.warn(newMessage)\n}\n\nexport function consoleError (message: string, vm?: any, parent?: any): void {\n const newMessage = createMessage(message, vm, parent)\n newMessage != null && console.error(newMessage)\n}\n\nexport function deprecate (original: string, replacement: string, vm?: any, parent?: any) {\n consoleWarn(`[UPGRADE] '${original}' is deprecated, use '${replacement}' instead.`, vm, parent)\n}\nexport function breaking (original: string, replacement: string, vm?: any, parent?: any) {\n consoleError(`[BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`, vm, parent)\n}\nexport function removed (original: string, vm?: any, parent?: any) {\n consoleWarn(`[REMOVED] '${original}' has been removed. You can safely omit it.`, vm, parent)\n}\n\n/**\n * Shamelessly stolen from vuejs/vue/blob/dev/src/core/util/debug.js\n */\n\nconst classifyRE = /(?:^|[-_])(\\w)/g\nconst classify = (str: string) => str\n .replace(classifyRE, c => c.toUpperCase())\n .replace(/[-_]/g, '')\n\nfunction formatComponentName (vm: any, includeFile?: boolean): string {\n if (vm.$root === vm) {\n return '<Root>'\n }\n const options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm || {}\n let name = options.name || options._componentTag\n const file = options.__file\n if (!name && file) {\n const match = file.match(/([^/\\\\]+)\\.vue$/)\n name = match?.[1]\n }\n\n return (\n (name ? `<${classify(name)}>` : `<Anonymous>`) +\n (file && includeFile !== false ? ` at ${file}` : '')\n )\n}\n\nfunction generateComponentTrace (vm: any): string {\n if (vm._isVue && vm.$parent) {\n const tree: any[] = []\n let currentRecursiveSequence = 0\n while (vm) {\n if (tree.length > 0) {\n const last: any = tree[tree.length - 1]\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++\n vm = vm.$parent\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence]\n currentRecursiveSequence = 0\n }\n }\n tree.push(vm)\n vm = vm.$parent\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map((vm, i) => `${\n i === 0 ? '---> ' : ' '.repeat(5 + i * 2)\n }${\n Array.isArray(vm)\n // eslint-disable-next-line sonarjs/no-nested-template-literals\n ? `${formatComponentName(vm[0])}... (${vm[1]} recursive calls)`\n : formatComponentName(vm)\n }`)\n .join('\\n')\n } else {\n return `\\n\\n(found in ${formatComponentName(vm)})`\n }\n}\n","// Utilities\nimport { camelize, Fragment, isRef, ref } from 'vue'\n\n// Types\nimport type { ComponentInternalInstance, ComponentPublicInstance, Ref, Slots, VNode, VNodeChild } from 'vue'\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\ntype SelectItemKey = string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any)\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number, start = 0): number[] {\n return Array.from({ length }, (v, k) => start + k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nconst tagsToReplace: Record<string, string> = {\n '&': '&',\n '<': '<',\n '>': '>',\n}\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: number, unit?: string): string\nexport function convertToUnit (str: string | number | null | undefined, unit?: string): string | undefined\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else if (!isFinite(+str!)) {\n return undefined\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj)\n}\n\nexport function isComponentInstance (obj: any): obj is ComponentPublicInstance {\n return obj?.$el\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\nexport const keyValues = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift',\n})\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\ntype MaybePick<\n T extends object,\n U extends Extract<keyof T, string>\n> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>\n\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: U[]): [yes: MaybePick<T, U>, no: Omit<T, U>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>]\nexport function pick<\n T extends object,\n U extends Extract<keyof T, string>\n> (obj: T, paths: (U | RegExp)[]): [yes: Partial<T>, no: Partial<T>] {\n const found = Object.create(null)\n const rest = Object.create(null)\n\n for (const key in obj) {\n if (\n paths.some(path => path instanceof RegExp\n ? path.test(key)\n : path === key\n )\n ) {\n found[key] = obj[key]\n } else {\n rest[key] = obj[key]\n }\n }\n\n return [found, rest]\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of a an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs (attrs: Record<string, unknown>) {\n return pick(attrs, ['class', 'style', 'id', /^data-/])\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i])\n }\n return diff\n}\n\ninterface ItemGroup<T> {\n name: string\n items: T[]\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] {\n return v == null\n ? []\n : Array.isArray(v)\n ? v : [v]\n}\n\ntype DataTableCompareFunction<T = any> = (a: T, b: T) => number\nexport function sortItems<T extends any, K extends keyof T> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<K, DataTableCompareFunction<T[K]>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters?.[sortKey as K]) {\n const customResult = customSorters[sortKey as K](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\ntype Writable<T> = {\n -readonly [P in keyof T]: T[P]\n}\n\n/**\n * Filters slots to only those starting with `prefix`, removing the prefix\n */\nexport function getPrefixedSlots (prefix: string, slots: Slots): Slots {\n return Object.keys(slots)\n .filter(k => k.startsWith(prefix))\n .reduce<Writable<Slots>>((obj, k) => {\n obj[k.replace(prefix, '')] = slots[k]\n return obj\n }, {})\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, base: 1000 | 1024 = 1000): string {\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Record<string, any> = {},\n target: Record<string, any> = {},\n out: Record<string, any> = {},\n) {\n for (const key in source) {\n out[key] = source[key]\n }\n\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n out[key] = mergeDeep(sourceProperty, targetProperty)\n\n continue\n }\n\n out[key] = targetProperty\n }\n\n return out\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\nexport function getUid () {\n return getUid._uid++\n}\ngetUid._uid = 0\n\nexport function flattenFragments (nodes: VNode[]): VNode[] {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children as VNode[])\n } else {\n return node\n }\n }).flat()\n}\n\nexport const randomHexColor = () => {\n const n = (Math.random() * 0xfffff * 1000000).toString(16)\n return '#' + n.slice(0, 6)\n}\n\nexport function toKebabCase (str = '') {\n return str\n .replace(/[^a-z]/gi, '-')\n .replace(/\\B([A-Z])/g, '-$1')\n .toLowerCase()\n}\n\nexport type MaybeRef<T> = T | Ref<T>\n\nexport type ExtractMaybeRef<P> = P extends MaybeRef<infer T> ? T : P;\n\nexport function wrapInRef <T> (x: T) {\n return (isRef(x) ? x : ref(x)) as Ref<ExtractMaybeRef<T>>\n}\n\nexport function findChildren (vnode?: VNodeChild): ComponentInternalInstance[] {\n if (!vnode || typeof vnode !== 'object') {\n return []\n }\n\n if (Array.isArray(vnode)) {\n return vnode\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (Array.isArray(vnode.children)) {\n return vnode.children\n .map(child => findChildren(child))\n .filter(v => v)\n .flat(1)\n } else if (vnode.component) {\n return [vnode.component, ...findChildren(vnode.component?.subTree)]\n .filter(v => v)\n .flat(1)\n }\n\n return []\n}\n\nexport class CircularBuffer<T = never> {\n readonly #arr: Array<T> = []\n #pointer = 0\n\n constructor (public readonly size: number) {}\n\n push (val: T) {\n this.#arr[this.#pointer] = val\n this.#pointer = (this.#pointer + 1) % this.size\n }\n\n values (): T[] {\n return this.#arr.slice(this.#pointer).concat(this.#arr.slice(0, this.#pointer))\n }\n}\n\nexport type UnionToIntersection<U> =\n (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never\n","import type { ColorInt, XYZ } from '../colorUtils'\nimport { clamp } from '../../util/helpers'\n\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [\n [3.2406, -1.5372, -0.4986],\n [-0.9689, 1.8758, 0.0415],\n [0.0557, -0.2040, 1.0570],\n]\n\n// Forward gamma adjust\nconst srgbForwardTransform = (C: number): number => (\n C <= 0.0031308\n ? C * 12.92\n : 1.055 * C ** (1 / 2.4) - 0.055\n)\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [\n [0.4124, 0.3576, 0.1805],\n [0.2126, 0.7152, 0.0722],\n [0.0193, 0.1192, 0.9505],\n]\n\n// Reverse gamma adjust\nconst srgbReverseTransform = (C: number): number => (\n C <= 0.04045\n ? C / 12.92\n : ((C + 0.055) / 1.055) ** 2.4\n)\n\nexport function fromXYZ (xyz: XYZ): ColorInt {\n const rgb = Array(3)\n const transform = srgbForwardTransform\n const matrix = srgbForwardMatrix\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n rgb[i] = Math.round(clamp(transform(\n matrix[i][0] * xyz[0] +\n matrix[i][1] * xyz[1] +\n matrix[i][2] * xyz[2]\n )) * 255)\n }\n\n // Rescale back to [0, 255]\n return (rgb[0] << 16) + (rgb[1] << 8) + (rgb[2] << 0)\n}\n\nexport function toXYZ (rgb: ColorInt): XYZ {\n const xyz: XYZ = [0, 0, 0]\n const transform = srgbReverseTransform\n const matrix = srgbReverseMatrix\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n const r = transform((rgb >> 16 & 0xff) / 255)\n const g = transform((rgb >> 8 & 0xff) / 255)\n const b = transform((rgb >> 0 & 0xff) / 255)\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b\n }\n\n return xyz\n}\n","import type { LAB, XYZ } from '../colorUtils'\n\nconst delta = 0.20689655172413793 // 6÷29\n\nconst cielabForwardTransform = (t: number): number => (\n t > delta ** 3\n ? Math.cbrt(t)\n : (t / (3 * delta ** 2)) + 4 / 29\n)\n\nconst cielabReverseTransform = (t: number): number => (\n t > delta\n ? t ** 3\n : (3 * delta ** 2) * (t - 4 / 29)\n)\n\nexport function fromXYZ (xyz: XYZ): LAB {\n const transform = cielabForwardTransform\n const transformedY = transform(xyz[1])\n\n return [\n 116 * transformedY - 16,\n 500 * (transform(xyz[0] / 0.95047) - transformedY),\n 200 * (transformedY - transform(xyz[2] / 1.08883)),\n ]\n}\n\nexport function toXYZ (lab: LAB): XYZ {\n const transform = cielabReverseTransform\n const Ln = (lab[0] + 16) / 116\n return [\n transform(Ln + lab[1] / 500) * 0.95047,\n transform(Ln),\n transform(Ln - lab[2] / 200) * 1.08883,\n ]\n}\n","// Utilities\nimport { consoleWarn } from './console'\nimport { chunk, padEnd } from './helpers'\nimport * as sRGB from '@/util/color/transformSRGB'\nimport * as CIELAB from '@/util/color/transformCIELAB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type ColorInt = number\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number }\nexport type HSVA = HSV & { a: number }\nexport type RGB = { r: number, g: number, b: number }\nexport type RGBA = RGB & { a: number }\nexport type HSL = { h: number, s: number, l: number }\nexport type HSLA = HSL & { a: number }\nexport type Hex = string\nexport type Hexa = string\nexport type Color = string | number | {}\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nexport function colorToInt (color: Color): ColorInt {\n let rgb\n\n if (typeof color === 'number') {\n rgb = color\n } else if (typeof color === 'string') {\n let c = color.startsWith('#') ? color.substring(1) : color\n if (c.length === 3) {\n c = c.split('').map(char => char + char).join('')\n }\n if (c.length !== 6) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n }\n rgb = parseInt(c, 16)\n } else {\n throw new TypeError(`Colors can only be numbers or strings, recieved ${color == null ? color : color.constructor.name} instead`)\n }\n\n if (rgb < 0) {\n consoleWarn(`Colors cannot be negative: '${color}'`)\n rgb = 0\n } else if (rgb > 0xffffff || isNaN(rgb)) {\n consoleWarn(`'${color}' is not a valid rgb color`)\n rgb = 0xffffff\n }\n\n return rgb\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\nexport function intToHex (color: ColorInt): string {\n let hexColor: string = color.toString(16)\n\n if (hexColor.length < 6) hexColor = '0'.repeat(6 - hexColor.length) + hexColor\n\n return '#' + hexColor\n}\n\nexport function colorToHex (color: Color): string {\n return intToHex(colorToInt(color))\n}\n\n/**\n * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]\n */\nexport function HSVAtoRGBA (hsva: HSVA): RGBA {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\n/**\n * Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n *\n * @param color RGBA color as an array [0-255, 0-255, 0-255, 0-1]\n */\nexport function RGBAtoHSVA (rgba: RGBA): HSVA {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVAtoHSLA (hsva: HSVA): HSLA {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLAtoHSVA (hsl: HSLA): HSVA {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBAtoCSS (rgba: RGBA): string {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`\n}\n\nexport function RGBtoCSS (rgba: RGBA): string {\n return RGBAtoCSS({ ...rgba, a: 1 })\n}\n\nexport function RGBAtoHex (rgba: RGBA): Hex {\n const toHex = (v: number) => {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n }\n\n return `#${[\n toHex(rgba.r),\n toHex(rgba.g),\n toHex(rgba.b),\n toHex(Math.round(rgba.a * 255)),\n ].join('')}`\n}\n\nexport function HexToRGBA (hex: Hex): RGBA {\n const rgba = chunk(hex.slice(1), 2).map((c: string) => parseInt(c, 16))\n\n return {\n r: rgba[0],\n g: rgba[1],\n b: rgba[2],\n a: Math.round((rgba[3] / 255) * 100) / 100,\n }\n}\n\nexport function HexToHSVA (hex: Hex): HSVA {\n const rgb = HexToRGBA(hex)\n return RGBAtoHSVA(rgb)\n}\n\nexport function HSVAtoHex (hsva: HSVA): Hex {\n return RGBAtoHex(HSVAtoRGBA(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length === 6) {\n hex = padEnd(hex, 8, 'F')\n } else {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return `#${hex}`.toUpperCase().substr(0, 9)\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGBA(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function RGBtoInt (rgba: RGBA): ColorInt {\n return (rgba.r << 16) + (rgba.g << 8) + rgba.b\n}\n\nexport function colorToRGB (color: string) {\n const int = colorToInt(color)\n\n return {\n r: (int & 0xFF0000) >> 16,\n g: (int & 0xFF00) >> 8,\n b: (int & 0xFF),\n }\n}\n\nexport function lighten (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n // TODO: why this false positive?\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: ColorInt, amount: number): ColorInt {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = colorToInt(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n","// Utilities\nimport { computed, inject, provide, ref, unref } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface DefaultsInstance {\n [key: string]: undefined | Record<string, unknown>\n global?: Record<string, unknown>\n}\n\nexport type DefaultsOptions = Partial<DefaultsInstance>\n\nexport const DefaultsSymbol: InjectionKey<Ref<DefaultsInstance>> = Symbol.for('vuetify:defaults')\n\nexport function createDefaults (options?: DefaultsInstance): Ref<DefaultsInstance> {\n return ref(options ?? {})\n}\n\nexport function useDefaults () {\n const defaults = inject(DefaultsSymbol)\n\n if (!defaults) throw new Error('[Vuetify] Could not find defaults instance')\n\n return defaults\n}\n\nexport function provideDefaults (\n defaults?: MaybeRef<DefaultsInstance | undefined>,\n options?: {\n reset?: MaybeRef<number | string | undefined>\n root?: MaybeRef<boolean | undefined>\n scoped?: MaybeRef<boolean | undefined>\n }\n) {\n const injectedDefaults = useDefaults()\n const providedDefaults = ref(defaults)\n\n const newDefaults = computed(() => {\n const scoped = unref(options?.scoped)\n const reset = unref(options?.reset)\n const root = unref(options?.root)\n\n let properties = mergeDeep(providedDefaults.value, { prev: injectedDefaults.value })\n\n if (scoped) return properties\n\n if (reset || root) {\n const len = Number(reset || Infinity)\n\n for (let i = 0; i <= len; i++) {\n if (!properties.prev) break\n\n properties = properties.prev\n }\n\n return properties\n }\n\n return mergeDeep(properties, properties.prev)\n }) as ComputedRef<DefaultsInstance>\n\n provide(DefaultsSymbol, newDefaults)\n\n return newDefaults\n}\n","// Utils\nimport {\n defineComponent as _defineComponent,\n getCurrentInstance,\n shallowReactive,\n toRaw,\n watchEffect,\n} from 'vue'\nimport { consoleWarn } from '@/util/console'\nimport { toKebabCase } from '@/util/helpers'\nimport { useDefaults } from '@/composables/defaults'\n\n// Types\nimport type {\n ComponentOptions,\n ComponentOptionsMixin,\n ComponentOptionsWithObjectProps,\n ComponentPropsOptions,\n ComputedOptions,\n DefineComponent,\n EmitsOptions,\n MethodOptions,\n VNode,\n VNodeChild,\n} from 'vue'\n\nfunction propIsDefined (vnode: VNode, prop: string) {\n return vnode.props?.hasOwnProperty(prop) ||\n vnode.props?.hasOwnProperty(toKebabCase(prop))\n}\n\nexport const defineComponent = (function defineComponent (options: ComponentOptions) {\n options._setup = options._setup ?? options.setup\n\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value')\n\n return options\n }\n\n if (options._setup) {\n options.setup = function setup (props: Record<string, any>, ctx) {\n const vm = getCurrentInstance()!\n const defaults = useDefaults()\n\n const _props = shallowReactive({ ...toRaw(props) })\n watchEffect(() => {\n const globalDefaults = defaults.value.global\n const componentDefaults = defaults.value[options.name!]\n\n for (const prop of Object.keys(props)) {\n let newVal\n if (propIsDefined(vm.vnode, prop)) {\n newVal = props[prop]\n } else {\n newVal = componentDefaults?.[prop] ?? globalDefaults?.[prop] ?? props[prop]\n }\n if (_props[prop] !== newVal) {\n _props[prop] = newVal\n }\n }\n })\n\n return options._setup(_props, ctx)\n }\n }\n\n return options\n}) as unknown as typeof _defineComponent\n\ntype ToListeners<T extends string | number | symbol> = { [K in T]: K extends `on${infer U}` ? Uncapitalize<U> : K }[T]\nexport type SlotsToProps<T extends Record<string, Slot>> = {\n $children: () => (T['default'] | VNodeChild | { [K in keyof T]?: T[K] })\n 'v-slots': new () => { [K in keyof T]?: T[K] | false }\n}/* & { // TODO: individual slots are never converted from the constructor type\n [K in keyof T as `v-slot:${K & string}`]?: new () => (T[K] | false)\n} */\n\ntype Slot<T extends any[] = any[]> = (...args: T) => VNodeChild\nexport type MakeSlots<T extends Record<string, any[]>> = {\n [K in keyof T]?: Slot<T[K]>\n}\n\nexport function genericComponent<T extends (new () => {\n $slots?: Record<string, Slot>\n})> (exposeDefaults = true): <\n PropsOptions extends Readonly<ComponentPropsOptions>,\n RawBindings,\n D,\n C extends ComputedOptions = {},\n M extends MethodOptions = {},\n Mixin extends ComponentOptionsMixin = ComponentOptionsMixin,\n Extends extends ComponentOptionsMixin = ComponentOptionsMixin,\n E extends EmitsOptions = Record<string, any>,\n EE extends string = string,\n I = InstanceType<T>,\n Base = DefineComponent<\n (I extends Record<'$props', any> ? Omit<PropsOptions, keyof I['$props']> : PropsOptions) & (\n I extends Record<'$slots', any>\n ? SlotsToProps<I['$slots']>\n : {}\n ),\n RawBindings,\n D,\n C,\n M,\n Mixin,\n Extends,\n E extends any[] ? E : I extends Record<'$props', any> ? Omit<E, ToListeners<keyof I['$props']>> : E,\n EE\n >\n>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE>) => Base & T {\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options) as any\n}\n","import { camelize, capitalize, h } from 'vue'\nimport { defineComponent } from './defineComponent'\n\nexport function createSimpleFunctional (\n klass: string,\n tag = 'div',\n name?: string\n) {\n return defineComponent({\n name: name ?? capitalize(camelize(klass.replace(/__/g, '-'))),\n\n props: {\n tag: {\n type: String,\n default: tag,\n },\n },\n\n setup (props, { slots }) {\n return () => h(props.tag, {\n class: klass,\n }, slots.default?.())\n },\n })\n}\n","/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot (node: Node): null | HTMLDocument | ShadowRoot {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode\n\n // The root parent is the document if the node is attached to the DOM\n if (node !== document) return null\n\n return document\n }\n\n const root = node.getRootNode()\n\n // The composed root node is the document if the node is attached to the DOM\n if (root !== document && root.getRootNode({ composed: true }) !== document) return null\n\n return root as HTMLDocument | ShadowRoot\n}\n","export const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)'\nexport const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)' // Entering\nexport const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)' // Leaving\n","// Utilities\nimport { getCurrentInstance as _getCurrentInstance } from 'vue'\nimport { toKebabCase } from '@/util'\n\nexport function getCurrentInstance (name: string, message?: string) {\n const vm = _getCurrentInstance()\n\n if (!vm) {\n throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`)\n }\n\n return vm\n}\n\nexport function getCurrentInstanceName (name = 'composables') {\n return toKebabCase(getCurrentInstance(name).type?.name)\n}\n","export function getScrollParent (el?: HTMLElement) {\n while (el) {\n if (hasScrollbar(el)) return el\n el = el.parentElement!\n }\n\n return document.scrollingElement as HTMLElement\n}\n\nexport function getScrollParents (el?: HTMLElement) {\n const elements: HTMLElement[] = []\n while (el) {\n if (hasScrollbar(el)) elements.push(el)\n el = el.parentElement!\n }\n\n return elements\n}\n\nexport function hasScrollbar (el?: Element | null) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return style.overflowY === 'scroll' || (style.overflowY === 'auto' && el.scrollHeight > el.clientHeight)\n}\n","export const IS_NODE = typeof process !== 'undefined'\nexport const IN_BROWSER = typeof window !== 'undefined'\nexport const IS_DEBUG = IS_NODE && process.env.DEBUG === 'true'\nexport const IS_PROD = IS_NODE && process.env.NODE_ENV === 'production'\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0)\nexport const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && CSS.supports('selector(:focus-visible)')\n","export function isFixedPosition (el?: HTMLElement) {\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n return true\n }\n el = el.offsetParent as HTMLElement\n }\n return false\n}\n","import type { ComponentObjectPropsOptions, Prop, PropType } from 'vue'\n\n/**\n * Creates a factory function for props definitions.\n * This is used to define props in a composable then override\n * default values in an implementing component.\n *\n * @example Simplified signature\n * (props: Props) => (defaults?: Record<keyof props, any>) => Props\n *\n * @example Usage\n * const makeProps = propsFactory({\n * foo: String,\n * })\n *\n * defineComponent({\n * props: {\n * ...makeProps({\n * foo: 'a',\n * }),\n * },\n * setup (props) {\n * // would be \"string | undefined\", now \"string\" because a default has been provided\n * props.foo\n * },\n * }\n */\n\nexport function propsFactory<\n PropsOptions extends ComponentObjectPropsOptions\n> (props: PropsOptions, source?: string) {\n return <Defaults extends PartialKeys<PropsOptions> = {}>(\n defaults?: Defaults\n ): AppendDefault<PropsOptions, Defaults> => {\n return Object.keys(props).reduce<any>((obj, prop) => {\n const isObjectDefinition = typeof props[prop] === 'object' && props[prop] != null && !Array.isArray(props[prop])\n const definition = isObjectDefinition ? props[prop] : { type: props[prop] }\n\n if (defaults && prop in defaults) {\n obj[prop] = {\n ...definition,\n default: defaults[prop],\n }\n } else {\n obj[prop] = definition\n }\n\n if (source) {\n obj[prop].source = source\n }\n\n return obj\n }, {})\n }\n}\n\ntype AppendDefault<T extends ComponentObjectPropsOptions, D extends PartialKeys<T>> = {\n [P in keyof T]-?: unknown extends D[P]\n ? T[P]\n : T[P] extends Record<string, unknown>\n ? Omit<T[P], 'type' | 'default'> & {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n : {\n type: PropType<MergeDefault<T[P], D[P]>>\n default: MergeDefault<T[P], D[P]>\n }\n}\n\ntype MergeDefault<T, D> = unknown extends D ? InferPropType<T> : (NonNullable<InferPropType<T>> | D)\n\n/**\n * Like `Partial<T>` but doesn't care what the value is\n */\ntype PartialKeys<T> = { [P in keyof T]?: unknown }\n\n// Copied from Vue\ntype InferPropType<T> = T extends null\n ? any // null & true would fail to infer\n : T extends { type: null | true }\n ? any // As TS issue https://github.com/Microsoft/TypeScript/issues/14829 // somehow `ObjectConstructor` when inferred from { (): T } becomes `any` // `BooleanConstructor` when inferred from PropConstructor(with PropMethod) becomes `Boolean`\n : T extends ObjectConstructor | { type: ObjectConstructor }\n ? Record<string, any>\n : T extends BooleanConstructor | { type: BooleanConstructor }\n ? boolean\n : T extends Prop<infer V, infer D> ? (unknown extends V ? D : V) : T\n","// Utilities\nimport { getCurrentInstance } from './getCurrentInstance'\n\n// Types\nimport type { VNode } from 'vue'\n\nexport function useRender (render: () => VNode): void {\n const vm = getCurrentInstance('useRender') as any\n vm.render = render\n}\n","/**\n * WCAG 3.0 APCA perceptual contrast algorithm from https://github.com/Myndex/SAPC-APCA\n * @licence https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n * @see https://www.w3.org/WAI/GL/task-forces/silver/wiki/Visual_Contrast_of_Text_Subgroup\n */\n\n// MAGICAL NUMBERS\n\n// sRGB Conversion to Relative Luminance (Y)\n\n// Transfer Curve (aka \"Gamma\") for sRGB linearization\n// Simple power curve vs piecewise described in docs\n// Essentially, 2.4 best models actual display\n// characteristics in combination with the total method\nconst mainTRC = 2.4\n\nconst Rco = 0.2126729 // sRGB Red Coefficient (from matrix)\nconst Gco = 0.7151522 // sRGB Green Coefficient (from matrix)\nconst Bco = 0.0721750 // sRGB Blue Coefficient (from matrix)\n\n// For Finding Raw SAPC Contrast from Relative Luminance (Y)\n\n// Constants for SAPC Power Curve Exponents\n// One pair for normal text, and one for reverse\n// These are the \"beating heart\" of SAPC\nconst normBG = 0.55\nconst normTXT = 0.58\nconst revTXT = 0.57\nconst revBG = 0.62\n\n// For Clamping and Scaling Values\n\nconst blkThrs = 0.03 // Level that triggers the soft black clamp\nconst blkClmp = 1.45 // Exponent for the soft black clamp curve\nconst deltaYmin = 0.0005 // Lint trap\nconst scaleBoW = 1.25 // Scaling for dark text on light\nconst scaleWoB = 1.25 // Scaling for light text on dark\nconst loConThresh = 0.078 // Threshold for new simple offset scale\nconst loConFactor = 12.82051282051282 // = 1/0.078,\nconst loConOffset = 0.06 // The simple offset\nconst loClip = 0.001 // Output clip (lint trap #2)\n\nexport function APCAcontrast (text: number, background: number) {\n // Linearize sRGB\n const Rtxt = ((text >> 16 & 0xff) / 255) ** mainTRC\n const Gtxt = ((text >> 8 & 0xff) / 255) ** mainTRC\n const Btxt = ((text >> 0 & 0xff) / 255) ** mainTRC\n\n const Rbg = ((background >> 16 & 0xff) / 255) ** mainTRC\n const Gbg = ((background >> 8 & 0xff) / 255) ** mainTRC\n const Bbg = ((background >> 0 & 0xff) / 255) ** mainTRC\n\n // Apply the standard coefficients and sum to Y\n let Ytxt = (Rtxt * Rco) + (Gtxt * Gco) + (Btxt * Bco)\n let Ybg = (Rbg * Rco) + (Gbg * Gco) + (Bbg * Bco)\n\n // Soft clamp Y when near black.\n // Now clamping all colors to prevent crossover errors\n if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp\n if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp\n\n // Return 0 Early for extremely low ∆Y (lint trap #1)\n if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0.0\n\n // SAPC CONTRAST\n\n let outputContrast: number // For weighted final values\n if (Ybg > Ytxt) {\n // For normal polarity, black text on white\n // Calculate the SAPC contrast value and scale\n\n const SAPC = ((Ybg ** normBG) - (Ytxt ** normTXT)) * scaleBoW\n\n // NEW! SAPC SmoothScale™\n // Low Contrast Smooth Scale Rollout to prevent polarity reversal\n // and also a low clip for very low contrasts (lint trap #2)\n // much of this is for very low contrasts, less than 10\n // therefore for most reversing needs, only loConOffset is important\n outputContrast =\n (SAPC < loClip) ? 0.0\n : (SAPC < loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC - loConOffset\n } else {\n // For reverse polarity, light text on dark\n // WoB should always return negative value.\n\n const SAPC = ((Ybg ** revBG) - (Ytxt ** revTXT)) * scaleWoB\n\n outputContrast =\n (SAPC > -loClip) ? 0.0\n : (SAPC > -loConThresh) ? SAPC - SAPC * loConFactor * loConOffset\n : SAPC + loConOffset\n }\n\n return outputContrast * 100\n}\n","// Utilities\nimport { computed, inject, provide, ref, watch, watchEffect } from 'vue'\nimport {\n colorToInt,\n colorToRGB,\n createRange,\n darken,\n getCurrentInstance,\n getLuma,\n IN_BROWSER,\n intToHex,\n lighten,\n mergeDeep,\n propsFactory,\n} from '@/util'\nimport { APCAcontrast } from '@/util/color/APCA'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { HeadClient } from '@vueuse/head'\n\ntype DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T\n\ninterface BaseColors {\n background: string\n surface: string\n primary: string\n secondary: string\n success: string\n warning: string\n error: string\n info: string\n}\n\ninterface OnColors {\n 'on-background': string\n 'on-surface': string\n 'on-primary': string\n 'on-secondary': string\n 'on-success': string\n 'on-warning': string\n 'on-error': string\n 'on-info': string\n}\n\nexport interface Colors extends BaseColors, OnColors {\n [key: string]: string\n}\n\ninterface InternalThemeDefinition {\n dark: boolean\n colors: Colors\n variables: Record<string, string | number>\n}\n\ninterface VariationsOptions {\n colors: string[]\n lighten: number\n darken: number\n}\n\ninterface InternalThemeOptions {\n isDisabled: boolean\n defaultTheme: string\n variations: VariationsOptions\n themes: Record<string, InternalThemeDefinition>\n}\n\nexport type ThemeDefinition = DeepPartial<InternalThemeDefinition>\n\nexport type ThemeOptions = false | {\n defaultTheme?: string\n variations?: false | VariationsOptions\n themes?: Record<string, ThemeDefinition>\n}\n\nexport interface ThemeInstance {\n isDisabled: boolean\n themes: Ref<Record<string, InternalThemeDefinition>>\n current: Ref<string>\n themeClasses: Ref<string | undefined>\n setTheme: (key: string, theme: InternalThemeDefinition) => void\n getTheme: (key: string) => InternalThemeDefinition\n styles: Ref<string>\n}\n\nexport const ThemeSymbol: InjectionKey<ThemeInstance> = Symbol.for('vuetify:theme')\n\nexport const makeThemeProps = propsFactory({\n theme: String,\n}, 'theme')\n\nconst defaultThemeOptions: ThemeOptions = {\n defaultTheme: 'light',\n variations: { colors: [], lighten: 0, darken: 0 },\n themes: {\n light: {\n dark: false,\n colors: {\n background: '#FFFFFF',\n surface: '#FFFFFF',\n 'surface-variant': '#424242',\n 'on-surface-variant': '#EEEEEE',\n primary: '#6200EE',\n 'primary-darken-1': '#3700B3',\n secondary: '#03DAC6',\n 'secondary-darken-1': '#018786',\n error: '#B00020',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n variables: {\n 'border-color': '#000000',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.04,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.12,\n 'dragged-opacity': 0.08,\n 'kbd-background-color': '#212529',\n 'kbd-color': '#FFFFFF',\n 'code-background-color': '#C2C2C2',\n },\n },\n dark: {\n dark: true,\n colors: {\n background: '#121212',\n surface: '#212121',\n 'surface-variant': '#BDBDBD',\n 'on-surface-variant': '#424242',\n primary: '#BB86FC',\n 'primary-darken-1': '#3700B3',\n secondary: '#03DAC5',\n 'secondary-darken-1': '#03DAC5',\n error: '#CF6679',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00',\n },\n variables: {\n 'border-color': '#FFFFFF',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.10,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.16,\n 'dragged-opacity': 0.08,\n 'kbd-background-color': '#212529',\n 'kbd-color': '#FFFFFF',\n 'code-background-color': '#B7B7B7',\n },\n },\n },\n}\n\nconst parseThemeOptions = (options: ThemeOptions = defaultThemeOptions): InternalThemeOptions => {\n if (!options) return { ...defaultThemeOptions, isDisabled: true } as InternalThemeOptions\n\n const themes = Object.entries(options.themes ?? {}).reduce((obj, [key, theme]) => {\n const defaultTheme = theme.dark ? defaultThemeOptions.themes?.dark : defaultThemeOptions.themes?.light\n obj[key] = mergeDeep(defaultTheme, theme)\n return obj\n }, {} as Record<string, ThemeDefinition>)\n\n return mergeDeep(\n defaultThemeOptions,\n { ...options, themes },\n ) as InternalThemeOptions\n}\n\n// Composables\nexport function createTheme (app: App, options?: ThemeOptions): ThemeInstance {\n const head = app._context.provides.usehead as HeadClient | undefined\n const parsedOptions = parseThemeOptions(options)\n const styleEl = ref<HTMLStyleElement>()\n const current = ref(parsedOptions.defaultTheme)\n const themes = ref(parsedOptions.themes)\n const variations = ref(parsedOptions.variations)\n\n const computedThemes = computed(() => {\n return Object.entries(themes.value).reduce((obj, [name, original]) => {\n const theme: InternalThemeDefinition = {\n ...original,\n colors: {\n ...original.colors,\n ...(parsedOptions.variations.colors ?? []).reduce((obj, color) => {\n return { ...obj, ...genColorVariations(color, original.colors[color]!) }\n }, {}),\n },\n }\n\n for (const color of Object.keys(theme.colors)) {\n if (/on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue\n\n const onColor = `on-${color}` as keyof OnColors\n const colorVal = colorToInt(theme.colors[color]!)\n\n const blackContrast = Math.abs(APCAcontrast(0, colorVal))\n const whiteContrast = Math.abs(APCAcontrast(0xffffff, colorVal))\n\n // TODO: warn about poor color selections\n // const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))\n // const minContrast = Math.max(blackContrast, whiteContrast)\n // if (minContrast < 60) {\n // consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)\n // } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {\n // consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)\n // }\n\n // Prefer white text if both have an acceptable contrast ratio\n theme.colors[onColor] = whiteContrast > Math.min(blackContrast, 50) ? '#fff' : '#000'\n }\n\n obj[name] = theme\n\n return obj\n }, {} as Record<string, InternalThemeDefinition>)\n })\n\n function genColorVariations (name: string, color: string) {\n const obj: Record<string, string> = {}\n for (const variation of (['lighten', 'darken'] as const)) {\n const fn = variation === 'lighten' ? lighten : darken\n for (const amount of createRange(variations.value[variation], 1)) {\n obj[`${name}-${variation}-${amount}`] = intToHex(fn(colorToInt(color), amount))\n }\n }\n\n return obj\n }\n\n const styles = computed(() => {\n const lines = []\n\n for (const themeName of Object.keys(computedThemes.value)) {\n const variables = computedThemes.value[themeName].variables\n\n lines.push(...createCssClass(`.v-theme--${themeName}`, [\n ...genCssVariables(themeName),\n ...Object.keys(variables).map(key => {\n const value = variables[key]\n const color = typeof value === 'string' && value.startsWith('#') ? colorToRGB(value) : undefined\n const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined\n\n return `--v-${key}: ${rgb ?? value}`\n }),\n ]))\n }\n\n const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)))\n for (const key of colors) {\n if (/on-[a-z]/.test(key)) {\n lines.push(...createCssClass(`.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]))\n } else {\n lines.push(\n ...createCssClass(`.bg-${key}`, [\n `--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`,\n `background: rgb(var(--v-theme-${key})) !important`,\n `color: rgb(var(--v-theme-on-${key})) !important`,\n ]),\n ...createCssClass(`.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]),\n ...createCssClass(`.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]),\n )\n }\n }\n\n return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('')\n })\n\n function genCssVariables (name: string) {\n const theme = computedThemes.value[name]\n\n if (!theme) throw new Error(`Could not find theme ${name}`)\n\n const lightOverlay = theme.dark ? 2 : 1\n const darkOverlay = theme.dark ? 1 : 2\n\n const variables: string[] = []\n for (const [key, value] of Object.entries(theme.colors)) {\n const rgb = colorToRGB(value!)\n variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`)\n if (!key.startsWith('on-')) {\n variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`)\n }\n }\n\n return variables\n }\n\n function createCssClass (selector: string, content: string[]) {\n return [\n `${selector} {\\n`,\n ...content.map(line => ` ${line};\\n`),\n '}\\n',\n ]\n }\n\n if (head) {\n head.addHeadObjs(computed(() => ({\n style: [{\n children: styles.value,\n type: 'text/css',\n id: 'vuetify-theme-stylesheet',\n }],\n })))\n\n if (IN_BROWSER) {\n watchEffect(() => head.updateDOM())\n }\n } else {\n watch(themes, updateStyles, { deep: true, immediate: true })\n\n function updateStyles () {\n if (parsedOptions.isDisabled) return\n\n genStyleElement()\n\n if (styleEl.value) styleEl.value.innerHTML = styles.value\n }\n\n function genStyleElement () {\n if (typeof document === 'undefined' || styleEl.value) return\n\n const el = document.createElement('style')\n el.type = 'text/css'\n el.id = 'vuetify-theme-stylesheet'\n\n styleEl.value = el\n document.head.appendChild(styleEl.value)\n }\n }\n\n return {\n isDisabled: parsedOptions.isDisabled,\n themes: computedThemes,\n setTheme: (key: string, theme: InternalThemeDefinition) => themes.value[key] = theme,\n getTheme: (key: string) => computedThemes.value[key],\n current,\n themeClasses: computed(() => parsedOptions.isDisabled ? undefined : `v-theme--${current.value}`),\n styles,\n }\n}\n\nexport function provideTheme (props: { theme?: string }) {\n getCurrentInstance('provideTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n const current = computed<string>(() => {\n return props.theme ?? theme?.current.value\n })\n\n const themeClasses = computed(() => theme.isDisabled ? undefined : `v-theme--${current.value}`)\n\n const newTheme: ThemeInstance = {\n ...theme,\n current,\n themeClasses,\n }\n\n provide(ThemeSymbol, newTheme)\n\n return newTheme\n}\n\nexport function useTheme () {\n getCurrentInstance('useTheme')\n\n const theme = inject(ThemeSymbol, null)\n\n if (!theme) throw new Error('Could not find Vuetify theme injection')\n\n return theme\n}\n","// Utilities\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { convertToUnit, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\n\ntype Position = 'top' | 'left' | 'right' | 'bottom'\n\ntype LayoutItem = {\n id: string\n top: number\n bottom: number\n left: number\n right: number\n size: number\n}\n\ninterface LayoutProvide {\n register: (\n id: string,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>,\n disableTransitions?: Ref<boolean>\n ) => Ref<Record<string, unknown>>\n unregister: (id: string) => void\n mainStyles: Ref<Record<string, unknown>>\n getLayoutItem: (id: string) => LayoutItem | undefined\n items: Ref<LayoutItem[]>\n}\n\nexport const VuetifyLayoutKey: InjectionKey<LayoutProvide> = Symbol.for('vuetify:layout')\n\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => ([]),\n } as Prop<string[]>,\n fullHeight: Boolean,\n}, 'layout')\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String,\n },\n priority: {\n type: [Number, String],\n default: 0,\n },\n absolute: Boolean,\n}, 'layout-item')\n\nexport function useLayout () {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n return layout\n}\n\nexport function useLayoutItem (\n name: string | undefined,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>,\n disableTransitions?: Ref<boolean>,\n) {\n const layout = inject(VuetifyLayoutKey)\n\n if (!layout) throw new Error('Could not find injected Vuetify layout')\n\n const id = name ?? `layout-item-${getUid()}`\n\n const styles = layout.register(id, priority, position, layoutSize, elementSize, active, disableTransitions)\n\n onBeforeUnmount(() => layout.unregister(id))\n\n return styles\n}\n\nconst generateLayers = (\n layout: string[],\n registered: string[],\n positions: Map<string, Ref<Position>>,\n layoutSizes: Map<string, Ref<number | string>>,\n activeItems: Map<string, Ref<boolean>>,\n) => {\n let previousLayer = { top: 0, left: 0, right: 0, bottom: 0 }\n const layers = [{ id: '', layer: { ...previousLayer } }]\n const ids = !layout.length ? registered : layout.map(l => l.split(':')[0]).filter(l => registered.includes(l))\n for (const id of ids) {\n const position = positions.get(id)\n const amount = layoutSizes.get(id)\n const active = activeItems.get(id)\n if (!position || !amount || !active) continue\n\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0),\n }\n\n layers.push({\n id,\n layer,\n })\n\n previousLayer = layer\n }\n\n return layers\n}\n\n// TODO: Remove undefined from layout and overlaps when vue typing for required: true prop is fixed\nexport function createLayout (props: { layout?: string[], overlaps?: string[], fullHeight?: boolean }) {\n const registered = ref<string[]>([])\n const positions = new Map<string, Ref<Position>>()\n const layoutSizes = new Map<string, Ref<number | string>>()\n const priorities = new Map<string, Ref<number>>()\n const activeItems = new Map<string, Ref<boolean>>()\n const transitions = new Map<string, Ref<boolean>>()\n\n const computedOverlaps = computed(() => {\n const map = new Map<string, { position: Position, amount: number }>()\n const overlaps = props.overlaps ?? []\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':')\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue\n\n const topPosition = positions.get(top)\n const bottomPosition = positions.get(bottom)\n const topAmount = layoutSizes.get(top)\n const bottomAmount = layoutSizes.get(bottom)\n\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue\n\n map.set(bottom, { position: topPosition.value, amount: parseInt(topAmount.value, 10) })\n map.set(top, { position: bottomPosition.value, amount: -parseInt(bottomAmount.value, 10) })\n }\n\n return map\n })\n\n const layers = computed(() => {\n const entries = [...priorities.entries()]\n const sortedEntries = entries.sort(([, a], [, b]) => a.value - b.value).map(([id]) => id)\n return generateLayers(sortedEntries, registered.value, positions, layoutSizes, activeItems)\n })\n\n const transitionsEnabled = computed(() => {\n return !Array.from(transitions.values()).some(ref => ref.value)\n })\n\n const mainStyles = computed(() => {\n const layer = layers.value[layers.value.length - 1].layer\n\n return {\n position: 'relative',\n paddingLeft: convertToUnit(layer.left),\n paddingRight: convertToUnit(layer.right),\n paddingTop: convertToUnit(layer.top),\n paddingBottom: convertToUnit(layer.bottom),\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n\n const items = computed(() => {\n return layers.value.slice(1).map(({ id }, index) => {\n const { layer } = layers.value[index]\n const size = layoutSizes.get(id)\n\n return {\n id,\n ...layer,\n size: Number(size!.value),\n }\n })\n })\n\n const getLayoutItem = (id: string) => {\n return items.value.find(item => item.id === id)\n }\n\n provide(VuetifyLayoutKey, {\n register: (\n id: string,\n priority: Ref<number>,\n position: Ref<Position>,\n layoutSize: Ref<number | string>,\n elementSize: Ref<number | string>,\n active: Ref<boolean>,\n disableTransitions?: Ref<boolean>\n ) => {\n priorities.set(id, priority)\n positions.set(id, position)\n layoutSizes.set(id, layoutSize)\n activeItems.set(id, active)\n disableTransitions && transitions.set(id, disableTransitions)\n registered.value.push(id)\n\n return computed(() => {\n const index = items.value.findIndex(i => i.id === id)\n\n if (index < 0) throw new Error(`Layout item \"${id}\" is missing from layout prop`)\n\n const item = items.value[index]\n\n if (!item) throw new Error(`Could not find layout item \"${id}`)\n\n const overlap = computedOverlaps.value.get(id)\n if (overlap) {\n item[overlap.position] += overlap.amount\n }\n\n const isHorizontal = position.value === 'left' || position.value === 'right'\n const isOppositeHorizontal = position.value === 'right'\n const isOppositeVertical = position.value === 'bottom'\n\n return {\n [position.value]: 0,\n height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : `${elementSize.value}px`,\n marginLeft: isOppositeHorizontal ? undefined : `${item.left}px`,\n marginRight: isOppositeHorizontal ? `${item.right}px` : undefined,\n marginTop: position.value !== 'bottom' ? `${item.top}px` : undefined,\n marginBottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : `${elementSize.value}px`,\n zIndex: layers.value.length - index,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -110) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}%)`,\n ...(transitionsEnabled.value ? undefined : { transition: 'none' }),\n }\n })\n },\n unregister: (id: string) => {\n priorities.delete(id)\n positions.delete(id)\n layoutSizes.delete(id)\n activeItems.delete(id)\n transitions.delete(id)\n registered.value = registered.value.filter(v => v !== id)\n },\n mainStyles,\n getLayoutItem,\n items,\n })\n\n const layoutClasses = computed(() => [\n 'v-layout',\n { 'v-layout--full-height': props.fullHeight },\n ])\n\n return {\n layoutClasses,\n getLayoutItem,\n items,\n }\n}\n","export default {\n badge: 'Badge',\n close: 'Close',\n dataIterator: {\n noResultsText: 'No matching records found',\n loadingText: 'Loading items...',\n },\n dataTable: {\n itemsPerPageText: 'Rows per page:',\n ariaLabel: {\n sortDescending: 'Sorted descending.',\n sortAscending: 'Sorted ascending.',\n sortNone: 'Not sorted.',\n activateNone: 'Activate to remove sorting.',\n activateDescending: 'Activate to sort descending.',\n activateAscending: 'Activate to sort ascending.',\n },\n sortBy: 'Sort by',\n },\n dataFooter: {\n itemsPerPageText: 'Items per page:',\n itemsPerPageAll: 'All',\n nextPage: 'Next page',\n prevPage: 'Previous page',\n firstPage: 'First page',\n lastPage: 'Last page',\n pageText: '{0}-{1} of {2}',\n },\n datePicker: {\n itemsSelected: '{0} selected',\n nextMonthAriaLabel: 'Next month',\n nextYearAriaLabel: 'Next year',\n prevMonthAriaLabel: 'Previous month',\n prevYearAriaLabel: 'Previous year',\n },\n noDataText: 'No data available',\n carousel: {\n prev: 'Previous visual',\n next: 'Next visual',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}',\n },\n },\n calendar: {\n moreEvents: '{0} more',\n },\n fileInput: {\n counter: '{0} files',\n counterSize: '{0} files ({1} in total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Pagination Navigation',\n next: 'Next page',\n previous: 'Previous page',\n page: 'Goto Page {0}',\n currentPage: 'Page {0}, Current Page',\n first: 'First page',\n last: 'Last page',\n },\n },\n rating: {\n ariaLabel: {\n item: 'Rating {0} of {1}',\n },\n },\n}\n","export { default as af } from './af'\nexport { default as ar } from './ar'\nexport { default as bg } from './bg'\nexport { default as ca } from './ca'\nexport { default as ckb } from './ckb'\nexport { default as cs } from './cs'\nexport { default as da } from './da'\nexport { default as de } from './de'\nexport { default as el } from './el'\nexport { default as en } from './en'\nexport { default as es } from './es'\nexport { default as et } from './et'\nexport { default as fa } from './fa'\nexport { default as fi } from './fi'\nexport { default as fr } from './fr'\nexport { default as hr } from './hr'\nexport { default as hu } from './hu'\nexport { default as he } from './he'\nexport { default as id } from './id'\nexport { default as it } from './it'\nexport { default as ja } from './ja'\nexport { default as ko } from './ko'\nexport { default as lv } from './lv'\nexport { default as lt } from './lt'\nexport { default as nl } from './nl'\nexport { default as no } from './no'\nexport { default as pl } from './pl'\nexport { default as pt } from './pt'\nexport { default as ro } from './ro'\nexport { default as ru } from './ru'\nexport { default as sk } from './sk'\nexport { default as sl } from './sl'\nexport { default as srCyrl } from './sr-Cyrl'\nexport { default as srLatn } from './sr-Latn'\nexport { default as sv } from './sv'\nexport { default as th } from './th'\nexport { default as tr } from './tr'\nexport { default as az } from './az'\nexport { default as uk } from './uk'\nexport { default as vi } from './vi'\nexport { default as zhHans } from './zh-Hans'\nexport { default as zhHant } from './zh-Hant'\n\nexport const rtl = {\n af: false,\n ar: true,\n bg: false,\n ca: false,\n ckb: false,\n cs: false,\n de: false,\n el: false,\n en: false,\n es: false,\n et: false,\n fa: false,\n fi: false,\n fr: false,\n hr: false,\n hu: false,\n he: true,\n id: false,\n it: false,\n ja: false,\n ko: false,\n lv: false,\n lt: false,\n nl: false,\n no: false,\n pl: false,\n pt: false,\n ro: false,\n ru: false,\n sk: false,\n sl: false,\n srCyrl: false,\n srLatn: false,\n sv: false,\n th: false,\n tr: false,\n az: false,\n uk: false,\n vi: false,\n zhHans: false,\n zhHant: false,\n}\n","import { computed, inject, provide, ref } from 'vue'\nimport { rtl } from '@/locale'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { LocaleInstance } from './locale'\n\nexport interface RtlOptions {\n defaultRtl?: boolean\n rtl?: Record<string, boolean>\n}\n\nexport interface RtlProps {\n rtl?: boolean\n}\n\nexport interface RtlInstance {\n isRtl: Ref<boolean>\n rtl: Record<string, boolean>\n rtlClasses: Ref<string>\n}\n\nexport const RtlSymbol: InjectionKey<RtlInstance> = Symbol.for('vuetify:rtl')\n\nexport function createRtl (localeScope: LocaleInstance, options?: RtlOptions) {\n return createRtlScope({\n rtl: {\n ...rtl,\n ...(options?.rtl ?? {}),\n },\n isRtl: ref(options?.defaultRtl ?? false),\n rtlClasses: ref(''),\n }, localeScope)\n}\n\nexport function createRtlScope (currentScope: RtlInstance, localeScope: LocaleInstance, options?: RtlProps): RtlInstance {\n const isRtl = computed(() => {\n if (typeof options?.rtl === 'boolean') return options.rtl\n if (localeScope.current.value && currentScope.rtl.hasOwnProperty(localeScope.current.value)) {\n return currentScope.rtl[localeScope.current.value]\n }\n\n return currentScope.isRtl.value\n })\n\n return {\n isRtl,\n rtl: currentScope.rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`),\n }\n}\n\nexport function provideRtl (props: RtlProps, localeScope: LocaleInstance) {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n const newScope = createRtlScope(currentScope, localeScope, props)\n\n provide(RtlSymbol, newScope)\n\n return newScope\n}\n\nexport function useRtl () {\n const currentScope = inject(RtlSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected rtl instance')\n\n return currentScope\n}\n","// Styles\nimport './VApp.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\nimport { useRtl } from '@/composables/rtl'\n\nexport const VApp = defineComponent({\n name: 'VApp',\n\n props: {\n ...makeLayoutProps({ fullHeight: true }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const theme = provideTheme(props)\n const { layoutClasses, getLayoutItem, items } = createLayout(props)\n const { rtlClasses } = useRtl()\n\n useRender(() => (\n <div\n class={[\n 'v-application',\n theme.themeClasses.value,\n layoutClasses.value,\n rtlClasses.value,\n ]}\n data-app=\"true\"\n >\n <div class=\"v-application__wrap\">\n { slots.default?.() }\n </div>\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n theme,\n }\n },\n})\n\nexport type VApp = InstanceType<typeof VApp>\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, propsFactory } from '@/util'\n\n// Types\nexport interface DimensionProps {\n height?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n width?: number | string\n}\n\n// Composables\nexport const makeDimensionProps = propsFactory({\n height: [Number, String],\n maxHeight: [Number, String],\n maxWidth: [Number, String],\n minHeight: [Number, String],\n minWidth: [Number, String],\n width: [Number, String],\n}, 'dimension')\n\nexport function useDimension (props: DimensionProps) {\n const dimensionStyles = computed(() => ({\n height: convertToUnit(props.height),\n maxHeight: convertToUnit(props.maxHeight),\n maxWidth: convertToUnit(props.maxWidth),\n minHeight: convertToUnit(props.minHeight),\n minWidth: convertToUnit(props.minWidth),\n width: convertToUnit(props.width),\n }))\n\n return { dimensionStyles }\n}\n","// Styles\nimport './VResponsive.sass'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport function useAspectStyles (props: { aspectRatio?: string | number }) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio)\n\n return ratio\n ? { paddingBottom: String(1 / ratio * 100) + '%' }\n : undefined\n }),\n }\n}\n\nexport const VResponsive = defineComponent({\n name: 'VResponsive',\n\n props: {\n aspectRatio: [String, Number],\n contentClass: String,\n\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n const { aspectStyles } = useAspectStyles(props)\n\n return () => (\n <div class=\"v-responsive\" style={ dimensionStyles.value }>\n <div class=\"v-responsive__sizer\" style={ aspectStyles.value } />\n { slots.additional?.() }\n { slots.default && (\n <div class={['v-responsive__content', props.contentClass]}>{ slots.default() }</div>\n )}\n </div>\n )\n },\n})\n","// Utils\nimport { SUPPORTS_INTERSECTION } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype ObserveHandler = (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n) => void\n\nexport interface ObserveDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n if (!SUPPORTS_INTERSECTION) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[binding.instance!.$.uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(isIntersecting, entries, observer)\n }\n\n if (isIntersecting && modifiers.once) unmounted(el, binding)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![binding.instance!.$.uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unmounted (el: HTMLElement, binding: ObserveDirectiveBinding) {\n const observe = el._observe?.[binding.instance!.$.uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![binding.instance!.$.uid]\n}\n\nexport const Intersect: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Intersect\n","// Utilities\nimport { h, mergeProps, Transition } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Component, FunctionalComponent, PropType, TransitionProps } from 'vue'\n\nexport const makeTransitionProps = propsFactory({\n transition: {\n type: [Boolean, String, Object] as PropType<string | false | TransitionProps & { component?: Component }>,\n default: 'fade-transition',\n validator: val => val !== true,\n },\n}, 'transition')\n\ninterface MaybeTransitionProps extends TransitionProps {\n transition?: string | boolean | TransitionProps & { component?: any }\n}\n\nexport const MaybeTransition: FunctionalComponent<MaybeTransitionProps> = (props, { slots }) => {\n const { transition, ...rest } = props\n\n if (!transition || typeof transition === 'boolean') return slots.default?.()\n\n const { component = Transition, ...customProps } = typeof transition === 'object' ? transition : {}\n\n return h(\n component,\n mergeProps(typeof transition === 'string' ? { name: transition } : customProps as any, rest as any),\n slots\n )\n}\n","import './VImg.sass'\n\n// Components\nimport { VResponsive } from '@/components/VResponsive'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport {\n computed,\n h,\n nextTick,\n onBeforeMount,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n defineComponent,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport const VImg = defineComponent({\n name: 'VImg',\n\n directives: { intersect },\n\n props: {\n aspectRatio: [String, Number],\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n srcset: String,\n width: [String, Number],\n\n ...makeTransitionProps(),\n },\n\n emits: ['loadstart', 'load', 'error'],\n\n setup (props, { emit, slots }) {\n const currentSrc = ref('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = ref<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = ref<number>()\n const naturalHeight = ref<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = computed(() => {\n if (!normalisedSrc.value.src || state.value === 'idle') return\n\n const img = h('img', {\n class: ['v-img__img', containClasses.value],\n src: normalisedSrc.value.src,\n srcset: normalisedSrc.value.srcset,\n sizes: props.sizes,\n ref: image,\n onLoad,\n onError,\n })\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n })\n\n const __preloadImage = computed(() => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt=\"\"\n />\n )}\n </MaybeTransition>\n ))\n\n const __placeholder = computed(() => {\n if (!slots.placeholder) return\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n })\n\n const __error = computed(() => {\n if (!slots.error) return\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n })\n\n const __gradient = computed(() => {\n if (!props.gradient) return\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n })\n\n const isBooted = ref(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n ]}\n style={{ width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) }}\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n v-slots={{\n additional: () => [__image.value, __preloadImage.value, __gradient.value, __placeholder.value, __error.value],\n default: slots.default,\n }}\n />\n ))\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n","// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nexport interface BorderProps {\n border?: boolean | number | string\n}\n\n// Composables\nexport const makeBorderProps = propsFactory({\n border: [Boolean, Number, String],\n}, 'border')\n\nexport function useBorder (\n props: BorderProps,\n name = getCurrentInstanceName(),\n) {\n const borderClasses = computed(() => {\n const classes: string[] = []\n\n if (props.border != null && props.border !== false) {\n classes.push(`${name}--border`)\n }\n\n if (\n (typeof props.border === 'string' && props.border !== '') ||\n props.border === 0\n ) {\n for (const value of String(props.border).split(' ')) {\n classes.push(`border-${value}`)\n }\n }\n\n return classes\n })\n\n return { borderClasses }\n}\n","// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'default', 'comfortable', 'compact'] as const\n\nexport type Density = typeof allowedDensities[number]\n\nexport interface DensityProps {\n density?: Density\n}\n\n// Composables\nexport const makeDensityProps = propsFactory({\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n}, 'density')\n\nexport function useDensity (\n props: DensityProps,\n name = getCurrentInstanceName(),\n) {\n const densityClasses = computed(() => {\n return `${name}--density-${props.density}`\n })\n\n return { densityClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\nexport interface ElevationProps {\n elevation?: number | string | null\n}\n\n// Composables\nexport const makeElevationProps = propsFactory({\n elevation: {\n type: [Number, String],\n validator (v: any) {\n const value = parseInt(v)\n\n return (\n !isNaN(value) &&\n value >= 0 &&\n // Material Design has a maximum elevation of 24\n // https://material.io/design/environment/elevation.html#default-elevations\n value <= 24\n )\n },\n },\n}, 'elevation')\n\ntype ElevationData = {\n elevationClasses: Ref<string[]>\n}\n\nexport function useElevation (props: ElevationProps | Ref<number | string | undefined>): ElevationData {\n const elevationClasses = computed(() => {\n const elevation = isRef(props) ? props.value : props.elevation\n const classes: string[] = []\n\n if (elevation == null) return classes\n\n classes.push(`elevation-${elevation}`)\n\n return classes\n })\n\n return { elevationClasses }\n}\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\ntype RoundedValue = boolean | string | number | null | undefined\n\nexport interface RoundedProps {\n rounded?: RoundedValue\n tile?: boolean\n}\n\ntype RoundedData = {\n roundedClasses: Ref<string[]>\n}\n\n// Composables\nexport const makeRoundedProps = propsFactory({\n rounded: {\n type: [Boolean, Number, String],\n default: undefined,\n },\n}, 'rounded')\n\nexport function useRounded (\n props: RoundedProps | Ref<RoundedValue>,\n name = getCurrentInstanceName(),\n): RoundedData {\n const roundedClasses = computed(() => {\n const rounded = isRef(props) ? props.value : props.rounded\n const classes: string[] = []\n\n if (rounded === true || rounded === '') {\n classes.push(`${name}--rounded`)\n } else if (\n typeof rounded === 'string' ||\n rounded === 0\n ) {\n for (const value of String(rounded).split(' ')) {\n classes.push(`rounded-${value}`)\n }\n }\n\n return classes\n })\n\n return { roundedClasses }\n}\n","// Utilities\nimport { propsFactory } from '@/util'\n\n// Types\nexport interface TagProps {\n tag: string\n}\n\n// Composables\nexport const makeTagProps = propsFactory({\n tag: {\n type: String,\n default: 'div',\n },\n}, 'tag')\n","// Utilities\nimport { computed, isRef } from 'vue'\nimport { isCssColor } from '@/util'\n\n// Types\nimport type { CSSProperties, Ref } from 'vue'\n\ntype ColorValue = string | false | null | undefined\n\nexport interface TextColorData {\n textColorClasses: Ref<string[]>\n textColorStyles: Ref<CSSProperties>\n}\n\nexport interface BackgroundColorData {\n backgroundColorClasses: Ref<string[]>\n backgroundColorStyles: Ref<CSSProperties>\n}\n\n// Composables\nexport function useColor (colors: Ref<{ background?: ColorValue, text?: ColorValue }>) {\n const backgroundIsCssColor = computed(() => isCssColor(colors.value.background))\n const textIsCssColor = computed(() => isCssColor(colors.value.text))\n\n const colorClasses = computed(() => {\n const classes: string[] = []\n\n if (colors.value.background && !backgroundIsCssColor.value) {\n classes.push(`bg-${colors.value.background}`)\n }\n\n if (colors.value.text && !textIsCssColor.value) {\n classes.push(`text-${colors.value.text}`)\n }\n\n return classes\n })\n\n const colorStyles = computed(() => {\n const styles: CSSProperties = {}\n\n if (colors.value.background && backgroundIsCssColor.value) {\n styles.backgroundColor = colors.value.background\n }\n\n if (colors.value.text && textIsCssColor.value) {\n styles.color = colors.value.text\n styles.caretColor = colors.value.text\n }\n\n return styles\n })\n\n return { colorClasses, colorStyles }\n}\n\nexport function useTextColor (color: Ref<ColorValue>): TextColorData\nexport function useTextColor <T extends Record<K, ColorValue>, K extends string> (props: T, name: K): TextColorData\nexport function useTextColor <T extends Record<K, ColorValue>, K extends string> (\n props: T | Ref<ColorValue>,\n name?: K\n): TextColorData {\n const colors = computed(() => ({\n text: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: textColorClasses,\n colorStyles: textColorStyles,\n } = useColor(colors)\n\n return { textColorClasses, textColorStyles }\n}\n\nexport function useBackgroundColor (color: Ref<ColorValue>): BackgroundColorData\nexport function useBackgroundColor <T extends Record<K, ColorValue>, K extends string> (props: T, name: K): BackgroundColorData\nexport function useBackgroundColor <T extends Record<K, ColorValue>, K extends string> (\n props: T | Ref<ColorValue>,\n name?: K\n): BackgroundColorData {\n const colors = computed(() => ({\n background: isRef(props) ? props.value : (name ? props[name] : null),\n }))\n\n const {\n colorClasses: backgroundColorClasses,\n colorStyles: backgroundColorStyles,\n } = useColor(colors)\n\n return { backgroundColorClasses, backgroundColorStyles }\n}\n","// Utilities\nimport { computed, ref } from 'vue'\nimport { getCurrentInstance, toKebabCase } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\n// Composables\nexport function useProxiedModel<\n Props extends object & { [key in Prop as `onUpdate:${Prop}`]: ((val: any) => void) | undefined },\n Prop extends Extract<keyof Props, string>,\n Inner = Props[Prop],\n> (\n props: Props,\n prop: Prop,\n defaultValue?: Props[Prop],\n transformIn: (value?: Props[Prop]) => Inner = (v: any) => v,\n transformOut: (value: Inner) => Props[Prop] = (v: any) => v,\n) {\n const vm = getCurrentInstance('useProxiedModel')\n\n const propIsDefined = computed(() => {\n return !!(\n typeof props[prop] !== 'undefined' &&\n (vm?.vnode.props?.hasOwnProperty(prop) || vm?.vnode.props?.hasOwnProperty(toKebabCase(prop)))\n )\n })\n\n const internal = ref(transformIn(props[prop])) as Ref<Inner>\n\n return computed<Inner>({\n get () {\n if (propIsDefined.value) return transformIn(props[prop])\n else return internal.value\n },\n set (newValue) {\n internal.value = newValue\n vm?.emit(`update:${prop}`, transformOut(newValue))\n },\n })\n}\n","// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VAppBar = defineComponent({\n name: 'VAppBar',\n\n props: {\n // TODO: Implement scrolling techniques\n // hideOnScroll: Boolean\n // invertedScroll: Boolean\n // collapseOnScroll: Boolean\n // elevateOnScroll: Boolean\n // shrinkOnScroll: Boolean\n // fadeImageOnScroll: Boolean\n collapse: Boolean,\n color: String,\n flat: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n floating: Boolean,\n image: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n prominentHeight: {\n type: [Number, String],\n default: 128,\n },\n position: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps(),\n ...makeTagProps({ tag: 'header' }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const isExtended = !!slots.extension\n const contentHeight = computed(() => (\n Number(props.prominent ? props.prominentHeight : props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const height = computed(() => (\n contentHeight.value +\n Number(isExtended ? props.extensionHeight : 0)\n ))\n const isActive = useProxiedModel(props, 'modelValue', props.modelValue)\n const layoutStyles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n toRef(props, 'position'),\n height,\n height,\n isActive,\n )\n\n return () => {\n const hasImage = !!(slots.image || props.image)\n\n return (\n <props.tag\n class={[\n 'v-app-bar',\n {\n 'v-app-bar--bottom': props.position === 'bottom',\n 'v-app-bar--collapsed': props.collapse,\n 'v-app-bar--flat': props.flat,\n 'v-app-bar--floating': props.floating,\n 'v-app-bar--is-active': isActive.value,\n 'v-app-bar--prominent': props.prominent,\n 'v-app-bar--absolute': props.absolute,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutStyles.value,\n ]}\n >\n { hasImage && (\n <div class=\"v-app-bar__image\">\n { slots.image\n ? slots.img?.({ src: props.image })\n : (<VImg src={ props.image } cover />)\n }\n </div>\n ) }\n\n <div\n class=\"v-app-bar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-app-bar__prepend\">\n { slots.prepend() }\n </div>\n ) }\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-app-bar__append\">\n { slots.append() }\n </div>\n ) }\n </div>\n\n { isExtended && (\n <div\n class=\"v-app-bar__extension\"\n style={{ height: convertToUnit(props.extensionHeight) }}\n >\n { slots.extension?.() }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VAppBar = InstanceType<typeof VAppBar>\n","// Composables\nimport { useColor } from '@/composables/color'\n\n// Utilities\nimport { computed, unref } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport const allowedVariants = ['contained', 'outlined', 'plain', 'text', 'contained-text'] as const\n\nexport type Variant = typeof allowedVariants[number]\n\nexport interface VariantProps {\n color?: string\n textColor?: string\n variant: Variant\n}\n\nexport function genOverlays (isClickable: boolean, name: string) {\n return (\n <>\n { isClickable && <div class={`${name}__overlay`} /> }\n\n <div class={`${name}__underlay`} />\n </>\n )\n}\n\nexport const makeVariantProps = propsFactory({\n color: String,\n textColor: String,\n variant: {\n type: String as PropType<Variant>,\n default: 'contained',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'variant')\n\nexport function useVariant (\n props: MaybeRef<VariantProps>,\n name = getCurrentInstanceName(),\n) {\n const variantClasses = computed(() => {\n const { variant } = unref(props)\n return `${name}--variant-${variant}`\n })\n\n const { colorClasses, colorStyles } = useColor(computed(() => {\n const { textColor, variant, color } = unref(props)\n return {\n text: textColor,\n [variant === 'contained' ? 'background' : 'text']: color,\n }\n }))\n\n return { colorClasses, colorStyles, variantClasses }\n}\n","// Styles\nimport './VBtnGroup.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utility\nimport { defineComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VBtnGroup = defineComponent({\n name: 'VBtnGroup',\n\n props: {\n divided: Boolean,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n provideDefaults({\n VBtn: {\n height: 'auto',\n color: toRef(props, 'color'),\n flat: true,\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => {\n return (\n <props.tag\n class={[\n 'v-btn-group',\n {\n 'v-btn-group--divided': props.divided,\n },\n themeClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n v-slots={ slots }\n />\n )\n })\n },\n})\n","// Composables\nimport { useProxiedModel } from './proxiedModel'\n\n// Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, provide, reactive, toRef } from 'vue'\nimport { consoleWarn, deepEqual, findChildren, getCurrentInstance, getUid, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, ExtractPropTypes, InjectionKey, PropType, Ref, UnwrapRef } from 'vue'\n\ninterface GroupItem {\n id: number\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n}\n\ninterface GroupProps {\n disabled: boolean\n modelValue: unknown\n multiple: boolean\n mandatory: boolean | 'force' | undefined\n max: number | undefined\n selectedClass: string | undefined\n 'onUpdate:modelValue': ((val: unknown) => void) | undefined\n}\n\nexport interface GroupProvide {\n register: (item: GroupItem, cmp: ComponentInternalInstance) => void\n unregister: (id: number) => void\n select: (id: number, value: boolean) => void\n selected: Ref<any[]>\n isSelected: (id: number) => boolean\n prev: () => void\n next: () => void\n selectedClass: Ref<string | undefined>\n items: Ref<number[]>\n disabled: Ref<boolean | undefined>\n}\n\nexport interface GroupItemProvide {\n id: number\n isSelected: Ref<boolean>\n toggle: () => void\n select: (value: boolean) => void\n selectedClass: Ref<string | false | undefined>\n value: Ref<unknown>\n disabled: Ref<boolean | undefined>\n group: GroupProvide\n}\n\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: null,\n default: undefined,\n },\n multiple: Boolean,\n mandatory: [Boolean, String] as PropType<boolean | 'force'>,\n max: Number,\n selectedClass: String,\n disabled: Boolean,\n}, 'group')\n\nexport const makeGroupItemProps = propsFactory({\n value: null,\n disabled: Boolean,\n selectedClass: String,\n}, 'group-item')\n\ntype GroupItemProps = ExtractPropTypes<ReturnType<typeof makeGroupItemProps>>\n\n// Composables\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required?: true,\n): GroupItemProvide\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required: false,\n): GroupItemProvide | null\nexport function useGroupItem (\n props: GroupItemProps,\n injectKey: InjectionKey<GroupProvide>,\n required = true,\n): GroupItemProvide | null {\n const vm = getCurrentInstance('useGroupItem')\n\n if (!vm) {\n throw new Error(\n '[Vuetify] useGroupItem composable must be used inside a component setup function'\n )\n }\n\n const group = inject(injectKey, null)\n\n if (!group) {\n if (!required) return group\n\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`)\n }\n\n const id = getUid()\n const value = toRef(props, 'value')\n const disabled = computed(() => group.disabled.value || props.disabled)\n\n group.register({\n id,\n value,\n disabled,\n }, vm)\n\n onBeforeUnmount(() => {\n group.unregister(id)\n })\n\n const isSelected = computed(() => {\n return group.isSelected(id)\n })\n\n const selectedClass = computed(() => isSelected.value && (group.selectedClass.value ?? props.selectedClass))\n\n return {\n id,\n isSelected,\n toggle: () => group.select(id, !isSelected.value),\n select: (value: boolean) => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group,\n }\n}\n\nexport function useGroup (\n props: GroupProps,\n injectKey: InjectionKey<GroupProvide>\n) {\n let isUnmounted = false\n const items = reactive<GroupItem[]>([])\n const selected = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => {\n if (v == null) return []\n\n return getIds(items, wrapInArray(v))\n },\n v => {\n const arr = getValues(items, v)\n\n return props.multiple ? arr : arr[0]\n }\n )\n\n const groupVm = getCurrentInstance('useGroup')\n\n function register (item: GroupItem, vm: ComponentInternalInstance) {\n // Is there a better way to fix this typing?\n const unwrapped = item as unknown as UnwrapRef<GroupItem>\n\n const children = findChildren(groupVm?.vnode)\n const instances = children\n .slice(1) // First one is group component itself\n .filter(cmp => !!cmp.provides[injectKey as any]) // TODO: Fix in TS 4.4\n const index = instances.indexOf(vm)\n\n if (index > -1) items.splice(index, 0, unwrapped)\n else items.push(unwrapped)\n }\n\n function unregister (id: number) {\n if (isUnmounted) return\n\n // TODO: re-evaluate this line's importance in the future\n // should we only modify the model if mandatory is set.\n // selected.value = selected.value.filter(v => v !== id)\n\n forceMandatoryValue()\n\n const index = items.findIndex(item => item.id === id)\n items.splice(index, 1)\n }\n\n // If mandatory and nothing is selected, then select first non-disabled item\n function forceMandatoryValue () {\n const item = items.find(item => !item.disabled)\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id]\n }\n }\n\n onMounted(() => {\n forceMandatoryValue()\n })\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n function select (id: number, isSelected: boolean) {\n const item = items.find(item => item.id === id)\n if (isSelected && item?.disabled) return\n\n if (props.multiple) {\n const internalValue = selected.value.slice()\n const index = internalValue.findIndex(v => v === id)\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (\n props.mandatory &&\n index > -1 &&\n internalValue.length <= 1\n ) return\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (\n props.max != null &&\n index < 0 &&\n internalValue.length + 1 > props.max\n ) return\n\n if (index < 0 && isSelected) internalValue.push(id)\n else if (index >= 0 && !isSelected) internalValue.splice(index, 1)\n\n selected.value = internalValue\n } else {\n if (props.mandatory && selected.value.includes(id)) return\n\n selected.value = isSelected ? [id] : []\n }\n }\n\n function step (offset: number) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop')\n\n if (!selected.value.length) {\n const item = items.find(item => !item.disabled)\n item && (selected.value = [item.id])\n } else {\n const currentId = selected.value[0]\n const currentIndex = items.findIndex(i => i.id === currentId)\n\n let newIndex = (currentIndex + offset) % items.length\n let newItem = items[newIndex]\n\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length\n newItem = items[newIndex]\n }\n\n if (newItem.disabled) return\n\n selected.value = [items[newIndex].id]\n }\n }\n\n const state = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: (id: number) => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items.map(({ id }) => id)),\n }\n\n provide(injectKey, state)\n\n return state\n}\n\nfunction getIds (items: UnwrapRef<GroupItem[]>, modelValue: any[]) {\n const ids = []\n for (const item of items) {\n if (item.value != null) {\n if (modelValue.find(value => deepEqual(value, item.value))) {\n ids.push(item.id)\n }\n } else if (modelValue.includes(item.id)) {\n ids.push(item.id)\n }\n }\n\n return ids\n}\n\nfunction getValues (items: UnwrapRef<GroupItem[]>, ids: any[]) {\n const values = []\n\n for (const item of items) {\n if (ids.includes(item.id)) {\n values.push(item.value != null ? item.value : item.id)\n }\n }\n\n return values\n}\n","// Styles\nimport './VBtnToggle.sass'\n\n// Components\nimport { VBtnGroup } from '@/components/VBtnGroup'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utility\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { GroupProvide } from '@/composables/group'\nimport type { InjectionKey } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type BtnToggleSlotProps = 'isSelected' | 'select' | 'selected' | 'next' | 'prev'\nexport interface DefaultBtnToggleSlot extends Pick<GroupProvide, BtnToggleSlotProps> {}\n\nexport const VBtnToggleSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-btn-toggle')\n\nexport const VBtnToggle = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n default: [DefaultBtnToggleSlot]\n }>\n}>()({\n name: 'VBtnToggle',\n\n props: makeGroupProps({ selectedClass: 'v-btn--selected' }),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { isSelected, next, prev, select, selected } = useGroup(props, VBtnToggleSymbol)\n\n useRender(() => (\n <VBtnGroup class=\"v-btn-toggle\">\n { slots.default?.({\n isSelected,\n next,\n prev,\n select,\n selected,\n } as DefaultBtnToggleSlot) }\n </VBtnGroup>\n ))\n\n return {\n next,\n prev,\n select,\n }\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nconst predefinedSizes = ['x-small', 'small', 'default', 'large', 'x-large']\n\nexport interface SizeProps {\n size?: string | number\n}\n\n// Composables\nexport const makeSizeProps = propsFactory({\n size: {\n type: [String, Number],\n default: 'default',\n },\n}, 'size')\n\nexport function useSize (\n props: SizeProps,\n name = getCurrentInstanceName(),\n) {\n const sizeClasses = computed(() => {\n return predefinedSizes.includes(props.size as string)\n ? `${name}--size-${props.size}`\n : null\n })\n\n const sizeStyles = computed(() => {\n return !predefinedSizes.includes(props.size as string) && props.size\n ? ({\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : null\n })\n\n return { sizeClasses, sizeStyles }\n}\n","// Utilities\nimport { computed, inject, isRef } from 'vue'\nimport { defineComponent, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, JSXComponent, PropType, Ref } from 'vue'\n\nexport type IconValue = string | JSXComponent\n\nexport interface IconAliases {\n [name: string]: IconValue\n complete: IconValue\n cancel: IconValue\n close: IconValue\n delete: IconValue\n clear: IconValue\n success: IconValue\n info: IconValue\n warning: IconValue\n error: IconValue\n prev: IconValue\n next: IconValue\n checkboxOn: IconValue\n checkboxOff: IconValue\n checkboxIndeterminate: IconValue\n delimiter: IconValue\n sort: IconValue\n expand: IconValue\n menu: IconValue\n subgroup: IconValue\n dropdown: IconValue\n radioOn: IconValue\n radioOff: IconValue\n edit: IconValue\n ratingEmpty: IconValue\n ratingFull: IconValue\n ratingHalf: IconValue\n loading: IconValue\n first: IconValue\n last: IconValue\n unfold: IconValue\n file: IconValue\n plus: IconValue\n minus: IconValue\n}\n\nexport interface IconProps {\n tag: string\n icon: IconValue\n disabled?: Boolean\n}\n\ntype IconComponent = JSXComponent<IconProps>\n\nexport interface IconSet {\n component: IconComponent\n}\n\nexport type IconOptions = {\n defaultSet: string\n aliases?: Partial<IconAliases>\n sets: Record<string, IconSet>\n}\n\ntype IconInstance = {\n component: IconComponent\n icon: IconValue\n}\n\nexport const IconSymbol: InjectionKey<IconOptions> = Symbol.for('vuetify:icons')\n\nexport const makeIconProps = propsFactory({\n icon: {\n type: [String, Object] as PropType<IconValue>,\n required: true,\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: String,\n required: true,\n },\n}, 'icon')\n\nexport const VComponentIcon = defineComponent({\n name: 'VComponentIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return (\n <props.tag>\n <props.icon />\n </props.tag>\n )\n }\n },\n})\n\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n\n inheritAttrs: false,\n\n props: makeIconProps(),\n\n setup (props, { attrs }) {\n return () => {\n return (\n <props.tag { ...attrs } style={ null }>\n <svg\n class=\"v-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n aria-hidden=\"true\"\n >\n <path d={ props.icon as string }></path>\n </svg>\n </props.tag>\n )\n }\n },\n})\n\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag>{ props.icon }</props.tag>\n }\n },\n})\n\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n\n props: makeIconProps(),\n\n setup (props) {\n return () => {\n return <props.tag class={ props.icon }></props.tag>\n }\n },\n})\n\nexport const defaultSets: Record<string, IconSet> = {\n svg: {\n component: VSvgIcon,\n },\n class: {\n component: VClassIcon,\n },\n}\n\n// Composables\nexport const useIcon = (props: Ref<string | undefined> | { icon?: IconValue }) => {\n const icons = inject(IconSymbol)\n\n if (!icons) throw new Error('Missing Vuetify Icons provide!')\n\n const iconData: Ref<IconInstance> = computed(() => {\n const iconAlias = isRef(props) ? props.value : props.icon\n\n if (!iconAlias) throw new Error('Icon value is undefined or null')\n\n let icon: IconValue | undefined = iconAlias\n\n if (typeof iconAlias === 'string' && iconAlias.includes('$')) {\n icon = icons.aliases?.[iconAlias.slice(iconAlias.indexOf('$') + 1)]\n }\n\n if (!icon) throw new Error(`Could not find aliased icon \"${iconAlias}\"`)\n\n if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon,\n }\n }\n\n const iconSetName = Object.keys(icons.sets).find(\n setName => typeof icon === 'string' && icon.startsWith(`${setName}:`)\n )\n\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet]\n\n return {\n component: iconSet.component,\n icon: iconName,\n }\n })\n\n return { iconData }\n}\n","// Styles\nimport './VIcon.sass'\n\n// Composables\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useIcon } from '@/composables/icons'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, flattenFragments } from '@/util'\n\n// Types\nimport type { IconValue } from '@/composables/icons'\nimport type { ComputedRef, PropType } from 'vue'\n\nexport const VIcon = defineComponent({\n name: 'VIcon',\n\n props: {\n color: String,\n left: Boolean,\n right: Boolean,\n icon: {\n type: [String, Object] as PropType<IconValue>,\n },\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'i' }),\n },\n\n setup (props, { slots }) {\n let slotIcon: ComputedRef<string | undefined> | undefined\n if (slots.default) {\n slotIcon = computed(() => {\n const slot = slots.default?.()\n if (!slot) return\n\n return flattenFragments(slot).filter(node =>\n node.children && typeof node.children === 'string'\n )[0]?.children as string\n })\n }\n\n const { iconData } = useIcon(slotIcon || props)\n const { sizeClasses } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => {\n return (\n <iconData.value.component\n tag={ props.tag }\n icon={ iconData.value.icon }\n class={[\n 'v-icon',\n 'notranslate',\n sizeClasses.value,\n textColorClasses.value,\n {\n 'v-icon--left': props.left,\n 'v-icon--right': props.right,\n },\n ]}\n style={[\n !sizeClasses.value ? ({\n fontSize: convertToUnit(props.size),\n width: convertToUnit(props.size),\n height: convertToUnit(props.size),\n }) : undefined,\n textColorStyles.value,\n ]}\n aria-hidden=\"true\"\n />\n )\n }\n },\n})\n","// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'] as const\n\ntype Position = typeof positionValues[number]\n\nexport interface PositionProps {\n absolute?: boolean\n bottom?: boolean | number | string\n fixed?: boolean\n left?: boolean | number | string\n position?: Position\n right?: boolean | number | string\n top?: boolean | number | string\n}\n\n// Composables\nexport const makePositionProps = propsFactory({\n absolute: Boolean,\n bottom: [Boolean, Number, String],\n fixed: Boolean,\n left: [Boolean, Number, String],\n position: {\n type: String as PropType<Position>,\n validator: /* istanbul ignore next */ (v: any) => positionValues.includes(v),\n },\n right: [Boolean, Number, String],\n top: [Boolean, Number, String],\n}, 'position')\n\nexport function usePosition (\n props: PositionProps,\n name = getCurrentInstanceName(),\n) {\n const targets = ['top', 'right', 'bottom', 'left'] as const\n\n const positionClasses = computed(() => {\n if (props.fixed) return `${name}--fixed`\n if (props.absolute) return `${name}--absolute`\n\n return props.position ? `position-${props.position}` : undefined\n })\n\n const positionStyles = computed(() => {\n const styles: Partial<Record<typeof targets[number], string>> = {}\n\n for (const target of targets) {\n const prop = props[target]\n\n if (prop == null || prop === false) continue\n\n styles[target] = convertToUnit(prop === true ? '0' : String(prop))\n }\n\n return styles\n })\n\n return { positionClasses, positionStyles }\n}\n","// Utilities\nimport { getCurrentInstance, propsFactory } from '@/util'\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n resolveDynamicComponent,\n toRef,\n} from 'vue'\n\n// Types\nimport type { ComputedRef, PropType, Ref, SetupContext } from 'vue'\nimport type {\n RouterLink as _RouterLink,\n useLink as _useLink,\n NavigationGuardNext,\n RouteLocationNormalizedLoaded,\n RouteLocationRaw,\n Router,\n} from 'vue-router'\n\nexport function useRoute (): Ref<RouteLocationNormalizedLoaded | undefined> {\n const vm = getCurrentInstance('useRoute')\n\n return computed(() => vm?.proxy?.$route)\n}\n\nexport function useRouter (): Router | undefined {\n return getCurrentInstance('useRouter')?.proxy?.$router\n}\n\nexport interface LinkProps {\n href?: string\n replace?: boolean\n to?: RouteLocationRaw\n}\n\ninterface UseLink extends Omit<Partial<ReturnType<typeof _useLink>>, 'href'> {\n isLink: ComputedRef<boolean>\n isClickable: ComputedRef<boolean>\n href: Ref<string | undefined>\n}\n\nexport function useLink (props: LinkProps, attrs: SetupContext['attrs']): UseLink {\n const RouterLink = resolveDynamicComponent('RouterLink') as typeof _RouterLink | string\n\n const isLink = computed(() => !!(props.href || props.to))\n const isClickable = computed(() => {\n return isLink?.value || !!(attrs.onClick || attrs.onClickOnce)\n })\n\n if (typeof RouterLink === 'string') {\n return {\n isLink,\n isClickable,\n href: toRef(props, 'href'),\n }\n }\n\n const link = props.to ? RouterLink.useLink(props as Required<LinkProps>) : undefined\n\n return {\n ...link,\n isLink,\n isClickable,\n href: computed(() => props.to ? link?.route.value.href : props.href),\n }\n}\n\nexport const makeRouterProps = propsFactory({\n href: String,\n replace: Boolean,\n to: [String, Object] as PropType<RouteLocationRaw>,\n}, 'router')\n\nexport function useBackButton (cb: (next: NavigationGuardNext) => void) {\n const router = useRouter()\n let popped = false\n let removeGuard: (() => void) | undefined\n\n onMounted(() => {\n window.addEventListener('popstate', onPopstate)\n removeGuard = router?.beforeEach((to, from, next) => {\n setTimeout(() => popped ? cb(next) : next())\n })\n })\n onBeforeUnmount(() => {\n window.removeEventListener('popstate', onPopstate)\n removeGuard?.()\n })\n\n function onPopstate (e: PopStateEvent) {\n if (e.state.replaced) return\n\n popped = true\n setTimeout(() => (popped = false))\n }\n}\n","// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\nconst rippleStop = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [rippleStop]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style.opacity = `calc(${value} * var(--v-theme-overlay-multiplier))`\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.08)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[rippleStop]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[rippleStop] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: DirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: DirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple: ObjectDirective = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n","// Styles\nimport './VBtn.sass'\n\n// Components\nimport { VBtnToggleSymbol } from '@/components/VBtnToggle/VBtnToggle'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VBtn = defineComponent({\n name: 'VBtn',\n\n directives: { Ripple },\n\n props: {\n flat: Boolean,\n icon: [Boolean, String],\n prependIcon: String,\n appendIcon: String,\n\n block: Boolean,\n stacked: Boolean,\n\n ripple: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeRoundedProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makePositionProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const group = useGroupItem(props, VBtnToggleSymbol, false)\n const link = useLink(props, attrs)\n const isDisabled = computed(() => group?.disabled.value || props.disabled)\n const isElevated = computed(() => {\n return props.variant === 'contained' && !(props.disabled || props.flat || props.border)\n })\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n\n return (\n <Tag\n type={ Tag === 'a' ? undefined : 'button' }\n class={[\n 'v-btn',\n group?.selectedClass.value,\n {\n 'v-btn--active': link.isExactActive?.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--stacked': props.stacked,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n disabled={ isDisabled.value || undefined }\n href={ link.href.value }\n v-ripple={[\n !isDisabled.value && props.ripple,\n null,\n props.icon ? ['center'] : null,\n ]}\n onClick={ isDisabled.value || link.navigate || group?.toggle }\n >\n { genOverlays(true, 'v-btn') }\n\n { !props.icon && props.prependIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.prependIcon }\n left={ !props.stacked }\n />\n ) }\n\n { typeof props.icon === 'boolean'\n ? slots.default?.()\n : (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.icon }\n size={ props.size }\n />\n )\n }\n\n { !props.icon && props.appendIcon && (\n <VIcon\n class=\"v-btn__icon\"\n icon={ props.appendIcon }\n right={ !props.stacked }\n />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VBtn = InstanceType<typeof VBtn>\n","// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VAppBarNavIcon = defineComponent({\n name: 'VAppBarNavIcon',\n\n props: {\n icon: {\n type: String,\n default: '$menu',\n },\n },\n\n setup (props, { slots }) {\n return () => (\n <VBtn class=\"v-app-bar-nav-icon\" icon={ props.icon }>\n { slots.default?.() }\n </VBtn>\n )\n },\n})\n","// Styles\nimport './VAppBarTitle.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VAppBarTitle = defineComponent({\n name: 'VAppBarTitle',\n\n props: {\n ...makeTagProps({ tag: 'header' }),\n },\n\n setup (props, { slots }) {\n return () => (\n <props.tag class=\"v-app-bar-title\">\n { slots.default && (\n <div class=\"v-app-bar-title__placeholder\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VAvatar.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VAvatar = defineComponent({\n name: 'VAvatar',\n\n props: {\n color: String,\n left: Boolean,\n right: Boolean,\n icon: String,\n image: String,\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n\n return () => (\n <props.tag\n class={[\n 'v-avatar',\n {\n 'v-avatar--left': props.left,\n 'v-avatar--right': props.right,\n },\n backgroundColorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n sizeStyles.value,\n ]}\n >\n { props.image && <VImg src={ props.image } alt=\"\" /> }\n\n { props.icon && !props.image && <VIcon icon={ props.icon } /> }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n\nexport type VAvatar = InstanceType<typeof VAvatar>\n","// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps, useVariant } from '@/composables/variant'\nimport { useBorder } from '@/composables/border'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const VAlert = defineComponent({\n name: 'VAlert',\n\n props: {\n border: {\n type: [Boolean, String],\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: String,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String] as PropType<false | string>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n sticky: Boolean,\n text: String,\n tip: Boolean,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const borderProps = computed(() => ({\n border: props.border === true || props.tip ? 'start' : props.border,\n }))\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = computed(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n const variantProps = computed(() => ({\n color: props.color ?? props.type,\n textColor: props.textColor,\n variant: props.variant,\n }))\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(borderProps.value)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return props.borderColor ?? (props.tip ? variantProps.value.color : undefined)\n }))\n\n function onCloseClick (e: MouseEvent) {\n isActive.value = false\n }\n\n return () => {\n const hasBorder = !!borderProps.value.border\n const hasClose = !!(slots.close || props.closable)\n const hasPrepend = !!(slots.prepend || props.icon || props.type)\n const hasText = !!(slots.default || props.text || hasClose)\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n {\n [`v-alert--border-${borderProps.value.border}`]: hasBorder,\n 'v-alert--prominent': props.prominent,\n 'v-alert--tip': props.tip,\n },\n themeClasses.value,\n borderClasses.value,\n !props.tip && colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n !props.tip && colorStyles.value,\n positionStyles.value,\n ]}\n role=\"alert\"\n >\n { hasBorder && (\n <div\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n ) }\n\n <div class=\"v-alert__underlay\" />\n\n <div class=\"v-alert__content\">\n { hasPrepend && (\n <div class=\"v-alert__avatar\">\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n class={ props.tip && textColorClasses.value }\n style={ props.tip && textColorStyles.value }\n density={ props.density }\n icon={ icon.value }\n />\n )\n }\n </div>\n ) }\n\n { hasText && (\n <div class=\"v-alert__text\">\n { slots.default\n ? slots.default()\n : props.text\n }\n\n { hasClose && (\n <div class=\"v-alert__close\">\n { slots.close\n ? slots.close({ props: { onClick: onCloseClick } })\n : (\n <VBtn\n density={ props.density }\n icon={ props.closeIcon }\n variant=\"text\"\n onClick={ onCloseClick }\n />\n )\n }\n </div>\n ) }\n </div>\n ) }\n </div>\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n","// Styles\nimport './VBadge.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent, pick } from '@/util'\n\nexport const VBadge = defineComponent({\n name: 'VBadge',\n\n inheritAttrs: false,\n\n props: {\n bordered: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n content: String,\n dot: Boolean,\n floating: Boolean,\n icon: String,\n inline: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n location: {\n type: String,\n default: 'top-right',\n validator: (value: string) => {\n const [vertical, horizontal] = (value ?? '').split('-')\n\n return (\n ['top', 'bottom'].includes(vertical) &&\n ['left', 'right'].includes(horizontal)\n )\n },\n },\n max: [Number, String],\n modelValue: {\n type: Boolean,\n default: true,\n },\n offsetX: [Number, String],\n offsetY: [Number, String],\n textColor: String,\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeTransitionProps({ transition: 'scale-rotate-transition' }),\n },\n\n setup (props, ctx) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'textColor'))\n\n const position = computed(() => {\n return props.floating\n ? (props.dot ? 2 : 4)\n : (props.dot ? 8 : 12)\n })\n\n function calculatePosition (offset?: number | string) {\n return `calc(100% - ${convertToUnit(position.value + parseInt(offset ?? 0, 10))})`\n }\n\n const locationStyles = computed(() => {\n const [vertical, horizontal] = (props.location ?? '').split('-')\n\n // TODO: RTL support\n\n const styles = {\n bottom: 'auto',\n left: 'auto',\n right: 'auto',\n top: 'auto',\n }\n\n if (!props.inline) {\n styles[horizontal === 'left' ? 'right' : 'left'] = calculatePosition(props.offsetX)\n styles[vertical === 'top' ? 'bottom' : 'top'] = calculatePosition(props.offsetY)\n }\n\n return styles\n })\n\n return () => {\n const value = Number(props.content)\n const content = (!props.max || isNaN(value)) ? props.content\n : value <= props.max ? value\n : `${props.max}+`\n\n const [badgeAttrs, attrs] = pick(ctx.attrs as Record<string, any>, [\n 'aria-atomic',\n 'aria-label',\n 'aria-live',\n 'role',\n 'title',\n ])\n\n return (\n <props.tag\n class={[\n 'v-badge',\n {\n 'v-badge--bordered': props.bordered,\n 'v-badge--dot': props.dot,\n 'v-badge--floating': props.floating,\n 'v-badge--inline': props.inline,\n },\n ]}\n { ...attrs }\n >\n <div class=\"v-badge__wrapper\">\n { ctx.slots.default?.() }\n\n <MaybeTransition transition={ props.transition }>\n <span\n v-show={ props.modelValue }\n class={[\n 'v-badge__badge',\n backgroundColorClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n locationStyles.value,\n textColorStyles.value,\n ]}\n aria-atomic=\"true\"\n aria-label=\"locale string here\" // TODO: locale string here\n aria-live=\"polite\"\n role=\"status\"\n { ...badgeAttrs }\n >\n {\n props.dot ? undefined\n : ctx.slots.badge ? ctx.slots.badge?.()\n : props.icon ? <VIcon icon={props.icon} />\n : <span class=\"v-badge__content\">{content}</span>\n }\n </span>\n </MaybeTransition>\n </div>\n </props.tag>\n )\n }\n },\n})\n\nexport type VBadge = InstanceType<typeof VBadge>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerActions = createSimpleFunctional('v-banner-actions')\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VBannerAvatar = defineComponent({\n name: 'VBannerAvatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-banner-avatar',\n {\n 'v-banner-avatar--start': props.left,\n 'v-banner-avatar--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerContent = createSimpleFunctional('v-banner-content')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBannerText = createSimpleFunctional('v-banner-text')\n","// Utilities\nimport { inject, reactive, ref, toRefs, watchEffect } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Globals\nimport { IN_BROWSER, SUPPORTS_TOUCH } from '@/util/globals'\n\n// Types\nimport type { InjectionKey, ToRefs } from 'vue'\n\nexport type DisplayBreakpoint = keyof DisplayThresholds\n\nexport interface DisplayThresholds {\n xs: number\n sm: number\n md: number\n lg: number\n xl: number\n xxl: number\n}\n\nexport interface DisplayOptions {\n mobileBreakpoint?: number | DisplayBreakpoint\n thresholds?: Partial<DisplayThresholds>\n}\n\nexport interface InternalDisplayOptions {\n mobileBreakpoint: number | DisplayBreakpoint\n thresholds: DisplayThresholds\n}\n\nexport interface DisplayPlatform {\n android: boolean\n ios: boolean\n cordova: boolean\n electron: boolean\n chrome: boolean\n edge: boolean\n firefox: boolean\n opera: boolean\n win: boolean\n mac: boolean\n linux: boolean\n touch: boolean\n ssr: boolean\n}\n\nexport interface DisplayInstance {\n xs: boolean\n sm: boolean\n md: boolean\n lg: boolean\n xl: boolean\n xxl: boolean\n smAndUp: boolean\n mdAndUp: boolean\n lgAndUp: boolean\n xlAndUp: boolean\n smAndDown: boolean\n mdAndDown: boolean\n lgAndDown: boolean\n xlAndDown: boolean\n name: DisplayBreakpoint\n height: number\n width: number\n mobile: boolean\n mobileBreakpoint: number | DisplayBreakpoint\n platform: DisplayPlatform\n thresholds: DisplayThresholds\n}\n\nexport const DisplaySymbol: InjectionKey<ToRefs<DisplayInstance>> = Symbol.for('vuetify:display')\n\nconst defaultDisplayOptions: DisplayOptions = {\n mobileBreakpoint: 'lg',\n thresholds: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560,\n },\n}\n\nconst parseDisplayOptions = (options: DisplayOptions = defaultDisplayOptions) => {\n return mergeDeep(defaultDisplayOptions, options) as InternalDisplayOptions\n}\n\n// Cross-browser support as described in:\n// https://stackoverflow.com/questions/1248081\nfunction getClientWidth () {\n return IN_BROWSER ? Math.max(\n document.documentElement!.clientWidth,\n window.innerWidth\n ) : 0 // SSR\n}\n\nfunction getClientHeight () {\n return IN_BROWSER ? Math.max(\n document.documentElement!.clientHeight,\n window.innerHeight\n ) : 0 // SSR\n}\n\nfunction getPlatform (): DisplayPlatform {\n const userAgent = IN_BROWSER ? window.navigator.userAgent : 'ssr'\n\n function match (regexp: RegExp) {\n return Boolean(userAgent.match(regexp))\n }\n\n const android = match(/android/i)\n const ios = match(/iphone|ipad|ipod/i)\n const cordova = match(/cordova/i)\n const electron = match(/electron/i)\n const chrome = match(/chrome/i)\n const edge = match(/edge/i)\n const firefox = match(/firefox/i)\n const opera = match(/opera/i)\n const win = match(/win/i)\n const mac = match(/mac/i)\n const linux = match(/linux/i)\n const ssr = match(/ssr/i)\n\n return {\n android,\n ios,\n cordova,\n electron,\n chrome,\n edge,\n firefox,\n opera,\n win,\n mac,\n linux,\n touch: SUPPORTS_TOUCH,\n ssr,\n }\n}\n\nexport function createDisplay (options?: DisplayOptions): ToRefs<DisplayInstance> {\n const { thresholds, mobileBreakpoint } = parseDisplayOptions(options)\n\n const height = ref(getClientHeight())\n const platform = getPlatform()\n const state = reactive({} as DisplayInstance)\n const width = ref(getClientWidth())\n\n function onResize () {\n height.value = getClientHeight()\n width.value = getClientWidth()\n }\n\n // eslint-disable-next-line max-statements\n watchEffect(() => {\n const xs = width.value < thresholds.sm\n const sm = width.value < thresholds.md && !xs\n const md = width.value < thresholds.lg && !(sm || xs)\n const lg = width.value < thresholds.xl && !(md || sm || xs)\n const xl = width.value < thresholds.xxl && !(lg || md || sm || xs)\n const xxl = width.value >= thresholds.xxl\n const name =\n xs ? 'xs'\n : sm ? 'sm'\n : md ? 'md'\n : lg ? 'lg'\n : xl ? 'xl'\n : 'xxl'\n const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint]\n const mobile = !platform.ssr\n ? width.value < breakpointValue\n : platform.android || platform.ios || platform.opera\n\n state.xs = xs\n state.sm = sm\n state.md = md\n state.lg = lg\n state.xl = xl\n state.xxl = xxl\n state.smAndUp = !xs\n state.mdAndUp = !(xs || sm)\n state.lgAndUp = !(xs || sm || md)\n state.xlAndUp = !(xs || sm || md || lg)\n state.smAndDown = !(md || lg || xl || xxl)\n state.mdAndDown = !(lg || xl || xxl)\n state.lgAndDown = !(xl || xxl)\n state.xlAndDown = !xxl\n state.name = name\n state.height = height.value\n state.width = width.value\n state.mobile = mobile\n state.mobileBreakpoint = mobileBreakpoint\n state.platform = platform\n state.thresholds = thresholds\n })\n\n if (IN_BROWSER) {\n window.addEventListener('resize', onResize, { passive: true })\n }\n\n return toRefs(state)\n}\n\nexport function useDisplay () {\n const display = inject(DisplaySymbol)\n\n if (!display) throw new Error('Could not find Vuetify display injection')\n\n return display\n}\n","// Styles\nimport './VBanner.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VBannerActions } from './VBannerActions'\nimport { VBannerAvatar } from './VBannerAvatar'\nimport { VBannerContent } from './VBannerContent'\nimport { VBannerText } from './VBannerText'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useDisplay } from '@/composables/display'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VBanner = defineComponent({\n name: 'VBanner',\n\n props: {\n avatar: String,\n color: String,\n icon: String,\n lines: {\n type: String,\n default: 'one',\n },\n sticky: Boolean,\n text: String,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { mobile } = useDisplay()\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => {\n const hasAvatar = !!(props.avatar || props.icon || slots.avatar || slots.icon)\n const hasText = !!(props.text || slots.text)\n const hasContent = hasAvatar || hasText || slots.default\n\n return (\n <props.tag\n class={[\n 'v-banner',\n {\n 'v-banner--mobile': mobile.value,\n 'v-banner--sticky': props.sticky,\n [`v-banner--${props.lines}-line`]: true,\n },\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n themeClasses.value,\n ]}\n style={[\n dimensionStyles.value,\n positionStyles.value,\n textColorStyles.value,\n ]}\n role=\"banner\"\n >\n { hasContent && (\n <VBannerContent>\n { hasAvatar && (\n <VBannerAvatar>\n { slots.avatar\n ? slots.avatar()\n : (\n <VAvatar\n density={ props.density }\n icon={ props.icon }\n image={ props.avatar }\n />\n )\n }\n </VBannerAvatar>\n ) }\n\n { hasText && (\n <VBannerText>\n { slots.text ? slots.text() : props.text }\n </VBannerText>\n ) }\n\n { slots.default?.() }\n </VBannerContent>\n ) }\n\n { slots.actions && (\n <VBannerActions v-slots={{ default: slots.actions }} />\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VBanner = InstanceType<typeof VBanner>\n","// Styles\nimport './VBottomNavigation.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\nexport const VBottomNavigation = defineComponent({\n name: 'VBottomNavigation',\n\n props: {\n bgColor: String,\n color: String,\n grow: Boolean,\n modelValue: {\n type: Boolean,\n default: true,\n },\n mode: {\n type: String,\n validator: (v: any) => !v || ['horizontal', 'shift'].includes(v),\n },\n height: {\n type: [Number, String],\n default: 56,\n },\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({\n name: 'bottom-navigation',\n }),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(computed(() => props.bgColor))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => props.color))\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const height = computed(() => (\n Number(props.height) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ))\n const isActive = useProxiedModel(props, 'modelValue', props.modelValue)\n const layoutStyles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n computed(() => 'bottom'),\n computed(() => isActive.value ? height.value : 0),\n height,\n isActive\n )\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-bottom-navigation',\n {\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--horizontal': props.mode === 'horizontal',\n 'v-bottom-navigation--is-active': isActive.value,\n 'v-bottom-navigation--shift': props.mode === 'shift',\n 'v-bottom-navigation--absolute': props.absolute,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutStyles.value,\n textColorStyles.value,\n {\n height: convertToUnit(height.value),\n transform: `translateY(${convertToUnit(!isActive.value ? 100 : 0, '%')})`,\n },\n ]}\n >\n { slots.default && (\n <div class=\"v-bottom-navigation__content\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VBottomNavigation = InstanceType<typeof VBottomNavigation>\n","import type { InjectionKey, Ref } from 'vue'\n\ninterface BreadcrumbsContext {\n color: Ref<string | undefined>\n disabled: Ref<boolean>\n}\n\nexport const VBreadcrumbsSymbol: InjectionKey<BreadcrumbsContext> = Symbol.for('vuetify:breadcrumbs')\n","// Composables\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { defineComponent } from '@/util'\nimport { VBreadcrumbsSymbol } from './shared'\n\nexport const VBreadcrumbsItem = defineComponent({\n name: 'VBreadcrumbsItem',\n\n props: {\n active: Boolean,\n activeClass: String,\n activeColor: String,\n color: String,\n disabled: Boolean,\n text: String,\n\n ...makeRouterProps(),\n ...makeTagProps({ tag: 'li' }),\n },\n\n setup (props, { slots, attrs }) {\n const breadcrumbs = inject(VBreadcrumbsSymbol)\n\n if (!breadcrumbs) throw new Error('[Vuetify] Could not find v-breadcrumbs provider')\n\n const link = useLink(props, attrs)\n const isActive = computed(() => {\n return props.active || link.isExactActive?.value\n })\n const color = computed(() => {\n if (isActive.value) return props.activeColor ?? breadcrumbs.color.value\n\n return props.color\n })\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n\n return (\n <Tag\n class={[\n 'v-breadcrumbs-item',\n {\n 'v-breadcrumbs-item--active': isActive.value,\n 'v-breadcrumbs-item--disabled': props.disabled || breadcrumbs.disabled.value,\n 'v-breadcrumbs-item--link': link.isLink.value,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n textColorClasses.value,\n ]}\n style={[\n textColorStyles.value,\n ]}\n aria-current={ isActive.value ? 'page' : undefined }\n onClick={ isActive.value && link.navigate }\n >\n { props.text }\n\n { slots.default?.() }\n </Tag>\n )\n }\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VBreadcrumbsDivider = createSimpleFunctional('v-breadcrumbs-divider', 'li')\n","// Styles\nimport './VBreadcrumbs.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VBreadcrumbsItem } from './VBreadcrumbsItem'\nimport { VBreadcrumbsDivider } from './VBreadcrumbsDivider'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { defineComponent } from '@/util'\nimport { VBreadcrumbsSymbol } from './shared'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { LinkProps } from '@/composables/router'\n\nexport type BreadcrumbItem = string | (LinkProps & {\n text: string\n})\n\nexport const VBreadcrumbs = defineComponent({\n name: 'VBreadcrumbs',\n\n props: {\n color: String,\n disabled: Boolean,\n divider: {\n type: String,\n default: '/',\n },\n icon: String,\n items: {\n type: Array as PropType<BreadcrumbItem[]>,\n default: () => ([]),\n },\n\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'ul' }),\n },\n\n setup (props, { slots }) {\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const items = computed(() => {\n return props.items.map((item, index, array) => ({\n props: {\n disabled: index >= array.length - 1,\n ...(typeof item === 'string' ? { text: item } : item),\n },\n }))\n })\n\n provide(VBreadcrumbsSymbol, {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n })\n\n return () => (\n <props.tag\n class={[\n 'v-breadcrumbs',\n densityClasses.value,\n roundedClasses.value,\n textColorClasses.value,\n ]}\n style={[\n textColorStyles.value,\n ]}\n >\n { props.icon && (\n <VIcon icon={ props.icon } left />\n ) }\n\n { items.value.map((item, index) => (\n <>\n <VBreadcrumbsItem\n key={ index }\n { ...item.props }\n >\n { slots.item?.({ ...item, index }) }\n </VBreadcrumbsItem>\n\n { index < props.items.length - 1 && (\n <VBreadcrumbsDivider>\n { slots.divider ? slots.divider({ ...item, index }) : props.divider }\n </VBreadcrumbsDivider>\n ) }\n </>\n )) }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n\nexport type VBreadcrumbs = InstanceType<typeof VBreadcrumbs>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardActions = createSimpleFunctional('v-card-actions')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardAvatar = createSimpleFunctional('v-card-avatar')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardHeader = createSimpleFunctional('v-card-header')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardHeaderText = createSimpleFunctional('v-card-header-text')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardImg = createSimpleFunctional('v-card-img')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardSubtitle = createSimpleFunctional('v-card-subtitle')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardText = createSimpleFunctional('v-card-text')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VCardTitle = createSimpleFunctional('v-card-title')\n","// Styles\nimport './VCard.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VImg } from '@/components/VImg'\nimport { VCardActions } from './VCardActions'\nimport { VCardAvatar } from './VCardAvatar'\nimport { VCardHeader } from './VCardHeader'\nimport { VCardHeaderText } from './VCardHeaderText'\nimport { VCardImg } from './VCardImg'\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardText } from './VCardText'\nimport { VCardTitle } from './VCardTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VCard = defineComponent({\n name: 'VCard',\n\n directives: { Ripple },\n\n props: {\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: Boolean,\n subtitle: String,\n text: String,\n title: String,\n\n ...makeThemeProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const link = useLink(props, attrs)\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasTitle = !!(slots.title || props.title)\n const hasSubtitle = !!(slots.subtitle || props.subtitle)\n const hasHeaderText = hasTitle || hasSubtitle\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const hasImage = !!(slots.image || props.image)\n const hasHeader = hasHeaderText || hasPrepend || hasAppend\n const hasText = !!(slots.text || props.text)\n const isClickable = !props.disabled && (link.isClickable.value || props.link)\n\n return (\n <Tag\n class={[\n 'v-card',\n {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n href={ link.href.value }\n onClick={ isClickable && link.navigate }\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable, 'v-card') }\n\n { hasImage && (\n <VCardImg>\n { slots.image\n ? slots.image?.({ src: props.image })\n : (<VImg src={ props.image } cover alt=\"\" />)\n }\n </VCardImg>\n ) }\n\n { slots.media?.() }\n\n { hasHeader && (\n <VCardHeader>\n { hasPrepend && (\n <VCardAvatar>\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n density={ props.density }\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n />\n )\n }\n </VCardAvatar>\n ) }\n\n { hasHeaderText && (\n <VCardHeaderText>\n { hasTitle && (\n <VCardTitle>\n { slots.title\n ? slots.title()\n : props.title\n }\n </VCardTitle>\n ) }\n\n <VCardSubtitle>\n { slots.subtitle\n ? slots.subtitle()\n : props.subtitle\n }\n </VCardSubtitle>\n </VCardHeaderText>\n ) }\n\n { hasAppend && (\n <VCardAvatar>\n { slots.append\n ? slots.append()\n : (\n <VAvatar\n density={ props.density }\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n />\n )\n }\n </VCardAvatar>\n ) }\n </VCardHeader>\n ) }\n\n { hasText && (\n <VCardText>\n { slots.text ? slots.text() : props.text }\n </VCardText>\n ) }\n\n { slots.default?.() }\n\n { slots.actions && (\n <VCardActions v-slots={{ default: slots.actions }} />\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VCard = InstanceType<typeof VCard>\n","// Utilities\nimport { h, Transition, TransitionGroup } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { FunctionalComponent, Prop } from 'vue'\n\nexport function createCssTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n) {\n return defineComponent({\n name,\n\n props: {\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n setup (props, { slots }) {\n return () => {\n const tag = props.group ? TransitionGroup : Transition\n\n return h(tag as FunctionalComponent, {\n name,\n mode: props.mode,\n onBeforeEnter (el: HTMLElement) {\n el.style.transformOrigin = props.origin\n },\n onLeave (el: HTMLElement) {\n if (props.leaveAbsolute) {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = `${offsetTop}px`\n el.style.left = `${offsetLeft}px`\n el.style.width = `${offsetWidth}px`\n el.style.height = `${offsetHeight}px`\n }\n\n if (props.hideOnLeave) {\n el.style.setProperty('display', 'none', 'important')\n }\n },\n onAfterLeave (el: HTMLElement) {\n if (props.leaveAbsolute && el?._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n },\n }, slots.default)\n }\n },\n })\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n) {\n return defineComponent({\n name,\n\n props: {\n mode: {\n type: String,\n default: mode,\n } as Prop<'in-out' | 'out-in' | 'default'>,\n },\n\n setup (props, { slots }) {\n return () => {\n return h(Transition, {\n name,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...functions,\n }, slots.default)\n }\n },\n })\n}\n","// Utilities\nimport { camelize } from 'vue'\n\ninterface HTMLExpandElement extends HTMLElement {\n _parent?: (Node & ParentNode & HTMLElement) | null\n _initialStyle?: {\n transition: string\n overflow: string\n height?: string | null\n width?: string | null\n }\n}\n\nexport default function (expandedParentClass = '', x = false) {\n const sizeProperty = x ? 'width' : 'height' as 'width' | 'height'\n const offsetProperty = camelize(`offset-${sizeProperty}`) as 'offsetHeight' | 'offsetWidth'\n\n return {\n onBeforeEnter (el: HTMLExpandElement) {\n el._parent = el.parentNode as (Node & ParentNode & HTMLElement) | null\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n },\n\n onEnter (el: HTMLExpandElement) {\n const initialStyle = el._initialStyle!\n\n el.style.setProperty('transition', 'none', 'important')\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden'\n const offset = `${el[offsetProperty]}px`\n\n el.style[sizeProperty] = '0'\n\n void el.offsetHeight // force reflow\n\n el.style.transition = initialStyle.transition\n\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass)\n }\n\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset\n })\n },\n\n onAfterEnter: resetStyles,\n onEnterCancelled: resetStyles,\n\n onLeave (el: HTMLExpandElement) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty],\n }\n\n el.style.overflow = 'hidden'\n el.style[sizeProperty] = `${el[offsetProperty]}px`\n void el.offsetHeight // force reflow\n\n requestAnimationFrame(() => (el.style[sizeProperty] = '0'))\n },\n\n onAfterLeave,\n onLeaveCancelled: onAfterLeave,\n }\n\n function onAfterLeave (el: HTMLExpandElement) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass)\n }\n resetStyles(el)\n }\n\n function resetStyles (el: HTMLExpandElement) {\n const size = el._initialStyle![sizeProperty]\n el.style.overflow = el._initialStyle!.overflow\n if (size != null) el.style[sizeProperty] = size\n delete el._initialStyle\n }\n}\n","import type { PropType } from 'vue'\nimport { Transition } from 'vue'\nimport { acceleratedEasing, deceleratedEasing, defineComponent, nullifyTransforms } from '@/util'\n\nexport const VDialogTransition = defineComponent({\n name: 'VDialogTransition',\n\n props: {\n target: Object as PropType<HTMLElement>,\n },\n\n setup (props, { slots }) {\n const functions = {\n onBeforeEnter (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onEnter (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: `translate(${x}px, ${y}px) scale(0.1)`, opacity: 0 },\n { transform: '' },\n ], {\n duration: 225,\n easing: deceleratedEasing,\n })\n animation.finished.then(() => done())\n },\n onAfterEnter (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n onBeforeLeave (el: Element) {\n (el as HTMLElement).style.pointerEvents = 'none'\n },\n async onLeave (el: Element, done: () => void) {\n await new Promise(resolve => requestAnimationFrame(resolve))\n\n const { x, y } = getDimensions(props.target!, el as HTMLElement)\n\n const animation = el.animate([\n { transform: '' },\n { transform: `translate(${x}px, ${y}px) scale(0.1)`, opacity: 0 },\n ], {\n duration: 125,\n easing: acceleratedEasing,\n })\n animation.finished.then(() => done())\n },\n onAfterLeave (el: Element) {\n (el as HTMLElement).style.removeProperty('pointer-events')\n },\n }\n\n return () => {\n return props.target\n ? (\n <Transition\n name=\"dialog-transition\"\n { ...functions }\n css={ false }\n v-slots={ slots }\n />\n )\n : <Transition name=\"dialog-transition\" v-slots={ slots } />\n }\n },\n})\n\nfunction getDimensions (target: HTMLElement, el: HTMLElement) {\n const targetBox = target.getBoundingClientRect()\n const elBox = nullifyTransforms(el)\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v))\n\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ')\n\n let offsetX = targetBox.left + targetBox.width / 2\n if (anchorSide === 'left' || anchorOffset === 'left') {\n offsetX -= targetBox.width / 2\n } else if (anchorSide === 'right' || anchorOffset === 'right') {\n offsetX += targetBox.width / 2\n }\n\n let offsetY = targetBox.top + targetBox.height / 2\n if (anchorSide === 'top' || anchorOffset === 'top') {\n offsetY -= targetBox.height / 2\n } else if (anchorSide === 'bottom' || anchorOffset === 'bottom') {\n offsetY += targetBox.height / 2\n }\n\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n }\n}\n","import {\n createCssTransition,\n createJavascriptTransition,\n} from './createTransition'\n\nimport ExpandTransitionGenerator from './expand-transition'\n\n// Component specific transitions\nexport const VCarouselTransition = createCssTransition('carousel-transition')\nexport const VCarouselReverseTransition = createCssTransition('carousel-reverse-transition')\nexport const VTabTransition = createCssTransition('tab-transition')\nexport const VTabReverseTransition = createCssTransition('tab-reverse-transition')\nexport const VMenuTransition = createCssTransition('menu-transition')\nexport const VFabTransition = createCssTransition('fab-transition', 'center center', 'out-in')\n\n// Generic transitions\nexport const VDialogBottomTransition = createCssTransition('dialog-bottom-transition')\nexport const VDialogTopTransition = createCssTransition('dialog-top-transition')\nexport const VFadeTransition = createCssTransition('fade-transition')\nexport const VScaleTransition = createCssTransition('scale-transition')\nexport const VScrollXTransition = createCssTransition('scroll-x-transition')\nexport const VScrollXReverseTransition = createCssTransition('scroll-x-reverse-transition')\nexport const VScrollYTransition = createCssTransition('scroll-y-transition')\nexport const VScrollYReverseTransition = createCssTransition('scroll-y-reverse-transition')\nexport const VSlideXTransition = createCssTransition('slide-x-transition')\nexport const VSlideXReverseTransition = createCssTransition('slide-x-reverse-transition')\nexport const VSlideYTransition = createCssTransition('slide-y-transition')\nexport const VSlideYReverseTransition = createCssTransition('slide-y-reverse-transition')\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator())\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true))\n\nexport { VDialogTransition } from './dialog-transition'\n","// Styles\nimport './VMessages.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Composables\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { defineComponent, wrapInArray } from '@/util'\nimport { computed } from 'vue'\nimport type { PropType } from 'vue'\n\nexport const VMessages = defineComponent({\n name: 'VMessages',\n\n props: {\n active: Boolean,\n color: String,\n value: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition,\n leaveAbsolute: true,\n group: true,\n },\n }),\n },\n\n setup (props, { slots }) {\n const messages = computed(() => wrapInArray(props.value))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => props.color))\n\n return () => (\n <MaybeTransition\n transition={ props.transition }\n tag=\"div\"\n class={[\n 'v-messages',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { (messages.value.length > 0 && props.active) && (\n messages.value.map((message, i) => (\n <div class=\"v-messages__message\" key={ `${i}-${messages.value}` }>\n { message }\n </div>\n ))\n ) }\n\n { slots?.default?.() }\n </MaybeTransition>\n )\n },\n})\n","// Utilities\nimport { computed, inject, provide, ref } from 'vue'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { propsFactory } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\n\nexport interface FormProvide {\n register: (\n id: number | string,\n validate: () => Promise<string[]>,\n reset: () => void,\n resetValidation: () => void\n ) => void\n unregister: (id: number | string) => void\n items: Ref<FormField[]>\n isDisabled: ComputedRef<boolean>\n isReadonly: ComputedRef<boolean>\n isValidating: Ref<boolean>\n}\n\ninterface FormField {\n id: number | string\n validate: () => Promise<string[]>\n reset: () => void\n resetValidation: () => void\n}\n\ninterface FormValidationResult {\n id: number | string\n errorMessages: string[]\n}\n\nexport const FormKey: InjectionKey<FormProvide> = Symbol.for('vuetify:form')\n\nexport interface FormProps {\n disabled: boolean\n fastFail: boolean\n lazyValidation: boolean\n readonly: boolean\n modelValue: boolean | null\n 'onUpdate:modelValue': ((val: boolean | null) => void) | undefined\n}\n\nexport const makeFormProps = propsFactory({\n disabled: Boolean,\n fastFail: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n modelValue: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n})\n\nexport function createForm (props: FormProps) {\n const model = useProxiedModel(props, 'modelValue')\n\n const isDisabled = computed(() => props.disabled)\n const isReadonly = computed(() => props.readonly)\n const isValidating = ref(false)\n const items = ref<FormField[]>([])\n const errorMessages = ref<FormValidationResult[]>([])\n\n async function validate () {\n const results = []\n let valid = true\n\n errorMessages.value = []\n model.value = null\n isValidating.value = true\n\n for (const item of items.value) {\n const itemErrorMessages = await item.validate()\n\n if (itemErrorMessages.length > 0) {\n valid = false\n\n results.push({\n id: item.id,\n errorMessages: itemErrorMessages,\n })\n }\n\n if (!valid && props.fastFail) break\n }\n\n errorMessages.value = results\n model.value = valid\n isValidating.value = false\n\n return { valid, errorMessages: errorMessages.value }\n }\n\n function reset () {\n items.value.forEach(item => item.reset())\n model.value = null\n }\n\n function resetValidation () {\n items.value.forEach(item => item.resetValidation())\n errorMessages.value = []\n model.value = null\n }\n\n provide(FormKey, {\n register: (id, validate, reset, resetValidation) => {\n items.value.push({\n id,\n validate,\n reset,\n resetValidation,\n })\n },\n unregister: id => {\n items.value = items.value.filter(item => {\n return item.id !== id\n })\n },\n isDisabled,\n isReadonly,\n isValidating,\n items,\n })\n\n return {\n errorMessages,\n isDisabled,\n isReadonly,\n isValidating,\n items,\n validate,\n reset,\n resetValidation,\n }\n}\n\nexport function useForm () {\n return inject(FormKey, null)\n}\n","// Composables\nimport { useForm } from '@/composables/form'\n\n// Utilities\nimport { computed, onBeforeMount, onBeforeUnmount, ref } from 'vue'\nimport { getCurrentInstanceName, getUid, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\nexport type ValidationResult = string | true\nexport type ValidationRule =\n | ValidationResult\n | PromiseLike<ValidationResult>\n | ((value: any) => ValidationResult)\n | ((value: any) => PromiseLike<ValidationResult>)\n\nexport interface ValidationProps {\n disabled: boolean\n error: boolean\n errorMessages: string | string[]\n maxErrors: string | number\n name: string | undefined\n readonly: boolean\n rules: ValidationRule[]\n modelValue: any\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n}\n\nexport const makeValidationProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n errorMessages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n maxErrors: {\n type: [Number, String],\n default: 1,\n },\n name: String,\n readonly: Boolean,\n rules: {\n type: Array as PropType<ValidationRule[]>,\n default: () => ([]),\n },\n modelValue: null,\n})\n\nexport function useValidation (\n props: ValidationProps,\n name = getCurrentInstanceName(),\n) {\n const model = useProxiedModel(props, 'modelValue')\n const form = useForm()\n const errorMessages = ref<string[]>([])\n const isPristine = ref(true)\n const isDisabled = computed(() => !!(props.disabled || form?.isDisabled.value))\n const isReadonly = computed(() => !!(props.readonly || form?.isReadonly.value))\n const isValid = computed(() => {\n if (\n props.error ||\n props.errorMessages?.length ||\n errorMessages.value.length\n ) return false\n\n return isPristine.value ? null : true\n })\n const isValidating = ref(false)\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--disabled`]: isDisabled.value,\n [`${name}--readonly`]: isReadonly.value,\n }\n })\n\n const uid = computed(() => props.name ?? getUid())\n\n onBeforeMount(() => {\n form?.register(uid.value, validate, reset, resetValidation)\n })\n\n onBeforeUnmount(() => {\n form?.unregister(uid.value)\n })\n\n function reset () {\n resetValidation()\n model.value = null\n }\n\n function resetValidation () {\n isPristine.value = true\n errorMessages.value = []\n }\n\n async function validate () {\n const results = []\n\n errorMessages.value = []\n isValidating.value = true\n\n for (const rule of props.rules) {\n if (results.length >= (props.maxErrors || 1)) {\n break\n }\n\n const handler = typeof rule === 'function' ? rule : () => rule\n const result = await handler(model.value)\n\n if (result === true) continue\n\n if (typeof result !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`)\n\n continue\n }\n\n results.push(result)\n }\n\n errorMessages.value = results\n isValidating.value = false\n isPristine.value = false\n\n return errorMessages.value\n }\n\n return {\n errorMessages,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n }\n}\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VMessages } from '@/components/VMessages'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { computed, provide, toRef } from 'vue'\nimport { genericComponent, getUid, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport interface VInputSlot {\n id: ComputedRef<string>\n isDisabled: ComputedRef<boolean>\n isFocused: Ref<boolean>\n isReadonly: ComputedRef<boolean>\n isPristine: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n isValidating: Ref<boolean>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\nexport const VInputSymbol = 'VInput' as any as InjectionKey<ComputedRef<VInputSlot>>\n\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: String,\n prependIcon: String,\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hint: String,\n messages: {\n type: [Array, String] as PropType<string | string[]>,\n default: () => ([]),\n },\n persistentHint: Boolean,\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['horizontal', 'vertical'].includes(v),\n },\n\n ...makeDensityProps(),\n ...makeValidationProps(),\n})\n\nexport const VInput = genericComponent<new <T>() => {\n $slots: MakeSlots<{\n default: [VInputSlot]\n prepend: [VInputSlot]\n append: [VInputSlot]\n details: [VInputSlot]\n }>\n}>()({\n name: 'VInput',\n\n props: {\n focused: Boolean,\n\n ...makeVInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n 'click:prepend': (e: MouseEvent) => true,\n 'click:append': (e: MouseEvent) => true,\n },\n\n setup (props, { slots, emit }) {\n const { densityClasses } = useDensity(props)\n const {\n errorMessages,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n } = useValidation(props)\n\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const isFocused = toRef(props, 'focused')\n\n const slotProps = computed<VInputSlot>(() => ({\n id,\n isDisabled,\n isFocused,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n }))\n\n provide(VInputSymbol, slotProps)\n\n useRender(() => {\n const hasPrepend = (slots.prepend || props.prependIcon)\n const hasAppend = (slots.append || props.appendIcon)\n const hasHint = !!(slots.hint || props.hint)\n const hasMessages = !!(\n slots.messages ||\n props.messages?.length ||\n errorMessages.value.length\n )\n const hasDetails = !props.hideDetails || (\n props.hideDetails === 'auto' &&\n (hasMessages || hasHint)\n )\n const showMessages = hasMessages || (\n hasHint &&\n (props.persistentHint || props.focused)\n )\n\n return (\n <div class={[\n 'v-input',\n `v-input--${props.direction}`,\n densityClasses.value,\n validationClasses.value,\n ]}\n >\n { hasPrepend && (\n <div\n class=\"v-input__prepend\"\n onClick={ e => emit('click:prepend', e) }\n >\n { slots?.prepend?.(slotProps.value) }\n\n { props.prependIcon && (\n <VIcon icon={ props.prependIcon } />\n ) }\n </div>\n ) }\n\n <div class=\"v-input__control\">\n { slots.default?.(slotProps.value) }\n </div>\n\n { hasAppend && (\n <div\n class=\"v-input__append\"\n onClick={ e => emit('click:append', e) }\n >\n { slots?.append?.(slotProps.value) }\n\n { props.appendIcon && (\n <VIcon icon={ props.appendIcon } />\n ) }\n </div>\n ) }\n\n { hasDetails && (\n <div class=\"v-input__details\">\n <VMessages\n active={ showMessages }\n color={ isValid.value === false ? 'error' : undefined }\n value={ errorMessages.value.length > 0\n ? errorMessages.value\n : (hasMessages ? props.messages : props.hint)\n }\n v-slots={{ default: slots.messages }}\n />\n\n { slots.details?.(slotProps.value) }\n </div>\n ) }\n </div>\n )\n })\n\n return {\n isValid,\n validate,\n reset,\n resetValidation,\n errorMessages,\n }\n },\n})\n\nexport type VInput = InstanceType<typeof VInput>\n\nexport function filterInputProps (props: ExtractPropTypes<ReturnType<typeof makeVInputProps>>) {\n return pick(props, Object.keys(VInput.props) as any)\n}\n","// Styles\nimport './VLabel.sass'\n\n// Composables\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VLabel = defineComponent({\n name: 'VLabel',\n\n props: {\n disabled: Boolean,\n error: Boolean,\n text: String,\n\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n return () => (\n <label\n class={[\n 'v-label',\n {\n 'v-label--disabled': props.disabled,\n 'v-label--error': props.error,\n },\n ]}\n >\n { props.text }\n\n { slots.default?.() }\n </label>\n )\n },\n})\n\nexport type VLabel = InstanceType<typeof VLabel>\n","// Styles\nimport './VSelectionControlGroup.sass'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent, provide, toRef } from 'vue'\nimport { getUid, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType, Ref } from 'vue'\n\nexport interface VSelectionGroupContext {\n disabled: Ref<boolean>\n inline: Ref<boolean>\n name: Ref<string | undefined>\n modelValue: Ref<any>\n multiple: Ref<boolean>\n trueIcon: Ref<string | undefined>\n falseIcon: Ref<string | undefined>\n readonly: Ref<boolean>\n type: Ref<string | undefined>\n}\n\nexport const VSelectionControlGroupSymbol: InjectionKey<VSelectionGroupContext> = Symbol.for('vuetify:selection-control-group')\n\nexport const VSelectionControlGroup = defineComponent({\n name: 'VSelectionControlGroup',\n\n props: {\n disabled: Boolean,\n id: String,\n inline: Boolean,\n name: String,\n falseIcon: String,\n trueIcon: String,\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n readonly: Boolean,\n type: String,\n modelValue: null,\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const modelValue = useProxiedModel(props, 'modelValue')\n const uid = getUid()\n const id = computed(() => props.id || `v-selection-control-group-${uid}`)\n const name = computed(() => props.name || id.value)\n\n provide(VSelectionControlGroupSymbol, {\n disabled: toRef(props, 'disabled'),\n inline: toRef(props, 'inline'),\n modelValue,\n multiple: computed(() => !!props.multiple || (props.multiple == null && Array.isArray(modelValue.value))),\n name,\n falseIcon: toRef(props, 'falseIcon'),\n trueIcon: toRef(props, 'trueIcon'),\n readonly: toRef(props, 'readonly'),\n type: toRef(props, 'type'),\n })\n\n useRender(() => {\n return (\n <div\n class=\"v-selection-control-group\"\n aria-labelled-by={ props.type === 'radio' ? id.value : undefined }\n role={ props.type === 'radio' ? 'radiogroup' : undefined }\n >\n { slots?.default?.() }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSelectionControlGroup = InstanceType<typeof VSelectionControlGroup>\n","// Styles\nimport './VSelectionControl.sass'\n\n// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroupSymbol } from '@/components/VSelectionControlGroup/VSelectionControlGroup'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useTextColor } from '@/composables/color'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject, ref } from 'vue'\nimport {\n deepEqual,\n genericComponent,\n getUid,\n pick,\n propsFactory,\n SUPPORTS_FOCUS_VISIBLE,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { ComputedRef, ExtractPropTypes, PropType, Ref, WritableComputedRef } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nexport type SelectionControlSlot = {\n model: WritableComputedRef<any>\n isReadonly: ComputedRef<boolean>\n isDisabled: ComputedRef<boolean>\n textColorClasses: Ref<string[]>\n props: {\n onBlur: (e: Event) => void\n onFocus: (e: FocusEvent) => void\n id: string\n }\n}\n\nexport const makeSelectionControlProps = propsFactory({\n color: String,\n disabled: Boolean,\n error: Boolean,\n id: String,\n inline: Boolean,\n label: String,\n falseIcon: String,\n trueIcon: String,\n ripple: {\n type: Boolean,\n default: true,\n },\n multiple: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n name: String,\n readonly: Boolean,\n trueValue: null,\n falseValue: null,\n modelValue: null,\n type: String,\n value: null,\n valueComparator: {\n type: Function as PropType<typeof deepEqual>,\n default: deepEqual,\n },\n\n ...makeThemeProps(),\n ...makeDensityProps(),\n})\n\nexport function useSelectionControl (\n props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>> & {\n 'onUpdate:modelValue': ((val: any) => void) | undefined\n }\n) {\n const group = inject(VSelectionControlGroupSymbol, undefined)\n const { densityClasses } = useDensity(props)\n const modelValue = useProxiedModel(props, 'modelValue')\n const trueValue = computed(() => (\n props.trueValue !== undefined ? props.trueValue\n : props.value !== undefined ? props.value\n : true\n ))\n const falseValue = computed(() => props.falseValue !== undefined ? props.falseValue : false)\n const isMultiple = computed(() => (\n group?.multiple.value ||\n !!props.multiple ||\n (props.multiple == null && Array.isArray(modelValue.value))\n ))\n const model = computed({\n get () {\n const val = group ? group.modelValue.value : modelValue.value\n\n return isMultiple.value\n ? val.some((v: any) => props.valueComparator(v, trueValue.value))\n : props.valueComparator(val, trueValue.value)\n },\n set (val: boolean) {\n const currentValue = val ? trueValue.value : falseValue.value\n\n let newVal = currentValue\n\n if (isMultiple.value) {\n newVal = val\n ? [...wrapInArray(modelValue.value), currentValue]\n : wrapInArray(modelValue.value).filter((item: any) => !props.valueComparator(item, trueValue.value))\n }\n\n if (group) {\n group.modelValue.value = newVal\n } else {\n modelValue.value = newVal\n }\n },\n })\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n model.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n const icon = computed(() => {\n return model.value\n ? group?.trueIcon.value ?? props.trueIcon\n : group?.falseIcon.value ?? props.falseIcon\n })\n\n return {\n group,\n densityClasses,\n trueValue,\n falseValue,\n model,\n textColorClasses,\n textColorStyles,\n icon,\n }\n}\n\nexport const VSelectionControl = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: MakeSlots<{\n default: []\n input: [SelectionControlSlot]\n }>\n}>()({\n name: 'VSelectionControl',\n\n directives: { Ripple },\n\n inheritAttrs: false,\n\n props: makeSelectionControlProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, slots }) {\n const {\n densityClasses,\n group,\n icon,\n model,\n textColorClasses,\n textColorStyles,\n trueValue,\n } = useSelectionControl(props)\n const uid = getUid()\n const id = computed(() => props.id || `input-${uid}`)\n const isFocused = ref(false)\n const isFocusVisible = ref(false)\n const input = ref<HTMLInputElement>()\n\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n if (\n !SUPPORTS_FOCUS_VISIBLE ||\n (SUPPORTS_FOCUS_VISIBLE && (e.target as HTMLElement).matches(':focus-visible'))\n ) {\n isFocusVisible.value = true\n }\n }\n\n function onBlur () {\n isFocused.value = false\n isFocusVisible.value = false\n }\n\n useRender(() => {\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n const type = group?.type.value ?? props.type\n\n return (\n <div\n class={[\n 'v-selection-control',\n {\n 'v-selection-control--dirty': model.value,\n 'v-selection-control--disabled': props.disabled,\n 'v-selection-control--error': props.error,\n 'v-selection-control--focused': isFocused.value,\n 'v-selection-control--focus-visible': isFocusVisible.value,\n 'v-selection-control--inline': group?.inline.value || props.inline,\n },\n densityClasses.value,\n textColorClasses.value,\n ]}\n >\n <div class=\"v-selection-control__wrapper\">\n { slots.default?.() }\n\n <div\n class={[\n 'v-selection-control__input',\n ]}\n style={ textColorStyles.value }\n v-ripple={ props.ripple && [\n !props.disabled && !props.readonly,\n null,\n ['center', 'circle'],\n ]}\n >\n { icon.value && <VIcon icon={ icon.value } /> }\n\n <input\n v-model={ model.value }\n ref={ input }\n disabled={ props.disabled }\n id={ id.value }\n onBlur={ onBlur }\n onFocus={ onFocus }\n readonly={ props.readonly }\n type={ type }\n value={ trueValue.value }\n name={ group?.name.value ?? props.name }\n aria-checked={ type === 'checkbox' ? model.value : undefined }\n { ...attrs }\n />\n\n { slots.input?.({\n model,\n textColorClasses,\n props: {\n onFocus,\n onBlur,\n id: id.value,\n },\n }) }\n </div>\n </div>\n\n <VLabel\n disabled={ props.disabled }\n error={ props.error }\n for={ id.value }\n >\n { label }\n </VLabel>\n </div>\n )\n })\n\n return {\n isFocused,\n input,\n }\n },\n})\n\nexport type VSelectionControl = InstanceType<typeof VSelectionControl>\n\nexport function filterControlProps (props: ExtractPropTypes<ReturnType<typeof makeSelectionControlProps>>) {\n return pick(props, Object.keys(VSelectionControl.props) as any)\n}\n","// Styles\nimport './VCheckbox.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent } from 'vue'\nimport { filterInputAttrs, useRender } from '@/util'\n\nexport const VCheckbox = defineComponent({\n name: 'VCheckbox',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n\n falseIcon: {\n type: String,\n default: '$checkboxOff',\n },\n trueIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const falseIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.falseIcon\n })\n const trueIcon = computed(() => {\n return indeterminate.value\n ? props.indeterminateIcon\n : props.trueIcon\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n\n return (\n <VInput\n class=\"v-checkbox\"\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n }) => (\n <VSelectionControl\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n falseIcon={ falseIcon.value }\n trueIcon={ trueIcon.value }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n />\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VCheckbox = InstanceType<typeof VCheckbox>\n","// Styles\nimport './VChip.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VChip = defineComponent({\n name: 'VChip',\n\n directives: { Ripple },\n\n props: {\n activeClass: String,\n appendAvatar: String,\n appendIcon: String,\n closable: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n pill: Boolean,\n prependAvatar: String,\n prependIcon: String,\n ripple: {\n type: Boolean,\n default: true,\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'span' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'contained' } as const),\n },\n\n emits: {\n 'click:close': (e: Event) => true,\n 'update:active': (value: Boolean) => true,\n 'update:modelValue': (value: Boolean) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses } = useSize(props)\n const { densityClasses } = useDensity(props)\n const link = useLink(props, attrs)\n\n function onCloseClick (e: Event) {\n isActive.value = false\n\n emit('click:close', e)\n }\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasAppend = !!(slots.append || props.appendIcon || props.appendAvatar)\n const hasClose = !!(slots.close || props.closable)\n const hasPrepend = !!(slots.prepend || props.prependIcon || props.prependAvatar)\n const isClickable = !props.disabled && (link.isClickable.value || props.link)\n\n return isActive.value && (\n <Tag\n class={[\n 'v-chip',\n {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable,\n 'v-chip--pill': props.pill,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n ]}\n style={ [colorStyles.value] }\n disabled={ props.disabled || undefined }\n draggable={ props.draggable }\n href={ link.href.value }\n v-ripple={ [isClickable && props.ripple, null] }\n onClick={ isClickable && link.navigate }\n >\n { genOverlays(isClickable, 'v-chip') }\n\n { hasPrepend && (\n <div class=\"v-chip__prepend\">\n { slots.prepend\n ? slots.prepend()\n : (\n <VAvatar\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n size={ props.size }\n />\n )\n }\n </div>\n ) }\n\n { slots.default?.() ?? props.text }\n\n { hasAppend && (\n <div class=\"v-chip__append\">\n { slots.append\n ? slots.append()\n : (\n <VAvatar\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n size={ props.size }\n />\n )\n }\n </div>\n ) }\n\n { hasClose && (\n <div\n class=\"v-chip__close\"\n onClick={ onCloseClick }\n >\n { slots.close\n ? slots.close({ props: { onClick: onCloseClick } })\n : (\n <VIcon\n icon={ props.closeIcon }\n size=\"x-small\"\n />\n )\n }\n </div>\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VChip = InstanceType<typeof VChip>\n","import './VCode.sass'\n\nimport { createSimpleFunctional } from '@/util'\n\nexport const VCode = createSimpleFunctional('v-code')\n","// Styles\nimport './VCounter.sass'\n\n// Components\nimport { VSlideYTransition } from '@/components/transitions'\n\n// Utilities\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { computed, defineComponent } from 'vue'\n\nexport const VCounter = defineComponent({\n name: 'VCounter',\n\n functional: true,\n\n props: {\n active: Boolean,\n max: [Number, String],\n value: {\n type: [Number, String],\n default: 0,\n },\n\n ...makeTransitionProps({\n transition: { component: VSlideYTransition },\n }),\n },\n\n setup (props, { slots }) {\n const counter = computed(() => {\n return props.max ? `${props.value} / ${props.max}` : String(props.value)\n })\n\n return () => {\n return (\n <MaybeTransition transition={ props.transition }>\n <div\n v-show={ props.active }\n class=\"v-counter\"\n >\n { slots.default\n ? slots.default({\n counter: counter.value,\n max: props.max,\n value: props.value,\n })\n : counter.value\n }\n </div>\n </MaybeTransition>\n )\n }\n },\n})\n","// Composables\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { defineComponent, toRefs } from 'vue'\n\n// Types\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { PropType } from 'vue'\n\nexport const VDefaultsProvider = defineComponent({\n name: 'VDefaultsProvider',\n\n props: {\n defaults: Object as PropType<DefaultsOptions>,\n reset: [Number, String],\n root: Boolean,\n scoped: Boolean,\n },\n\n setup (props, { slots }) {\n const { defaults, reset, root, scoped } = toRefs(props)\n\n provideDefaults(defaults, {\n reset,\n root,\n scoped,\n })\n\n return () => slots.default?.()\n },\n})\n","// Utilities\nimport { IN_BROWSER, propsFactory } from '@/util'\n\n// Types\nexport interface DelayProps {\n closeDelay?: number | string\n openDelay?: number | string\n}\n\n// Composables\nexport const makeDelayProps = propsFactory({\n closeDelay: [Number, String],\n openDelay: [Number, String],\n}, 'delay')\n\nexport function useDelay (props: DelayProps, cb?: (value: boolean) => void) {\n const delays: Partial<Record<keyof DelayProps, number>> = {}\n const runDelayFactory = (prop: keyof DelayProps) => (): Promise<boolean> => {\n // istanbul ignore next\n if (!IN_BROWSER) return Promise.resolve(true)\n\n const active = prop === 'openDelay'\n\n delays.closeDelay && window.clearTimeout(delays.closeDelay)\n delete delays.closeDelay\n\n delays.openDelay && window.clearTimeout(delays.openDelay)\n delete delays.openDelay\n\n return new Promise(resolve => {\n const delay = parseInt(props[prop] ?? 0, 10)\n\n delays[prop] = window.setTimeout(() => {\n cb?.(active)\n resolve(active)\n }, delay)\n })\n }\n\n return {\n runCloseDelay: runDelayFactory('closeDelay'),\n runOpenDelay: runDelayFactory('openDelay'),\n }\n}\n","// Utilities\nimport { getCurrentInstance, IN_BROWSER, isComponentInstance, propsFactory, SUPPORTS_FOCUS_VISIBLE } from '@/util'\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport {\n computed,\n effectScope,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\n\n// Types\nimport type { DelayProps } from '@/composables/delay'\nimport type {\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\n\ninterface ActivatorProps extends DelayProps {\n activator?: 'parent' | string | Element | ComponentPublicInstance\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n}\n\nexport const makeActivatorProps = propsFactory({\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n})\n\nexport function useActivator (\n props: ActivatorProps,\n isActive: Ref<boolean>\n) {\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n )) {\n isActive.value = value\n }\n })\n\n const availableEvents = {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n isActive.value = !isActive.value\n },\n mouseenter: (e: MouseEvent) => {\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n mouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n focus: (e: FocusEvent) => {\n if (\n SUPPORTS_FOCUS_VISIBLE &&\n !(e.target as HTMLElement).matches(':focus-visible')\n ) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n blur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.click = availableEvents.click\n }\n if (props.openOnHover) {\n events.mouseenter = availableEvents.mouseenter\n events.mouseleave = availableEvents.mouseleave\n }\n if (openOnFocus.value) {\n events.focus = availableEvents.focus\n events.blur = availableEvents.blur\n }\n\n return events\n })\n\n const activatorRef = ref()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n const activator = activatorRef.value\n activatorEl.value = isComponentInstance(activator) ? activator.$el : activator\n })\n })\n\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, { activatorEl, activatorRef, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n return { activatorEl, activatorRef, activatorEvents }\n}\n\nfunction _useActivator (props: ActivatorProps, { activatorEl, activatorEvents }: ReturnType<typeof useActivator>) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.addEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n if (_props[k] == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, _props[k])\n }\n })\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.removeEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n el.removeAttribute(k)\n })\n }\n\n const vm = getCurrentInstance('useActivator')\n function getActivator (selector = props.activator): HTMLElement | undefined {\n let activator\n if (selector) {\n if (selector === 'parent') {\n activator = vm?.proxy?.$el?.parentNode\n } else if (typeof selector === 'string') {\n // Selector\n activator = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n activator = selector.$el\n } else {\n // HTMLElement | Element\n activator = selector\n }\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return activatorEl.value\n }\n}\n","const block = ['top', 'bottom'] as const\nconst inline = ['start', 'end'] as const\ntype Tblock = typeof block[number]\ntype Tinline = typeof inline [number]\nexport type Anchor =\n | Tblock\n | Tinline\n | 'center'\n | 'center center'\n | `${Tblock} ${Tinline | 'center'}`\n | `${Tinline} ${Tblock | 'center'}`\nexport type ParsedAnchor =\n | { side: 'center', align: 'center' }\n | { side: Tblock, align: Tinline | 'center' }\n | { side: Tinline, align: Tblock | 'center' }\n\n/** Parse a raw anchor string into an object */\nexport function parseAnchor (anchor: Anchor) {\n let [side, align] = anchor.split(' ')\n if (!align) {\n align =\n side === 'top' || side === 'bottom' ? 'start'\n : side === 'start' || side === 'end' ? 'top'\n : 'center'\n }\n return {\n side,\n align,\n } as ParsedAnchor\n}\n\n/** Get an anchor directly opposite, with the same alignment */\nexport function oppositeAnchor (anchor: ParsedAnchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n start: 'end',\n end: 'start',\n }[anchor.side],\n align: anchor.align,\n } as ParsedAnchor\n}\n\n/** Convert start/end into left/right */\nexport function physicalAnchor (anchor: ParsedAnchor, el: HTMLElement) {\n const { side, align } = anchor\n const { direction } = window.getComputedStyle(el)\n\n const map: Record<string, string | undefined> = direction === 'ltr' ? {\n start: 'left',\n end: 'right',\n } : {\n start: 'right',\n end: 'left',\n }\n\n return (map[side] ?? side) + ' ' + (map[align] ?? align)\n}\n","import type { ParsedAnchor } from './anchor'\nimport type { Box } from '@/util/box'\n\ntype Point = { x: number, y: number }\ndeclare class As<T extends string> {\n private as: T\n}\ntype ElementPoint = Point & As<'element'>\ntype ViewportPoint = Point & As<'viewport'>\ntype Offset = Point & As<'offset'>\n\n/** Convert a point in local space to viewport space */\nexport function elementToViewport (point: ElementPoint, offset: Offset | Box) {\n return {\n x: point.x + offset.x,\n y: point.y + offset.y,\n } as ViewportPoint\n}\n\n/** Convert a point in viewport space to local space */\nexport function viewportToElement (point: ViewportPoint, offset: Offset | Box) {\n return {\n x: point.x - offset.x,\n y: point.y - offset.y,\n } as ElementPoint\n}\n\n/** Get the difference between two points */\nexport function getOffset<T extends Point> (a: T, b: T) {\n return {\n x: a.x - b.x,\n y: a.y - b.y,\n } as Offset\n}\n\n/** Convert an anchor object to a point in local space */\nexport function anchorToPoint (anchor: ParsedAnchor, box: Box): ViewportPoint {\n if (anchor.side === 'top' || anchor.side === 'bottom') {\n const { side, align } = anchor\n\n const x: number =\n align === 'start' ? 0\n : align === 'center' ? box.width / 2\n : align === 'end' ? box.width\n : align\n const y: number =\n side === 'top' ? 0\n : side === 'bottom' ? box.height\n : side\n\n return elementToViewport({ x, y } as ElementPoint, box)\n } else if (anchor.side === 'start' || anchor.side === 'end') {\n const { side, align } = anchor\n\n const x: number =\n side === 'start' ? 0\n : side === 'end' ? box.width\n : side\n const y: number =\n align === 'top' ? 0\n : align === 'center' ? box.height / 2\n : align === 'bottom' ? box.height\n : align\n\n return elementToViewport({ x, y } as ElementPoint, box)\n }\n\n return elementToViewport({\n x: box.width / 2,\n y: box.height / 2,\n } as ElementPoint, box)\n}\n","// Utilities\nimport { computed, effectScope, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue'\nimport { convertToUnit, getScrollParent, IN_BROWSER, isFixedPosition, nullifyTransforms, propsFactory } from '@/util'\nimport { oppositeAnchor, parseAnchor, physicalAnchor } from './util/anchor'\nimport { anchorToPoint, getOffset } from './util/point'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\nimport type { Anchor } from './util/anchor'\nimport { Box } from '@/util/box'\n\nexport interface PositionStrategyData {\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n}\n\nconst positionStrategies = {\n static: staticPositionStrategy, // specific viewport position, usually centered\n connected: connectedPositionStrategy, // connected to a certain element\n}\n\nexport interface StrategyProps {\n positionStrategy: keyof typeof positionStrategies | (\n (\n data: PositionStrategyData,\n props: StrategyProps,\n contentStyles: Ref<Record<string, string>>\n ) => undefined | { updatePosition: (e: Event) => void }\n )\n anchor: Anchor\n origin: Anchor | 'auto' | 'overlap'\n offset?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n}\n\nexport const makePositionStrategyProps = propsFactory({\n positionStrategy: {\n type: [String, Function] as PropType<StrategyProps['positionStrategy']>,\n default: 'static',\n validator: (val: any) => typeof val === 'function' || val in positionStrategies,\n },\n anchor: {\n type: String as PropType<StrategyProps['anchor']>,\n default: 'bottom',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n offset: [Number, String],\n})\n\nexport function usePositionStrategies (\n props: StrategyProps,\n data: PositionStrategyData\n) {\n const contentStyles = ref({})\n const updatePosition = ref<(e: Event) => void>()\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n updatePosition.value = undefined\n\n if (!(IN_BROWSER && data.isActive.value && props.positionStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.positionStrategy === 'function') {\n updatePosition.value = props.positionStrategy(data, props, contentStyles)?.updatePosition\n } else {\n updatePosition.value = positionStrategies[props.positionStrategy](data, props, contentStyles)?.updatePosition\n }\n })\n })\n\n IN_BROWSER && window.addEventListener('resize', onResize, { passive: true })\n\n onScopeDispose(() => {\n IN_BROWSER && window.removeEventListener('resize', onResize)\n updatePosition.value = undefined\n scope?.stop()\n })\n\n function onResize (e: Event) {\n updatePosition.value?.(e)\n }\n\n return {\n contentStyles,\n updatePosition,\n }\n}\n\nfunction staticPositionStrategy () {\n // TODO\n}\n\nfunction connectedPositionStrategy (data: PositionStrategyData, props: StrategyProps, contentStyles: Ref<Record<string, string>>) {\n const activatorFixed = isFixedPosition(data.activatorEl.value)\n if (activatorFixed) {\n Object.assign(contentStyles.value, {\n position: 'fixed',\n })\n }\n\n const preferredAnchor = computed(() => parseAnchor(props.anchor))\n const preferredOrigin = computed(() =>\n props.origin === 'overlap' ? preferredAnchor.value\n : props.origin === 'auto' ? oppositeAnchor(preferredAnchor.value)\n : parseAnchor(props.origin)\n )\n const doesOverlap = computed(() => {\n return preferredAnchor.value.side === preferredOrigin.value.side\n })\n\n const configuredMaxHeight = computed(() => {\n const val = parseFloat(props.maxHeight!)\n return isNaN(val) ? Infinity : val\n })\n\n const configuredMinWidth = computed(() => {\n const val = parseFloat(props.minWidth!)\n return isNaN(val) ? Infinity : val\n })\n\n let observe = false\n const observer = new ResizeObserver(() => {\n if (observe) updatePosition()\n })\n observer.observe(data.activatorEl.value!)\n observer.observe(data.contentEl.value!)\n\n onScopeDispose(() => {\n observer.disconnect()\n })\n\n // eslint-disable-next-line max-statements\n function updatePosition () {\n observe = false\n requestAnimationFrame(() => {\n requestAnimationFrame(() => observe = true)\n })\n\n const targetBox = data.activatorEl.value!.getBoundingClientRect()\n // TODO: offset shouldn't affect width\n if (props.offset) {\n targetBox.x -= +props.offset\n targetBox.y -= +props.offset\n targetBox.width += +props.offset * 2\n targetBox.height += +props.offset * 2\n }\n\n const scrollParent = getScrollParent(data.contentEl.value)\n const viewportWidth = scrollParent.clientWidth\n const viewportHeight = Math.min(scrollParent.clientHeight, window.innerHeight)\n\n let contentBox\n {\n const scrollables = new Map<Element, [number, number]>()\n data.contentEl.value!.querySelectorAll('*').forEach(el => {\n const x = el.scrollLeft\n const y = el.scrollTop\n if (x || y) {\n scrollables.set(el, [x, y])\n }\n })\n\n const initialMaxWidth = data.contentEl.value!.style.maxWidth\n const initialMaxHeight = data.contentEl.value!.style.maxHeight\n data.contentEl.value!.style.removeProperty('max-width')\n data.contentEl.value!.style.removeProperty('max-height')\n\n contentBox = nullifyTransforms(data.contentEl.value!)\n contentBox.x -= parseFloat(data.contentEl.value!.style.left) || 0\n contentBox.y -= parseFloat(data.contentEl.value!.style.top) || 0\n\n data.contentEl.value!.style.maxWidth = initialMaxWidth\n data.contentEl.value!.style.maxHeight = initialMaxHeight\n scrollables.forEach((position, el) => {\n el.scrollTo(...position)\n })\n }\n\n const contentHeight = Math.min(configuredMaxHeight.value, contentBox.height)\n\n const viewportMargin = 12\n const freeSpace = {\n top: targetBox.top - viewportMargin,\n bottom: viewportHeight - targetBox.bottom - viewportMargin,\n left: targetBox.left - viewportMargin,\n right: viewportWidth - targetBox.right - viewportMargin,\n }\n\n const fitsY = (preferredAnchor.value.side === 'bottom' && contentHeight <= freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && contentHeight <= freeSpace.top)\n\n const anchor = fitsY ? preferredAnchor.value\n : (preferredAnchor.value.side === 'bottom' && freeSpace.top > freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && freeSpace.bottom > freeSpace.top) ? oppositeAnchor(preferredAnchor.value)\n : preferredAnchor.value\n const origin = fitsY ? preferredOrigin.value : oppositeAnchor(anchor)\n\n const canFill = doesOverlap.value || ['center', 'top', 'bottom'].includes(anchor.side)\n\n const maxWidth = canFill ? Math.min(viewportWidth, Math.max(targetBox.width, viewportWidth - viewportMargin * 2))\n : anchor.side === 'end' ? freeSpace.right\n : anchor.side === 'start' ? freeSpace.left\n : null\n const minWidth = Math.min(configuredMinWidth.value, maxWidth!, targetBox.width)\n const maxHeight = fitsY ? configuredMaxHeight.value : Math.min(\n configuredMaxHeight.value,\n Math.floor(anchor.side === 'top' ? freeSpace.top : freeSpace.bottom)\n )\n\n const targetPoint = anchorToPoint(anchor, targetBox)\n const contentPoint = anchorToPoint(origin, new Box({\n ...contentBox,\n height: Math.min(contentHeight, maxHeight),\n }))\n\n const { x, y } = getOffset(targetPoint, contentPoint)\n\n Object.assign(contentStyles.value, {\n '--v-overlay-anchor-origin': physicalAnchor(anchor, data.activatorEl.value!),\n top: convertToUnit(Math.round(y)),\n left: convertToUnit(Math.round(x)), // TODO: right for origin=\"end\", rtl\n transformOrigin: physicalAnchor(origin, data.activatorEl.value!),\n minWidth: convertToUnit(minWidth),\n maxWidth: convertToUnit(maxWidth),\n maxHeight: convertToUnit(maxHeight),\n })\n }\n\n watch(\n () => [preferredAnchor.value, preferredOrigin.value, props.offset],\n () => updatePosition(),\n { immediate: !activatorFixed }\n )\n\n if (activatorFixed) nextTick(() => updatePosition())\n requestAnimationFrame(() => {\n if (contentStyles.value.maxHeight) updatePosition()\n })\n\n return { updatePosition }\n}\n","let clean = true\nconst frames = [] as any[]\n\n/**\n * Schedule a task to run in an animation frame on its own\n * This is useful for heavy tasks that may cause jank if all ran together\n */\nexport function requestNewFrame (cb: () => void) {\n if (!clean || frames.length) {\n frames.push(cb)\n run()\n } else {\n clean = false\n cb()\n run()\n }\n}\n\nlet raf = -1\nfunction run () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n const frame = frames.shift()\n if (frame) frame()\n\n if (frames.length) run()\n else clean = true\n })\n}\n","// Utilities\nimport { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from '@/util'\nimport { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue'\nimport { requestNewFrame } from './requestNewFrame'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\n\nexport interface ScrollStrategyData {\n root: Ref<HTMLElement | undefined>\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n updatePosition: Ref<((e: Event) => void) | undefined>\n}\n\nconst scrollStrategies = {\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy,\n}\n\ninterface StrategyProps {\n scrollStrategy: keyof typeof scrollStrategies | ((data: ScrollStrategyData) => void)\n}\n\nexport const makeScrollStrategyProps = propsFactory({\n scrollStrategy: {\n type: [String, Function] as PropType<StrategyProps['scrollStrategy']>,\n default: 'block',\n validator: (val: any) => typeof val === 'function' || val in scrollStrategies,\n },\n})\n\nexport function useScrollStrategies (\n props: StrategyProps,\n data: ScrollStrategyData\n) {\n if (!IN_BROWSER) return\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n\n if (!(data.isActive.value && props.scrollStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data)\n } else {\n scrollStrategies[props.scrollStrategy]?.(data)\n }\n })\n })\n}\n\nfunction closeScrollStrategy (data: ScrollStrategyData) {\n function onScroll (e: Event) {\n data.isActive.value = false\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, onScroll)\n}\n\nfunction blockScrollStrategy (data: ScrollStrategyData) {\n const scrollElements = [...new Set([\n ...getScrollParents(data.activatorEl.value),\n ...getScrollParents(data.contentEl.value),\n ])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'))\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth\n\n const scrollableParent = (el => hasScrollbar(el) && el)(data.root.value?.offsetParent || document.documentElement)\n if (scrollableParent) {\n data.root.value!.classList.add('v-overlay--scroll-blocked')\n }\n\n scrollElements.forEach((el, i) => {\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth))\n el.classList.add('v-overlay-scroll-blocked')\n })\n\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n el.style.removeProperty('--v-scrollbar-offset')\n el.classList.remove('v-overlay-scroll-blocked')\n })\n if (scrollableParent) {\n data.root.value!.classList.remove('v-overlay--scroll-blocked')\n }\n })\n}\n\nfunction repositionScrollStrategy (data: ScrollStrategyData) {\n let slow = false\n let raf = -1\n\n function update (e: Event) {\n requestNewFrame(() => {\n const start = performance.now()\n data.updatePosition.value?.(e)\n const time = performance.now() - start\n slow = time / (1000 / 60) > 2\n })\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e)\n })\n })\n } else {\n update(e)\n }\n })\n}\n\n/** @private */\nfunction bindScroll (el: HTMLElement | undefined, onScroll: (e: Event) => void) {\n const scrollElements = [document, ...getScrollParents(el)]\n scrollElements.forEach(el => {\n el.addEventListener('scroll', onScroll, { passive: true })\n })\n\n onScopeDispose(() => {\n scrollElements.forEach(el => {\n el.removeEventListener('scroll', onScroll)\n })\n })\n}\n","// Utilities\nimport { computed, warn } from 'vue'\nimport { IN_BROWSER } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport function useTeleport (target: Ref<boolean | string | Element>) {\n const teleportTarget = computed(() => {\n const _target = target.value\n\n if (_target === true || !IN_BROWSER) return undefined\n\n const targetElement =\n _target === false ? document.body\n : typeof _target === 'string' ? document.querySelector(_target)\n : _target\n\n if (targetElement == null) {\n warn(`Unable to locate target ${_target}`)\n return undefined\n }\n\n if (!useTeleport.cache.has(targetElement)) {\n const el = document.createElement('div')\n el.className = 'v-overlay-container'\n targetElement.appendChild(el)\n useTeleport.cache.set(targetElement, el)\n }\n\n return useTeleport.cache.get(targetElement)\n })\n\n return { teleportTarget }\n}\nuseTeleport.cache = new WeakMap<Element, Element>()\n","// Utilities\nimport { computed, ref, watch } from 'vue'\n\n// Types\nimport type { Ref } from 'vue'\nimport { propsFactory } from '@/util'\n\nexport const makeLazyProps = propsFactory({\n eager: Boolean,\n}, 'lazy')\n\nexport function useLazy (props: { eager: boolean }, active: Ref<boolean>) {\n const isBooted = ref(false)\n const hasContent = computed(() => isBooted.value || props.eager || active.value)\n\n watch(active, () => isBooted.value = true)\n\n function onAfterLeave () {\n if (!props.eager) isBooted.value = false\n }\n\n return { isBooted, hasContent, onAfterLeave }\n}\n","import { computed, effectScope, onScopeDispose, ref, toRaw, watch } from 'vue'\nimport { getCurrentInstance } from '@/util'\n\n// Types\nimport type { ComponentInternalInstance, EffectScope, Ref } from 'vue'\n\nconst stack = ref<ComponentInternalInstance[]>([])\n\nexport function useStack (isActive: Ref<boolean>) {\n const vm = getCurrentInstance('useStack')\n let scope: EffectScope | undefined\n watch(isActive, val => {\n if (val) {\n scope = effectScope()\n scope.run(() => {\n stack.value.push(vm)\n\n onScopeDispose(() => {\n const idx = stack.value.indexOf(vm)\n stack.value.splice(idx, 1)\n })\n })\n } else {\n scope?.stop()\n }\n }, { immediate: true })\n\n const isTop = computed(() => {\n return toRaw(stack.value[stack.value.length - 1]) === vm\n })\n\n return {\n isTop,\n }\n}\n","import { attachedRoot } from '@/util'\nimport type { DirectiveBinding } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: MouseEvent) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirectiveBinding extends DirectiveBinding {\n value: ((e: MouseEvent) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el?.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: MouseEvent, binding: ClickOutsideDirectiveBinding): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: MouseEvent, el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n mounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n const onClick = (e: Event) => directive(e as MouseEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as MouseEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[binding.instance!.$.uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unmounted (el: HTMLElement, binding: ClickOutsideDirectiveBinding) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[binding.instance!.$.uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[binding.instance!.$.uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[binding.instance!.$.uid]\n },\n}\n\nexport default ClickOutside\n","// Styles\nimport './VOverlay.sass'\n\n// Composables\nimport { makeActivatorProps, useActivator } from './useActivator'\nimport { makePositionStrategyProps, usePositionStrategies } from './positionStrategies'\nimport { makeScrollStrategyProps, useScrollStrategies } from './scrollStrategies'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useBackButton } from '@/composables/router'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/rtl'\nimport { useTeleport } from '@/composables/teleport'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\nimport { useStack } from '@/composables/stack'\n\n// Directives\nimport { ClickOutside } from '@/directives/click-outside'\n\n// Utilities\nimport {\n convertToUnit,\n genericComponent,\n getScrollParent,\n IN_BROWSER,\n standardEasing,\n useRender,\n} from '@/util'\nimport {\n computed,\n mergeProps,\n ref,\n Teleport,\n toHandlers,\n Transition,\n watch,\n} from 'vue'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { BackgroundColorData } from '@/composables/color'\n\ninterface ScrimProps {\n [key: string]: unknown\n modelValue: boolean\n color: BackgroundColorData\n}\nfunction Scrim (props: ScrimProps) {\n const { modelValue, color, ...rest } = props\n return (\n <Transition name=\"fade-transition\" appear>\n { props.modelValue && (\n <div\n class={[\n 'v-overlay__scrim',\n props.color.backgroundColorClasses.value,\n ]}\n style={ props.color.backgroundColorStyles.value }\n { ...rest }\n />\n )}\n </Transition>\n )\n}\n\nexport type OverlaySlots = MakeSlots<{\n default: [{ isActive: Ref<boolean> }]\n activator: [{ isActive: boolean, props: Record<string, any> }]\n}>\n\nexport const VOverlay = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VOverlay',\n\n directives: { ClickOutside },\n\n inheritAttrs: false,\n\n props: {\n absolute: Boolean,\n attach: [Boolean, String, Object] as PropType<boolean | string | Element>,\n contained: Boolean,\n contentClass: null,\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [String, Boolean],\n default: true,\n },\n\n ...makeActivatorProps(),\n ...makeDimensionProps(),\n ...makePositionStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps(),\n ...makeLazyProps(),\n },\n\n emits: {\n 'click:outside': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots, attrs, emit }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { teleportTarget } = useTeleport(computed(() => props.attach || props.contained))\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n const { hasContent, onAfterLeave } = useLazy(props, isActive)\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null\n }))\n const { activatorEl, activatorRef, activatorEvents } = useActivator(props, isActive)\n const { dimensionStyles } = useDimension(props)\n const { isTop } = useStack(isActive)\n\n const root = ref<HTMLElement>()\n const contentEl = ref<HTMLElement>()\n const { contentStyles, updatePosition } = usePositionStrategies(props, {\n contentEl,\n activatorEl,\n isActive,\n })\n useScrollStrategies(props, {\n root,\n contentEl,\n activatorEl,\n isActive,\n updatePosition,\n })\n\n function onClickOutside (e: MouseEvent) {\n emit('click:outside', e)\n\n if (!props.persistent) isActive.value = false\n else animateClick()\n }\n\n function closeConditional () {\n return isActive.value && isTop.value\n }\n\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown)\n } else {\n window.removeEventListener('keydown', onKeydown)\n }\n }, { immediate: true })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === 'Escape' && isTop.value) {\n if (!props.persistent) {\n isActive.value = false\n } else animateClick()\n }\n }\n\n useBackButton(next => {\n if (isTop.value && isActive.value) {\n next(false)\n if (!props.persistent) isActive.value = false\n else animateClick()\n } else {\n next()\n }\n })\n\n const top = ref<number>()\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value)\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop\n }\n }\n })\n\n // Add a quick \"bounce\" animation to the content\n function animateClick () {\n if (props.noClickAnimation) return\n\n contentEl.value?.animate([\n { transformOrigin: 'center' },\n { transform: 'scale(1.03)' },\n { transformOrigin: 'center' },\n ], {\n duration: 150,\n easing: standardEasing,\n })\n }\n\n useRender(() => (\n <>\n { slots.activator?.({\n isActive: isActive.value,\n props: mergeProps({\n ref: activatorRef,\n }, toHandlers(activatorEvents.value), props.activatorProps),\n }) }\n <Teleport\n disabled={ !teleportTarget.value }\n to={ teleportTarget.value }\n >\n { hasContent.value && (\n <div\n class={[\n 'v-overlay',\n {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained,\n },\n themeClasses.value,\n rtlClasses.value,\n ]}\n style={ top.value != null ? `top: ${convertToUnit(top.value)}` : undefined }\n ref={ root }\n {...attrs}\n >\n <Scrim\n color={ scrimColor }\n modelValue={ isActive.value && !!props.scrim }\n />\n <MaybeTransition\n appear\n onAfterLeave={ onAfterLeave }\n persisted\n transition={ props.transition }\n target={ activatorEl.value }\n >\n <div\n ref={ contentEl }\n v-show={ isActive.value }\n v-click-outside={{ handler: onClickOutside, closeConditional, include: () => [activatorEl.value] }}\n class={[\n 'v-overlay__content',\n props.contentClass,\n ]}\n style={[\n dimensionStyles.value,\n contentStyles.value,\n ]}\n >\n { slots.default?.({ isActive }) }\n </div>\n </MaybeTransition>\n </div>\n )}\n </Teleport>\n </>\n ))\n\n return {\n animateClick,\n contentEl,\n activatorEl,\n }\n },\n})\n\nexport type VOverlay = InstanceType<typeof VOverlay>\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { nextTick, ref, watch } from 'vue'\nimport { genericComponent, IN_BROWSER } from '@/util'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const VDialog = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VDialog',\n\n inheritAttrs: false,\n\n props: {\n fullscreen: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n modelValue: Boolean,\n\n ...makeDimensionProps({ width: 'auto' }),\n ...makeTransitionProps({\n transition: { component: VDialogTransition },\n }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { dimensionStyles } = useDimension(props)\n\n const overlay = ref<VOverlay>()\n function onFocusin (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n if (\n before !== after &&\n overlay.value?.contentEl &&\n // It isn't the document or the dialog body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the dialog body\n !overlay.value.contentEl.contains(after)\n // We're the topmost dialog\n // TODO: this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n // TODO: !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n const focusable = [...overlay.value.contentEl.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )].filter(el => !el.hasAttribute('disabled')) as HTMLElement[]\n\n if (!focusable.length) return\n\n const firstElement = focusable[0]\n const lastElement = focusable[focusable.length - 1]\n\n if (before === firstElement) {\n lastElement.focus()\n } else {\n firstElement.focus()\n }\n }\n }\n\n if (IN_BROWSER) {\n watch(() => isActive.value && props.retainFocus, val => {\n val\n ? document.addEventListener('focusin', onFocusin)\n : document.removeEventListener('focusin', onFocusin)\n }, { immediate: true })\n }\n\n watch(isActive, async val => {\n await nextTick()\n if (val) {\n overlay.value!.contentEl?.focus({ preventScroll: true })\n } else {\n overlay.value!.activatorEl?.focus({ preventScroll: true })\n }\n })\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-dialog',\n {\n 'v-dialog--fullscreen': props.fullscreen,\n },\n ]}\n style={ dimensionStyles.value }\n transition={ props.transition }\n ref={ overlay }\n aria-role=\"dialog\"\n aria-modal=\"true\"\n activatorProps={{\n 'aria-haspopup': 'dialog',\n 'aria-expanded': String(isActive.value),\n }}\n { ...attrs }\n v-slots={{\n default: slots.default,\n activator: slots.activator,\n }}\n />\n )\n }\n },\n})\n\nexport type VDialog = InstanceType<typeof VDialog>\n","// Styles\nimport './VDivider.sass'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Types\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'maxHeight' | 'maxWidth'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const VDivider = defineComponent({\n name: 'VDivider',\n\n props: {\n inset: Boolean,\n length: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n ...makeThemeProps(),\n },\n\n setup (props, { attrs }) {\n const { themeClasses } = provideTheme(props)\n const dividerStyles = computed(() => {\n const styles: DividerStyles = {}\n\n if (props.length) {\n styles[props.vertical ? 'maxHeight' : 'maxWidth'] = convertToUnit(props.length)\n }\n\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness)\n }\n\n return styles\n })\n\n return () => {\n return (\n <hr\n class={[\n {\n 'v-divider': true,\n 'v-divider--inset': props.inset,\n 'v-divider--vertical': props.vertical,\n },\n themeClasses.value,\n ]}\n style={ dividerStyles.value }\n aria-orientation={\n !attrs.role || attrs.role === 'separator'\n ? props.vertical ? 'vertical' : 'horizontal'\n : undefined\n }\n role={`${attrs.role || 'separator'}`}\n />\n )\n }\n },\n})\n","// Styles\nimport './VExpansionPanel.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VExpansionPanelSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-expansion-panel')\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport const VExpansionPanels = defineComponent({\n name: 'VExpansionPanels',\n\n props: {\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n ...makeTagProps(),\n ...makeGroupProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n useGroup(props, VExpansionPanelSymbol)\n const { themeClasses } = provideTheme(props)\n\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n return () => (\n <props.tag\n class={[\n 'v-expansion-panels',\n themeClasses.value,\n variantClass.value,\n ]}\n >\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n","// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\n\n// Directives\nimport ripple from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { defineComponent, propsFactory } from '@/util'\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n expandIcon: {\n type: String,\n default: '$expand',\n },\n collapseIcon: {\n type: String,\n default: '$collapse',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n color: String,\n})\n\nexport const VExpansionPanelTitle = defineComponent({\n name: 'VExpansionPanelTitle',\n\n directives: { ripple },\n\n props: {\n ...makeVExpansionPanelTitleProps(),\n },\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n expanded: expansionPanel.isSelected.value,\n disabled: expansionPanel.disabled.value,\n expandIcon: props.expandIcon,\n collapseIcon: props.collapseIcon,\n }))\n\n return () => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n },\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ expansionPanel.toggle }\n v-ripple={ props.ripple }\n >\n <div class=\"v-expansion-panel-title__overlay\" />\n { slots.default?.(slotProps.value) }\n { !props.hideActions && (\n <div class=\"v-expansion-panel-title__icon\">\n {\n slots.actions ? slots.actions(slotProps.value)\n : <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />\n }\n </div>\n ) }\n </button>\n )\n },\n})\n","// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\n\n// Utilities\nimport { inject } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VExpansionPanelText = defineComponent({\n name: 'VExpansionPanelText',\n\n props: {\n ...makeLazyProps(),\n },\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel')\n\n const { hasContent, onAfterLeave } = useLazy(props, expansionPanel.isSelected)\n\n return () => (\n <VExpandTransition onAfterLeave={ onAfterLeave }>\n <div\n v-show={ expansionPanel.isSelected.value }\n class={[\n 'v-expansion-panel-text',\n ]}\n >\n { slots.default && hasContent.value && (\n <div class=\"v-expansion-panel-text__wrapper\">\n { slots.default?.() }\n </div>\n ) }\n </div>\n </VExpandTransition>\n )\n },\n})\n","// Components\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\nimport { VExpansionPanelText } from './VExpansionPanelText'\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\n\n// Composables\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeLazyProps } from '@/composables/lazy'\n\n// Utilities\nimport { computed, provide } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VExpansionPanel = defineComponent({\n name: 'VExpansionPanel',\n\n props: {\n title: String,\n text: String,\n bgColor: String,\n\n ...makeLazyProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { roundedClasses } = useRounded(props)\n const { elevationClasses } = useElevation(props)\n\n provide(VExpansionPanelSymbol, groupItem)\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.indexOf(groupItem.id)\n return !groupItem.isSelected.value &&\n groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - index === 1)\n })\n\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.indexOf(groupItem.id)\n return !groupItem.isSelected.value &&\n groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - index === -1)\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n\n return () => (\n <props.tag\n class={[\n 'v-expansion-panel',\n {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': groupItem.disabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n aria-expanded={ groupItem.isSelected.value }\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n { slots.default?.() || (\n <>\n <VExpansionPanelTitle\n expandIcon={ props.expandIcon }\n collapseIcon={ props.collapseIcon }\n color={ props.color }\n hideActions={ props.hideActions }\n ripple={ props.ripple }\n >\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n <VExpansionPanelText eager={ props.eager }>\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n </>\n ) }\n </props.tag>\n )\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n","// Components\nimport { VLabel } from '@/components/VLabel'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VFieldLabel = defineComponent({\n name: 'VFieldLabel',\n\n props: {\n floating: Boolean,\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <VLabel\n class={[\n 'v-field-label',\n { 'v-field-label--floating': props.floating },\n ]}\n aria-hidden={ props.floating || undefined }\n v-slots={ slots }\n />\n )\n }\n },\n})\n\nexport type VFieldLabel = InstanceType<typeof VFieldLabel>\n","// Utilities\nimport { onBeforeUnmount, ref, watch } from 'vue'\n\nexport function useIntersectionObserver (callback?: IntersectionObserverCallback) {\n const intersectionRef = ref<HTMLElement>()\n const isIntersecting = ref(false)\n\n const observer = new IntersectionObserver((entries: IntersectionObserverEntry[]) => {\n callback?.(entries, observer)\n\n isIntersecting.value = !!entries.find(entry => entry.isIntersecting)\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(intersectionRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n isIntersecting.value = false\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n\n return { intersectionRef, isIntersecting }\n}\n","// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { convertToUnit, defineComponent } from '@/util'\nimport { computed, Transition } from 'vue'\n\nexport const VProgressLinear = defineComponent({\n name: 'VProgressLinear',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0,\n },\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { textColorClasses, textColorStyles } = useTextColor(props, 'color')\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(computed(() => props.bgColor || props.color))\n const { backgroundColorClasses: barColorClasses, backgroundColorStyles: barColorStyles } = useBackgroundColor(props, 'color')\n const { roundedClasses } = useRounded(props)\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const max = computed(() => parseInt(props.max, 10))\n const height = computed(() => parseInt(props.height, 10))\n const normalizedBuffer = computed(() => parseFloat(props.bufferValue) / max.value * 100)\n const normalizedValue = computed(() => parseFloat(progress.value) / max.value * 100)\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition')\n const opacity = computed(() => {\n return props.bgOpacity == null\n ? props.bgOpacity\n : parseFloat(props.bgOpacity)\n })\n\n function handleClick (e: MouseEvent) {\n if (!intersectionRef.value) return\n\n const { left, right, width } = intersectionRef.value.getBoundingClientRect()\n const value = isReversed.value ? (width - e.clientX) + (right - width) : e.clientX - left\n\n progress.value = Math.round(value / width * max.value)\n }\n\n return () => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-linear',\n {\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n },\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={{\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n }}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax={ props.max }\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n onClick={ props.clickable && handleClick }\n >\n { props.stream && (\n <div\n class={[\n 'v-progress-linear__stream',\n textColorClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: opacity.value,\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1)),\n }}\n />\n ) }\n\n <div\n class={[\n 'v-progress-linear__background',\n backgroundColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n {\n opacity: opacity.value,\n width: convertToUnit((!props.stream ? 100 : normalizedBuffer.value), '%'),\n },\n ]}\n />\n\n <Transition name={ transition.value }>\n { !props.indeterminate ? (\n <div\n class={[\n 'v-progress-linear__determinate',\n barColorClasses.value,\n ]}\n style={[\n barColorStyles.value,\n { width: convertToUnit(normalizedValue.value, '%') },\n ]}\n />\n ) : (\n <div class=\"v-progress-linear__indeterminate\">\n { ['long', 'short'].map(bar => (\n <div\n key={ bar }\n class={[\n 'v-progress-linear__indeterminate',\n bar,\n barColorClasses.value,\n ]}\n style={ barColorStyles.value }\n />\n )) }\n </div>\n ) }\n </Transition>\n\n { slots.default && (\n <div class=\"v-progress-linear__content\">\n { slots.default({ value: normalizedValue.value, buffer: normalizedBuffer.value }) }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Components\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Utilities\nimport { computed } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes } from 'vue'\nimport type { SetupContext } from '@vue/runtime-core'\nimport type { MakeSlots, SlotsToProps } from '@/util'\n\nexport interface LoaderSlotProps {\n color: string | undefined\n isActive: boolean\n}\n\nexport interface LoaderProps {\n loading: boolean\n}\n\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: Boolean,\n}, 'loader')\n\nexport function useLoader (\n props: LoaderProps,\n name = getCurrentInstanceName(),\n) {\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading,\n }))\n\n return { loaderClasses }\n}\n\nexport function LoaderSlot (\n props: {\n active: boolean\n name: string\n color?: string\n } & ExtractPropTypes<SlotsToProps<MakeSlots<{\n default: [LoaderSlotProps]\n }>>>,\n { slots }: SetupContext,\n) {\n return (\n <div class={`${props.name}__loader`}>\n { slots.default?.({\n color: props.color,\n isActive: props.active,\n } as LoaderSlotProps) || (\n <VProgressLinear\n active={ props.active }\n color={ props.color }\n height=\"2\"\n indeterminate\n />\n )}\n </div>\n )\n}\n","import { ref } from 'vue'\n\nexport const useFocus = () => {\n const isFocused = ref(false)\n\n function focus () {\n isFocused.value = true\n }\n\n function blur () {\n isFocused.value = false\n }\n\n return { isFocused, focus, blur }\n}\n","// Styles\nimport './VField.sass'\n\n// Components\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VIcon } from '@/components/VIcon'\nimport { VFieldLabel } from './VFieldLabel'\n\n// Composables\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useFocus } from '@/composables/focus'\n\n// Utilities\nimport { computed, inject, ref, toRef, watch, watchEffect } from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n getUid,\n nullifyTransforms,\n pick,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { VInputSlot, VInputSymbol } from '@/components/VInput/VInput'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { PropType, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'contained', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: boolean\n isFocused: boolean\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: String,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: String,\n default: '$clear',\n },\n color: String,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: String,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n ...makeThemeProps(),\n ...makeLoaderProps(),\n}, 'v-field')\n\nexport const VField = genericComponent<new <T>() => {\n $props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (val: T) => any\n }\n $slots: MakeSlots<{\n clear: []\n prependInner: [DefaultInputSlot & VInputSlot]\n appendInner: [DefaultInputSlot & VInputSlot]\n label: [DefaultInputSlot & VInputSlot]\n loader: [LoaderSlotProps]\n default: [VFieldSlot]\n }>\n}>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n active: Boolean,\n disabled: Boolean,\n error: Boolean,\n id: String,\n ...makeVFieldProps(),\n },\n\n emits: {\n 'click:clear': (e: Event) => true,\n 'click:prepend-inner': (e: MouseEvent) => true,\n 'click:append-inner': (e: MouseEvent) => true,\n 'click:control': (props: DefaultInputSlot) => true,\n 'update:active': (active: boolean) => true,\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const isActive = useProxiedModel(props, 'active')\n const { isFocused, focus, blur } = useFocus()\n\n const uid = getUid()\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n const id = computed(() => props.id || `input-${uid}`)\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label))\n\n watchEffect(() => isActive.value = isFocused.value)\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n const { textColorClasses, textColorStyles } = useTextColor(computed(() => {\n return (\n isActive.value &&\n isFocused.value &&\n !props.error &&\n !props.disabled\n ) ? props.color : undefined\n }))\n\n watch(isActive, val => {\n if (hasLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const duration = parseFloat(getComputedStyle(el).transitionDuration) * 1000\n const scale = parseFloat(getComputedStyle(targetEl).getPropertyValue('--v-field-label-scale'))\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n el.animate([\n { transform: 'translate(0)' },\n { transform: `translate(${x}px, ${y}px) scale(${scale})`, ...width },\n ], {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive: isActive.value,\n isFocused: isFocused.value,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n\n emit('click:control', slotProps.value)\n }\n\n const VInput = inject('VInput' as any as typeof VInputSymbol, undefined)\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = (slots.prependInner || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear)\n const hasAppend = !!(slots.appendInner || props.appendInnerIcon || hasClear)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--focused': isFocused.value,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n loaderClasses.value,\n backgroundColorClasses.value,\n textColorClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n textColorStyles.value,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ props.loading }\n color={ VInput ? (!VInput.value.isValid.value ? undefined : props.color) : props.color }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div\n class=\"v-field__prepend-inner\"\n onClick={ e => emit('click:prepend-inner', e) }\n >\n { props.prependInnerIcon && (\n <VIcon icon={ props.prependInnerIcon } />\n ) }\n\n { slots?.prependInner?.(VInput?.value) }\n </div>\n ) }\n\n <div class=\"v-field__field\">\n { ['contained', 'filled'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n ) }\n\n <VFieldLabel ref={ labelRef } for={ id.value }>\n { label }\n </VFieldLabel>\n\n { slots.default?.({\n ...VInput?.value,\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n onFocus: () => (isFocused.value = true),\n onBlur: () => (isFocused.value = false),\n },\n focus,\n blur,\n } as VFieldSlot) }\n </div>\n\n { hasClear && (\n <VExpandXTransition>\n <div\n class=\"v-field__clearable\"\n onClick={ (e: Event) => emit('click:clear', e) }\n v-show={ props.active }\n >\n { slots.clear\n ? slots.clear()\n : <VIcon icon={ props.clearIcon } />\n }\n </div>\n </VExpandXTransition>\n ) }\n\n { hasAppend && (\n <div\n class=\"v-field__append-inner\"\n onClick={ e => emit('click:append-inner', e) }\n >\n { slots?.appendInner?.(VInput?.value) }\n\n { props.appendInnerIcon && (\n <VIcon icon={ props.appendInnerIcon } />\n ) }\n </div>\n ) }\n\n <div class=\"v-field__outline\">\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n </div>\n ) }\n\n <div class=\"v-field__outline__end\" />\n </>\n ) }\n\n { ['plain', 'underlined'].includes(props.variant) && hasLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating>\n { label }\n </VFieldLabel>\n ) }\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n\n// TODO: this is kinda slow, might be better to implicitly inherit props instead\nexport function filterFieldProps (attrs: Record<string, unknown>) {\n return pick(attrs, Object.keys(VField.props))\n}\n","import { computed, inject, provide } from 'vue'\nimport { consoleError, consoleWarn, getObjectValueByPath, wrapInRef } from '@/util'\n\nimport en from '@/locale/en'\n\n// Types\nimport type { App, InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@/util'\n\nexport interface LocaleMessages {\n [key: string]: LocaleMessages | string\n}\n\nexport interface LocaleOptions {\n defaultLocale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleProps {\n locale?: string\n fallbackLocale?: string\n messages?: LocaleMessages\n}\n\nexport interface LocaleInstance {\n current: Ref<string>\n fallback: Ref<string>\n messages: Ref<LocaleMessages>\n t: (key: string, ...params: unknown[]) => string\n n: (value: number) => string\n}\n\nexport interface LocaleAdapter {\n createRoot: (app: App) => LocaleInstance\n getScope: () => LocaleInstance\n createScope: (options?: LocaleProps) => LocaleInstance\n}\n\nexport const LocaleAdapterSymbol: InjectionKey<LocaleAdapter> = Symbol.for('vuetify:locale-adapter')\nexport const VuetifyLocaleSymbol: InjectionKey<LocaleInstance> = Symbol.for('vuetify:locale')\n\nexport function provideLocale (props?: LocaleProps) {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.createScope(props)\n}\n\nexport function useLocale () {\n const adapter = inject(LocaleAdapterSymbol)\n\n if (!adapter) throw new Error('[Vuetify] Could not find injected locale adapter')\n\n return adapter.getScope()\n}\n\nfunction isLocaleAdapter (x: any): x is LocaleAdapter {\n return !!x && x.hasOwnProperty('getScope') && x.hasOwnProperty('createScope') && x.hasOwnProperty('createRoot')\n}\n\nexport function createLocaleAdapter (app: App, options?: LocaleOptions | LocaleAdapter) {\n const adapter = isLocaleAdapter(options) ? options : createDefaultLocaleAdapter(options)\n\n const rootInstance = adapter.createRoot(app)\n\n return { adapter, rootInstance }\n}\n\nconst LANG_PREFIX = '$vuetify.'\n\nconst replace = (str: string, params: unknown[]) => {\n return str.replace(/\\{(\\d+)\\}/g, (match: string, index: string) => {\n /* istanbul ignore next */\n return String(params[+index])\n })\n}\n\nconst createTranslateFunction = (\n current: Ref<string>,\n fallback: Ref<string>,\n messages: Ref<LocaleMessages>,\n) => {\n return (key: string, ...params: unknown[]) => {\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params)\n }\n\n const shortKey = key.replace(LANG_PREFIX, '')\n const currentLocale = current.value && messages.value[current.value]\n const fallbackLocale = fallback.value && messages.value[fallback.value]\n\n let str: string = getObjectValueByPath(currentLocale, shortKey, null)\n\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`)\n str = getObjectValueByPath(fallbackLocale, shortKey, null)\n }\n\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`)\n str = key\n }\n\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`)\n str = key\n }\n\n return replace(str, params)\n }\n}\n\nfunction createNumberFunction (current: Ref<string>, fallback: Ref<string>) {\n return (value: number, options?: Intl.NumberFormatOptions) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options)\n\n return numberFormat.format(value)\n }\n}\n\nexport function createDefaultLocaleAdapter (options?: LocaleOptions): LocaleAdapter {\n const createScope = (options: {\n current: MaybeRef<string>\n fallback: MaybeRef<string>\n messages: MaybeRef<LocaleMessages>\n }) => {\n const current = wrapInRef(options.current)\n const fallback = wrapInRef(options.fallback)\n const messages = wrapInRef(options.messages)\n\n return {\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n }\n }\n\n return {\n createRoot: app => {\n const rootScope = createScope({\n current: options?.defaultLocale ?? 'en',\n fallback: options?.fallbackLocale ?? 'en',\n messages: options?.messages ?? { en },\n })\n\n app.provide(VuetifyLocaleSymbol, rootScope)\n\n return rootScope\n },\n getScope: () => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n return currentScope\n },\n createScope: options => {\n const currentScope = inject(VuetifyLocaleSymbol)\n\n if (!currentScope) throw new Error('[Vuetify] Could not find injected locale instance')\n\n const newScope = createScope({\n current: computed(() => options?.locale ?? currentScope.current.value),\n fallback: computed(() => options?.locale ?? currentScope.fallback.value),\n messages: computed(() => options?.messages ?? currentScope.messages.value),\n })\n\n provide(VuetifyLocaleSymbol, newScope)\n\n return newScope\n },\n }\n}\n","// Styles\nimport './VFileInput.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { VChip } from '@/components/VChip'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, humanReadableFileSize, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\n\nexport const VFileInput = defineComponent({\n name: 'VFileInput',\n\n inheritAttrs: false,\n\n props: {\n chips: Boolean,\n counter: Boolean,\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n multiple: Boolean,\n showSize: {\n type: [Boolean, Number] as PropType<boolean | 1000 | 1024>,\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n },\n\n ...makeVInputProps(),\n\n prependIcon: {\n type: String,\n default: '$file',\n },\n modelValue: {\n type: Array as PropType<File[] | undefined>,\n default: () => ([]),\n validator: (val: any) => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n },\n\n ...makeVFieldProps({ clearable: true }),\n },\n\n emits: {\n 'update:modelValue': (files: File[]) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { t } = useLocale()\n const model = useProxiedModel(props, 'modelValue')\n\n const internalDirty = ref(false)\n const isDirty = computed(() => {\n return internalDirty.value || !!model.value?.length\n })\n\n const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined)\n const totalBytes = computed(() => (model.value ?? []).reduce((bytes, { size = 0 }) => bytes + size, 0))\n const totalBytesReadable = computed(() => humanReadableFileSize(totalBytes.value, base.value))\n\n const fileNames = computed(() => (model.value ?? []).map(file => {\n const { name = '', size = 0 } = file\n\n return !props.showSize\n ? name\n : `${name} (${humanReadableFileSize(size, base.value)})`\n }))\n\n const counterValue = computed(() => {\n const fileCount = model.value?.length ?? 0\n if (props.showSize) return t(props.counterSizeString, fileCount, totalBytesReadable.value)\n else return t(props.counterString, fileCount)\n })\n\n const inputRef = ref<HTMLInputElement>()\n function focus () {\n inputRef.value?.focus()\n }\n function blur () {\n inputRef.value?.blur()\n }\n function click () {\n inputRef.value?.click()\n }\n function clear (e?: Event) {\n e?.stopPropagation()\n\n model.value = []\n\n if (inputRef?.value) {\n inputRef.value.value = ''\n }\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || counterValue.value)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [inputProps] = filterInputProps(props)\n const [fieldProps, _] = filterFieldProps(props)\n\n return (\n <VInput\n v-model={ model.value }\n class=\"v-file-input\"\n { ...rootAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: () => (\n <VField\n active={ isDirty.value }\n prepend-icon={ props.prependIcon }\n onUpdate:active={ val => internalDirty.value = val }\n onClick:control={ click }\n onClick:prepend={ click }\n onClick:clear={ clear }\n { ...fieldProps }\n >\n {{\n ...slots,\n default: ({\n isActive,\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n <input\n ref={ inputRef }\n type=\"file\"\n disabled={ props.disabled }\n multiple={ props.multiple }\n onClick={ e => e.stopPropagation() }\n onChange={ e => {\n if (!e.target) return\n\n const target = e.target as HTMLInputElement\n model.value = [...target.files ?? []]\n\n if (!isActive) inputRef.value?.focus()\n } }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { isDirty.value && (\n <div class={ fieldClass }>\n { slots.selection ? slots.selection({\n fileNames: fileNames.value,\n totalBytes: totalBytes.value,\n totalBytesReadable: totalBytesReadable.value,\n })\n : props.chips ? fileNames.value.map(text => (\n <VChip\n key={ text }\n size=\"small\"\n color={ props.color }\n >{ text }</VChip>\n ))\n : fileNames.value.join(', ') }\n </div>\n ) }\n </>\n ),\n }}\n </VField>\n ),\n details: hasCounter ? () => (\n <>\n <span />\n\n <VCounter\n value={ counterValue.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return {\n focus,\n blur,\n click,\n }\n },\n})\n\nexport type VFileInput = InstanceType<typeof VFileInput>\n","// Styles\nimport './VFooter.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VFooter = defineComponent({\n name: 'VFooter',\n\n props: {\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeTagProps({ tag: 'footer' }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n 'v-footer',\n themeClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Composables\nimport { createForm, makeFormProps } from '@/composables/form'\n\n// Utilities\nimport { ref } from 'vue'\nimport { defineComponent, useRender } from '@/util'\n\nexport const VForm = defineComponent({\n name: 'VForm',\n\n props: {\n ...makeFormProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean | null) => true,\n submit: (e: Event) => true,\n },\n\n setup (props, { slots, emit }) {\n const form = createForm(props)\n const formRef = ref<HTMLFormElement>()\n\n function onReset (e: Event) {\n e.preventDefault()\n form.reset()\n }\n\n function onSubmit (e: Event) {\n e.preventDefault()\n form.validate().then(({ valid }) => {\n if (valid) {\n emit('submit', e)\n }\n })\n }\n\n useRender(() => ((\n <form\n ref={ formRef }\n class=\"v-form\"\n novalidate\n onReset={ onReset }\n onSubmit={ onSubmit }\n >\n { slots.default?.(form) }\n </form>\n )))\n\n return form\n },\n})\n\nexport type VForm = InstanceType<typeof VForm>\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VContainer = defineComponent({\n name: 'VContainer',\n\n props: {\n fluid: {\n type: Boolean,\n default: false,\n },\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => (\n <props.tag\n class={[\n 'v-container',\n { 'v-container--fluid': props.fluid },\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Record<string, Prop<boolean | string | number, false>>)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + capitalize(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<string, Prop<string | number, null>>)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + capitalize(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Record<string, Prop<string | number, null>>)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className: string = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n if (type === 'col') {\n className = 'v-' + className\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .v-col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nexport const VCol = defineComponent({\n name: 'VCol',\n\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('v-col-'))\n\n classList.push({\n // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified.\n 'v-col': !hasColClasses || !props.cols,\n [`v-col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: classes.value,\n }, slots.default?.())\n },\n})\n","// Styles\nimport './VGrid.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { capitalize, computed, h } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl'] as const // no xs\n\nconst ALIGNMENT = ['start', 'end', 'center'] as const\n\nfunction makeRowProps (prefix: string, def: () => Prop<string, null>) {\n return breakpoints.reduce((props, val) => {\n props[prefix + capitalize(val)] = def()\n return props\n }, {} as Record<string, Prop<string, null>>)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeRowProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeRowProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeRowProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nexport const VRow = defineComponent({\n name: 'VRow',\n\n props: {\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const classes = computed(() => {\n const classList: any[] = []\n\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'v-row--no-gutters': props.noGutters,\n 'v-row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n return classList\n })\n\n return () => h(props.tag, {\n class: ['v-row', classes.value],\n }, slots.default?.())\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VSpacer = createSimpleFunctional('flex-grow-1', 'div', 'VSpacer')\n","// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VHover = defineComponent({\n name: 'VHover',\n\n props: {\n disabled: Boolean,\n modelValue: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const hover = useProxiedModel(props, 'modelValue')\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => !props.disabled && (hover.value = value))\n\n return () => slots.default?.({\n hover: hover.value,\n props: {\n onMouseenter: runOpenDelay,\n onMouseleave: runCloseDelay,\n },\n })\n },\n})\n","// Styles\nimport './VItemGroup.sass'\n\n// Composables\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VItemGroupSymbol = Symbol.for('vuetify:v-item-group')\n\nexport const VItemGroup = defineComponent({\n name: 'VItemGroup',\n\n props: {\n ...makeGroupProps({\n selectedClass: 'v-item--selected',\n }),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isSelected, select, next, prev, selected } = useGroup(props, VItemGroupSymbol)\n\n return () => (\n <props.tag\n class={[\n 'v-item-group',\n themeClasses.value,\n ]}\n >\n { slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value,\n }) }\n </props.tag>\n )\n },\n})\n\nexport type VItemGroup = InstanceType<typeof VItemGroup>\n","// Composables\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { VItemGroupSymbol } from './VItemGroup'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { MakeSlots } from '@/util'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VItem = genericComponent<new () => {\n $slots: MakeSlots<{\n default: [GroupItemProvide]\n }>\n}>()({\n name: 'VItem',\n\n props: makeGroupItemProps(),\n\n setup (props, { slots }) {\n const { isSelected, select, toggle, selectedClass, value, disabled } = useGroupItem(props, VItemGroupSymbol)\n return () => slots.default?.({\n isSelected: isSelected.value,\n selectedClass: selectedClass.value,\n select,\n toggle,\n value: value.value,\n disabled: disabled.value,\n })\n },\n})\n\nexport type VItem = InstanceType<typeof VItem>\n","import './VKbd.sass'\n\nimport { createSimpleFunctional } from '@/util'\n\nexport const VKbd = createSimpleFunctional('v-kbd')\n","// Styles\nimport './VLayout.sass'\n\n// Utilities\nimport { defineComponent, useRender } from '@/util'\n\n// Composables\nimport { createLayout, makeLayoutProps } from '@/composables/layout'\n\nexport const VLayout = defineComponent({\n name: 'VLayout',\n\n props: makeLayoutProps(),\n\n setup (props, { slots }) {\n const { layoutClasses, getLayoutItem, items } = createLayout(props)\n\n useRender(() => (\n <div class={ layoutClasses.value }>\n { slots.default?.() }\n </div>\n ))\n\n return {\n getLayoutItem,\n items,\n }\n },\n})\n\nexport type VLayout = InstanceType<typeof VLayout>\n","// Styles\nimport './VLayoutItem.sass'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VLayoutItem = defineComponent({\n name: 'VLayoutItem',\n\n props: {\n position: {\n type: String as PropType<'top' | 'right' | 'bottom' | 'left'>,\n required: true,\n },\n size: {\n type: [Number, String],\n default: 300,\n },\n modelValue: Boolean,\n ...makeLayoutItemProps(),\n },\n\n setup (props, { slots }) {\n const styles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n toRef(props, 'position'),\n toRef(props, 'size'),\n toRef(props, 'size'),\n toRef(props, 'modelValue')\n )\n\n return () => (\n <div\n class={[\n 'v-layout-item',\n {\n 'v-layout-item--absolute': props.absolute,\n },\n ]}\n style={ styles.value }\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n","// Composables\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport type { PropType } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VLazy = defineComponent({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n modelValue: Boolean,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n\n ...makeDimensionProps(),\n ...makeTagProps(),\n ...makeTransitionProps({ transition: 'fade-transition' }),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { dimensionStyles } = useDimension(props)\n const isActive = useProxiedModel(props, 'modelValue')\n\n function onIntersect (isIntersecting: boolean) {\n if (isActive.value) return\n\n isActive.value = isIntersecting\n }\n\n return () => (\n <props.tag\n class=\"v-lazy\"\n v-intersect={[\n onIntersect,\n props.options,\n isActive.value ? [] : ['once'],\n ]}\n style={ dimensionStyles.value }\n >\n { isActive.value && (\n <MaybeTransition transition={ props.transition }>\n { slots.default?.() }\n </MaybeTransition>\n )}\n </props.tag>\n )\n },\n})\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VListSubheader = defineComponent({\n name: 'VListSubheader',\n\n props: {\n color: String,\n inset: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n\n return () => (\n <props.tag\n class={[\n 'v-list-subheader',\n {\n 'v-list-subheader--inset': props.inset,\n },\n textColorClasses.value,\n ]}\n style={{ textColorStyles }}\n >\n { slots.default && (\n <div class=\"v-list-subheader__text\">\n { slots.default() }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","export type OpenStrategyFn = (data: {\n id: string\n value: boolean\n opened: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport const singleOpenStrategy: OpenStrategyFn = ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = new Set<string>()\n newOpened.add(id)\n\n let parent = parents.get(id)\n\n while (parent != null) {\n newOpened.add(parent)\n parent = parents.get(parent)\n }\n\n return newOpened\n } else {\n opened.delete(id)\n return opened\n }\n}\n\nexport const multipleOpenStrategy: OpenStrategyFn = ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id)\n opened.add(id)\n\n while (parent != null) {\n opened.add(parent)\n parent = parents.get(parent)\n }\n\n return opened\n } else {\n opened.delete(id)\n }\n return opened\n}\n","export type SelectStrategyFn = (data: {\n id: string\n value: boolean\n selected: Map<string, 'on' | 'off' | 'indeterminate'>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformInFn = (\n v: string[] | undefined,\n children: Map<string, string[]>,\n parents: Map<string, string>\n) => Map<string, 'on' | 'off' | 'indeterminate'>\n\nexport type SelectStrategyTransformOutFn = (\n v: Map<string, 'on' | 'off' | 'indeterminate'>,\n children: Map<string, string[]>,\n parents: Map<string, string>\n) => any[]\n\nexport type SelectStrategy = {\n select: SelectStrategyFn\n in: SelectStrategyTransformInFn\n out: SelectStrategyTransformOutFn\n}\n\nexport const independentSelectStrategy: SelectStrategy = {\n select: ({ id, value, selected }) => {\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = independentSelectStrategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: v => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n },\n}\n\nexport const leafSelectStrategy = (single = false): SelectStrategy => {\n const strategy: SelectStrategy = {\n select: ({ id, value, selected, children }) => {\n if (children.has(id)) return selected\n\n if (single) return new Map([[id, value ? 'on' : 'off']])\n\n selected.set(id, value ? 'on' : 'off')\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v ?? [])) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: independentSelectStrategy.out,\n }\n\n return strategy\n}\n\nexport const classicSelectStrategy: SelectStrategy = {\n select: ({ id, value, selected, children, parents }) => {\n const items = [id]\n\n while (items.length) {\n const item = items.shift()!\n\n selected.set(item, value ? 'on' : 'off')\n\n if (children.has(item)) {\n items.push(...children.get(item)!)\n }\n }\n\n let parent = parents.get(id)\n\n while (parent) {\n const childrenIds = children.get(parent)!\n const everySelected = childrenIds.every(cid => selected.get(cid) === 'on')\n const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off')\n\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate')\n\n parent = parents.get(parent)\n }\n\n return selected\n },\n in: (v, children, parents) => {\n let map = new Map()\n\n for (const id of (v || [])) {\n map = classicSelectStrategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents,\n })\n }\n\n return map\n },\n out: (v, children) => {\n const arr = []\n\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key)\n }\n\n return arr\n },\n}\n","export type ActiveStrategyFn = (data: {\n id: string\n value: boolean\n active: Set<string>\n children: Map<string, string[]>\n parents: Map<string, string>\n event?: Event\n}) => Set<string>\n\nexport const classicActiveStrategy = (single?: boolean): ActiveStrategyFn => {\n return ({ id, value, active }) => {\n const newActive: Set<string> = single ? new Set() : active\n\n if (value) {\n newActive.add(id)\n } else {\n newActive.delete(id)\n }\n\n return newActive\n }\n}\n","import { useProxiedModel } from '@/composables/proxiedModel'\nimport { getUid, propsFactory } from '@/util'\nimport { computed, inject, onBeforeUnmount, provide, ref } from 'vue'\nimport { multipleOpenStrategy, singleOpenStrategy } from './openStrategies'\nimport { classicSelectStrategy, independentSelectStrategy, leafSelectStrategy } from './selectStrategies'\nimport { classicActiveStrategy } from './activeStrategies'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { SelectStrategyFn } from './selectStrategies'\nimport type { OpenStrategyFn } from './openStrategies'\nimport type { ActiveStrategyFn } from './activeStrategies'\n\nexport type SelectStrategy = 'single-leaf' | 'leaf' | 'independent' | 'classic' | SelectStrategyFn\nexport type OpenStrategy = 'single' | 'multiple' | OpenStrategyFn\nexport type ActiveStrategy = 'single' | 'multiple' | ActiveStrategyFn\n\nexport interface NestedProps {\n selectStrategy: SelectStrategy | undefined\n openStrategy: OpenStrategy | undefined\n activeStrategy: ActiveStrategy | undefined\n selected: string[] | undefined\n opened: string[] | undefined\n active: string[] | undefined\n 'onUpdate:selected': ((val: string[]) => void) | undefined\n 'onUpdate:opened': ((val: string[]) => void) | undefined\n 'onUpdate:active': ((val: string[]) => void) | undefined\n}\n\ntype NestedProvide = {\n id: Ref<string | null>\n root: {\n children: Ref<Map<string, string[]>>\n parents: Ref<Map<string, string>>\n opened: Ref<Set<string>>\n active: Ref<Set<string>>\n selected: Ref<Map<string, 'on' | 'off' | 'indeterminate'>>\n selectedValues: Ref<string[]>\n register: (id: string, parentId: string | null, isGroup?: boolean) => void\n unregister: (id: string) => void\n open: (id: string, value: boolean, event?: Event) => void\n select: (id: string, value: boolean, event?: Event) => void\n activate: (id: string, value: boolean, event?: Event) => void\n }\n}\n\nconst VNestedSymbol: InjectionKey<NestedProvide> = Symbol.for('vuetify:nested')\n\nconst emptyNested: NestedProvide = {\n id: ref(null),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n select: () => null,\n opened: ref(new Set()),\n selected: ref(new Map()),\n active: ref(new Set()),\n activate: () => null,\n selectedValues: ref([]),\n },\n}\n\nexport const makeNestedProps = propsFactory({\n selectStrategy: [String, Function] as Prop<SelectStrategy>,\n openStrategy: [String, Function] as Prop<OpenStrategy>,\n activeStrategy: [String, Function] as Prop<ActiveStrategy>,\n opened: Array as Prop<string[]>,\n selected: Array as Prop<string[]>,\n active: Array as Prop<string[]>,\n}, 'nested')\n\nexport const useNested = (props: NestedProps) => {\n let isUnmounted = false\n const children = ref(new Map<string, string[]>())\n const parents = ref(new Map<string, string>())\n\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()])\n const active = useProxiedModel(props, 'active', props.active, v => new Set(v), v => [...v.values()])\n\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy\n\n switch (props.activeStrategy) {\n case 'single': return classicActiveStrategy(true)\n case 'multiple':\n default:\n return classicActiveStrategy()\n }\n })\n\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy\n\n switch (props.selectStrategy) {\n case 'single-leaf': return leafSelectStrategy(true)\n case 'leaf': return leafSelectStrategy()\n case 'independent': return independentSelectStrategy\n case 'classic':\n default: return classicSelectStrategy\n }\n })\n\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'function') return props.openStrategy\n\n switch (props.openStrategy) {\n case 'single': return singleOpenStrategy\n case 'multiple':\n default: return multipleOpenStrategy\n }\n })\n\n const selected = useProxiedModel(\n props,\n 'selected',\n props.selected,\n v => selectStrategy.value.in(v, children.value, parents.value),\n v => selectStrategy.value.out(v, children.value, parents.value),\n )\n\n onBeforeUnmount(() => {\n isUnmounted = true\n })\n\n const nested: NestedProvide = {\n id: ref(null),\n root: {\n opened,\n selected,\n active,\n selectedValues: computed(() => {\n const arr = []\n\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key)\n }\n\n return arr\n }),\n register: (id, parentId, isGroup) => {\n parentId && parents.value.set(id, parentId)\n\n isGroup && children.value.set(id, [])\n\n if (parentId != null) {\n children.value.set(parentId, [...children.value.get(parentId) || [], id])\n }\n },\n unregister: id => {\n if (isUnmounted) return\n\n children.value.delete(id)\n const parent = parents.value.get(id)\n if (parent) {\n const list = children.value.get(parent) ?? []\n children.value.set(parent, list.filter(child => child !== id))\n }\n parents.value.delete(id)\n opened.value.delete(id)\n active.value.delete(id)\n selected.value.delete(id)\n },\n open: (id, value, event) => {\n const newOpened = openStrategy.value({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newOpened && (opened.value = newOpened)\n },\n select: (id, value, event) => {\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newSelected && (selected.value = newSelected)\n },\n activate: (id, value, event) => {\n const newActive = activeStrategy.value({\n id,\n value,\n active: new Set(active.value),\n children: children.value,\n parents: parents.value,\n event,\n })\n\n newActive && (active.value = newActive)\n },\n children,\n parents,\n },\n }\n\n provide(VNestedSymbol, nested)\n\n return nested.root\n}\n\nexport const useNestedItem = (id: Ref<string | undefined>) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const computedId = computed(() => id.value ?? getUid().toString())\n\n const item = {\n ...parent,\n id: computedId,\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n select: (selected: boolean, e: Event) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(computedId.value) === 'on'),\n activate: (activated: boolean, e: Event) => parent.root.activate(computedId.value, activated, e),\n isActive: computed(() => parent.root.active.value.has(computedId.value)),\n }\n\n parent.root.register(computedId.value, parent.id.value, false)\n\n onBeforeUnmount(() => {\n parent.root.unregister(computedId.value)\n })\n\n return item\n}\n\nexport const useNestedGroup = (props: { value: string }) => {\n const parent = inject(VNestedSymbol, emptyNested)\n\n const id = computed(() => props.value ?? getUid().toString())\n\n const group = {\n ...parent,\n id,\n open: (open: boolean, e: Event) => parent.root.open(id.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(id.value)),\n isSelected: computed(() => parent.root.selected.value.get(id.value) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(id.value) === 'indeterminate'),\n }\n\n parent.root.register(id.value, parent.id.value, true)\n\n onBeforeUnmount(() => {\n parent.root.unregister(id.value)\n })\n\n provide(VNestedSymbol, group)\n\n return group\n}\n","// Components\nimport { VExpandTransition } from '@/components/transitions'\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { useNestedGroup } from '@/composables/nested/nested'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed } from 'vue'\nimport { defineComponent, genericComponent } from '@/util'\nimport { createList, useList } from './VList'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListItem } from './VList'\n\nexport type ListGroupHeaderSlot = {\n onClick: (e: Event) => void\n appendIcon: string\n class: string\n}\n\nconst VListGroupItems = defineComponent({\n name: 'VListGroupItems',\n\n props: {\n open: Boolean,\n items: Array as Prop<ListItem[]>,\n },\n\n setup (props, { slots }) {\n createList()\n\n return () => {\n return (\n <VExpandTransition>\n <div class=\"v-list-group__items\" v-show={props.open}>\n <VListChildren items={props.items} v-slots={slots} />\n </div>\n </VExpandTransition>\n )\n }\n },\n})\n\nexport const VListGroup = genericComponent<new <T extends ListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n header: [ListGroupHeaderSlot]\n item: [T]\n default: []\n }>\n}>()({\n name: 'VListGroup',\n\n props: {\n value: null,\n collapseIcon: {\n type: String,\n default: '$collapse',\n },\n expandIcon: {\n type: String,\n default: '$expand',\n },\n items: Array as Prop<ListItem[]>,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { isOpen, open } = useNestedGroup(props)\n const list = useList()\n\n const onClick = (e: Event) => {\n open(!isOpen.value, e)\n }\n\n const headerProps = computed(() => ({\n onClick,\n appendIcon: isOpen.value ? props.collapseIcon : props.expandIcon,\n class: 'v-list-group__header',\n }))\n\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-group',\n {\n 'v-list-group--prepend': list?.hasPrepend.value,\n },\n ]}\n >\n { slots.header?.(headerProps.value) }\n <VListGroupItems items={props.items} open={isOpen.value} v-slots={slots} />\n </props.tag>\n )\n }\n },\n})\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemAvatar = defineComponent({\n name: 'VListItemAvatar',\n\n props: {\n left: Boolean,\n right: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-item-avatar',\n {\n 'v-list-item-avatar--start': props.left,\n 'v-list-item-avatar--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemHeader = createSimpleFunctional('v-list-item-header')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemSubtitle = createSimpleFunctional('v-list-item-subtitle')\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListItemTitle = createSimpleFunctional('v-list-item-title')\n","// Styles\nimport './VListItem.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VListItemAvatar } from './VListItemAvatar'\nimport { VListItemHeader } from './VListItemHeader'\nimport { VListItemSubtitle } from './VListItemSubtitle'\nimport { VListItemTitle } from './VListItemTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, onMounted } from 'vue'\nimport { genericComponent } from '@/util'\nimport { useNestedItem } from '@/composables/nested/nested'\nimport { useList } from './VList'\n\n// Types\nimport type { MakeSlots } from '@/util'\n\ntype ListItemSlot = {\n isActive: boolean\n activate: (value: boolean) => void\n isSelected: boolean\n select: (value: boolean) => void\n}\n\nexport const VListItem = genericComponent<new () => {\n $slots: MakeSlots<{\n prepend: [ListItemSlot]\n append: [ListItemSlot]\n default: [ListItemSlot]\n title: []\n subtitle: []\n }>\n}>()({\n name: 'VListItem',\n\n directives: { Ripple },\n\n props: {\n active: Boolean,\n activeColor: String,\n activeClass: String,\n appendAvatar: String,\n appendIcon: String,\n disabled: Boolean,\n link: Boolean,\n prependAvatar: String,\n prependIcon: String,\n subtitle: String,\n title: String,\n value: null,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n setup (props, { attrs, slots }) {\n const link = useLink(props, attrs)\n const id = computed(() => props.value ?? link.href.value)\n const { activate, isActive: isNestedActive, select, isSelected, root, parent } = useNestedItem(id)\n const list = useList()\n const isActive = computed(() => {\n return props.active || link.isExactActive?.value || isNestedActive.value\n })\n const activeColor = props.activeColor ?? props.color\n const variantProps = computed(() => ({\n color: isActive.value ? activeColor : props.color,\n textColor: props.textColor,\n variant: props.variant,\n }))\n\n onMounted(() => {\n if (link.isExactActive?.value && parent.value != null) {\n root.open(parent.value, true)\n }\n })\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(variantProps)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const slotProps = computed(() => ({\n isActive: isActive.value,\n activate,\n select,\n isSelected: isSelected.value,\n }))\n\n return () => {\n const Tag = (link.isLink.value) ? 'a' : props.tag\n const hasTitle = (slots.title || props.title)\n const hasSubtitle = (slots.subtitle || props.subtitle)\n const hasHeader = !!(hasTitle || hasSubtitle)\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon)\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon)\n const isClickable = !props.disabled && (link.isClickable.value || props.link || props.value != null)\n\n list?.updateHasPrepend(hasPrepend)\n\n return (\n <Tag\n class={[\n 'v-list-item',\n {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n [`${props.activeClass}`]: isActive.value && props.activeClass,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n ]}\n href={ link.href.value }\n tabindex={ isClickable ? 0 : undefined }\n onClick={ isClickable && ((e: MouseEvent) => {\n link.navigate?.(e)\n props.value != null && activate(!isNestedActive.value, e)\n })}\n v-ripple={ isClickable }\n >\n { genOverlays(isClickable || isActive.value, 'v-list-item') }\n\n { hasPrepend && (\n slots.prepend\n ? slots.prepend(slotProps.value)\n : (\n <VListItemAvatar left>\n <VAvatar\n density={ props.density }\n icon={ props.prependIcon }\n image={ props.prependAvatar }\n />\n </VListItemAvatar>\n )\n ) }\n\n { hasHeader && (\n <VListItemHeader>\n { hasTitle && (\n <VListItemTitle>\n { slots.title\n ? slots.title()\n : props.title\n }\n </VListItemTitle>\n ) }\n\n { hasSubtitle && (\n <VListItemSubtitle>\n { slots.subtitle\n ? slots.subtitle()\n : props.subtitle\n }\n </VListItemSubtitle>\n ) }\n </VListItemHeader>\n ) }\n\n { slots.default?.(slotProps.value) }\n\n { hasAppend && (\n slots.append\n ? slots.append(slotProps.value)\n : (\n <VListItemAvatar right>\n <VAvatar\n density={ props.density }\n icon={ props.appendIcon }\n image={ props.appendAvatar }\n />\n </VListItemAvatar>\n )\n ) }\n </Tag>\n )\n }\n },\n})\n\nexport type VListItem = InstanceType<typeof VListItem>\n","// Components\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { Prop } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListGroupHeaderSlot } from './VListGroup'\nimport type { ListItem } from './VList'\n\nexport const VListChildren = genericComponent<new <T extends ListItem>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n default: []\n externalHeader: [ListGroupHeaderSlot]\n item: [T]\n }>\n}>()({\n name: 'VListChildren',\n\n props: {\n items: Array as Prop<ListItem[]>,\n },\n\n setup (props, { slots }) {\n return () => slots.default?.() ?? props.items?.map(({ children, ...item }) => {\n const { value, ...rest } = item\n return children ? (\n <VListGroup\n value={value}\n items={children}\n >\n {{\n ...slots,\n header: headerProps => slots.externalHeader\n ? slots.externalHeader({ ...rest, ...headerProps })\n : <VListItem {...rest} {...headerProps} />,\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item(item) : <VListItem {...item} v-slots={slots} />\n )\n })\n },\n})\n","// Styles\nimport './VList.sass'\n\n// Components\nimport { VListSubheader } from './VListSubheader'\nimport { VListChildren } from './VListChildren'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeNestedProps, useNested } from '@/composables/nested/nested'\n\n// Utilities\nimport { inject, provide, ref, toRef } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, Prop, Ref } from 'vue'\nimport type { MakeSlots } from '@/util'\nimport type { ListGroupHeaderSlot } from './VListGroup'\n\nexport type ListItem = {\n children?: ListItem[]\n value?: string\n}\n\n// Depth\nexport const DepthKey: InjectionKey<Ref<number>> = Symbol.for('vuetify:depth')\n\n// List\nexport const ListKey: InjectionKey<{\n hasPrepend: Ref<boolean>\n updateHasPrepend: (value: boolean) => void\n}> = Symbol.for('vuetify:list')\n\nexport const createList = () => {\n const parent = inject(ListKey, { hasPrepend: ref(false), updateHasPrepend: () => null })\n\n const data = {\n hasPrepend: ref(false),\n updateHasPrepend: (value: boolean) => {\n if (value) data.hasPrepend.value = value\n },\n }\n\n provide(ListKey, data)\n\n return parent\n}\n\nexport const useList = () => {\n return inject(ListKey, null)\n}\n\nexport const VList = genericComponent<new <T>() => {\n $props: {\n items?: T[]\n }\n $slots: MakeSlots<{\n subheader: []\n header: [ListGroupHeaderSlot]\n item: [T]\n }>\n}>()({\n name: 'VList',\n\n props: {\n color: String,\n disabled: Boolean,\n lines: {\n type: String,\n default: 'one',\n },\n nav: Boolean,\n subheader: {\n type: [Boolean, String],\n default: false,\n },\n items: Array as Prop<ListItem[]>,\n\n ...makeNestedProps({\n selectStrategy: 'leaf' as const,\n openStrategy: 'multiple' as const,\n activeStrategy: 'single' as const,\n }),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:selected': (val: string[]) => true,\n 'update:opened': (val: string[]) => true,\n 'update:active': (val: string[]) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { open, select, activate } = useNested(props)\n createList()\n\n useRender(() => {\n const hasHeader = typeof props.subheader === 'string' || slots.subheader\n\n return (\n <props.tag\n class={[\n 'v-list',\n {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n 'v-list--subheader': props.subheader,\n 'v-list--subheader-sticky': props.subheader === 'sticky',\n [`v-list--${props.lines}-line`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n ]}\n >\n { hasHeader && (\n slots.subheader\n ? slots.subheader()\n : <VListSubheader>{ props.subheader }</VListSubheader>\n ) }\n\n <VListChildren items={ props.items }>\n {{\n default: slots.default,\n item: slots.item,\n externalHeader: slots.header,\n }}\n </VListChildren>\n </props.tag>\n )\n })\n\n return {\n open,\n select,\n activate,\n }\n },\n})\n\nexport type VList = InstanceType<typeof VList>\n","import { createSimpleFunctional } from '@/util'\n\nexport const VListImg = createSimpleFunctional('v-list-img')\n","// Composables\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VListItemMedia = defineComponent({\n name: 'VListItemMedia',\n\n props: {\n left: Boolean,\n right: Boolean,\n\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n return () => {\n return (\n <props.tag\n class={[\n 'v-list-item-media',\n {\n 'v-list-item-media--start': props.left,\n 'v-list-item-media--end': props.right,\n },\n ]}\n v-slots={ slots }\n />\n )\n }\n },\n})\n","import './VLocaleProvider.sass'\n\n// Composables\nimport { provideLocale } from '@/composables/locale'\nimport { provideRtl } from '@/composables/rtl'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VLocaleProvider = defineComponent({\n name: 'VLocaleProvider',\n\n props: {\n locale: String,\n fallbackLocale: String,\n messages: Object,\n rtl: {\n type: Boolean,\n default: undefined,\n },\n },\n\n setup (props, { slots }) {\n const localeInstance = provideLocale(props)\n const { rtlClasses } = provideRtl(props, localeInstance)\n\n return () => (\n <div\n class={[\n 'v-locale-provider',\n rtlClasses.value,\n ]}\n >\n { slots.default?.() }\n </div>\n )\n },\n})\n","// Utilities\nimport { computed, onMounted, ref } from 'vue'\n\n// Composables\nexport function useSsrBoot () {\n const isBooted = ref(false)\n\n onMounted(() => {\n window.requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n\n const ssrBootStyles = computed(() => !isBooted.value ? ({\n transition: 'none !important',\n }) : undefined)\n\n return { ssrBootStyles }\n}\n","// Styles\nimport './VMain.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useLayout } from '@/composables/layout'\nimport { useSsrBoot } from '@/composables/ssrBoot'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VMain = defineComponent({\n name: 'VMain',\n\n props: makeTagProps({ tag: 'main' }),\n\n setup (props, { slots }) {\n const { mainStyles } = useLayout()\n const { ssrBootStyles } = useSsrBoot()\n\n return () => (\n <props.tag\n class=\"v-main\"\n style={[\n mainStyles.value,\n ssrBootStyles.value,\n ]}\n >\n <div class=\"v-main__wrap\">\n { slots.default?.() }\n </div>\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\nimport { VDialogTransition } from '@/components/transitions'\n\n// Composables\nimport { makeTransitionProps } from '@/composables/transition'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid } from '@/util'\n\n// Types\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const VMenu = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VMenu',\n\n inheritAttrs: false,\n\n props: {\n // TODO\n // closeOnClick: {\n // type: Boolean,\n // default: true,\n // },\n // closeOnContentClick: {\n // type: Boolean,\n // default: true,\n // },\n disableKeys: Boolean,\n modelValue: Boolean,\n id: String,\n\n ...makeTransitionProps({\n transition: { component: VDialogTransition },\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-menu',\n ]}\n transition={ props.transition }\n absolute\n positionStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n scrim={ false }\n activatorProps={{\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n }}\n { ...attrs }\n v-slots={{\n default: slots.default,\n activator: slots.activator,\n }}\n />\n )\n }\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n","import { CircularBuffer } from '@/util'\n\nconst HORIZON = 100 // ms\nconst HISTORY = 20 // number of samples to keep\n\nexport interface Sample {\n t: number\n d: number\n}\n\n/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */\nfunction kineticEnergyToVelocity (work: number) {\n const sqrt2 = 1.41421356237\n return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2\n}\n\n/**\n * Returns pointer velocity in px/s\n */\nexport function calculateImpulseVelocity (samples: Sample[]) {\n // The input should be in reversed time order (most recent sample at index i=0)\n if (samples.length < 2) {\n // if 0 or 1 points, velocity is zero\n return 0\n }\n // if (samples[1].t > samples[0].t) {\n // // Algorithm will still work, but not perfectly\n // consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')\n // }\n if (samples.length === 2) {\n // if 2 points, basic linear calculation\n if (samples[1].t === samples[0].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)\n return 0\n }\n return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t)\n }\n // Guaranteed to have at least 3 points here\n // start with the oldest sample and go forward in time\n let work = 0\n for (let i = samples.length - 1; i > 0; i--) {\n if (samples[i].t === samples[i - 1].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)\n continue\n }\n const vprev = kineticEnergyToVelocity(work) // v[i-1]\n const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t) // v[i]\n work += (vcurr - vprev) * Math.abs(vcurr)\n if (i === samples.length - 1) {\n work *= 0.5\n }\n }\n return kineticEnergyToVelocity(work) * 1000\n}\n\nexport function useVelocity () {\n const touches: Record<number, CircularBuffer<[number, Touch]> | undefined> = {}\n\n function addMovement (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY))\n samples.push([e.timeStamp, touch])\n })\n }\n\n function endTouch (e: TouchEvent) {\n Array.from(e.changedTouches).forEach(touch => {\n delete touches[touch.identifier]\n })\n }\n\n function getVelocity (id: number) {\n const samples = touches[id]?.values().reverse()\n\n if (!samples) {\n throw new Error(`No samples for touch id ${id}`)\n }\n\n const newest = samples[0]\n const x: Sample[] = []\n const y: Sample[] = []\n for (const val of samples) {\n if (newest[0] - val[0] > HORIZON) break\n\n x.push({ t: val[0], d: val[1].clientX })\n y.push({ t: val[0], d: val[1].clientY })\n }\n\n return {\n x: calculateImpulseVelocity(x),\n y: calculateImpulseVelocity(y),\n get direction () {\n const { x, y } = this\n const [absX, absY] = [Math.abs(x), Math.abs(y)]\n\n return absX > absY && x >= 0 ? 'right'\n : absX > absY && x <= 0 ? 'left'\n : absY > absX && y >= 0 ? 'down'\n : absY > absX && y <= 0 ? 'up'\n : oops()\n },\n }\n }\n\n return { addMovement, endTouch, getVelocity }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n","import { useVelocity } from '@/composables/touch'\nimport { computed, onBeforeUnmount, onMounted, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useTouch ({ isActive, isTemporary, width, touchless, position }: {\n isActive: Ref<boolean>\n isTemporary: Ref<boolean>\n width: Ref<number>\n touchless: Ref<boolean>\n position: Ref<'left' | 'right' | 'bottom'>\n}) {\n onMounted(() => {\n window.addEventListener('touchstart', onTouchstart, { passive: true })\n window.addEventListener('touchmove', onTouchmove, { passive: false })\n window.addEventListener('touchend', onTouchend, { passive: true })\n })\n\n onBeforeUnmount(() => {\n window.removeEventListener('touchstart', onTouchstart)\n window.removeEventListener('touchmove', onTouchmove)\n window.removeEventListener('touchend', onTouchend)\n })\n\n const isHorizontal = computed(() => position.value !== 'bottom')\n\n const { addMovement, endTouch, getVelocity } = useVelocity()\n let maybeDragging = false\n const isDragging = ref(false)\n const dragProgress = ref(0)\n const offset = ref(0)\n let start: [number, number] | undefined\n\n function getOffset (pos: number, active: boolean): number {\n return (\n position.value === 'left' ? pos\n : position.value === 'right' ? document.documentElement.clientWidth - pos\n : position.value === 'bottom' ? document.documentElement.clientHeight - pos\n : oops()\n ) - (active ? width.value : 0)\n }\n\n function getProgress (pos: number, limit = true): number {\n const progress = (\n position.value === 'left' ? (pos - offset.value) / width.value\n : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value\n : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value\n : oops()\n )\n return limit ? Math.max(0, Math.min(1, progress)) : progress\n }\n\n function onTouchstart (e: TouchEvent) {\n if (touchless.value) return\n\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n const touchZone = 25\n const inTouchZone: boolean =\n position.value === 'left' ? touchX < touchZone\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone\n : oops()\n\n const inElement: boolean = isActive.value && (\n position.value === 'left' ? touchX < width.value\n : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value\n : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value\n : oops()\n )\n\n if (\n inTouchZone ||\n inElement ||\n (isActive.value && isTemporary.value)\n ) {\n maybeDragging = true\n start = [touchX, touchY]\n\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value)\n dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY)\n\n endTouch(e)\n addMovement(e)\n }\n }\n\n function onTouchmove (e: TouchEvent) {\n const touchX = e.changedTouches[0].clientX\n const touchY = e.changedTouches[0].clientY\n\n if (maybeDragging) {\n if (!e.cancelable) {\n maybeDragging = false\n return\n }\n\n const dx = Math.abs(touchX - start![0])\n const dy = Math.abs(touchY - start![1])\n\n const thresholdMet = isHorizontal.value\n ? dx > dy && dx > 3\n : dy > dx && dy > 3\n\n if (thresholdMet) {\n isDragging.value = true\n maybeDragging = false\n } else if ((isHorizontal.value ? dy : dx) > 3) {\n maybeDragging = false\n }\n }\n\n if (!isDragging.value) return\n\n e.preventDefault()\n addMovement(e)\n\n const progress = getProgress(isHorizontal.value ? touchX : touchY, false)\n dragProgress.value = Math.max(0, Math.min(1, progress))\n\n if (progress > 1) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, true)\n } else if (progress < 0) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, false)\n }\n }\n\n function onTouchend (e: TouchEvent) {\n maybeDragging = false\n\n if (!isDragging.value) return\n\n addMovement(e)\n\n isDragging.value = false\n\n const velocity = getVelocity(e.changedTouches[0].identifier)\n const vx = Math.abs(velocity.x)\n const vy = Math.abs(velocity.y)\n const thresholdMet = isHorizontal.value\n ? vx > vy && vx > 400\n : vy > vx && vy > 3\n\n if (thresholdMet) {\n isActive.value = velocity.direction === ({\n left: 'right',\n right: 'left',\n bottom: 'up',\n }[position.value] || oops())\n } else {\n isActive.value = dragProgress.value > 0.5\n }\n }\n\n const dragStyles = computed(() => {\n return isDragging.value ? {\n transform:\n position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))`\n : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))`\n : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))`\n : oops(),\n transition: 'none',\n } : undefined\n })\n\n return {\n isDragging,\n dragProgress,\n dragStyles,\n }\n}\n\nfunction oops (): never {\n throw new Error()\n}\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Composables\nimport { useTouch } from './touch'\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useDisplay } from '@/composables/display'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, onBeforeMount, ref, toRef, Transition, watch } from 'vue'\nimport { defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VNavigationDrawer = defineComponent({\n name: 'VNavigationDrawer',\n\n props: {\n color: String,\n disableResizeWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean,\n default: null,\n },\n permanent: Boolean,\n rail: Boolean,\n railWidth: {\n type: [Number, String],\n default: 72,\n },\n image: String,\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n position: {\n type: String as PropType<'left' | 'right' | 'bottom'>,\n default: 'left',\n validator: (value: any) => ['left', 'right', 'bottom'].includes(value),\n },\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { mobile } = useDisplay()\n const { roundedClasses } = useRounded(props)\n\n const isActive = useProxiedModel(props, 'modelValue')\n const isHovering = ref(false)\n const width = computed(() => {\n return (props.rail && props.expandOnHover && isHovering.value)\n ? Number(props.width)\n : Number(props.rail ? props.railWidth : props.width)\n })\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary))\n\n if (!props.disableResizeWatcher) {\n watch(mobile, val => !props.permanent && (isActive.value = !val))\n }\n\n watch(props, val => {\n if (val.permanent) isActive.value = true\n })\n\n onBeforeMount(() => {\n if (props.modelValue != null) return\n\n isActive.value = props.permanent || !mobile.value\n })\n\n const rootEl = ref<HTMLElement>()\n\n const { isDragging, dragProgress, dragStyles } = useTouch({\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: toRef(props, 'position'),\n })\n\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0\n : props.rail && props.expandOnHover ? Number(props.railWidth)\n : width.value\n\n return isDragging.value ? size * dragProgress.value : size\n })\n const layoutStyles = useLayoutItem(\n props.name,\n computed(() => parseInt(props.priority, 10)),\n toRef(props, 'position'),\n layoutSize,\n width,\n computed(() => isActive.value || isDragging.value),\n computed(() => isDragging.value)\n )\n\n return () => {\n const hasImage = (slots.image || props.image)\n\n return (\n <>\n <props.tag\n ref={ rootEl }\n onMouseenter={ () => (isHovering.value = true) }\n onMouseleave={ () => (isHovering.value = false) }\n class={[\n 'v-navigation-drawer',\n {\n 'v-navigation-drawer--bottom': props.position === 'bottom',\n 'v-navigation-drawer--end': props.position === 'right',\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--start': props.position === 'left',\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--absolute': props.absolute,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutStyles.value,\n dragStyles.value,\n ]}\n { ...attrs }\n >\n { hasImage && (\n <div class=\"v-navigation-drawer__img\">\n { slots.image\n ? slots.image?.({ image: props.image })\n : (<img src={ props.image } alt=\"\" />)\n }\n </div>\n )}\n\n { slots.prepend && (\n <div class=\"v-navigation-drawer__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n <div class=\"v-navigation-drawer__content\">\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div class=\"v-navigation-drawer__append\">\n { slots.append?.() }\n </div>\n )}\n </props.tag>\n\n <Transition name=\"fade-transition\">\n { isTemporary.value && (isDragging.value || isActive.value) && (\n <div\n class=\"v-navigation-drawer__scrim\"\n style={isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none',\n } : undefined}\n onClick={ () => isActive.value = false }\n />\n )}\n </Transition>\n </>\n )\n }\n },\n})\n\nexport type VNavigationDrawer = InstanceType<typeof VNavigationDrawer>\n","// Utilities\nimport { getCurrentInstance, IN_BROWSER } from '@/util'\nimport { onMounted } from 'vue'\n\nexport function useHydration (callback: () => void) {\n if (!IN_BROWSER) return\n\n const vm = getCurrentInstance('useHydration')\n const rootEl = vm?.root?.appContext?.app?._container\n\n return rootEl?.__vue_app__ ? callback() : onMounted(callback)\n}\n","// Composables\nimport { useHydration } from '@/composables/hydration'\n\n// Utilities\nimport { defineComponent } from '@/util'\nimport { ref } from 'vue'\n\nexport const VNoSsr = defineComponent({\n name: 'VNoSsr',\n\n setup (_, { slots }) {\n const show = ref(false)\n\n useHydration(() => (show.value = true))\n\n return () => show.value && slots.default?.()\n },\n\n})\n","// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue'\nimport type { DeepReadonly, Ref } from 'vue'\n\ninterface ResizeState {\n resizeRef: Ref<Element | undefined>\n contentRect: DeepReadonly<Ref<DOMRectReadOnly | undefined>>\n borderBoxSize: DeepReadonly<Ref<ResizeObserverSize | undefined>>\n contentBoxSize: DeepReadonly<Ref<ResizeObserverSize | undefined>>\n}\n\nexport function useResizeObserver (callback?: ResizeObserverCallback): ResizeState {\n const resizeRef = ref<Element>()\n const contentRect = ref<DOMRectReadOnly>()\n const contentBoxSize = ref<ResizeObserverSize>()\n const borderBoxSize = ref<ResizeObserverSize>()\n\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n callback?.(entries, observer)\n\n if (!entries.length) return\n\n contentRect.value = entries[0].contentRect\n contentBoxSize.value = entries[0].contentBoxSize[0]\n borderBoxSize.value = entries[0].borderBoxSize[0]\n })\n\n onBeforeUnmount(() => {\n observer.disconnect()\n })\n\n watch(resizeRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue)\n contentRect.value = undefined\n contentBoxSize.value = undefined\n borderBoxSize.value = undefined\n }\n\n if (newValue) observer.observe(newValue)\n }, {\n flush: 'post',\n })\n\n return {\n resizeRef,\n contentRect: readonly(contentRect),\n contentBoxSize: readonly(contentBoxSize),\n borderBoxSize: readonly(borderBoxSize),\n }\n}\n","// Imports\nimport { onBeforeUpdate, ref } from 'vue'\nimport type { Ref } from 'vue'\n\nexport function useRefs <T extends {}> () {\n const refs = ref<(T | undefined)[]>([]) as Ref<(T | undefined)[]>\n\n onBeforeUpdate(() => (refs.value = []))\n\n function updateRef (e: any, i: number) {\n refs.value[i] = e\n }\n\n return { refs, updateRef }\n}\n","import './VPagination.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeBorderProps } from '@/composables/border'\nimport { useRefs } from '@/composables/refs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, nextTick, ref, toRef } from 'vue'\nimport { createRange, defineComponent, keyValues } from '@/util'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport const VPagination = defineComponent({\n name: 'VPagination',\n\n props: {\n start: {\n type: [Number, String],\n default: 1,\n },\n modelValue: {\n type: Number,\n default: (props: any) => props.start,\n },\n disabled: Boolean,\n length: {\n type: [Number, String],\n default: 1,\n validator: (val: number) => val % 1 === 0,\n },\n totalVisible: [Number, String],\n firstIcon: {\n type: String,\n default: '$first',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n ariaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.root',\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n firstAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.first',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n lastAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.last',\n },\n ellipsis: {\n type: String,\n default: '...',\n },\n showFirstLastPage: Boolean,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n first: (value: number) => true,\n prev: (value: number) => true,\n next: (value: number) => true,\n last: (value: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const page = useProxiedModel(props, 'modelValue')\n const { t, n } = useLocale()\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const maxButtons = ref(-1)\n\n provideDefaults(undefined, { scoped: true })\n\n const { resizeRef } = useResizeObserver((entries: ResizeObserverEntry[]) => {\n if (!entries.length) return\n\n const { target, contentRect } = entries[0]\n\n const firstItem = target.querySelector('.v-pagination__list > *')\n\n if (!firstItem) return\n\n const totalWidth = contentRect.width\n const itemWidth = firstItem.getBoundingClientRect().width + 10\n\n maxButtons.value = Math.max(0, Math.floor((totalWidth - 96) / itemWidth))\n })\n\n const length = computed(() => parseInt(props.length, 10))\n const start = computed(() => parseInt(props.start, 10))\n\n const totalVisible = computed(() => {\n if (props.totalVisible) return Math.min(parseInt(props.totalVisible ?? '', 10), length.value)\n else if (maxButtons.value >= 0) return maxButtons.value\n return length.value\n })\n\n const range = computed(() => {\n if (length.value <= 0) return []\n\n if (totalVisible.value <= 3) {\n return [Math.min(Math.max(start.value, page.value), start.value + length.value)]\n }\n\n if (props.length <= totalVisible.value) {\n return createRange(length.value, start.value)\n }\n\n const middle = Math.ceil(totalVisible.value / 2)\n const left = middle\n const right = length.value - middle\n\n if (page.value < left) {\n return [...createRange(Math.max(1, totalVisible.value - 2), start.value), props.ellipsis, length.value]\n } else if (page.value > right) {\n const rangeLength = totalVisible.value - 2\n const rangeStart = length.value - rangeLength + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart)]\n } else {\n const rangeLength = Math.max(1, totalVisible.value - 4)\n const rangeStart = rangeLength === 1 ? page.value : page.value - Math.ceil(rangeLength / 2) + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart), props.ellipsis, length.value]\n }\n })\n\n // TODO: 'first' | 'prev' | 'next' | 'last' does not work here?\n function setValue (e: Event, value: number, event?: any) {\n e.preventDefault()\n page.value = value\n event && emit(event, value)\n }\n\n const { refs, updateRef } = useRefs<ComponentPublicInstance>()\n\n provideDefaults({\n VBtn: {\n border: toRef(props, 'border'),\n density: toRef(props, 'density'),\n size: toRef(props, 'size'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const items = computed(() => {\n return range.value.map((item, index) => {\n const ref = (e: any) => updateRef(e, index)\n\n if (typeof item === 'string') {\n return {\n isActive: false,\n page: item,\n props: {\n ref,\n ellipsis: true,\n icon: true,\n disabled: true,\n },\n }\n } else {\n const isActive = item === page.value\n return {\n isActive,\n page: n(item),\n props: {\n ref,\n ellipsis: false,\n icon: true,\n disabled: !!props.disabled || props.length < 2,\n elevation: props.elevation,\n color: isActive ? props.color : undefined,\n ariaCurrent: isActive,\n ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, index + 1),\n onClick: (e: Event) => setValue(e, item),\n },\n }\n }\n })\n })\n\n const controls = computed(() => {\n const prevDisabled = !!props.disabled || page.value <= start.value\n const nextDisabled = !!props.disabled || page.value >= start.value + length.value - 1\n\n return {\n first: props.showFirstLastPage ? {\n icon: isRtl.value ? props.lastIcon : props.firstIcon,\n onClick: (e: Event) => setValue(e, start.value, 'first'),\n disabled: prevDisabled,\n ariaLabel: t(props.firstAriaLabel),\n ariaDisabled: prevDisabled,\n } : undefined,\n prev: {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n onClick: (e: Event) => setValue(e, page.value - 1, 'prev'),\n disabled: prevDisabled,\n ariaLabel: t(props.previousAriaLabel),\n ariaDisabled: prevDisabled,\n },\n next: {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n onClick: (e: Event) => setValue(e, page.value + 1, 'next'),\n disabled: nextDisabled,\n ariaLabel: t(props.nextAriaLabel),\n ariaDisabled: nextDisabled,\n },\n last: props.showFirstLastPage ? {\n icon: isRtl.value ? props.firstIcon : props.lastIcon,\n onClick: (e: Event) => setValue(e, start.value + length.value - 1, 'last'),\n disabled: nextDisabled,\n ariaLabel: t(props.lastAriaLabel),\n ariaDisabled: nextDisabled,\n } : undefined,\n }\n })\n\n function updateFocus () {\n const currentIndex = page.value - start.value\n refs.value[currentIndex]?.$el.focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === keyValues.left && !props.disabled && page.value > props.start) {\n page.value = page.value - 1\n nextTick(updateFocus)\n } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {\n page.value = page.value + 1\n nextTick(updateFocus)\n }\n }\n\n return () => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-pagination',\n themeClasses.value,\n ]}\n role=\"navigation\"\n aria-label={ t(props.ariaLabel) }\n onKeydown={ onKeydown }\n data-test=\"v-pagination-root\"\n >\n <ul class=\"v-pagination__list\">\n { props.showFirstLastPage && (\n <li class=\"v-pagination__first\" data-test=\"v-pagination-first\">\n { slots.first ? slots.first(controls.value.first) : (\n <VBtn {...controls.value.first} />\n ) }\n </li>\n ) }\n\n <li class=\"v-pagination__prev\" data-test=\"v-pagination-prev\">\n { slots.prev ? slots.prev(controls.value.prev) : (\n <VBtn {...controls.value.prev} />\n ) }\n </li>\n\n { items.value.map((item, index) => (\n <li\n key={ `${index}_${item.page}` }\n class={[\n 'v-pagination__item',\n {\n 'v-pagination__item--is-active': item.isActive,\n },\n ]}\n data-test=\"v-pagination-item\"\n >\n { slots.item ? slots.item(item) : (\n <VBtn {...item.props}>{ item.page }</VBtn>\n ) }\n </li>\n )) }\n\n <li class=\"v-pagination__next\" data-test=\"v-pagination-next\">\n { slots.next ? slots.next(controls.value.next) : (\n <VBtn {...controls.value.next} />\n ) }\n </li>\n\n { props.showFirstLastPage && (\n <li class=\"v-pagination__last\" data-test=\"v-pagination-last\">\n { slots.last ? slots.last(controls.value.last) : (\n <VBtn {...controls.value.last} />\n ) }\n </li>\n ) }\n </ul>\n </props.tag>\n )\n },\n})\n\nexport type VPagination = InstanceType<typeof VPagination>\n","// Styles\nimport './VParallax.sass'\n\n// Components\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\n\n// Utilities\nimport { onBeforeUnmount, ref, watch, watchEffect } from 'vue'\nimport { defineComponent, getScrollParent } from '@/util'\n\nfunction floor (val: number) {\n return Math.floor(Math.abs(val)) * Math.sign(val)\n}\n\nexport const VParallax = defineComponent({\n name: 'VParallax',\n\n props: {\n scale: {\n type: [Number, String],\n default: 1.3,\n },\n },\n\n setup (props, { attrs, slots }) {\n const root = ref<VImg>()\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n watchEffect(() => {\n intersectionRef.value = root.value?.$el\n })\n\n let scrollParent: Element\n watch(isIntersecting, val => {\n if (val) {\n scrollParent = getScrollParent(intersectionRef.value)\n scrollParent = scrollParent === document.scrollingElement ? document as any : scrollParent\n scrollParent.addEventListener('scroll', onScroll, { passive: true })\n onScroll()\n } else {\n scrollParent.removeEventListener('scroll', onScroll)\n }\n })\n\n onBeforeUnmount(() => {\n scrollParent?.removeEventListener('scroll', onScroll)\n })\n\n let frame = -1\n function onScroll () {\n if (!isIntersecting.value) return\n\n cancelAnimationFrame(frame)\n frame = requestAnimationFrame(() => {\n const el: HTMLElement | null = (root.value?.$el as Element).querySelector('.v-img__img')\n if (!el) return\n\n const rect = intersectionRef.value!.getBoundingClientRect()\n const scrollHeight = scrollParent.clientHeight ?? window.innerHeight\n const scrollPos = scrollParent.scrollTop ?? window.scrollY\n const top = rect.top + scrollPos\n const progress = (scrollPos + scrollHeight - top) / (rect.height + scrollHeight)\n const translate = floor((rect.height * +props.scale - rect.height) * (-progress + 0.5))\n\n el.style.setProperty('transform', `translateY(${translate}px) scale(${props.scale})`)\n })\n }\n\n return () => (\n <VImg\n class={[\n 'v-parallax',\n { 'v-parallax--active': isIntersecting.value },\n ]}\n ref={ root }\n cover\n onLoadstart={ onScroll }\n onLoad={ onScroll }\n v-slots={ slots }\n />\n )\n },\n})\n\nexport type VParallax = InstanceType<typeof VParallax>\n","// Styles\nimport './VProgressCircular.sass'\n\n// Composables\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VProgressCircular = defineComponent({\n name: 'VProgressCircular',\n\n props: {\n bgColor: String,\n color: String,\n indeterminate: [Boolean, String] as PropType<boolean | 'disable-shrink'>,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n rotate: {\n type: [Number, String],\n default: 0,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'div' }),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const MAGIC_RADIUS_CONSTANT = 20\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT\n\n const { themeClasses } = provideTheme(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const { textColorClasses: underlayColorClasses, textColorStyles: underlayColorStyles } = useTextColor(toRef(props, 'bgColor'))\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const normalizedValue = computed(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))))\n const width = computed(() => Number(props.width))\n const size = computed(() => {\n // Get size from element if size prop value is small, large etc\n return sizeStyles.value ? Number(props.size) : intersectionRef.value\n ? intersectionRef.value.getBoundingClientRect().width : Math.max(width.value, 32)\n })\n const diameter = computed(() => (MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value)) * 2)\n const strokeWidth = computed(() => width.value / size.value * diameter.value)\n const strokeDashOffset = computed(() => convertToUnit(((100 - normalizedValue.value) / 100) * CIRCUMFERENCE))\n\n return () => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-circular',\n {\n 'v-progress-circular--indeterminate': !!props.indeterminate,\n 'v-progress-circular--visible': isIntersecting.value,\n 'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink',\n },\n themeClasses.value,\n sizeClasses.value,\n textColorClasses.value,\n ]}\n style={[\n sizeStyles.value,\n textColorStyles.value,\n ]}\n role=\"progressbar\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow={ props.indeterminate ? undefined : normalizedValue.value }\n >\n <svg\n style={{\n transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`,\n }}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={ `0 0 ${diameter.value} ${diameter.value}` }\n >\n <circle\n class={[\n 'v-progress-circular__underlay',\n underlayColorClasses.value,\n ]}\n style={ underlayColorStyles.value }\n fill=\"transparent\"\n cx=\"50%\"\n cy=\"50%\"\n r={ MAGIC_RADIUS_CONSTANT }\n stroke-width={ strokeWidth.value }\n stroke-dasharray={ CIRCUMFERENCE }\n stroke-dashoffset={ 0 }\n />\n\n <circle\n class=\"v-progress-circular__overlay\"\n fill=\"transparent\"\n cx=\"50%\"\n cy=\"50%\"\n r={ MAGIC_RADIUS_CONSTANT }\n stroke-width={ strokeWidth.value }\n stroke-dasharray={ CIRCUMFERENCE }\n stroke-dashoffset={ strokeDashOffset.value }\n />\n </svg>\n { slots.default && (\n <div class=\"v-progress-circular__content\">\n { slots.default({ value: normalizedValue.value }) }\n </div>\n ) }\n </props.tag>\n )\n },\n})\n","// Components\nimport { VSelectionControl } from '@/components/VSelectionControl'\n\n// Utility\nimport { defineComponent } from 'vue'\nimport { useRender } from '@/util'\n\nexport const VRadio = defineComponent({\n name: 'VRadio',\n\n props: {\n falseIcon: {\n type: String,\n default: '$radioOff',\n },\n trueIcon: {\n type: String,\n default: '$radioOn',\n },\n },\n\n setup (props, { slots }) {\n useRender(() => (\n <VSelectionControl\n class=\"v-radio\"\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type=\"radio\"\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VRadio = InstanceType<typeof VRadio>\n","// Styles\nimport './VRadioGroup.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\nimport { VSelectionControlGroup } from '@/components/VSelectionControlGroup'\nimport { filterControlProps, makeSelectionControlProps } from '@/components/VSelectionControl/VSelectionControl'\n\n// Utility\nimport { computed, defineComponent } from 'vue'\nimport { filterInputAttrs, getUid, useRender } from '@/util'\n\nexport const VRadioGroup = defineComponent({\n name: 'VRadioGroup',\n\n inheritAttrs: false,\n\n props: {\n height: {\n type: [Number, String],\n default: 'auto',\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n\n trueIcon: {\n type: String,\n default: '$radioOn',\n },\n falseIcon: {\n type: String,\n default: '$radioOff',\n },\n type: {\n type: String,\n default: 'radio',\n },\n },\n\n setup (props, { attrs, slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `radio-group-${uid}`)\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const label = slots.label\n ? slots.label({\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n\n return (\n <VInput\n class=\"v-radio-group\"\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <>\n { label && (\n <VLabel\n disabled={ isDisabled.value }\n error={ isValid.value === false }\n for={ id.value }\n >\n { label }\n </VLabel>\n ) }\n\n <VSelectionControlGroup\n { ...controlProps }\n id={ id.value }\n trueIcon={ props.trueIcon }\n falseIcon={ props.falseIcon }\n type={ props.type }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n v-slots={ slots }\n />\n </>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n","/* eslint-disable max-statements */\n// Composables\nimport { useRtl } from '@/composables/rtl'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeElevationProps } from '@/composables/elevation'\n\n// Utilities\nimport { computed, provide, ref, toRef } from 'vue'\nimport { clamp, createRange, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { VSliderTrack } from './VSliderTrack'\n\ntype Tick = {\n value: number\n position: number\n label?: string\n}\n\ntype SliderProvide = {\n color: Ref<string | undefined>\n decimals: Ref<number>\n direction: Ref<'vertical' | 'horizontal'>\n disabled: Ref<boolean | undefined>\n elevation: Ref<number | string | undefined>\n label: Ref<string | undefined>\n min: Ref<number>\n max: Ref<number>\n mousePressed: Ref<boolean>\n numTicks: Ref<number>\n onSliderMousedown: (e: MouseEvent) => void\n onSliderTouchstart: (e: TouchEvent) => void\n parseMouseMove: (e: MouseEvent | TouchEvent) => number\n position: (val: number) => number\n readonly: Ref<boolean | undefined>\n rounded: Ref<boolean | number | string | undefined>\n roundValue: (value: number) => number\n thumbLabel: Ref<boolean | string | undefined>\n showTicks: Ref<boolean | 'always'>\n startOffset: Ref<number>\n step: Ref<number>\n thumbSize: Ref<number>\n thumbColor: Ref<string | undefined>\n trackColor: Ref<string | undefined>\n trackFillColor: Ref<string | undefined>\n trackSize: Ref<number>\n ticks: Ref<number[] | Record<string, string> | undefined>\n tickSize: Ref<number>\n trackContainerRef: Ref<VSliderTrack | undefined>\n vertical: Ref<boolean>\n showTickLabels: Ref<boolean | undefined>\n parsedTicks: Ref<Tick[]>\n hasLabels: Ref<boolean>\n isReversed: Ref<boolean>\n horizontalDirection: Ref<'ltr' | 'rtl'>\n}\n\nexport const VSliderSymbol: InjectionKey<SliderProvide> = Symbol.for('vuetify:v-slider')\n\nexport function getOffset (e: MouseEvent | TouchEvent, el: HTMLElement, direction: string) {\n const vertical = direction === 'vertical'\n const rect = el.getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n return vertical\n ? touch.clientY - (rect.top + rect.height / 2)\n : touch.clientX - (rect.left + rect.width / 2)\n}\n\nfunction getPosition (e: MouseEvent | TouchEvent, position: 'clientX' | 'clientY'): number {\n if ('touches' in e && e.touches.length) return e.touches[0][position]\n else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position]\n else return (e as MouseEvent)[position]\n}\n\nexport const makeSliderProps = propsFactory({\n disabled: Boolean,\n readonly: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 0,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 20,\n },\n showTicks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: true,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n showTickLabels: {\n type: Boolean,\n default: false,\n },\n ticks: {\n type: [Array, Object] as PropType<number[] | Record<string, string>>,\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n reverse: Boolean,\n label: String,\n\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2,\n }),\n}, 'slider')\n\ntype SliderProps = ExtractPropTypes<ReturnType<typeof makeSliderProps>>\n\nexport const useSlider = ({\n props,\n handleSliderMouseUp,\n handleMouseMove,\n getActiveThumb,\n}: {\n props: SliderProps\n handleSliderMouseUp: (v: number) => void\n handleMouseMove: (v: number) => void\n getActiveThumb: (e: MouseEvent | TouchEvent) => HTMLElement\n}) => {\n const { isRtl } = useRtl()\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const horizontalDirection = computed(() => {\n let hd: 'ltr' | 'rtl' = isRtl.value ? 'rtl' : 'ltr'\n\n if (props.reverse) {\n hd = hd === 'rtl' ? 'ltr' : 'rtl'\n }\n\n return hd\n })\n const min = computed(() => parseFloat(props.min))\n const max = computed(() => parseFloat(props.max))\n const step = computed(() => props.step > 0 ? parseFloat(props.step) : 0)\n const decimals = computed(() => {\n const trimmedStep = step.value.toString().trim()\n return trimmedStep.includes('.')\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n })\n\n const thumbSize = computed(() => parseInt(props.thumbSize, 10))\n const tickSize = computed(() => parseInt(props.tickSize, 10))\n const trackSize = computed(() => parseInt(props.trackSize, 10))\n const numTicks = computed(() => (max.value - min.value) / step.value)\n const disabled = toRef(props, 'disabled')\n const vertical = computed(() => props.direction === 'vertical')\n\n const thumbColor = computed(() => props.disabled ? undefined : props.thumbColor ?? props.color)\n const trackColor = computed(() => props.disabled ? undefined : props.trackColor ?? props.color)\n const trackFillColor = computed(() => props.disabled ? undefined : props.trackFillColor ?? props.color)\n\n const mousePressed = ref(false)\n\n const startOffset = ref(0)\n const trackContainerRef = ref<VSliderTrack | undefined>()\n\n function roundValue (value: number) {\n if (step.value <= 0) return value\n\n const clamped = clamp(value, min.value, max.value)\n const offset = min.value % step.value\n const newValue = Math.round((clamped - offset) / step.value) * step.value + offset\n\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value))\n }\n\n function parseMouseMove (e: MouseEvent | TouchEvent): number {\n const vertical = props.direction === 'vertical'\n const start = vertical ? 'top' : 'left'\n const length = vertical ? 'height' : 'width'\n const position = vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = trackContainerRef.value?.$el.getBoundingClientRect()\n const clickOffset = getPosition(e, position)\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0\n\n if (vertical || isReversed.value) clickPos = 1 - clickPos\n\n return roundValue(min.value + clickPos * (max.value - min.value))\n }\n\n let thumbMoved = false\n\n const handleStop = (e: MouseEvent | TouchEvent) => {\n if (!thumbMoved) {\n startOffset.value = 0\n handleSliderMouseUp(parseMouseMove(e))\n }\n\n mousePressed.value = false\n thumbMoved = false\n startOffset.value = 0\n }\n\n const handleStart = (e: MouseEvent | TouchEvent) => {\n const activeThumb = getActiveThumb(e)\n\n if (!activeThumb) return\n\n activeThumb.focus()\n mousePressed.value = true\n\n if (activeThumb.contains(e.target as Node)) {\n thumbMoved = true\n startOffset.value = getOffset(e, activeThumb, props.direction)\n } else {\n startOffset.value = 0\n handleMouseMove(parseMouseMove(e))\n }\n }\n\n const moveListenerOptions = { passive: true, capture: true }\n\n function onMouseMove (e: MouseEvent | TouchEvent) {\n thumbMoved = true\n handleMouseMove(parseMouseMove(e))\n }\n\n function onSliderMouseUp (e: MouseEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.removeEventListener('mouseup', onSliderMouseUp)\n }\n\n function onSliderTouchend (e: TouchEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.removeEventListener('touchend', onSliderTouchend)\n }\n\n function onSliderTouchstart (e: TouchEvent) {\n handleStart(e)\n\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions)\n window.addEventListener('touchend', onSliderTouchend, { passive: false })\n }\n\n function onSliderMousedown (e: MouseEvent) {\n e.preventDefault()\n\n handleStart(e)\n\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.addEventListener('mouseup', onSliderMouseUp, { passive: false })\n }\n\n const position = (val: number) => {\n const percentage = (val - min.value) / (max.value - min.value) * 100\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100)\n }\n\n const parsedTicks = computed<Tick[]>(() => {\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + (t * step.value)\n return {\n value,\n position: position(value),\n }\n }) : []\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({ value: t, position: position(t), label: t.toString() }))\n return Object.keys(props.ticks).map(key => ({\n value: parseInt(key, 10),\n position: position(parseInt(key, 10)),\n label: (props.ticks as Record<string, string>)[key],\n }))\n })\n\n const hasLabels = computed(() => parsedTicks.value.some(({ label }) => !!label))\n\n const data: SliderProvide = {\n color: toRef(props, 'color'),\n decimals,\n disabled,\n direction: toRef(props, 'direction'),\n elevation: toRef(props, 'elevation'),\n hasLabels,\n horizontalDirection,\n isReversed,\n label: toRef(props, 'label'),\n min,\n max,\n mousePressed,\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: toRef(props, 'readonly'),\n rounded: toRef(props, 'rounded'),\n roundValue,\n showTickLabels: toRef(props, 'showTickLabels'),\n showTicks: toRef(props, 'showTicks'),\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabel: toRef(props, 'thumbLabel'),\n ticks: toRef(props, 'ticks'),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical,\n }\n\n provide(VSliderSymbol, data)\n\n return data\n}\n","// Styles\nimport './VSliderThumb.sass'\n\n// Components\nimport { VScaleTransition } from '../transitions'\nimport { VSliderSymbol } from './slider'\nimport { useElevation } from '@/composables/elevation'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent, keyValues } from '@/util'\n\nexport const VSliderThumb = defineComponent({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: {\n focused: Boolean,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n position: {\n type: Number,\n required: true,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider')\n\n const {\n thumbColor,\n step,\n vertical,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n label,\n readonly,\n elevation,\n isReversed,\n horizontalDirection,\n mousePressed,\n } = slider\n\n const { textColorClasses, textColorStyles } = useTextColor(thumbColor)\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyValues\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up]\n\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3]\n else return [1, 5, 10]\n })\n\n function parseKeydown (e: KeyboardEvent, value: number) {\n if (!relevantKeys.includes(e.key)) return\n\n e.preventDefault()\n\n const _step = step.value || 0.1\n const steps = (props.max - props.min) / _step\n if ([left, right, down, up].includes(e.key)) {\n const increase = isReversed.value ? [left, up] : [right, up]\n const direction = increase.includes(e.key) ? 1 : -1\n const multiplier = e.shiftKey ? 2 : (e.ctrlKey ? 1 : 0)\n\n value = value + (direction * _step * multipliers.value[multiplier])\n } else if (e.key === home) {\n value = props.min\n } else if (e.key === end) {\n value = props.max\n } else {\n const direction = e.key === pagedown ? 1 : -1\n value = value - (direction * _step * (steps > 100 ? steps / 10 : 10))\n }\n\n return Math.max(props.min, Math.min(props.max, value))\n }\n\n function onKeydown (e: KeyboardEvent) {\n const newValue = parseKeydown(e, props.modelValue)\n\n newValue != null && emit('update:modelValue', newValue)\n }\n\n return () => {\n const positionPercentage = convertToUnit(vertical.value ? 100 - props.position : props.position, '%')\n const inset = vertical.value ? 'block' : 'inline'\n const { elevationClasses } = useElevation(computed(() => !disabled.value ? elevation.value : undefined))\n\n return (\n <div\n class={[\n 'v-slider-thumb',\n {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value,\n },\n ]}\n style={{\n [`inset-${inset}-start`]: `calc(${positionPercentage} - var(--v-slider-thumb-size) / 2)`,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n role=\"slider\"\n tabindex={ disabled.value ? -1 : 0 }\n aria-label={ label.value }\n aria-valuemin={ props.min }\n aria-valuemax={ props.max }\n aria-valuenow={ props.modelValue }\n aria-readonly={ readonly.value }\n aria-orientation={ direction.value }\n onKeydown={ onKeydown }\n >\n <div\n class={[\n 'v-slider-thumb__surface',\n textColorClasses.value,\n elevationClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-thumb__ripple',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n v-ripple={[true, null, ['circle', 'center']]}\n />\n <VScaleTransition origin=\"bottom center\">\n <div\n class=\"v-slider-thumb__label-container\"\n v-show={ (thumbLabel.value && props.focused) || thumbLabel.value === 'always' }\n >\n <div\n class={[\n 'v-slider-thumb__label',\n ]}\n >\n <div>\n { slots['thumb-label']?.({ modelValue: props.modelValue }) ?? props.modelValue.toFixed(1) }\n </div>\n </div>\n </div>\n </VScaleTransition>\n </div>\n )\n }\n },\n})\n\nexport type VSliderThumb = InstanceType<typeof VSliderThumb>\n","// Styles\nimport './VSliderTrack.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\n\nexport const VSliderTrack = defineComponent({\n name: 'VSliderTrack',\n\n props: {\n start: {\n type: Number,\n required: true,\n },\n stop: {\n type: Number,\n required: true,\n },\n },\n\n emits: {},\n\n setup (props, { slots }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider')\n\n const {\n trackColor,\n trackFillColor,\n vertical,\n tickSize,\n showTicks,\n trackSize,\n color,\n rounded,\n parsedTicks,\n horizontalDirection,\n } = slider\n\n const { roundedClasses } = useRounded(rounded)\n\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles,\n } = useBackgroundColor(trackFillColor)\n\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles,\n } = useBackgroundColor(trackColor)\n\n const startDir = computed(() => `inset-${vertical.value ? 'block-end' : 'inline-start'}`)\n const endDir = computed(() => vertical.value ? 'height' : 'width')\n\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%',\n }\n })\n\n const trackFillWidth = computed(() => props.stop - props.start)\n\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%'),\n }\n })\n\n const computedTicks = computed(() => {\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value\n\n return ticks.map((tick, index) => {\n const directionProperty = vertical.value ? 'inset-block-end' : 'margin-inline-start'\n return (\n <div\n key={ tick.value }\n class={[\n 'v-slider-track__tick',\n {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n },\n ]}\n style={{\n [directionProperty]: (tick.position > 0 && tick.position < 100) && convertToUnit(tick.position, '%'),\n }}\n >\n {\n (tick.label || slots['tick-label']) && (\n <div class=\"v-slider-track__tick-label\">\n { slots['tick-label']?.({ tick, index }) ?? tick.label }\n </div>\n )\n }\n </div>\n )\n })\n })\n\n return () => {\n return (\n <div\n class={[\n 'v-slider-track',\n roundedClasses.value,\n ]}\n style={{\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value),\n direction: !vertical.value ? horizontalDirection.value : undefined,\n }}\n >\n <div\n class={[\n 'v-slider-track__background',\n trackColorClasses.value,\n {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value,\n },\n ]}\n style={{\n ...backgroundStyles.value,\n ...trackColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-track__fill',\n trackFillColorClasses.value,\n ]}\n style={{\n ...trackFillStyles.value,\n ...trackFillColorStyles.value,\n }}\n />\n\n { showTicks.value && (\n <div\n class={[\n 'v-slider-track__ticks',\n {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always',\n },\n ]}\n >\n { computedTicks.value }\n </div>\n ) }\n </div>\n )\n }\n },\n})\n\nexport type VSliderTrack = InstanceType<typeof VSliderTrack>\n","// Components\nimport { VInput } from '../VInput'\nimport { VSliderThumb } from '../VSlider/VSliderThumb'\nimport { VSliderTrack } from '../VSlider/VSliderTrack'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { getOffset, makeSliderProps, useSlider } from '../VSlider/slider'\nimport { useFocus } from '@/composables/focus'\n\n// Utilities\nimport { computed, defineComponent, ref } from 'vue'\n\n// Types\nimport type { PropType, WritableComputedRef } from 'vue'\nimport { filterInputProps, makeVInputProps } from '../VInput/VInput'\n\nexport const VRangeSlider = defineComponent({\n name: 'VRangeSlider',\n\n props: {\n ...makeVInputProps(),\n ...makeSliderProps(),\n\n modelValue: {\n type: Array as PropType<number[]>,\n default: () => ([0, 0]),\n },\n },\n\n emits: {\n 'update:modelValue': (value: [number, number]) => true,\n },\n\n setup (props, { slots, attrs }) {\n const startThumbRef = ref<VSliderThumb>()\n const stopThumbRef = ref<VSliderThumb>()\n const focusedThumb = ref<VSliderThumb | null>()\n const inputRef = ref<VInput>()\n\n let canSwitch = false\n function getActiveThumb (e: MouseEvent | TouchEvent) {\n if (!startThumbRef.value || !stopThumbRef.value) return\n\n canSwitch = true\n\n const startOffset = getOffset(e, startThumbRef.value.$el, props.direction)\n const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction)\n\n const a = Math.abs(startOffset)\n const b = Math.abs(stopOffset)\n\n return (a < b || (a === b && startOffset < 0)) ? startThumbRef.value?.$el : stopThumbRef.value?.$el\n }\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n } = useSlider({\n /* eslint-disable @typescript-eslint/no-use-before-define */\n props,\n handleSliderMouseUp: newValue => {\n model.value = focusedThumb.value === startThumbRef.value ? [newValue, model.value[1]] : [model.value[0], newValue]\n },\n handleMouseMove: newValue => {\n if (focusedThumb.value === startThumbRef.value) {\n model.value = [Math.min(newValue, model.value[1]), model.value[1]]\n } else {\n model.value = [model.value[0], Math.max(model.value[0], newValue)]\n }\n if (canSwitch && model.value[0] === model.value[1]) {\n focusedThumb.value = newValue > model.value[0] ? stopThumbRef.value : startThumbRef.value\n }\n canSwitch = false\n },\n getActiveThumb,\n /* eslint-enable @typescript-eslint/no-use-before-define */\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n arr => {\n if (!arr || !arr.length) return [0, 0]\n\n return arr.map(value => roundValue(value))\n },\n ) as WritableComputedRef<[number, number]>\n\n const { isFocused, focus, blur } = useFocus()\n const trackStart = computed(() => position(model.value[0]))\n const trackStop = computed(() => position(model.value[1]))\n\n return () => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n 'v-range-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n ref={ inputRef }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ `${id.value}_start` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[0] }\n />\n\n <input\n id={ `${id.value}_stop` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[1] }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ trackStart.value }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ startThumbRef }\n focused={ isFocused && focusedThumb.value === startThumbRef.value }\n modelValue={ model.value[0] }\n onUpdate:modelValue={ v => (model.value = [v, model.value[1]]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n focusedThumb.value = startThumbRef.value\n\n // Make sure second thumb is focused if\n // the thumbs are on top of each other\n // and they are both at minimum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[1] === min.value &&\n e.relatedTarget !== stopThumbRef.value?.$el\n ) stopThumbRef.value?.$el.focus()\n } }\n onBlur={ () => {\n blur()\n focusedThumb.value = null\n } }\n min={ min.value }\n max={ model.value[1] }\n position={ trackStart.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n\n <VSliderThumb\n ref={ stopThumbRef }\n focused={ isFocused && focusedThumb.value === stopThumbRef.value }\n modelValue={ model.value[1] }\n onUpdate:modelValue={ v => (model.value = [model.value[0], v]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n focusedThumb.value = stopThumbRef.value\n\n // Make sure first thumb is focused if\n // the thumbs are on top of each other\n // and they are both at maximum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[0] === max.value &&\n e.relatedTarget !== startThumbRef.value?.$el\n ) {\n startThumbRef.value?.$el.focus()\n }\n } }\n onBlur={ () => {\n blur()\n focusedThumb.value = null\n } }\n min={ model.value[0] }\n max={ max.value }\n position={ trackStop.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n }\n },\n})\n\nexport type VRangeSlider = InstanceType<typeof VRangeSlider>\n","// Styles\nimport './VRating.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { createRange, defineComponent, getUid } from '@/util'\n\n// Types\nimport type { Variant } from '@/composables/variant'\nimport type { Prop } from 'vue'\n\nexport const VRating = defineComponent({\n name: 'VRating',\n\n props: {\n name: String,\n itemAriaLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.item',\n },\n activeColor: String,\n color: String,\n clearable: Boolean,\n disabled: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n modelValue: {\n type: Number,\n default: 0,\n },\n itemLabels: Array as Prop<string[]>,\n itemLabelPosition: {\n type: String,\n default: 'top',\n validator: (v: any) => ['top', 'bottom'].includes(v),\n },\n ripple: Boolean,\n\n ...makeDensityProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { themeClasses } = provideTheme(props)\n const rating = useProxiedModel(props, 'modelValue')\n\n const range = computed(() => createRange(Number(props.length), 1))\n const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]))\n const hoverIndex = ref(-1)\n const focusIndex = ref(-1)\n const firstRef = ref<HTMLElement>()\n let isClicking = false\n\n const itemState = computed(() => increments.value.map(value => {\n const isHovering = props.hover && hoverIndex.value > -1\n const isFilled = rating.value >= value\n const isHovered = hoverIndex.value >= value\n const isFullIcon = isHovering ? isHovered : isFilled\n const icon = isFullIcon ? props.fullIcon : props.emptyIcon\n const activeColor = props.activeColor ?? props.color\n const color = (isFilled || isHovered) ? activeColor : props.color\n\n return { isFilled, isHovered, icon, color }\n }))\n\n const eventState = computed(() => [0, ...increments.value].map(value => {\n function onMouseenter () {\n hoverIndex.value = value\n }\n\n function onMouseleave () {\n hoverIndex.value = -1\n }\n\n function onFocus () {\n if (value === 0 && rating.value === 0) {\n firstRef.value?.focus()\n } else {\n focusIndex.value = value\n }\n }\n\n function onBlur () {\n if (!isClicking) focusIndex.value = -1\n }\n\n function onClick () {\n if (props.disabled || props.readonly) return\n rating.value = rating.value === value && props.clearable ? 0 : value\n }\n\n return {\n onMouseenter: props.hover ? onMouseenter : undefined,\n onMouseleave: props.hover ? onMouseleave : undefined,\n onFocus,\n onBlur,\n onClick,\n }\n }))\n\n function onMousedown () {\n isClicking = true\n }\n\n function onMouseup () {\n isClicking = false\n }\n\n const name = computed(() => props.name ?? `v-rating-${getUid()}`)\n\n function VRatingItem ({ value, index, showStar = true }: { value: number, index: number, showStar?: boolean }) {\n const { onMouseenter, onMouseleave, onFocus, onBlur, onClick } = eventState.value[index + 1]\n const id = `${name.value}-${String(value).replace('.', '-')}`\n const btnProps = {\n color: itemState.value[index]?.color,\n density: props.density,\n disabled: props.disabled,\n icon: itemState.value[index]?.icon,\n ripple: props.ripple,\n size: props.size,\n tag: 'span',\n variant: 'plain' as Variant,\n }\n\n return (\n <>\n <label\n for={ id }\n class={{\n 'v-rating__item--half': props.halfIncrements && value % 1 > 0,\n 'v-rating__item--full': props.halfIncrements && value % 1 === 0,\n }}\n onMousedown={ onMousedown }\n onMouseup={ onMouseup }\n onMouseenter={ onMouseenter }\n onMouseleave={ onMouseleave }\n >\n <span class=\"v-rating__hidden\">{ t(props.itemAriaLabel, value, props.length) }</span>\n {\n !showStar ? undefined\n : slots.item ? slots.item({\n ...itemState.value,\n props: btnProps,\n value,\n index,\n })\n : (\n <VBtn { ...btnProps } />\n )\n }\n </label>\n <input\n class=\"v-rating__hidden\"\n name={ name.value }\n id={ id }\n type=\"radio\"\n value={ value }\n checked={ rating.value === value }\n onClick={ onClick }\n onFocus={ onFocus }\n onBlur={ onBlur }\n ref={ index === 0 ? firstRef : undefined }\n readonly={ props.readonly }\n disabled={ props.disabled }\n />\n </>\n )\n }\n\n return () => {\n const hasLabels = !!props.itemLabels?.length\n\n return (\n <props.tag\n class={[\n 'v-rating',\n {\n 'v-rating--hover': props.hover,\n 'v-rating--readonly': props.readonly,\n },\n themeClasses.value,\n ]}\n >\n <VRatingItem value={ 0 } index={ -1 } showStar={ false } />\n\n { range.value.map((value, i) => (\n <div class=\"v-rating__wrapper\">\n {\n !hasLabels ? undefined\n : slots['item-label'] ? slots['item-label']({ value, index: i, label: props.itemLabels?.[i] })\n : props.itemLabels?.[i] ? <span>{ props.itemLabels[i] }</span>\n : <span> </span>\n }\n <div\n class={[\n 'v-rating__item',\n {\n 'v-rating__item--focused': Math.ceil(focusIndex.value) === value,\n },\n ]}\n >\n { props.halfIncrements ? (\n <>\n <VRatingItem value={ value - 0.5 } index={ i * 2 } />\n <VRatingItem value={ value } index={ (i * 2) + 1 } />\n </>\n ) : (\n <VRatingItem value={ value } index={ i } />\n ) }\n </div>\n </div>\n )) }\n </props.tag>\n )\n }\n },\n})\n\nexport type VRating = InstanceType<typeof VRating>\n","// Styles\nimport './VSheet.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { defineComponent } from '@/util'\n\nexport const VSheet = defineComponent({\n name: 'VSheet',\n\n props: {\n color: {\n type: String,\n default: 'surface',\n },\n\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n 'v-sheet',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VInput } from '../VInput'\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useFocus } from '@/composables/focus'\nimport { makeSliderProps, useSlider } from './slider'\n\n// Helpers\nimport { defineComponent } from '@/util'\n\n// Types\nimport { computed, ref } from 'vue'\nimport { filterInputProps, makeVInputProps } from '../VInput/VInput'\n\nexport const VSlider = defineComponent({\n name: 'VSlider',\n\n props: {\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { attrs, slots }) {\n const thumbContainerRef = ref()\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n } = useSlider({\n props,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleSliderMouseUp: newValue => model.value = roundValue(newValue),\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleMouseMove: newValue => model.value = roundValue(newValue),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => {\n const value = typeof v === 'string' ? parseFloat(v) : v == null ? min.value : v\n\n return roundValue(value)\n },\n )\n\n const { isFocused, focus, blur } = useFocus()\n const trackStop = computed(() => position(model.value))\n\n return () => {\n const [inputProps, _] = filterInputProps(props)\n\n return (\n <VInput\n class={[\n 'v-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({ id }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n }\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n","// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, defineComponent, ref } from 'vue'\nimport { filterInputAttrs, useRender } from '@/util'\n\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n\n ...makeLoaderProps(),\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n },\n\n emits: {\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const { loaderClasses } = useLoader(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const control = ref<VSelectionControl>()\n\n function onClick () {\n control.value?.input?.click()\n }\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n ]}\n { ...inputAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n { ...controlAttrs }\n >\n {{\n default: () => (<div class=\"v-switch__track\" onClick={ onClick }></div>),\n input: ({ textColorClasses }) => (\n <div\n class={[\n 'v-switch__thumb',\n textColorClasses.value,\n ]}\n >\n { props.loading && (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n ) }\n </div>\n ),\n }}\n </VSelectionControl>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n","// Styles\nimport './VSystemBar.sass'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VSystemBar = defineComponent({\n name: 'VSystemBar',\n\n props: {\n lightsOut: Boolean,\n window: Boolean,\n\n ...makeBorderProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { positionClasses, positionStyles } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n return () => (\n <props.tag\n class={[\n {\n 'v-system-bar': true,\n 'v-system-bar--lights-out': props.lightsOut,\n 'v-system-bar--window': props.window,\n },\n themeClasses.value,\n borderClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n ]}\n style={[\n dimensionStyles.value,\n positionStyles.value,\n ]}\n v-slots={ slots }\n />\n )\n },\n})\n","// Styles\nimport './VTable.sass'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { convertToUnit, defineComponent } from '@/util'\nimport { makeDensityProps, useDensity } from '@/composables/density'\n\nexport const VTable = defineComponent({\n name: 'VTable',\n\n props: {\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n height: [Number, String],\n\n ...makeDensityProps(),\n ...makeThemeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n return () => (\n <props.tag\n class={[\n 'v-table',\n {\n 'v-table--fixed-height': !!props.height,\n 'v-table--fixed-header': props.fixedHeader,\n 'v-table--fixed-footer': props.fixedFooter,\n 'v-table--has-top': !!slots.top,\n 'v-table--has-bottom': !!slots.bottom,\n },\n themeClasses.value,\n densityClasses.value,\n ]}\n >\n { slots.top?.() }\n\n { slots.default && (\n <div\n class=\"v-table__wrapper\"\n style={{ height: convertToUnit(props.height) }}\n >\n <table>\n { slots.default?.() }\n </table>\n </div>\n ) }\n\n { slots.bottom?.() }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VTextarea.sass'\n\n// Components\nimport { filterFieldProps, makeVFieldProps } from '@/components/VField/VField'\nimport { VCounter } from '@/components/VCounter'\nimport { VField } from '@/components/VField'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent, filterInputAttrs, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\n\nexport const VTextarea = defineComponent({\n name: 'VTextarea',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autoGrow: Boolean,\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n noResize: Boolean,\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n maxRows: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n suffix: String,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const controlHeight = ref('auto')\n const internalDirty = ref(false)\n const isDirty = computed(() => {\n return internalDirty.value || !!model.value\n })\n\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n function focus () {\n inputRef.value?.focus()\n }\n function blur () {\n inputRef.value?.blur()\n }\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n }\n function onBlur (e: FocusEvent) {\n isFocused.value = false\n }\n function clear (e?: Event) {\n e?.stopPropagation()\n\n model.value = ''\n }\n\n const sizerRef = ref<HTMLTextAreaElement>()\n function calculateInputHeight () {\n if (!props.autoGrow) return\n\n nextTick(() => {\n if (!sizerRef.value) return\n\n const style = getComputedStyle(sizerRef.value)\n\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) +\n parseFloat(style.getPropertyValue('--v-field-padding-bottom'))\n\n const height = sizerRef.value.scrollHeight\n const lineHeight = parseFloat(style.lineHeight)\n const minHeight = parseFloat(props.rows) * lineHeight + padding\n const maxHeight = parseFloat(props.maxRows!) * lineHeight + padding || Infinity\n\n controlHeight.value = convertToUnit(Math.min(maxHeight, Math.max(minHeight, height ?? 0)))\n })\n }\n\n onMounted(calculateInputHeight)\n watch(model, calculateInputHeight)\n watch(() => props.rows, calculateInputHeight)\n watch(() => props.maxRows, calculateInputHeight)\n\n let observer: ResizeObserver | undefined\n watch(sizerRef, val => {\n if (val) {\n observer = new ResizeObserver(calculateInputHeight)\n observer.observe(sizerRef.value!)\n } else {\n observer?.disconnect()\n }\n })\n onBeforeUnmount(() => {\n observer?.disconnect()\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [inputProps] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n v-model={ model.value }\n class={[\n 'v-textarea',\n {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n },\n ]}\n { ...rootAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({ isDisabled, isReadonly }) => (\n <VField\n style={{\n '--v-input-control-height': controlHeight.value,\n }}\n active={ isDirty.value }\n onUpdate:active={ val => internalDirty.value = val }\n onClick:control={ focus }\n onClick:clear={ clear }\n role=\"textbox\"\n { ...fieldProps }\n >\n {{\n ...slots,\n default: ({\n isActive,\n props: { class: fieldClass, ...slotProps },\n }) => {\n const showPlaceholder = isActive || props.persistentPlaceholder\n return (\n <>\n { props.prefix && (\n <span class=\"v-textarea__prefix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.prefix }\n </span>\n ) }\n\n <textarea\n ref={ inputRef }\n class={ fieldClass }\n style={{ opacity: showPlaceholder ? undefined : '0' }} // can't this just be a class?\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n rows={ props.rows }\n onFocus={ onFocus }\n onBlur={ onBlur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.autoGrow && (\n <textarea\n class={[\n fieldClass,\n 'v-textarea__sizer',\n ]}\n v-model={ model.value }\n ref={ sizerRef }\n readonly\n aria-hidden=\"true\"\n />\n )}\n\n { props.suffix && (\n <span class=\"v-textarea__suffix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.suffix }\n </span>\n ) }\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasCounter ? ({ isFocused }) => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return {\n focus,\n blur,\n }\n },\n})\n\nexport type VTextarea = InstanceType<typeof VTextarea>\n","import type { Ref, UnwrapRef } from 'vue'\nimport type { UnionToIntersection } from '@/util'\n\nexport function useForwardRef<T extends {}, U extends Ref<{} | undefined>[]> (\n target: T,\n ...refs: U\n): T & UnwrapRef<UnionToIntersection<U[number]>> {\n return new Proxy(target, {\n get (target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key)\n }\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n return Reflect.get(ref.value, key)\n }\n }\n },\n getOwnPropertyDescriptor (target, key) {\n return Reflect.getOwnPropertyDescriptor(target, key) ?? (\n refs.find(ref => ref.value && Reflect.getOwnPropertyDescriptor(ref.value, key))\n )\n },\n }) as any\n}\n","// Styles\nimport './VTextField.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterFieldProps, makeVFieldProps, VField } from '@/components/VField/VField'\nimport { VCounter } from '@/components/VCounter'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport Intersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { useForwardRef } from '@/composables/forwardRef'\n\nconst dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const VTextField = defineComponent({\n name: 'VTextField',\n\n directives: { Intersect },\n\n inheritAttrs: false,\n\n props: {\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n type: {\n type: String,\n default: 'text',\n },\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const internalDirty = ref(false)\n const isDirty = computed(() => {\n return internalDirty.value || !!model.value || dirtyTypes.includes(props.type)\n })\n\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n function onIntersect (\n isIntersecting: boolean,\n entries: IntersectionObserverEntry[]\n ) {\n if (!props.autofocus || !isIntersecting) return\n\n (entries[0].target as HTMLInputElement)?.focus?.()\n }\n\n const isFocused = ref(false)\n const inputRef = ref<HTMLInputElement>()\n function focus () {\n inputRef.value?.focus()\n }\n function blur () {\n inputRef.value?.blur()\n }\n function onFocus (e: FocusEvent) {\n isFocused.value = true\n }\n function onBlur (e: FocusEvent) {\n isFocused.value = false\n }\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const [inputProps] = filterInputProps(props)\n const [fieldProps] = filterFieldProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n },\n ]}\n focused={ isFocused.value }\n { ...rootAttrs }\n { ...inputProps }\n >\n {{\n ...slots,\n default: ({ isDisabled, isReadonly }) => (\n <VField\n ref={ vFieldRef }\n active={ isDirty.value }\n onUpdate:active={ val => internalDirty.value = val }\n onClick:control={ focus }\n onClick:clear={ e => {\n e.stopPropagation()\n\n model.value = ''\n }}\n role=\"textbox\"\n { ...fieldProps }\n >\n {{\n ...slots,\n default: ({\n isActive,\n props: { class: fieldClass, ...slotProps },\n }) => {\n const showPlaceholder = isActive || props.persistentPlaceholder\n\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.prefix }\n </span>\n ) }\n\n <input\n ref={ inputRef }\n class={ fieldClass }\n style={{ opacity: showPlaceholder ? undefined : '0' }} // can't this just be a class?\n v-model={ model.value }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ onBlur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\" style={{ opacity: showPlaceholder ? undefined : '0' }}>\n { props.suffix }\n </span>\n ) }\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasCounter ? ({ isFocused }) => (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n v-slots={ slots.counter }\n />\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return useForwardRef({\n focus,\n blur,\n }, vInputRef, vFieldRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n","// Styles\nimport './VThemeProvider.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VThemeProvider = defineComponent({\n name: 'VThemeProvider',\n\n props: {\n withBackground: Boolean,\n\n ...makeThemeProps(),\n ...makeTagProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n\n return () => {\n if (!props.withBackground) return slots.default?.()\n\n return (\n <props.tag class={['v-theme-provider', themeClasses.value]}>\n { slots.default?.() }\n </props.tag>\n )\n }\n },\n})\n","import type { InjectionKey, Ref } from 'vue'\nimport type { Density } from '@/composables/density'\n\nexport interface TimelineInstance {\n density: Ref<Density>\n lineColor: Ref<string>\n}\n\nexport const VTimelineSymbol: InjectionKey<TimelineInstance> = Symbol.for('vuetify:timeline')\n","// Components\nimport { VIcon } from '@/components/VIcon'\nimport { VTimelineSymbol } from './shared'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\n\n// Utilities\nimport { defineComponent, inject, toRef } from 'vue'\n\nexport const VTimelineDivider = defineComponent({\n name: 'VTimelineDivider',\n\n props: {\n hideDot: Boolean,\n lineColor: String,\n icon: String,\n iconColor: String,\n fillDot: Boolean,\n dotColor: String,\n\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeElevationProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { sizeClasses, sizeStyles } = useSize(props, 'v-timeline-divider__dot')\n const { backgroundColorStyles, backgroundColorClasses } = useBackgroundColor(toRef(props, 'dotColor'))\n const { backgroundColorStyles: lineColorStyles, backgroundColorClasses: lineColorClasses } = useBackgroundColor(timeline.lineColor)\n const { roundedClasses } = useRounded(props, 'v-timeline-divider__dot')\n const { elevationClasses } = useElevation(props)\n\n return () => (\n <div\n class={[\n 'v-timeline-divider',\n {\n 'v-timeline-divider--fill-dot': props.fillDot,\n },\n ]}\n >\n { !props.hideDot && (\n <div\n class={[\n 'v-timeline-divider__dot',\n roundedClasses.value,\n sizeClasses.value,\n elevationClasses.value,\n ]}\n // @ts-expect-error: null\n style={ sizeStyles.value }\n >\n <div\n class={[\n 'v-timeline-divider__inner-dot',\n roundedClasses.value,\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n {\n slots.default ? slots.default({ icon: props.icon, iconColor: props.iconColor, size: props.size })\n : props.icon ? <VIcon icon={ props.icon } color={ props.iconColor } size={ props.size } />\n : undefined\n }\n </div>\n </div>\n ) }\n <div\n class={[\n 'v-timeline-divider__line',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n </div>\n )\n },\n})\n\nexport type VTimelineDivider = InstanceType<typeof VTimelineDivider>\n","// Components\nimport { VTimelineSymbol } from './shared'\nimport { VTimelineDivider } from './VTimelineDivider'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\n\n// Utilities\nimport { inject, ref, watch } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\n\nexport const VTimelineItem = defineComponent({\n name: 'VTimelineItem',\n\n props: {\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n hideOpposite: {\n type: Boolean,\n default: undefined,\n },\n icon: String,\n iconColor: String,\n\n ...makeRoundedProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeDimensionProps(),\n },\n\n setup (props, { slots }) {\n const timeline = inject(VTimelineSymbol)\n\n if (!timeline) throw new Error('[Vuetify] Could not find v-timeline provider')\n\n const { dimensionStyles } = useDimension(props)\n\n const dotSize = ref(0)\n const dotRef = ref<VTimelineDivider>()\n watch(dotRef, newValue => {\n if (!newValue) return\n dotSize.value = newValue.$el.querySelector('.v-timeline-divider__dot')?.getBoundingClientRect().width ?? 0\n }, {\n flush: 'post',\n })\n\n return () => (\n <div\n class={[\n 'v-timeline-item',\n {\n 'v-timeline-item--fill-dot': props.fillDot,\n },\n ]}\n style={{\n '--v-timeline-dot-size': convertToUnit(dotSize.value),\n }}\n >\n <div\n class=\"v-timeline-item__body\"\n style={ dimensionStyles.value }\n >\n { slots.default?.() }\n </div>\n\n <VTimelineDivider\n ref={ dotRef }\n hideDot={ props.hideDot }\n icon={ props.icon }\n iconColor={ props.iconColor }\n size={ props.size }\n elevation={ props.elevation }\n dotColor={ props.dotColor }\n fillDot={ props.fillDot }\n rounded={ props.rounded }\n v-slots={{ default: slots.icon }}\n />\n\n { timeline.density.value !== 'compact' && (\n <div class=\"v-timeline-item__opposite\">\n { !props.hideOpposite && slots.opposite?.() }\n </div>\n ) }\n </div>\n )\n },\n})\n","// Styles\nimport './VTimeline.sass'\n\n// Components\nimport { VTimelineItem } from './VTimelineItem'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Helpers\nimport { computed, provide, toRef } from 'vue'\nimport { convertToUnit, defineComponent } from '@/util'\nimport { VTimelineSymbol } from './shared'\n\n// Types\nimport type { Prop } from 'vue'\n\nexport type TimelineDirection = 'vertical' | 'horizontal'\nexport type TimelineSide = 'before' | 'after' | undefined\n\nexport const VTimeline = defineComponent({\n name: 'VTimeline',\n\n props: {\n direction: {\n type: String,\n default: 'vertical',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n } as Prop<TimelineDirection>,\n side: {\n type: String,\n validator: (v: any) => v == null || ['start', 'end'].includes(v),\n } as Prop<TimelineSide>,\n lineInset: {\n type: [String, Number],\n default: 0,\n },\n lineThickness: {\n type: [String, Number],\n default: 2,\n },\n lineColor: String,\n truncateLine: {\n type: String,\n default: 'start',\n validator: (v: any) => ['none', 'start', 'end', 'both'].includes(v),\n },\n\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n\n provide(VTimelineSymbol, {\n density: toRef(props, 'density'),\n lineColor: toRef(props, 'lineColor'),\n })\n\n const sideClass = computed(() => {\n const side = props.side ? props.side : props.density !== 'default' ? 'end' : null\n\n return side && `v-timeline--side-${side}`\n })\n\n return () => (\n <props.tag\n class={[\n 'v-timeline',\n `v-timeline--${props.direction}`,\n {\n 'v-timeline--inset-line': !!props.lineInset,\n 'v-timeline--truncate-line-end': props.truncateLine === 'end' || props.truncateLine === 'both',\n },\n themeClasses.value,\n densityClasses.value,\n sideClass.value,\n ]}\n style={{\n '--v-timeline-line-thickness': convertToUnit(props.lineThickness),\n '--v-timeline-line-inset': convertToUnit(props.lineInset || undefined),\n }}\n >\n { (props.truncateLine === 'none' || props.truncateLine === 'end') && (\n <VTimelineItem hideDot />\n ) }\n\n { slots.default?.() }\n </props.tag>\n )\n },\n})\n","// Styles\nimport './VTooltip.sass'\n\n// Components\nimport { VOverlay } from '@/components/VOverlay'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, getUid } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\nimport type { StrategyProps } from '@/components/VOverlay/positionStrategies'\n\nexport const VTooltip = genericComponent<new () => {\n $slots: OverlaySlots\n}>()({\n name: 'VTooltip',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n modelValue: Boolean,\n text: String,\n\n anchor: {\n type: String as PropType<StrategyProps['anchor']>,\n default: 'end',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n\n ...makeTransitionProps({\n transition: false,\n } as const),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n\n const uid = getUid()\n const id = computed(() => props.id || `v-tooltip-${uid}`)\n\n const anchor = computed(() => {\n return props.anchor.split(' ').length > 1\n ? props.anchor\n : props.anchor + ' center' as StrategyProps['anchor']\n })\n\n const origin = computed(() => {\n return (\n props.origin === 'auto' ||\n props.origin === 'overlap' ||\n props.origin.split(' ').length > 1 ||\n props.anchor.split(' ').length > 1\n ) ? props.origin\n : props.origin + ' center' as StrategyProps['origin']\n })\n\n const transition = computed(() => {\n if (props.transition) return props.transition\n return isActive.value ? 'scale-transition' : 'fade-transition'\n })\n\n return () => {\n return (\n <VOverlay\n v-model={ isActive.value }\n class={[\n 'v-tooltip',\n ]}\n id={ id.value }\n transition={ transition.value }\n absolute\n positionStrategy=\"connected\"\n scrollStrategy=\"reposition\"\n anchor={ anchor.value }\n origin={ origin.value }\n min-width={ 0 }\n offset={ 10 }\n scrim={ false }\n persistent\n open-on-click={ false }\n open-on-hover\n role=\"tooltip\"\n eager\n activatorProps={{\n 'aria-describedby': id.value,\n }}\n { ...attrs }\n >\n {{\n activator: slots.activator,\n default: (...args) => slots.default?.(...args) ?? props.text,\n }}\n </VOverlay>\n )\n }\n },\n})\n\nexport type VTooltip = InstanceType<typeof VTooltip>\n","// Composables\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { defineComponent } from '@/util'\n\nexport const VValidation = defineComponent({\n name: 'VValidation',\n\n props: {\n ...makeValidationProps(),\n },\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const validation = useValidation(props, 'validation')\n\n return () => slots.default?.(validation)\n },\n})\n","// Types\nimport type { DirectiveBinding, ObjectDirective } from 'vue'\nimport type { MutationOptions } from '@/composables/mutationObserver'\n\nexport interface MutationDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value: MutationCallback | { handler: MutationCallback, options?: MutationObserverInit }\n modifiers: MutationOptions\n}\n\nfunction mounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { once, immediate, ...modifierKeys } = modifiers\n const defaultValue = !Object.keys(modifierKeys).length\n\n const { handler, options } = typeof value === 'object'\n ? value\n : {\n handler: value,\n options: {\n attributes: modifierKeys?.attr ?? defaultValue,\n characterData: modifierKeys?.char ?? defaultValue,\n childList: modifierKeys?.child ?? defaultValue,\n subtree: modifierKeys?.sub ?? defaultValue,\n },\n }\n\n const observer = new MutationObserver((\n mutations: MutationRecord[] = [],\n observer: MutationObserver\n ) => {\n handler?.(mutations, observer)\n\n if (once) unmounted(el, binding)\n })\n\n if (immediate) handler?.([], observer)\n\n el._mutate = Object(el._mutate)\n el._mutate![binding.instance!.$.uid] = { observer }\n\n observer.observe(el, options)\n}\n\nfunction unmounted (el: HTMLElement, binding: MutationDirectiveBinding) {\n if (!el._mutate?.[binding.instance!.$.uid]) return\n\n el._mutate[binding.instance!.$.uid]!.observer.disconnect()\n delete el._mutate[binding.instance!.$.uid]\n}\n\nexport const Mutate: ObjectDirective<HTMLElement> = {\n mounted,\n unmounted,\n}\n\nexport default Mutate\n","import type { DirectiveBinding } from 'vue'\n\ninterface ResizeDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: () => void\n modifiers?: {\n active?: boolean\n quiet?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n const handler = binding.value\n const options: AddEventListenerOptions = {\n passive: !binding.modifiers?.active,\n }\n\n window.addEventListener('resize', handler, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![binding.instance!.$.uid] = {\n handler,\n options,\n }\n\n if (!binding.modifiers?.quiet) {\n handler()\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ResizeDirectiveBinding) {\n if (!el._onResize?.[binding.instance!.$.uid]) return\n\n const { handler, options } = el._onResize[binding.instance!.$.uid]!\n\n window.removeEventListener('resize', handler, options)\n\n delete el._onResize[binding.instance!.$.uid]\n}\n\nexport const Resize = {\n mounted,\n unmounted,\n}\n\nexport default Resize\n","import type { DirectiveBinding } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: AddEventListenerOptions\n } | EventListenerObject & { options?: AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n const { self = false } = binding.modifiers ?? {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![binding.instance!.$.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (!el._onScroll?.[binding.instance!.$.uid]) return\n\n const { handler, options, target = el } = el._onScroll[binding.instance!.$.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[binding.instance!.$.uid]\n}\n\nfunction updated (el: HTMLElement, binding: ScrollDirectiveBinding) {\n if (binding.value === binding.oldValue) return\n\n unmounted(el, binding)\n mounted(el, binding)\n}\n\nexport const Scroll = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Scroll\n","// Types\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\n// Utilities\nimport { keys } from '@/util'\n\nexport interface TouchHandlers {\n start?: (wrapperEvent: TouchEvent & TouchWrapper) => void\n end?: (wrapperEvent: TouchEvent & TouchWrapper) => void\n move?: (wrapperEvent: TouchEvent & TouchWrapper) => void\n left?: (wrapper: TouchWrapper) => void\n right?: (wrapper: TouchWrapper) => void\n up?: (wrapper: TouchWrapper) => void\n down?: (wrapper: TouchWrapper) => void\n}\n\nexport interface TouchWrapper extends TouchHandlers {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n touchendX: number\n touchendY: number\n offsetX: number\n offsetY: number\n}\n\nexport interface TouchValue extends TouchHandlers {\n parent?: boolean\n options?: AddEventListenerOptions\n}\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchDirectiveBinding extends Omit<DirectiveBinding, 'value'> {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start?.({ ...event, ...wrapper })\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end?.({ ...event, ...wrapper })\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move?.({ ...event, ...wrapper })\n}\n\nfunction createHandlers (value: TouchHandlers = {}): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const value = binding.value\n const target = value?.parent ? el.parentElement : el\n const options = value?.options ?? { passive: true }\n const uid = binding.instance?.$.uid // TODO: use custom uid generator\n\n if (!target || !uid) return\n\n const handlers = createHandlers(binding.value)\n\n target._touchHandlers = target._touchHandlers ?? Object.create(null)\n target._touchHandlers![uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName], options)\n })\n}\n\nfunction unmounted (el: HTMLElement, binding: TouchDirectiveBinding) {\n const target = binding.value?.parent ? el.parentElement : el\n const uid = binding.instance?.$.uid\n\n if (!target?._touchHandlers || !uid) return\n\n const handlers = target._touchHandlers[uid]\n\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n\n delete target._touchHandlers[uid]\n}\n\nexport const Touch: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Touch\n","// Utilities\nimport { h } from 'vue'\n\n// Components\nimport { VClassIcon } from '@/composables/icons'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'mdi-chevron-up',\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle', // delete (e.g. v-chip close)\n clear: 'mdi-close-circle',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-alert-circle',\n error: 'mdi-close-circle',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle', // for carousel\n sort: 'mdi-arrow-up',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half-full',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus',\n}\n\nconst mdi: IconSet = {\n // Not using mergeProps here, functional components merge props by default (?)\n component: (props: any) => h(VClassIcon, { ...props, class: 'mdi' }),\n}\n\nexport { aliases, mdi }\n","import { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\nimport { defaultSets, IconSymbol } from '@/composables/icons'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createLocaleAdapter, LocaleAdapterSymbol } from '@/composables/locale'\nimport { createRtl, RtlSymbol } from '@/composables/rtl'\nimport { aliases, mdi } from '@/iconsets/mdi'\n\n// Utilities\nimport { reactive } from 'vue'\nimport { mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DisplayOptions } from '@/composables/display'\nimport type { ThemeOptions } from '@/composables/theme'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleAdapter, LocaleOptions } from '@/composables/locale'\nimport type { RtlOptions } from '@/composables/rtl'\nimport type { DefaultsOptions } from '@/composables/defaults'\n\nexport * from './composables'\n\nexport interface VuetifyOptions {\n components?: Record<string, any>\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: (LocaleOptions & RtlOptions) | (LocaleAdapter & RtlOptions)\n}\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n const install = (app: App) => {\n const {\n components = {},\n directives = {},\n icons = {},\n } = options\n\n for (const key in directives) {\n const directive = directives[key]\n\n app.directive(key, directive)\n }\n\n for (const key in components) {\n const component = components[key]\n\n app.component(key, component)\n }\n\n app.provide(DefaultsSymbol, createDefaults(options.defaults))\n app.provide(DisplaySymbol, createDisplay(options.display))\n app.provide(ThemeSymbol, createTheme(app, options.theme))\n app.provide(IconSymbol, mergeDeep({\n defaultSet: 'mdi',\n sets: {\n ...defaultSets,\n mdi,\n },\n aliases,\n }, icons))\n const { adapter, rootInstance } = createLocaleAdapter(app, options?.locale)\n app.provide(LocaleAdapterSymbol, adapter)\n app.provide(RtlSymbol, createRtl(rootInstance, options?.locale))\n\n // Vue's inject() can only be used in setup\n function inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n }\n\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleAdapterSymbol),\n rtl: inject.call(this, RtlSymbol),\n })\n },\n },\n })\n }\n\n return { install }\n}\n","import './styles/main.sass'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\n\nexport {\n components,\n directives,\n}\nexport * from './composables'\n"],"names":["Box","constructor","x","y","width","height","top","bottom","left","right","nullifyTransforms","el","rect","getBoundingClientRect","style","getComputedStyle","tx","transform","ta","sx","sy","dx","dy","startsWith","slice","split","to","transformOrigin","parseFloat","indexOf","w","offsetWidth","h","offsetHeight","createMessage","message","vm","parent","_isVue","$parent","$options","$_alreadyWarned","includes","push","generateComponentTrace","consoleWarn","newMessage","console","warn","consoleError","error","classifyRE","classify","str","replace","c","toUpperCase","formatComponentName","includeFile","$root","options","cid","name","_componentTag","file","__file","match","tree","currentRecursiveSequence","length","last","map","i","repeat","Array","isArray","join","getNestedValue","obj","path","fallback","undefined","deepEqual","a","b","Date","getTime","Object","props","keys","every","p","getObjectValueByPath","createRange","start","from","v","k","convertToUnit","unit","isNaN","String","isFinite","Number","isObject","isComponentInstance","$el","keyCodes","freeze","enter","tab","delete","esc","space","up","down","end","home","del","backspace","insert","pageup","pagedown","shift","keyValues","o","pick","paths","found","create","rest","key","some","RegExp","test","filterInputAttrs","attrs","wrapInArray","clamp","value","min","max","Math","humanReadableFileSize","bytes","base","prefix","abs","toFixed","mergeDeep","source","target","out","sourceProperty","targetProperty","getUid","_uid","flattenFragments","nodes","node","type","Fragment","children","flat","toKebabCase","toLowerCase","wrapInRef","isRef","ref","findChildren","vnode","child","filter","component","subTree","CircularBuffer","size","val","values","concat","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","fromXYZ","xyz","rgb","matrix","round","toXYZ","r","g","delta","cielabForwardTransform","t","cbrt","cielabReverseTransform","transformedY","lab","Ln","isCssColor","color","colorToInt","substring","char","parseInt","TypeError","intToHex","hexColor","toString","colorToRGB","int","lighten","amount","CIELAB","sRGB","darken","getLuma","DefaultsSymbol","Symbol","for","createDefaults","useDefaults","defaults","inject","Error","provideDefaults","injectedDefaults","providedDefaults","newDefaults","computed","scoped","unref","reset","root","properties","prev","len","Infinity","provide","propIsDefined","prop","hasOwnProperty","defineComponent","_setup","setup","ctx","getCurrentInstance","_props","shallowReactive","toRaw","watchEffect","globalDefaults","global","componentDefaults","newVal","genericComponent","exposeDefaults","_defineComponent","createSimpleFunctional","klass","tag","capitalize","camelize","default","slots","class","attachedRoot","getRootNode","parentNode","document","composed","standardEasing","deceleratedEasing","acceleratedEasing","_getCurrentInstance","getCurrentInstanceName","getScrollParent","hasScrollbar","parentElement","scrollingElement","getScrollParents","elements","nodeType","Node","ELEMENT_NODE","window","overflowY","scrollHeight","clientHeight","IS_NODE","process","IN_BROWSER","env","DEBUG","NODE_ENV","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","navigator","maxTouchPoints","SUPPORTS_FOCUS_VISIBLE","CSS","supports","isFixedPosition","position","offsetParent","propsFactory","reduce","isObjectDefinition","definition","useRender","render","mainTRC","Rco","Gco","Bco","normBG","normTXT","revTXT","revBG","blkThrs","blkClmp","deltaYmin","scaleBoW","scaleWoB","loConThresh","loConFactor","loConOffset","loClip","APCAcontrast","text","background","Rtxt","Gtxt","Btxt","Rbg","Gbg","Bbg","Ytxt","Ybg","outputContrast","SAPC","ThemeSymbol","makeThemeProps","theme","defaultThemeOptions","defaultTheme","variations","colors","themes","light","dark","surface","primary","secondary","info","success","warning","variables","parseThemeOptions","isDisabled","entries","createTheme","app","head","_context","provides","usehead","parsedOptions","styleEl","current","computedThemes","original","genColorVariations","onColor","colorVal","blackContrast","whiteContrast","variation","fn","styles","lines","themeName","createCssClass","genCssVariables","Set","flatMap","lightOverlay","darkOverlay","selector","content","line","addHeadObjs","id","updateDOM","watch","updateStyles","deep","immediate","genStyleElement","innerHTML","createElement","appendChild","setTheme","getTheme","themeClasses","provideTheme","newTheme","useTheme","VuetifyLayoutKey","makeLayoutProps","overlaps","fullHeight","Boolean","makeLayoutItemProps","priority","absolute","useLayout","layout","useLayoutItem","layoutSize","elementSize","active","disableTransitions","register","onBeforeUnmount","unregister","generateLayers","registered","positions","layoutSizes","activeItems","previousLayer","layers","layer","ids","l","get","createLayout","Map","priorities","transitions","computedOverlaps","overlap","item","topPosition","bottomPosition","topAmount","bottomAmount","set","sortedEntries","sort","transitionsEnabled","mainStyles","paddingLeft","paddingRight","paddingTop","paddingBottom","transition","items","index","getLayoutItem","find","findIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","marginLeft","marginRight","marginTop","marginBottom","zIndex","layoutClasses","badge","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","datePicker","itemsSelected","nextMonthAriaLabel","nextYearAriaLabel","prevMonthAriaLabel","prevYearAriaLabel","noDataText","carousel","next","delimiter","calendar","moreEvents","fileInput","counter","counterSize","timePicker","am","pm","pagination","previous","page","currentPage","first","rating","rtl","af","ar","bg","ca","ckb","cs","de","en","es","et","fa","fi","fr","hr","hu","he","it","ja","ko","lv","lt","nl","no","pl","pt","ro","ru","sk","sl","srCyrl","srLatn","sv","th","tr","az","uk","vi","zhHans","zhHant","RtlSymbol","createRtl","localeScope","createRtlScope","isRtl","defaultRtl","rtlClasses","currentScope","provideRtl","newScope","useRtl","VApp","makeDimensionProps","maxHeight","maxWidth","minHeight","minWidth","useDimension","dimensionStyles","useAspectStyles","aspectStyles","ratio","aspectRatio","VResponsive","contentClass","additional","mounted","binding","modifiers","handler","observer","IntersectionObserver","_observe","instance","$","uid","isIntersecting","entry","quiet","init","once","unmounted","observe","unobserve","Intersect","makeTransitionProps","validator","MaybeTransition","Transition","customProps","mergeProps","VImg","directives","intersect","alt","cover","eager","gradient","lazySrc","rootMargin","threshold","sizes","src","srcset","emits","emit","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","onBeforeMount","nextTick","complete","onError","pollForSize","onLoad","getSrc","lazyImg","Image","img","timeout","poll","imgHeight","imgWidth","setTimeout","endsWith","containClasses","__image","sources","withDirectives","vShow","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","makeBorderProps","border","useBorder","borderClasses","classes","allowedDensities","makeDensityProps","density","useDensity","densityClasses","makeElevationProps","elevation","useElevation","elevationClasses","makeRoundedProps","rounded","useRounded","roundedClasses","makeTagProps","useColor","backgroundIsCssColor","textIsCssColor","colorClasses","colorStyles","backgroundColor","caretColor","useTextColor","textColorClasses","textColorStyles","useBackgroundColor","backgroundColorClasses","backgroundColorStyles","useProxiedModel","defaultValue","transformIn","transformOut","internal","newValue","VAppBar","collapse","extensionHeight","floating","modelValue","prominent","prominentHeight","toRef","isExtended","extension","contentHeight","isActive","layoutStyles","hasImage","prepend","append","allowedVariants","genOverlays","isClickable","makeVariantProps","textColor","variant","useVariant","variantClasses","VBtnGroup","divided","VBtn","makeGroupProps","multiple","mandatory","selectedClass","disabled","makeGroupItemProps","useGroupItem","injectKey","required","group","description","isSelected","toggle","select","useGroup","isUnmounted","reactive","selected","getIds","arr","getValues","groupVm","unwrapped","instances","cmp","splice","forceMandatoryValue","onMounted","internalValue","step","offset","currentId","currentIndex","newIndex","newItem","VBtnToggleSymbol","VBtnToggle","predefinedSizes","makeSizeProps","useSize","sizeClasses","sizeStyles","IconSymbol","makeIconProps","icon","VComponentIcon","VSvgIcon","inheritAttrs","VLigatureIcon","VClassIcon","defaultSets","svg","useIcon","icons","iconData","iconAlias","aliases","iconSetName","sets","setName","iconName","iconSet","defaultSet","VIcon","slotIcon","slot","fontSize","positionValues","makePositionProps","fixed","usePosition","targets","positionClasses","positionStyles","useRouter","proxy","$router","useLink","RouterLink","resolveDynamicComponent","isLink","href","onClick","onClickOnce","link","route","makeRouterProps","useBackButton","cb","router","popped","removeGuard","addEventListener","onPopstate","beforeEach","removeEventListener","e","replaced","rippleStop","DELAY_RIPPLE","webkitTransform","opacity","isTouchEvent","isKeyboardEvent","calculate","localX","localY","touches","clientX","clientY","radius","scale","_ripple","circle","clientWidth","center","sqrt","centerX","centerY","ripples","show","enabled","container","animation","className","dataset","previousPosition","classList","add","activated","performance","now","remove","hide","getElementsByClassName","isHiding","diff","delay","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleHide","clearTimeout","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","passive","removeListeners","updated","oldValue","Ripple","prependIcon","appendIcon","block","stacked","ripple","isElevated","Tag","isExactActive","navigate","VAppBarNavIcon","VAppBarTitle","VAvatar","allowedTypes","VAlert","borderColor","closable","closeIcon","closeLabel","sticky","tip","borderProps","variantProps","onCloseClick","hasBorder","hasClose","hasPrepend","hasText","VBadge","bordered","dot","inline","label","location","vertical","horizontal","offsetX","offsetY","calculatePosition","locationStyles","badgeAttrs","VBannerActions","VBannerAvatar","VBannerContent","VBannerText","DisplaySymbol","defaultDisplayOptions","mobileBreakpoint","thresholds","xs","sm","md","lg","xl","xxl","parseDisplayOptions","getClientWidth","documentElement","innerWidth","getClientHeight","innerHeight","getPlatform","userAgent","regexp","android","ios","cordova","electron","chrome","edge","firefox","opera","win","mac","linux","ssr","touch","createDisplay","platform","onResize","breakpointValue","mobile","smAndUp","mdAndUp","lgAndUp","xlAndUp","smAndDown","mdAndDown","lgAndDown","xlAndDown","toRefs","useDisplay","display","VBanner","avatar","hasAvatar","hasContent","actions","VBottomNavigation","bgColor","grow","mode","VBreadcrumbsSymbol","VBreadcrumbsItem","activeClass","activeColor","breadcrumbs","VBreadcrumbsDivider","VBreadcrumbs","divider","array","VCardActions","VCardAvatar","VCardHeader","VCardHeaderText","VCardImg","VCardSubtitle","VCardText","VCardTitle","VCard","appendAvatar","hover","prependAvatar","subtitle","title","hasTitle","hasSubtitle","hasHeaderText","hasAppend","hasHeader","media","createCssTransition","origin","hideOnLeave","leaveAbsolute","TransitionGroup","onBeforeEnter","onLeave","offsetTop","offsetLeft","_transitionInitialStyles","setProperty","onAfterLeave","createJavascriptTransition","functions","expandedParentClass","sizeProperty","offsetProperty","_parent","_initialStyle","overflow","onEnter","initialStyle","onAfterEnter","resetStyles","onEnterCancelled","onLeaveCancelled","VDialogTransition","pointerEvents","done","Promise","resolve","getDimensions","animate","duration","easing","finished","then","removeProperty","onBeforeLeave","targetBox","elBox","originX","originY","anchorSide","anchorOffset","getPropertyValue","VCarouselTransition","VCarouselReverseTransition","VTabTransition","VTabReverseTransition","VMenuTransition","VFabTransition","VDialogBottomTransition","VDialogTopTransition","VFadeTransition","VScaleTransition","VScrollXTransition","VScrollXReverseTransition","VScrollYTransition","VScrollYReverseTransition","VSlideXTransition","VSlideXReverseTransition","VSlideYTransition","VSlideYReverseTransition","VExpandTransition","ExpandTransitionGenerator","VExpandXTransition","VMessages","messages","FormKey","makeFormProps","fastFail","lazyValidation","readonly","createForm","model","isReadonly","isValidating","errorMessages","validate","results","valid","itemErrorMessages","forEach","resetValidation","useForm","makeValidationProps","maxErrors","rules","useValidation","form","isPristine","isValid","validationClasses","rule","result","VInputSymbol","makeVInputProps","hideDetails","hint","persistentHint","direction","VInput","focused","isFocused","slotProps","hasHint","hasMessages","hasDetails","showMessages","details","filterInputProps","VLabel","VSelectionControlGroupSymbol","VSelectionControlGroup","falseIcon","trueIcon","makeSelectionControlProps","trueValue","falseValue","valueComparator","Function","useSelectionControl","isMultiple","currentValue","VSelectionControl","isFocusVisible","input","onFocus","matches","onBlur","filterControlProps","VCheckbox","indeterminate","indeterminateIcon","onChange","inputAttrs","controlAttrs","inputProps","_1","controlProps","_2","VChip","draggable","filterIcon","pill","VCode","VCounter","functional","VDefaultsProvider","makeDelayProps","closeDelay","openDelay","useDelay","delays","runDelayFactory","runCloseDelay","runOpenDelay","makeActivatorProps","activator","activatorProps","openOnClick","openOnHover","openOnFocus","useActivator","activatorEl","isHovered","availableEvents","click","stopPropagation","mouseenter","mouseleave","focus","blur","activatorEvents","events","activatorRef","scope","effectScope","run","_useActivator","flush","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","onScopeDispose","removeAttribute","setAttribute","querySelector","parseAnchor","anchor","side","align","oppositeAnchor","physicalAnchor","elementToViewport","point","getOffset","anchorToPoint","box","positionStrategies","static","staticPositionStrategy","connected","connectedPositionStrategy","makePositionStrategyProps","positionStrategy","usePositionStrategies","data","contentStyles","updatePosition","activatorFixed","assign","preferredAnchor","preferredOrigin","doesOverlap","configuredMaxHeight","configuredMinWidth","ResizeObserver","contentEl","disconnect","scrollParent","viewportWidth","viewportHeight","contentBox","scrollables","querySelectorAll","scrollLeft","scrollTop","initialMaxWidth","initialMaxHeight","scrollTo","viewportMargin","freeSpace","fitsY","canFill","floor","targetPoint","contentPoint","clean","frames","requestNewFrame","raf","cancelAnimationFrame","frame","scrollStrategies","closeScrollStrategy","blockScrollStrategy","reposition","repositionScrollStrategy","makeScrollStrategyProps","scrollStrategy","useScrollStrategies","onScroll","bindScroll","scrollElements","contains","scrollbarWidth","scrollableParent","slow","update","time","useTeleport","teleportTarget","_target","targetElement","body","cache","has","WeakMap","makeLazyProps","useLazy","stack","useStack","idx","isTop","defaultConditional","checkEvent","checkIsActive","ShadowRoot","host","include","closeConditional","directive","_clickOutside","lastMousedownWasOutside","handleShadow","callback","ClickOutside","onMousedown","Scrim","VOverlay","attach","contained","noClickAnimation","persistent","scrim","scrimColor","onClickOutside","animateClick","onKeydown","toHandlers","VDialog","fullscreen","retainFocus","scrollable","overlay","onFocusin","before","relatedTarget","after","focusable","hasAttribute","firstElement","lastElement","preventScroll","VDivider","inset","thickness","dividerStyles","role","VExpansionPanelSymbol","VExpansionPanels","variantClass","makeVExpansionPanelTitleProps","expandIcon","collapseIcon","hideActions","VExpansionPanelTitle","expansionPanel","expanded","VExpansionPanelText","VExpansionPanel","groupItem","isBeforeSelected","isAfterSelected","VFieldLabel","useIntersectionObserver","intersectionRef","VProgressLinear","bgOpacity","bufferValue","clickable","reverse","stream","striped","roundedBar","progress","barColorClasses","barColorStyles","normalizedBuffer","normalizedValue","isReversed","handleClick","borderTop","bar","buffer","makeLoaderProps","loading","useLoader","loaderClasses","LoaderSlot","useFocus","makeVFieldProps","appendInnerIcon","clearable","clearIcon","persistentClear","prependInnerIcon","singleLine","VField","labelRef","floatingLabelRef","controlRef","hasLabel","targetEl","targetRect","targetWidth","transitionDuration","visibility","activeElement","preventDefault","isOutlined","prependInner","hasClear","clear","appendInner","loader","filterFieldProps","LocaleAdapterSymbol","VuetifyLocaleSymbol","provideLocale","adapter","createScope","useLocale","getScope","isLocaleAdapter","createLocaleAdapter","createDefaultLocaleAdapter","rootInstance","createRoot","LANG_PREFIX","params","createTranslateFunction","shortKey","currentLocale","fallbackLocale","createNumberFunction","numberFormat","Intl","NumberFormat","format","n","rootScope","defaultLocale","locale","VFileInput","chips","counterSizeString","counterString","showSize","files","internalDirty","isDirty","totalBytes","totalBytesReadable","fileNames","counterValue","fileCount","inputRef","hasCounter","rootAttrs","fieldProps","_","fieldClass","selection","VFooter","VForm","submit","formRef","onReset","onSubmit","VContainer","fluid","breakpoints","breakpointProps","offsetProps","orderProps","propMap","col","order","breakpointClass","breakpoint","VCol","cols","alignSelf","hasColClasses","ALIGNMENT","makeRowProps","def","alignValidator","alignProps","justifyValidator","justifyProps","alignContentValidator","alignContentProps","justify","alignContent","classMap","VRow","dense","noGutters","VSpacer","VHover","onMouseenter","onMouseleave","VItemGroupSymbol","VItemGroup","VItem","VKbd","VLayout","VLayoutItem","VLazy","onIntersect","VListSubheader","singleOpenStrategy","opened","parents","newOpened","multipleOpenStrategy","independentSelectStrategy","in","leafSelectStrategy","single","strategy","classicSelectStrategy","childrenIds","everySelected","noneSelected","classicActiveStrategy","newActive","VNestedSymbol","emptyNested","open","activate","selectedValues","makeNestedProps","selectStrategy","openStrategy","activeStrategy","useNested","nested","parentId","isGroup","list","event","newSelected","useNestedItem","computedId","useNestedGroup","isOpen","isIndeterminate","VListGroupItems","createList","VListGroup","useList","headerProps","header","VListItemAvatar","VListItemHeader","VListItemSubtitle","VListItemTitle","VListItem","isNestedActive","updateHasPrepend","VListChildren","externalHeader","ListKey","VList","nav","subheader","VListImg","VListItemMedia","VLocaleProvider","localeInstance","useSsrBoot","ssrBootStyles","VMain","VMenu","disableKeys","HORIZON","HISTORY","kineticEnergyToVelocity","work","sqrt2","calculateImpulseVelocity","samples","d","vprev","vcurr","useVelocity","addMovement","changedTouches","identifier","timeStamp","endTouch","getVelocity","newest","absX","absY","oops","useTouch","isTemporary","touchless","onTouchstart","onTouchmove","onTouchend","maybeDragging","isDragging","dragProgress","pos","getProgress","limit","touchX","touchY","touchZone","inTouchZone","inElement","cancelable","thresholdMet","velocity","vx","vy","dragStyles","VNavigationDrawer","disableResizeWatcher","expandOnHover","permanent","rail","railWidth","temporary","isHovering","rootEl","useHydration","appContext","_container","__vue_app__","VNoSsr","useResizeObserver","resizeRef","contentRect","contentBoxSize","borderBoxSize","useRefs","refs","onBeforeUpdate","updateRef","VPagination","totalVisible","firstIcon","prevIcon","nextIcon","lastIcon","pageAriaLabel","currentPageAriaLabel","firstAriaLabel","previousAriaLabel","nextAriaLabel","lastAriaLabel","ellipsis","showFirstLastPage","maxButtons","firstItem","totalWidth","itemWidth","range","middle","ceil","rangeLength","rangeStart","setValue","ariaCurrent","controls","prevDisabled","nextDisabled","ariaDisabled","updateFocus","sign","VParallax","scrollPos","scrollY","translate","VProgressCircular","rotate","MAGIC_RADIUS_CONSTANT","CIRCUMFERENCE","PI","underlayColorClasses","underlayColorStyles","diameter","strokeWidth","strokeDashOffset","VRadio","VRadioGroup","VSliderSymbol","getPosition","makeSliderProps","thumbColor","thumbLabel","thumbSize","showTicks","showTickLabels","ticks","tickSize","trackColor","trackFillColor","trackSize","useSlider","handleSliderMouseUp","handleMouseMove","getActiveThumb","horizontalDirection","hd","decimals","trimmedStep","trim","numTicks","mousePressed","startOffset","trackContainerRef","roundValue","clamped","parseMouseMove","trackStart","trackLength","clickOffset","clickPos","thumbMoved","handleStop","handleStart","activeThumb","moveListenerOptions","capture","onMouseMove","onSliderMouseUp","onSliderTouchend","onSliderTouchstart","onSliderMousedown","percentage","parsedTicks","hasLabels","VSliderThumb","slider","relevantKeys","multipliers","parseKeydown","_step","steps","increase","multiplier","shiftKey","ctrlKey","positionPercentage","VSliderTrack","trackFillColorClasses","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","tick","directionProperty","VRangeSlider","startThumbRef","stopThumbRef","focusedThumb","canSwitch","stopOffset","trackStop","VRating","itemAriaLabel","emptyIcon","fullIcon","halfIncrements","itemLabels","itemLabelPosition","increments","hoverIndex","focusIndex","firstRef","isClicking","itemState","isFilled","isFullIcon","eventState","onMouseup","VRatingItem","showStar","btnProps","VSheet","VSlider","thumbContainerRef","VSwitch","loaderColor","control","VSystemBar","lightsOut","VTable","fixedHeader","fixedFooter","VTextarea","autoGrow","autofocus","persistentPlaceholder","persistentCounter","noResize","rows","maxRows","suffix","controlHeight","maxlength","sizerRef","calculateInputHeight","padding","lineHeight","showPlaceholder","useForwardRef","Proxy","Reflect","getOwnPropertyDescriptor","dirtyTypes","VTextField","vInputRef","vFieldRef","VThemeProvider","withBackground","VTimelineSymbol","VTimelineDivider","hideDot","lineColor","iconColor","fillDot","dotColor","timeline","lineColorStyles","lineColorClasses","VTimelineItem","hideOpposite","dotSize","dotRef","opposite","VTimeline","lineInset","lineThickness","truncateLine","sideClass","VTooltip","args","VValidation","validation","modifierKeys","attributes","attr","characterData","childList","subtree","sub","MutationObserver","mutations","_mutate","Mutate","_onResize","Resize","self","arg","_onScroll","Scroll","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","touchstart","touchend","touchmove","touchmoveX","touchmoveY","move","createHandlers","handlers","_touchHandlers","eventName","Touch","cancel","checkboxOn","checkboxOff","checkboxIndeterminate","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","unfold","plus","minus","mdi","createVuetify","install","components","mixin","$vuetify","call","_createVuetify","version"],"mappings":"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"}
|