@operato/data-grist 1.5.54 → 1.7.2
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/CHANGELOG.md +17 -0
- package/dist/src/data-grid/data-grid-body.d.ts +1 -1
- package/dist/src/data-grid/data-grid-body.js +10 -3
- package/dist/src/data-grid/data-grid-body.js.map +1 -1
- package/dist/src/data-grid/data-grid.d.ts +1 -1
- package/dist/src/data-grid/data-grid.js +13 -4
- package/dist/src/data-grid/data-grid.js.map +1 -1
- package/dist/src/data-report/data-report-header.js +14 -5
- package/dist/src/data-report/data-report-header.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/data-grid/data-grid-body.ts +14 -2
- package/src/data-grid/data-grid.ts +16 -3
- package/src/data-report/data-report-header.ts +17 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
### [1.7.2](https://github.com/hatiolab/operato/compare/v1.7.1...v1.7.2) (2023-12-11)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @operato/data-grist
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### [1.7.1](https://github.com/hatiolab/operato/compare/v1.7.0...v1.7.1) (2023-12-10)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### :bug: Bug Fix
|
|
18
|
+
|
|
19
|
+
* data-grist wheel 이벤트 핸들링 ([0d2d801](https://github.com/hatiolab/operato/commit/0d2d801220c7f3b8982c0234c7a66fd973fdbc7d))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
6
23
|
### [1.5.54](https://github.com/hatiolab/operato/compare/v1.5.53...v1.5.54) (2023-12-08)
|
|
7
24
|
|
|
8
25
|
|
|
@@ -35,7 +35,7 @@ export declare class DataGridBody extends LitElement {
|
|
|
35
35
|
render(): import("lit").TemplateResult<1>;
|
|
36
36
|
firstUpdated(): void;
|
|
37
37
|
getFieldByIndex(rowIndex: number, columnIndex: number, residue?: boolean): DataGridField | undefined;
|
|
38
|
-
_onWheelEvent(e: WheelEvent):
|
|
38
|
+
_onWheelEvent(e: WheelEvent): true | undefined;
|
|
39
39
|
startEditTarget(row: number, column: number, valueWithEdit?: string | null): void;
|
|
40
40
|
shouldUpdate(changes: any): boolean;
|
|
41
41
|
updated(changes: PropertyValues<this>): void;
|
|
@@ -8,7 +8,6 @@ import { TooltipStyles } from '@operato/styles';
|
|
|
8
8
|
import { sleep } from '@operato/utils';
|
|
9
9
|
import { ZERO_CONFIG, ZERO_DATA } from '../configure/zero-config';
|
|
10
10
|
import { RecordViewHandler } from '../record-view/record-view-handler';
|
|
11
|
-
import { supportsPassive } from '../utils';
|
|
12
11
|
import { dataGridBodyStyle } from './data-grid-body-style';
|
|
13
12
|
import { dataGridBodyClickHandler } from './event-handlers/data-grid-body-click-handler';
|
|
14
13
|
import { dataGridBodyDblclickHandler } from './event-handlers/data-grid-body-dblclick-handler';
|
|
@@ -221,7 +220,7 @@ let DataGridBody = class DataGridBody extends LitElement {
|
|
|
221
220
|
this.renderRoot.addEventListener('dblclick', dataGridBodyDblclickHandler.bind(this));
|
|
222
221
|
this.renderRoot.addEventListener('dblclick', dataGridBodyDblclickHandler.bind(this));
|
|
223
222
|
this.addEventListener('focus-change', dataGridBodyFocusChangeHandler.bind(this));
|
|
224
|
-
this.addEventListener('wheel', this._onWheelEvent.bind(this)
|
|
223
|
+
this.addEventListener('wheel', this._onWheelEvent.bind(this));
|
|
225
224
|
const primaryColor = getComputedStyle(this).getPropertyValue('--primary-color');
|
|
226
225
|
this.style.setProperty('--focused-background-image', `url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><rect fill='${primaryColor}' x='0' y='0' width='100%' height='100%' style='opacity:.3'/></svg>")`);
|
|
227
226
|
this.addEventListener('show-record-view', (e) => this.popupRecordView(e.detail));
|
|
@@ -240,7 +239,15 @@ let DataGridBody = class DataGridBody extends LitElement {
|
|
|
240
239
|
if (this.scrollHeight <= this.clientHeight) {
|
|
241
240
|
var delta = Math.max(-1, Math.min(1, e.deltaY || 0));
|
|
242
241
|
this.scrollLeft = Math.max(0, this.scrollLeft - delta * 40);
|
|
243
|
-
|
|
242
|
+
var maxScrollLeft = this.scrollWidth - this.clientWidth;
|
|
243
|
+
var atStart = this.scrollLeft === 0;
|
|
244
|
+
var atEnd = this.scrollLeft === maxScrollLeft;
|
|
245
|
+
// 스크롤이 맨 앞으로 와 있는 상태에서 휠을 올리는 경우 또는
|
|
246
|
+
// 스크롤이 맨 끝으로 가 있는 상태에서 휠을 내리는 경우에만 디폴트 동작 허용
|
|
247
|
+
if ((atStart && delta > 0) || (atEnd && delta < 0)) {
|
|
248
|
+
return true;
|
|
249
|
+
}
|
|
250
|
+
e.preventDefault();
|
|
244
251
|
}
|
|
245
252
|
}
|
|
246
253
|
startEditTarget(row, column, valueWithEdit = null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-grid-body.js","sourceRoot":"","sources":["../../../src/data-grid/data-grid-body.ts"],"names":[],"mappings":"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","sourcesContent":["import './data-grid-field'\nimport './data-grid-accum-field'\n\nimport { css, html, LitElement, nothing, PropertyValues } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport debounce from 'lodash-es/debounce'\n\nimport { TooltipStyles } from '@operato/styles'\nimport { sleep } from '@operato/utils'\n\nimport { ZERO_CONFIG, ZERO_DATA } from '../configure/zero-config'\nimport { RecordViewHandler } from '../record-view/record-view-handler'\nimport { ColumnConfig, GristConfig, GristData, GristRecord } from '../types'\nimport { supportsPassive } from '../utils'\nimport { dataGridBodyStyle } from './data-grid-body-style'\nimport { DataGridField } from './data-grid-field'\nimport { dataGridBodyClickHandler } from './event-handlers/data-grid-body-click-handler'\nimport { dataGridBodyDblclickHandler } from './event-handlers/data-grid-body-dblclick-handler'\nimport { dataGridBodyFocusChangeHandler } from './event-handlers/data-grid-body-focus-change-handler'\nimport { dataGridBodyKeydownHandler } from './event-handlers/data-grid-body-keydown-handler'\nimport { accumulate } from '../accumulator/accumulator'\n\nconst THRESHOLD = 300\nconst DATA_PADDING = 3\nconst ROW_HEIGHT = 40\nconst GAP_SIZE = 1\n\nfunction calcScrollPos(parent: DataGridBody, child: Element) {\n /* getBoundingClientRect는 safari에서 스크롤 상태에서 다른 브라우저와는 다른 값을 리턴함 - 사파리는 약간 이상 작동함. */\n var { top: ct, left: cl, right: cr, bottom: cb } = child.getBoundingClientRect()\n var { top: pt, left: pl, right: pr, bottom: pb } = parent.getBoundingClientRect()\n var { scrollLeft, scrollTop } = parent\n var scrollbarWidth = parent.clientWidth - parent.offsetWidth\n var scrollbarHeight = parent.clientHeight - parent.offsetHeight\n\n return {\n left: cl < pl ? scrollLeft - (pl - cl) : cr > pr ? scrollLeft - (pr - cr) - scrollbarWidth : undefined,\n top: ct < pt ? scrollTop - (pt - ct) : cb > pb ? scrollTop - (pb - cb) - scrollbarHeight : undefined\n }\n}\n\nconst ZERO_FOCUS = {\n row: 0,\n column: 0\n}\n\n@customElement('ox-grid-body')\nexport class DataGridBody extends LitElement {\n debounce = debounce((scrollTop: number, clientHeight: number) => {\n const maxVisibleRows = Math.ceil(clientHeight / (ROW_HEIGHT + GAP_SIZE))\n const from = Math.max(0, Math.floor(scrollTop / (ROW_HEIGHT + GAP_SIZE)) - maxVisibleRows * DATA_PADDING)\n const to = Math.min(this.data.records?.length || 0, from + maxVisibleRows * (DATA_PADDING * 2 + 1))\n\n this.from = from\n this.to = to\n }, THRESHOLD)\n\n static styles = [\n TooltipStyles,\n dataGridBodyStyle,\n css`\n [select-block] {\n position: absolute;\n left: var(--select-box-left);\n top: var(--select-box-top);\n width: var(--select-box-width);\n height: var(--select-box-height);\n border: var(--grid-record-focused-cell-border);\n background-image: var(--focused-background-image);\n pointer-events: none;\n }\n `\n ]\n\n @property({ type: Object }) config: GristConfig = ZERO_CONFIG\n @property({ type: Array }) columns: ColumnConfig[] = []\n @property({ type: Object }) data: GristData = ZERO_DATA\n @property({ type: Object }) focused: { row: number; column: number } = ZERO_FOCUS\n @property({ type: Object }) editTarget: { row: number; column: number; valueWithEdit: string | null } | null = null\n @property({ type: Number }) from = -1\n @property({ type: Number }) to = -1\n\n @state() _selectBlock?: {\n start: DataGridField\n end?: DataGridField\n }\n\n @query('[select-block]') selectBlock?: HTMLDivElement\n @query('ox-grid-field[focused]') focusedField?: DataGridField\n\n private _focusedListener?: (e: KeyboardEvent) => void\n private _recordView?: any\n private _recordViewRow?: number\n private _draggable?: boolean\n\n resetEdit() {\n this.editTarget = null\n }\n\n handleOnScroll(e: WheelEvent) {\n const { scrollTop, clientHeight } = e.target as HTMLElement\n this.debounce(scrollTop, clientHeight)\n }\n\n // issue #13\n // renderOptimisticRow() {\n // return\n // }\n\n render() {\n // block이 선택되어 있으면, focused row/column은 표현하지 않는다.\n var { row: focusedRow, column: focusedColumn } = (!this._selectBlock && this.focused) || {}\n var { row: editingRow, column: editingColumn, valueWithEdit = null } = this.editTarget || {}\n\n var columns = this.columns.filter(column => !column.hidden)\n var data = this.data\n var { records } = data\n var { appendable, classifier, accumulator } = this.config.rows\n const { start, end } = this._selectBlock || {}\n\n /*\n * 레코드를 추가할 수 있는 경우에는 항상 추가 레코드를 보여준다.\n * 만약, 이전 방식처럼, 커서를 옮겨야만 새로운 레코드가 보이게 하고 싶다면, 조건부를 다음의 코드로 대체한다.\n * -- if (focusedRow == records.length)\n */\n if (appendable) {\n records = [...records, { __dirty__: '+' }]\n }\n\n if (accumulator) {\n var accumRecord = this.buildAccumulatorRecord()\n }\n\n return html`\n ${records.map((record, idxRow) => {\n var attrFocusedRow = idxRow === focusedRow\n var attrSelected = record['__selected__']\n var attrOdd = idxRow % 2\n var dirtyFields = record['__dirtyfields__'] || {}\n var { emphasized } = classifier.call(null, record, idxRow) || {}\n\n return html`\n ${columns.map(\n (column, idxColumn) => html`\n <ox-grid-field\n .data=${data}\n .rowIndex=${idxRow}\n .columnIndex=${idxColumn}\n .column=${column}\n .record=${record}\n .emphasized=${emphasized}\n ?gutter=${column.type == 'gutter'}\n ?odd=${attrOdd}\n ?focused-row=${attrFocusedRow}\n ?selected-row=${attrSelected}\n ?focused=${idxRow === focusedRow && idxColumn === focusedColumn}\n ?editing=${idxRow === editingRow && idxColumn === editingColumn}\n .valueWithEdit=${valueWithEdit}\n .value=${record[column.name]}\n ?dirty=${!!dirtyFields[column.name]}\n ></ox-grid-field>\n `\n )}\n <ox-grid-field\n .data=${data}\n .rowIndex=${idxRow}\n .columnIndex=${-1}\n .record=${record}\n .emphasized=${emphasized}\n ?odd=${attrOdd}\n ?focused-row=${attrFocusedRow}\n ?selected-row=${attrSelected}\n ></ox-grid-field>\n `\n })}\n ${accumulator\n ? html`\n ${columns.map(\n (column, idxColumn) => html`\n <ox-grid-accum-field\n .data=${data}\n .columnIndex=${idxColumn}\n .rowIndex=${records.length}\n .column=${column}\n .record=${accumRecord!}\n .value=${accumRecord[column.name]}\n ></ox-grid-accum-field>\n `\n )}\n <ox-grid-accum-field\n .data=${data}\n .columnIndex=${-1}\n .rowIndex=${records.length}\n .record=${accumRecord!}\n ></ox-grid-accum-field>\n `\n : nothing}\n ${start && end && start !== end ? html` <div select-block></div> ` : html``}\n <slot></slot>\n `\n }\n\n firstUpdated() {\n // TODO issue #13\n // this.addEventListener('scroll', this.handleOnScroll.bind(this))\n\n /* focus() 를 받을 수 있도록 함. */\n this.setAttribute('tabindex', '-1')\n\n /*\n * focusout 으로 property를 변경시키는 경우, focusout에 의해 update가 발생하는 경우에는,\n * 그리드 내부의 컴포넌트가 갱신되는 현상을 초래하게 된다.\n * 따라서, focusout 핸들러에서 update를 유발하는 코드는 강력하게 금지시킨다.\n */\n this.addEventListener('focusout', e => {\n if (this._focusedListener) {\n this.removeEventListener('keydown', this._focusedListener)\n delete this._focusedListener\n }\n })\n\n this.addEventListener('focusin', e => {\n if (!this._focusedListener) {\n this._focusedListener = dataGridBodyKeydownHandler.bind(this)\n this.addEventListener('keydown', this._focusedListener)\n }\n })\n\n this.addEventListener('set-select-block', async e => {\n e.stopPropagation()\n\n const { startRow = -1, startColumn = -1, endRow = -1, endColumn = -1 } = ((e as CustomEvent).detail as any) || {}\n\n const start = this.getFieldByIndex(startRow, startColumn) as DataGridField\n const end = this.getFieldByIndex(endRow, endColumn) as DataGridField\n\n this.setSelectBlock(start, end)\n })\n\n this.renderRoot.addEventListener('mousedown', (event: Event) => {\n const e = event as MouseEvent\n this.setSelectBlock()\n\n if (e.buttons !== 1) {\n return\n }\n\n this._draggable = true\n\n var target = (e.target as Element).closest('ox-grid-field') as DataGridField\n var { rowIndex, columnIndex } = target || {}\n\n this.dispatchEvent(\n new CustomEvent('focus-change', {\n bubbles: true,\n composed: true,\n detail: {\n row: rowIndex,\n column: columnIndex\n }\n })\n )\n\n if (!isNaN(rowIndex) && !isNaN(columnIndex)) {\n this.startEditTarget(rowIndex, columnIndex)\n }\n })\n\n this.renderRoot.addEventListener('mousemove', (event: Event) => {\n const e = event as MouseEvent\n if (e.buttons !== 1 || !this._draggable) {\n return\n }\n\n const field = e.target as DataGridField\n if (!this._selectBlock) {\n this.setSelectBlock(this.focusedField || field, this.focusedField || field)\n\n return\n }\n\n var { start, end } = this._selectBlock || {}\n\n if (start && end !== field) {\n end = field\n\n this.setSelectBlock(start, end)\n }\n })\n\n this.renderRoot.addEventListener('mouseup', (event: Event) => {\n this._draggable = false\n })\n\n this.renderRoot.addEventListener('click', dataGridBodyClickHandler.bind(this))\n\n this.renderRoot.addEventListener('dblclick', dataGridBodyDblclickHandler.bind(this))\n this.renderRoot.addEventListener('dblclick', dataGridBodyDblclickHandler.bind(this))\n\n this.addEventListener('focus-change', dataGridBodyFocusChangeHandler.bind(this))\n\n this.addEventListener('wheel', this._onWheelEvent.bind(this), supportsPassive ? { passive: true } : false)\n\n const primaryColor = getComputedStyle(this).getPropertyValue('--primary-color')\n this.style.setProperty(\n '--focused-background-image',\n `url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><rect fill='${primaryColor}' x='0' y='0' width='100%' height='100%' style='opacity:.3'/></svg>\")`\n )\n\n this.addEventListener('show-record-view', (e: Event) =>\n this.popupRecordView((e as CustomEvent).detail as { row: number; record: GristRecord })\n )\n }\n\n getFieldByIndex(rowIndex: number, columnIndex: number, residue: boolean = true) {\n if (rowIndex < 0) {\n return\n }\n\n var columns = this.columns.filter(column => !column.hidden).length\n if (!residue && columnIndex >= columns) {\n return\n }\n\n return this.renderRoot.children.item(\n rowIndex * (columns + 1) /* 1 means last dummy column */ + ((columnIndex + columns) % columns)\n ) as DataGridField\n }\n\n _onWheelEvent(e: WheelEvent) {\n if (this.scrollHeight <= this.clientHeight) {\n var delta = Math.max(-1, Math.min(1, e.deltaY || 0))\n this.scrollLeft = Math.max(0, this.scrollLeft - delta * 40)\n supportsPassive || e.preventDefault()\n }\n }\n\n startEditTarget(row: number, column: number, valueWithEdit: string | null = null) {\n var { editable } = this.columns.filter(column => !column.hidden)[column].record\n if (typeof editable === 'function') {\n const curRow = this.data.records[row] || {}\n const curCol = this.columns[column + 1]\n editable = editable.call(this, curRow[curCol.name], curCol, curRow, row, this)\n }\n\n if (!editable) {\n return\n }\n\n if (this.editTarget && this.editTarget.row == row && this.editTarget.column == column) {\n return\n }\n\n this.editTarget = {\n row,\n column,\n valueWithEdit\n }\n }\n\n shouldUpdate(changes: any) {\n if (!changes.has('editTarget')) {\n /*\n * 큰 변화에 대해서는 실제 update가 발생되기 전에 editTarget을 초기화한다.\n */\n this.editTarget = null\n }\n\n return super.shouldUpdate(changes)\n }\n\n updated(changes: PropertyValues<this>) {\n if (changes.has('focused')) {\n let element = this.renderRoot?.querySelector('[focused]')\n if (!element) {\n return\n }\n\n let { top, left } = calcScrollPos(this, element)\n // TODO this.scroll()을 사용하면, 효과가 좋으나 left 계산에 문제가 있는 것 같음.\n // this.scroll({\n // top,\n // left,\n // behavior: 'smooth'\n // })\n if (top !== undefined) {\n this.scrollTop = top\n }\n if (left !== undefined) {\n this.scrollLeft = left\n }\n }\n\n if (this._recordView) {\n this._recordView.record = this.data.records[this._recordViewRow!]\n }\n }\n\n focus() {\n super.focus()\n\n if (this.focused === ZERO_FOCUS) {\n let { records } = this.data\n let row = records.findIndex(record => record['__selected__'])\n\n this.focused = { row: row == -1 ? 0 : row, column: 0 }\n }\n }\n\n popupRecordView({ record, row }: { row: number; record: GristRecord }) {\n var titleField = this.config.list.fields[0] || 'name'\n var title = record[titleField]\n\n /* field가 오브젝트형인 경우에는 렌더러를 타이틀로 사용한다. */\n if (typeof title == 'object') {\n var column = this.config.columns.find(column => column.name == titleField)\n title = column?.record.renderer(title, column, record, row, this /* cautious */)\n }\n\n this._recordViewRow = row\n this._recordView = RecordViewHandler(\n this.config.columns,\n record,\n row,\n this,\n {\n title\n },\n () => {\n delete this._recordView\n delete this._recordViewRow\n }\n )\n }\n\n getSelectedBlockValues(): Array<Array<any>> | any | undefined {\n var { start, end } = this._selectBlock || {}\n\n if (!(start && end)) {\n start = this.focusedField\n\n end = start\n }\n\n if (start && end) {\n const startRowIndex = start.rowIndex < end.rowIndex ? start.rowIndex : end.rowIndex\n const endRowIndex = start.rowIndex < end.rowIndex ? end.rowIndex : start.rowIndex\n const startColumnIndex = start.columnIndex < end.columnIndex ? start.columnIndex : end.columnIndex\n const endColumnIndex = start.columnIndex < end.columnIndex ? end.columnIndex : start.columnIndex\n\n const columnArray = new Array(endColumnIndex - startColumnIndex + 1).fill(startColumnIndex)\n const columns = this.columns.filter(column => !column.hidden)\n\n return (\n '<table>' +\n new Array(endRowIndex - startRowIndex + 1)\n .fill(startRowIndex)\n .map((start, index) => {\n const rowIndex = start + index\n const record = this.data.records[rowIndex]\n\n const tds = columnArray\n .map((start, index) => {\n const columnIndex = start + index\n const column = columns[columnIndex]\n const value = record?.[column.name]\n const type = typeof value\n const text =\n value === undefined || value === null ? '' : type == 'object' ? JSON.stringify(value) : value\n\n return `<td type=${type}>${text}</td>`\n })\n .join('')\n return `<tr>${tds}</tr>`\n })\n .join('') +\n '</table>'\n )\n }\n }\n\n async copy() {\n const copied = this.getSelectedBlockValues()\n\n await navigator.clipboard.write([\n new ClipboardItem({\n 'text/html': new Blob([copied], { type: 'text/html' }),\n 'text/plain': new Blob([copied], { type: 'text/plain' })\n })\n ])\n\n const selectBlock = this.selectBlock || this.focusedField\n if (selectBlock) {\n const backgroundColor = selectBlock.style.backgroundColor\n const opacity = selectBlock.style.opacity\n\n selectBlock.setAttribute('data-tooltip', 'copied to clipboard!')\n selectBlock.style.backgroundColor = 'red'\n selectBlock.style.opacity = '0.5'\n await sleep(500)\n selectBlock.removeAttribute('data-tooltip')\n selectBlock.style.backgroundColor = backgroundColor\n selectBlock.style.opacity = opacity\n }\n }\n\n async paste() {\n try {\n const selection = window.getSelection()\n\n const clipboardItems = await navigator.clipboard.read()\n if (!clipboardItems) {\n return\n }\n\n var type: string | undefined\n var content: string | undefined\n\n for (const clipboardItem of clipboardItems) {\n try {\n var blob = await clipboardItem.getType('text/html')\n content = blob && (await blob.text())\n type = 'text/html'\n } catch (e) {\n try {\n blob = await clipboardItem.getType('text/plain')\n content = blob && (await blob.text())\n type = 'text/plain'\n } catch (e) {}\n }\n\n break\n }\n\n if (!content) {\n return\n }\n\n const { row, column } = this.focused\n const { records } = this.data\n const columns = this.columns.filter(column => !column.hidden)\n\n if (type === 'text/html') {\n const div = document.createElement('div')\n div.innerHTML = content!.trim()\n const table = div.querySelector('table') as HTMLTableElement\n if (!table) {\n return\n }\n\n if (selection) {\n this.resetEdit()\n selection.removeAllRanges()\n await this.updateComplete\n }\n const rows = table.querySelectorAll('tr')\n\n rows.forEach((record, rowIndex) => {\n if (!(record instanceof HTMLTableRowElement)) {\n return\n }\n\n var targetRecord = records[row + rowIndex] || { __dirty__: '+' }\n if (row + rowIndex >= records.length) {\n records.push(targetRecord)\n }\n\n const cells = record.querySelectorAll('td')\n cells.forEach((item, columnIndex) => {\n const targetColumn = columns[column + columnIndex]\n var value = item.textContent as any\n const type = Number.isFinite(parseFloat(value)) ? 'number' : item.getAttribute('type') || 'string'\n let { editable } = targetColumn.record\n if (typeof editable === 'function') {\n editable = editable.call(this, value, targetColumn, targetRecord, row, this)\n }\n\n switch (type) {\n case 'object':\n try {\n value = JSON.parse(value || 'null')\n } catch (err) {}\n break\n case 'boolean':\n value = !!value && !!String(value).match(/true/i)\n break\n case 'number':\n value = Number(value)\n break\n default:\n value = value\n }\n\n if (targetColumn && !targetColumn.gutterName && editable) {\n this.dispatchEvent(\n new CustomEvent('field-change', {\n bubbles: true,\n composed: true,\n detail: {\n before: targetRecord[targetColumn.name],\n after: value,\n column: targetColumn,\n record: targetRecord,\n row: row + rowIndex\n }\n })\n )\n }\n })\n })\n\n return\n } else if (!selection && type === 'text/plain') {\n const targetRecord = records[row] || { __dirty__: '+' }\n const targetColumn = columns[column]\n let { editable } = targetColumn.record\n if (typeof editable === 'function') {\n editable = editable.call(this, content, targetColumn, targetRecord, row, this)\n }\n\n if (targetColumn && !targetColumn.gutterName && editable) {\n this.dispatchEvent(\n new CustomEvent('field-change', {\n bubbles: true,\n composed: true,\n detail: {\n before: targetRecord[targetColumn.name],\n after: content,\n column: targetColumn,\n record: targetRecord,\n row: row\n }\n })\n )\n }\n }\n } catch (e) {}\n }\n\n setSelectBlock(start?: DataGridField, end?: DataGridField) {\n if (start?.columnIndex == -1) {\n start = this.getFieldByIndex(start.rowIndex, this.columns.filter(column => !column.hidden).length - 1)\n }\n\n if (end?.columnIndex == -1) {\n end = this.getFieldByIndex(end.rowIndex, this.columns.filter(column => !column.hidden).length - 1)\n }\n\n this._selectBlock = start && { start, end }\n\n if (start && end) {\n window.getSelection()?.removeAllRanges()\n\n if (start !== end) {\n const left = start.columnIndex < end.columnIndex ? start : end\n const right = left === start ? end : start\n const top = start.rowIndex < end.rowIndex ? start : end\n const bottom = top === start ? end : start\n\n const { offsetLeft } = left\n const { offsetTop } = top\n const width = right.offsetLeft - offsetLeft + right.offsetWidth\n const height = bottom.offsetTop - offsetTop + bottom.offsetHeight\n\n this.style.setProperty('--select-box-left', offsetLeft - 1 + 'px')\n this.style.setProperty('--select-box-top', offsetTop - 1 + 'px')\n this.style.setProperty('--select-box-width', width + 'px')\n this.style.setProperty('--select-box-height', height + 'px')\n }\n\n this.focus()\n }\n }\n\n buildAccumulatorRecord(): GristRecord {\n var columns = this.columns.filter(column => !column.hidden)\n\n return columns.reduce((record, column) => {\n if (column.accumulator) {\n record[column.name] = accumulate(this.data, column, column.accumulator)\n }\n return record\n }, {} as GristRecord)\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"data-grid-body.js","sourceRoot":"","sources":["../../../src/data-grid/data-grid-body.ts"],"names":[],"mappings":"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","sourcesContent":["import './data-grid-field'\nimport './data-grid-accum-field'\n\nimport { css, html, LitElement, nothing, PropertyValues } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport debounce from 'lodash-es/debounce'\n\nimport { TooltipStyles } from '@operato/styles'\nimport { sleep } from '@operato/utils'\n\nimport { ZERO_CONFIG, ZERO_DATA } from '../configure/zero-config'\nimport { RecordViewHandler } from '../record-view/record-view-handler'\nimport { ColumnConfig, GristConfig, GristData, GristRecord } from '../types'\nimport { supportsPassive } from '../utils'\nimport { dataGridBodyStyle } from './data-grid-body-style'\nimport { DataGridField } from './data-grid-field'\nimport { dataGridBodyClickHandler } from './event-handlers/data-grid-body-click-handler'\nimport { dataGridBodyDblclickHandler } from './event-handlers/data-grid-body-dblclick-handler'\nimport { dataGridBodyFocusChangeHandler } from './event-handlers/data-grid-body-focus-change-handler'\nimport { dataGridBodyKeydownHandler } from './event-handlers/data-grid-body-keydown-handler'\nimport { accumulate } from '../accumulator/accumulator'\n\nconst THRESHOLD = 300\nconst DATA_PADDING = 3\nconst ROW_HEIGHT = 40\nconst GAP_SIZE = 1\n\nfunction calcScrollPos(parent: DataGridBody, child: Element) {\n /* getBoundingClientRect는 safari에서 스크롤 상태에서 다른 브라우저와는 다른 값을 리턴함 - 사파리는 약간 이상 작동함. */\n var { top: ct, left: cl, right: cr, bottom: cb } = child.getBoundingClientRect()\n var { top: pt, left: pl, right: pr, bottom: pb } = parent.getBoundingClientRect()\n var { scrollLeft, scrollTop } = parent\n var scrollbarWidth = parent.clientWidth - parent.offsetWidth\n var scrollbarHeight = parent.clientHeight - parent.offsetHeight\n\n return {\n left: cl < pl ? scrollLeft - (pl - cl) : cr > pr ? scrollLeft - (pr - cr) - scrollbarWidth : undefined,\n top: ct < pt ? scrollTop - (pt - ct) : cb > pb ? scrollTop - (pb - cb) - scrollbarHeight : undefined\n }\n}\n\nconst ZERO_FOCUS = {\n row: 0,\n column: 0\n}\n\n@customElement('ox-grid-body')\nexport class DataGridBody extends LitElement {\n debounce = debounce((scrollTop: number, clientHeight: number) => {\n const maxVisibleRows = Math.ceil(clientHeight / (ROW_HEIGHT + GAP_SIZE))\n const from = Math.max(0, Math.floor(scrollTop / (ROW_HEIGHT + GAP_SIZE)) - maxVisibleRows * DATA_PADDING)\n const to = Math.min(this.data.records?.length || 0, from + maxVisibleRows * (DATA_PADDING * 2 + 1))\n\n this.from = from\n this.to = to\n }, THRESHOLD)\n\n static styles = [\n TooltipStyles,\n dataGridBodyStyle,\n css`\n [select-block] {\n position: absolute;\n left: var(--select-box-left);\n top: var(--select-box-top);\n width: var(--select-box-width);\n height: var(--select-box-height);\n border: var(--grid-record-focused-cell-border);\n background-image: var(--focused-background-image);\n pointer-events: none;\n }\n `\n ]\n\n @property({ type: Object }) config: GristConfig = ZERO_CONFIG\n @property({ type: Array }) columns: ColumnConfig[] = []\n @property({ type: Object }) data: GristData = ZERO_DATA\n @property({ type: Object }) focused: { row: number; column: number } = ZERO_FOCUS\n @property({ type: Object }) editTarget: { row: number; column: number; valueWithEdit: string | null } | null = null\n @property({ type: Number }) from = -1\n @property({ type: Number }) to = -1\n\n @state() _selectBlock?: {\n start: DataGridField\n end?: DataGridField\n }\n\n @query('[select-block]') selectBlock?: HTMLDivElement\n @query('ox-grid-field[focused]') focusedField?: DataGridField\n\n private _focusedListener?: (e: KeyboardEvent) => void\n private _recordView?: any\n private _recordViewRow?: number\n private _draggable?: boolean\n\n resetEdit() {\n this.editTarget = null\n }\n\n handleOnScroll(e: WheelEvent) {\n const { scrollTop, clientHeight } = e.target as HTMLElement\n this.debounce(scrollTop, clientHeight)\n }\n\n // issue #13\n // renderOptimisticRow() {\n // return\n // }\n\n render() {\n // block이 선택되어 있으면, focused row/column은 표현하지 않는다.\n var { row: focusedRow, column: focusedColumn } = (!this._selectBlock && this.focused) || {}\n var { row: editingRow, column: editingColumn, valueWithEdit = null } = this.editTarget || {}\n\n var columns = this.columns.filter(column => !column.hidden)\n var data = this.data\n var { records } = data\n var { appendable, classifier, accumulator } = this.config.rows\n const { start, end } = this._selectBlock || {}\n\n /*\n * 레코드를 추가할 수 있는 경우에는 항상 추가 레코드를 보여준다.\n * 만약, 이전 방식처럼, 커서를 옮겨야만 새로운 레코드가 보이게 하고 싶다면, 조건부를 다음의 코드로 대체한다.\n * -- if (focusedRow == records.length)\n */\n if (appendable) {\n records = [...records, { __dirty__: '+' }]\n }\n\n if (accumulator) {\n var accumRecord = this.buildAccumulatorRecord()\n }\n\n return html`\n ${records.map((record, idxRow) => {\n var attrFocusedRow = idxRow === focusedRow\n var attrSelected = record['__selected__']\n var attrOdd = idxRow % 2\n var dirtyFields = record['__dirtyfields__'] || {}\n var { emphasized } = classifier.call(null, record, idxRow) || {}\n\n return html`\n ${columns.map(\n (column, idxColumn) => html`\n <ox-grid-field\n .data=${data}\n .rowIndex=${idxRow}\n .columnIndex=${idxColumn}\n .column=${column}\n .record=${record}\n .emphasized=${emphasized}\n ?gutter=${column.type == 'gutter'}\n ?odd=${attrOdd}\n ?focused-row=${attrFocusedRow}\n ?selected-row=${attrSelected}\n ?focused=${idxRow === focusedRow && idxColumn === focusedColumn}\n ?editing=${idxRow === editingRow && idxColumn === editingColumn}\n .valueWithEdit=${valueWithEdit}\n .value=${record[column.name]}\n ?dirty=${!!dirtyFields[column.name]}\n ></ox-grid-field>\n `\n )}\n <ox-grid-field\n .data=${data}\n .rowIndex=${idxRow}\n .columnIndex=${-1}\n .record=${record}\n .emphasized=${emphasized}\n ?odd=${attrOdd}\n ?focused-row=${attrFocusedRow}\n ?selected-row=${attrSelected}\n ></ox-grid-field>\n `\n })}\n ${accumulator\n ? html`\n ${columns.map(\n (column, idxColumn) => html`\n <ox-grid-accum-field\n .data=${data}\n .columnIndex=${idxColumn}\n .rowIndex=${records.length}\n .column=${column}\n .record=${accumRecord!}\n .value=${accumRecord[column.name]}\n ></ox-grid-accum-field>\n `\n )}\n <ox-grid-accum-field\n .data=${data}\n .columnIndex=${-1}\n .rowIndex=${records.length}\n .record=${accumRecord!}\n ></ox-grid-accum-field>\n `\n : nothing}\n ${start && end && start !== end ? html` <div select-block></div> ` : html``}\n <slot></slot>\n `\n }\n\n firstUpdated() {\n // TODO issue #13\n // this.addEventListener('scroll', this.handleOnScroll.bind(this))\n\n /* focus() 를 받을 수 있도록 함. */\n this.setAttribute('tabindex', '-1')\n\n /*\n * focusout 으로 property를 변경시키는 경우, focusout에 의해 update가 발생하는 경우에는,\n * 그리드 내부의 컴포넌트가 갱신되는 현상을 초래하게 된다.\n * 따라서, focusout 핸들러에서 update를 유발하는 코드는 강력하게 금지시킨다.\n */\n this.addEventListener('focusout', e => {\n if (this._focusedListener) {\n this.removeEventListener('keydown', this._focusedListener)\n delete this._focusedListener\n }\n })\n\n this.addEventListener('focusin', e => {\n if (!this._focusedListener) {\n this._focusedListener = dataGridBodyKeydownHandler.bind(this)\n this.addEventListener('keydown', this._focusedListener)\n }\n })\n\n this.addEventListener('set-select-block', async e => {\n e.stopPropagation()\n\n const { startRow = -1, startColumn = -1, endRow = -1, endColumn = -1 } = ((e as CustomEvent).detail as any) || {}\n\n const start = this.getFieldByIndex(startRow, startColumn) as DataGridField\n const end = this.getFieldByIndex(endRow, endColumn) as DataGridField\n\n this.setSelectBlock(start, end)\n })\n\n this.renderRoot.addEventListener('mousedown', (event: Event) => {\n const e = event as MouseEvent\n this.setSelectBlock()\n\n if (e.buttons !== 1) {\n return\n }\n\n this._draggable = true\n\n var target = (e.target as Element).closest('ox-grid-field') as DataGridField\n var { rowIndex, columnIndex } = target || {}\n\n this.dispatchEvent(\n new CustomEvent('focus-change', {\n bubbles: true,\n composed: true,\n detail: {\n row: rowIndex,\n column: columnIndex\n }\n })\n )\n\n if (!isNaN(rowIndex) && !isNaN(columnIndex)) {\n this.startEditTarget(rowIndex, columnIndex)\n }\n })\n\n this.renderRoot.addEventListener('mousemove', (event: Event) => {\n const e = event as MouseEvent\n if (e.buttons !== 1 || !this._draggable) {\n return\n }\n\n const field = e.target as DataGridField\n if (!this._selectBlock) {\n this.setSelectBlock(this.focusedField || field, this.focusedField || field)\n\n return\n }\n\n var { start, end } = this._selectBlock || {}\n\n if (start && end !== field) {\n end = field\n\n this.setSelectBlock(start, end)\n }\n })\n\n this.renderRoot.addEventListener('mouseup', (event: Event) => {\n this._draggable = false\n })\n\n this.renderRoot.addEventListener('click', dataGridBodyClickHandler.bind(this))\n\n this.renderRoot.addEventListener('dblclick', dataGridBodyDblclickHandler.bind(this))\n this.renderRoot.addEventListener('dblclick', dataGridBodyDblclickHandler.bind(this))\n\n this.addEventListener('focus-change', dataGridBodyFocusChangeHandler.bind(this))\n\n this.addEventListener('wheel', this._onWheelEvent.bind(this))\n\n const primaryColor = getComputedStyle(this).getPropertyValue('--primary-color')\n this.style.setProperty(\n '--focused-background-image',\n `url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><rect fill='${primaryColor}' x='0' y='0' width='100%' height='100%' style='opacity:.3'/></svg>\")`\n )\n\n this.addEventListener('show-record-view', (e: Event) =>\n this.popupRecordView((e as CustomEvent).detail as { row: number; record: GristRecord })\n )\n }\n\n getFieldByIndex(rowIndex: number, columnIndex: number, residue: boolean = true) {\n if (rowIndex < 0) {\n return\n }\n\n var columns = this.columns.filter(column => !column.hidden).length\n if (!residue && columnIndex >= columns) {\n return\n }\n\n return this.renderRoot.children.item(\n rowIndex * (columns + 1) /* 1 means last dummy column */ + ((columnIndex + columns) % columns)\n ) as DataGridField\n }\n\n _onWheelEvent(e: WheelEvent) {\n if (this.scrollHeight <= this.clientHeight) {\n var delta = Math.max(-1, Math.min(1, e.deltaY || 0))\n this.scrollLeft = Math.max(0, this.scrollLeft - delta * 40)\n\n var maxScrollLeft = this.scrollWidth - this.clientWidth\n\n var atStart = this.scrollLeft === 0\n var atEnd = this.scrollLeft === maxScrollLeft\n\n // 스크롤이 맨 앞으로 와 있는 상태에서 휠을 올리는 경우 또는\n // 스크롤이 맨 끝으로 가 있는 상태에서 휠을 내리는 경우에만 디폴트 동작 허용\n if ((atStart && delta > 0) || (atEnd && delta < 0)) {\n return true\n }\n\n e.preventDefault()\n }\n }\n\n startEditTarget(row: number, column: number, valueWithEdit: string | null = null) {\n var { editable } = this.columns.filter(column => !column.hidden)[column].record\n if (typeof editable === 'function') {\n const curRow = this.data.records[row] || {}\n const curCol = this.columns[column + 1]\n editable = editable.call(this, curRow[curCol.name], curCol, curRow, row, this)\n }\n\n if (!editable) {\n return\n }\n\n if (this.editTarget && this.editTarget.row == row && this.editTarget.column == column) {\n return\n }\n\n this.editTarget = {\n row,\n column,\n valueWithEdit\n }\n }\n\n shouldUpdate(changes: any) {\n if (!changes.has('editTarget')) {\n /*\n * 큰 변화에 대해서는 실제 update가 발생되기 전에 editTarget을 초기화한다.\n */\n this.editTarget = null\n }\n\n return super.shouldUpdate(changes)\n }\n\n updated(changes: PropertyValues<this>) {\n if (changes.has('focused')) {\n let element = this.renderRoot?.querySelector('[focused]')\n if (!element) {\n return\n }\n\n let { top, left } = calcScrollPos(this, element)\n // TODO this.scroll()을 사용하면, 효과가 좋으나 left 계산에 문제가 있는 것 같음.\n // this.scroll({\n // top,\n // left,\n // behavior: 'smooth'\n // })\n if (top !== undefined) {\n this.scrollTop = top\n }\n if (left !== undefined) {\n this.scrollLeft = left\n }\n }\n\n if (this._recordView) {\n this._recordView.record = this.data.records[this._recordViewRow!]\n }\n }\n\n focus() {\n super.focus()\n\n if (this.focused === ZERO_FOCUS) {\n let { records } = this.data\n let row = records.findIndex(record => record['__selected__'])\n\n this.focused = { row: row == -1 ? 0 : row, column: 0 }\n }\n }\n\n popupRecordView({ record, row }: { row: number; record: GristRecord }) {\n var titleField = this.config.list.fields[0] || 'name'\n var title = record[titleField]\n\n /* field가 오브젝트형인 경우에는 렌더러를 타이틀로 사용한다. */\n if (typeof title == 'object') {\n var column = this.config.columns.find(column => column.name == titleField)\n title = column?.record.renderer(title, column, record, row, this /* cautious */)\n }\n\n this._recordViewRow = row\n this._recordView = RecordViewHandler(\n this.config.columns,\n record,\n row,\n this,\n {\n title\n },\n () => {\n delete this._recordView\n delete this._recordViewRow\n }\n )\n }\n\n getSelectedBlockValues(): Array<Array<any>> | any | undefined {\n var { start, end } = this._selectBlock || {}\n\n if (!(start && end)) {\n start = this.focusedField\n\n end = start\n }\n\n if (start && end) {\n const startRowIndex = start.rowIndex < end.rowIndex ? start.rowIndex : end.rowIndex\n const endRowIndex = start.rowIndex < end.rowIndex ? end.rowIndex : start.rowIndex\n const startColumnIndex = start.columnIndex < end.columnIndex ? start.columnIndex : end.columnIndex\n const endColumnIndex = start.columnIndex < end.columnIndex ? end.columnIndex : start.columnIndex\n\n const columnArray = new Array(endColumnIndex - startColumnIndex + 1).fill(startColumnIndex)\n const columns = this.columns.filter(column => !column.hidden)\n\n return (\n '<table>' +\n new Array(endRowIndex - startRowIndex + 1)\n .fill(startRowIndex)\n .map((start, index) => {\n const rowIndex = start + index\n const record = this.data.records[rowIndex]\n\n const tds = columnArray\n .map((start, index) => {\n const columnIndex = start + index\n const column = columns[columnIndex]\n const value = record?.[column.name]\n const type = typeof value\n const text =\n value === undefined || value === null ? '' : type == 'object' ? JSON.stringify(value) : value\n\n return `<td type=${type}>${text}</td>`\n })\n .join('')\n return `<tr>${tds}</tr>`\n })\n .join('') +\n '</table>'\n )\n }\n }\n\n async copy() {\n const copied = this.getSelectedBlockValues()\n\n await navigator.clipboard.write([\n new ClipboardItem({\n 'text/html': new Blob([copied], { type: 'text/html' }),\n 'text/plain': new Blob([copied], { type: 'text/plain' })\n })\n ])\n\n const selectBlock = this.selectBlock || this.focusedField\n if (selectBlock) {\n const backgroundColor = selectBlock.style.backgroundColor\n const opacity = selectBlock.style.opacity\n\n selectBlock.setAttribute('data-tooltip', 'copied to clipboard!')\n selectBlock.style.backgroundColor = 'red'\n selectBlock.style.opacity = '0.5'\n await sleep(500)\n selectBlock.removeAttribute('data-tooltip')\n selectBlock.style.backgroundColor = backgroundColor\n selectBlock.style.opacity = opacity\n }\n }\n\n async paste() {\n try {\n const selection = window.getSelection()\n\n const clipboardItems = await navigator.clipboard.read()\n if (!clipboardItems) {\n return\n }\n\n var type: string | undefined\n var content: string | undefined\n\n for (const clipboardItem of clipboardItems) {\n try {\n var blob = await clipboardItem.getType('text/html')\n content = blob && (await blob.text())\n type = 'text/html'\n } catch (e) {\n try {\n blob = await clipboardItem.getType('text/plain')\n content = blob && (await blob.text())\n type = 'text/plain'\n } catch (e) {}\n }\n\n break\n }\n\n if (!content) {\n return\n }\n\n const { row, column } = this.focused\n const { records } = this.data\n const columns = this.columns.filter(column => !column.hidden)\n\n if (type === 'text/html') {\n const div = document.createElement('div')\n div.innerHTML = content!.trim()\n const table = div.querySelector('table') as HTMLTableElement\n if (!table) {\n return\n }\n\n if (selection) {\n this.resetEdit()\n selection.removeAllRanges()\n await this.updateComplete\n }\n const rows = table.querySelectorAll('tr')\n\n rows.forEach((record, rowIndex) => {\n if (!(record instanceof HTMLTableRowElement)) {\n return\n }\n\n var targetRecord = records[row + rowIndex] || { __dirty__: '+' }\n if (row + rowIndex >= records.length) {\n records.push(targetRecord)\n }\n\n const cells = record.querySelectorAll('td')\n cells.forEach((item, columnIndex) => {\n const targetColumn = columns[column + columnIndex]\n var value = item.textContent as any\n const type = Number.isFinite(parseFloat(value)) ? 'number' : item.getAttribute('type') || 'string'\n let { editable } = targetColumn.record\n if (typeof editable === 'function') {\n editable = editable.call(this, value, targetColumn, targetRecord, row, this)\n }\n\n switch (type) {\n case 'object':\n try {\n value = JSON.parse(value || 'null')\n } catch (err) {}\n break\n case 'boolean':\n value = !!value && !!String(value).match(/true/i)\n break\n case 'number':\n value = Number(value)\n break\n default:\n value = value\n }\n\n if (targetColumn && !targetColumn.gutterName && editable) {\n this.dispatchEvent(\n new CustomEvent('field-change', {\n bubbles: true,\n composed: true,\n detail: {\n before: targetRecord[targetColumn.name],\n after: value,\n column: targetColumn,\n record: targetRecord,\n row: row + rowIndex\n }\n })\n )\n }\n })\n })\n\n return\n } else if (!selection && type === 'text/plain') {\n const targetRecord = records[row] || { __dirty__: '+' }\n const targetColumn = columns[column]\n let { editable } = targetColumn.record\n if (typeof editable === 'function') {\n editable = editable.call(this, content, targetColumn, targetRecord, row, this)\n }\n\n if (targetColumn && !targetColumn.gutterName && editable) {\n this.dispatchEvent(\n new CustomEvent('field-change', {\n bubbles: true,\n composed: true,\n detail: {\n before: targetRecord[targetColumn.name],\n after: content,\n column: targetColumn,\n record: targetRecord,\n row: row\n }\n })\n )\n }\n }\n } catch (e) {}\n }\n\n setSelectBlock(start?: DataGridField, end?: DataGridField) {\n if (start?.columnIndex == -1) {\n start = this.getFieldByIndex(start.rowIndex, this.columns.filter(column => !column.hidden).length - 1)\n }\n\n if (end?.columnIndex == -1) {\n end = this.getFieldByIndex(end.rowIndex, this.columns.filter(column => !column.hidden).length - 1)\n }\n\n this._selectBlock = start && { start, end }\n\n if (start && end) {\n window.getSelection()?.removeAllRanges()\n\n if (start !== end) {\n const left = start.columnIndex < end.columnIndex ? start : end\n const right = left === start ? end : start\n const top = start.rowIndex < end.rowIndex ? start : end\n const bottom = top === start ? end : start\n\n const { offsetLeft } = left\n const { offsetTop } = top\n const width = right.offsetLeft - offsetLeft + right.offsetWidth\n const height = bottom.offsetTop - offsetTop + bottom.offsetHeight\n\n this.style.setProperty('--select-box-left', offsetLeft - 1 + 'px')\n this.style.setProperty('--select-box-top', offsetTop - 1 + 'px')\n this.style.setProperty('--select-box-width', width + 'px')\n this.style.setProperty('--select-box-height', height + 'px')\n }\n\n this.focus()\n }\n }\n\n buildAccumulatorRecord(): GristRecord {\n var columns = this.columns.filter(column => !column.hidden)\n\n return columns.reduce((record, column) => {\n if (column.accumulator) {\n record[column.name] = accumulate(this.data, column, column.accumulator)\n }\n return record\n }, {} as GristRecord)\n }\n}\n"]}
|
|
@@ -21,7 +21,7 @@ export declare class DataGrid extends DataManipulator {
|
|
|
21
21
|
footer: LitElement;
|
|
22
22
|
private _widths?;
|
|
23
23
|
firstUpdated(): void;
|
|
24
|
-
onWheelEvent(e: WheelEvent):
|
|
24
|
+
onWheelEvent(e: WheelEvent): true | undefined;
|
|
25
25
|
onSelectRecordChanged({ selectedRecords, added, removed }: {
|
|
26
26
|
selectedRecords: GristRecord[];
|
|
27
27
|
added: GristRecord[];
|
|
@@ -7,7 +7,6 @@ import { css, html } from 'lit';
|
|
|
7
7
|
import { customElement, property, query } from 'lit/decorators.js';
|
|
8
8
|
import { ScrollbarStyles } from '@operato/styles';
|
|
9
9
|
import { DataManipulator } from '../data-manipulator';
|
|
10
|
-
import { supportsPassive } from '../utils';
|
|
11
10
|
/**
|
|
12
11
|
* DataGrid
|
|
13
12
|
*/
|
|
@@ -47,9 +46,19 @@ let DataGrid = class DataGrid extends DataManipulator {
|
|
|
47
46
|
});
|
|
48
47
|
}
|
|
49
48
|
onWheelEvent(e) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
if (this.body.scrollWidth > this.body.clientWidth) {
|
|
50
|
+
var delta = Math.max(-1, Math.min(1, e.deltaY || 0));
|
|
51
|
+
this.body.scrollLeft = Math.max(0, this.body.scrollLeft - delta * 30);
|
|
52
|
+
var maxScrollLeft = this.body.scrollWidth - this.body.clientWidth;
|
|
53
|
+
var atStart = this.body.scrollLeft === 0;
|
|
54
|
+
var atEnd = this.body.scrollLeft === maxScrollLeft;
|
|
55
|
+
// 스크롤이 맨 앞으로 와 있는 상태에서 휠을 올리는 경우 또는
|
|
56
|
+
// 스크롤이 맨 끝으로 가 있는 상태에서 휠을 내리는 경우에만 디폴트 동작 허용
|
|
57
|
+
if ((atStart && delta > 0) || (atEnd && delta < 0)) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
e.preventDefault();
|
|
61
|
+
}
|
|
53
62
|
}
|
|
54
63
|
onSelectRecordChanged({ selectedRecords, added, removed }) {
|
|
55
64
|
super.onSelectRecordChanged({ selectedRecords, added, removed });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-grid.js","sourceRoot":"","sources":["../../../src/data-grid/data-grid.ts"],"names":[],"mappings":"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","sourcesContent":["import '../empty-note'\nimport './data-grid-header'\nimport './data-grid-body'\nimport './data-grid-footer'\n\nimport { css, html, LitElement, PropertyValues } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\nimport { ScrollbarStyles } from '@operato/styles'\n\nimport { DataManipulator } from '../data-manipulator'\nimport { ColumnConfig, GristRecord, PaginationConfig } from '../types'\nimport { supportsPassive } from '../utils'\nimport { DataGridHeader } from './data-grid-header'\n\n/**\n * DataGrid\n */\n@customElement('ox-grid')\nexport class DataGrid extends DataManipulator {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n\n border-width: var(--grid-container-border-width);\n }\n\n ox-grid-body {\n flex: 1;\n position: relative;\n }\n\n ox-empty-note {\n display: block;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n @media print {\n :host {\n zoom: 80%;\n }\n }\n `\n ]\n\n @property({ type: Object }) focused?: { row: number; column: number }\n @property({ type: Boolean }) empty?: boolean\n\n @query('ox-grid-body', true) body!: LitElement\n @query('ox-grid-header', true) header!: DataGridHeader\n @query('ox-grid-footer', true) footer!: LitElement\n\n private _widths?: string\n\n firstUpdated() {\n /* header and body scroll synchronization */\n this.header.addEventListener('scroll', e => {\n if (this.body.scrollLeft !== this.header.scrollLeft) {\n this.body.scrollLeft = this.header.scrollLeft\n }\n })\n\n this.body.addEventListener('scroll', e => {\n if (this.body.scrollLeft !== this.header.scrollLeft) {\n this.header.scrollLeft = this.body.scrollLeft\n }\n })\n\n this.header.addEventListener('wheel', this.onWheelEvent.bind(this))\n this.footer && this.footer.addEventListener('wheel', this.onWheelEvent.bind(this))\n\n /* record selection processing */\n this.addEventListener('select-all-change', e => {\n if (this.data.records.length == 0) {\n return\n }\n\n var { selected } = (e as CustomEvent).detail\n var { records } = this.data\n\n records.forEach(record => (record['__selected__'] = selected))\n\n this.header.requestUpdate()\n this.body.requestUpdate()\n })\n\n this.addEventListener('focus-change', e => {\n const { row, column } = (e as CustomEvent).detail || {}\n if (!this.focused || this.focused.row != row || this.focused.column != column) {\n this.focused = { row, column }\n this.focus()\n this.requestUpdate()\n }\n })\n }\n\n onWheelEvent(e: WheelEvent) {\n var delta = Math.max(-1, Math.min(1, e.deltaY || 0))\n this.body.scrollLeft = Math.max(0, this.body.scrollLeft - delta * 30)\n\n supportsPassive || e.preventDefault()\n }\n\n onSelectRecordChanged({\n selectedRecords,\n added,\n removed\n }: {\n selectedRecords: GristRecord[]\n added: GristRecord[]\n removed: GristRecord[]\n }): void {\n super.onSelectRecordChanged({ selectedRecords, added, removed })\n\n this.header.requestUpdate()\n this.body.requestUpdate()\n }\n\n onRecordChanged(\n recordData: GristRecord,\n row: number,\n column: ColumnConfig | null /* TODO column should be removed */\n ) {\n /* record-viewer 등 grid 외에서 변경되는 경우에도 header와 body를 refresh 하도록 한다. */\n super.onRecordChanged(recordData, row, column)\n\n this.header.requestUpdate()\n this.body.requestUpdate()\n }\n\n updated(changes: PropertyValues<this>) {\n if (changes.has('data')) {\n /*\n * 데이타 내용에 따라 동적으로 컬럼의 폭이 달라지는 경우(예를 들면, sequence field)가 있으므로,\n * data의 변동에 대해서도 다시 계산되어야 한다.\n */\n this.calculateWidths(this.config.columns)\n\n if (this.focused && 'row' in this.focused) {\n var { row = 0, column = 0 } = this.focused\n var { records: oldrecords = [] } = changes.get('data')\n var { records: newrecords } = this.data\n\n var oldrecord = oldrecords[row]\n\n if (oldrecord && oldrecord !== newrecords[row]) {\n var newrecord = newrecords.find(\n record =>\n /* TODO keyfields를 정의하고, keyfields의 동일성으로 확정해야 한다. */\n oldrecord === record ||\n ('id' in oldrecord\n ? record.id == oldrecord.id\n : 'name' in oldrecord\n ? record.name == oldrecord.name\n : false)\n )\n\n this.focused = {\n row: newrecord ? newrecords.indexOf(newrecord) : row,\n column\n }\n }\n }\n } else if (changes.has('config')) {\n this.calculateWidths(this.config.columns)\n }\n\n /* grid fetch 후에 grid로 focus를 주어야 하는 지 검토가 필요하다. */\n // this.focus()\n }\n\n calculateWidths(columns: ColumnConfig[]) {\n /*\n * 컬럼 모델 마지막에 'auto' cell을 추가하여, 자투리 영역을 꽉 채워서 표시한다.\n */\n this._widths = columns\n .filter(column => !column.hidden)\n .map(column => {\n switch (typeof column.width) {\n case 'number':\n return column.width + 'px'\n case 'string':\n return column.width\n case 'function':\n return column.width.call(this, column)\n default:\n return 'auto'\n }\n })\n .concat(['auto'])\n .join(' ')\n\n this.style.setProperty('--grid-template-columns', this._widths)\n this.style.setProperty('--grid-template-print-columns', this._widths.replace(/px/gi, 'fr'))\n }\n\n render() {\n var { pagination = {} as PaginationConfig, columns = [], filters } = this.config\n\n var paginatable = !pagination.infinite\n var data = this.data\n\n return html`\n <ox-grid-header\n .columns=${columns}\n .sorters=${this.sorters}\n .filters=${this.filters}\n .data=${data}\n ?filtering-feature=${filters?.header}\n @column-width-change=${(e: CustomEvent) => {\n let { idx, width } = e.detail\n columns[idx].width = width\n this.calculateWidths(columns)\n }}\n ></ox-grid-header>\n\n <ox-grid-body .config=${this.config} .columns=${columns} .data=${data} .focused=${this.focused}>\n ${this.empty ? html` <ox-empty-note title=\"NO RECORDS\"></ox-empty-note> ` : html``}\n </ox-grid-body>\n ${paginatable ? html` <ox-grid-footer .data=${data} .pagination=${this.pagination}></ox-grid-footer> ` : html``}\n `\n }\n\n focus() {\n super.focus()\n\n this.body.focus()\n }\n\n get pullToRefreshTarget() {\n return this.body\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"data-grid.js","sourceRoot":"","sources":["../../../src/data-grid/data-grid.ts"],"names":[],"mappings":"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","sourcesContent":["import '../empty-note'\nimport './data-grid-header'\nimport './data-grid-body'\nimport './data-grid-footer'\n\nimport { css, html, LitElement, PropertyValues } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\nimport { ScrollbarStyles } from '@operato/styles'\n\nimport { DataManipulator } from '../data-manipulator'\nimport { ColumnConfig, GristRecord, PaginationConfig } from '../types'\nimport { supportsPassive } from '../utils'\nimport { DataGridHeader } from './data-grid-header'\n\n/**\n * DataGrid\n */\n@customElement('ox-grid')\nexport class DataGrid extends DataManipulator {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n\n border-width: var(--grid-container-border-width);\n }\n\n ox-grid-body {\n flex: 1;\n position: relative;\n }\n\n ox-empty-note {\n display: block;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n @media print {\n :host {\n zoom: 80%;\n }\n }\n `\n ]\n\n @property({ type: Object }) focused?: { row: number; column: number }\n @property({ type: Boolean }) empty?: boolean\n\n @query('ox-grid-body', true) body!: LitElement\n @query('ox-grid-header', true) header!: DataGridHeader\n @query('ox-grid-footer', true) footer!: LitElement\n\n private _widths?: string\n\n firstUpdated() {\n /* header and body scroll synchronization */\n this.header.addEventListener('scroll', e => {\n if (this.body.scrollLeft !== this.header.scrollLeft) {\n this.body.scrollLeft = this.header.scrollLeft\n }\n })\n\n this.body.addEventListener('scroll', e => {\n if (this.body.scrollLeft !== this.header.scrollLeft) {\n this.header.scrollLeft = this.body.scrollLeft\n }\n })\n\n this.header.addEventListener('wheel', this.onWheelEvent.bind(this))\n this.footer && this.footer.addEventListener('wheel', this.onWheelEvent.bind(this))\n\n /* record selection processing */\n this.addEventListener('select-all-change', e => {\n if (this.data.records.length == 0) {\n return\n }\n\n var { selected } = (e as CustomEvent).detail\n var { records } = this.data\n\n records.forEach(record => (record['__selected__'] = selected))\n\n this.header.requestUpdate()\n this.body.requestUpdate()\n })\n\n this.addEventListener('focus-change', e => {\n const { row, column } = (e as CustomEvent).detail || {}\n if (!this.focused || this.focused.row != row || this.focused.column != column) {\n this.focused = { row, column }\n this.focus()\n this.requestUpdate()\n }\n })\n }\n\n onWheelEvent(e: WheelEvent) {\n if (this.body.scrollWidth > this.body.clientWidth) {\n var delta = Math.max(-1, Math.min(1, e.deltaY || 0))\n this.body.scrollLeft = Math.max(0, this.body.scrollLeft - delta * 30)\n\n var maxScrollLeft = this.body.scrollWidth - this.body.clientWidth\n\n var atStart = this.body.scrollLeft === 0\n var atEnd = this.body.scrollLeft === maxScrollLeft\n\n // 스크롤이 맨 앞으로 와 있는 상태에서 휠을 올리는 경우 또는\n // 스크롤이 맨 끝으로 가 있는 상태에서 휠을 내리는 경우에만 디폴트 동작 허용\n if ((atStart && delta > 0) || (atEnd && delta < 0)) {\n return true\n }\n\n e.preventDefault()\n }\n }\n\n onSelectRecordChanged({\n selectedRecords,\n added,\n removed\n }: {\n selectedRecords: GristRecord[]\n added: GristRecord[]\n removed: GristRecord[]\n }): void {\n super.onSelectRecordChanged({ selectedRecords, added, removed })\n\n this.header.requestUpdate()\n this.body.requestUpdate()\n }\n\n onRecordChanged(\n recordData: GristRecord,\n row: number,\n column: ColumnConfig | null /* TODO column should be removed */\n ) {\n /* record-viewer 등 grid 외에서 변경되는 경우에도 header와 body를 refresh 하도록 한다. */\n super.onRecordChanged(recordData, row, column)\n\n this.header.requestUpdate()\n this.body.requestUpdate()\n }\n\n updated(changes: PropertyValues<this>) {\n if (changes.has('data')) {\n /*\n * 데이타 내용에 따라 동적으로 컬럼의 폭이 달라지는 경우(예를 들면, sequence field)가 있으므로,\n * data의 변동에 대해서도 다시 계산되어야 한다.\n */\n this.calculateWidths(this.config.columns)\n\n if (this.focused && 'row' in this.focused) {\n var { row = 0, column = 0 } = this.focused\n var { records: oldrecords = [] } = changes.get('data')\n var { records: newrecords } = this.data\n\n var oldrecord = oldrecords[row]\n\n if (oldrecord && oldrecord !== newrecords[row]) {\n var newrecord = newrecords.find(\n record =>\n /* TODO keyfields를 정의하고, keyfields의 동일성으로 확정해야 한다. */\n oldrecord === record ||\n ('id' in oldrecord\n ? record.id == oldrecord.id\n : 'name' in oldrecord\n ? record.name == oldrecord.name\n : false)\n )\n\n this.focused = {\n row: newrecord ? newrecords.indexOf(newrecord) : row,\n column\n }\n }\n }\n } else if (changes.has('config')) {\n this.calculateWidths(this.config.columns)\n }\n\n /* grid fetch 후에 grid로 focus를 주어야 하는 지 검토가 필요하다. */\n // this.focus()\n }\n\n calculateWidths(columns: ColumnConfig[]) {\n /*\n * 컬럼 모델 마지막에 'auto' cell을 추가하여, 자투리 영역을 꽉 채워서 표시한다.\n */\n this._widths = columns\n .filter(column => !column.hidden)\n .map(column => {\n switch (typeof column.width) {\n case 'number':\n return column.width + 'px'\n case 'string':\n return column.width\n case 'function':\n return column.width.call(this, column)\n default:\n return 'auto'\n }\n })\n .concat(['auto'])\n .join(' ')\n\n this.style.setProperty('--grid-template-columns', this._widths)\n this.style.setProperty('--grid-template-print-columns', this._widths.replace(/px/gi, 'fr'))\n }\n\n render() {\n var { pagination = {} as PaginationConfig, columns = [], filters } = this.config\n\n var paginatable = !pagination.infinite\n var data = this.data\n\n return html`\n <ox-grid-header\n .columns=${columns}\n .sorters=${this.sorters}\n .filters=${this.filters}\n .data=${data}\n ?filtering-feature=${filters?.header}\n @column-width-change=${(e: CustomEvent) => {\n let { idx, width } = e.detail\n columns[idx].width = width\n this.calculateWidths(columns)\n }}\n ></ox-grid-header>\n\n <ox-grid-body .config=${this.config} .columns=${columns} .data=${data} .focused=${this.focused}>\n ${this.empty ? html` <ox-empty-note title=\"NO RECORDS\"></ox-empty-note> ` : html``}\n </ox-grid-body>\n ${paginatable ? html` <ox-grid-footer .data=${data} .pagination=${this.pagination}></ox-grid-footer> ` : html``}\n `\n }\n\n focus() {\n super.focus()\n\n this.body.focus()\n }\n\n get pullToRefreshTarget() {\n return this.body\n }\n}\n"]}
|
|
@@ -3,7 +3,6 @@ import { css, html, LitElement } from 'lit';
|
|
|
3
3
|
import { customElement, property } from 'lit/decorators.js';
|
|
4
4
|
import throttle from 'lodash-es/throttle';
|
|
5
5
|
import { ZERO_CONFIG, ZERO_DATA } from '../configure/zero-config';
|
|
6
|
-
import { supportsPassive } from '../utils';
|
|
7
6
|
let DataReportHeader = class DataReportHeader extends LitElement {
|
|
8
7
|
constructor() {
|
|
9
8
|
super(...arguments);
|
|
@@ -12,12 +11,22 @@ let DataReportHeader = class DataReportHeader extends LitElement {
|
|
|
12
11
|
this.data = ZERO_DATA;
|
|
13
12
|
}
|
|
14
13
|
_onWheelEvent(e) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
if (this.scrollWidth > this.clientWidth) {
|
|
15
|
+
var delta = Math.max(-1, Math.min(1, e.deltaY || 0));
|
|
16
|
+
this.scrollLeft = Math.max(0, this.scrollLeft - delta * 40);
|
|
17
|
+
var maxScrollLeft = this.scrollWidth - this.clientWidth;
|
|
18
|
+
var atStart = this.scrollLeft === 0;
|
|
19
|
+
var atEnd = this.scrollLeft === maxScrollLeft;
|
|
20
|
+
// 스크롤이 맨 앞으로 와 있는 상태에서 휠을 올리는 경우 또는
|
|
21
|
+
// 스크롤이 맨 끝으로 가 있는 상태에서 휠을 내리는 경우에만 디폴트 동작 허용
|
|
22
|
+
if ((atStart && delta > 0) || (atEnd && delta < 0)) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
e.preventDefault();
|
|
26
|
+
}
|
|
18
27
|
}
|
|
19
28
|
firstUpdated() {
|
|
20
|
-
this.addEventListener('wheel', this._onWheelEvent.bind(this)
|
|
29
|
+
this.addEventListener('wheel', this._onWheelEvent.bind(this));
|
|
21
30
|
}
|
|
22
31
|
async updated(changed) {
|
|
23
32
|
if (changed.has('config')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-report-header.js","sourceRoot":"","sources":["../../../src/data-report/data-report-header.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement, PropertyValues } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport throttle from 'lodash-es/throttle'\n\nimport { ZERO_CONFIG, ZERO_DATA } from '../configure/zero-config'\nimport { ColumnConfig, GristConfig, GristData, SortersConfig } from '../types'\nimport { supportsPassive } from '../utils'\n\n@customElement('ox-report-header')\nclass DataReportHeader extends LitElement {\n static styles = [\n css`\n :host {\n display: grid;\n grid-template-columns: var(--report-template-columns);\n\n overflow: hidden;\n }\n\n div {\n display: flex;\n\n white-space: nowrap;\n overflow: hidden;\n background-color: var(--report-header-background-color, gray);\n border: 1px solid var(--report-header-border-color);\n border-width: 1px 1px 1px 0;\n padding: var(--report-header-padding);\n\n text-overflow: ellipsis;\n text-align: center;\n font-size: var(--report-header-fontsize, 1em);\n color: var(--report-header-color);\n }\n\n span {\n white-space: nowrap;\n overflow: hidden;\n\n text-align: center;\n }\n\n span[titler] {\n flex: 1;\n text-overflow: ellipsis;\n font: var(--report-header-font);\n color: var(--report-header-color);\n text-transform: capitalize;\n }\n\n span[sorter] {\n padding: 0;\n border: 0;\n font-size: 10px;\n }\n\n span[splitter] {\n cursor: col-resize;\n }\n\n @media print {\n :host {\n grid-template-columns: var(--report-template-print-columns);\n }\n }\n `\n ]\n\n @property({ type: Object }) config: GristConfig = ZERO_CONFIG\n @property({ type: Array }) columns: ColumnConfig[] = []\n @property({ type: Object }) data: GristData = ZERO_DATA\n @property({ type: Array }) private _sorters?: SortersConfig\n\n private throttledNotifier?: (idx: number, width: number) => void\n\n _onWheelEvent(e: WheelEvent) {\n var delta = Math.max(-1, Math.min(1, e.deltaY || 0))\n this.scrollLeft = Math.max(0, this.scrollLeft - delta * 40)\n\n supportsPassive || e.preventDefault()\n }\n\n firstUpdated() {\n this.addEventListener('wheel', this._onWheelEvent.bind(this), supportsPassive ? { passive: true } : false)\n }\n\n async updated(changed: PropertyValues<this>) {\n if (changed.has('config')) {\n this._sorters = this.config.sorters || []\n }\n }\n\n render() {\n var columns = this.columns || []\n\n return html`\n ${columns.map((column, idx) =>\n !column.hidden\n ? html`\n <div @dragstart=${(e: MouseEvent) => this._dragStart(e, idx)}>\n <span titler @click=${(e: Event) => this._changeSort(column)}>${this._renderHeader(column)} </span>\n\n ${column.sortable\n ? html`\n <span sorter @click=${(e: Event) => this._changeSort(column)}>\n ${this._renderSortHeader(column)}\n </span>\n `\n : html``}\n ${column.resizable !== false ? html` <span splitter draggable=\"true\"> </span> ` : html``}\n </div>\n `\n : html``\n )}\n\n <div></div>\n `\n }\n\n _renderHeader(column: ColumnConfig) {\n var { renderer } = column.header || {}\n var title = renderer.call(this, column)\n\n return html` ${title} `\n }\n\n _renderSortHeader(column: ColumnConfig) {\n if (column.hidden) {\n return html``\n }\n\n var sorters = this._sorters || []\n\n var sorter = sorters.find(sorter => column.type !== 'gutter' && column.name == sorter.name)\n if (!sorter) {\n return html``\n }\n\n if (sorters.length > 1) {\n var rank = sorters.indexOf(sorter) + 1\n return sorter.desc ? html` ▼<sub>${rank}</sub> ` : html` ▲<sub>${rank}</sub> `\n } else {\n return sorter.desc ? html` ▼ ` : html` ▲ `\n }\n }\n\n _changeSort(column: ColumnConfig) {\n if (!column.sortable) {\n return\n }\n\n var sorters = [...(this._sorters || [])]\n\n var idx = sorters.findIndex(sorter => sorter.name == column.name)\n if (idx !== -1) {\n let sorter = sorters[idx]\n if (sorter.desc) {\n sorters.splice(idx, 1)\n } else {\n sorter.desc = true\n }\n } else {\n var sorter = {\n name: column.name\n }\n\n sorters.push(sorter)\n }\n\n this._sorters = sorters\n\n this.dispatchEvent(\n new CustomEvent('fetch-params-change', {\n bubbles: true,\n composed: true,\n detail: {\n sorters: this._sorters,\n from: 'data-report-header'\n }\n })\n )\n }\n\n _notifyWidthChange(idx: number, width: number) {\n if (!this.throttledNotifier) {\n this.throttledNotifier = throttle((idx, width) => {\n this.dispatchEvent(\n new CustomEvent('column-width-change', {\n bubbles: true,\n composed: true,\n detail: {\n idx,\n width\n }\n })\n )\n }, 100)\n }\n\n this.throttledNotifier(idx, width)\n }\n\n _dragStart(e: MouseEvent, idx: number) {\n var target = e.currentTarget as HTMLElement\n var startX = e.offsetX\n\n var dragHandler = ((e: MouseEvent) => {\n let column = this.columns[idx]\n\n let width = Math.max(0, Number(column.width) + e.offsetX - startX)\n if (width == 0) {\n /* CLARIFY-ME 왜 마지막 이벤트의 offsetX로 음수 값이 오는가 */\n return\n }\n\n this._notifyWidthChange(idx, width)\n }).bind(this)\n\n var dragEndHandler = ((e: MouseEvent) => {\n target.removeEventListener('drag', dragHandler)\n target.removeEventListener('dragend', dragEndHandler)\n\n dragHandler(e)\n }).bind(this)\n\n target.addEventListener('drag', dragHandler)\n target.addEventListener('dragend', dragEndHandler)\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"data-report-header.js","sourceRoot":"","sources":["../../../src/data-report/data-report-header.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement, PropertyValues } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport throttle from 'lodash-es/throttle'\n\nimport { ZERO_CONFIG, ZERO_DATA } from '../configure/zero-config'\nimport { ColumnConfig, GristConfig, GristData, SortersConfig } from '../types'\nimport { supportsPassive } from '../utils'\n\n@customElement('ox-report-header')\nclass DataReportHeader extends LitElement {\n static styles = [\n css`\n :host {\n display: grid;\n grid-template-columns: var(--report-template-columns);\n\n overflow: hidden;\n }\n\n div {\n display: flex;\n\n white-space: nowrap;\n overflow: hidden;\n background-color: var(--report-header-background-color, gray);\n border: 1px solid var(--report-header-border-color);\n border-width: 1px 1px 1px 0;\n padding: var(--report-header-padding);\n\n text-overflow: ellipsis;\n text-align: center;\n font-size: var(--report-header-fontsize, 1em);\n color: var(--report-header-color);\n }\n\n span {\n white-space: nowrap;\n overflow: hidden;\n\n text-align: center;\n }\n\n span[titler] {\n flex: 1;\n text-overflow: ellipsis;\n font: var(--report-header-font);\n color: var(--report-header-color);\n text-transform: capitalize;\n }\n\n span[sorter] {\n padding: 0;\n border: 0;\n font-size: 10px;\n }\n\n span[splitter] {\n cursor: col-resize;\n }\n\n @media print {\n :host {\n grid-template-columns: var(--report-template-print-columns);\n }\n }\n `\n ]\n\n @property({ type: Object }) config: GristConfig = ZERO_CONFIG\n @property({ type: Array }) columns: ColumnConfig[] = []\n @property({ type: Object }) data: GristData = ZERO_DATA\n @property({ type: Array }) private _sorters?: SortersConfig\n\n private throttledNotifier?: (idx: number, width: number) => void\n\n _onWheelEvent(e: WheelEvent) {\n if (this.scrollWidth > this.clientWidth) {\n var delta = Math.max(-1, Math.min(1, e.deltaY || 0))\n this.scrollLeft = Math.max(0, this.scrollLeft - delta * 40)\n\n var maxScrollLeft = this.scrollWidth - this.clientWidth\n\n var atStart = this.scrollLeft === 0\n var atEnd = this.scrollLeft === maxScrollLeft\n\n // 스크롤이 맨 앞으로 와 있는 상태에서 휠을 올리는 경우 또는\n // 스크롤이 맨 끝으로 가 있는 상태에서 휠을 내리는 경우에만 디폴트 동작 허용\n if ((atStart && delta > 0) || (atEnd && delta < 0)) {\n return true\n }\n\n e.preventDefault()\n }\n }\n\n firstUpdated() {\n this.addEventListener('wheel', this._onWheelEvent.bind(this))\n }\n\n async updated(changed: PropertyValues<this>) {\n if (changed.has('config')) {\n this._sorters = this.config.sorters || []\n }\n }\n\n render() {\n var columns = this.columns || []\n\n return html`\n ${columns.map((column, idx) =>\n !column.hidden\n ? html`\n <div @dragstart=${(e: MouseEvent) => this._dragStart(e, idx)}>\n <span titler @click=${(e: Event) => this._changeSort(column)}>${this._renderHeader(column)} </span>\n\n ${column.sortable\n ? html`\n <span sorter @click=${(e: Event) => this._changeSort(column)}>\n ${this._renderSortHeader(column)}\n </span>\n `\n : html``}\n ${column.resizable !== false ? html` <span splitter draggable=\"true\"> </span> ` : html``}\n </div>\n `\n : html``\n )}\n\n <div></div>\n `\n }\n\n _renderHeader(column: ColumnConfig) {\n var { renderer } = column.header || {}\n var title = renderer.call(this, column)\n\n return html` ${title} `\n }\n\n _renderSortHeader(column: ColumnConfig) {\n if (column.hidden) {\n return html``\n }\n\n var sorters = this._sorters || []\n\n var sorter = sorters.find(sorter => column.type !== 'gutter' && column.name == sorter.name)\n if (!sorter) {\n return html``\n }\n\n if (sorters.length > 1) {\n var rank = sorters.indexOf(sorter) + 1\n return sorter.desc ? html` ▼<sub>${rank}</sub> ` : html` ▲<sub>${rank}</sub> `\n } else {\n return sorter.desc ? html` ▼ ` : html` ▲ `\n }\n }\n\n _changeSort(column: ColumnConfig) {\n if (!column.sortable) {\n return\n }\n\n var sorters = [...(this._sorters || [])]\n\n var idx = sorters.findIndex(sorter => sorter.name == column.name)\n if (idx !== -1) {\n let sorter = sorters[idx]\n if (sorter.desc) {\n sorters.splice(idx, 1)\n } else {\n sorter.desc = true\n }\n } else {\n var sorter = {\n name: column.name\n }\n\n sorters.push(sorter)\n }\n\n this._sorters = sorters\n\n this.dispatchEvent(\n new CustomEvent('fetch-params-change', {\n bubbles: true,\n composed: true,\n detail: {\n sorters: this._sorters,\n from: 'data-report-header'\n }\n })\n )\n }\n\n _notifyWidthChange(idx: number, width: number) {\n if (!this.throttledNotifier) {\n this.throttledNotifier = throttle((idx, width) => {\n this.dispatchEvent(\n new CustomEvent('column-width-change', {\n bubbles: true,\n composed: true,\n detail: {\n idx,\n width\n }\n })\n )\n }, 100)\n }\n\n this.throttledNotifier(idx, width)\n }\n\n _dragStart(e: MouseEvent, idx: number) {\n var target = e.currentTarget as HTMLElement\n var startX = e.offsetX\n\n var dragHandler = ((e: MouseEvent) => {\n let column = this.columns[idx]\n\n let width = Math.max(0, Number(column.width) + e.offsetX - startX)\n if (width == 0) {\n /* CLARIFY-ME 왜 마지막 이벤트의 offsetX로 음수 값이 오는가 */\n return\n }\n\n this._notifyWidthChange(idx, width)\n }).bind(this)\n\n var dragEndHandler = ((e: MouseEvent) => {\n target.removeEventListener('drag', dragHandler)\n target.removeEventListener('dragend', dragEndHandler)\n\n dragHandler(e)\n }).bind(this)\n\n target.addEventListener('drag', dragHandler)\n target.addEventListener('dragend', dragEndHandler)\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/@types/trusted-types/index.d.ts","../../../node_modules/lit-html/directive.d.ts","../../../node_modules/lit-html/lit-html.d.ts","../../../node_modules/@lit/reactive-element/css-tag.d.ts","../../../node_modules/@lit/reactive-element/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/reactive-element.d.ts","../../../node_modules/lit/node_modules/lit-html/directive.d.ts","../../../node_modules/lit/node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/lit-element.d.ts","../../../node_modules/lit/node_modules/lit-html/is-server.d.ts","../../../node_modules/lit/index.d.ts","../../../node_modules/@lit/reactive-element/decorators/base.d.ts","../../../node_modules/@lit/reactive-element/decorators/custom-element.d.ts","../../../node_modules/@lit/reactive-element/decorators/property.d.ts","../../../node_modules/@lit/reactive-element/decorators/state.d.ts","../../../node_modules/@lit/reactive-element/decorators/event-options.d.ts","../../../node_modules/@lit/reactive-element/decorators/query.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-all.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-async.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-assigned-nodes.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-assigned-elements.d.ts","../../../node_modules/lit/decorators.d.ts","../../styles/dist/src/headroom-styles.d.ts","../../styles/dist/src/scrollbar-styles.d.ts","../../styles/dist/src/spinner-styles.d.ts","../../styles/dist/src/tooltip-styles.d.ts","../../styles/dist/src/common-button-styles.d.ts","../../styles/dist/src/common-grist-styles.d.ts","../../styles/dist/src/button-container-styles.d.ts","../../styles/dist/src/common-header-styles.d.ts","../../styles/dist/src/index.d.ts","../src/configure/zero-config.ts","../src/data-card/data-card-field.ts","../src/data-card/data-card-gutter.ts","../../../node_modules/@material/mwc-icon/mwc-icon.d.ts","../src/data-list/data-list-field.ts","../src/data-list/data-list-gutter.ts","../src/data-grid/data-grid-accum-field.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash-es/debounce.d.ts","../../utils/dist/src/sleep.d.ts","../../utils/dist/src/async-lock.d.ts","../../utils/dist/src/file-drop-helper.d.ts","../../utils/dist/src/context-path.d.ts","../../utils/dist/src/os.d.ts","../../utils/dist/src/swipe-listener.d.ts","../../utils/dist/src/fullscreen.d.ts","../../utils/dist/src/parse-jwt.d.ts","../../utils/dist/src/password-pattern.d.ts","../../utils/dist/src/closest-element.d.ts","../../utils/dist/src/detect-overflow.d.ts","../../utils/dist/src/timecapsule/snapshot-taker.d.ts","../../utils/dist/src/timecapsule/timecapsule.d.ts","../../utils/dist/src/timecapsule/index.d.ts","../../utils/dist/src/clipboard.d.ts","../../utils/dist/src/format.d.ts","../../utils/dist/src/adjust-list-param.d.ts","../../utils/dist/src/is-unvalued.d.ts","../../utils/dist/src/stringify-bignum.d.ts","../../utils/dist/src/encode-form-params.d.ts","../../utils/dist/src/cookie.d.ts","../../utils/dist/src/index.d.ts","../src/utils/supports-passive.ts","../../../node_modules/json5/lib/parse.d.ts","../../../node_modules/json5/lib/stringify.d.ts","../../../node_modules/json5/lib/index.d.ts","../../../node_modules/@types/lodash-es/pickby.d.ts","../src/utils/list-param.ts","../src/utils/index.ts","../src/data-grid/data-grid-body-style.ts","../src/data-grid/event-handlers/data-grid-body-click-handler.ts","../src/data-grid/event-handlers/data-grid-body-dblclick-handler.ts","../src/data-grid/event-handlers/data-grid-body-focus-change-handler.ts","../src/data-grid/event-handlers/data-grid-body-keydown-handler.ts","../src/accumulator/accumulator.ts","../src/data-grid/data-grid-body.ts","../src/record-view/record-view-handler.ts","../src/data-list/event-handlers/record-partial-click-handler.ts","../src/data-list/event-handlers/record-partial-dblclick-handler.ts","../src/data-list/record-partial.ts","../src/data-report/data-report-field.ts","../src/renderers/ox-grist-renderer-boolean.ts","../src/renderers/ox-grist-renderer-color.ts","../src/renderers/ox-grist-renderer-date.ts","../src/renderers/ox-grist-renderer-file.ts","../src/renderers/ox-grist-renderer-image.ts","../src/renderers/ox-grist-renderer-json5.ts","../src/renderers/ox-grist-renderer-link.ts","../src/renderers/ox-grist-renderer-password.ts","../src/renderers/ox-grist-renderer.ts","../src/renderers/ox-grist-renderer-progress.ts","../src/renderers/ox-grist-renderer-select.ts","../src/renderers/ox-grist-renderer-text.ts","../src/renderers/ox-grist-renderer-textarea.ts","../src/renderers/registry.ts","../src/renderers/index.ts","../src/data-grid/data-grid-field.ts","../src/record-view/event-handlers/record-view-body-click-handler.ts","../src/record-view/event-handlers/record-view-body-keydown-handler.ts","../src/record-view/record-view-body.ts","../src/record-view/record-view.ts","../../popup/dist/src/ox-popup.d.ts","../../popup/dist/src/ox-popup-list.d.ts","../../popup/dist/src/ox-popup-menu.d.ts","../../popup/dist/src/ox-popup-menuitem.d.ts","../../../node_modules/@material/base/foundation.d.ts","../../../node_modules/@material/mwc-base/utils.d.ts","../../../node_modules/@material/base/types.d.ts","../../../node_modules/@material/mwc-base/base-element.d.ts","../../../node_modules/@material/ripple/types.d.ts","../../../node_modules/@material/ripple/adapter.d.ts","../../../node_modules/@material/ripple/foundation.d.ts","../../../node_modules/@material/mwc-ripple/mwc-ripple-base.d.ts","../../../node_modules/@material/mwc-ripple/mwc-ripple.d.ts","../../../node_modules/@material/mwc-base/aria-property.d.ts","../../../node_modules/@material/mwc-ripple/ripple-handlers.d.ts","../../../node_modules/lit/node_modules/lit-html/directives/class-map.d.ts","../../../node_modules/lit/directives/class-map.d.ts","../../../node_modules/@material/mwc-button/mwc-button-base.d.ts","../../../node_modules/@material/mwc-button/mwc-button.d.ts","../../popup/dist/src/ox-prompt.d.ts","../../popup/dist/src/ox-floating-overlay.d.ts","../../popup/dist/src/open-popup.d.ts","../../popup/dist/src/index.d.ts","../src/empty-note.ts","../../../node_modules/@types/lodash-es/throttle.d.ts","../src/filters/filter-styles.ts","../src/filters/filter-checkbox.ts","../src/filters/filter-input-barcode.ts","../src/filters/filter-input.ts","../src/filters/filter-range-date.ts","../src/filters/filter-range-number.ts","../src/filters/filter-select-buttons.ts","../src/filters/filter-select.ts","../src/filters/registry.ts","../src/data-grid/data-grid-header.ts","../src/data-grid/data-grid-footer.ts","../src/data-manipulator.ts","../src/data-grid/data-grid.ts","../src/data-list/data-list.ts","../src/data-card/data-card.ts","../../../node_modules/@types/lodash-es/isempty.d.ts","../../../node_modules/@types/lodash-es/isequal.d.ts","../../headroom/dist/src/headroom.d.ts","../../headroom/dist/src/index.d.ts","../../pull-to-refresh/dist/src/pull-to-refresh-control.d.ts","../../pull-to-refresh/dist/src/pull-to-refresh.d.ts","../../pull-to-refresh/dist/src/index.d.ts","../src/const.ts","../src/value-generator/time-generator.ts","../src/value-generator/now-generator.ts","../src/value-generator/date-generator.ts","../src/value-generator/today-generator.ts","../src/value-generator/week-date-generator.ts","../src/value-generator/month-date-generator.ts","../src/value-generator/year-date-generator.ts","../src/value-generator/minute-time-generator.ts","../src/value-generator/hour-time-generator.ts","../src/value-generator/registry.ts","../src/value-generator/index.ts","../src/editors/ox-grist-editor.ts","../src/editors/ox-grist-editor-checkbox.ts","../src/editors/ox-grist-editor-color.ts","../src/editors/ox-grist-editor-date.ts","../src/editors/ox-grist-editor-datetime.ts","../src/editors/ox-grist-editor-email.ts","../src/editors/ox-grist-editor-file.ts","../src/editors/ox-grist-editor-image.ts","../src/editors/ox-grist-editor-month.ts","../src/editors/ox-grist-editor-multiple-select.ts","../src/editors/ox-grist-editor-number.ts","../src/editors/ox-grist-editor-password.ts","../src/editors/ox-grist-editor-select.ts","../src/editors/ox-grist-editor-tel.ts","../src/editors/ox-grist-editor-text.ts","../src/editors/ox-grist-editor-textarea.ts","../src/editors/ox-grist-editor-time.ts","../src/editors/ox-grist-editor-week.ts","../src/editors/registry.ts","../src/editors/index.ts","../src/gutters/gutter-button.ts","../src/gutters/gutter-dirty.ts","../src/gutters/gutter-row-selector.ts","../src/gutters/gutter-sequence.ts","../src/gutters/registry.ts","../src/gutters/index.ts","../src/handlers/move-down.ts","../src/handlers/move-up.ts","../src/handlers/record-copy.ts","../src/handlers/record-delete.ts","../src/handlers/record-view-handler.ts","../src/handlers/select-row.ts","../src/handlers/select-row-toggle.ts","../src/handlers/registry.ts","../src/handlers/index.ts","../src/configure/column-builder.ts","../src/configure/imex-option-builder.ts","../src/configure/list-option-builder.ts","../src/configure/rows-option-builder.ts","../src/configure/filters-option-builder.ts","../src/configure/config-builder.ts","../src/data-consumer.ts","../src/data-provider.ts","../src/data-grist.ts","../src/record-view/record-creator.ts","../src/record-view/index.ts","../src/data-card/data-card-gutter-menu.ts","../src/data-card/event-handlers/record-card-click-handler.ts","../src/data-card/event-handlers/record-card-dblclick-handler.ts","../src/data-card/record-card.ts","../src/filters/filters-form.ts","../src/filters/index.ts","../src/types.ts","../src/data-report/data-report-header.ts","../src/data-report/data-report-body-style.ts","../src/data-report/event-handlers/data-report-body-click-handler.ts","../src/data-report/event-handlers/data-report-body-dblclick-handler.ts","../src/data-report/event-handlers/data-report-body-keydown-handler.ts","../src/data-report/data-report-body.ts","../src/data-report/data-report-component.ts","../../../node_modules/i18next/index.d.ts","../src/data-report.ts","../src/formatters/date-formatter.ts","../src/formatters/number-formatter.ts","../src/formatters/text-formatter.ts","../src/formatters/registry.ts","../src/formatters/index.ts","../src/sorters/sorters-control.ts","../src/index.ts","../index.ts","../src/data-list/event-handlers/record-partial-long-press-handler.ts","../stories/accumulator.stories.ts","../stories/barcode-input-filter.stories.ts","../stories/default-filters.stories.ts","../stories/dynamic-editable.stories.ts","../stories/empty-sorters.stories.ts","../stories/explicit-fetch.stories.ts","../stories/grist-modes.stories.ts","../stories/textarea.stories.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900","15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e",{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true},"d4b4f6148a6444ec92db4ac4c7dd7050ffc32b21a10276a59498e04740e8fd8d","2524f58c8d67af441b487c0ce0e0dd9c18bf3d06c05f621874dcda9780d8e22c","e59262ddaae67dec2d226f8a5d05cf6c4dc353c0d9b1e4980a61d7fcf9a2b051","5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","470b8c2386c916bad4aa0d05e89b271a47dbe1250cb25dc0f93102b457228dde","7000ec8572390d035ba5ef993953957150d0c38ffb31b56653c97dd78cb6e1aa","056892cca68dca10a914f1580ba0e5710d26794e8707225dca9b5717ed702f1e","056892cca68dca10a914f1580ba0e5710d26794e8707225dca9b5717ed702f1e","4ddf3962990379d1ea59b369a5516c7533b7944010d6998e0e9b1ab35d5af1f0","1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","2a8f0a19a927e83421597c056c90695557142f54ca96358f01eb1f2a5eb228be","d08415b3d6d7fd153ba6e7bf7707ffc57f3c6ad85730ea63544756610b4350c6","411f23da7a63c3d3fd4860c41a458e8df239776fd5d9cd36dd3ad6be92afccbd","6ada3e065916c0ef2dbc9bc0f9b5d59afb25d9176f81fa2c8993a536924140c6","356cc1b058e05e07d2acd73bfa87f83a6f4a343450ee375dad232ff4a55d41d8","df286e6b181ed08766bc19cf1a2fddc50bc5d540f233bc1ce4430a3c1c8c8379","f436800c0af503703110c93144fcc7392524636fb4216296411243b29fe0162d","0d5002560b45ce4fd6c4124632f61789e584be0634602486a2ce59541311d153","bbe13c947d7d6c3426e0e5815e2b3464fa03d34a4bf47298c43b9237cf59555b","9f7d0ee33b9f8fa4dc2e9628e0cdf8683104d01de9d3d24f62cd5da014a5bec4","a8992b852521a66f63e0cedc6e1f054b28f972232b6fa5ca59771db6a1c8bbea","cf93fb9208a01c80f0fad245c4360356e5de6c2384b7641acf0b9cc2f5c42448","336398b0efaf964124e636a9b29c4edd5870aee79ac64bf87be58a9d66b7c048","571bc65ec37ba124e762bb822e14a2b8502dc684e356be8feaccbd6b9cadd023","2bbbefc1235500bdb5091f240dc8cba861a95342272f7d11b7574a0d2ef4f85e","7cd455fc4c4818f19263d73b29c59f3fb5fd54b45a6ab83ca3eb3661281db56b","1c6b9b5501774a2ece6574be8e26092800e3f1f836f8c179b4f9fdd271a620f8","bcd2426fd141157e04e3a8eff914b575403587f398cf0878f07c2f283e0d1afd","bac8ff394e831e4dd3f0961d6abb414b0e2b4ba16fdeb502d087ebf0340ed5f6","b8965484c1a08eeac238cf02a1498d72f3f3610059570a2c0fd207eb34245146",{"version":"b056c4829f083b798d60f5cca15f025263b112146bbbdbeab887aa6efcbcd981","signature":"0f85a0bab1ed365725136ede09c0c4c2af9555e1f9e4ff70482734128696ac1d"},{"version":"d7196bb30432ab920a8b02c0c50d31595008b250dddb190ce3fa0b1b70ec0ff8","signature":"cc6bcd576056d8ccc3bb297b152e9e4d694fa13a3790078fc9c03f361d82060b"},{"version":"e2dea6c5bdf6aad50bc67b16dd8030c8febfdb7d31d490e383f8ea5c424690eb","signature":"038f7ba9c3cb0d2097d1fb3f6294c355999e257e42d6769280e1a978c84f871c"},{"version":"27b285e901600242883d62a5fff9f5d262c6fa128b6e6c6963f981f2630a957e","affectsGlobalScope":true},{"version":"989098812c95129fe2f7d3c4bc6dc5a6457f86aad0204035c5d3570d39200d2f","signature":"700828225cf903b1fce7dbac7d6afe27aab606cf6f38d29382f6d8cce445f3f9"},{"version":"0837bcc4cb99bb7dab934b56c470cf29377cce50c94d57ece10cc24a2bbcbd0c","signature":"27fd44ac917b8f78d65173dccad092de47f408db592e1abb355f661d49646312"},{"version":"051fd53566472ed139530080996af9e456564290c29d9c0284152ed46dd1ff9a","signature":"d4598e36eaa29d6c2a786e436d3d223b7ccd3e4f53d6925fa52207273736cd4a"},"b8442e9db28157344d1bc5d8a5a256f1692de213f0c0ddeb84359834015a008c","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","68a0d0c508e1b6d8d23a519a8a0a3303dc5baa4849ca049f21e5bad41945e3fc","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","a862dcb740371257e3dae1ab379b0859edcb5119484f8359a5e6fb405db9e12e","05cfea0488751015b0b85911b6cdcde7c6cebdd9b8cada1ec0b5c1736357a552","7bc8c357aad90fb446b9baa522b1bed5901d1a1cbc59a7a658d64546c97999b4","4d5e201faa4bceca840b652dfc10795170c061f498e19429a06e056490aa69aa","97148bcf59cdf0e725f81c39df7acd2174a4edf5f739b275669f4d58c8bdce47","fc5a5d8060efb1270b9d98ce50e6eb8900cc5229603d7afb73c7f4b4272e0d9c","f8c86fcbfb0a1e69a0ed28d3249cc33c312fa23a39c17e15cbbcc539bdcdc303","85e0f00b17c3ae8cd88438c754a2c43f4a9361e685b97a70e52e33afbf62488f","39d2d450df6efbf38585fd316f18922c8ac3fdfd4c3fc412d0bee34e2bc86378","7470dedadf72566f57f46fa8a8950afe388a4e90935b4e4b3d33add9a611929d","90feb2c17c1fd53720e1dd8738c6660aa14402394bb30caed6f2a7cdd54fea40","75f8b003f4362cb9a9e1d9d8b00c6a1e866868f05b27ede146dd8830b675bdf7","7b61337d7e26f5f9329b74dffb93941388d97b78282f611363d8dafa37d0a2a0","70926949fb828e317443687c9f3b5288e1ef6ec1e5130c1001f406b4ba3665ff","f499d7fb533781939c7a5ab778ac6e6c8ffe65601b1a61a843c36ee0013f05b6","572e62cf5f264524b956685124bdbfd9651c8f628129b627080657281090ea43","c8f7da57a17479145ea922b90a1efb2ff8e8096992bb0a4658606c9fbd944efc","28b3ab6f54b290c19897dff3d4346b7f1caf6e7d2057119ec6332dc1ddf25e85","1e73d612f806d183d6c16c4135c16c1a14dd827c1a67097e72ab1841852bfcb9","f39f94e8457643c4a7361d5a7330c705ae5921067b639228af3e961b9b71ae6f","cb2de9f1d7d286191834eeb331d23dc69eeb322745114ddad1695e4c575b5feb","1af57b9c3dfcb7ced92c247d202b6633b57803511794de4f9d68e331fcb21963","33cfe6d0d01e416a19fb67358f6e0a8f2e5177708a0d976cfb148e5d7011553f",{"version":"2fd48df87a103cee6f65309642f4502853d1608eeb00189249b2286093413e09","signature":"311011b8c26c201fcbf5d2640cb0fc0a68bb6e86982da073bd966438a560c5bf"},"88a3a6f8c2a1640d8d5fd30d8d86462f8babd86a1e52fab0e8b7f7c141fb348e","345f76c854da724803c96f727a3f9c75e26cf95c6e7b8c1064dbc4e7727b74e6","ab7b7a15a5d73eb0cfc2b973e580f357f07492bff6608669d7e899e2d49ac9a3","553312560ad0ef97b344b653931935d6e80840c2de6ab90b8be43cbacf0d04cf",{"version":"09574ed79cbe0351672af3886a15443918c08c75f1e0a811fa45dda4964880a7","signature":"30d0c3169d63adaa3d171a6c5fad4bb3c904d70608bea6024d1d906baca96be1"},{"version":"a8e890a50f7c34eda4f7e046220e7f444a5e2c20308c96e7612eb6b380c811ea","signature":"98dfd5ef3bdbcf4df59a1c17736d8a347295b3921310f68e4f70f28cb81c1fed"},{"version":"03a4e79ac0fbd81030f96ec089ce25e4a100b28adce8bf9abdc46e9b26e16d5c","signature":"7e6f3b3128a22e847dcf416c6b33ffe6204ca823e1db144a8b8aacf0b6ec33cf"},{"version":"cd0e745f9c9dc8f33692096b635a5c88bfb51271e4999e316f4e9766a63fd25d","signature":"e9dfd662b153cb241334ce04bb29c1ccf07b4143f144dcc0e7d1c2339a10c2c4"},{"version":"94d56e8402e3c1bd13d2e48a2745b30b69425061afd66990e8f939bd2adee648","signature":"36660e8875c1d5b060f1373543cc76b7be3137cf789dbd2962f67da264d349fd"},{"version":"5dd15475421ff18e53df9fba79389f68ffebbba6530ca783495cce830410d5b4","signature":"1326612693a2e42cb96b6097f79336ed82d582f581e2d3aecb157c50fbb7cbe1"},{"version":"00df5ddec88858239f9105b898535fb82d4c9b21caaad6bceb0fabdbc7ef4c81","signature":"0e6dc8cb5b0edff44f46586d030e374df1388c8417a1685ecd7721ed01cb4dc5"},{"version":"7d2891a4110d52c25bbe7d3273abed6e3b8772848d84a02751b948577efb2c77","signature":"9e8606a6fbf5650d9ddd7611106fdc2bae75c2734314dca580407763131e02bb"},{"version":"ae1d622641b2b805e54037e54227e509583166426b973f096020edb565104be0","signature":"7395ed6640c9b6f41cf1b1de99a030600f5b4e7a299a47a19b5f4aa55017a75f"},{"version":"acf6fadac9d6f7b196f325c8bada72d821009cebb1455da43ef3d875804d5a46","signature":"24e703a20760ede3d4ba47c5ccb615e27f4e512756784069bd9266cc09168d4e"},{"version":"05a7d7b7c3bc59eb1d889efeb20328ccc85b23a1c83df784040218f5088f298f","signature":"46b34b7637e3c97dbf73dc0d167b84f90551113719a2e6ac825dc06407cdbd2e"},{"version":"7906b3b0f38706b264bf78d59a373fe595f4fb6a48378babbe599b380ec07cf9","signature":"6865ad92b0b4533fba14f0583b28ea2fc6a750235c1399a9689e029dcf64fcbe"},{"version":"6036eb911e80ddf096eee53ec09c204650c53a9ed52cd33ef3e0934258295e4a","signature":"726fc52e8e1e0e9a4ab75c27c052ea0db38f463f65f56d3821e39abe8532c3b2"},{"version":"d0eb198aa8b26193b40e6ed6c7170cdf2bd844088b7cbe310fdf793c2cfe2881","signature":"998699eba617b9157327ec3be6a0da70bc0ffd86a40a20c21ed619f6f5eda300"},{"version":"231bfc4b61cba3ef55fcf0fd3f03233fc01e2fe17fe374d02969203ea169ba93","signature":"04a54102a8f6780bee6e4fb11f2a4385bd5db1c108232b61ebf197296005fc55"},{"version":"7853744c3ef97b5d1985112225e71e6a6567e129b6eb4239a7f551a748f82a4d","signature":"a5acce94760166021b02598b5b4e9048d761cd713d0094743979f8dc97171395"},{"version":"14f0dc09968e72de27228594bafa2621498bc7b222e1963dc508666e5e88eae8","signature":"c75c4ce24b1f7976aabe62f58b079210dda7c8bff461cb852903ce0063b876f5"},{"version":"19272e0b09360fddf253d5c950575359862bfcd48f36ea2452e8daa419195a9f","signature":"1905cf2a2c68efce92637b0637dd1db38e2fd5683e61901e6447bcf8fca752f7"},{"version":"3781ab2e8f69f8211d1b76142da2f4528b1cb95277031a747da340aebc41b40c","signature":"9cac36fd227125723097775e2700432838e54d9c1530cd45f36653e20513dc61"},{"version":"49eda92a597e4f9b35e7d0fc0ec7ce812b66b0d1b8bf0ac3142fd429ebda4772","signature":"b461bba9fdefa4860fbbe4ab8d584aba4ff2410d7a940ccd08d797ba62b9b4ad"},{"version":"c61924e5279fe18980383cfc1a82d8da204ced49f8890ff8b76a96f26784cbc7","signature":"1b0dddfa3431d9cf7489393f6eda8c39d64b0ad5006e61b323b41e946de1cb64"},{"version":"06839aae07c9eb684746b4148a05f65aefa5f79a7311deecebe82ebb4a35b22f","signature":"69f943fd9ea150bdae776e0753da4e9e7cb5bcd2c3b357241669cb7b1146a8ef"},{"version":"9b1d4524172ee9d615e612e396637e7c471a2addb29b72b56521daba4a38b377","signature":"1c8d6092ec81841053eb264b5f6db411bb0b9a95c6e0f6bb18475ade6676895c"},{"version":"0dcd6d71e953763b9faf89c0c9b2ed96a56011c6ece3f7fd6b06c94ab34b0419","signature":"0c6b193c3f51c5d1ae598073fcf57833ae748f91551c73f7f4e31facd282941c"},{"version":"96244086d545dea89651a59aefe9b830a0476369ffd6f192b2b73c07a9af9bee","signature":"c4178d7f38a1a95f9e7763e4ede95a8ff29c134ce9dde7a5532c617489e73e32"},{"version":"1dc9474a637365fa9f9fd93c79219afb711edddbef4a500b360b5df03e7a7238","signature":"d76e3643450c47b47c246ddefcaee7210175a5200f96c68c36f22290ae908999"},{"version":"73e654113ed338086b7549141ab127b7646ed7f51f9a559ce8873290a991c8af","signature":"060b73fbb370ddb4d790bca51dd91765129a04d4321f5989bcb5469722ae190c"},{"version":"08c3605e038ef7193ed557dcc5fab693ae77587e983e3ecf4dca37f7ee947e6d","signature":"b248a2c86a9608ef3f4c5480fda53e28daaa858fdfbfbe9ed31e0e0a0aa83b69"},{"version":"20daec6882e1d9ff1c3871026eeea68972c45a7d46e33e35499027849c959bff","signature":"d38038c1daa64482b31d0ec1fa336d9a47b09e647cf788ceef2fb3e8310bb09f"},{"version":"7d8bb6c816bb5121ca558768d40ebf4112395c3458b5842f2374d46bc0a6564f","signature":"1397a64b6ee56cef055ba9fee79aa13a96a00b83bac8485383052be8f8bacec1"},{"version":"4ddb9a84f8f53b8ac9a38f235d097856d1fb82b9a6e7b3048a4ad837ac5a60ef","signature":"b139ec32726b861d729421f33e3d51a26ced7a5556363ccd7c13b0463bc351f9"},{"version":"e66d43dfcddea457eba1932607fa69025d6c8bf2caf9776f8524dbb484a165ec","signature":"292ebd2977ebceff1836f8df3788f7d9472f41a26d0b4b6c704404a112f979dd"},{"version":"028baaa1b883ea40e38a5aafa62f195485e94c4cbe62b4574e0b01e5e5c93355","signature":"3bb77e76870104c3b0b16f82682b1608ff85ad183560c5390e1884b807d977fb"},{"version":"134988db9f4f3f7a52a2b9dfeef60e8c71cd49309c17950b8e5f6ebd4abff434","signature":"963ebb3206e705d26b01faa5d49534f05be8884d81417b1e0aa069447931f82a"},"538c9958c03297ee51a16a5c1461f67e51e71ada1b617f32a5a734f38d69ef5a","0fd96fefc155744dae4e1788f930a5b25022b47e9d45d3898b32434e49cc4cb3","661d75db74fa3c5e22089d54d70ae0dc2638ba02502e26d620909e860e95a002","9dafb0e93dc590bbce0dd504d5de624e58b54c8d494d81fcf0a5a56ef66fbdb1","a0667520a6521c12128fc28cbd5b2af58eef11c5b2a7441e0f0d47f50bf6c8e3","0dcf4c2bf1bb547e2ae5b8dce4656a56fbd15e3401ff5236ea0b93b6c60f9249","820c26194ad4089bc503b02bbedbd86a865e9c8a05c58ef88c8d19d9c019712a","790b453e1b76814112c3870d6e12f5db992d3194fdb3529445317dd75cb538be","d375de88ab19f6c105a65fc89eca1ae782362c5c395283b0c85ef39c7b835dfe","aeda2fffbc651fe1fa60b913d45f291f5544c4840206cb3b1badc16d9f01a0f0","7b3c1d688dcb8645b5a6c37bce5b047da92b4c298ed8709e03e987e0efb035b1","29c64e1acb5b73f08a60e71154c65c8a34f885f1f2cc55ffa06dfd244c058883",{"version":"7d176f155e5f6fc9756ddcc1a6d3eb2673030a066e2b7846dfc81b5271f3e269","affectsGlobalScope":true},"024fea9ee598cfe747f18340ad74e4ea428fc2a7988250ff9fcfce5673b7d422","aea18a267a0770c365cc390ad0a0b9725ed7a4540e9a96319b0f5094ee0ca124","8a9b7a437bea4cc34e5e103e01573ab3afc4564a22c838942b6dcca0f68020e8","8bb8931e629d9adfac6fe0c067de1a3c2f82b47262f83fa76eb0772ef13808e8","ae1351ed65b27a2b29a70a238024c957910e944aabbffce286099ed2b04f9baf",{"version":"3c19b3fb2f88bbd8f103fe2de0d6c0700dd9bf6678553f6db803162620b49e27","affectsGlobalScope":true},"740abf7b444d5aea53aa623c41aef143bcd0dc1dc07738473e406ea564d2f6ea","53f6ea5a77721fbc299e620218cd6d32b704210566de1d6e8bd6ecdb5c01c980","c97f742ef6e8c0bc4e5e4ad8d90b4489cdd3bd1c007510ee4a2e4c09266a11d2","6a17f676d06d3e695520b275dd483b4fe62d34b84926c0bf6425c08490ee2c41",{"version":"227f512bde9fb4e483ba22693050a36a958fb79c5c80fd872ad6da293d36d163","signature":"c8089775da5e00fbe5b11a03cff5981d29101992c010bdfc5adfeae4d92b7480"},"1be8da453470021f6fe936ba19ee0bfebc7cfa2406953fa56e78940467c90769",{"version":"b2387fab798a35ecee988f58113ffdd2f4bad523c231482a2938f2328b7bfd8b","signature":"a1338c1eb0e7551a083f0f812e6ceefac1814572837a6c3d3bb4c9b7c3b0156a"},{"version":"b852650dad2f5859fa7fce38587cd410619272efe81ad42a489c4ffbe11ff91f","signature":"ea65e3ce32dcbb61edb379f86b303732103a887fcfe61fb0434cd5398fc8c272"},{"version":"597baca9b35a568b71eb3ca834dcc5c2dd544cf78f3506fa2fe4ac44e73009bb","signature":"2a489164e760c8f1c603a0272822b1eaf4886e578e8128ba6bfb82993b419c53"},{"version":"9e6f764c8f782eb7112a6caa510d18995f1d840e32a6a721cd60419686256dd4","signature":"e1925458d0ea29d0b4d314ac029c368dcc5b5b0421be3c05c36a12df92840401"},{"version":"e1c63afc40b7cf8dda2dfe7398a5e10d62be090920cdf619e39f02a6ce9733a9","signature":"19236d2b3a4d329eecb7d867e62ba2ce8ff2a1c290d9b9cadc246e1e860232ca"},{"version":"8c182691fdb83b3eb48d185fd25ed63ad4cdba1e60c9d0b1b03f9cb595abb28c","signature":"c348a5e4481d61843505811ed74ca62234d5bde08db286a719a7421bf64fc8c2"},{"version":"e0ea3314210ec55edaad6d5efc66a5f5e628d1c34492c00a8753ed565aefc59e","signature":"5e0042ca0dbe77639779a6f861c2a32fdff5094031e013fccf95508b49f6d7ee"},{"version":"d33ead4fb46f57b55511e0488b2475f40ebc42fbe4c8af45caeb62fa74911a03","signature":"f0512312084ae789be5862be6bbbb4bd4ece73ca1bdaa3193b1a2e3dc0b8ea42"},{"version":"38ef896f3757957ce79dfd87e5a25d439f95a76870ca5e88b19ddbe83a85c8a3","signature":"4285b3976062212af73781ab61cd2d35014d6c8922ccbc082272ea14b56c4119"},{"version":"baff1a6afc5c76b88d7c4b75c94c57089ffc5efbd69bda10b76dfa2d4370069d","signature":"969d2d471070d6eca43e3cdd452b4544a549567f272e9207209460f843e20fb2"},{"version":"d2a636bbc9a2c259addaaaa5d58335141f20569a3e48b3399e83fea0604fe1f1","signature":"9d162dd4edb4c49260a5c9e3d37b0fbea32d7ea4d1d60b7f2d2b7f35abe562cb"},{"version":"1c2c0388a5eb55a782d3f54ab6af1c151dd978d93f7ecdc185b7de4fb00ca741","signature":"555663519c551cda16bd59d2340c972858b2d87711bd8109c2ddeb4662267a05"},{"version":"2c2284b1d27b5df343266871c71f60859e3ffae6e4946d6b0a97253edbd82070","signature":"5bad1c569fab63bcfd9e570c22bb022546fec47bfe77264a289363fad551f91f"},{"version":"7245aab615d3a222e97a12ad2eb2ebf935978006981924f6c9d804ff027a23b1","signature":"acbeb7d589177710ea8bab0116c10fc2b8afc4c14bea1754ea74d85c98a3b2f2"},{"version":"ec8f8d88c2feed8c1644e2e855a697e2f7e11388a3babe3d3c910426b810639e","signature":"e4b489c61d522bef596c4a029eb2d70d91308bbf83b5a50663adaecd3fc5f1db"},"3be6b3304a81d0301838860fd3b4536c2b93390e785808a1f1a30e4135501514","da66c1b3e50ef9908e31ce7a281b137b2db41423c2b143c62524f97a536a53d9","769c966ef166205a08c0382a298a6c5877951599d805931a963ae5650ee46391","35c1202e93852c1c233191971b8c4aefe5d3f9df287991585fe305078c0880e6","2f554de81cb789513658bf0ade0273029b1aa1acd3171a679cd327141f5f5dcf","4a2a6bd6a36b058effc58d1aab136cdbd66188773470885a4b414098a0d76821","b12f96f442196be954b8fa982f179527fff05a796962fecfb6e12b0a2c1b6867",{"version":"2ddb9572f13b565c3fe90c9c797950c8c7b49e84989e850ce8619564b711d6f6","signature":"26e4e730c693d40c7b96173958fda238b0bdc5060efef9d8dde36e61a0c53418"},{"version":"42143ab7949017ab155e87b9ade4ec42b6514dc7b890ce13fd27c8c9a61453e3","signature":"1cbc051fd1c9a100e250c0bea00bce142c914271e58e6a7aad2b9fe9a3b7d4ef"},{"version":"da41dd1af345cdc635817acea1b95cc3bb12d5496a74de167f7c968c5a029a62","signature":"3e52303698672dcd5c81db3ac420b4a3cb3d7926436e443a67ac2f3433debdfc"},{"version":"5c1e0a14226411fbd017b4a1871c31ddae83b14fd4b9c0e25c2ac681ba5a9888","signature":"f907690c6059f60f0306ec42b0b8f283abbe95989c098c6b22e36711e6de5e9f"},{"version":"185ce430aac79ac6b83aa3542787deb447fd9677513ca450d4090de9a5ede0c0","signature":"b850146410f49bbfe5c7880c605e046442f8367b5cfef93fdca77daed8c9b412"},{"version":"50d8ce724f0a0733c655f7d8230eab99c3ec267351f39e4846e6da7402f2bc85","signature":"071960adf166213bf0e5dc75f137f6d3b2aa18aee2bbc4da7d6ecec67780925c"},{"version":"a98f0d926cd62bf80bc6b6e9604fbe60e94546404a88869664051e6ef121fa66","signature":"36dd9ecde2e7b53a63514edcd06d2364889cf345d3e5a05c4b48449dbcd6bf08"},{"version":"9996cfcad56906496127ea2517d362b96dd3f6762593d61e2fd0d491c511afa2","signature":"ae3b666887f0550e21f0268aef4c9ae6d1860c5f538871331b6eaaa4f87f9c12"},{"version":"aa1949980bc1d30ac22eff669dbeb7261363f32e802f57620f7f79b4963c2ed0","signature":"bfee1efd036f8d468d8884dd6a9429608b8d79e12d706baa203e317b9abd9299"},{"version":"02a9d0fb6b6b40de360f38fbb85f69032f3d3c531c72f9946aa91540ab5f88ee","signature":"ced5fab36b9a3865ae0897f29ecc4b9f79d720e5ad902564920abe988fc8f648"},{"version":"11cfd3bd31259977df4986758e990144d40f43e7592188d961f9592d9746aea2","signature":"2c4a628921d77106f4262d458da8b134c2da67b1ab15131d2367cd57d1a56920"},{"version":"900683c32709e025b93cc18be550bbf2a2e5686e0ac5d058f25468062117a5a7","signature":"27909ca3d149c1c6f45b29b6e2ef4b1cbf709bfe6c0c66276d4541f6afc8031d"},{"version":"67f7017c3e2204819925ed8284e540c09c2f1f9a1af3eff0807e44531fdda544","signature":"affd76cc3fb68150bf5f27b27ae9d7ddb6e88af5c1fdf74ee6b23ba999ad5bf0"},{"version":"e3021d056b1afd4aa8f78fcb6f45623345f7edb1593958ad989e49976b6d2c4a","signature":"18524c6a3522ca4c8f8dd12cae68dbcdc0de2d1f67d6036c6ab655078359fa7b"},{"version":"8c03b854441aa92eed8ea8282057605bbf4f1d7a52103f5ac55084afcdd32a9f","signature":"c13d4dfe40dae3062f03c5b3cc0eb208241a6a55e3fc7ad7a73536cbafdbee26"},{"version":"c41cb8670d388cfe9c24ac5e9349093cd853dd7c408f63b64e0ff8a0aa67654b","signature":"53ec7ed6e3a461d45ac4d4f14d88cc49db6876ab394e4df8d2f8036aac26f97d"},{"version":"73f73cef590f0cf5c14435f7d8898da93bd3998c36c747a705f55aea306a5dad","signature":"8b32fcbeac09f41cd54356414c4e786be7105944f1318b53040eadd2b9b55345"},{"version":"0eb009ca9bab7ed05e23270d194a8958a004439ccdfc998207ddffe26a919c51","signature":"d5a43a652d0e4368bbc40cdb637f493982599c888980a9eddfe83bc03b4d0682"},{"version":"20819b80ccb650b827bf35df8b88a697448f236bab883afa0b3d9a9df8fc1eed","signature":"7e9a555fd6a428f06afa9e8299fcb0e1c107cfda68a15d6fa4720582eb812855"},{"version":"b041b05258eb684e2218490d894c7d981c52703effa39726fd3413d74b6ffebc","signature":"e05f2d4d1fda6064989c4c9aa42c87c83fced485df6a0e051ca4fa69497d398d"},{"version":"da84102257a1041607674f42ea9cc84237825fb363d54d1cdd42baf1489aa0ea","signature":"53fbe14b0f1984525d5ab18058c65d174dba35d976463456c305a66c5cbd10f2"},{"version":"478a456ac064e65200185ea88e6aad845b1562c89b994ac4aae52cd4cd4364b7","signature":"0e023148721602f8ba65abbcd9ce8462eb59befbb610574e21e00aacd23d94d3"},{"version":"d429022268993ac981d553f7dd5bca7c932820423c55a4ccd6162d1af6b1418a","signature":"ae87c04322e10b2c1e89b7df9888ace1ee0c9205bb9607d8bb46f67e90299364"},{"version":"cc5271ae03529c1bbd0641d3fce46f72a4ad28b39dba4ac588bf96433816a023","signature":"1c2e314d08b6c1e74993e4745f0d5a7d2e062776571f2d6dddd5b61ddf09e38a"},{"version":"0423a9f2809b203c8a7734c1928e2aac3c9372ec876ec1d5c175ca573332a15e","signature":"64caba12a7752f22b39175d55af8a2f85295d5e8ea2ba9627a867f1187098a9f"},{"version":"be3570eb0fba40c48257efa6fbf672a81166e73546804d14e0de730ec15658d3","signature":"be68d1107bd5d1d0fc29f228bad2ee017d3882f9ba92bb43517daacd16445cde"},{"version":"22d1b746f81bd49f390c83dab698267ad7da0f7c371961400c20fe17e703a6c7","signature":"f334c429b4136d36bc9ef4abcd3db59514317e19e9e02d7378f6d7af10161191"},{"version":"f41824a5ed75b6d904192440aae0a1377e935a5970dd625e4101dd7795608f98","signature":"f6d3aae92b3312f9aab13c8153af936e30e18fd40fd9dc5b0fdee7e4109340f9"},{"version":"9739c15e13703253b7d0999100b20ee0c1e0c957bfce484adf8d67e2c74d9bd5","signature":"9c4b2f4bfd4823b46ea9c23d9d3ecc2f1034eede828acc6c97f9c52aa147ded1"},{"version":"4fd357efbcc34d7fdfd0b4fd62ecaa536f10648769841b7863231f4e2d08e926","signature":"d8d8356701b84eae567f2a5873f4d06436a836bc198c55245ed37e09513ba496"},{"version":"e3540fbdc0c3b757dda9cf66d2af848d9abab94788b43af528f64fa6f4c53fc3","signature":"32acecbba5dbfbe22f171d1aeffbd1df9c8d8d17e386479eabbde7209e936917"},{"version":"2168fb0b1c695e7eb6b1d181839b338a3aa4760d29f8e4a89e4c87b1b35bf8ae","signature":"99a2a7093ce043534c17c2ebebdce37f1c14ac2b77780a476cfb70e5a9d035e2"},{"version":"86bd4cf4ee9d4afd6a062ef221e2504a4969e03c3e16eaf79d5214af3ebc078e","signature":"693473a635472cd60500391e01cbcccf0f252822cf81183174f4783b6e647d16"},{"version":"3c70d53def6570a30235ee0f9060fede1597dd9a375ea7dfe7b0bb3e652251e3","signature":"08c9cc421d51881759a297cb1faad9ee751924ba42349f136be35358b5b25eba"},{"version":"e72c4adf8e839c50c829a897ed9ceb6010f4b9f1cc95272dd43b63405116052c","signature":"e395cc56652d1d4bde7f78fcd62e7356a76cc3b190e219dddbaf6fe87eb2dbdf"},{"version":"1b23264550c6e273eb54e1415465dba39bc6627cce265c7a4452cab645d2efab","signature":"b43727be75c10e1869bc887efafda3300221ada612ca08e6237b8718e86ada93"},{"version":"1e834276e651debe99cd115a3cee8d3a53b1858355251bc8fee5c9be76bea5e4","signature":"b1d629950cf09eed9cc08a0f2f4ac780de6f05c2e542b907777f7eedfe77097f"},{"version":"900683c32709e025b93cc18be550bbf2a2e5686e0ac5d058f25468062117a5a7","signature":"27909ca3d149c1c6f45b29b6e2ef4b1cbf709bfe6c0c66276d4541f6afc8031d"},{"version":"a06107192a8072e1f67569393e90d4ed71d3e6e7b766f0278821ea240d0697b0","signature":"94bf4be8557d0895cdba0fed67bae5088ec9cca47a946180efd7185a5708dbea"},{"version":"1db98e998ff6ba289361642182158025bb4ff8e4a38b361463808fd4c8efac4d","signature":"9017a768f6256decc1ab10240a2ddae30e0a01e802b012148926bda165c8668a"},{"version":"f16186178339bc9aeaad0a572195767171a127cd5f3555f9d772ae4a4efc0a6b","signature":"4191fb85077a7c48cfedfa46819c208c32fad51af7a1c144fa1004deb08c5a0c"},{"version":"18687acebfc1767389e8dbae6d28f82bf935399c5f931c54a62c461a64a38cbb","signature":"49c2f0ad931e5d8d527e573b448596a239f3e3ef0a1a233afdd79b9e4f89fb7d"},{"version":"7dab165656a73dda1802becb82bea549f7021c7f6cc0d04e9d7447aa9c244e0d","signature":"44405175791806173152834a7a42a33babc0e3fc9494af8cbad7606bb2a936e6"},{"version":"dd20dc1dde9e5dfc60ee128833c3fff8ac7367b3e5be5dd0abe8ddf01276703a","signature":"5f6b95a458bea91e008fa7ac9c5763331ae550b46e6d857ee59817fa100023d1"},{"version":"ac86afc126abbafd403f5619ea8a9dbfb1423fad5a59941e3c5bfd2c80e45b58","signature":"adf1b38dc34f8147a18388d5b716ed3c4a2ac94fe2da47690a5cef0554168d67"},{"version":"ecc5176d4f483490ee87304998c3e45ce7fa7f43529baafa2dce47e57a408f4d","signature":"a2ce66067019351078533b6eddb5240e96f01686f8014f8959d63a2587557fb7"},{"version":"900683c32709e025b93cc18be550bbf2a2e5686e0ac5d058f25468062117a5a7","signature":"27909ca3d149c1c6f45b29b6e2ef4b1cbf709bfe6c0c66276d4541f6afc8031d"},{"version":"cb71255af635afd1229462b5c2ae6b18205d676d992f09b4fcc88036aabc60c0","signature":"c3a6919d157c2437257cfa8eff0d2f60d804630748d55f96360ddc8ce93f15b3"},{"version":"42221ab620b5c643d8acf4ebf0be653237ae703e61d75d080865169dc216b709","signature":"5e5971464c4425f6c6a5bfd8c1b6c144118591a7e1d8178313d44740a3b161fd"},{"version":"73b26e3c7b6eaf55f643c472c43230568ac1bc788fe30a40c90a8c55c32fc4e1","signature":"e81de24f4f00f9548b07e616c9dc22c3a2266807775c56bef9fe46697cc548d1"},{"version":"a074ad5d62a4aad2ac989f3a66213cfc4c267656cbe0cf9398b433207ad12615","signature":"7e66d9b5e4e3ad7e26f4143447835da4cda365faef0a3892a89c47b2bdf36c86"},{"version":"3a97444a600cf4b4baafe6381add95bc41aa307b9bec159b7425837e06f49244","signature":"f1ad756dfd15039835ab4a1de31f03998aebcf0b9c927a17f33d55bce449bf2a"},{"version":"d5f05858de670716e96c49b863160f45b6be1aea065aa41109f8698aceca0282","signature":"088776fa648f7419caaf011b861a29a7b7879f5b0df2bfff046b56f92dcb6ecf"},{"version":"7d6da094cbc76e84428fe4d59076a498c72fe18a28efc07552602b9a059f186c","signature":"5125dcacb1417e6bfaf4ddebbc2c0574f29d8770f0b2f83c478c3a070566342a"},{"version":"fd215c07f5de917879cfef7b20517092933ab9b1c3516164cff05610d5278058","signature":"8fa46771471e73275f627ca29cc6ad4227cbfad15a7a0abcc7027d13867e55ea"},{"version":"efaad4b755bc0005b3535af9da0c582938b21fe023ad2a5606425a2e7dcde70c","signature":"e462828bab3b0c950d53834bb25e95ee53bfe6e616594fbb3aac1a62a400e73e"},{"version":"57b8da925285c7b9517238f86373f37968d5e1b66cd86054e696218bd85efc31","signature":"5284b22e53ac9eed0de25fd9a02436d850389ff49a076621877a6c546aba1581"},{"version":"e24ecdde72c55132e9e3e23864ff74bbeea7e60b554b944dbca00b66e94f8fe1","signature":"15b4d80e51b3ea458c75c3a68644a41024f7d83c12f1b37715a53a8a7f0fe9f8"},{"version":"97674d5544c0bda3edc1171842eb1d5cbcb5dfc728e7a8f295f694cf8504c819","signature":"70594838909a394e4017449b7eb8d414d90f4fab1b1dd493588f6a22f2b575cf"},{"version":"d06fe0f797934fce6d02e9b097b15b2e3619e9a032da279d437f68cd9abd2ad9","signature":"5be7ddc8c1edff3bb3925c3d3e2a999a4ca7fdf33906bebce8f8688e5c85034f"},{"version":"6afa90097461b708ef4888e3a057a83d62e766e1d3b944b84e97503cbc5cacad","signature":"218c2533a5deffeb04f929c81888025e7123f780a7d7308614b6d06bf94e5e84"},{"version":"21f97f7391f5ffe58e451e737c4d68f287de4fc63131d4f8ecf0aea60e0b08e2","signature":"90f2ae348cb711eed7d99b1d6967e30067fc4e435a8bc7f1403f14757ecd79e4"},{"version":"ce28442b1d203eb2c95092d57be44225e30da01381ae40bea073ba78b7d936cc","signature":"d5ada86344cd49d26a5d151cdfe8bf45f3ac291cc4df3645041c0b2bcfc3dddd"},{"version":"ca38d768d9ff57c3fedfdaa821f5969863bfdf7efa6530a30caa7312bb454b65","signature":"e9dd5f52c1e6edc780ececd7b176b1ad8ce106f35a9f0fdb67f3c8668522e839"},{"version":"55d5dbc73597830e8e295d13d26d1e9eb338a27fed1638c623021e21a9e3069d","signature":"603e21fd3db8ca7303779a45304a0194830e0bb0ac4ef816a790082a934781da"},{"version":"a940f0585702c8cdde1f5c6cd297d44f3db4f2cb1eb35c3a16f14b898ad928aa","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"84f090849fcf05385e3028adb7e0dd317ef90d2d6e2ce5b3014cc227ad959012","signature":"15a84436cf944e1fd426624372ee52fb1f5e46c515bcb778619e821275942b9e"},{"version":"fb396aed0372a9d07b066357137a71cada3c2cdcf63a943bb5cf54693879170f","signature":"8c2494044864da412ce9916eea8a66342b4a947f88b3dd22c175063aca1dddc4"},{"version":"0866f5c3af2d2991560fe573f7770a5de4df9e8661f3422dc3cdf3d07c7ca77b","signature":"29ee4936c7f6c66e5b967bee5e5c062c89cd6a7697ea354be2c6ef79544d2c5a"},{"version":"5d3de1f16098f5f882e7505d5d1eddb2a9463d9dcbe7b03f022d363e3e9b4cc0","signature":"6b001100afde7b8246b0b6aebe74a5c41c6054666bd4dee6e34521706d3b867b"},{"version":"0a51a88972a90a4308abdffb89d7339455145c55b8f371cb4ee92d88548c4dea","signature":"602e11b58de6d2b48ed8d1023762009a7f03aa5744cc283833e97f99dd29a4ac"},{"version":"f2492c82b866dbbec1cbf905068d3f10395eba9eddfeb93cd68d7999c7c02e94","signature":"0c5344fdadc6f4f6b825c2234d7082c1e93c9c252394d369f39939a2a98cc92e"},"c1a660a90d6565c602fa458f53849140c9008b7000ce8823443a2b1ae9ca46a3",{"version":"5af20831c647d0f95b2ce4c7d66544b36af5f6ea3a0af0c43478a657bf58feff","signature":"8cd1878e199b044a1d1faea0fcc85acfc2d8391f78be10dbb75542b61af92712"},{"version":"1e8c51eaab31c7c7ce8590e80b8663f360aed54caf8cdf2643349ef59ae27876","signature":"1a85409fafbd8616120a0a0e65fde663d6ce75fc66a83cdfa2b6553baea53cdc"},{"version":"85d33ba4097c3f24ceeca365379301c327d5291da44e57bbcf301b68621f3708","signature":"33612a1d9e60be6cb57a6cc5e1b364840ab6930b72464f19bb4361bfd68c37a3"},{"version":"39426a077f479e1b77cd46b3b2341d76963fc3f4832143effe966b22cd77b72f","signature":"976a07c70d961e35f4ff28926415b8d479400e46fb667f664ce10339226b2fe8"},{"version":"f7f1e3147bdda813f8f14187c20ee886cd7cc1f1fe2bf61f678727789cf671ac","signature":"5a6534f5d0435656321853f3e16dd4c7f944162ec9af7a99ff9d0142947bf359"},{"version":"900683c32709e025b93cc18be550bbf2a2e5686e0ac5d058f25468062117a5a7","signature":"27909ca3d149c1c6f45b29b6e2ef4b1cbf709bfe6c0c66276d4541f6afc8031d"},{"version":"d30203f13c51ba9130462f9261150fc7d1f274122664bb1cb8d11353617101b1","signature":"d5d357f555e6f34eae1b87fa0d2622cd4d243145c705dc6408ceae7f591cfd40"},{"version":"d2f5a6bbd58dd34a23b9ed952d41476685e3052c35a7ffefe11d1cf79e8343ec","signature":"f5a45ce6b2f338c8b01d81aea746ff852d3e91abe24afc631b1042fb6bc022d8"},{"version":"a5e79bb8f19b20dbe0c68bd79b290a2b444c6b545cfb78d31f963c8e250df9a2","signature":"80a3bbe0e4fdfaac2c0a8b92a3ed66d3ded5e8f454c5790c8d593872fc1197f1"},{"version":"4cce334e4debece9a8fe9e1731582299a42207058c7db50729d63fcff8189a22","signature":"043b2a84437ceee41987ecf59ccc88c502430359ca7409da82ebf77a8af59e70"},{"version":"ad4197032323440b2bf14920dfa910ea34b0e293dc61f58f89ee719006c9c2f6","signature":"0510fd0d6b4527a5b7376d5068e31791edc7e2c4344e42e8e23c16d1ec8ad486"},{"version":"9f5c92d3eb61456657a0382f589750dd11cba9811a8a14c9c61e6b9841d09bc8","signature":"bb8027fd81dc8e98918752df85928e43a9e1ce23f6a4727cc06b22a91f844b1d"},{"version":"278f2268026f001a1e8b6d6c1a12d1005bb4e9d3d57612d90e4628451c5346eb","signature":"3e02469f96dc6da503f197edeff92a2b741040619b05a3f21744e771ed5b7a67"},{"version":"6367f617f3862afd28c97a853af342aacd8595c7f44465239e944fb983448520","signature":"3e02469f96dc6da503f197edeff92a2b741040619b05a3f21744e771ed5b7a67"},{"version":"ef827ff353f4fe047b4ff5fec6f11ec6746764810f88499383813ec4f9217830","signature":"49dbfe87ab1654be3a43404c7c73f3b51129f2f72bd103e35b5faac4e3966c14"},{"version":"4cb8a23aa2e047d1314fe424d016b6268f29bee672967b1478a4767b6bc13107","signature":"c35523ecaac89c57a8b678ab032f1389131c2ed6c3950764de88b1ce5bb8eabe"},{"version":"d9def9089c9c589370f4fe98492799af97ac724ffb5c13257a61cbe085e65523","signature":"0510fd0d6b4527a5b7376d5068e31791edc7e2c4344e42e8e23c16d1ec8ad486"},{"version":"442996d33c515cbcabc4a4a449fc1e806ff41755e179e40fa8825c59c6c6b4d7","signature":"0510fd0d6b4527a5b7376d5068e31791edc7e2c4344e42e8e23c16d1ec8ad486"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"cc5e65fb1729463665074b9d7163e78a4225b7af7f3a6b3c74492f415166612f","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"185282b122cbca820c297a02a57b89cf5967ab43e220e3e174d872d3f9a94d2c","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","e8968b394e4365588f8f89cfff86435258cf10062585c1d2224627ab92acda22","285e512c7a0db217a0599e18c462d565fa35be4a5153dd7b80bee88c83e83ddf","b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true},"7aae1df2053572c2cfc2089a77847aadbb38eedbaa837a846c6a49fb37c6e5bd","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","1f758340b027b18ae8773ac3d33a60648a2af49eaae9e4fde18d0a0dd608642c","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"dea4c00820d4fac5e530d4842aed2fb20d6744d75a674b95502cbd433f88bcb0","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"0d832a0650a74aafc276cb3f7bb26bde2e2270a6f87e6c871a64122e9203079b","affectsGlobalScope":true},{"version":"c6f3869f12bb5c3bb8ecd0b050ea20342b89b944eae18d313cde6b0ccc0925d7","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","d742ed2db6d5425b3b6ac5fb1f2e4b1ed2ae74fbeee8d0030d852121a4b05d2f","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"2225100373ca3d63bcc7f206e1177152d2e2161285a0bd83c8374db1503a0d1f","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eefcdf86cefff36e5d87de36a3638ab5f7d16c2b68932be4a72c14bb924e43c1","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","4a34b074b11c3597fb2ff890bc8f1484375b3b80793ab01f974534808d5777c7",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447",{"version":"0ea93d01083b3d5863cc98cb589b5d0eac55d14417487f9e5e455dfa0b17c660","affectsGlobalScope":true}],"root":[[80,82],[84,86],123,[128,161],185,[187,201],[209,280],[282,299]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":5,"useDefineForClassFields":false},"fileIdsList":[[53],[60],[53,60],[53,60,68],[51,52],[59,166,167,168],[59,83,174,175,176,178],[59,179],[59],[59,167,169,171,172],[59,173],[167],[168,170],[166,171],[99],[87,89,90,91,92,93,94,95,96,97,98,99],[87,88,90,91,92,93,94,95,96,97,98,99],[88,89,90,91,92,93,94,95,96,97,98,99],[87,88,89,91,92,93,94,95,96,97,98,99],[87,88,89,90,92,93,94,95,96,97,98,99],[87,88,89,90,91,93,94,95,96,97,98,99],[87,88,89,90,91,92,94,95,96,97,98,99],[87,88,89,90,91,92,93,95,96,97,98,99],[87,88,89,90,91,92,93,94,96,97,98,99],[87,88,89,90,91,92,93,94,95,97,98,99],[87,88,89,90,91,92,93,94,95,96,98,99],[87,88,89,90,91,92,93,94,95,96,97,99],[87,88,89,90,91,92,93,94,95,96,97,98],[300],[336],[337,342,370],[338,349,350,357,367,378],[338,339,349,357],[340,379],[341,342,350,358],[342,367,375],[343,345,349,357],[344],[345,346],[349],[347,349],[336,349],[349,350,351,367,378],[349,350,351,364,367,370],[334,337,383],[345,349,352,357,367,378],[349,350,352,353,357,367,375,378],[352,354,367,375,378],[300,301,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385],[349,355],[356,378,383],[345,349,357,367],[358],[359],[336,360],[361,377,383],[362],[363],[349,364,365],[364,366,379,381],[337,349,367,368,369,370],[337,367,369],[367,368],[370],[371],[336,367],[349,373,374],[373,374],[342,357,367,375],[376],[357,377],[337,352,363,378],[342,379],[367,380],[356,381],[382],[337,342,349,351,360,367,378,381,383],[367,384],[47],[124,125],[53,55],[54],[50],[48,49],[61,62,63,64,65,66,67,68,69],[177],[53,55,57,58],[55],[54,55],[48,54],[311,315,378],[311,367,378],[306],[308,311,375,378],[357,375],[386],[306,386],[308,311,357,378],[303,304,307,310,337,349,367,378],[303,309],[307,311,337,370,378,386],[337,386],[327,337,386],[305,306,386],[311],[305,306,307,308,309,310,311,312,313,315,316,317,318,319,320,321,322,323,324,325,326,328,329,330,331,332,333],[311,318,319],[309,311,319,320],[310],[303,306,311],[311,315,319,320],[315],[309,311,314,378],[303,308,309,311,315,318],[337,367],[306,311,327,337,383,386],[46,289],[46,273],[46,156,209,240,246,255,273,289],[46,256,257,258,259,260,273],[46,209,255,273],[46],[46,59,70,79,80,273],[46,59,70,82,83,184,273],[46,59,70,80,273],[46,59,70,83,185,198,270,273],[46,81,82,270],[46,59,70,80,81,82,83,137,266,267,268,269,273],[46,59],[46,59,70,79,80,86,100,122,129,130,131,132,133,134,135,137,157,273],[46,59,70,79,80,156,273],[46,59,70,80,83,122,273],[46,59,70,79,80,83,122,162,184,186,187,195,273],[46,59,70,79,129,136,185,196,197,198,273],[46,136,157],[46,136],[46,59,70,79,80,122,129,199,200,201,202,203,205,208,261,262,263,273],[46,59,70,83,140,198,273],[46,84,85,140],[46,59,70,80,83,84,85,137,138,139,266,273],[46,80,262,273],[46,59,70,79,80,208,256,261,262,263,273,280,281],[46,59,70,80,141,273,275,276,277,278],[46,59,70,79,80,273,274,279],[46,59,70,80,129,186,273],[46,141,279],[46,279],[46,221,228,239],[46,59,70,221],[46,59,70,163,221],[46,59,70,80,157,220,273],[46,157,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,273],[46,59,70,83],[46,50,273],[46,59,70,163,187,195,264,273,289],[46,188,190,191,192,193,194,195,271],[46,188,189,190,191,192,193,194,273],[46,286],[46,209,283,284,285],[46,59,83,273],[46,59,70,83,273],[46,59,199,200,201,273],[46,199,200,201,273],[46,245],[46,241,242,243,244,273],[46,254],[46,157,273],[46,247,248,249,250,251,252,253,273],[46,80,128,156,220,240,246,255,264,266,272,273,282,287,288],[46,157,160],[46,160],[46,161,265],[46,59,70,83,161,184,264,273],[46,59,70,80,83,157,158,159,273],[46,136,140,157,161,270,273],[46,59,70,79,80,83,157,160,273],[46,142,143,144,145,146,147,148,149,150,151,152,153,155],[46,59,273],[46,59,126,273],[46,59,70,150],[46,59,122,273],[46,59,70,80,157,273],[46,81,82,84,85,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,157,270,273],[46,59,70,264,273],[46,50,81,82,84,85,140,141,150,157,240,270,272],[46,123,128],[46,126,127,273],[46,219],[46,210],[46,209,210,211,212,213,214,215,216,217,218,273],[46,212],[46,59,83,163,265,271,273,288,289],[46,59,83,163,271,273,288,289],[204],[162,163,164,165,181,183],[59,182],[59,83],[59,83,162],[59,162],[59,164],[59,180],[207],[206],[71,72,73,74,75,76,77,78],[101,102,103,104,105,106,107,108,109,110,111,114,115,116,117,118,119,120,121],[112,113],[113],[112],[289],[273],[59,273],[82,83],[59,83,185,198,270],[270],[59,81,82,83,266,267,273],[59,86,99,157,273],[59,83,273],[59,83,162,273],[59,136,185,196,197,198,273],[136],[59,199,200,201,262,273],[59,83,140,198],[140],[59,83,84,85,266,273],[262,273],[59,262,273,280],[59,141,273],[59,273,274,279],[279],[221,228,239],[59,221],[59,163,221],[59,157,273],[221,273],[59,163,273],[188,190,191,192,193,194,195,271],[286],[83],[83,273],[245],[254],[157,273],[80,128,156,220,240,246,255,264,266,272,273,282,287,288],[160],[161,265],[59,83,161,264],[59,83,157,273],[136,140,157,161,270,273],[59,83,157,160,273],[142,143,144,145,146,147,148,149,150,151,152,153,155],[59,150],[150,273],[50,81,82,84,85,140,141,150,157,240,270,272],[123,128],[219],[59,83,163,265,271,288,289],[59,83,163,271,288,289]],"referencedMap":[[60,1],[61,2],[64,3],[62,3],[66,3],[69,4],[67,3],[65,3],[63,2],[53,5],[169,6],[179,7],[180,8],[83,9],[173,10],[174,11],[176,12],[171,13],[172,14],[100,15],[202,15],[203,15],[127,15],[186,15],[88,16],[89,17],[87,18],[90,19],[91,20],[92,21],[93,22],[94,23],[95,24],[96,25],[97,26],[98,27],[99,28],[300,29],[301,29],[336,30],[337,31],[338,32],[339,33],[340,34],[341,35],[342,36],[343,37],[344,38],[345,39],[346,39],[348,40],[347,41],[349,42],[350,43],[351,44],[335,45],[352,46],[353,47],[354,48],[386,49],[355,50],[356,51],[357,52],[358,53],[359,54],[360,55],[361,56],[362,57],[363,58],[364,59],[365,59],[366,60],[367,61],[369,62],[368,63],[370,64],[371,65],[372,66],[373,67],[374,68],[375,69],[376,70],[377,71],[378,72],[379,73],[380,74],[381,75],[382,76],[383,77],[384,78],[48,79],[126,80],[57,81],[56,82],[49,83],[50,84],[70,85],[178,86],[59,87],[54,88],[177,89],[55,90],[318,91],[325,92],[317,91],[332,93],[309,94],[308,95],[331,96],[326,97],[329,98],[311,99],[310,100],[306,101],[305,102],[328,103],[307,104],[312,105],[316,105],[334,106],[333,105],[320,107],[321,108],[323,109],[319,110],[322,111],[327,96],[314,112],[315,113],[324,114],[304,115],[330,116],[290,117],[135,118],[256,119],[261,120],[260,118],[257,118],[258,118],[259,121],[80,118],[209,122],[81,123],[267,124],[82,125],[201,126],[268,127],[269,127],[270,128],[262,118],[86,123],[130,129],[136,130],[157,131],[197,132],[196,133],[199,134],[131,135],[132,135],[133,136],[134,136],[264,137],[84,123],[85,125],[200,138],[138,139],[139,139],[291,139],[140,140],[198,125],[263,141],[282,142],[275,129],[279,143],[280,144],[141,125],[274,145],[276,146],[277,146],[278,147],[240,148],[222,149],[223,149],[224,149],[225,149],[226,149],[227,149],[228,149],[229,149],[230,150],[231,149],[232,149],[233,149],[234,149],[235,149],[236,149],[237,149],[238,149],[221,151],[239,152],[185,153],[188,154],[189,154],[190,154],[191,154],[192,154],[193,154],[194,154],[187,129],[271,155],[272,156],[195,157],[283,122],[287,158],[284,122],[286,159],[285,122],[241,160],[242,161],[243,162],[244,163],[246,164],[245,165],[255,166],[247,167],[248,167],[249,167],[250,167],[251,167],[254,168],[253,167],[252,167],[289,169],[158,170],[159,171],[266,172],[265,173],[160,174],[137,175],[161,176],[156,177],[142,178],[143,178],[144,178],[145,178],[146,178],[147,179],[148,178],[149,178],[151,180],[152,178],[153,181],[154,178],[150,182],[155,183],[288,184],[273,185],[129,186],[128,187],[123,122],[212,122],[218,122],[220,188],[217,122],[215,122],[211,189],[219,190],[210,122],[213,191],[214,122],[216,122],[292,192],[293,193],[294,193],[295,193],[296,193],[297,193],[298,192],[299,192],[205,194],[184,195],[183,196],[182,197],[163,198],[164,199],[165,200],[162,9],[181,201],[208,202],[206,9],[207,203],[77,9],[76,9],[78,9],[71,9],[79,204],[72,9],[73,9],[74,9],[122,205],[114,206],[112,207],[113,208]],"exportedModulesMap":[[60,1],[61,2],[64,3],[62,3],[66,3],[69,4],[67,3],[65,3],[63,2],[53,5],[169,6],[179,7],[180,8],[83,9],[173,10],[174,11],[176,12],[171,13],[172,14],[100,15],[202,15],[203,15],[127,15],[186,15],[88,16],[89,17],[87,18],[90,19],[91,20],[92,21],[93,22],[94,23],[95,24],[96,25],[97,26],[98,27],[99,28],[300,29],[301,29],[336,30],[337,31],[338,32],[339,33],[340,34],[341,35],[342,36],[343,37],[344,38],[345,39],[346,39],[348,40],[347,41],[349,42],[350,43],[351,44],[335,45],[352,46],[353,47],[354,48],[386,49],[355,50],[356,51],[357,52],[358,53],[359,54],[360,55],[361,56],[362,57],[363,58],[364,59],[365,59],[366,60],[367,61],[369,62],[368,63],[370,64],[371,65],[372,66],[373,67],[374,68],[375,69],[376,70],[377,71],[378,72],[379,73],[380,74],[381,75],[382,76],[383,77],[384,78],[48,79],[126,80],[57,81],[56,82],[49,83],[50,84],[70,85],[178,86],[59,87],[54,88],[177,89],[55,90],[318,91],[325,92],[317,91],[332,93],[309,94],[308,95],[331,96],[326,97],[329,98],[311,99],[310,100],[306,101],[305,102],[328,103],[307,104],[312,105],[316,105],[334,106],[333,105],[320,107],[321,108],[323,109],[319,110],[322,111],[327,96],[314,112],[315,113],[324,114],[304,115],[330,116],[290,209],[135,210],[256,210],[261,210],[260,210],[257,210],[258,210],[259,210],[80,210],[81,211],[267,212],[82,211],[201,213],[268,214],[269,214],[270,215],[262,210],[86,211],[130,9],[136,216],[157,211],[197,217],[196,218],[199,219],[131,220],[132,220],[133,220],[134,220],[264,221],[84,211],[85,211],[200,222],[138,223],[139,223],[291,223],[140,224],[198,211],[263,225],[282,226],[275,9],[279,227],[280,228],[141,211],[276,229],[277,229],[278,229],[240,230],[222,231],[223,231],[224,231],[225,231],[226,231],[227,231],[228,231],[229,231],[230,232],[231,231],[232,231],[233,231],[234,231],[235,231],[236,231],[237,231],[238,231],[221,233],[239,234],[185,197],[188,210],[189,210],[190,210],[191,210],[192,210],[193,210],[194,210],[187,9],[271,235],[272,236],[195,210],[287,237],[241,238],[242,239],[246,240],[245,210],[255,241],[247,242],[248,242],[249,242],[250,242],[251,242],[254,210],[253,242],[252,242],[289,243],[158,244],[159,244],[266,245],[265,246],[160,247],[137,248],[161,249],[156,250],[142,210],[143,210],[144,210],[145,210],[146,210],[147,210],[148,210],[149,210],[151,251],[152,210],[153,210],[154,210],[150,233],[155,252],[288,211],[273,253],[129,254],[128,210],[220,255],[219,210],[292,256],[293,257],[294,257],[295,257],[296,257],[297,257],[298,256],[299,256],[205,194],[184,195],[183,196],[182,197],[163,198],[164,199],[165,200],[162,9],[181,201],[208,202],[206,9],[207,203],[77,9],[76,9],[78,9],[71,9],[79,204],[72,9],[73,9],[74,9],[122,205],[114,206],[112,207],[113,208]],"semanticDiagnosticsPerFile":[51,60,61,64,62,66,69,68,67,65,63,52,53,166,168,175,169,167,179,180,83,173,174,176,171,172,170,100,202,203,127,186,88,89,87,90,91,92,93,94,95,96,97,98,99,387,300,301,336,337,338,339,340,341,342,343,344,345,346,348,347,349,350,351,335,385,352,353,354,386,355,356,357,358,359,360,361,362,363,364,365,366,367,369,368,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,48,47,302,281,126,124,125,57,56,49,50,70,178,59,54,177,58,55,46,44,45,8,10,9,2,11,12,13,14,15,16,17,18,3,4,19,23,20,21,22,24,25,26,5,27,28,29,30,6,34,31,32,33,35,7,36,41,42,37,38,39,40,1,43,318,325,317,332,309,308,331,326,329,311,310,306,305,328,307,312,313,316,303,334,333,320,321,323,319,322,327,314,315,324,304,330,290,135,256,261,260,257,258,259,80,209,81,267,82,201,268,269,270,262,86,130,136,157,197,196,199,131,132,133,134,264,84,85,200,138,139,291,140,198,263,282,275,279,280,141,274,276,277,278,240,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,221,239,185,188,189,190,191,192,193,194,187,271,272,195,283,287,284,286,285,241,242,243,244,246,245,255,247,248,249,250,251,254,253,252,289,158,159,266,265,160,137,161,156,142,143,144,145,146,147,148,149,151,152,153,154,150,155,288,273,129,128,123,212,218,220,217,215,211,219,210,213,214,216,292,293,294,295,296,297,298,299,204,205,184,183,182,163,164,165,162,181,208,206,207,77,75,76,78,71,79,72,73,74,117,102,115,110,104,121,111,120,103,116,107,122,118,105,108,109,101,119,106,114,112,113]},"version":"5.3.3"}
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/@types/trusted-types/index.d.ts","../../../node_modules/lit-html/directive.d.ts","../../../node_modules/lit-html/lit-html.d.ts","../../../node_modules/@lit/reactive-element/css-tag.d.ts","../../../node_modules/@lit/reactive-element/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/reactive-element.d.ts","../../../node_modules/lit/node_modules/lit-html/directive.d.ts","../../../node_modules/lit/node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/lit-element.d.ts","../../../node_modules/lit/node_modules/lit-html/is-server.d.ts","../../../node_modules/lit/index.d.ts","../../../node_modules/@lit/reactive-element/decorators/base.d.ts","../../../node_modules/@lit/reactive-element/decorators/custom-element.d.ts","../../../node_modules/@lit/reactive-element/decorators/property.d.ts","../../../node_modules/@lit/reactive-element/decorators/state.d.ts","../../../node_modules/@lit/reactive-element/decorators/event-options.d.ts","../../../node_modules/@lit/reactive-element/decorators/query.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-all.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-async.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-assigned-nodes.d.ts","../../../node_modules/@lit/reactive-element/decorators/query-assigned-elements.d.ts","../../../node_modules/lit/decorators.d.ts","../../styles/dist/src/headroom-styles.d.ts","../../styles/dist/src/scrollbar-styles.d.ts","../../styles/dist/src/spinner-styles.d.ts","../../styles/dist/src/tooltip-styles.d.ts","../../styles/dist/src/common-button-styles.d.ts","../../styles/dist/src/common-grist-styles.d.ts","../../styles/dist/src/button-container-styles.d.ts","../../styles/dist/src/common-header-styles.d.ts","../../styles/dist/src/index.d.ts","../src/configure/zero-config.ts","../src/data-card/data-card-field.ts","../src/data-card/data-card-gutter.ts","../../../node_modules/@material/mwc-icon/mwc-icon.d.ts","../src/data-list/data-list-field.ts","../src/data-list/data-list-gutter.ts","../src/data-grid/data-grid-accum-field.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash-es/debounce.d.ts","../../utils/dist/src/sleep.d.ts","../../utils/dist/src/async-lock.d.ts","../../utils/dist/src/file-drop-helper.d.ts","../../utils/dist/src/context-path.d.ts","../../utils/dist/src/os.d.ts","../../utils/dist/src/swipe-listener.d.ts","../../utils/dist/src/fullscreen.d.ts","../../utils/dist/src/parse-jwt.d.ts","../../utils/dist/src/password-pattern.d.ts","../../utils/dist/src/closest-element.d.ts","../../utils/dist/src/detect-overflow.d.ts","../../utils/dist/src/timecapsule/snapshot-taker.d.ts","../../utils/dist/src/timecapsule/timecapsule.d.ts","../../utils/dist/src/timecapsule/index.d.ts","../../utils/dist/src/clipboard.d.ts","../../utils/dist/src/format.d.ts","../../utils/dist/src/adjust-list-param.d.ts","../../utils/dist/src/is-unvalued.d.ts","../../utils/dist/src/stringify-bignum.d.ts","../../utils/dist/src/encode-form-params.d.ts","../../utils/dist/src/cookie.d.ts","../../utils/dist/src/index.d.ts","../src/utils/supports-passive.ts","../../../node_modules/json5/lib/parse.d.ts","../../../node_modules/json5/lib/stringify.d.ts","../../../node_modules/json5/lib/index.d.ts","../../../node_modules/@types/lodash-es/pickby.d.ts","../src/utils/list-param.ts","../src/utils/index.ts","../src/data-grid/data-grid-body-style.ts","../src/data-grid/event-handlers/data-grid-body-click-handler.ts","../src/data-grid/event-handlers/data-grid-body-dblclick-handler.ts","../src/data-grid/event-handlers/data-grid-body-focus-change-handler.ts","../src/data-grid/event-handlers/data-grid-body-keydown-handler.ts","../src/accumulator/accumulator.ts","../src/data-grid/data-grid-body.ts","../src/record-view/record-view-handler.ts","../src/data-list/event-handlers/record-partial-click-handler.ts","../src/data-list/event-handlers/record-partial-dblclick-handler.ts","../src/data-list/record-partial.ts","../src/data-report/data-report-field.ts","../src/renderers/ox-grist-renderer-boolean.ts","../src/renderers/ox-grist-renderer-color.ts","../src/renderers/ox-grist-renderer-date.ts","../src/renderers/ox-grist-renderer-file.ts","../src/renderers/ox-grist-renderer-image.ts","../src/renderers/ox-grist-renderer-json5.ts","../src/renderers/ox-grist-renderer-link.ts","../src/renderers/ox-grist-renderer-password.ts","../src/renderers/ox-grist-renderer.ts","../src/renderers/ox-grist-renderer-progress.ts","../src/renderers/ox-grist-renderer-select.ts","../src/renderers/ox-grist-renderer-text.ts","../src/renderers/ox-grist-renderer-textarea.ts","../src/renderers/registry.ts","../src/renderers/index.ts","../src/data-grid/data-grid-field.ts","../src/record-view/event-handlers/record-view-body-click-handler.ts","../src/record-view/event-handlers/record-view-body-keydown-handler.ts","../src/record-view/record-view-body.ts","../src/record-view/record-view.ts","../../popup/dist/src/ox-popup.d.ts","../../popup/dist/src/ox-popup-list.d.ts","../../popup/dist/src/ox-popup-menu.d.ts","../../popup/dist/src/ox-popup-menuitem.d.ts","../../../node_modules/@material/base/foundation.d.ts","../../../node_modules/@material/mwc-base/utils.d.ts","../../../node_modules/@material/base/types.d.ts","../../../node_modules/@material/mwc-base/base-element.d.ts","../../../node_modules/@material/ripple/types.d.ts","../../../node_modules/@material/ripple/adapter.d.ts","../../../node_modules/@material/ripple/foundation.d.ts","../../../node_modules/@material/mwc-ripple/mwc-ripple-base.d.ts","../../../node_modules/@material/mwc-ripple/mwc-ripple.d.ts","../../../node_modules/@material/mwc-base/aria-property.d.ts","../../../node_modules/@material/mwc-ripple/ripple-handlers.d.ts","../../../node_modules/lit/node_modules/lit-html/directives/class-map.d.ts","../../../node_modules/lit/directives/class-map.d.ts","../../../node_modules/@material/mwc-button/mwc-button-base.d.ts","../../../node_modules/@material/mwc-button/mwc-button.d.ts","../../popup/dist/src/ox-prompt.d.ts","../../popup/dist/src/ox-floating-overlay.d.ts","../../popup/dist/src/open-popup.d.ts","../../popup/dist/src/index.d.ts","../src/empty-note.ts","../../../node_modules/@types/lodash-es/throttle.d.ts","../src/filters/filter-styles.ts","../src/filters/filter-checkbox.ts","../src/filters/filter-input-barcode.ts","../src/filters/filter-input.ts","../src/filters/filter-range-date.ts","../src/filters/filter-range-number.ts","../src/filters/filter-select-buttons.ts","../src/filters/filter-select.ts","../src/filters/registry.ts","../src/data-grid/data-grid-header.ts","../src/data-grid/data-grid-footer.ts","../src/data-manipulator.ts","../src/data-grid/data-grid.ts","../src/data-list/data-list.ts","../src/data-card/data-card.ts","../../../node_modules/@types/lodash-es/isempty.d.ts","../../../node_modules/@types/lodash-es/isequal.d.ts","../../headroom/dist/src/headroom.d.ts","../../headroom/dist/src/index.d.ts","../../pull-to-refresh/dist/src/pull-to-refresh-control.d.ts","../../pull-to-refresh/dist/src/pull-to-refresh.d.ts","../../pull-to-refresh/dist/src/index.d.ts","../src/const.ts","../src/value-generator/time-generator.ts","../src/value-generator/now-generator.ts","../src/value-generator/date-generator.ts","../src/value-generator/today-generator.ts","../src/value-generator/week-date-generator.ts","../src/value-generator/month-date-generator.ts","../src/value-generator/year-date-generator.ts","../src/value-generator/minute-time-generator.ts","../src/value-generator/hour-time-generator.ts","../src/value-generator/registry.ts","../src/value-generator/index.ts","../src/editors/ox-grist-editor.ts","../src/editors/ox-grist-editor-checkbox.ts","../src/editors/ox-grist-editor-color.ts","../src/editors/ox-grist-editor-date.ts","../src/editors/ox-grist-editor-datetime.ts","../src/editors/ox-grist-editor-email.ts","../src/editors/ox-grist-editor-file.ts","../src/editors/ox-grist-editor-image.ts","../src/editors/ox-grist-editor-month.ts","../src/editors/ox-grist-editor-multiple-select.ts","../src/editors/ox-grist-editor-number.ts","../src/editors/ox-grist-editor-password.ts","../src/editors/ox-grist-editor-select.ts","../src/editors/ox-grist-editor-tel.ts","../src/editors/ox-grist-editor-text.ts","../src/editors/ox-grist-editor-textarea.ts","../src/editors/ox-grist-editor-time.ts","../src/editors/ox-grist-editor-week.ts","../src/editors/registry.ts","../src/editors/index.ts","../src/gutters/gutter-button.ts","../src/gutters/gutter-dirty.ts","../src/gutters/gutter-row-selector.ts","../src/gutters/gutter-sequence.ts","../src/gutters/registry.ts","../src/gutters/index.ts","../src/handlers/move-down.ts","../src/handlers/move-up.ts","../src/handlers/record-copy.ts","../src/handlers/record-delete.ts","../src/handlers/record-view-handler.ts","../src/handlers/select-row.ts","../src/handlers/select-row-toggle.ts","../src/handlers/registry.ts","../src/handlers/index.ts","../src/configure/column-builder.ts","../src/configure/imex-option-builder.ts","../src/configure/list-option-builder.ts","../src/configure/rows-option-builder.ts","../src/configure/filters-option-builder.ts","../src/configure/config-builder.ts","../src/data-consumer.ts","../src/data-provider.ts","../src/data-grist.ts","../src/record-view/record-creator.ts","../src/record-view/index.ts","../src/data-card/data-card-gutter-menu.ts","../src/data-card/event-handlers/record-card-click-handler.ts","../src/data-card/event-handlers/record-card-dblclick-handler.ts","../src/data-card/record-card.ts","../src/filters/filters-form.ts","../src/filters/index.ts","../src/types.ts","../src/data-report/data-report-header.ts","../src/data-report/data-report-body-style.ts","../src/data-report/event-handlers/data-report-body-click-handler.ts","../src/data-report/event-handlers/data-report-body-dblclick-handler.ts","../src/data-report/event-handlers/data-report-body-keydown-handler.ts","../src/data-report/data-report-body.ts","../src/data-report/data-report-component.ts","../../../node_modules/i18next/index.d.ts","../src/data-report.ts","../src/formatters/date-formatter.ts","../src/formatters/number-formatter.ts","../src/formatters/text-formatter.ts","../src/formatters/registry.ts","../src/formatters/index.ts","../src/sorters/sorters-control.ts","../src/index.ts","../index.ts","../src/data-list/event-handlers/record-partial-long-press-handler.ts","../stories/accumulator.stories.ts","../stories/barcode-input-filter.stories.ts","../stories/default-filters.stories.ts","../stories/dynamic-editable.stories.ts","../stories/empty-sorters.stories.ts","../stories/explicit-fetch.stories.ts","../stories/grist-modes.stories.ts","../stories/textarea.stories.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900","15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e",{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true},"d4b4f6148a6444ec92db4ac4c7dd7050ffc32b21a10276a59498e04740e8fd8d","2524f58c8d67af441b487c0ce0e0dd9c18bf3d06c05f621874dcda9780d8e22c","e59262ddaae67dec2d226f8a5d05cf6c4dc353c0d9b1e4980a61d7fcf9a2b051","5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","470b8c2386c916bad4aa0d05e89b271a47dbe1250cb25dc0f93102b457228dde","7000ec8572390d035ba5ef993953957150d0c38ffb31b56653c97dd78cb6e1aa","056892cca68dca10a914f1580ba0e5710d26794e8707225dca9b5717ed702f1e","056892cca68dca10a914f1580ba0e5710d26794e8707225dca9b5717ed702f1e","4ddf3962990379d1ea59b369a5516c7533b7944010d6998e0e9b1ab35d5af1f0","1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","2a8f0a19a927e83421597c056c90695557142f54ca96358f01eb1f2a5eb228be","d08415b3d6d7fd153ba6e7bf7707ffc57f3c6ad85730ea63544756610b4350c6","411f23da7a63c3d3fd4860c41a458e8df239776fd5d9cd36dd3ad6be92afccbd","6ada3e065916c0ef2dbc9bc0f9b5d59afb25d9176f81fa2c8993a536924140c6","356cc1b058e05e07d2acd73bfa87f83a6f4a343450ee375dad232ff4a55d41d8","df286e6b181ed08766bc19cf1a2fddc50bc5d540f233bc1ce4430a3c1c8c8379","f436800c0af503703110c93144fcc7392524636fb4216296411243b29fe0162d","0d5002560b45ce4fd6c4124632f61789e584be0634602486a2ce59541311d153","bbe13c947d7d6c3426e0e5815e2b3464fa03d34a4bf47298c43b9237cf59555b","9f7d0ee33b9f8fa4dc2e9628e0cdf8683104d01de9d3d24f62cd5da014a5bec4","a8992b852521a66f63e0cedc6e1f054b28f972232b6fa5ca59771db6a1c8bbea","cf93fb9208a01c80f0fad245c4360356e5de6c2384b7641acf0b9cc2f5c42448","336398b0efaf964124e636a9b29c4edd5870aee79ac64bf87be58a9d66b7c048","571bc65ec37ba124e762bb822e14a2b8502dc684e356be8feaccbd6b9cadd023","2bbbefc1235500bdb5091f240dc8cba861a95342272f7d11b7574a0d2ef4f85e","7cd455fc4c4818f19263d73b29c59f3fb5fd54b45a6ab83ca3eb3661281db56b","1c6b9b5501774a2ece6574be8e26092800e3f1f836f8c179b4f9fdd271a620f8","bcd2426fd141157e04e3a8eff914b575403587f398cf0878f07c2f283e0d1afd","bac8ff394e831e4dd3f0961d6abb414b0e2b4ba16fdeb502d087ebf0340ed5f6","b8965484c1a08eeac238cf02a1498d72f3f3610059570a2c0fd207eb34245146",{"version":"b056c4829f083b798d60f5cca15f025263b112146bbbdbeab887aa6efcbcd981","signature":"0f85a0bab1ed365725136ede09c0c4c2af9555e1f9e4ff70482734128696ac1d"},{"version":"d7196bb30432ab920a8b02c0c50d31595008b250dddb190ce3fa0b1b70ec0ff8","signature":"cc6bcd576056d8ccc3bb297b152e9e4d694fa13a3790078fc9c03f361d82060b"},{"version":"e2dea6c5bdf6aad50bc67b16dd8030c8febfdb7d31d490e383f8ea5c424690eb","signature":"038f7ba9c3cb0d2097d1fb3f6294c355999e257e42d6769280e1a978c84f871c"},{"version":"27b285e901600242883d62a5fff9f5d262c6fa128b6e6c6963f981f2630a957e","affectsGlobalScope":true},{"version":"989098812c95129fe2f7d3c4bc6dc5a6457f86aad0204035c5d3570d39200d2f","signature":"700828225cf903b1fce7dbac7d6afe27aab606cf6f38d29382f6d8cce445f3f9"},{"version":"0837bcc4cb99bb7dab934b56c470cf29377cce50c94d57ece10cc24a2bbcbd0c","signature":"27fd44ac917b8f78d65173dccad092de47f408db592e1abb355f661d49646312"},{"version":"051fd53566472ed139530080996af9e456564290c29d9c0284152ed46dd1ff9a","signature":"d4598e36eaa29d6c2a786e436d3d223b7ccd3e4f53d6925fa52207273736cd4a"},"b8442e9db28157344d1bc5d8a5a256f1692de213f0c0ddeb84359834015a008c","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","68a0d0c508e1b6d8d23a519a8a0a3303dc5baa4849ca049f21e5bad41945e3fc","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","a862dcb740371257e3dae1ab379b0859edcb5119484f8359a5e6fb405db9e12e","05cfea0488751015b0b85911b6cdcde7c6cebdd9b8cada1ec0b5c1736357a552","7bc8c357aad90fb446b9baa522b1bed5901d1a1cbc59a7a658d64546c97999b4","4d5e201faa4bceca840b652dfc10795170c061f498e19429a06e056490aa69aa","97148bcf59cdf0e725f81c39df7acd2174a4edf5f739b275669f4d58c8bdce47","fc5a5d8060efb1270b9d98ce50e6eb8900cc5229603d7afb73c7f4b4272e0d9c","f8c86fcbfb0a1e69a0ed28d3249cc33c312fa23a39c17e15cbbcc539bdcdc303","85e0f00b17c3ae8cd88438c754a2c43f4a9361e685b97a70e52e33afbf62488f","39d2d450df6efbf38585fd316f18922c8ac3fdfd4c3fc412d0bee34e2bc86378","7470dedadf72566f57f46fa8a8950afe388a4e90935b4e4b3d33add9a611929d","90feb2c17c1fd53720e1dd8738c6660aa14402394bb30caed6f2a7cdd54fea40","75f8b003f4362cb9a9e1d9d8b00c6a1e866868f05b27ede146dd8830b675bdf7","7b61337d7e26f5f9329b74dffb93941388d97b78282f611363d8dafa37d0a2a0","70926949fb828e317443687c9f3b5288e1ef6ec1e5130c1001f406b4ba3665ff","f499d7fb533781939c7a5ab778ac6e6c8ffe65601b1a61a843c36ee0013f05b6","572e62cf5f264524b956685124bdbfd9651c8f628129b627080657281090ea43","c8f7da57a17479145ea922b90a1efb2ff8e8096992bb0a4658606c9fbd944efc","28b3ab6f54b290c19897dff3d4346b7f1caf6e7d2057119ec6332dc1ddf25e85","1e73d612f806d183d6c16c4135c16c1a14dd827c1a67097e72ab1841852bfcb9","f39f94e8457643c4a7361d5a7330c705ae5921067b639228af3e961b9b71ae6f","cb2de9f1d7d286191834eeb331d23dc69eeb322745114ddad1695e4c575b5feb","1af57b9c3dfcb7ced92c247d202b6633b57803511794de4f9d68e331fcb21963","33cfe6d0d01e416a19fb67358f6e0a8f2e5177708a0d976cfb148e5d7011553f",{"version":"2fd48df87a103cee6f65309642f4502853d1608eeb00189249b2286093413e09","signature":"311011b8c26c201fcbf5d2640cb0fc0a68bb6e86982da073bd966438a560c5bf"},"88a3a6f8c2a1640d8d5fd30d8d86462f8babd86a1e52fab0e8b7f7c141fb348e","345f76c854da724803c96f727a3f9c75e26cf95c6e7b8c1064dbc4e7727b74e6","ab7b7a15a5d73eb0cfc2b973e580f357f07492bff6608669d7e899e2d49ac9a3","553312560ad0ef97b344b653931935d6e80840c2de6ab90b8be43cbacf0d04cf",{"version":"09574ed79cbe0351672af3886a15443918c08c75f1e0a811fa45dda4964880a7","signature":"30d0c3169d63adaa3d171a6c5fad4bb3c904d70608bea6024d1d906baca96be1"},{"version":"a8e890a50f7c34eda4f7e046220e7f444a5e2c20308c96e7612eb6b380c811ea","signature":"98dfd5ef3bdbcf4df59a1c17736d8a347295b3921310f68e4f70f28cb81c1fed"},{"version":"03a4e79ac0fbd81030f96ec089ce25e4a100b28adce8bf9abdc46e9b26e16d5c","signature":"7e6f3b3128a22e847dcf416c6b33ffe6204ca823e1db144a8b8aacf0b6ec33cf"},{"version":"cd0e745f9c9dc8f33692096b635a5c88bfb51271e4999e316f4e9766a63fd25d","signature":"e9dfd662b153cb241334ce04bb29c1ccf07b4143f144dcc0e7d1c2339a10c2c4"},{"version":"94d56e8402e3c1bd13d2e48a2745b30b69425061afd66990e8f939bd2adee648","signature":"36660e8875c1d5b060f1373543cc76b7be3137cf789dbd2962f67da264d349fd"},{"version":"5dd15475421ff18e53df9fba79389f68ffebbba6530ca783495cce830410d5b4","signature":"1326612693a2e42cb96b6097f79336ed82d582f581e2d3aecb157c50fbb7cbe1"},{"version":"00df5ddec88858239f9105b898535fb82d4c9b21caaad6bceb0fabdbc7ef4c81","signature":"0e6dc8cb5b0edff44f46586d030e374df1388c8417a1685ecd7721ed01cb4dc5"},{"version":"7d2891a4110d52c25bbe7d3273abed6e3b8772848d84a02751b948577efb2c77","signature":"9e8606a6fbf5650d9ddd7611106fdc2bae75c2734314dca580407763131e02bb"},{"version":"42d8fc374e34efa8c32a78f5cf364a56c23a52fdbd783707224f108dcbe41621","signature":"4968f37fb82d5e6cd38a799a1e084cf0e731ddae12077610cbaf99d52bdf5e84"},{"version":"acf6fadac9d6f7b196f325c8bada72d821009cebb1455da43ef3d875804d5a46","signature":"24e703a20760ede3d4ba47c5ccb615e27f4e512756784069bd9266cc09168d4e"},{"version":"05a7d7b7c3bc59eb1d889efeb20328ccc85b23a1c83df784040218f5088f298f","signature":"46b34b7637e3c97dbf73dc0d167b84f90551113719a2e6ac825dc06407cdbd2e"},{"version":"7906b3b0f38706b264bf78d59a373fe595f4fb6a48378babbe599b380ec07cf9","signature":"6865ad92b0b4533fba14f0583b28ea2fc6a750235c1399a9689e029dcf64fcbe"},{"version":"6036eb911e80ddf096eee53ec09c204650c53a9ed52cd33ef3e0934258295e4a","signature":"726fc52e8e1e0e9a4ab75c27c052ea0db38f463f65f56d3821e39abe8532c3b2"},{"version":"d0eb198aa8b26193b40e6ed6c7170cdf2bd844088b7cbe310fdf793c2cfe2881","signature":"998699eba617b9157327ec3be6a0da70bc0ffd86a40a20c21ed619f6f5eda300"},{"version":"231bfc4b61cba3ef55fcf0fd3f03233fc01e2fe17fe374d02969203ea169ba93","signature":"04a54102a8f6780bee6e4fb11f2a4385bd5db1c108232b61ebf197296005fc55"},{"version":"7853744c3ef97b5d1985112225e71e6a6567e129b6eb4239a7f551a748f82a4d","signature":"a5acce94760166021b02598b5b4e9048d761cd713d0094743979f8dc97171395"},{"version":"14f0dc09968e72de27228594bafa2621498bc7b222e1963dc508666e5e88eae8","signature":"c75c4ce24b1f7976aabe62f58b079210dda7c8bff461cb852903ce0063b876f5"},{"version":"19272e0b09360fddf253d5c950575359862bfcd48f36ea2452e8daa419195a9f","signature":"1905cf2a2c68efce92637b0637dd1db38e2fd5683e61901e6447bcf8fca752f7"},{"version":"3781ab2e8f69f8211d1b76142da2f4528b1cb95277031a747da340aebc41b40c","signature":"9cac36fd227125723097775e2700432838e54d9c1530cd45f36653e20513dc61"},{"version":"49eda92a597e4f9b35e7d0fc0ec7ce812b66b0d1b8bf0ac3142fd429ebda4772","signature":"b461bba9fdefa4860fbbe4ab8d584aba4ff2410d7a940ccd08d797ba62b9b4ad"},{"version":"c61924e5279fe18980383cfc1a82d8da204ced49f8890ff8b76a96f26784cbc7","signature":"1b0dddfa3431d9cf7489393f6eda8c39d64b0ad5006e61b323b41e946de1cb64"},{"version":"06839aae07c9eb684746b4148a05f65aefa5f79a7311deecebe82ebb4a35b22f","signature":"69f943fd9ea150bdae776e0753da4e9e7cb5bcd2c3b357241669cb7b1146a8ef"},{"version":"9b1d4524172ee9d615e612e396637e7c471a2addb29b72b56521daba4a38b377","signature":"1c8d6092ec81841053eb264b5f6db411bb0b9a95c6e0f6bb18475ade6676895c"},{"version":"0dcd6d71e953763b9faf89c0c9b2ed96a56011c6ece3f7fd6b06c94ab34b0419","signature":"0c6b193c3f51c5d1ae598073fcf57833ae748f91551c73f7f4e31facd282941c"},{"version":"96244086d545dea89651a59aefe9b830a0476369ffd6f192b2b73c07a9af9bee","signature":"c4178d7f38a1a95f9e7763e4ede95a8ff29c134ce9dde7a5532c617489e73e32"},{"version":"1dc9474a637365fa9f9fd93c79219afb711edddbef4a500b360b5df03e7a7238","signature":"d76e3643450c47b47c246ddefcaee7210175a5200f96c68c36f22290ae908999"},{"version":"73e654113ed338086b7549141ab127b7646ed7f51f9a559ce8873290a991c8af","signature":"060b73fbb370ddb4d790bca51dd91765129a04d4321f5989bcb5469722ae190c"},{"version":"08c3605e038ef7193ed557dcc5fab693ae77587e983e3ecf4dca37f7ee947e6d","signature":"b248a2c86a9608ef3f4c5480fda53e28daaa858fdfbfbe9ed31e0e0a0aa83b69"},{"version":"20daec6882e1d9ff1c3871026eeea68972c45a7d46e33e35499027849c959bff","signature":"d38038c1daa64482b31d0ec1fa336d9a47b09e647cf788ceef2fb3e8310bb09f"},{"version":"7d8bb6c816bb5121ca558768d40ebf4112395c3458b5842f2374d46bc0a6564f","signature":"1397a64b6ee56cef055ba9fee79aa13a96a00b83bac8485383052be8f8bacec1"},{"version":"4ddb9a84f8f53b8ac9a38f235d097856d1fb82b9a6e7b3048a4ad837ac5a60ef","signature":"b139ec32726b861d729421f33e3d51a26ced7a5556363ccd7c13b0463bc351f9"},{"version":"e66d43dfcddea457eba1932607fa69025d6c8bf2caf9776f8524dbb484a165ec","signature":"292ebd2977ebceff1836f8df3788f7d9472f41a26d0b4b6c704404a112f979dd"},{"version":"028baaa1b883ea40e38a5aafa62f195485e94c4cbe62b4574e0b01e5e5c93355","signature":"3bb77e76870104c3b0b16f82682b1608ff85ad183560c5390e1884b807d977fb"},{"version":"134988db9f4f3f7a52a2b9dfeef60e8c71cd49309c17950b8e5f6ebd4abff434","signature":"963ebb3206e705d26b01faa5d49534f05be8884d81417b1e0aa069447931f82a"},"538c9958c03297ee51a16a5c1461f67e51e71ada1b617f32a5a734f38d69ef5a","0fd96fefc155744dae4e1788f930a5b25022b47e9d45d3898b32434e49cc4cb3","661d75db74fa3c5e22089d54d70ae0dc2638ba02502e26d620909e860e95a002","9dafb0e93dc590bbce0dd504d5de624e58b54c8d494d81fcf0a5a56ef66fbdb1","a0667520a6521c12128fc28cbd5b2af58eef11c5b2a7441e0f0d47f50bf6c8e3","0dcf4c2bf1bb547e2ae5b8dce4656a56fbd15e3401ff5236ea0b93b6c60f9249","820c26194ad4089bc503b02bbedbd86a865e9c8a05c58ef88c8d19d9c019712a","790b453e1b76814112c3870d6e12f5db992d3194fdb3529445317dd75cb538be","d375de88ab19f6c105a65fc89eca1ae782362c5c395283b0c85ef39c7b835dfe","aeda2fffbc651fe1fa60b913d45f291f5544c4840206cb3b1badc16d9f01a0f0","7b3c1d688dcb8645b5a6c37bce5b047da92b4c298ed8709e03e987e0efb035b1","29c64e1acb5b73f08a60e71154c65c8a34f885f1f2cc55ffa06dfd244c058883",{"version":"7d176f155e5f6fc9756ddcc1a6d3eb2673030a066e2b7846dfc81b5271f3e269","affectsGlobalScope":true},"024fea9ee598cfe747f18340ad74e4ea428fc2a7988250ff9fcfce5673b7d422","aea18a267a0770c365cc390ad0a0b9725ed7a4540e9a96319b0f5094ee0ca124","8a9b7a437bea4cc34e5e103e01573ab3afc4564a22c838942b6dcca0f68020e8","8bb8931e629d9adfac6fe0c067de1a3c2f82b47262f83fa76eb0772ef13808e8","ae1351ed65b27a2b29a70a238024c957910e944aabbffce286099ed2b04f9baf",{"version":"3c19b3fb2f88bbd8f103fe2de0d6c0700dd9bf6678553f6db803162620b49e27","affectsGlobalScope":true},"740abf7b444d5aea53aa623c41aef143bcd0dc1dc07738473e406ea564d2f6ea","53f6ea5a77721fbc299e620218cd6d32b704210566de1d6e8bd6ecdb5c01c980","c97f742ef6e8c0bc4e5e4ad8d90b4489cdd3bd1c007510ee4a2e4c09266a11d2","6a17f676d06d3e695520b275dd483b4fe62d34b84926c0bf6425c08490ee2c41",{"version":"227f512bde9fb4e483ba22693050a36a958fb79c5c80fd872ad6da293d36d163","signature":"c8089775da5e00fbe5b11a03cff5981d29101992c010bdfc5adfeae4d92b7480"},"1be8da453470021f6fe936ba19ee0bfebc7cfa2406953fa56e78940467c90769",{"version":"b2387fab798a35ecee988f58113ffdd2f4bad523c231482a2938f2328b7bfd8b","signature":"a1338c1eb0e7551a083f0f812e6ceefac1814572837a6c3d3bb4c9b7c3b0156a"},{"version":"b852650dad2f5859fa7fce38587cd410619272efe81ad42a489c4ffbe11ff91f","signature":"ea65e3ce32dcbb61edb379f86b303732103a887fcfe61fb0434cd5398fc8c272"},{"version":"597baca9b35a568b71eb3ca834dcc5c2dd544cf78f3506fa2fe4ac44e73009bb","signature":"2a489164e760c8f1c603a0272822b1eaf4886e578e8128ba6bfb82993b419c53"},{"version":"9e6f764c8f782eb7112a6caa510d18995f1d840e32a6a721cd60419686256dd4","signature":"e1925458d0ea29d0b4d314ac029c368dcc5b5b0421be3c05c36a12df92840401"},{"version":"e1c63afc40b7cf8dda2dfe7398a5e10d62be090920cdf619e39f02a6ce9733a9","signature":"19236d2b3a4d329eecb7d867e62ba2ce8ff2a1c290d9b9cadc246e1e860232ca"},{"version":"8c182691fdb83b3eb48d185fd25ed63ad4cdba1e60c9d0b1b03f9cb595abb28c","signature":"c348a5e4481d61843505811ed74ca62234d5bde08db286a719a7421bf64fc8c2"},{"version":"e0ea3314210ec55edaad6d5efc66a5f5e628d1c34492c00a8753ed565aefc59e","signature":"5e0042ca0dbe77639779a6f861c2a32fdff5094031e013fccf95508b49f6d7ee"},{"version":"d33ead4fb46f57b55511e0488b2475f40ebc42fbe4c8af45caeb62fa74911a03","signature":"f0512312084ae789be5862be6bbbb4bd4ece73ca1bdaa3193b1a2e3dc0b8ea42"},{"version":"38ef896f3757957ce79dfd87e5a25d439f95a76870ca5e88b19ddbe83a85c8a3","signature":"4285b3976062212af73781ab61cd2d35014d6c8922ccbc082272ea14b56c4119"},{"version":"baff1a6afc5c76b88d7c4b75c94c57089ffc5efbd69bda10b76dfa2d4370069d","signature":"969d2d471070d6eca43e3cdd452b4544a549567f272e9207209460f843e20fb2"},{"version":"d2a636bbc9a2c259addaaaa5d58335141f20569a3e48b3399e83fea0604fe1f1","signature":"9d162dd4edb4c49260a5c9e3d37b0fbea32d7ea4d1d60b7f2d2b7f35abe562cb"},{"version":"1c2c0388a5eb55a782d3f54ab6af1c151dd978d93f7ecdc185b7de4fb00ca741","signature":"555663519c551cda16bd59d2340c972858b2d87711bd8109c2ddeb4662267a05"},{"version":"30cc8db700793f74a2ea446c2304b34645d73c8d38ff866e54d957dbd8680d5c","signature":"29f0a56eeda337b7c3dfca4947fb00b8eb45975f2a125e86a78d16acc0a1014c"},{"version":"7245aab615d3a222e97a12ad2eb2ebf935978006981924f6c9d804ff027a23b1","signature":"acbeb7d589177710ea8bab0116c10fc2b8afc4c14bea1754ea74d85c98a3b2f2"},{"version":"ec8f8d88c2feed8c1644e2e855a697e2f7e11388a3babe3d3c910426b810639e","signature":"e4b489c61d522bef596c4a029eb2d70d91308bbf83b5a50663adaecd3fc5f1db"},"3be6b3304a81d0301838860fd3b4536c2b93390e785808a1f1a30e4135501514","da66c1b3e50ef9908e31ce7a281b137b2db41423c2b143c62524f97a536a53d9","769c966ef166205a08c0382a298a6c5877951599d805931a963ae5650ee46391","35c1202e93852c1c233191971b8c4aefe5d3f9df287991585fe305078c0880e6","2f554de81cb789513658bf0ade0273029b1aa1acd3171a679cd327141f5f5dcf","4a2a6bd6a36b058effc58d1aab136cdbd66188773470885a4b414098a0d76821","b12f96f442196be954b8fa982f179527fff05a796962fecfb6e12b0a2c1b6867",{"version":"2ddb9572f13b565c3fe90c9c797950c8c7b49e84989e850ce8619564b711d6f6","signature":"26e4e730c693d40c7b96173958fda238b0bdc5060efef9d8dde36e61a0c53418"},{"version":"42143ab7949017ab155e87b9ade4ec42b6514dc7b890ce13fd27c8c9a61453e3","signature":"1cbc051fd1c9a100e250c0bea00bce142c914271e58e6a7aad2b9fe9a3b7d4ef"},{"version":"da41dd1af345cdc635817acea1b95cc3bb12d5496a74de167f7c968c5a029a62","signature":"3e52303698672dcd5c81db3ac420b4a3cb3d7926436e443a67ac2f3433debdfc"},{"version":"5c1e0a14226411fbd017b4a1871c31ddae83b14fd4b9c0e25c2ac681ba5a9888","signature":"f907690c6059f60f0306ec42b0b8f283abbe95989c098c6b22e36711e6de5e9f"},{"version":"185ce430aac79ac6b83aa3542787deb447fd9677513ca450d4090de9a5ede0c0","signature":"b850146410f49bbfe5c7880c605e046442f8367b5cfef93fdca77daed8c9b412"},{"version":"50d8ce724f0a0733c655f7d8230eab99c3ec267351f39e4846e6da7402f2bc85","signature":"071960adf166213bf0e5dc75f137f6d3b2aa18aee2bbc4da7d6ecec67780925c"},{"version":"a98f0d926cd62bf80bc6b6e9604fbe60e94546404a88869664051e6ef121fa66","signature":"36dd9ecde2e7b53a63514edcd06d2364889cf345d3e5a05c4b48449dbcd6bf08"},{"version":"9996cfcad56906496127ea2517d362b96dd3f6762593d61e2fd0d491c511afa2","signature":"ae3b666887f0550e21f0268aef4c9ae6d1860c5f538871331b6eaaa4f87f9c12"},{"version":"aa1949980bc1d30ac22eff669dbeb7261363f32e802f57620f7f79b4963c2ed0","signature":"bfee1efd036f8d468d8884dd6a9429608b8d79e12d706baa203e317b9abd9299"},{"version":"02a9d0fb6b6b40de360f38fbb85f69032f3d3c531c72f9946aa91540ab5f88ee","signature":"ced5fab36b9a3865ae0897f29ecc4b9f79d720e5ad902564920abe988fc8f648"},{"version":"11cfd3bd31259977df4986758e990144d40f43e7592188d961f9592d9746aea2","signature":"2c4a628921d77106f4262d458da8b134c2da67b1ab15131d2367cd57d1a56920"},{"version":"900683c32709e025b93cc18be550bbf2a2e5686e0ac5d058f25468062117a5a7","signature":"27909ca3d149c1c6f45b29b6e2ef4b1cbf709bfe6c0c66276d4541f6afc8031d"},{"version":"67f7017c3e2204819925ed8284e540c09c2f1f9a1af3eff0807e44531fdda544","signature":"affd76cc3fb68150bf5f27b27ae9d7ddb6e88af5c1fdf74ee6b23ba999ad5bf0"},{"version":"e3021d056b1afd4aa8f78fcb6f45623345f7edb1593958ad989e49976b6d2c4a","signature":"18524c6a3522ca4c8f8dd12cae68dbcdc0de2d1f67d6036c6ab655078359fa7b"},{"version":"8c03b854441aa92eed8ea8282057605bbf4f1d7a52103f5ac55084afcdd32a9f","signature":"c13d4dfe40dae3062f03c5b3cc0eb208241a6a55e3fc7ad7a73536cbafdbee26"},{"version":"c41cb8670d388cfe9c24ac5e9349093cd853dd7c408f63b64e0ff8a0aa67654b","signature":"53ec7ed6e3a461d45ac4d4f14d88cc49db6876ab394e4df8d2f8036aac26f97d"},{"version":"73f73cef590f0cf5c14435f7d8898da93bd3998c36c747a705f55aea306a5dad","signature":"8b32fcbeac09f41cd54356414c4e786be7105944f1318b53040eadd2b9b55345"},{"version":"0eb009ca9bab7ed05e23270d194a8958a004439ccdfc998207ddffe26a919c51","signature":"d5a43a652d0e4368bbc40cdb637f493982599c888980a9eddfe83bc03b4d0682"},{"version":"20819b80ccb650b827bf35df8b88a697448f236bab883afa0b3d9a9df8fc1eed","signature":"7e9a555fd6a428f06afa9e8299fcb0e1c107cfda68a15d6fa4720582eb812855"},{"version":"b041b05258eb684e2218490d894c7d981c52703effa39726fd3413d74b6ffebc","signature":"e05f2d4d1fda6064989c4c9aa42c87c83fced485df6a0e051ca4fa69497d398d"},{"version":"da84102257a1041607674f42ea9cc84237825fb363d54d1cdd42baf1489aa0ea","signature":"53fbe14b0f1984525d5ab18058c65d174dba35d976463456c305a66c5cbd10f2"},{"version":"478a456ac064e65200185ea88e6aad845b1562c89b994ac4aae52cd4cd4364b7","signature":"0e023148721602f8ba65abbcd9ce8462eb59befbb610574e21e00aacd23d94d3"},{"version":"d429022268993ac981d553f7dd5bca7c932820423c55a4ccd6162d1af6b1418a","signature":"ae87c04322e10b2c1e89b7df9888ace1ee0c9205bb9607d8bb46f67e90299364"},{"version":"cc5271ae03529c1bbd0641d3fce46f72a4ad28b39dba4ac588bf96433816a023","signature":"1c2e314d08b6c1e74993e4745f0d5a7d2e062776571f2d6dddd5b61ddf09e38a"},{"version":"0423a9f2809b203c8a7734c1928e2aac3c9372ec876ec1d5c175ca573332a15e","signature":"64caba12a7752f22b39175d55af8a2f85295d5e8ea2ba9627a867f1187098a9f"},{"version":"be3570eb0fba40c48257efa6fbf672a81166e73546804d14e0de730ec15658d3","signature":"be68d1107bd5d1d0fc29f228bad2ee017d3882f9ba92bb43517daacd16445cde"},{"version":"22d1b746f81bd49f390c83dab698267ad7da0f7c371961400c20fe17e703a6c7","signature":"f334c429b4136d36bc9ef4abcd3db59514317e19e9e02d7378f6d7af10161191"},{"version":"f41824a5ed75b6d904192440aae0a1377e935a5970dd625e4101dd7795608f98","signature":"f6d3aae92b3312f9aab13c8153af936e30e18fd40fd9dc5b0fdee7e4109340f9"},{"version":"9739c15e13703253b7d0999100b20ee0c1e0c957bfce484adf8d67e2c74d9bd5","signature":"9c4b2f4bfd4823b46ea9c23d9d3ecc2f1034eede828acc6c97f9c52aa147ded1"},{"version":"4fd357efbcc34d7fdfd0b4fd62ecaa536f10648769841b7863231f4e2d08e926","signature":"d8d8356701b84eae567f2a5873f4d06436a836bc198c55245ed37e09513ba496"},{"version":"e3540fbdc0c3b757dda9cf66d2af848d9abab94788b43af528f64fa6f4c53fc3","signature":"32acecbba5dbfbe22f171d1aeffbd1df9c8d8d17e386479eabbde7209e936917"},{"version":"2168fb0b1c695e7eb6b1d181839b338a3aa4760d29f8e4a89e4c87b1b35bf8ae","signature":"99a2a7093ce043534c17c2ebebdce37f1c14ac2b77780a476cfb70e5a9d035e2"},{"version":"86bd4cf4ee9d4afd6a062ef221e2504a4969e03c3e16eaf79d5214af3ebc078e","signature":"693473a635472cd60500391e01cbcccf0f252822cf81183174f4783b6e647d16"},{"version":"3c70d53def6570a30235ee0f9060fede1597dd9a375ea7dfe7b0bb3e652251e3","signature":"08c9cc421d51881759a297cb1faad9ee751924ba42349f136be35358b5b25eba"},{"version":"e72c4adf8e839c50c829a897ed9ceb6010f4b9f1cc95272dd43b63405116052c","signature":"e395cc56652d1d4bde7f78fcd62e7356a76cc3b190e219dddbaf6fe87eb2dbdf"},{"version":"1b23264550c6e273eb54e1415465dba39bc6627cce265c7a4452cab645d2efab","signature":"b43727be75c10e1869bc887efafda3300221ada612ca08e6237b8718e86ada93"},{"version":"1e834276e651debe99cd115a3cee8d3a53b1858355251bc8fee5c9be76bea5e4","signature":"b1d629950cf09eed9cc08a0f2f4ac780de6f05c2e542b907777f7eedfe77097f"},{"version":"900683c32709e025b93cc18be550bbf2a2e5686e0ac5d058f25468062117a5a7","signature":"27909ca3d149c1c6f45b29b6e2ef4b1cbf709bfe6c0c66276d4541f6afc8031d"},{"version":"a06107192a8072e1f67569393e90d4ed71d3e6e7b766f0278821ea240d0697b0","signature":"94bf4be8557d0895cdba0fed67bae5088ec9cca47a946180efd7185a5708dbea"},{"version":"1db98e998ff6ba289361642182158025bb4ff8e4a38b361463808fd4c8efac4d","signature":"9017a768f6256decc1ab10240a2ddae30e0a01e802b012148926bda165c8668a"},{"version":"f16186178339bc9aeaad0a572195767171a127cd5f3555f9d772ae4a4efc0a6b","signature":"4191fb85077a7c48cfedfa46819c208c32fad51af7a1c144fa1004deb08c5a0c"},{"version":"18687acebfc1767389e8dbae6d28f82bf935399c5f931c54a62c461a64a38cbb","signature":"49c2f0ad931e5d8d527e573b448596a239f3e3ef0a1a233afdd79b9e4f89fb7d"},{"version":"7dab165656a73dda1802becb82bea549f7021c7f6cc0d04e9d7447aa9c244e0d","signature":"44405175791806173152834a7a42a33babc0e3fc9494af8cbad7606bb2a936e6"},{"version":"dd20dc1dde9e5dfc60ee128833c3fff8ac7367b3e5be5dd0abe8ddf01276703a","signature":"5f6b95a458bea91e008fa7ac9c5763331ae550b46e6d857ee59817fa100023d1"},{"version":"ac86afc126abbafd403f5619ea8a9dbfb1423fad5a59941e3c5bfd2c80e45b58","signature":"adf1b38dc34f8147a18388d5b716ed3c4a2ac94fe2da47690a5cef0554168d67"},{"version":"ecc5176d4f483490ee87304998c3e45ce7fa7f43529baafa2dce47e57a408f4d","signature":"a2ce66067019351078533b6eddb5240e96f01686f8014f8959d63a2587557fb7"},{"version":"900683c32709e025b93cc18be550bbf2a2e5686e0ac5d058f25468062117a5a7","signature":"27909ca3d149c1c6f45b29b6e2ef4b1cbf709bfe6c0c66276d4541f6afc8031d"},{"version":"cb71255af635afd1229462b5c2ae6b18205d676d992f09b4fcc88036aabc60c0","signature":"c3a6919d157c2437257cfa8eff0d2f60d804630748d55f96360ddc8ce93f15b3"},{"version":"42221ab620b5c643d8acf4ebf0be653237ae703e61d75d080865169dc216b709","signature":"5e5971464c4425f6c6a5bfd8c1b6c144118591a7e1d8178313d44740a3b161fd"},{"version":"73b26e3c7b6eaf55f643c472c43230568ac1bc788fe30a40c90a8c55c32fc4e1","signature":"e81de24f4f00f9548b07e616c9dc22c3a2266807775c56bef9fe46697cc548d1"},{"version":"a074ad5d62a4aad2ac989f3a66213cfc4c267656cbe0cf9398b433207ad12615","signature":"7e66d9b5e4e3ad7e26f4143447835da4cda365faef0a3892a89c47b2bdf36c86"},{"version":"3a97444a600cf4b4baafe6381add95bc41aa307b9bec159b7425837e06f49244","signature":"f1ad756dfd15039835ab4a1de31f03998aebcf0b9c927a17f33d55bce449bf2a"},{"version":"d5f05858de670716e96c49b863160f45b6be1aea065aa41109f8698aceca0282","signature":"088776fa648f7419caaf011b861a29a7b7879f5b0df2bfff046b56f92dcb6ecf"},{"version":"7d6da094cbc76e84428fe4d59076a498c72fe18a28efc07552602b9a059f186c","signature":"5125dcacb1417e6bfaf4ddebbc2c0574f29d8770f0b2f83c478c3a070566342a"},{"version":"fd215c07f5de917879cfef7b20517092933ab9b1c3516164cff05610d5278058","signature":"8fa46771471e73275f627ca29cc6ad4227cbfad15a7a0abcc7027d13867e55ea"},{"version":"efaad4b755bc0005b3535af9da0c582938b21fe023ad2a5606425a2e7dcde70c","signature":"e462828bab3b0c950d53834bb25e95ee53bfe6e616594fbb3aac1a62a400e73e"},{"version":"57b8da925285c7b9517238f86373f37968d5e1b66cd86054e696218bd85efc31","signature":"5284b22e53ac9eed0de25fd9a02436d850389ff49a076621877a6c546aba1581"},{"version":"e24ecdde72c55132e9e3e23864ff74bbeea7e60b554b944dbca00b66e94f8fe1","signature":"15b4d80e51b3ea458c75c3a68644a41024f7d83c12f1b37715a53a8a7f0fe9f8"},{"version":"97674d5544c0bda3edc1171842eb1d5cbcb5dfc728e7a8f295f694cf8504c819","signature":"70594838909a394e4017449b7eb8d414d90f4fab1b1dd493588f6a22f2b575cf"},{"version":"d06fe0f797934fce6d02e9b097b15b2e3619e9a032da279d437f68cd9abd2ad9","signature":"5be7ddc8c1edff3bb3925c3d3e2a999a4ca7fdf33906bebce8f8688e5c85034f"},{"version":"6afa90097461b708ef4888e3a057a83d62e766e1d3b944b84e97503cbc5cacad","signature":"218c2533a5deffeb04f929c81888025e7123f780a7d7308614b6d06bf94e5e84"},{"version":"21f97f7391f5ffe58e451e737c4d68f287de4fc63131d4f8ecf0aea60e0b08e2","signature":"90f2ae348cb711eed7d99b1d6967e30067fc4e435a8bc7f1403f14757ecd79e4"},{"version":"ce28442b1d203eb2c95092d57be44225e30da01381ae40bea073ba78b7d936cc","signature":"d5ada86344cd49d26a5d151cdfe8bf45f3ac291cc4df3645041c0b2bcfc3dddd"},{"version":"ca38d768d9ff57c3fedfdaa821f5969863bfdf7efa6530a30caa7312bb454b65","signature":"e9dd5f52c1e6edc780ececd7b176b1ad8ce106f35a9f0fdb67f3c8668522e839"},{"version":"55d5dbc73597830e8e295d13d26d1e9eb338a27fed1638c623021e21a9e3069d","signature":"603e21fd3db8ca7303779a45304a0194830e0bb0ac4ef816a790082a934781da"},{"version":"8b46839d3248c5249e7e18d40f8dece673c3f01e8a16835ea16b8ef818894e1d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"84f090849fcf05385e3028adb7e0dd317ef90d2d6e2ce5b3014cc227ad959012","signature":"15a84436cf944e1fd426624372ee52fb1f5e46c515bcb778619e821275942b9e"},{"version":"fb396aed0372a9d07b066357137a71cada3c2cdcf63a943bb5cf54693879170f","signature":"8c2494044864da412ce9916eea8a66342b4a947f88b3dd22c175063aca1dddc4"},{"version":"0866f5c3af2d2991560fe573f7770a5de4df9e8661f3422dc3cdf3d07c7ca77b","signature":"29ee4936c7f6c66e5b967bee5e5c062c89cd6a7697ea354be2c6ef79544d2c5a"},{"version":"5d3de1f16098f5f882e7505d5d1eddb2a9463d9dcbe7b03f022d363e3e9b4cc0","signature":"6b001100afde7b8246b0b6aebe74a5c41c6054666bd4dee6e34521706d3b867b"},{"version":"0a51a88972a90a4308abdffb89d7339455145c55b8f371cb4ee92d88548c4dea","signature":"602e11b58de6d2b48ed8d1023762009a7f03aa5744cc283833e97f99dd29a4ac"},{"version":"f2492c82b866dbbec1cbf905068d3f10395eba9eddfeb93cd68d7999c7c02e94","signature":"0c5344fdadc6f4f6b825c2234d7082c1e93c9c252394d369f39939a2a98cc92e"},"c1a660a90d6565c602fa458f53849140c9008b7000ce8823443a2b1ae9ca46a3",{"version":"5af20831c647d0f95b2ce4c7d66544b36af5f6ea3a0af0c43478a657bf58feff","signature":"8cd1878e199b044a1d1faea0fcc85acfc2d8391f78be10dbb75542b61af92712"},{"version":"1e8c51eaab31c7c7ce8590e80b8663f360aed54caf8cdf2643349ef59ae27876","signature":"1a85409fafbd8616120a0a0e65fde663d6ce75fc66a83cdfa2b6553baea53cdc"},{"version":"85d33ba4097c3f24ceeca365379301c327d5291da44e57bbcf301b68621f3708","signature":"33612a1d9e60be6cb57a6cc5e1b364840ab6930b72464f19bb4361bfd68c37a3"},{"version":"39426a077f479e1b77cd46b3b2341d76963fc3f4832143effe966b22cd77b72f","signature":"976a07c70d961e35f4ff28926415b8d479400e46fb667f664ce10339226b2fe8"},{"version":"f7f1e3147bdda813f8f14187c20ee886cd7cc1f1fe2bf61f678727789cf671ac","signature":"5a6534f5d0435656321853f3e16dd4c7f944162ec9af7a99ff9d0142947bf359"},{"version":"900683c32709e025b93cc18be550bbf2a2e5686e0ac5d058f25468062117a5a7","signature":"27909ca3d149c1c6f45b29b6e2ef4b1cbf709bfe6c0c66276d4541f6afc8031d"},{"version":"d30203f13c51ba9130462f9261150fc7d1f274122664bb1cb8d11353617101b1","signature":"d5d357f555e6f34eae1b87fa0d2622cd4d243145c705dc6408ceae7f591cfd40"},{"version":"d2f5a6bbd58dd34a23b9ed952d41476685e3052c35a7ffefe11d1cf79e8343ec","signature":"f5a45ce6b2f338c8b01d81aea746ff852d3e91abe24afc631b1042fb6bc022d8"},{"version":"a5e79bb8f19b20dbe0c68bd79b290a2b444c6b545cfb78d31f963c8e250df9a2","signature":"80a3bbe0e4fdfaac2c0a8b92a3ed66d3ded5e8f454c5790c8d593872fc1197f1"},{"version":"4cce334e4debece9a8fe9e1731582299a42207058c7db50729d63fcff8189a22","signature":"043b2a84437ceee41987ecf59ccc88c502430359ca7409da82ebf77a8af59e70"},{"version":"ad4197032323440b2bf14920dfa910ea34b0e293dc61f58f89ee719006c9c2f6","signature":"0510fd0d6b4527a5b7376d5068e31791edc7e2c4344e42e8e23c16d1ec8ad486"},{"version":"9f5c92d3eb61456657a0382f589750dd11cba9811a8a14c9c61e6b9841d09bc8","signature":"bb8027fd81dc8e98918752df85928e43a9e1ce23f6a4727cc06b22a91f844b1d"},{"version":"278f2268026f001a1e8b6d6c1a12d1005bb4e9d3d57612d90e4628451c5346eb","signature":"3e02469f96dc6da503f197edeff92a2b741040619b05a3f21744e771ed5b7a67"},{"version":"6367f617f3862afd28c97a853af342aacd8595c7f44465239e944fb983448520","signature":"3e02469f96dc6da503f197edeff92a2b741040619b05a3f21744e771ed5b7a67"},{"version":"ef827ff353f4fe047b4ff5fec6f11ec6746764810f88499383813ec4f9217830","signature":"49dbfe87ab1654be3a43404c7c73f3b51129f2f72bd103e35b5faac4e3966c14"},{"version":"4cb8a23aa2e047d1314fe424d016b6268f29bee672967b1478a4767b6bc13107","signature":"c35523ecaac89c57a8b678ab032f1389131c2ed6c3950764de88b1ce5bb8eabe"},{"version":"d9def9089c9c589370f4fe98492799af97ac724ffb5c13257a61cbe085e65523","signature":"0510fd0d6b4527a5b7376d5068e31791edc7e2c4344e42e8e23c16d1ec8ad486"},{"version":"442996d33c515cbcabc4a4a449fc1e806ff41755e179e40fa8825c59c6c6b4d7","signature":"0510fd0d6b4527a5b7376d5068e31791edc7e2c4344e42e8e23c16d1ec8ad486"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"cc5e65fb1729463665074b9d7163e78a4225b7af7f3a6b3c74492f415166612f","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"185282b122cbca820c297a02a57b89cf5967ab43e220e3e174d872d3f9a94d2c","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","e8968b394e4365588f8f89cfff86435258cf10062585c1d2224627ab92acda22","285e512c7a0db217a0599e18c462d565fa35be4a5153dd7b80bee88c83e83ddf","b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true},"7aae1df2053572c2cfc2089a77847aadbb38eedbaa837a846c6a49fb37c6e5bd","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","1f758340b027b18ae8773ac3d33a60648a2af49eaae9e4fde18d0a0dd608642c","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"dea4c00820d4fac5e530d4842aed2fb20d6744d75a674b95502cbd433f88bcb0","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"0d832a0650a74aafc276cb3f7bb26bde2e2270a6f87e6c871a64122e9203079b","affectsGlobalScope":true},{"version":"c6f3869f12bb5c3bb8ecd0b050ea20342b89b944eae18d313cde6b0ccc0925d7","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","d742ed2db6d5425b3b6ac5fb1f2e4b1ed2ae74fbeee8d0030d852121a4b05d2f","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"2225100373ca3d63bcc7f206e1177152d2e2161285a0bd83c8374db1503a0d1f","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eefcdf86cefff36e5d87de36a3638ab5f7d16c2b68932be4a72c14bb924e43c1","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","4a34b074b11c3597fb2ff890bc8f1484375b3b80793ab01f974534808d5777c7",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447",{"version":"0ea93d01083b3d5863cc98cb589b5d0eac55d14417487f9e5e455dfa0b17c660","affectsGlobalScope":true}],"root":[[80,82],[84,86],123,[128,161],185,[187,201],[209,280],[282,299]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":5,"useDefineForClassFields":false},"fileIdsList":[[53],[60],[53,60],[53,60,68],[51,52],[59,166,167,168],[59,83,174,175,176,178],[59,179],[59],[59,167,169,171,172],[59,173],[167],[168,170],[166,171],[99],[87,89,90,91,92,93,94,95,96,97,98,99],[87,88,90,91,92,93,94,95,96,97,98,99],[88,89,90,91,92,93,94,95,96,97,98,99],[87,88,89,91,92,93,94,95,96,97,98,99],[87,88,89,90,92,93,94,95,96,97,98,99],[87,88,89,90,91,93,94,95,96,97,98,99],[87,88,89,90,91,92,94,95,96,97,98,99],[87,88,89,90,91,92,93,95,96,97,98,99],[87,88,89,90,91,92,93,94,96,97,98,99],[87,88,89,90,91,92,93,94,95,97,98,99],[87,88,89,90,91,92,93,94,95,96,98,99],[87,88,89,90,91,92,93,94,95,96,97,99],[87,88,89,90,91,92,93,94,95,96,97,98],[300],[336],[337,342,370],[338,349,350,357,367,378],[338,339,349,357],[340,379],[341,342,350,358],[342,367,375],[343,345,349,357],[344],[345,346],[349],[347,349],[336,349],[349,350,351,367,378],[349,350,351,364,367,370],[334,337,383],[345,349,352,357,367,378],[349,350,352,353,357,367,375,378],[352,354,367,375,378],[300,301,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385],[349,355],[356,378,383],[345,349,357,367],[358],[359],[336,360],[361,377,383],[362],[363],[349,364,365],[364,366,379,381],[337,349,367,368,369,370],[337,367,369],[367,368],[370],[371],[336,367],[349,373,374],[373,374],[342,357,367,375],[376],[357,377],[337,352,363,378],[342,379],[367,380],[356,381],[382],[337,342,349,351,360,367,378,381,383],[367,384],[47],[124,125],[53,55],[54],[50],[48,49],[61,62,63,64,65,66,67,68,69],[177],[53,55,57,58],[55],[54,55],[48,54],[311,315,378],[311,367,378],[306],[308,311,375,378],[357,375],[386],[306,386],[308,311,357,378],[303,304,307,310,337,349,367,378],[303,309],[307,311,337,370,378,386],[337,386],[327,337,386],[305,306,386],[311],[305,306,307,308,309,310,311,312,313,315,316,317,318,319,320,321,322,323,324,325,326,328,329,330,331,332,333],[311,318,319],[309,311,319,320],[310],[303,306,311],[311,315,319,320],[315],[309,311,314,378],[303,308,309,311,315,318],[337,367],[306,311,327,337,383,386],[46,289],[46,273],[46,156,209,240,246,255,273,289],[46,256,257,258,259,260,273],[46,209,255,273],[46],[46,59,70,79,80,273],[46,59,70,82,83,184,273],[46,59,70,80,273],[46,59,70,83,185,198,270,273],[46,81,82,270],[46,59,70,80,81,82,83,137,266,267,268,269,273],[46,59],[46,59,70,79,80,86,100,122,129,130,131,132,133,134,135,137,157,273],[46,59,70,79,80,156,273],[46,59,70,80,83,122,273],[46,59,70,79,80,83,122,162,184,186,187,195,273],[46,59,70,79,129,136,185,196,197,198,273],[46,136,157],[46,136],[46,59,70,79,80,122,129,199,200,201,202,203,205,208,261,262,263,273],[46,59,70,83,140,198,273],[46,84,85,140],[46,59,70,80,83,84,85,137,138,139,266,273],[46,80,262,273],[46,59,70,79,80,208,256,261,262,263,273,280,281],[46,59,70,80,141,273,275,276,277,278],[46,59,70,79,80,273,274,279],[46,59,70,80,129,186,273],[46,141,279],[46,279],[46,221,228,239],[46,59,70,221],[46,59,70,163,221],[46,59,70,80,157,220,273],[46,157,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,273],[46,59,70,83],[46,50,273],[46,59,70,163,187,195,264,273,289],[46,188,190,191,192,193,194,195,271],[46,188,189,190,191,192,193,194,273],[46,286],[46,209,283,284,285],[46,59,83,273],[46,59,70,83,273],[46,59,199,200,201,273],[46,199,200,201,273],[46,245],[46,241,242,243,244,273],[46,254],[46,157,273],[46,247,248,249,250,251,252,253,273],[46,80,128,156,220,240,246,255,264,266,272,273,282,287,288],[46,157,160],[46,160],[46,161,265],[46,59,70,83,161,184,264,273],[46,59,70,80,83,157,158,159,273],[46,136,140,157,161,270,273],[46,59,70,79,80,83,157,160,273],[46,142,143,144,145,146,147,148,149,150,151,152,153,155],[46,59,273],[46,59,126,273],[46,59,70,150],[46,59,122,273],[46,59,70,80,157,273],[46,81,82,84,85,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,157,270,273],[46,59,70,264,273],[46,50,81,82,84,85,140,141,150,157,240,270,272],[46,123,128],[46,126,127,273],[46,219],[46,210],[46,209,210,211,212,213,214,215,216,217,218,273],[46,212],[46,59,83,163,265,271,273,288,289],[46,59,83,163,271,273,288,289],[204],[162,163,164,165,181,183],[59,182],[59,83],[59,83,162],[59,162],[59,164],[59,180],[207],[206],[71,72,73,74,75,76,77,78],[101,102,103,104,105,106,107,108,109,110,111,114,115,116,117,118,119,120,121],[112,113],[113],[112],[289],[273],[59,273],[82,83],[59,83,185,198,270],[270],[59,81,82,83,266,267,273],[59,86,99,157,273],[59,83,273],[59,83,162,273],[59,136,185,196,197,198,273],[136],[59,199,200,201,262,273],[59,83,140,198],[140],[59,83,84,85,266,273],[262,273],[59,262,273,280],[59,141,273],[59,273,274,279],[279],[221,228,239],[59,221],[59,163,221],[59,157,273],[221,273],[59,163,273],[188,190,191,192,193,194,195,271],[286],[83],[83,273],[245],[254],[157,273],[80,128,156,220,240,246,255,264,266,272,273,282,287,288],[160],[161,265],[59,83,161,264],[59,83,157,273],[136,140,157,161,270,273],[59,83,157,160,273],[142,143,144,145,146,147,148,149,150,151,152,153,155],[59,150],[150,273],[50,81,82,84,85,140,141,150,157,240,270,272],[123,128],[219],[59,83,163,265,271,288,289],[59,83,163,271,288,289]],"referencedMap":[[60,1],[61,2],[64,3],[62,3],[66,3],[69,4],[67,3],[65,3],[63,2],[53,5],[169,6],[179,7],[180,8],[83,9],[173,10],[174,11],[176,12],[171,13],[172,14],[100,15],[202,15],[203,15],[127,15],[186,15],[88,16],[89,17],[87,18],[90,19],[91,20],[92,21],[93,22],[94,23],[95,24],[96,25],[97,26],[98,27],[99,28],[300,29],[301,29],[336,30],[337,31],[338,32],[339,33],[340,34],[341,35],[342,36],[343,37],[344,38],[345,39],[346,39],[348,40],[347,41],[349,42],[350,43],[351,44],[335,45],[352,46],[353,47],[354,48],[386,49],[355,50],[356,51],[357,52],[358,53],[359,54],[360,55],[361,56],[362,57],[363,58],[364,59],[365,59],[366,60],[367,61],[369,62],[368,63],[370,64],[371,65],[372,66],[373,67],[374,68],[375,69],[376,70],[377,71],[378,72],[379,73],[380,74],[381,75],[382,76],[383,77],[384,78],[48,79],[126,80],[57,81],[56,82],[49,83],[50,84],[70,85],[178,86],[59,87],[54,88],[177,89],[55,90],[318,91],[325,92],[317,91],[332,93],[309,94],[308,95],[331,96],[326,97],[329,98],[311,99],[310,100],[306,101],[305,102],[328,103],[307,104],[312,105],[316,105],[334,106],[333,105],[320,107],[321,108],[323,109],[319,110],[322,111],[327,96],[314,112],[315,113],[324,114],[304,115],[330,116],[290,117],[135,118],[256,119],[261,120],[260,118],[257,118],[258,118],[259,121],[80,118],[209,122],[81,123],[267,124],[82,125],[201,126],[268,127],[269,127],[270,128],[262,118],[86,123],[130,129],[136,130],[157,131],[197,132],[196,133],[199,134],[131,135],[132,135],[133,136],[134,136],[264,137],[84,123],[85,125],[200,138],[138,139],[139,139],[291,139],[140,140],[198,125],[263,141],[282,142],[275,129],[279,143],[280,144],[141,125],[274,145],[276,146],[277,146],[278,147],[240,148],[222,149],[223,149],[224,149],[225,149],[226,149],[227,149],[228,149],[229,149],[230,150],[231,149],[232,149],[233,149],[234,149],[235,149],[236,149],[237,149],[238,149],[221,151],[239,152],[185,153],[188,154],[189,154],[190,154],[191,154],[192,154],[193,154],[194,154],[187,129],[271,155],[272,156],[195,157],[283,122],[287,158],[284,122],[286,159],[285,122],[241,160],[242,161],[243,162],[244,163],[246,164],[245,165],[255,166],[247,167],[248,167],[249,167],[250,167],[251,167],[254,168],[253,167],[252,167],[289,169],[158,170],[159,171],[266,172],[265,173],[160,174],[137,175],[161,176],[156,177],[142,178],[143,178],[144,178],[145,178],[146,178],[147,179],[148,178],[149,178],[151,180],[152,178],[153,181],[154,178],[150,182],[155,183],[288,184],[273,185],[129,186],[128,187],[123,122],[212,122],[218,122],[220,188],[217,122],[215,122],[211,189],[219,190],[210,122],[213,191],[214,122],[216,122],[292,192],[293,193],[294,193],[295,193],[296,193],[297,193],[298,192],[299,192],[205,194],[184,195],[183,196],[182,197],[163,198],[164,199],[165,200],[162,9],[181,201],[208,202],[206,9],[207,203],[77,9],[76,9],[78,9],[71,9],[79,204],[72,9],[73,9],[74,9],[122,205],[114,206],[112,207],[113,208]],"exportedModulesMap":[[60,1],[61,2],[64,3],[62,3],[66,3],[69,4],[67,3],[65,3],[63,2],[53,5],[169,6],[179,7],[180,8],[83,9],[173,10],[174,11],[176,12],[171,13],[172,14],[100,15],[202,15],[203,15],[127,15],[186,15],[88,16],[89,17],[87,18],[90,19],[91,20],[92,21],[93,22],[94,23],[95,24],[96,25],[97,26],[98,27],[99,28],[300,29],[301,29],[336,30],[337,31],[338,32],[339,33],[340,34],[341,35],[342,36],[343,37],[344,38],[345,39],[346,39],[348,40],[347,41],[349,42],[350,43],[351,44],[335,45],[352,46],[353,47],[354,48],[386,49],[355,50],[356,51],[357,52],[358,53],[359,54],[360,55],[361,56],[362,57],[363,58],[364,59],[365,59],[366,60],[367,61],[369,62],[368,63],[370,64],[371,65],[372,66],[373,67],[374,68],[375,69],[376,70],[377,71],[378,72],[379,73],[380,74],[381,75],[382,76],[383,77],[384,78],[48,79],[126,80],[57,81],[56,82],[49,83],[50,84],[70,85],[178,86],[59,87],[54,88],[177,89],[55,90],[318,91],[325,92],[317,91],[332,93],[309,94],[308,95],[331,96],[326,97],[329,98],[311,99],[310,100],[306,101],[305,102],[328,103],[307,104],[312,105],[316,105],[334,106],[333,105],[320,107],[321,108],[323,109],[319,110],[322,111],[327,96],[314,112],[315,113],[324,114],[304,115],[330,116],[290,209],[135,210],[256,210],[261,210],[260,210],[257,210],[258,210],[259,210],[80,210],[81,211],[267,212],[82,211],[201,213],[268,214],[269,214],[270,215],[262,210],[86,211],[130,9],[136,216],[157,211],[197,217],[196,218],[199,219],[131,220],[132,220],[133,220],[134,220],[264,221],[84,211],[85,211],[200,222],[138,223],[139,223],[291,223],[140,224],[198,211],[263,225],[282,226],[275,9],[279,227],[280,228],[141,211],[276,229],[277,229],[278,229],[240,230],[222,231],[223,231],[224,231],[225,231],[226,231],[227,231],[228,231],[229,231],[230,232],[231,231],[232,231],[233,231],[234,231],[235,231],[236,231],[237,231],[238,231],[221,233],[239,234],[185,197],[188,210],[189,210],[190,210],[191,210],[192,210],[193,210],[194,210],[187,9],[271,235],[272,236],[195,210],[287,237],[241,238],[242,239],[246,240],[245,210],[255,241],[247,242],[248,242],[249,242],[250,242],[251,242],[254,210],[253,242],[252,242],[289,243],[158,244],[159,244],[266,245],[265,246],[160,247],[137,248],[161,249],[156,250],[142,210],[143,210],[144,210],[145,210],[146,210],[147,210],[148,210],[149,210],[151,251],[152,210],[153,210],[154,210],[150,233],[155,252],[288,211],[273,253],[129,254],[128,210],[220,255],[219,210],[292,256],[293,257],[294,257],[295,257],[296,257],[297,257],[298,256],[299,256],[205,194],[184,195],[183,196],[182,197],[163,198],[164,199],[165,200],[162,9],[181,201],[208,202],[206,9],[207,203],[77,9],[76,9],[78,9],[71,9],[79,204],[72,9],[73,9],[74,9],[122,205],[114,206],[112,207],[113,208]],"semanticDiagnosticsPerFile":[51,60,61,64,62,66,69,68,67,65,63,52,53,166,168,175,169,167,179,180,83,173,174,176,171,172,170,100,202,203,127,186,88,89,87,90,91,92,93,94,95,96,97,98,99,387,300,301,336,337,338,339,340,341,342,343,344,345,346,348,347,349,350,351,335,385,352,353,354,386,355,356,357,358,359,360,361,362,363,364,365,366,367,369,368,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,48,47,302,281,126,124,125,57,56,49,50,70,178,59,54,177,58,55,46,44,45,8,10,9,2,11,12,13,14,15,16,17,18,3,4,19,23,20,21,22,24,25,26,5,27,28,29,30,6,34,31,32,33,35,7,36,41,42,37,38,39,40,1,43,318,325,317,332,309,308,331,326,329,311,310,306,305,328,307,312,313,316,303,334,333,320,321,323,319,322,327,314,315,324,304,330,290,135,256,261,260,257,258,259,80,209,81,267,82,201,268,269,270,262,86,130,136,157,197,196,199,131,132,133,134,264,84,85,200,138,139,291,140,198,263,282,275,279,280,141,274,276,277,278,240,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,221,239,185,188,189,190,191,192,193,194,187,271,272,195,283,287,284,286,285,241,242,243,244,246,245,255,247,248,249,250,251,254,253,252,289,158,159,266,265,160,137,161,156,142,143,144,145,146,147,148,149,151,152,153,154,150,155,288,273,129,128,123,212,218,220,217,215,211,219,210,213,214,216,292,293,294,295,296,297,298,299,204,205,184,183,182,163,164,165,162,181,208,206,207,77,75,76,78,71,79,72,73,74,117,102,115,110,104,121,111,120,103,116,107,122,118,105,108,109,101,119,106,114,112,113]},"version":"5.3.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@operato/data-grist",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"description": "User interface for grid (desktop) and list (mobile)",
|
|
5
5
|
"author": "heartyoh",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"@material/mwc-icon": "^0.27.0",
|
|
59
59
|
"@operato/headroom": "^1.4.64",
|
|
60
|
-
"@operato/input": "^1.
|
|
60
|
+
"@operato/input": "^1.7.2",
|
|
61
61
|
"@operato/popup": "^1.5.48",
|
|
62
62
|
"@operato/pull-to-refresh": "^1.4.64",
|
|
63
63
|
"@operato/styles": "^1.5.48",
|
|
@@ -100,5 +100,5 @@
|
|
|
100
100
|
"prettier --write"
|
|
101
101
|
]
|
|
102
102
|
},
|
|
103
|
-
"gitHead": "
|
|
103
|
+
"gitHead": "f52b0ee200e802bbac539bf831945db996489e5f"
|
|
104
104
|
}
|
|
@@ -299,7 +299,7 @@ export class DataGridBody extends LitElement {
|
|
|
299
299
|
|
|
300
300
|
this.addEventListener('focus-change', dataGridBodyFocusChangeHandler.bind(this))
|
|
301
301
|
|
|
302
|
-
this.addEventListener('wheel', this._onWheelEvent.bind(this)
|
|
302
|
+
this.addEventListener('wheel', this._onWheelEvent.bind(this))
|
|
303
303
|
|
|
304
304
|
const primaryColor = getComputedStyle(this).getPropertyValue('--primary-color')
|
|
305
305
|
this.style.setProperty(
|
|
@@ -331,7 +331,19 @@ export class DataGridBody extends LitElement {
|
|
|
331
331
|
if (this.scrollHeight <= this.clientHeight) {
|
|
332
332
|
var delta = Math.max(-1, Math.min(1, e.deltaY || 0))
|
|
333
333
|
this.scrollLeft = Math.max(0, this.scrollLeft - delta * 40)
|
|
334
|
-
|
|
334
|
+
|
|
335
|
+
var maxScrollLeft = this.scrollWidth - this.clientWidth
|
|
336
|
+
|
|
337
|
+
var atStart = this.scrollLeft === 0
|
|
338
|
+
var atEnd = this.scrollLeft === maxScrollLeft
|
|
339
|
+
|
|
340
|
+
// 스크롤이 맨 앞으로 와 있는 상태에서 휠을 올리는 경우 또는
|
|
341
|
+
// 스크롤이 맨 끝으로 가 있는 상태에서 휠을 내리는 경우에만 디폴트 동작 허용
|
|
342
|
+
if ((atStart && delta > 0) || (atEnd && delta < 0)) {
|
|
343
|
+
return true
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
e.preventDefault()
|
|
335
347
|
}
|
|
336
348
|
}
|
|
337
349
|
|
|
@@ -103,10 +103,23 @@ export class DataGrid extends DataManipulator {
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
onWheelEvent(e: WheelEvent) {
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
if (this.body.scrollWidth > this.body.clientWidth) {
|
|
107
|
+
var delta = Math.max(-1, Math.min(1, e.deltaY || 0))
|
|
108
|
+
this.body.scrollLeft = Math.max(0, this.body.scrollLeft - delta * 30)
|
|
108
109
|
|
|
109
|
-
|
|
110
|
+
var maxScrollLeft = this.body.scrollWidth - this.body.clientWidth
|
|
111
|
+
|
|
112
|
+
var atStart = this.body.scrollLeft === 0
|
|
113
|
+
var atEnd = this.body.scrollLeft === maxScrollLeft
|
|
114
|
+
|
|
115
|
+
// 스크롤이 맨 앞으로 와 있는 상태에서 휠을 올리는 경우 또는
|
|
116
|
+
// 스크롤이 맨 끝으로 가 있는 상태에서 휠을 내리는 경우에만 디폴트 동작 허용
|
|
117
|
+
if ((atStart && delta > 0) || (atEnd && delta < 0)) {
|
|
118
|
+
return true
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
e.preventDefault()
|
|
122
|
+
}
|
|
110
123
|
}
|
|
111
124
|
|
|
112
125
|
onSelectRecordChanged({
|
|
@@ -74,14 +74,27 @@ class DataReportHeader extends LitElement {
|
|
|
74
74
|
private throttledNotifier?: (idx: number, width: number) => void
|
|
75
75
|
|
|
76
76
|
_onWheelEvent(e: WheelEvent) {
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
if (this.scrollWidth > this.clientWidth) {
|
|
78
|
+
var delta = Math.max(-1, Math.min(1, e.deltaY || 0))
|
|
79
|
+
this.scrollLeft = Math.max(0, this.scrollLeft - delta * 40)
|
|
79
80
|
|
|
80
|
-
|
|
81
|
+
var maxScrollLeft = this.scrollWidth - this.clientWidth
|
|
82
|
+
|
|
83
|
+
var atStart = this.scrollLeft === 0
|
|
84
|
+
var atEnd = this.scrollLeft === maxScrollLeft
|
|
85
|
+
|
|
86
|
+
// 스크롤이 맨 앞으로 와 있는 상태에서 휠을 올리는 경우 또는
|
|
87
|
+
// 스크롤이 맨 끝으로 가 있는 상태에서 휠을 내리는 경우에만 디폴트 동작 허용
|
|
88
|
+
if ((atStart && delta > 0) || (atEnd && delta < 0)) {
|
|
89
|
+
return true
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
e.preventDefault()
|
|
93
|
+
}
|
|
81
94
|
}
|
|
82
95
|
|
|
83
96
|
firstUpdated() {
|
|
84
|
-
this.addEventListener('wheel', this._onWheelEvent.bind(this)
|
|
97
|
+
this.addEventListener('wheel', this._onWheelEvent.bind(this))
|
|
85
98
|
}
|
|
86
99
|
|
|
87
100
|
async updated(changed: PropertyValues<this>) {
|