@onereach/ui-components 23.3.1 → 23.3.2-beta.5625.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/esm/{OrDataGrid-DB9ETdxI.mjs → OrDataGrid-D1o18FfW.mjs} +113 -102
- package/dist/esm/OrDataGrid-D1o18FfW.mjs.map +1 -0
- package/dist/esm/components/index.mjs +265 -249
- package/dist/esm/components/or-data-grid-v3/index.mjs +19 -3
- package/dist/esm/index.mjs +265 -249
- package/dist/types/components/or-data-grid-v3/index.d.ts +1 -0
- package/package.json +4 -5
- package/dist/esm/OrDataGrid-DB9ETdxI.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrDataGrid-D1o18FfW.mjs","sources":["../../../components/or-data-grid-v3/src/partials/or-data-grid-footer/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-footer/OrDataGridFooter.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-header/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-header/OrDataGridHeader.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-cell/OrDataGridTableContentCell.vue","../../../components/or-data-grid-v3/src/types.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-row/OrDataGridTableContentRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content/OrDataGridTableContent.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-cell/OrDataGridTableFooterCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-row/OrDataGridTableFooterRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer/OrDataGridTableFooter.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-cell/OrDataGridTableHeaderCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-row/OrDataGridTableHeaderRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header/OrDataGridTableHeader.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-placeholder/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-placeholder/OrDataGridTablePlaceholder.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table/OrDataGridTable.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-toolbar/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-toolbar/OrDataGridToolbar.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-notification/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-notification/OrDataGridNotification.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-extra-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-extra-row/OrDataGridTableExtraRow.vue","../../../components/or-data-grid-v3/src/styles.ts","../../../components/or-data-grid-v3/src/OrDataGrid.vue"],"sourcesContent":["export const DataGridFooter: string[] = [\n // Layout\n 'layout-row',\n\n // Interactivity\n 'interactivity-default',\n\n // Box\n 'h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n\n // Spacing\n 'px-sm+',\n 'py-0',\n\n 'gap-xl',\n\n // Theme\n 'theme-border-disabled border-t-1',\n 'dark:theme-border-disabled-dark',\n];\n\nexport const DataGridFooterStatus: string[] = [\n // Typography\n 'typography-body-2-semibold',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['status']\">\n <div :class=\"statusStyles\">\n <slot :name=\"'status'\" />\n </div>\n </template>\n\n <slot :name=\"'actions'\" />\n\n <template v-if=\"$slots['paging']\">\n <div :class=\"['grow']\" />\n </template>\n\n <slot :name=\"'paging'\" />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridFooter',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-footer-v3',\n ...Styles.DataGridFooter,\n ]);\n\n const statusStyles = computed(() => [\n ...Styles.DataGridFooterStatus,\n ]);\n\n return {\n root,\n rootStyles,\n\n statusStyles,\n };\n },\n});\n</script>\n","export const DataGridHeader: string[] = [\n // Layout\n 'layout-row items-start',\n\n // Interactivity\n 'interactivity-default',\n\n // Box\n 'h-3xl',\n];\n\nexport const DataGridHeaderTitle: string[] = [\n // Typography\n 'typography-headline-2',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['title']\">\n <div :class=\"titleStyles\">\n <slot :name=\"'title'\" />\n </div>\n </template>\n\n <template v-if=\"$slots['searching']\">\n <div :class=\"['grow']\" />\n </template>\n\n <slot :name=\"'searching'\" />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridHeader',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-header-v3',\n ...Styles.DataGridHeader,\n ]);\n\n const titleStyles = computed(() => [\n ...Styles.DataGridHeaderTitle,\n ]);\n\n return {\n root,\n rootStyles,\n\n titleStyles,\n };\n },\n});\n</script>\n","export const DataGridTableContentCell: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-sm+',\n 'py-0',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-transparent border-1',\n 'dark:theme-border-transparent-dark',\n\n 'theme-outline-transparent outline-2',\n 'dark:theme-outline-transparent-dark',\n\n // Theme (focus)\n 'focus-within:theme-border-primary',\n 'dark:focus-within:theme-border-primary-dark',\n\n 'focus-within:theme-outline-primary',\n 'dark:focus-within:theme-outline-primary-dark',\n\n // Theme (.sticky-start)\n '[&.sticky-start]:border-e-disabled',\n 'dark:[&.sticky-start]:border-e-disabled-dark',\n\n // Theme (.sticky-end)\n '[&.sticky-end]:border-s-disabled',\n 'dark:[&.sticky-end]:border-s-disabled-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n >\n <template v-if=\"override\">\n <slot />\n </template>\n\n <template v-else-if=\"control\">\n <template v-if=\"control.type === 'text'\">\n <OrInput\n v-model=\"model\"\n :type=\"'text'\"\n :variant=\"'embedded'\"\n />\n </template>\n\n <template v-if=\"control.type === 'number'\">\n <OrInput\n v-model=\"model\"\n :type=\"'number'\"\n :variant=\"'embedded'\"\n />\n </template>\n\n <template v-if=\"control.type === 'rating'\">\n <OrRating\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'select'\">\n <OrSelect\n v-model=\"model\"\n :options=\"control.options\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'checkbox'\">\n <OrCheckbox\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'switch'\">\n <OrSwitch\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'date'\">\n <OrDatePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'time'\">\n <OrTimePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'datetime'\">\n <OrDateTimePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'tags'\">\n <OrTagInput\n v-model=\"model\"\n :variant=\"'embedded'\"\n />\n </template>\n </template>\n\n <template v-else>\n <div :class=\"['truncate']\">\n <slot />\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrDatePickerV3 as OrDatePicker } from '@onereach/ui-components.or-date-picker-v3';\nimport { OrDateTimePickerV3 as OrDateTimePicker } from '@onereach/ui-components.or-date-time-picker-v3';\nimport { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { OrRatingV3 as OrRating } from '@onereach/ui-components.or-rating-v3';\nimport { OrSelectV3 as OrSelect } from '@onereach/ui-components.or-select-v3';\nimport { OrSwitchV3 as OrSwitch } from '@onereach/ui-components.or-switch-v3';\nimport { OrTagInputV3 as OrTagInput } from '@onereach/ui-components.or-tag-input-v3';\nimport { OrTimePickerV3 as OrTimePicker } from '@onereach/ui-components.or-time-picker-v3';\nimport { DataGridColumn, DataGridFeatures } from '../../types';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContentCell',\n\n components: {\n OrCheckbox,\n OrDatePicker,\n OrDateTimePicker,\n OrInput,\n OrRating,\n OrSelect,\n OrSwitch,\n OrTagInput,\n OrTimePicker,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<any>,\n default: undefined,\n },\n\n column: {\n type: Object as PropType<Omit<DataGridColumn, 'name'>>,\n default: undefined,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: undefined,\n },\n\n override: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'input',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-cell-v3',\n ...Styles.DataGridTableContentCell,\n ...props.column?.stickiness ? [`sticky-${props.column.stickiness}`] : [],\n ]);\n\n const rootInlineStyles = computed(() => {\n if (props.column) {\n switch (props.column.stickiness) {\n case 'start':\n return {\n position: 'sticky',\n insetInlineStart: '0',\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n\n case 'end':\n return {\n position: 'sticky',\n insetInlineEnd: '0',\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n\n default:\n return {\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n }\n }\n\n return {\n justifyContent: 'center',\n } as Partial<CSSStyleDeclaration>;\n });\n\n // State\n const model = computed({\n get: () => props.modelValue,\n\n set: (value) => {\n context.emit('input', value);\n },\n });\n\n const control = computed(() => {\n return props.column?.control;\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n\n model,\n\n control,\n };\n },\n});\n</script>\n","import { DataModel, Id, ModelValue } from '@onereach/ui-components-common/types';\nimport { PaginationModelValue } from '@onereach/ui-components.or-pagination-v3';\nimport { SelectItem } from '@onereach/ui-components.or-select-v3';\n\nexport type DataGridModelValue = ModelValue<{\n selecting: ModelValue<Id[]>;\n\n // TODO\n filtering: never;\n\n searching: ModelValue<string>;\n\n sorting: ModelValue<{\n column: DataGridColumn['name'];\n direction: 'asc' | 'desc';\n }>;\n\n paging: PaginationModelValue;\n}>;\n\nexport type DataGridItem<T extends DataModel> = T;\n\nexport type DataGridColumn = {\n name: string;\n label?: string;\n\n width?: string;\n\n alignment?: 'start' | 'end' | 'center';\n stickiness?: 'start' | 'end';\n\n control?: {\n type: 'text' | 'number' | 'rating' | 'select' | 'checkbox' | 'switch' | 'date' | 'time' | 'datetime' | 'tags';\n options?: SelectItem[];\n };\n};\n\nexport enum DataGridVariant {\n Standard = 'standard',\n Comfortable = 'comfortable',\n Compact = 'compact',\n}\n\nexport type DataGridFeatures = {\n selecting?: boolean | {\n showCounter?: boolean;\n disabled?: boolean;\n };\n filtering?: boolean;\n searching?: boolean;\n sorting?: boolean;\n\n paging?: {\n length: number;\n options?: number[];\n };\n\n resizing?: boolean;\n};\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableContentRow: string[] = [\n // Layout\n 'grid grid-cols-[subgrid] col-span-full',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-border-disabled [&:not(:last-child)]:border-b-1',\n 'dark:theme-border-disabled-dark',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n\n // Theme (hover / children)\n 'children:hover:theme-background-surface-1',\n 'dark:children:hover:theme-background-surface-1-dark',\n\n // Theme (selected / children)\n 'children:selected:theme-background-surface-2',\n 'dark:children:selected:theme-background-surface-2-dark',\n\n // Theme (selected + hover / children)\n 'children:hover:selected:theme-background-surface-3',\n 'dark:children:hover:selected:theme-background-surface-3-dark',\n];\n\nexport const DataGridTableContentRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\nimport { DataGridVariant } from '../../types';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContentRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n\n selected: {\n type: Boolean,\n default: false,\n },\n\n interactive: {\n type: Boolean,\n default: false,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-row-v3',\n ...Styles.DataGridTableContentRow,\n ...Styles.DataGridTableContentRowVariants[props.variant],\n ...(props.interactive ? ['cursor-pointer'] : []),\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableContent: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContent',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-v3',\n ...Styles.DataGridTableContent,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableFooterCell: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-sm+',\n 'py-0',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-transparent border-1',\n 'dark:theme-border-transparent-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooterCell',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-cell-v3',\n ...Styles.DataGridTableFooterCell,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableFooterRow: string[] = [\n // Layout\n 'grid grid-cols-1',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-border-disabled border-t-1',\n 'dark:theme-border-disabled-dark',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n];\n\nexport const DataGridTableFooterRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\nimport { DataGridVariant } from '../../types';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooterRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-row-v3',\n ...Styles.DataGridTableFooterRow,\n ...Styles.DataGridTableFooterRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableFooter: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooter',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-v3',\n ...Styles.DataGridTableFooter,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableHeaderCell: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-sm+',\n 'py-0',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-transparent border-1',\n 'dark:theme-border-transparent-dark',\n\n // Theme (.sticky-start)\n '[&.sticky-start]:border-e-disabled',\n 'dark:[&.sticky-start]:border-e-disabled-dark',\n\n // Theme (.sticky-end)\n '[&.sticky-end]:border-s-disabled',\n 'dark:[&.sticky-end]:border-s-disabled-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n @click=\"toggleSorting()\"\n >\n <div :class=\"['truncate']\">\n <slot />\n </div>\n\n <template v-if=\"model\">\n <OrIcon :icon=\"model.direction === 'asc' ? 'arrow_upward' : 'arrow_downward'\" />\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useElementSize } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, watch } from 'vue';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { DataGridColumn, DataGridFeatures, DataGridModelValue } from '../../types';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeaderCell',\n\n components: {\n OrIcon,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: Object as PropType<NonNullable<DataGridModelValue>['sorting']>,\n default: undefined,\n },\n\n column: {\n type: Object as PropType<Omit<DataGridColumn, 'name'> & {name?: string;}>,\n default: undefined,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: undefined,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'update:scrollOffset',\n 'remove:scrollOffset',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-cell-v3',\n ...Styles.DataGridTableHeaderCell,\n ...props.column?.stickiness ? [`sticky-${props.column.stickiness}`] : [],\n ...props.features?.sorting && props.column?.name ? ['interactivity-click'] : [],\n ]);\n\n const rootInlineStyles = computed(() => {\n if (props.column) {\n switch (props.column.stickiness) {\n case 'start':\n return {\n position: 'sticky',\n insetInlineStart: '0',\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n\n case 'end':\n return {\n position: 'sticky',\n insetInlineEnd: '0',\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n\n default:\n return {\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n }\n }\n\n return {\n justifyContent: 'center',\n } as Partial<CSSStyleDeclaration>;\n });\n\n // State\n const model = computed({\n get: () => {\n if (!props.features?.sorting) {\n return;\n }\n\n return props.modelValue?.column === props.column?.name ? props.modelValue : undefined;\n },\n\n set: (value) => {\n context.emit('update:modelValue', value);\n },\n });\n\n // Methods\n function toggleSorting(): void {\n if (!props.features?.sorting) {\n return;\n }\n\n if (model.value) {\n model.value = {\n ...model.value,\n direction: model.value.direction === 'asc' ? 'desc' : 'asc',\n };\n } else {\n if (!props.column) {\n throw new Error('[OrDataGridTableHeaderCell]: `column` must be specified.');\n }\n\n model.value = {\n column: props.column?.name || '_check',\n direction: 'asc',\n };\n }\n }\n\n // Effects\n const { width } = useElementSize(root, undefined, { box: 'border-box' });\n\n watch([\n root,\n width,\n () => props.column?.stickiness,\n ], ([\n nextRoot,\n width,\n ], [\n prevRoot,\n ]) => {\n if (prevRoot && prevRoot !== nextRoot) {\n context.emit('remove:scrollOffset', prevRoot);\n }\n\n context.emit('update:scrollOffset', nextRoot, width, props.column);\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n\n model,\n\n toggleSorting,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableHeaderRow: string[] = [\n // Position\n 'sticky top-0 z-10',\n\n // Layout\n 'grid grid-cols-[subgrid] col-span-full',\n\n // Typography\n 'typography-body-2-semibold',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-surface-variant-1',\n 'dark:children:theme-background-surface-variant-1-dark',\n];\n\nexport const DataGridTableHeaderRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\nimport { DataGridVariant } from '../../types';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeaderRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-row-v3',\n ...Styles.DataGridTableHeaderRow,\n ...Styles.DataGridTableHeaderRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableHeader: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeader',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-v3',\n ...Styles.DataGridTableHeader,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTablePlaceholder: string[] = [\n // Layout\n 'layout-row justify-center',\n\n // Spacing\n 'px-sm+',\n 'py-0',\n\n 'gap-xs',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n];\n\nexport const DataGridTablePlaceholderVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\nimport { DataGridVariant } from '../../types';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTablePlaceholder',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-placeholder-v3',\n ...Styles.DataGridTablePlaceholder,\n ...Styles.DataGridTablePlaceholderVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTable: string[] = [\n // Layout\n 'grid content-start',\n\n // Overflow\n 'overflow-auto',\n\n // Interactivity\n 'interactivity-default',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\nimport { DataGridColumn, DataGridFeatures } from '../../types';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTable',\n\n props: {\n columns: {\n type: Array as PropType<DataGridColumn[]>,\n required: true,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-v3',\n ...Styles.DataGridTable,\n ]);\n\n const rootInlineStyles = computed(() => {\n const gridTemplateColumns = props.columns.map((column) => column.width ?? 'auto');\n\n if ((props.features as DataGridFeatures).selecting) {\n return { gridTemplateColumns: `0fr ${gridTemplateColumns.join(' ')}` };\n }\n\n return { gridTemplateColumns: gridTemplateColumns.join(' ') };\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n };\n },\n});\n</script>\n","export const DataGridToolbar: string[] = [\n // Layout\n 'layout-row',\n\n // Box\n 'h-2xl',\n\n // Spacing\n 'gap-xl',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridToolbar',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-toolbar-v3',\n ...Styles.DataGridToolbar,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridNotification: string[] = [\n // Position\n 'grid sticky z-10',\n\n // Layout\n 'col-span-full',\n];\n\nexport const DataGridNotificationPositionVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Position\n 'top-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Position\n 'top-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Position\n 'top-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n};\n\n","<template>\n <div :class=\"rootStyles\">\n <OrNotification\n v-bind=\"notification\"\n class=\"rounded-0 shadow-none\"\n @close=\"$emit('close-notification')\"\n >\n <template\n v-if=\"$slots['notification']\"\n >\n <slot :name=\"'notification'\" />\n </template>\n </OrNotification>\n </div>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType } from 'vue';\nimport { OrNotificationV3 as OrNotification } from '@onereach/ui-components.or-notification-v3';\nimport * as Styles from './styles';\nimport { DataGridVariant } from '../../types';\n\nexport default defineComponent({\n components: {\n OrNotification,\n },\n props: {\n notification: {\n type: Object as PropType<InstanceType<typeof OrNotification>['$props']>,\n required: true,\n },\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n emits: [\n 'close-notification',\n ],\n setup(props) {\n const rootStyles = computed(() => [\n 'or-data-grid-notification-v3',\n ...Styles.DataGridNotification,\n ...Styles.DataGridNotificationPositionVariants[props.variant],\n ]);\n\n return {\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableExtraRow: string[] = [\n // Layout\n 'grid col-span-full grid-cols-[subgrid]',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-border-disabled',\n 'dark:theme-border-disabled-dark',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n];\n\nexport const DataGridTableExtraRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariant } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableExtraRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-extra-row-v3',\n ...Styles.DataGridTableExtraRow,\n ...Styles.DataGridTableExtraRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGrid: string[] = [\n // Layout\n 'layout-column',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['title'] || features.searching || $slots['search']\">\n <OrDataGridHeader\n :class=\"['shrink-0']\"\n >\n <template\n v-if=\"$slots['title']\"\n v-slot:title\n >\n <slot :name=\"'title'\" />\n </template>\n\n <template\n v-if=\"features.searching\"\n v-slot:searching\n >\n <slot\n name=\"search\"\n v-bind=\"{updateSearchingModel, searchingModel}\"\n >\n <OrSearch v-model=\"searchingModel\" />\n </slot>\n </template>\n </OrDataGridHeader>\n </template>\n\n <template v-if=\"$slots['toolbar']\">\n <OrDataGridToolbar\n :class=\"['shrink-0']\"\n >\n <slot :name=\"'toolbar'\" />\n </OrDataGridToolbar>\n </template>\n\n <OrDataGridTable\n :class=\"['grow', { 'grid-rows-[auto_1fr]': items.length === 0 }]\"\n :style=\"tableInlineStyles\"\n :columns=\"columns\"\n :features=\"features\"\n >\n <OrDataGridTableHeader>\n <OrDataGridTableHeaderRow\n :variant=\"variant\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableHeaderCell\n :column=\"{ stickiness: 'start' }\"\n class=\"!py-xs !px-xs md:!py-none md:!px-sm+\"\n @update:scroll-offset=\"updateScrollOffset\"\n @remove:scroll-offset=\"removeScrollOffset\"\n >\n <OrCheckbox\n v-model=\"selectingIndicator\"\n :indeterminate=\"!selectingIndicator && selectingModel.length > 0\"\n :disabled=\"selectingDisabled\"\n />\n </OrDataGridTableHeaderCell>\n </template>\n\n <OrDataGridTableHeaderCell\n v-for=\"column of columns\"\n :key=\"column.name\"\n v-model=\"sortingModel\"\n :column=\"column\"\n :features=\"features\"\n @update:scroll-offset=\"updateScrollOffset\"\n @remove:scroll-offset=\"removeScrollOffset\"\n >\n {{ column.label }}\n </OrDataGridTableHeaderCell>\n </OrDataGridTableHeaderRow>\n </OrDataGridTableHeader>\n <OrDataGridNotification\n v-if=\"notification\"\n :notification=\"notification\"\n :variant=\"variant\"\n @close-notification=\"$emit('close-notification')\"\n >\n <template\n v-if=\"$slots['notification']\"\n v-slot:notification\n >\n <slot :name=\"'notification'\" />\n </template>\n </OrDataGridNotification>\n <OrDataGridTableContent>\n <template v-if=\"$slots['before-rows']\">\n <OrDataGridTableExtraRow\n :variant=\"variant\"\n class=\"border-b-1\"\n >\n <slot :name=\"'before-rows'\" />\n </OrDataGridTableExtraRow>\n </template>\n <template v-if=\"loading\">\n <OrDataGridTableContentRow\n v-for=\"n of skeletonsLength\"\n :key=\"n\"\n :variant=\"variant\"\n :interactive=\"interactiveRows\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableContentCell\n :column=\"{ stickiness: 'start' }\"\n :override=\"true\"\n >\n <OrSkeletonText />\n </OrDataGridTableContentCell>\n </template>\n\n <OrDataGridTableContentCell\n v-for=\"column of columns\"\n :key=\"column.name\"\n :column=\"column\"\n :features=\"features\"\n :override=\"true\"\n >\n <slot\n name=\"column-loading\"\n :column=\"column\"\n >\n <OrSkeletonText />\n </slot>\n </OrDataGridTableContentCell>\n </OrDataGridTableContentRow>\n </template>\n\n <template v-else-if=\"items.length > 0\">\n <OrDataGridTableContentRow\n v-for=\"item of items\"\n :key=\"item.id\"\n :variant=\"variant\"\n :selected=\"selectingModel.includes(item.id)\"\n :interactive=\"interactiveRows\"\n @mouseenter=\"() => handleMouseEnterRow(item)\"\n @mouseleave=\"() => handleMouseLeaveRow(item)\"\n @click=\"() => handleRowClick(item)\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableContentCell\n :column=\"{ stickiness: 'start' }\"\n :force-state=\"'none'\"\n class=\"!py-xs !px-xs md:!py-none md:!px-sm+\"\n @mouseenter=\"() => handleMouseEnterCell(item, 'selecting', selectingModel.includes(item.id))\"\n @mouseleave=\"() => handleMouseLeaveCell(item, 'selecting', selectingModel.includes(item.id))\"\n >\n <OrCheckbox\n v-model=\"selectingModel\"\n :value=\"item.id\"\n :disabled=\"selectingDisabled\"\n />\n </OrDataGridTableContentCell>\n </template>\n\n <OrDataGridTableContentCell\n v-for=\"column of columns\"\n :key=\"column.name\"\n :model-value=\"item[column.name]\"\n :column=\"column\"\n :features=\"features\"\n @input=\"onInput(item, column.name, $event)\"\n @focusin=\"scrollTo($event)\"\n @mouseenter=\"() => handleMouseEnterCell(item, column.name, item[column.name])\"\n @mouseleave=\"() => handleMouseLeaveCell(item, column.name, item[column.name])\"\n >\n <slot\n :name=\"column.name\"\n :column=\"column\"\n :item=\"item\"\n >\n {{ item[column.name] }}\n </slot>\n </OrDataGridTableContentCell>\n </OrDataGridTableContentRow>\n </template>\n\n <template v-else-if=\"$slots['noSearchResults'] && ((features.filtering && filteringModel) || (features.searching && searchingModel))\">\n <OrDataGridTablePlaceholder\n :class=\"['col-span-full']\"\n :variant=\"variant\"\n >\n <slot\n :name=\"'noSearchResults'\"\n :filter=\"filteringModel\"\n :search=\"searchingModel\"\n />\n </OrDataGridTablePlaceholder>\n </template>\n\n <template v-else-if=\"$slots['empty']\">\n <OrDataGridTablePlaceholder\n :class=\"['col-span-full']\"\n :variant=\"variant\"\n >\n <slot :name=\"'empty'\" />\n </OrDataGridTablePlaceholder>\n </template>\n\n <template v-if=\"$slots['after-rows']\">\n <OrDataGridTableExtraRow\n :variant=\"variant\"\n >\n <slot :name=\"'after-rows'\" />\n </OrDataGridTableExtraRow>\n </template>\n </OrDataGridTableContent>\n </OrDataGridTable>\n\n <template v-if=\"$slots['extra-row']\">\n <OrDataGridTableFooter>\n <OrDataGridTableFooterRow\n :class=\"['shrink-0']\"\n :variant=\"variant\"\n >\n <OrDataGridTableFooterCell>\n <slot :name=\"'extra-row'\" />\n </OrDataGridTableFooterCell>\n </OrDataGridTableFooterRow>\n </OrDataGridTableFooter>\n </template>\n\n <template v-if=\"$slots['actions'] || showSelectingCouter || features.paging\">\n <OrDataGridFooter\n :class=\"['shrink-0']\"\n >\n <template\n v-if=\"features.selecting && selectingModel.length > 0\"\n v-slot:status\n >\n {{ selectingModel.length }} row(s) selected\n </template>\n\n <template\n v-if=\"$slots['actions']\"\n v-slot:actions\n >\n <slot :name=\"'actions'\" />\n </template>\n\n <template\n v-if=\"features.paging\"\n v-slot:paging\n >\n <OrPagination\n ref=\"pagination\"\n v-model=\"pagingModel\"\n :length=\"features.paging.length\"\n :options=\"features.paging.options\"\n />\n </template>\n </OrDataGridFooter>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { DataModel, Id } from '@onereach/ui-components-common/types';\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrNotificationV3 as OrNotification } from '@onereach/ui-components.or-notification-v3';\nimport { OrPaginationV3 as OrPagination } from '@onereach/ui-components.or-pagination-v3';\nimport { OrSearchV3 as OrSearch } from '@onereach/ui-components.or-search-v3';\nimport { OrSkeletonTextV3 as OrSkeletonText } from '@onereach/ui-components.or-skeleton-v3';\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport * as Partials from './partials';\nimport * as Styles from './styles';\nimport { DataGridColumn, DataGridFeatures, DataGridItem, DataGridModelValue, DataGridVariant } from './types';\n\n// Vue 2 doesn't support generically typed components\ntype T = DataModel<{ id: Id; [key: string]: any; }>;\n\nexport default defineComponent({\n name: 'OrDataGrid',\n\n components: {\n OrCheckbox,\n OrDataGridFooter: Partials.OrDataGridFooter,\n OrDataGridHeader: Partials.OrDataGridHeader,\n OrDataGridTable: Partials.OrDataGridTable,\n OrDataGridTableContent: Partials.OrDataGridTableContent,\n OrDataGridTableContentCell: Partials.OrDataGridTableContentCell,\n OrDataGridTableContentRow: Partials.OrDataGridTableContentRow,\n OrDataGridTableFooter: Partials.OrDataGridTableFooter,\n OrDataGridTableFooterCell: Partials.OrDataGridTableFooterCell,\n OrDataGridTableFooterRow: Partials.OrDataGridTableFooterRow,\n OrDataGridTableExtraRow: Partials.OrDataGridTableExtraRow,\n OrDataGridTableHeader: Partials.OrDataGridTableHeader,\n OrDataGridTableHeaderCell: Partials.OrDataGridTableHeaderCell,\n OrDataGridTableHeaderRow: Partials.OrDataGridTableHeaderRow,\n OrDataGridTablePlaceholder: Partials.OrDataGridTablePlaceholder,\n OrDataGridToolbar: Partials.OrDataGridToolbar,\n OrDataGridNotification: Partials.OrDataGridNotification,\n OrPagination,\n OrSearch,\n OrSkeletonText,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<DataGridModelValue>,\n default: undefined,\n },\n\n items: {\n type: Array as PropType<DataGridItem<T>[]>,\n default: () => [],\n },\n\n columns: {\n type: Array as PropType<DataGridColumn[]>,\n required: true,\n },\n\n variant: {\n type: String as PropType<DataGridVariant>,\n default: () => DataGridVariant.Standard,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: () => ({}),\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n notification: {\n type: Object as PropType<InstanceType<typeof OrNotification>['$props']>,\n default: undefined,\n },\n\n interactiveRows: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n 'update:item',\n 'close-notification',\n 'hover:row',\n 'blur:row',\n 'hover:cell',\n 'blur:cell',\n 'click:row',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const pagination = ref<InstanceType<typeof OrPagination>>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-v3',\n ...Styles.DataGrid,\n ]);\n\n const tableInlineStyles = computed(() => ({\n scrollPaddingInlineStart: `${[...scrollOffsetStart.value.values()].reduce((accumulator, value) => accumulator + value, 0)}px`,\n scrollPaddingInlineEnd: `${[...scrollOffsetEnd.value.values()].reduce((accumulator, value) => accumulator + value, 0)}px`,\n }));\n\n // State\n const selectingIndicator = computed({\n get: () => {\n return !!props.items.length && props.items.every((item) => selectingModel.value.includes(item.id));\n },\n\n set: (value) => {\n if (value) {\n selectingModel.value = [\n ...new Set([\n ...selectingModel.value,\n ...props.items.map((item) => item.id),\n ]),\n ];\n } else {\n selectingModel.value = [];\n }\n },\n });\n\n const selectingModel = computed({\n get: () => props.modelValue?.selecting ?? [],\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: value,\n filtering: filteringModel.value,\n searching: searchingModel.value,\n sorting: sortingModel.value,\n paging: pagingModel.value,\n } as DataGridModelValue);\n },\n });\n\n const filteringModel = computed({\n get: () => props.modelValue?.filtering,\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: selectingModel.value,\n filtering: value,\n searching: searchingModel.value,\n sorting: sortingModel.value,\n\n paging: {\n ...pagingModel.value,\n offset: 0,\n },\n } as DataGridModelValue);\n },\n });\n\n const searchingModel = computed({\n get: () => props.modelValue?.searching,\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: selectingModel.value,\n filtering: filteringModel.value,\n searching: value,\n sorting: sortingModel.value,\n\n paging: {\n ...pagingModel.value,\n offset: 0,\n },\n } as DataGridModelValue);\n },\n });\n\n const sortingModel = computed({\n get: () => props.modelValue?.sorting,\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: selectingModel.value,\n filtering: filteringModel.value,\n searching: searchingModel.value,\n sorting: value,\n\n paging: {\n ...pagingModel.value,\n offset: 0,\n },\n } as DataGridModelValue);\n },\n });\n\n const pagingModel = computed({\n get: () => props.modelValue?.paging,\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: selectingModel.value,\n filtering: filteringModel.value,\n searching: searchingModel.value,\n sorting: sortingModel.value,\n paging: value,\n } as DataGridModelValue);\n },\n });\n\n const scrollOffsetStart = ref(new Map<HTMLElement, number>());\n const scrollOffsetEnd = ref(new Map<HTMLElement, number>());\n\n const showSelectingCouter = computed(() => {\n return props.features.selecting &&\n (typeof props.features.selecting === 'object' ? props.features.selecting.showCounter !== false : true);\n });\n\n const selectingDisabled = computed(() => {\n return props.items.length === 0\n || props.loading\n || (typeof props.features.selecting === 'object' && props.features.selecting.disabled);\n\n });\n\n const skeletonsLength = computed(() => {\n return pagination.value?.currentLimit || 10;\n });\n\n // Methods\n function updateSearchingModel(value: string): void {\n searchingModel.value = value;\n }\n\n function updateScrollOffset(header: HTMLElement, offset: number, column: DataGridColumn): void {\n switch (column.stickiness) {\n case 'start':\n scrollOffsetStart.value.set(header, offset);\n scrollOffsetStart.value = new Map(scrollOffsetStart.value);\n\n scrollOffsetEnd.value.delete(header);\n scrollOffsetEnd.value = new Map(scrollOffsetEnd.value);\n\n break;\n\n case 'end':\n scrollOffsetStart.value.delete(header);\n scrollOffsetStart.value = new Map(scrollOffsetStart.value);\n\n scrollOffsetEnd.value.set(header, offset);\n scrollOffsetEnd.value = new Map(scrollOffsetEnd.value);\n\n break;\n\n default:\n removeScrollOffset(header);\n break;\n }\n }\n\n function handleMouseEnterRow(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('hover:row', item);\n }\n\n function handleMouseLeaveRow(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('blur:row', item);\n }\n\n function handleMouseEnterCell(item: DataGridItem<T>, columnName: string, value: any): void {\n if (!props.interactiveRows) return;\n context.emit('hover:cell', {\n item,\n columnName,\n value,\n });\n }\n\n function handleMouseLeaveCell(item: DataGridItem<T>, columnName: string, value: any): void {\n if (!props.interactiveRows) return;\n context.emit('blur:cell', {\n item,\n columnName,\n value,\n });\n }\n\n function handleRowClick(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('click:row', item);\n }\n\n // function handleCellClick(item: DataGridItem<T>, columnName: string, value: any): void {\n // if (!props.interactiveRows) return;\n // context.emit('click:cell', { item, columnName, value });\n // }\n\n function removeScrollOffset(header: HTMLElement): void {\n scrollOffsetStart.value.delete(header);\n scrollOffsetStart.value = new Map(scrollOffsetStart.value);\n\n scrollOffsetEnd.value.delete(header);\n scrollOffsetEnd.value = new Map(scrollOffsetEnd.value);\n }\n\n // Helpers\n function scrollTo(event: FocusEvent): void {\n (event.currentTarget as HTMLElement).scrollIntoView({ block: 'nearest' });\n }\n\n return {\n root,\n rootStyles,\n\n pagination,\n\n tableInlineStyles,\n\n selectingIndicator,\n showSelectingCouter,\n selectingDisabled,\n skeletonsLength,\n\n handleMouseEnterRow,\n handleMouseLeaveRow,\n handleMouseEnterCell,\n handleMouseLeaveCell,\n handleRowClick,\n\n selectingModel,\n filteringModel,\n searchingModel,\n sortingModel,\n pagingModel,\n\n updateScrollOffset,\n removeScrollOffset,\n\n updateSearchingModel,\n\n scrollTo,\n onInput: (item: DataGridItem<T>, columnName: string, value: unknown) => {\n item[columnName] = value;\n context.emit('update:item', item);\n },\n };\n },\n});\n</script>\n"],"names":["DataGridFooter","DataGridFooterStatus","_sfc_main$g","defineComponent","root","ref","rootStyles","computed","Styles.DataGridFooter","statusStyles","Styles.DataGridFooterStatus","_hoisted_1","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","_createCommentVNode","_renderSlot","DataGridHeader","DataGridHeaderTitle","_sfc_main$f","Styles.DataGridHeader","titleStyles","Styles.DataGridHeaderTitle","DataGridTableContentCell","_sfc_main$e","OrCheckbox","OrDatePicker","OrDateTimePicker","OrInput","OrRating","OrSelect","OrSwitch","OrTagInput","OrTimePicker","props","context","Styles.DataGridTableContentCell","_a","rootInlineStyles","model","value","control","_resolveComponent","_normalizeStyle","_Fragment","_createBlock","_component_OrInput","$event","_component_OrRating","_component_OrSelect","_component_OrCheckbox","_component_OrSwitch","_component_OrDatePicker","_component_OrTimePicker","_component_OrDateTimePicker","_component_OrTagInput","DataGridVariant","DataGridTableContentRow","DataGridTableContentRowVariants","_sfc_main$d","Styles.DataGridTableContentRow","Styles.DataGridTableContentRowVariants","DataGridTableContent","_sfc_main$c","Styles.DataGridTableContent","DataGridTableFooterCell","_sfc_main$b","Styles.DataGridTableFooterCell","DataGridTableFooterRow","DataGridTableFooterRowVariants","_sfc_main$a","Styles.DataGridTableFooterRow","Styles.DataGridTableFooterRowVariants","DataGridTableFooter","_sfc_main$9","Styles.DataGridTableFooter","DataGridTableHeaderCell","_sfc_main$8","OrIcon","Styles.DataGridTableHeaderCell","_b","_c","toggleSorting","width","useElementSize","watch","nextRoot","prevRoot","_component_OrIcon","DataGridTableHeaderRow","DataGridTableHeaderRowVariants","_sfc_main$7","Styles.DataGridTableHeaderRow","Styles.DataGridTableHeaderRowVariants","DataGridTableHeader","_sfc_main$6","Styles.DataGridTableHeader","DataGridTablePlaceholder","DataGridTablePlaceholderVariants","_sfc_main$5","Styles.DataGridTablePlaceholder","Styles.DataGridTablePlaceholderVariants","DataGridTable","_sfc_main$4","Styles.DataGridTable","gridTemplateColumns","column","DataGridToolbar","_sfc_main$3","Styles.DataGridToolbar","DataGridNotification","DataGridNotificationPositionVariants","_sfc_main$2","OrNotification","Styles.DataGridNotification","Styles.DataGridNotificationPositionVariants","_createVNode","_component_OrNotification","_mergeProps","_withCtx","DataGridTableExtraRow","DataGridTableExtraRowVariants","_sfc_main$1","Styles.DataGridTableExtraRow","Styles.DataGridTableExtraRowVariants","DataGrid","_sfc_main","Partials.OrDataGridFooter","Partials.OrDataGridHeader","Partials.OrDataGridTable","Partials.OrDataGridTableContent","Partials.OrDataGridTableContentCell","Partials.OrDataGridTableContentRow","Partials.OrDataGridTableFooter","Partials.OrDataGridTableFooterCell","Partials.OrDataGridTableFooterRow","Partials.OrDataGridTableExtraRow","Partials.OrDataGridTableHeader","Partials.OrDataGridTableHeaderCell","Partials.OrDataGridTableHeaderRow","Partials.OrDataGridTablePlaceholder","Partials.OrDataGridToolbar","Partials.OrDataGridNotification","OrPagination","OrSearch","OrSkeletonText","pagination","Styles.DataGrid","tableInlineStyles","scrollOffsetStart","accumulator","scrollOffsetEnd","selectingIndicator","item","selectingModel","filteringModel","searchingModel","sortingModel","pagingModel","showSelectingCouter","selectingDisabled","skeletonsLength","updateSearchingModel","updateScrollOffset","header","offset","removeScrollOffset","handleMouseEnterRow","handleMouseLeaveRow","handleMouseEnterCell","columnName","handleMouseLeaveCell","handleRowClick","scrollTo","event","_component_OrDataGridHeader","_createSlots","_normalizeProps","_guardReactiveProps","_component_OrSearch","_component_OrDataGridToolbar","_component_OrDataGridTable","_component_OrDataGridTableHeader","_component_OrDataGridTableHeaderRow","_component_OrDataGridTableHeaderCell","_renderList","_component_OrDataGridNotification","_component_OrDataGridTableContent","_component_OrDataGridTableExtraRow","n","_component_OrDataGridTableContentRow","_component_OrDataGridTableContentCell","_component_OrDataGridTablePlaceholder","_component_OrDataGridTableFooter","_component_OrDataGridTableFooterRow","_component_OrDataGridTableFooterCell","_component_OrDataGridFooter","_component_OrPagination"],"mappings":";;;;;;;;;;;;;;;;;;;AAAO,MAAMA,KAA2B;AAAA;AAAA,EAEtC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,KAAiC;AAAA;AAAA,EAE5C;AACF,GCCAC,KAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGC;AAAAA,IAAO,CACX,GAEKC,IAAeF,EAAS,MAAM;AAAA,MAClC,GAAGG;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAAN;AAAA,MACA,YAAAE;AAAA,MAEA,cAAAG;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GAtCWE,KAAK;AAAA,EAAA,KAAA;AAAA;;SAZPC,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,WAEFC,EAAMR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA,IACTA,EAAA,OAAA,UAAAM,EAAA,GAAAC,EAAE,OAAY;AAAA,MAAA,KAAA;AAAA,MACvB,OAAAC,EAAyBR,EAAZ,YAAQ;AAAA,IAAA,GAAA;AAAA;IAIzB,GAAA,CAAA,KAEgBS,EAAM,IAAA,EAAA;AAAA,IACpBC,EAAAV,EAAA,QAAA,SAAA;AAAA,IAAAA,EAAA,OAAA,UAGFM,KAAqBC,EAAA,OAAAT,EAAA,KAAAW,EAAA,IAAA,EAAA;AAAA;;;oDCjBZE,KAA2B;AAAA;AAAA,EAEtC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GAEaC,KAAgC;AAAA;AAAA,EAE3C;AACF,GCSAC,KAAevB,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGoB;AAAAA,IAAO,CACX,GAEKC,IAAcrB,EAAS,MAAM;AAAA,MACjC,GAAGsB;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAAzB;AAAA,MACA,YAAAE;AAAA,MAEA,aAAAsB;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GAtCWjB,KAAK;AAAA,EAAA,KAAA;AAAA;;SAVPC,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,WAEFC,EAAMR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA,IACTA,EAAA,OAAA,SAAAM,EAAA,GAAAC,EAAE,OAAW;AAAA,MAAA,KAAA;AAAA,MACtB,OAAAC,EAAwBR,EAAX,WAAO;AAAA,IAAA,GAAA;AAAA;IAKtB,GAAA,CAAA,KAAAS,EAAA,IAAA,EAAA;AAAA,IAAAT,EAAA,OAAA,aAGFM,KAAwBC,EAAA,OAAAT,EAAA,KAAAW,EAAA,IAAA,EAAA;AAAA;;;oDCffQ,KAAqC;AAAA;AAAA,EAEhD;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GC6EAC,KAAe5B,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,YAAA6B;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMC,GAAOC,GAAS;AAEpB,UAAMtC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;;AAAA;AAAA,QAChC;AAAA,QACA,GAAGoC;AAAAA,QACH,IAAGC,IAAAH,EAAM,WAAN,QAAAG,EAAc,aAAa,CAAC,UAAUH,EAAM,OAAO,UAAU,EAAE,IAAI,CAAC;AAAA,MAAA;AAAA,KACxE,GAEKI,IAAmBtC,EAAS,MAAM;AACtC,UAAIkC,EAAM;AACA,gBAAAA,EAAM,OAAO,YAAY;AAAA,UAC/B,KAAK;AACI,mBAAA;AAAA,cACL,UAAU;AAAA,cACV,kBAAkB;AAAA,cAClB,eAAeA,EAAM,OAAO,cAAc,QAAQ,gBAAgB;AAAA,cAClE,gBAAgBA,EAAM,OAAO;AAAA,YAAA;AAAA,UAGjC,KAAK;AACI,mBAAA;AAAA,cACL,UAAU;AAAA,cACV,gBAAgB;AAAA,cAChB,eAAeA,EAAM,OAAO,cAAc,QAAQ,gBAAgB;AAAA,cAClE,gBAAgBA,EAAM,OAAO;AAAA,YAAA;AAAA,UAGjC;AACS,mBAAA;AAAA,cACL,eAAeA,EAAM,OAAO,cAAc,QAAQ,gBAAgB;AAAA,cAClE,gBAAgBA,EAAM,OAAO;AAAA,YAAA;AAAA,QAEnC;AAGK,aAAA;AAAA,QACL,gBAAgB;AAAA,MAAA;AAAA,IAClB,CACD,GAGKK,IAAQvC,EAAS;AAAA,MACrB,KAAK,MAAMkC,EAAM;AAAA,MAEjB,KAAK,CAACM,MAAU;AACN,QAAAL,EAAA,KAAK,SAASK,CAAK;AAAA,MAC7B;AAAA,IAAA,CACD,GAEKC,IAAUzC,EAAS,MAAM;;AAC7B,cAAOqC,IAAAH,EAAM,WAAN,gBAAAG,EAAc;AAAA,IAAA,CACtB;AAEM,WAAA;AAAA,MACL,MAAAxC;AAAA,MACA,YAAAE;AAAA,MACA,kBAAAuC;AAAA,MAEA,OAAAC;AAAA,MAEA,SAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GAxIWrC,KAAK;AAAA,EAAA,KAAA;AAAA;;;qLAtFfsC,EA0FM,YAAA;SAxFE9B,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAK;AAAA,IAAA,OAAAC,EAAAR,EAAA,UAAA;AAAA,WAEUqC,EAAQrC,EAAA,gBAAA;AAAA,EAAA,GAAA;AAAA,MAIH,WAArBU,EAAAV,EAAA,QAAA,WAAA,EA0EW,cAzEO,WAKZM,KAAAC,EAAA+B,GAAA,EAAA,KAAA,KAAA;AAAA,MAAAtC,EAAA,QAAA,SAAA,UAAAM,EAAA,GAHSiC,EAAKC,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAAYxC,EAAA;AAAA,QACZ,uBAAmBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAwC,MAAAzC,EAAA,QAAAyC;AAAA,QAAA,MAAA;AAAA;SAID,MAAA,GAAC,CAAI,YAAA,CAAA,KAAAhC,EAC1B,IAIE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,YAAAM,EAAA,GAHSiC,EAAKC,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAAMxC,EAAQ;AAAA,QACd,uBAAmBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAwC,MAAAzC,EAAA,QAAAyC;AAAA,QAAA,MAAA;AAAA;SAID,MAAA,GAAC,CAAI,YAAA,CAAA,KAAAhC,EAC1B,IAEE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,YAAAM,EAAA,GADSiC,EAAKG,GAAA;AAAA,QAAA,KAAA;AAAA;;SAIK,MAAA,GAAC,CAAI,YAAA,CAAA,KAAAjC,EAC1B,IAKE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,YAAAM,EAAA,GAJSiC,EAAKI,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAAS3C,EAAA;AAAA,QACT,uBAAmBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAwC,MAAAzC,EAAA,QAAAyC;AAAA,QACnB,SAAQzC,EAAI,QAAA;AAAA,QAAA,SAAA;AAAA;SAIM,MAAA,GAAC,CAAI,cAAA,WAAA,QAAA,CAAA,KAAAS,EAC1B,IAEE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,cAAAM,EAAA,GADSiC,EAAKK,GAAA;AAAA,QAAA,KAAA;AAAA;;SAIK,MAAA,GAAC,CAAI,YAAA,CAAA,KAAAnC,EAC1B,IAEE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,YAAAM,EAAA,GADSiC,EAAKM,GAAA;AAAA,QAAA,KAAA;AAAA;;SAIK,MAAA,GAAC,CAAI,YAAA,CAAA,KAAApC,EAC1B,IAIE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,UAAAM,EAAA,GAHSiC,EAAKO,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAAS9C,EAAA;AAAA,QACT,uBAAYC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAwC,MAAAzC,EAAA,QAAAyC;AAAA,QAAA,SAAA;AAAA;SAIM,MAAA,GAAC,CAAI,cAAA,QAAA,CAAA,KAAAhC,EAC1B,IAIE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,UAAAM,EAAA,GAHSiC,EAAKQ,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAAS/C,EAAA;AAAA,QACT,uBAAYC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAwC,MAAAzC,EAAA,QAAAyC;AAAA,QAAA,SAAA;AAAA;SAIM,MAAA,GAAC,CAAI,cAAA,QAAA,CAAA,KAAAhC,EAC1B,IAIE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,cAAAM,EAAA,GAHSiC,EAAKS,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAAShD,EAAA;AAAA,QACT,uBAAYC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAwC,MAAAzC,EAAA,QAAAyC;AAAA,QAAA,SAAA;AAAA;SAIM,MAAA,GAAC,CAAI,cAAA,QAAA,CAAA,KAAAhC,EAC1B,IAGE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,UAAAM,EAAA,GAFSiC,EAAKU,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAASjD,EAAA;AAAA,QAAA,uBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAwC,MAAAzC,EAAA,QAAAyC;AAAA;MAMd,GAAA,MAAA,GAAA,CAAA,YAAA,CAAA,KAAAhC,EAAA,IAAA,EAAA;AAAA,IAAA,GACE,EAAA,MAAAH,EAAA,GAAAC,EAAA,OAAAT,IAAA;AAAA;;;;;ACnDI,IAAAoD,sBAAAA,OACVA,EAAA,WAAW,YACXA,EAAA,cAAc,eACdA,EAAA,UAAU,WAHAA,IAAAA,KAAA,CAAA,CAAA;ACnCL,MAAMC,KAAoC;AAAA;AAAA,EAE/C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,KAAqE;AAAA,EAChF,CAACF,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCjCAG,KAAe/D,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMsC,GAAO;AAEX,UAAMrC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG4D;AAAAA,MACH,GAAGC,GAAuC3B,EAAM,OAAO;AAAA,MACvD,GAAIA,EAAM,cAAc,CAAC,gBAAgB,IAAI,CAAC;AAAA,IAAA,CAC/C;AAEM,WAAA;AAAA,MACL,MAAArC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SArDSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAA;AAAA,IAAA,OAAAC,EAAAR,EAAA,UAAA;AAAA,IAED,UAAQA,EAAA;AAAA,EAAA,GAAA;AAAA;;;oDCNCwD,KAAiC;AAAA;AAAA,EAE5C;AACF,GCUAC,KAAenE,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGgE;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAAnE;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAhCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLC2D,KAAoC;AAAA;AAAA,EAE/C;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GCAAC,KAAetE,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGmE;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAAtE;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAhCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCHC8D,KAAmC;AAAA;AAAA,EAE9C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAoE;AAAA,EAC/E,CAACb,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCtBAc,KAAe1E,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMsC,GAAO;AAEX,UAAMrC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGuE;AAAAA,MACH,GAAGC,GAAsCtC,EAAM,OAAO;AAAA,IAAA,CACvD;AAEM,WAAA;AAAA,MACL,MAAArC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAzCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLCmE,KAAgC;AAAA;AAAA,EAE3C;AACF,GCUAC,KAAe9E,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG2E;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAA9E;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAhCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLCsE,KAAoC;AAAA;AAAA,EAE/C;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GCGAC,KAAejF,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,QAAAkF;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAM5C,GAAOC,GAAS;AAEpB,UAAMtC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;;AAAA;AAAA,QAChC;AAAA,QACA,GAAG+E;AAAAA,QACH,IAAG1C,IAAAH,EAAM,WAAN,QAAAG,EAAc,aAAa,CAAC,UAAUH,EAAM,OAAO,UAAU,EAAE,IAAI,CAAC;AAAA,QACvE,IAAG8C,IAAA9C,EAAM,aAAN,QAAA8C,EAAgB,aAAWC,IAAA/C,EAAM,WAAN,QAAA+C,EAAc,QAAO,CAAC,qBAAqB,IAAI,CAAC;AAAA,MAAA;AAAA,KAC/E,GAEK3C,IAAmBtC,EAAS,MAAM;AACtC,UAAIkC,EAAM;AACA,gBAAAA,EAAM,OAAO,YAAY;AAAA,UAC/B,KAAK;AACI,mBAAA;AAAA,cACL,UAAU;AAAA,cACV,kBAAkB;AAAA,cAClB,eAAeA,EAAM,OAAO,cAAc,QAAQ,gBAAgB;AAAA,cAClE,gBAAgBA,EAAM,OAAO;AAAA,YAAA;AAAA,UAGjC,KAAK;AACI,mBAAA;AAAA,cACL,UAAU;AAAA,cACV,gBAAgB;AAAA,cAChB,eAAeA,EAAM,OAAO,cAAc,QAAQ,gBAAgB;AAAA,cAClE,gBAAgBA,EAAM,OAAO;AAAA,YAAA;AAAA,UAGjC;AACS,mBAAA;AAAA,cACL,eAAeA,EAAM,OAAO,cAAc,QAAQ,gBAAgB;AAAA,cAClE,gBAAgBA,EAAM,OAAO;AAAA,YAAA;AAAA,QAEnC;AAGK,aAAA;AAAA,QACL,gBAAgB;AAAA,MAAA;AAAA,IAClB,CACD,GAGKK,IAAQvC,EAAS;AAAA,MACrB,KAAK,MAAM;;AACL,aAACqC,IAAAH,EAAM,aAAN,QAAAG,EAAgB;AAIrB,mBAAO2C,IAAA9C,EAAM,eAAN,gBAAA8C,EAAkB,cAAWC,IAAA/C,EAAM,WAAN,gBAAA+C,EAAc,QAAO/C,EAAM,aAAa;AAAA,MAC9E;AAAA,MAEA,KAAK,CAACM,MAAU;AACN,QAAAL,EAAA,KAAK,qBAAqBK,CAAK;AAAA,MACzC;AAAA,IAAA,CACD;AAGD,aAAS0C,IAAsB;;AACzB,WAAC7C,IAAAH,EAAM,aAAN,QAAAG,EAAgB;AAIrB,YAAIE,EAAM;AACR,UAAAA,EAAM,QAAQ;AAAA,YACZ,GAAGA,EAAM;AAAA,YACT,WAAWA,EAAM,MAAM,cAAc,QAAQ,SAAS;AAAA,UAAA;AAAA,aAEnD;AACD,cAAA,CAACL,EAAM;AACH,kBAAA,IAAI,MAAM,0DAA0D;AAG5E,UAAAK,EAAM,QAAQ;AAAA,YACZ,UAAQyC,IAAA9C,EAAM,WAAN,gBAAA8C,EAAc,SAAQ;AAAA,YAC9B,WAAW;AAAA,UAAA;AAAA,QAEf;AAAA,IACF;AAGM,UAAA,EAAE,OAAAG,MAAUC,GAAevF,GAAM,QAAW,EAAE,KAAK,aAAA,CAAc;AAEjE,WAAAwF,EAAA;AAAA,MACJxF;AAAA,MACAsF;AAAA,MACA,MAAM;;AAAA,gBAAA9C,IAAAH,EAAM,WAAN,gBAAAG,EAAc;AAAA;AAAA,IAAA,GACnB,CAAC;AAAA,MACFiD;AAAA,MACAH;AAAAA,IAAA,GACC;AAAA,MACDI;AAAA,IAAA,MACI;AACA,MAAAA,KAAYA,MAAaD,KACnBnD,EAAA,KAAK,uBAAuBoD,CAAQ,GAG9CpD,EAAQ,KAAK,uBAAuBmD,GAAUH,GAAOjD,EAAM,MAAM;AAAA,IAAA,CAClE,GAEM;AAAA,MACL,MAAArC;AAAA,MACA,YAAAE;AAAA,MACA,kBAAAuC;AAAA,MAEA,OAAAC;AAAA,MAEA,eAAA2C;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;;;YA9KCxC,EAaM,QAAA;SAXE9B,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAK;AAAA,IACL,OAAKC,EAAAR,EAAA,UAAA;AAAA,IAAA,OAAAqC,EAAArC,EAAA,gBAAA;AAAA,IAEN,SAAAC,EAAA,CAAA,MAEMA,EAFN,CAEM,IAAA,CAAAwC,MAAAzC,EAAA;EAAA,GAAA;AAAA;MAEUU,EAAKV,EAAA,QAAA,SAAA;AAAA,IAAA,CAAA;AAAA,oBACWuC,EAAA2C,GAAA;AAAA,MAAA,KAAA;AAAA;;;;oDCVvBC,KAAmC;AAAA;AAAA,EAE9C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAoE;AAAA,EAC/E,CAAClC,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCrBAmC,KAAe/F,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMsC,GAAO;AAEX,UAAMrC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG4F;AAAAA,MACH,GAAGC,GAAsC3D,EAAM,OAAO;AAAA,IAAA,CACvD;AAEM,WAAA;AAAA,MACL,MAAArC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAzCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLCwF,KAAgC;AAAA;AAAA,EAE3C;AACF,GCUAC,KAAenG,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGgG;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAAnG;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAhCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCHC2F,KAAqC;AAAA;AAAA,EAEhD;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAsE;AAAA,EACjF,CAAC1C,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCxBA2C,KAAevG,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMsC,GAAO;AAEX,UAAMrC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGoG;AAAAA,MACH,GAAGC,GAAwCnE,EAAM,OAAO;AAAA,IAAA,CACzD;AAEM,WAAA;AAAA,MACL,MAAArC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAzCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLCgG,KAA0B;AAAA;AAAA,EAErC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GCMAC,KAAe3G,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMsC,GAAO;AAEX,UAAMrC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGwG;AAAAA,IAAO,CACX,GAEKlE,IAAmBtC,EAAS,MAAM;AAChC,YAAAyG,IAAsBvE,EAAM,QAAQ,IAAI,CAACwE,MAAWA,EAAO,SAAS,MAAM;AAE3E,aAAAxE,EAAM,SAA8B,YAChC,EAAE,qBAAqB,OAAOuE,EAAoB,KAAK,GAAG,CAAC,OAG7D,EAAE,qBAAqBA,EAAoB,KAAK,GAAG,EAAE;AAAA,IAAA,CAC7D;AAEM,WAAA;AAAA,MACL,MAAA5G;AAAA,MACA,YAAAE;AAAA,MACA,kBAAAuC;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAzDSjC,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAK;AAAA,IAAA,OAAAC,EAAAR,EAAA,UAAA;AAAA,IAEN,OAAQqC,EAAArC,EAAA,gBAAA;AAAA,EAAA,GAAA;AAAA;;;oDCNCqG,KAA4B;AAAA;AAAA,EAEvC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GCIAC,KAAehH,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG6G;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAAhH;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAhCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCHCwG,KAAiC;AAAA;AAAA,EAE5C;AAAA;AAAA,EAGA;AACF,GAEaC,KAA0E;AAAA,EACrF,CAACvD,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCJAwD,KAAepH,EAAgB;AAAA,EAC7B,YAAY;AAAA,IACV,gBAAAqH;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EACA,MAAM/E,GAAO;AAOJ,WAAA;AAAA,MACL,YAPiBlC,EAAS,MAAM;AAAA,QAChC;AAAA,QACA,GAAGkH;AAAAA,QACH,GAAGC,GAA4CjF,EAAM,OAAO;AAAA,MAAA,CAC7D;AAAA,IAGC;AAAA,EAEJ;AACF,CAAC;;YAhDCQ,EAYM,gBAAA;;IAXJ,OAUiB5B,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA,IAPT8G,EAAAC,GAAAC,GAAEhH,EAAK,cAAA;AAAA,MAAA,OAAA;AAAA,MAMF,SAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAwC,MAAAzC,EAAA,MAAA,oBAAA;AAAA,IAAA,CAAA,GAAA;AAAA,eADTiH,EAA+B,MAAA;AAAA,QAAAjH,EAAA,OAAA,eAAAU,EAAAV,EAAA,QAAA,gBAAA,EAAA,KAAA,EAAA,CAAA,IAAAS,EAAA,IAAA,EAAA;AAAA;;;;;oDCR1ByG,KAAkC;AAAA;AAAA,EAE7C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAmE;AAAA,EAC9E,CAACjE,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCpBAkE,KAAe9H,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMsC,GAAO;AAEX,UAAMrC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG2H;AAAAA,MACH,GAAGC,GAAqC1F,EAAM,OAAO;AAAA,IAAA,CACtD;AAEM,WAAA;AAAA,MACL,MAAArC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA3CSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLCuH,KAAqB;AAAA;AAAA,EAEhC;AACF,GCgRAC,KAAelI,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,YAAA6B;AAAA,IACA,kBAAkBsG;AAAAA,IAClB,kBAAkBC;AAAAA,IAClB,iBAAiBC;AAAAA,IACjB,wBAAwBC;AAAAA,IACxB,4BAA4BC;AAAAA,IAC5B,2BAA2BC;AAAAA,IAC3B,uBAAuBC;AAAAA,IACvB,2BAA2BC;AAAAA,IAC3B,0BAA0BC;AAAAA,IAC1B,yBAAyBC;AAAAA,IACzB,uBAAuBC;AAAAA,IACvB,2BAA2BC;AAAAA,IAC3B,0BAA0BC;AAAAA,IAC1B,4BAA4BC;AAAAA,IAC5B,mBAAmBC;AAAAA,IACnB,wBAAwBC;AAAAA,IACxB,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,gBAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAMzF,EAAgB;AAAA,IACjC;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMtB,GAAOC,GAAS;AAEpB,UAAMtC,IAAOC,KAEPoJ,IAAapJ,KAEbC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGmJ;AAAAA,IAAO,CACX,GAEKC,IAAoBpJ,EAAS,OAAO;AAAA,MACxC,0BAA0B,GAAG,CAAC,GAAGqJ,EAAkB,MAAM,OAAO,CAAC,EAAE,OAAO,CAACC,GAAa9G,MAAU8G,IAAc9G,GAAO,CAAC,CAAC;AAAA,MACzH,wBAAwB,GAAG,CAAC,GAAG+G,EAAgB,MAAM,OAAO,CAAC,EAAE,OAAO,CAACD,GAAa9G,MAAU8G,IAAc9G,GAAO,CAAC,CAAC;AAAA,IACrH,EAAA,GAGIgH,IAAqBxJ,EAAS;AAAA,MAClC,KAAK,MACI,CAAC,CAACkC,EAAM,MAAM,UAAUA,EAAM,MAAM,MAAM,CAACuH,MAASC,EAAe,MAAM,SAASD,EAAK,EAAE,CAAC;AAAA,MAGnG,KAAK,CAACjH,MAAU;AACd,QAAIA,IACFkH,EAAe,QAAQ;AAAA,UACrB,uBAAO,IAAI;AAAA,YACT,GAAGA,EAAe;AAAA,YAClB,GAAGxH,EAAM,MAAM,IAAI,CAACuH,MAASA,EAAK,EAAE;AAAA,UAAA,CACrC;AAAA,QAAA,IAGHC,EAAe,QAAQ;MAE3B;AAAA,IAAA,CACD,GAEKA,IAAiB1J,EAAS;AAAA,MAC9B,KAAK,MAAM;;AAAA,iBAAAqC,IAAAH,EAAM,eAAN,gBAAAG,EAAkB,cAAa,CAAC;AAAA;AAAA,MAE3C,KAAK,CAACG,MAAU;AACd,QAAAL,EAAQ,KAAK,qBAAqB;AAAA,UAChC,WAAWK;AAAA,UACX,WAAWmH,EAAe;AAAA,UAC1B,WAAWC,EAAe;AAAA,UAC1B,SAASC,EAAa;AAAA,UACtB,QAAQC,EAAY;AAAA,QAAA,CACC;AAAA,MACzB;AAAA,IAAA,CACD,GAEKH,IAAiB3J,EAAS;AAAA,MAC9B,KAAK,MAAA;;AAAM,gBAAAqC,IAAAH,EAAM,eAAN,gBAAAG,EAAkB;AAAA;AAAA,MAE7B,KAAK,CAACG,MAAU;AACd,QAAAL,EAAQ,KAAK,qBAAqB;AAAA,UAChC,WAAWuH,EAAe;AAAA,UAC1B,WAAWlH;AAAA,UACX,WAAWoH,EAAe;AAAA,UAC1B,SAASC,EAAa;AAAA,UAEtB,QAAQ;AAAA,YACN,GAAGC,EAAY;AAAA,YACf,QAAQ;AAAA,UACV;AAAA,QAAA,CACqB;AAAA,MACzB;AAAA,IAAA,CACD,GAEKF,IAAiB5J,EAAS;AAAA,MAC9B,KAAK,MAAA;;AAAM,gBAAAqC,IAAAH,EAAM,eAAN,gBAAAG,EAAkB;AAAA;AAAA,MAE7B,KAAK,CAACG,MAAU;AACd,QAAAL,EAAQ,KAAK,qBAAqB;AAAA,UAChC,WAAWuH,EAAe;AAAA,UAC1B,WAAWC,EAAe;AAAA,UAC1B,WAAWnH;AAAA,UACX,SAASqH,EAAa;AAAA,UAEtB,QAAQ;AAAA,YACN,GAAGC,EAAY;AAAA,YACf,QAAQ;AAAA,UACV;AAAA,QAAA,CACqB;AAAA,MACzB;AAAA,IAAA,CACD,GAEKD,IAAe7J,EAAS;AAAA,MAC5B,KAAK,MAAA;;AAAM,gBAAAqC,IAAAH,EAAM,eAAN,gBAAAG,EAAkB;AAAA;AAAA,MAE7B,KAAK,CAACG,MAAU;AACd,QAAAL,EAAQ,KAAK,qBAAqB;AAAA,UAChC,WAAWuH,EAAe;AAAA,UAC1B,WAAWC,EAAe;AAAA,UAC1B,WAAWC,EAAe;AAAA,UAC1B,SAASpH;AAAA,UAET,QAAQ;AAAA,YACN,GAAGsH,EAAY;AAAA,YACf,QAAQ;AAAA,UACV;AAAA,QAAA,CACqB;AAAA,MACzB;AAAA,IAAA,CACD,GAEKA,IAAc9J,EAAS;AAAA,MAC3B,KAAK,MAAA;;AAAM,gBAAAqC,IAAAH,EAAM,eAAN,gBAAAG,EAAkB;AAAA;AAAA,MAE7B,KAAK,CAACG,MAAU;AACd,QAAAL,EAAQ,KAAK,qBAAqB;AAAA,UAChC,WAAWuH,EAAe;AAAA,UAC1B,WAAWC,EAAe;AAAA,UAC1B,WAAWC,EAAe;AAAA,UAC1B,SAASC,EAAa;AAAA,UACtB,QAAQrH;AAAA,QAAA,CACa;AAAA,MACzB;AAAA,IAAA,CACD,GAEK6G,IAAoBvJ,EAAQ,oBAAA,IAA0B,CAAA,GACtDyJ,IAAkBzJ,EAAQ,oBAAA,IAA0B,CAAA,GAEpDiK,IAAsB/J,EAAS,MAC5BkC,EAAM,SAAS,cACnB,OAAOA,EAAM,SAAS,aAAc,WAAWA,EAAM,SAAS,UAAU,gBAAgB,KAAQ,GACpG,GAEK8H,IAAoBhK,EAAS,MAC1BkC,EAAM,MAAM,WAAW,KACzBA,EAAM,WACL,OAAOA,EAAM,SAAS,aAAc,YAAYA,EAAM,SAAS,UAAU,QAEhF,GAEK+H,IAAkBjK,EAAS,MAAM;;AAC9B,eAAAqC,IAAA6G,EAAW,UAAX,gBAAA7G,EAAkB,iBAAgB;AAAA,IAAA,CAC1C;AAGD,aAAS6H,EAAqB1H,GAAqB;AACjD,MAAAoH,EAAe,QAAQpH;AAAA,IACzB;AAES,aAAA2H,EAAmBC,GAAqBC,GAAgB3D,GAA8B;AAC7F,cAAQA,EAAO,YAAY;AAAA,QACzB,KAAK;AACe,UAAA2C,EAAA,MAAM,IAAIe,GAAQC,CAAM,GAC1ChB,EAAkB,QAAQ,IAAI,IAAIA,EAAkB,KAAK,GAEzCE,EAAA,MAAM,OAAOa,CAAM,GACnCb,EAAgB,QAAQ,IAAI,IAAIA,EAAgB,KAAK;AAErD;AAAA,QAEF,KAAK;AACe,UAAAF,EAAA,MAAM,OAAOe,CAAM,GACrCf,EAAkB,QAAQ,IAAI,IAAIA,EAAkB,KAAK,GAEzCE,EAAA,MAAM,IAAIa,GAAQC,CAAM,GACxCd,EAAgB,QAAQ,IAAI,IAAIA,EAAgB,KAAK;AAErD;AAAA,QAEF;AACE,UAAAe,EAAmBF,CAAM;AACzB;AAAA,MACJ;AAAA,IACF;AAEA,aAASG,EAAoBd,GAA6B;AACxD,MAAKvH,EAAM,mBACHC,EAAA,KAAK,aAAasH,CAAI;AAAA,IAChC;AAEA,aAASe,EAAoBf,GAA6B;AACxD,MAAKvH,EAAM,mBACHC,EAAA,KAAK,YAAYsH,CAAI;AAAA,IAC/B;AAES,aAAAgB,EAAqBhB,GAAuBiB,GAAoBlI,GAAkB;AACzF,MAAKN,EAAM,mBACXC,EAAQ,KAAK,cAAc;AAAA,QACzB,MAAAsH;AAAA,QACA,YAAAiB;AAAA,QACA,OAAAlI;AAAA,MAAA,CACD;AAAA,IACH;AAES,aAAAmI,EAAqBlB,GAAuBiB,GAAoBlI,GAAkB;AACzF,MAAKN,EAAM,mBACXC,EAAQ,KAAK,aAAa;AAAA,QACxB,MAAAsH;AAAA,QACA,YAAAiB;AAAA,QACA,OAAAlI;AAAA,MAAA,CACD;AAAA,IACH;AAEA,aAASoI,EAAenB,GAA6B;AACnD,MAAKvH,EAAM,mBACHC,EAAA,KAAK,aAAasH,CAAI;AAAA,IAChC;AAOA,aAASa,EAAmBF,GAA2B;AACnC,MAAAf,EAAA,MAAM,OAAOe,CAAM,GACrCf,EAAkB,QAAQ,IAAI,IAAIA,EAAkB,KAAK,GAEzCE,EAAA,MAAM,OAAOa,CAAM,GACnCb,EAAgB,QAAQ,IAAI,IAAIA,EAAgB,KAAK;AAAA,IACvD;AAGA,aAASsB,EAASC,GAAyB;AACxC,MAAAA,EAAM,cAA8B,eAAe,EAAE,OAAO,UAAW,CAAA;AAAA,IAC1E;AAEO,WAAA;AAAA,MACL,MAAAjL;AAAA,MACA,YAAAE;AAAA,MAEA,YAAAmJ;AAAA,MAEA,mBAAAE;AAAA,MAEA,oBAAAI;AAAA,MACA,qBAAAO;AAAA,MACA,mBAAAC;AAAA,MACA,iBAAAC;AAAA,MAEA,qBAAAM;AAAA,MACA,qBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,sBAAAE;AAAA,MACA,gBAAAC;AAAA,MAEA,gBAAAlB;AAAA,MACA,gBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,aAAAC;AAAA,MAEA,oBAAAK;AAAA,MACA,oBAAAG;AAAA,MAEA,sBAAAJ;AAAA,MAEA,UAAAW;AAAA,MACA,SAAS,CAACpB,GAAuBiB,GAAoBlI,MAAmB;AACtE,QAAAiH,EAAKiB,CAAU,IAAIlI,GACXL,EAAA,KAAK,eAAesH,CAAI;AAAA,MAClC;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;qlBA1mBC/G,EA+PM,kBAAA;SA7PE9B,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAEF,OAAAC,EAAMR,EAAa,UAAQ;AAAA,EAAA,GAAA;AAAA,IAEjCA,EAAA,OAAA,SAAAA,EAAA,SAAA,aAAAA,EAAA,OAAA,UAAAM,EAAA,GAAAiC,EAAEkI,GAAY;AAAA,MAAA,KAAA;AAAA,aAGZjK,EAAM,CAAA,UAAA,CAAA;AAAA,IAAA,GAAAkK,EAAA,EAAA,GAAA,KAAA;AAAA,eACL,QAAK;AAAA,QAEZ,MAAA;AAAA,QAAA,IAAAzD,EAAA,MAAA;AAAA;;;MAIM,IAAA;AAAA,MACCjH,EAAA,SAAA,YAAA;AAAA,QAEP,MAAA;AAAA,QAAA,IAIEiH,EAAqC,MAAA;AAAA,UAAAvG,EAAAV,EAAlB,QAAc,UAAA2K,GAAAC,GAAA,EAAA,sBAAA5K,EAAA,sBAAA,gBAAAA,EAAA,eAAA,CAAA,CAAA,GAAA,MAAA;AAAA,YAAA8G,EAAA+D,GAAA;AAAA;;;;;;;IAMzB,CAAA,GAAA,IAAM,OACpB,IAIoB,EAAA;AAAA,IAAA7K,EAAA,OAAA,WAAAM,OAHVwK,GAAY;AAAA,MAAA,KAAA;AAAA,MAEM,OAAAtK,EAAA,CAAA,UAAA,CAAA;AAAA,IAAA,GAAA;AAAA;;;;IAI9B,CAAA,KACGC,EAAK,IAAA,EAAA;AAAA,IAAAqG,EACAiE,GAAE;AAAA,MACP,OAAOvK,EAAS,CAAA,QAAA,EAAA,wBAAAR,EAAA,MAAA,WAAA,EAAA,CAAA,CAAA;AAAA,MAChB,OAAkBqC,EAAArC,EAAA,iBAAA;AAAA,MAAA,SAAAA,EAAA;AAAA;;MAgCU,SAAAiH,EAAA,MAAA;AAAA,QAAAH,EA7B3BkE,GA6B2B,MAAA;AAAA,UAbd,SAAA/D,EAAA,MAAA;AAAA,YAAAH,EAbKmE,GAAkB,EAAA,SAAAjL,EAAA,QAAA,GAAA;AAAA,cAChC,SAAAiH,EAAA,MAAA;AAAA,gBAAAjH,EAAA,SAAA,aAAAM,EAAA,GACkCiC,EAAA2I,GAAA;AAAA,kBAChC,KAAK;AAAA,kBACJ,QAAsB,EAAA,YAAA,QAAA;AAAA,kBACtB,OAAA;AAAA,kBAAA,yBAAAlL,EAAA;AAAA,kBAMC,yBAAAA,EAAA;AAAA,gBAAA,GAAA;AAAA,kBAHS,SAAAiH,EAAA,MAAA;AAAA,oBAAAH,EAAAlE,GAAA;AAAA,sBACR,YAAgB5C,EAAA;AAAA,sBAChB,uBAAUC,EAAiB,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAwC,MAAAzC,EAAA,qBAAAyC;AAAA,sBAAA,eAAA,CAAAzC,EAAA,sBAAAA,EAAA,eAAA,SAAA;AAAA;;;;gBAKlC,GAAA,GAAA,CAAA,yBAAA,uBAU4B,CAV5B,KAAAS,EAAA,IAAA,EAAA;AAAA,iBAAAH,EAEQ,EAAO,GAAIC,EAAA+B,GAAA,MAAA6I,EAAAnL,EAAA,SAAA,CAAAoG,YACI7D,EAAA2I,GAAA;AAAA,kBAAA,KAAA9E,EAAA;AAAA,kBACpB,YAAQpG,EAAM;AAAA,kBACd,uBAAkBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAwC,MAAAzC,EAAA,eAAAyC;AAAA,kBAClB,QAAA2D;AAAA,kBACA,UAAApG,EAAA;AAAA,kBAAA,yBAAAA,EAAA;AAAA,kBAEiB,yBAAAA,EAAA;AAAA,gBAAA,GAAA;AAAA;;;;;;;;;UAKhB,GAAA;AAAA,QAAA,CAAA;AAAA,QACLA,EAAA,gBAAAM,KAAYiC,EAAE6I,GAAY;AAAA,UAC1B,KAAA;AAAA,UACA,cAAkBpL,EAAA;AAAA,UAAA,SAAAA,EAAA;AAAA,UAGL,qBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAwC,MAAAzC,EAAA,MAAA,oBAAA;AAAA,QAAA,GAAA0K,EAAA,EAAA,GAAA,KAAA;AAAA,mBACL,eAAY;AAAA,YAEnB,MAAA;AAAA,YAAA,IAAAzD,EAAA,MAAA;AAAA;;;;QAGJ,CAAA,GAAA,MAwHyB,CAhHZ,gBAAA,SAAA,CAAA,KAAAxG,EAAA,IAAA,EAAA;AAAA,QAAAqG,EAPKuE,GAAM,MAAA;AAAA,UACpB,SAAApE,EAAA,MAAA;AAAA,YAAAjH,EAAA,OAAA,aAAA,KAAAM,EACmB,GAAAiC,EAAA+I,GAAA;AAAA,cACjB,KAAK;AAAA,cAAA,SAAAtL,EAAA;AAAA;;;;;;YAKO,GAAA,GAAA,CAAA,SAAO,CACrB,KAAAS,EAAA,IAAA,EAAA;AAAA,YAEST,EAAA,WAAAM,EAAA,EAAA,GAAAC,EAAA+B,GAAA,EAAA,KAAA,EAAA,GAAA6I,EAAAnL,EAAA,iBAAA,CAAAuL,OACNjL,EAAA,GAAgBiC,EAAAiJ,GAAA;AAAA,cAChB,KAAAD;AAAA,cAAA,SAAAvL,EAAA;AAAA,cAED,aAAAA,EAAA;AAAA,YAAA,GAAA;AAAA,cACE,SAAAiH,EAAA,MAAA;AAAA,gBAAAjH,EAAA,SAAA,aAAAM,EAAA,GACkCiC,EAAAkJ,GAAA;AAAA,kBAC/B,KAAA;AAAA,kBAAA,QAAA,EAAA,YAAA,QAAA;AAAA;;;;;;gBAML,CAAA,KAAAhL,EAAA,IAAA,EAAA;AAAA,iBAAAH,EAEQ,EAAO,GAAIC,EAAA+B,GAAA,MAAA6I,EAAAnL,EAAA,SAAA,CAAAoG,OACV9F,EAAQ,GAAAiC,EAAAkJ,GAAA;AAAA,kBACd,KAAUrF,EAAA;AAAA,kBACV,QAAAA;AAAA,kBAAA,UAAApG,EAAA;AAAA;;2BAMCiH,EAAkB,MAAA;AAAA,oBAAAvG,EAAAV,EAAA,QAAA,kBAAA,EAAA,QAAAoG,EAAA,GAAA,MAAA;AAAA;;;;;;;YAML,GAAA,MAAK,CAAC,WAAM,aAAA,CAAA,EAAA,GAAA,GAAA,KAAApG,EAAA,MAAA,SAAA,KAAAM,EAGvB,EAAO,GAAAC,EAAA+B,GAAA,EAAA,KAAA,EAAA,GAAA6I,EAAAnL,EAAA,OAAA,CAAAmJ,OACZ7I,EAAA,GAAgBiC,EAAAiJ,GAAA;AAAA,cAChB,KAAUrC,EAAA;AAAA,cACV,SAAanJ,EAAA;AAAA,cACb,UAAAA,EAAU,eAAQ,SAAAmJ,EAAmB,EAAC;AAAA,cACtC,aAAUnJ,EAAA;AAAA,cACV,cAAK,MAAQA,EAAmB,oBAAAmJ,CAAA;AAAA,cAAA,cAAA,MAAAnJ,EAAA,oBAAAmJ,CAAA;AAAA,cAgBtB,SAAA,MAAAnJ,EAAA,eAAAmJ,CAAA;AAAA,YAAA,GAAA;AAAA,cAbT,SAAAlC,EAAA,MAAA;AAAA,gBAAAjH,EAAA,SAAA,aAAAM,EAAA,GACkCiC,EAAAkJ,GAAA;AAAA,kBAC/B,KAAA;AAAA,kBACD,QAAM,EAAA,YAAA,QAAA;AAAA,kBACL,eAAU;AAAA,kBACV,OAAA;AAAA,kBAAA,cAAA,MAAAzL,EAAA,qBAAAmJ,GAAA,aAAAnJ,EAAA,eAAA,SAAAmJ,EAAA,EAAA,CAAA;AAAA,kBAMC,cAAA,MAAAnJ,EAAA,qBAAAmJ,GAAA,aAAAnJ,EAAA,eAAA,SAAAmJ,EAAA,EAAA,CAAA;AAAA,gBAAA,GAAA;AAAA,kBAHS,SAAAlC,EAAA,MAAA;AAAA,oBAAAH,EAAAlE,GAAA;AAAA,sBACR,YAAY5C,EAAE;AAAA,sBACd,uBAAUC,EAAiB,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAwC,MAAAzC,EAAA,iBAAAyC;AAAA,sBAAA,OAAA0G,EAAA;AAAA;;;;gBAKlC,GAAA,MAAA,CAAA,gBAAA,cAkB6B,CAlB7B,KAAA1I,EAAA,IAAA,EAAA;AAAA,iBAAAH,EAEQ,EAAO,GAAIC,EAAA+B,GAAA,MAAA6I,EAAAnL,EAAA,SAAA,CAAAoG,OAChB9F,EAAA,GAAkBiC,EAAWkJ,GAAA;AAAA,kBAC7B,KAAQrF,EAAA;AAAA,kBACR,eAAU+C,EAAQ/C,EAAA,IAAA;AAAA,kBAClB,QAAAA;AAAA,kBACA,UAAOpG,EAAA;AAAA,kBACP,SAAA,CAAAyC,MAAkBzC,EAAqB,QAAAmJ,GAAA/C,EAAA,MAAM3D,CAAM;AAAA,kBACnD,WAAUxC,EAAA,CAAA,MAAQA,EAAqB,CAAA,IAAA,CAAAwC,MAAAzC,EAAM,SAAOyC,CAAM;AAAA,kBAAA,cAAA,MAAAzC,EAAA,qBAAAmJ,GAAA/C,EAAA,MAAA+C,EAAA/C,EAAA,IAAA,CAAA;AAAA,kBAQpD,cAAA,MAAApG,EAAA,qBAAAmJ,GAAA/C,EAAA,MAAA+C,EAAA/C,EAAA,IAAA,CAAA;AAAA,gBAAA,GAAA;AAAA,2BAJJa,EAAc,MAAA;AAAA,oBACJvG,EAAAV,EAAA,QAAAoG,EAAA,MAAA;AAAA,sBAAA,QAAAA;AAAA;;;;;;;;;eAQQ,MAAA,CAAA,WAAA,YAAA,eAAiC,gBAAc,gBAAoB,SAAA,CAAA,EAAA,GAAA,GAAA,KAAApG,EAAA,OAAA,oBAAAA,EAAA,SAAA,aAAAA,EAAA,kBAAAA,EAAA,SAAA,aAAAA,EAAA,mBAAAM,EAAA,KAElFoL,GAAiB;AAAA,cACxB,KAAA;AAAA,cAAA,OAAAlL,EAAA,CAAA,eAAA,CAAA;AAAA;;uBAIEyG,EAAQ,MAAA;AAAA,gBAAAvG,EACAV,EAAc,QAAA,mBAAA;AAAA,kBAAA,QAAAA,EAAA;AAAA;;;cAKR,GAAA;AAAA,YACnB,GAAA,GAAA,CAAA,SAAA,CAAA,KAAAA,EAAA,OAAA,SAAAM,OACUoL,GAAiB;AAAA,cACxB,KAAA;AAAA,cAAA,OAAAlL,EAAA,CAAA,eAAA,CAAA;AAAA;;;;;;YAMW,GAAM,qBACpB,IAI0B,EAAA;AAAA,YAAAR,EAAA,OAAA,YAAA,KAAAM,EAHP,GAAAiC,EAAA+I,GAAA;AAAA,cAAA,KAAA;AAAA;;;;;;;;;;;MAQT,GAAA;AAAA,IAAA,GAAA,GAAA,CAAA,SAAA,SACd,WASwB,UAAA,CAAA;AAAA,IAAAtL,EAAA,OAAA,WARtB,KAO2BM,EAAA,GAAAiC,EAAAoJ,GAAA,EAAA,KAAA,KAAA;AAAA,MANnB,SAAA1E,EAAA,MAAA;AAAA,QAAAH,EACI8E,GAAO;AAAA,UAAA,OAAApL,EAAA,CAAA,UAAA,CAAA;AAAA;;UAGa,SAAAyG,EAAA,MAAA;AAAA,YAAAH,EAA5B+E,GAAwB,MAAA;AAAA,cAAA,SAAA5E,EAAA,MAAA;AAAA;;;;;;;;;IAMhB,CAAA,KAAAxG,EACd,IA4BmB,EAAA;AAAA,IAAAT,EAAA,OAAA,WAAAA,EAAA,uBAAAA,EAAA,SAAA,UAAAM,OA3BTwL,GAAY;AAAA,MAAA,KAAA;AAAA,MAGZ,OAAAtL,EAAS,CAAS,UAAI,CAAA;AAAA,IAAA,GAAAkK,EAAA,EAAA,GAAA,KAAA;AAAA,iBACrB,aAAM1K,EAAA,eAAA,SAAA,IAAA;AAAA;;;;;MAMP,IAAA;AAAA,eACC,UAAO;AAAA,QAEd,MAAA;AAAA,QAAA,IAAAiH,EAAA,MAAA;AAAA;;;MAIM,IAAA;AAAA,MACCjH,EAAA,SAAA,SAAA;AAAA,QAEP,MAAA;AAAA,QAAA,IACEiH,EAAI,MAAA;AAAA,UACgBH,EAAAiF,GAAA;AAAA,YAAA,KAAA;AAAA,YACnB,YAAQ/L,EAAA;AAAA,YACR,uBAAkBC,EAAO,CAAO,MAAAA,EAAA,CAAA,IAAA,CAAAwC,MAAAzC,EAAA,cAAAyC;AAAA,YAAA,QAAAzC,EAAA,SAAA,OAAA;AAAA;;;;;;;;;"}
|