{"version":3,"file":"props.mjs","names":[],"sources":["../../src/internal/props.ts"],"sourcesContent":["/** 集中维护复制并适配的 Element Plus 运行时 Props；业务组件在此基础上覆写。 */\nimport { ArrowDown, CircleClose } from \"@element-plus/icons-vue\";\nimport { tagProps, useAriaProps, useEmptyValuesProps, useSizeProp, useTooltipContentProps } from \"element-plus\";\nimport { definePropType } from \"../utils/vue/props\";\nimport type { SelectV2Props as ElementPlusSelectV2Props, Options, Placement, TableColumnCtx, TableProps } from \"element-plus\";\nimport type { CSSProperties, Component, PropType } from \"vue\";\nimport type { ElSelectorModelValue } from \"../components/select/src/select.type\";\nimport type { DefaultRow } from \"../components/table/src/table.state\";\n\ntype Layout = \"fixed\" | \"auto\";\n\n/** FaTable 树形数据的字段配置 */\nexport interface TreeProps {\n\thasChildren?: string;\n\tchildren?: string;\n\tcheckStrictly?: boolean;\n}\n\n/** Element Plus Table 的透传 Props 定义。 */\nexport const tableProps = {\n\t/**\n\t * table data\n\t */\n\tdata: {\n\t\ttype: Array as PropType<DefaultRow[]>,\n\t\tdefault: (): DefaultRow[] => [],\n\t},\n\t/**\n\t * size of Table\n\t */\n\tsize: useSizeProp,\n\twidth: [String, Number],\n\t/**\n\t * table's height. By default it has an `auto` height. If its value is a number, the height is measured in pixels; if its value is a string, the value will be assigned to element's style.height, the height is affected by external styles\n\t */\n\theight: [String, Number],\n\t/**\n\t * table's max-height. The legal value is a number or the height in px\n\t */\n\tmaxHeight: [String, Number],\n\t/**\n\t * whether width of column automatically fits its container\n\t */\n\tfit: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * whether Table is striped\n\t */\n\tstripe: Boolean,\n\t/**\n\t * whether Table has vertical border\n\t */\n\tborder: Boolean,\n\t/**\n\t * key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used\n\t */\n\trowKey: [String, Function] as PropType<TableProps<DefaultRow>[\"rowKey\"]>,\n\t/**\n\t * whether Table header is visible\n\t */\n\tshowHeader: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * whether to display a summary row\n\t */\n\tshowSummary: Boolean,\n\t/**\n\t * displayed text for the first column of summary row\n\t */\n\tsumText: String,\n\t/**\n\t * custom summary method\n\t */\n\tsummaryMethod: Function as PropType<TableProps<DefaultRow>[\"summaryMethod\"]>,\n\t/**\n\t * function that returns custom class names for a row, or a string assigning class names for every row\n\t */\n\trowClassName: [String, Function] as PropType<TableProps<DefaultRow>[\"rowClassName\"]>,\n\t/**\n\t * function that returns custom style for a row, or an object assigning custom style for every row\n\t */\n\trowStyle: [Object, Function] as PropType<TableProps<DefaultRow>[\"rowStyle\"]>,\n\t/**\n\t * function that returns custom class names for a cell, or a string assigning class names for every cell\n\t */\n\tcellClassName: [String, Function] as PropType<TableProps<DefaultRow>[\"cellClassName\"]>,\n\t/**\n\t * function that returns custom style for a cell, or an object assigning custom style for every cell\n\t */\n\tcellStyle: [Object, Function] as PropType<TableProps<DefaultRow>[\"cellStyle\"]>,\n\t/**\n\t * function that returns custom class names for a row in table header, or a string assigning class names for every row in table header\n\t */\n\theaderRowClassName: [String, Function] as PropType<TableProps<DefaultRow>[\"headerRowClassName\"]>,\n\t/**\n\t * function that returns custom style for a row in table header, or an object assigning custom style for every row in table header\n\t */\n\theaderRowStyle: [Object, Function] as PropType<TableProps<DefaultRow>[\"headerRowStyle\"]>,\n\t/**\n\t * function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header\n\t */\n\theaderCellClassName: [String, Function] as PropType<TableProps<DefaultRow>[\"headerCellClassName\"]>,\n\t/**\n\t * function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header\n\t */\n\theaderCellStyle: [Object, Function] as PropType<TableProps<DefaultRow>[\"headerCellStyle\"]>,\n\t/**\n\t * whether current row is highlighted\n\t */\n\thighlightCurrentRow: Boolean,\n\t/**\n\t * key of current row, a set only prop\n\t */\n\tcurrentRowKey: [String, Number],\n\t/**\n\t * displayed text when data is empty. You can customize this area with `#empty`\n\t */\n\temptyText: String,\n\t/**\n\t * set expanded rows by this prop, prop's value is the keys of expand rows, you should set row-key before using this prop\n\t */\n\texpandRowKeys: Array as PropType<TableProps<DefaultRow>[\"expandRowKeys\"]>,\n\t/** controls whether a row can be expanded */\n\trowExpandable: Function as PropType<TableProps<DefaultRow>[\"rowExpandable\"]>,\n\t/**\n\t * whether expand all rows by default, works when the table has a column type=\"expand\" or contains tree structure data\n\t */\n\tdefaultExpandAll: Boolean,\n\t/**\n\t * set the default sort column and order. property `prop` is used to set default sort column, property `order` is used to set default sort order\n\t */\n\tdefaultSort: Object as PropType<TableProps<DefaultRow>[\"defaultSort\"]>,\n\t/**\n\t * the `effect` of the overflow tooltip\n\t */\n\ttooltipEffect: String,\n\t/**\n\t * the options for the overflow tooltip, [see the following tooltip component](tooltip.html#attributes)\n\t */\n\ttooltipOptions: Object as PropType<TableProps<DefaultRow>[\"tooltipOptions\"]>,\n\t/**\n\t * method that returns rowspan and colspan\n\t */\n\tspanMethod: Function as PropType<TableProps<DefaultRow>[\"spanMethod\"]>,\n\t/**\n\t * controls the behavior of master checkbox in multi-select tables when only some rows are selected (but not all). If true, all rows will be selected, else deselected\n\t */\n\tselectOnIndeterminate: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * horizontal indentation of tree data\n\t */\n\tindent: {\n\t\ttype: Number,\n\t\tdefault: 16,\n\t},\n\t/**\n\t * configuration for rendering nested data\n\t */\n\ttreeProps: {\n\t\ttype: Object as PropType<TreeProps>,\n\t\tdefault: (): { hasChildren: string; children: string; checkStrictly: boolean } => ({\n\t\t\thasChildren: \"hasChildren\",\n\t\t\tchildren: \"children\",\n\t\t\tcheckStrictly: false,\n\t\t}),\n\t},\n\t/**\n\t * whether to lazy loading data\n\t */\n\tlazy: Boolean,\n\t/**\n\t * method for loading child row data, only works when `lazy` is true\n\t */\n\tload: Function as PropType<TableProps<DefaultRow>[\"load\"]>,\n\tstyle: {\n\t\ttype: Object as PropType<CSSProperties>,\n\t\tdefault: (): CSSProperties => ({}),\n\t},\n\tclassName: {\n\t\ttype: String,\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * sets the algorithm used to lay out table cells, rows, and columns\n\t */\n\ttableLayout: {\n\t\ttype: String as PropType<Layout>,\n\t\tdefault: \"fixed\",\n\t},\n\t/**\n\t * always show scrollbar\n\t */\n\tscrollbarAlwaysOn: Boolean,\n\t/**\n\t * ensure main axis minimum-size doesn't follow the content\n\t */\n\tflexible: Boolean,\n\t/**\n\t * whether to hide extra content and show them in a tooltip when hovering on the cell.It will affect all the table columns\n\t */\n\tshowOverflowTooltip: [Boolean, Object] as PropType<TableProps<DefaultRow>[\"showOverflowTooltip\"]>,\n\t/** formats overflow tooltip content */\n\ttooltipFormatter: Function as PropType<TableProps<DefaultRow>[\"tooltipFormatter\"]>,\n\t/** element to which the filter panel is appended */\n\tappendFilterPanelTo: String,\n\tscrollbarTabindex: {\n\t\ttype: [Number, String],\n\t\tdefault: undefined,\n\t},\n\t/** whether the last column can be resized */\n\tallowDragLastColumn: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** whether collapsed expanded-row content remains mounted */\n\tpreserveExpandedContent: Boolean,\n\t/** whether to use native scrollbars */\n\tnativeScrollbar: Boolean,\n};\n\n/** Element Plus TableColumn 的透传 Props 定义 */\nexport const tableColumnProps = {\n\t/**\n\t * type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon\n\t */\n\ttype: {\n\t\ttype: String,\n\t\tdefault: \"default\",\n\t},\n\t/**\n\t * column label\n\t */\n\tlabel: String,\n\t/**\n\t * class name of cells in the column\n\t */\n\tclassName: String,\n\t/**\n\t * class name of the label of this column\n\t */\n\tlabelClassName: String,\n\t/**\n\t *\n\t */\n\tproperty: String,\n\t/**\n\t * field name. You can also use its alias: `property`\n\t */\n\tprop: String,\n\t/**\n\t * column width\n\t */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * column minimum width. Columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion\n\t */\n\tminWidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * render function for table header of this column\n\t */\n\trenderHeader: Function as PropType<TableColumnCtx<DefaultRow>[\"renderHeader\"]>,\n\t/**\n\t * whether column can be sorted. Remote sorting can be done by setting this attribute to 'custom' and listening to the `sort-change` event of Table\n\t */\n\tsortable: {\n\t\ttype: [Boolean, String],\n\t\tdefault: false,\n\t},\n\t/**\n\t * sorting method, works when `sortable` is `true`. Should return a number, just like Array.sort\n\t */\n\tsortMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"sortMethod\"]>,\n\t/**\n\t * specify which property to sort by, works when `sortable` is `true` and `sort-method` is `undefined`. If set to an Array, the column will sequentially sort by the next property if the previous one is equal\n\t */\n\tsortBy: [String, Function, Array] as PropType<TableColumnCtx<DefaultRow>[\"sortBy\"]>,\n\t/**\n\t * whether column width can be resized, works when `border` of `el-table` is `true`\n\t */\n\tresizable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * column's key. If you need to use the filter-change event, you need this attribute to identify which column is being filtered\n\t */\n\tcolumnKey: String,\n\t/**\n\t * alignment, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\talign: String,\n\t/**\n\t * alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \\/ 'center' \\/ 'right'\n\t */\n\theaderAlign: String,\n\t/**\n\t * whether to hide extra content and show them in a tooltip when hovering on the cell\n\t */\n\tshowOverflowTooltip: {\n\t\ttype: [Boolean, Object] as PropType<TableColumnCtx<DefaultRow>[\"showOverflowTooltip\"]>,\n\t\tdefault: undefined,\n\t},\n\t/** function that formats cell tooltip content, works when show-overflow-tooltip is enabled */\n\ttooltipFormatter: Function as PropType<TableColumnCtx<DefaultRow>[\"tooltipFormatter\"]>,\n\t/**\n\t * whether column is fixed at left / right. Will be fixed at left if `true`\n\t */\n\tfixed: [Boolean, String],\n\t/**\n\t * function that formats cell content\n\t */\n\tformatter: Function as PropType<TableColumnCtx<DefaultRow>[\"formatter\"]>,\n\t/**\n\t * function that determines if a certain row can be selected, works when `type` is 'selection'\n\t */\n\tselectable: Function as PropType<TableColumnCtx<DefaultRow>[\"selectable\"]>,\n\t/**\n\t * whether to reserve selection after data refreshing, works when `type` is 'selection'. Note that `row-key` is required for this to work\n\t */\n\treserveSelection: Boolean,\n\t/**\n\t * data filtering method. If `filter-multiple` is on, this method will be called multiple times for each row, and a row will display if one of the calls returns `true`\n\t */\n\tfilterMethod: Function as PropType<TableColumnCtx<DefaultRow>[\"filterMethod\"]>,\n\t/**\n\t * filter value for selected data, might be useful when table header is rendered with `render-header`\n\t */\n\tfilteredValue: Array as PropType<TableColumnCtx<DefaultRow>[\"filteredValue\"]>,\n\t/**\n\t * an array of data filtering options. For each element in this array, `text` and `value` are required\n\t */\n\tfilters: Array as PropType<TableColumnCtx<DefaultRow>[\"filters\"]>,\n\t/**\n\t * placement for the filter dropdown\n\t */\n\tfilterPlacement: String,\n\t/**\n\t * whether data filtering supports multiple options\n\t */\n\tfilterMultiple: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * className for the filter dropdown\n\t */\n\tfilterClassName: String,\n\t/**\n\t * customize indices for each row, works on columns with `type=index`\n\t */\n\tindex: [Number, Function] as PropType<TableColumnCtx<DefaultRow>[\"index\"]>,\n\t/**\n\t * the order of the sorting strategies used when sorting the data, works when `sortable` is `true`. Accepts an array, as the user clicks on the header, the column is sorted in order of the elements in the array\n\t */\n\tsortOrders: {\n\t\ttype: Array as PropType<TableColumnCtx<DefaultRow>[\"sortOrders\"]>,\n\t\tdefault: (): (string | null)[] => {\n\t\t\treturn [\"ascending\", \"descending\", null];\n\t\t},\n\t\tvalidator: (val: unknown): boolean => {\n\t\t\treturn Array.isArray(val) && val.every((order: unknown): boolean => order === \"ascending\" || order === \"descending\" || order === null);\n\t\t},\n\t},\n};\n\n/** 传递给底层 Element Plus 虚拟化选择器的扩展 Props。 */\nexport interface Props {\n\tlabel?: string;\n\tvalue?: string;\n\tdisabled?: string;\n\toptions?: string;\n}\n\n/** Element Plus SelectV2 的透传 Props 定义。 */\nexport const SelectV2Props = {\n\t/**\n\t * whether creating new items is allowed. To use this, `filterable` must be true\n\t */\n\tallowCreate: Boolean,\n\t/**\n\t * autocomplete of select input\n\t */\n\tautocomplete: {\n\t\ttype: definePropType<\"none\" | \"both\" | \"list\" | \"inline\">(String),\n\t\tdefault: \"none\",\n\t},\n\t/**\n\t * for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n\t */\n\tautomaticDropdown: Boolean,\n\t/**\n\t * whether select can be cleared\n\t */\n\tclearable: Boolean,\n\t/**\n\t * custom clear icon\n\t */\n\tclearIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: CircleClose,\n\t},\n\t/**\n\t * tooltip theme, built-in theme: `dark` / `light`\n\t */\n\teffect: {\n\t\ttype: definePropType<string>(String),\n\t\tdefault: \"light\",\n\t},\n\t/**\n\t * whether to collapse tags to a text when multiple selecting\n\t */\n\tcollapseTags: Boolean,\n\t/**\n\t * whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n\t */\n\tcollapseTagsTooltip: Boolean,\n\t/** collapse-tags tooltip configuration */\n\ttagTooltip: {\n\t\ttype: definePropType<ElementPlusSelectV2Props[\"tagTooltip\"]>(Object),\n\t\tdefault: (): NonNullable<ElementPlusSelectV2Props[\"tagTooltip\"]> => ({}),\n\t},\n\t/**\n\t * The max tags number to be shown. To use this, `collapse-tags` must be true\n\t */\n\tmaxCollapseTags: {\n\t\ttype: Number,\n\t\tdefault: 1,\n\t},\n\t/**\n\t *\n\t */\n\tdefaultFirstOption: Boolean,\n\t/**\n\t * is disabled\n\t */\n\tdisabled: Boolean,\n\t/**\n\t *\n\t */\n\testimatedOptionHeight: {\n\t\ttype: Number,\n\t\tdefault: undefined,\n\t},\n\t/**\n\t * is filterable\n\t */\n\tfilterable: Boolean,\n\t/**\n\t *\n\t */\n\tfilterMethod: Function as PropType<ElementPlusSelectV2Props[\"filterMethod\"]>,\n\t/**\n\t * The height of the dropdown panel, 34px for each item\n\t */\n\theight: {\n\t\ttype: Number,\n\t\tdefault: 274, // same as select dropdown menu\n\t},\n\t/**\n\t * The height of the dropdown item\n\t */\n\titemHeight: {\n\t\ttype: Number,\n\t\tdefault: 34,\n\t},\n\t/**\n\t *\n\t */\n\tid: String,\n\t/**\n\t * whether Select is loading data from server\n\t */\n\tloading: Boolean,\n\t/**\n\t * displayed text while loading data from server, default is 'Loading'\n\t */\n\tloadingText: String,\n\t/**\n\t * biding value\n\t */\n\tmodelValue: {\n\t\ttype: definePropType<ElSelectorModelValue>([Array, String, Number, Boolean, Object]),\n\t},\n\t/**\n\t * is multiple\n\t */\n\tmultiple: Boolean,\n\t/**\n\t * maximum number of options user can select when multiple is true. No limit when set to 0\n\t */\n\tmultipleLimit: {\n\t\ttype: Number,\n\t\tdefault: 0,\n\t},\n\t/**\n\t * the name attribute of select input\n\t */\n\tname: String,\n\t/**\n\t * displayed text when there is no options, you can also use slot empty, the default is 'No Data'\n\t */\n\tnoDataText: String,\n\t/**\n\t * displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n\t */\n\tnoMatchText: String,\n\t/**\n\t * function that gets called when the input value changes. Its parameter is the current input value. To use this, `filterable` must be true\n\t */\n\tremoteMethod: Function as PropType<ElementPlusSelectV2Props[\"remoteMethod\"]>,\n\t/**\n\t * whether reserve the keyword after select filtered option.\n\t */\n\treserveKeyword: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * data of the options, the key of `value` and `label` can be customize by `props`\n\t */\n\toptions: {\n\t\ttype: definePropType<ElementPlusSelectV2Props[\"options\"]>(Array),\n\t},\n\t/**\n\t * placeholder, the default is 'Please select'\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t},\n\t/**\n\t * whether select dropdown is teleported to the body\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-deprecated -- 复用 Element Plus 2.x 的运行时默认值与校验规则。\n\tteleported: useTooltipContentProps.teleported,\n\t/**\n\t * when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n\t */\n\tpersistent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * custom class name for Select's dropdown\n\t */\n\tpopperClass: {\n\t\ttype: String,\n\t\tdefault: \"\",\n\t},\n\t/** custom style for Select's dropdown */\n\t// eslint-disable-next-line @typescript-eslint/no-deprecated -- 复用 Element Plus 2.x 的运行时类型定义。\n\tpopperStyle: useTooltipContentProps.popperStyle,\n\t/**\n\t * [popper.js](https://popper.js.org/docs/v2/) parameters\n\t */\n\tpopperOptions: {\n\t\ttype: definePropType<Partial<Options>>(Object),\n\t\tdefault: (): Partial<Options> => ({}),\n\t},\n\t/**\n\t * whether search data from server\n\t */\n\tremote: Boolean,\n\t/** debounce delay during remote search, in milliseconds */\n\tdebounce: {\n\t\ttype: Number,\n\t\tdefault: 300,\n\t},\n\t/**\n\t * size of component\n\t */\n\tsize: useSizeProp,\n\t/**\n\t * configuration options, see the following table\n\t */\n\tprops: {\n\t\ttype: definePropType<Props>(Object),\n\t\tdefault: (): { label: string; value: string; disabled: string; options: string } => ({\n\t\t\tlabel: \"label\",\n\t\t\tvalue: \"value\",\n\t\t\tdisabled: \"disabled\",\n\t\t\toptions: \"options\",\n\t\t}),\n\t},\n\t/**\n\t * unique identity key name for value, required when value is an object\n\t */\n\tvalueKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/**\n\t * Controls whether the scrollbar is always displayed\n\t */\n\tscrollbarAlwaysOn: Boolean,\n\t/**\n\t * whether to trigger form validation\n\t */\n\tvalidateEvent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * offset of the dropdown\n\t */\n\toffset: {\n\t\ttype: Number,\n\t\tdefault: 12,\n\t},\n\t/** whether to show the suffix icon during remote search */\n\tremoteShowSuffix: Boolean,\n\t/**\n\t * Determines whether the arrow is displayed\n\t */\n\tshowArrow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * position of dropdown\n\t */\n\tplacement: {\n\t\ttype: definePropType<Placement>(String),\n\t\tdefault: \"bottom-start\",\n\t},\n\t/**\n\t * list of possible positions for dropdown\n\t */\n\tfallbackPlacements: {\n\t\ttype: definePropType<Placement[]>(Array),\n\t\tdefault: [\"bottom-start\", \"top-start\", \"right\", \"left\"],\n\t},\n\t/**\n\t * tag type\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-deprecated -- 复用 Element Plus 2.x 的 Tag 运行时校验规则。\n\ttagType: { ...tagProps.type, default: \"info\" },\n\t/**\n\t * tag effect\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-deprecated -- 复用 Element Plus 2.x 的 Tag 运行时校验规则。\n\ttagEffect: { ...tagProps.effect, default: \"light\" },\n\t/**\n\t * tabindex for input\n\t */\n\ttabindex: {\n\t\ttype: [String, Number],\n\t\tdefault: 0,\n\t},\n\t/**\n\t * which element the select dropdown appends to\n\t */\n\tappendTo: String,\n\t/** whether the dropdown width follows the input width, or a fixed width */\n\tfitInputWidth: {\n\t\ttype: [Boolean, Number],\n\t\tdefault: true,\n\t\tvalidator: (value: boolean | number): boolean => typeof value === \"boolean\" || typeof value === \"number\",\n\t},\n\t/** select suffix icon */\n\tsuffixIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: ArrowDown,\n\t},\n\t// eslint-disable-next-line @typescript-eslint/no-deprecated -- 复用 Element Plus 2.x 的空值运行时约定。\n\t...useEmptyValuesProps,\n\t...useAriaProps([\"ariaLabel\"]),\n};\n"],"mappings":"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"}