@1money/component-ui 0.0.68 → 0.0.70
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/es/components/Icons/Wrapper.js +6 -4
- package/es/components/Icons/constants.d.ts +11 -0
- package/es/components/Icons/constants.js +32 -0
- package/es/components/Icons/index.d.ts +2 -0
- package/es/components/Icons/index.js +2 -1
- package/es/components/Icons/interface.d.ts +8 -1
- package/es/components/ProForm/interface.d.ts +3 -1
- package/es/components/ProForm/layouts/QueryFilter.js +5 -1
- package/es/components/ProTable/ProTable.d.ts +5 -0
- package/es/components/ProTable/ProTable.js +309 -0
- package/es/components/ProTable/constants.d.ts +12 -0
- package/es/components/ProTable/constants.js +12 -0
- package/es/components/ProTable/core/genColumns.d.ts +10 -0
- package/es/components/ProTable/core/genColumns.js +81 -0
- package/es/components/ProTable/core/genSearchFields.d.ts +19 -0
- package/es/components/ProTable/core/genSearchFields.js +103 -0
- package/es/components/ProTable/core/useAwaitableReload.d.ts +17 -0
- package/es/components/ProTable/core/useAwaitableReload.js +39 -0
- package/es/components/ProTable/core/utils.d.ts +12 -0
- package/es/components/ProTable/core/utils.js +21 -0
- package/es/components/ProTable/index.d.ts +4 -0
- package/es/components/ProTable/index.js +5 -0
- package/es/components/ProTable/interface.d.ts +132 -0
- package/es/components/ProTable/interface.js +2 -0
- package/es/components/ProTable/style/ProTable.css +47 -0
- package/es/components/ProTable/style/css.js +6 -0
- package/es/components/ProTable/style/index.d.ts +5 -0
- package/es/components/ProTable/style/index.js +6 -0
- package/es/components/ProTable/useFetchData.d.ts +48 -0
- package/es/components/ProTable/useFetchData.js +270 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +3 -1
- package/es/index.js +2 -1
- package/lib/components/Icons/Wrapper.js +6 -4
- package/lib/components/Icons/constants.d.ts +11 -0
- package/lib/components/Icons/constants.js +38 -0
- package/lib/components/Icons/index.d.ts +2 -0
- package/lib/components/Icons/index.js +10 -2
- package/lib/components/Icons/interface.d.ts +8 -1
- package/lib/components/ProForm/interface.d.ts +3 -1
- package/lib/components/ProForm/layouts/QueryFilter.js +5 -1
- package/lib/components/ProTable/ProTable.d.ts +5 -0
- package/lib/components/ProTable/ProTable.js +316 -0
- package/lib/components/ProTable/constants.d.ts +12 -0
- package/lib/components/ProTable/constants.js +18 -0
- package/lib/components/ProTable/core/genColumns.d.ts +10 -0
- package/lib/components/ProTable/core/genColumns.js +87 -0
- package/lib/components/ProTable/core/genSearchFields.d.ts +19 -0
- package/lib/components/ProTable/core/genSearchFields.js +111 -0
- package/lib/components/ProTable/core/useAwaitableReload.d.ts +17 -0
- package/lib/components/ProTable/core/useAwaitableReload.js +46 -0
- package/lib/components/ProTable/core/utils.d.ts +12 -0
- package/lib/components/ProTable/core/utils.js +28 -0
- package/lib/components/ProTable/index.d.ts +4 -0
- package/lib/components/ProTable/index.js +33 -0
- package/lib/components/ProTable/interface.d.ts +132 -0
- package/lib/components/ProTable/interface.js +6 -0
- package/lib/components/ProTable/style/ProTable.css +47 -0
- package/lib/components/ProTable/style/css.js +8 -0
- package/lib/components/ProTable/style/index.d.ts +5 -0
- package/lib/components/ProTable/style/index.js +8 -0
- package/lib/components/ProTable/useFetchData.d.ts +48 -0
- package/lib/components/ProTable/useFetchData.js +277 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +3 -1
- package/lib/index.js +8 -1
- package/package.json +6 -1
- package/scripts/mcp-server/examples.generated.json +168 -6
- package/scripts/mcp-server/index.generated.json +778 -4
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
+
var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
|
|
5
|
+
function adopt(value) {
|
|
6
|
+
return value instanceof P ? value : new P(function (resolve) {
|
|
7
|
+
resolve(value);
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
+
function fulfilled(value) {
|
|
12
|
+
try {
|
|
13
|
+
step(generator.next(value));
|
|
14
|
+
} catch (e) {
|
|
15
|
+
reject(e);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function rejected(value) {
|
|
19
|
+
try {
|
|
20
|
+
step(generator["throw"](value));
|
|
21
|
+
} catch (e) {
|
|
22
|
+
reject(e);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function step(result) {
|
|
26
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
27
|
+
}
|
|
28
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
32
|
+
import { memo, useImperativeHandle, useMemo, useRef } from 'react';
|
|
33
|
+
import { useMemoizedFn, useSafeState } from '@1money/hooks';
|
|
34
|
+
import { Pagination } from '../Pagination';
|
|
35
|
+
import { Table } from '../Table';
|
|
36
|
+
import { QueryFilter } from '../ProForm';
|
|
37
|
+
import { default as classnames } from '../../utils/classnames';
|
|
38
|
+
import { CSS_PREFIX, DEFAULT_CURRENT, DEFAULT_PAGE_SIZE, DEFAULT_TEXT } from './constants';
|
|
39
|
+
import { useFetchData } from './useFetchData';
|
|
40
|
+
import { genColumns } from './core/genColumns';
|
|
41
|
+
import { applySearchTransforms, genSearchFields } from './core/genSearchFields';
|
|
42
|
+
/** Read the current URL query string into search values, applying the `'get'` transform. */
|
|
43
|
+
function readUrlValues(syncToUrl) {
|
|
44
|
+
if (typeof window === 'undefined') return {};
|
|
45
|
+
var params = {};
|
|
46
|
+
new URLSearchParams(window.location.search).forEach(function (value, key) {
|
|
47
|
+
params[key] = value;
|
|
48
|
+
});
|
|
49
|
+
return typeof syncToUrl === 'function' ? syncToUrl(params, 'get') : params;
|
|
50
|
+
}
|
|
51
|
+
function ProTableInner(props) {
|
|
52
|
+
var _this = this;
|
|
53
|
+
var _a, _b;
|
|
54
|
+
var _props$prefixCls = props.prefixCls,
|
|
55
|
+
prefixCls = _props$prefixCls === void 0 ? CSS_PREFIX : _props$prefixCls,
|
|
56
|
+
className = props.className,
|
|
57
|
+
columns = props.columns,
|
|
58
|
+
request = props.request,
|
|
59
|
+
params = props.params,
|
|
60
|
+
controlledData = props.dataSource,
|
|
61
|
+
controlledLoading = props.loading,
|
|
62
|
+
defaultData = props.defaultData,
|
|
63
|
+
manualRequest = props.manualRequest,
|
|
64
|
+
debounceTime = props.debounceTime,
|
|
65
|
+
postData = props.postData,
|
|
66
|
+
polling = props.polling,
|
|
67
|
+
beforeSearchSubmit = props.beforeSearchSubmit,
|
|
68
|
+
columnEmptyText = props.columnEmptyText,
|
|
69
|
+
searchFormRender = props.searchFormRender,
|
|
70
|
+
_props$pagination = props.pagination,
|
|
71
|
+
pagination = _props$pagination === void 0 ? {} : _props$pagination,
|
|
72
|
+
_props$search = props.search,
|
|
73
|
+
search = _props$search === void 0 ? {} : _props$search,
|
|
74
|
+
rowSelection = props.rowSelection,
|
|
75
|
+
_props$size = props.size,
|
|
76
|
+
size = _props$size === void 0 ? 'small' : _props$size,
|
|
77
|
+
actionRef = props.actionRef,
|
|
78
|
+
onLoad = props.onLoad,
|
|
79
|
+
onLoadingChange = props.onLoadingChange,
|
|
80
|
+
onRequestError = props.onRequestError,
|
|
81
|
+
onChange = props.onChange,
|
|
82
|
+
rowKey = props.rowKey,
|
|
83
|
+
_props$variant = props.variant,
|
|
84
|
+
variant = _props$variant === void 0 ? 'stroke' : _props$variant,
|
|
85
|
+
bordered = props.bordered,
|
|
86
|
+
scroll = props.scroll,
|
|
87
|
+
sticky = props.sticky,
|
|
88
|
+
expandable = props.expandable,
|
|
89
|
+
empty = props.empty,
|
|
90
|
+
tableLayout = props.tableLayout,
|
|
91
|
+
rowClassName = props.rowClassName,
|
|
92
|
+
onRow = props.onRow,
|
|
93
|
+
summary = props.summary,
|
|
94
|
+
footer = props.footer;
|
|
95
|
+
var classes = classnames(prefixCls);
|
|
96
|
+
var tableColumns = useMemo(function () {
|
|
97
|
+
return genColumns(columns, columnEmptyText);
|
|
98
|
+
}, [columns, columnEmptyText]);
|
|
99
|
+
// ── search form (auto-generated from columns) ──
|
|
100
|
+
var searchCfg = search === false ? undefined : search;
|
|
101
|
+
var _useMemo = useMemo(function () {
|
|
102
|
+
return genSearchFields(columns);
|
|
103
|
+
}, [columns]),
|
|
104
|
+
searchFields = _useMemo.fields,
|
|
105
|
+
searchInitialValues = _useMemo.initialValues,
|
|
106
|
+
searchFieldNames = _useMemo.names;
|
|
107
|
+
var hasSearch = search !== false && searchFields.length > 0;
|
|
108
|
+
var syncToUrl = searchCfg === null || searchCfg === void 0 ? void 0 : searchCfg.syncToUrl;
|
|
109
|
+
// Seed initial values (and the first request) from the URL when syncToUrl is on.
|
|
110
|
+
var mergedInitialValues = useMemo(function () {
|
|
111
|
+
return syncToUrl ? Object.assign(Object.assign({}, searchInitialValues), readUrlValues(syncToUrl)) : searchInitialValues;
|
|
112
|
+
},
|
|
113
|
+
// mount-only snapshot of the URL
|
|
114
|
+
[searchInitialValues]);
|
|
115
|
+
var _useSafeState = useSafeState(function () {
|
|
116
|
+
return mergedInitialValues;
|
|
117
|
+
}),
|
|
118
|
+
_useSafeState2 = _slicedToArray(_useSafeState, 2),
|
|
119
|
+
searchParams = _useSafeState2[0],
|
|
120
|
+
setSearchParams = _useSafeState2[1];
|
|
121
|
+
var formRef = useRef(undefined);
|
|
122
|
+
// ── server sort / filter ──
|
|
123
|
+
var _useSafeState3 = useSafeState({}),
|
|
124
|
+
_useSafeState4 = _slicedToArray(_useSafeState3, 2),
|
|
125
|
+
sort = _useSafeState4[0],
|
|
126
|
+
setSort = _useSafeState4[1];
|
|
127
|
+
var _useSafeState5 = useSafeState({}),
|
|
128
|
+
_useSafeState6 = _slicedToArray(_useSafeState5, 2),
|
|
129
|
+
filter = _useSafeState6[0],
|
|
130
|
+
setFilter = _useSafeState6[1];
|
|
131
|
+
// ── pagination config ──
|
|
132
|
+
var paginated = pagination !== false;
|
|
133
|
+
var defaultPageSize = pagination && pagination.defaultPageSize || pagination && pagination.pageSize || DEFAULT_PAGE_SIZE;
|
|
134
|
+
var defaultCurrent = pagination && pagination.defaultCurrent || pagination && pagination.current || DEFAULT_CURRENT;
|
|
135
|
+
var manual = controlledData !== undefined || !request;
|
|
136
|
+
var _useFetchData = useFetchData({
|
|
137
|
+
request: request,
|
|
138
|
+
manual: manual,
|
|
139
|
+
manualRequest: manualRequest,
|
|
140
|
+
debounceTime: debounceTime,
|
|
141
|
+
postData: postData,
|
|
142
|
+
polling: polling,
|
|
143
|
+
params: params,
|
|
144
|
+
defaultData: defaultData,
|
|
145
|
+
paginated: paginated,
|
|
146
|
+
defaultCurrent: defaultCurrent,
|
|
147
|
+
defaultPageSize: defaultPageSize,
|
|
148
|
+
searchParams: searchParams,
|
|
149
|
+
sort: sort,
|
|
150
|
+
filter: filter,
|
|
151
|
+
onLoad: onLoad,
|
|
152
|
+
onLoadingChange: onLoadingChange,
|
|
153
|
+
onRequestError: onRequestError
|
|
154
|
+
}),
|
|
155
|
+
fetchedData = _useFetchData.dataSource,
|
|
156
|
+
fetchLoading = _useFetchData.loading,
|
|
157
|
+
pageInfo = _useFetchData.pageInfo,
|
|
158
|
+
setPageInfo = _useFetchData.setPageInfo,
|
|
159
|
+
_reload = _useFetchData.reload,
|
|
160
|
+
_reset = _useFetchData.reset;
|
|
161
|
+
var dataSource = controlledData !== null && controlledData !== void 0 ? controlledData : fetchedData;
|
|
162
|
+
var loading = controlledLoading !== null && controlledLoading !== void 0 ? controlledLoading : manual ? false : fetchLoading;
|
|
163
|
+
// ── handlers ──
|
|
164
|
+
var handleSearchFinish = useMemoizedFn(function (values) {
|
|
165
|
+
var perColumn = applySearchTransforms(values, columns);
|
|
166
|
+
var finalParams = beforeSearchSubmit ? beforeSearchSubmit(perColumn) : perColumn;
|
|
167
|
+
setSearchParams(finalParams);
|
|
168
|
+
setPageInfo({
|
|
169
|
+
current: defaultCurrent
|
|
170
|
+
});
|
|
171
|
+
void _reload();
|
|
172
|
+
});
|
|
173
|
+
var handleSearchReset = useMemoizedFn(function () {
|
|
174
|
+
var _a;
|
|
175
|
+
// Use the array form (`resetFields(names)`) — the no-arg form re-invokes the
|
|
176
|
+
// form's own `onReset`, which loops back here and recurses infinitely.
|
|
177
|
+
(_a = formRef.current) === null || _a === void 0 ? void 0 : _a.resetFields(searchFieldNames);
|
|
178
|
+
setSearchParams({});
|
|
179
|
+
setPageInfo({
|
|
180
|
+
current: defaultCurrent
|
|
181
|
+
});
|
|
182
|
+
void _reload();
|
|
183
|
+
});
|
|
184
|
+
var handleTableChange = useMemoizedFn(function (meta) {
|
|
185
|
+
if (meta.sorter) {
|
|
186
|
+
var _meta$sorter = meta.sorter,
|
|
187
|
+
columnKey = _meta$sorter.columnKey,
|
|
188
|
+
order = _meta$sorter.order;
|
|
189
|
+
setSort(columnKey && order ? _defineProperty({}, String(columnKey), order) : {});
|
|
190
|
+
}
|
|
191
|
+
if (meta.filters) setFilter(meta.filters);
|
|
192
|
+
if (meta.sorter || meta.filters) setPageInfo({
|
|
193
|
+
current: defaultCurrent
|
|
194
|
+
});
|
|
195
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(meta);
|
|
196
|
+
});
|
|
197
|
+
var handlePageChange = useMemoizedFn(function (page, pageSize) {
|
|
198
|
+
setPageInfo({
|
|
199
|
+
current: page,
|
|
200
|
+
pageSize: pageSize
|
|
201
|
+
});
|
|
202
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
203
|
+
currentDataSource: dataSource,
|
|
204
|
+
action: 'paginate',
|
|
205
|
+
pagination: {
|
|
206
|
+
current: page,
|
|
207
|
+
pageSize: pageSize
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
// ── imperative handle ──
|
|
212
|
+
useImperativeHandle(actionRef, function () {
|
|
213
|
+
return {
|
|
214
|
+
reload: function reload() {
|
|
215
|
+
return _reload();
|
|
216
|
+
},
|
|
217
|
+
reloadAndRest: function reloadAndRest() {
|
|
218
|
+
return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
219
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
220
|
+
while (1) switch (_context.prev = _context.next) {
|
|
221
|
+
case 0:
|
|
222
|
+
setPageInfo({
|
|
223
|
+
current: defaultCurrent
|
|
224
|
+
});
|
|
225
|
+
_context.next = 1;
|
|
226
|
+
return _reload();
|
|
227
|
+
case 1:
|
|
228
|
+
case "end":
|
|
229
|
+
return _context.stop();
|
|
230
|
+
}
|
|
231
|
+
}, _callee);
|
|
232
|
+
}));
|
|
233
|
+
},
|
|
234
|
+
reset: function reset() {
|
|
235
|
+
var _a;
|
|
236
|
+
(_a = formRef.current) === null || _a === void 0 ? void 0 : _a.resetFields(searchFieldNames);
|
|
237
|
+
setSearchParams(searchInitialValues);
|
|
238
|
+
setSort({});
|
|
239
|
+
setFilter({});
|
|
240
|
+
_reset();
|
|
241
|
+
void _reload();
|
|
242
|
+
},
|
|
243
|
+
setPageInfo: setPageInfo
|
|
244
|
+
};
|
|
245
|
+
});
|
|
246
|
+
// ── search form node (only built when there are searchable columns) ──
|
|
247
|
+
var searchNode = null;
|
|
248
|
+
if (hasSearch) {
|
|
249
|
+
var searchForm = _jsx(QueryFilter, {
|
|
250
|
+
formRef: formRef,
|
|
251
|
+
size: "small",
|
|
252
|
+
initialValues: mergedInitialValues,
|
|
253
|
+
defaultCollapsed: searchCfg === null || searchCfg === void 0 ? void 0 : searchCfg.defaultCollapsed,
|
|
254
|
+
defaultColsNumber: searchCfg === null || searchCfg === void 0 ? void 0 : searchCfg.defaultColsNumber,
|
|
255
|
+
labelWidth: searchCfg === null || searchCfg === void 0 ? void 0 : searchCfg.labelWidth,
|
|
256
|
+
syncToUrl: syncToUrl,
|
|
257
|
+
searchConfig: {
|
|
258
|
+
searchText: (_a = searchCfg === null || searchCfg === void 0 ? void 0 : searchCfg.searchText) !== null && _a !== void 0 ? _a : DEFAULT_TEXT.search,
|
|
259
|
+
resetText: (_b = searchCfg === null || searchCfg === void 0 ? void 0 : searchCfg.resetText) !== null && _b !== void 0 ? _b : DEFAULT_TEXT.reset,
|
|
260
|
+
size: 'medium'
|
|
261
|
+
},
|
|
262
|
+
onFinish: handleSearchFinish,
|
|
263
|
+
onReset: handleSearchReset,
|
|
264
|
+
children: searchFields
|
|
265
|
+
});
|
|
266
|
+
searchNode = _jsx("div", {
|
|
267
|
+
className: classes('search'),
|
|
268
|
+
children: searchFormRender ? searchFormRender(searchForm) : searchForm
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
return _jsxs("div", {
|
|
272
|
+
className: classes(undefined, className),
|
|
273
|
+
children: [searchNode, _jsxs("div", {
|
|
274
|
+
className: classes('container'),
|
|
275
|
+
children: [_jsx(Table, {
|
|
276
|
+
rowKey: rowKey,
|
|
277
|
+
columns: tableColumns,
|
|
278
|
+
dataSource: dataSource,
|
|
279
|
+
loading: loading,
|
|
280
|
+
size: size,
|
|
281
|
+
pagination: false,
|
|
282
|
+
rowSelection: rowSelection,
|
|
283
|
+
onChange: handleTableChange,
|
|
284
|
+
variant: variant,
|
|
285
|
+
bordered: bordered,
|
|
286
|
+
scroll: scroll,
|
|
287
|
+
sticky: sticky,
|
|
288
|
+
expandable: expandable,
|
|
289
|
+
empty: empty,
|
|
290
|
+
tableLayout: tableLayout,
|
|
291
|
+
rowClassName: rowClassName,
|
|
292
|
+
onRow: onRow,
|
|
293
|
+
summary: summary,
|
|
294
|
+
footer: footer
|
|
295
|
+
}), paginated && _jsx("div", {
|
|
296
|
+
className: classes('pagination'),
|
|
297
|
+
children: _jsx(Pagination, {
|
|
298
|
+
total: pageInfo.total,
|
|
299
|
+
current: pageInfo.current,
|
|
300
|
+
pageSize: pageInfo.pageSize,
|
|
301
|
+
onChange: handlePageChange
|
|
302
|
+
})
|
|
303
|
+
})]
|
|
304
|
+
})]
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
export var ProTable = /*#__PURE__*/memo(ProTableInner);
|
|
308
|
+
export default ProTable;
|
|
309
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvVGFibGUvUHJvVGFibGUuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1Byb1RhYmxlL1Byb1RhYmxlLnRzeCJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlTWVtb2l6ZWRGbiIsInVzZVNhZmVTdGF0ZSIsIlBhZ2luYXRpb24iLCJUYWJsZSIsIlF1ZXJ5RmlsdGVyIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJDU1NfUFJFRklYIiwiREVGQVVMVF9DVVJSRU5UIiwiREVGQVVMVF9QQUdFX1NJWkUiLCJERUZBVUxUX1RFWFQiLCJ1c2VGZXRjaERhdGEiLCJnZW5Db2x1bW5zIiwiYXBwbHlTZWFyY2hUcmFuc2Zvcm1zIiwiZ2VuU2VhcmNoRmllbGRzIiwicmVhZFVybFZhbHVlcyIsInN5bmNUb1VybCIsIndpbmRvdyIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiZm9yRWFjaCIsImtleSIsIlByb1RhYmxlSW5uZXIiLCJwcm9wcyIsIl90aGlzIiwiX2EiLCJfYiIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJjbGFzc05hbWUiLCJjb2x1bW5zIiwicmVxdWVzdCIsImNvbnRyb2xsZWREYXRhIiwiZGF0YVNvdXJjZSIsImNvbnRyb2xsZWRMb2FkaW5nIiwibG9hZGluZyIsImRlZmF1bHREYXRhIiwibWFudWFsUmVxdWVzdCIsImRlYm91bmNlVGltZSIsInBvc3REYXRhIiwicG9sbGluZyIsImJlZm9yZVNlYXJjaFN1Ym1pdCIsImNvbHVtbkVtcHR5VGV4dCIsInNlYXJjaEZvcm1SZW5kZXIiLCJfcHJvcHMkcGFnaW5hdGlvbiIsInBhZ2luYXRpb24iLCJfcHJvcHMkc2VhcmNoIiwicm93U2VsZWN0aW9uIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiYWN0aW9uUmVmIiwib25Mb2FkIiwib25Mb2FkaW5nQ2hhbmdlIiwib25SZXF1ZXN0RXJyb3IiLCJvbkNoYW5nZSIsInJvd0tleSIsIl9wcm9wcyR2YXJpYW50IiwidmFyaWFudCIsImJvcmRlcmVkIiwic2Nyb2xsIiwic3RpY2t5IiwiZXhwYW5kYWJsZSIsImVtcHR5IiwidGFibGVMYXlvdXQiLCJyb3dDbGFzc05hbWUiLCJvblJvdyIsInN1bW1hcnkiLCJmb290ZXIiLCJjbGFzc2VzIiwidGFibGVDb2x1bW5zIiwic2VhcmNoQ2ZnIiwidW5kZWZpbmVkIiwiX3VzZU1lbW8iLCJzZWFyY2hGaWVsZHMiLCJmaWVsZHMiLCJzZWFyY2hJbml0aWFsVmFsdWVzIiwiaW5pdGlhbFZhbHVlcyIsInNlYXJjaEZpZWxkTmFtZXMiLCJuYW1lcyIsImhhc1NlYXJjaCIsImxlbmd0aCIsIm1lcmdlZEluaXRpYWxWYWx1ZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJfdXNlU2FmZVN0YXRlIiwiX3VzZVNhZmVTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNlYXJjaFBhcmFtcyIsInNldFNlYXJjaFBhcmFtcyIsImZvcm1SZWYiLCJfdXNlU2FmZVN0YXRlMyIsIl91c2VTYWZlU3RhdGU0Iiwic29ydCIsInNldFNvcnQiLCJfdXNlU2FmZVN0YXRlNSIsIl91c2VTYWZlU3RhdGU2IiwiZmlsdGVyIiwic2V0RmlsdGVyIiwicGFnaW5hdGVkIiwiZGVmYXVsdFBhZ2VTaXplIiwicGFnZVNpemUiLCJkZWZhdWx0Q3VycmVudCIsImN1cnJlbnQiLCJtYW51YWwiLCJfdXNlRmV0Y2hEYXRhIiwiZmV0Y2hlZERhdGEiLCJmZXRjaExvYWRpbmciLCJwYWdlSW5mbyIsInNldFBhZ2VJbmZvIiwicmVsb2FkIiwicmVzZXQiLCJoYW5kbGVTZWFyY2hGaW5pc2giLCJ2YWx1ZXMiLCJwZXJDb2x1bW4iLCJmaW5hbFBhcmFtcyIsImhhbmRsZVNlYXJjaFJlc2V0IiwicmVzZXRGaWVsZHMiLCJoYW5kbGVUYWJsZUNoYW5nZSIsIm1ldGEiLCJzb3J0ZXIiLCJfbWV0YSRzb3J0ZXIiLCJjb2x1bW5LZXkiLCJvcmRlciIsIl9kZWZpbmVQcm9wZXJ0eSIsIlN0cmluZyIsImZpbHRlcnMiLCJoYW5kbGVQYWdlQ2hhbmdlIiwicGFnZSIsImN1cnJlbnREYXRhU291cmNlIiwiYWN0aW9uIiwicmVsb2FkQW5kUmVzdCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJzdG9wIiwic2VhcmNoTm9kZSIsInNlYXJjaEZvcm0iLCJkZWZhdWx0Q29sbGFwc2VkIiwiZGVmYXVsdENvbHNOdW1iZXIiLCJsYWJlbFdpZHRoIiwic2VhcmNoQ29uZmlnIiwic2VhcmNoVGV4dCIsInJlc2V0VGV4dCIsIm9uRmluaXNoIiwib25SZXNldCIsImNoaWxkcmVuIiwidG90YWwiLCJQcm9UYWJsZSJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSUEsU0FBUyxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FBR0ssT0FBTyxDQUFDLEVBQUUsVUFBVUQsT0FBTyxFQUFFRSxNQUFNLEVBQUU7SUFDdkQsU0FBU0MsU0FBU0EsQ0FBQ0osS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDTixLQUFLLENBQUMsQ0FBQztNQUFFLENBQUMsQ0FBQyxPQUFPTyxDQUFDLEVBQUU7UUFBRUosTUFBTSxDQUFDSSxDQUFDLENBQUM7TUFBRTtJQUFFO0lBQzFGLFNBQVNDLFFBQVFBLENBQUNSLEtBQUssRUFBRTtNQUFFLElBQUk7UUFBRUssSUFBSSxDQUFDUCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUNFLEtBQUssQ0FBQyxDQUFDO01BQUUsQ0FBQyxDQUFDLE9BQU9PLENBQUMsRUFBRTtRQUFFSixNQUFNLENBQUNJLENBQUMsQ0FBQztNQUFFO0lBQUU7SUFDN0YsU0FBU0YsSUFBSUEsQ0FBQ0ksTUFBTSxFQUFFO01BQUVBLE1BQU0sQ0FBQ0MsSUFBSSxHQUFHVCxPQUFPLENBQUNRLE1BQU0sQ0FBQ1QsS0FBSyxDQUFDLEdBQUdELEtBQUssQ0FBQ1UsTUFBTSxDQUFDVCxLQUFLLENBQUMsQ0FBQ1csSUFBSSxDQUFDUCxTQUFTLEVBQUVJLFFBQVEsQ0FBQztJQUFFO0lBQzdHSCxJQUFJLENBQUMsQ0FBQ1AsU0FBUyxHQUFHQSxTQUFTLENBQUNjLEtBQUssQ0FBQ2pCLE9BQU8sRUFBRUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFVSxJQUFJLENBQUMsQ0FBQyxDQUFDO0VBQ3pFLENBQUMsQ0FBQztBQUNOLENBQUM7QUFDRCxTQUFTTyxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDVDlELFNBQVNDLElBQUksRUFBRUMsbUJBQW1CLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFFbEUsU0FBU0MsYUFBYSxFQUFFQyxZQUFZLFFBQVEsZUFBZTtBQUMzRCxTQUFTQyxVQUFVLFFBQVEsZUFBZTtBQUMxQyxTQUFTQyxLQUFLLFFBQVEsVUFBVTtBQUVoQyxTQUFTQyxXQUFXLFFBQVEsWUFBWTtBQUV4QyxTQUFTQyxPQUFPLElBQUlDLFVBQVUsUUFBUSx3QkFBd0I7QUFDOUQsU0FBU0MsVUFBVSxFQUFFQyxlQUFlLEVBQUVDLGlCQUFpQixFQUFFQyxZQUFZLFFBQVEsYUFBYTtBQUMxRixTQUFTQyxZQUFZLFFBQVEsZ0JBQWdCO0FBQzdDLFNBQVNDLFVBQVUsUUFBUSxtQkFBbUI7QUFDOUMsU0FBU0MscUJBQXFCLEVBQUVDLGVBQWUsUUFBUSx3QkFBd0I7QUFTL0U7QUFDQSxTQUFTQyxhQUFhQSxDQUFDQyxTQUFvQixFQUFBO0VBQ3pDLElBQUksT0FBT0MsTUFBTSxLQUFLLFdBQVcsRUFBRSxPQUFPLENBQUEsQ0FBRTtFQUM1QyxJQUFNQyxNQUFNLEdBQTJCLENBQUEsQ0FBRTtFQUN6QyxJQUFJQyxlQUFlLENBQUNGLE1BQU0sQ0FBQ0csUUFBUSxDQUFDQyxNQUFNLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLFVBQUMzQyxLQUFLLEVBQUU0QyxHQUFHLEVBQUk7SUFDakVMLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDLEdBQUc1QyxLQUFLO0VBQ3JCLENBQUMsQ0FBQztFQUNGLE9BQU8sT0FBT3FDLFNBQVMsS0FBSyxVQUFVLEdBQUdBLFNBQVMsQ0FBQ0UsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHQSxNQUFNO0FBQzVFO0FBRUEsU0FBU00sYUFBYUEsQ0FHcEJDLEtBQStCLEVBQUE7RUFBQSxJQUFBQyxLQUFBO0VESDdCLElBQUlDLEVBQUUsRUFBRUMsRUFBRTtFQ0laLElBQUFDLGdCQUFBLEdBcUNJSixLQUFLLENBcENQSyxTQUFTO0lBQVRBLFNBQVMsR0FBQUQsZ0JBQUEsY0FBR3RCLFVBQVUsR0FBQXNCLGdCQUFBO0lBQ3RCRSxTQUFTLEdBbUNQTixLQUFLLENBbkNQTSxTQUFTO0lBQ1RDLE9BQU8sR0FrQ0xQLEtBQUssQ0FsQ1BPLE9BQU87SUFDUEMsT0FBTyxHQWlDTFIsS0FBSyxDQWpDUFEsT0FBTztJQUNQZixNQUFNLEdBZ0NKTyxLQUFLLENBaENQUCxNQUFNO0lBQ01nQixjQUFjLEdBK0J4QlQsS0FBSyxDQS9CUFUsVUFBVTtJQUNEQyxpQkFBaUIsR0E4QnhCWCxLQUFLLENBOUJQWSxPQUFPO0lBQ1BDLFdBQVcsR0E2QlRiLEtBQUssQ0E3QlBhLFdBQVc7SUFDWEMsYUFBYSxHQTRCWGQsS0FBSyxDQTVCUGMsYUFBYTtJQUNiQyxZQUFZLEdBMkJWZixLQUFLLENBM0JQZSxZQUFZO0lBQ1pDLFFBQVEsR0EwQk5oQixLQUFLLENBMUJQZ0IsUUFBUTtJQUNSQyxPQUFPLEdBeUJMakIsS0FBSyxDQXpCUGlCLE9BQU87SUFDUEMsa0JBQWtCLEdBd0JoQmxCLEtBQUssQ0F4QlBrQixrQkFBa0I7SUFDbEJDLGVBQWUsR0F1QmJuQixLQUFLLENBdkJQbUIsZUFBZTtJQUNmQyxnQkFBZ0IsR0FzQmRwQixLQUFLLENBdEJQb0IsZ0JBQWdCO0lBQUFDLGlCQUFBLEdBc0JkckIsS0FBSyxDQXJCUHNCLFVBQVU7SUFBVkEsVUFBVSxHQUFBRCxpQkFBQSxjQUFHLENBQUEsQ0FBRSxHQUFBQSxpQkFBQTtJQUFBRSxhQUFBLEdBcUJidkIsS0FBSyxDQXBCUEosTUFBTTtJQUFOQSxNQUFNLEdBQUEyQixhQUFBLGNBQUcsQ0FBQSxDQUFFLEdBQUFBLGFBQUE7SUFDWEMsWUFBWSxHQW1CVnhCLEtBQUssQ0FuQlB3QixZQUFZO0lBQUFDLFdBQUEsR0FtQlZ6QixLQUFLLENBbEJQMEIsSUFBSTtJQUFKQSxJQUFJLEdBQUFELFdBQUEsY0FBRyxPQUFPLEdBQUFBLFdBQUE7SUFDZEUsU0FBUyxHQWlCUDNCLEtBQUssQ0FqQlAyQixTQUFTO0lBQ1RDLE1BQU0sR0FnQko1QixLQUFLLENBaEJQNEIsTUFBTTtJQUNOQyxlQUFlLEdBZWI3QixLQUFLLENBZlA2QixlQUFlO0lBQ2ZDLGNBQWMsR0FjWjlCLEtBQUssQ0FkUDhCLGNBQWM7SUFDZEMsUUFBUSxHQWFOL0IsS0FBSyxDQWJQK0IsUUFBUTtJQUNSQyxNQUFNLEdBWUpoQyxLQUFLLENBWlBnQyxNQUFNO0lBQUFDLGNBQUEsR0FZSmpDLEtBQUssQ0FYUGtDLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxjQUFBLGNBQUcsUUFBUSxHQUFBQSxjQUFBO0lBQ2xCRSxRQUFRLEdBVU5uQyxLQUFLLENBVlBtQyxRQUFRO0lBQ1JDLE1BQU0sR0FTSnBDLEtBQUssQ0FUUG9DLE1BQU07SUFDTkMsTUFBTSxHQVFKckMsS0FBSyxDQVJQcUMsTUFBTTtJQUNOQyxVQUFVLEdBT1J0QyxLQUFLLENBUFBzQyxVQUFVO0lBQ1ZDLEtBQUssR0FNSHZDLEtBQUssQ0FOUHVDLEtBQUs7SUFDTEMsV0FBVyxHQUtUeEMsS0FBSyxDQUxQd0MsV0FBVztJQUNYQyxZQUFZLEdBSVZ6QyxLQUFLLENBSlB5QyxZQUFZO0lBQ1pDLEtBQUssR0FHSDFDLEtBQUssQ0FIUDBDLEtBQUs7SUFDTEMsT0FBTyxHQUVMM0MsS0FBSyxDQUZQMkMsT0FBTztJQUNQQyxNQUFNLEdBQ0o1QyxLQUFLLENBRFA0QyxNQUFNO0VBR1IsSUFBTUMsT0FBTyxHQUFHaEUsVUFBVSxDQUFDd0IsU0FBUyxDQUFDO0VBRXJDLElBQU15QyxZQUFZLEdBQUd6RSxPQUFPLENBQUM7SUFBQSxPQUFNYyxVQUFVLENBQUNvQixPQUFPLEVBQUVZLGVBQWUsQ0FBQztFQUFBLEdBQUUsQ0FBQ1osT0FBTyxFQUFFWSxlQUFlLENBQUMsQ0FBQztFQUVwRztFQUNBLElBQU00QixTQUFTLEdBQUduRCxNQUFNLEtBQUssS0FBSyxHQUFHb0QsU0FBUyxHQUFHcEQsTUFBTTtFQUN2RCxJQUFBcUQsUUFBQSxHQUE4RjVFLE9BQU8sQ0FDbkc7TUFBQSxPQUFNZ0IsZUFBZSxDQUFDa0IsT0FBTyxDQUFDO0lBQUEsR0FDOUIsQ0FBQ0EsT0FBTyxDQUFDLENBQ1Y7SUFIZTJDLFlBQVksR0FBQUQsUUFBQSxDQUFwQkUsTUFBTTtJQUErQkMsbUJBQW1CLEdBQUFILFFBQUEsQ0FBbENJLGFBQWE7SUFBOEJDLGdCQUFnQixHQUFBTCxRQUFBLENBQXZCTSxLQUFLO0VBSXZFLElBQU1DLFNBQVMsR0FBRzVELE1BQU0sS0FBSyxLQUFLLElBQUlzRCxZQUFZLENBQUNPLE1BQU0sR0FBRyxDQUFDO0VBQzdELElBQU1sRSxTQUFTLEdBQUd3RCxTQUFTLEtBQUEsSUFBQSxJQUFUQSxTQUFTLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVRBLFNBQVMsQ0FBRXhELFNBQVM7RUFDdEM7RUFDQSxJQUFNbUUsbUJBQW1CLEdBQUdyRixPQUFPLENBQ2pDO0lBQUEsT0FBT2tCLFNBQVMsR0FBRW9FLE1BQUEsQ0FBQUMsTUFBQSxDQUFBRCxNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBTVIsbUJBQW1CLENBQUEsRUFBSzlELGFBQWEsQ0FBQ0MsU0FBUyxDQUFDLENBQUEsR0FBSzZELG1CQUFtQjtFQUFBLENBQUM7RUFDakc7RUFDQSxDQUFDQSxtQkFBbUIsQ0FBQyxDQUN0QjtFQUNELElBQUFTLGFBQUEsR0FBd0NyRixZQUFZLENBQTBCO01BQUEsT0FBTWtGLG1CQUFtQjtJQUFBLEVBQUM7SUFBQUksY0FBQSxHQUFBQyxjQUFBLENBQUFGLGFBQUE7SUFBakdHLFlBQVksR0FBQUYsY0FBQTtJQUFFRyxlQUFlLEdBQUFILGNBQUE7RUFDcEMsSUFBTUksT0FBTyxHQUFHNUYsTUFBTSxDQUFzQjBFLFNBQVMsQ0FBQztFQUV0RDtFQUNBLElBQUFtQixjQUFBLEdBQXdCM0YsWUFBWSxDQUFvQixDQUFBLENBQUUsQ0FBQztJQUFBNEYsY0FBQSxHQUFBTCxjQUFBLENBQUFJLGNBQUE7SUFBcERFLElBQUksR0FBQUQsY0FBQTtJQUFFRSxPQUFPLEdBQUFGLGNBQUE7RUFDcEIsSUFBQUcsY0FBQSxHQUE0Qi9GLFlBQVksQ0FBc0IsQ0FBQSxDQUFFLENBQUM7SUFBQWdHLGNBQUEsR0FBQVQsY0FBQSxDQUFBUSxjQUFBO0lBQTFERSxNQUFNLEdBQUFELGNBQUE7SUFBRUUsU0FBUyxHQUFBRixjQUFBO0VBRXhCO0VBQ0EsSUFBTUcsU0FBUyxHQUFHckQsVUFBVSxLQUFLLEtBQUs7RUFDdEMsSUFBTXNELGVBQWUsR0FBSXRELFVBQVUsSUFBSUEsVUFBVSxDQUFDc0QsZUFBZSxJQUFNdEQsVUFBVSxJQUFJQSxVQUFVLENBQUN1RCxRQUFTLElBQUk3RixpQkFBaUI7RUFDOUgsSUFBTThGLGNBQWMsR0FBSXhELFVBQVUsSUFBSUEsVUFBVSxDQUFDd0QsY0FBYyxJQUFNeEQsVUFBVSxJQUFJQSxVQUFVLENBQUN5RCxPQUFRLElBQUloRyxlQUFlO0VBRXpILElBQU1pRyxNQUFNLEdBQUd2RSxjQUFjLEtBQUt1QyxTQUFTLElBQUksQ0FBQ3hDLE9BQU87RUFFdkQsSUFBQXlFLGFBQUEsR0FBaUcvRixZQUFZLENBQzNHO01BQ0VzQixPQUFPLEVBQVBBLE9BQU87TUFDUHdFLE1BQU0sRUFBTkEsTUFBTTtNQUNObEUsYUFBYSxFQUFiQSxhQUFhO01BQ2JDLFlBQVksRUFBWkEsWUFBWTtNQUNaQyxRQUFRLEVBQVJBLFFBQVE7TUFDUkMsT0FBTyxFQUFQQSxPQUFPO01BQ1B4QixNQUFNLEVBQU5BLE1BQU07TUFDTm9CLFdBQVcsRUFBWEEsV0FBVztNQUNYOEQsU0FBUyxFQUFUQSxTQUFTO01BQ1RHLGNBQWMsRUFBZEEsY0FBYztNQUNkRixlQUFlLEVBQWZBLGVBQWU7TUFDZlosWUFBWSxFQUFaQSxZQUFZO01BQ1pLLElBQUksRUFBSkEsSUFBSTtNQUNKSSxNQUFNLEVBQU5BLE1BQU07TUFDTjdDLE1BQU0sRUFBTkEsTUFBTTtNQUNOQyxlQUFlLEVBQWZBLGVBQWU7TUFDZkMsY0FBYyxFQUFkQTtJRHBERixDQ3FEQyxDQUNGO0lBcEJtQm9ELFdBQVcsR0FBQUQsYUFBQSxDQUF2QnZFLFVBQVU7SUFBd0J5RSxZQUFZLEdBQUFGLGFBQUEsQ0FBckJyRSxPQUFPO0lBQWdCd0UsUUFBUSxHQUFBSCxhQUFBLENBQVJHLFFBQVE7SUFBRUMsV0FBVyxHQUFBSixhQUFBLENBQVhJLFdBQVc7SUFBRUMsT0FBTSxHQUFBTCxhQUFBLENBQU5LLE1BQU07SUFBRUMsTUFBSyxHQUFBTixhQUFBLENBQUxNLEtBQUs7RUFzQjVGLElBQU03RSxVQUFVLEdBQUdELGNBQWMsS0FBQSxJQUFBLElBQWRBLGNBQWMsS0FBQSxLQUFBLENBQUEsR0FBZEEsY0FBYyxHQUFJeUUsV0FBVztFQUNoRCxJQUFNdEUsT0FBTyxHQUFHRCxpQkFBaUIsS0FBQSxJQUFBLElBQWpCQSxpQkFBaUIsS0FBQSxLQUFBLENBQUEsR0FBakJBLGlCQUFpQixHQUFLcUUsTUFBTSxHQUFHLEtBQUssR0FBR0csWUFBYTtFQUVwRTtFQUNBLElBQU1LLGtCQUFrQixHQUFHakgsYUFBYSxDQUFDLFVBQUNrSCxNQUErQixFQUFJO0lBQzNFLElBQU1DLFNBQVMsR0FBR3RHLHFCQUFxQixDQUFDcUcsTUFBTSxFQUFFbEYsT0FBTyxDQUFDO0lBQ3hELElBQU1vRixXQUFXLEdBQUd6RSxrQkFBa0IsR0FBR0Esa0JBQWtCLENBQUN3RSxTQUFTLENBQUMsR0FBR0EsU0FBUztJQUNsRnpCLGVBQWUsQ0FBQzBCLFdBQVcsQ0FBQztJQUM1Qk4sV0FBVyxDQUFDO01BQUVOLE9BQU8sRUFBRUQ7SUFBYyxDQUFFLENBQUM7SUFDeEMsS0FBS1EsT0FBTSxDQUFBLENBQUU7RUFDZixDQUFDLENBQUM7RUFDRixJQUFNTSxpQkFBaUIsR0FBR3JILGFBQWEsQ0FBQyxZQUFLO0lEdkR2QyxJQUFJMkIsRUFBRTtJQ3dEVjtJQUNBO0lBQ0EsQ0FBQUEsRUFBQSxHQUFBZ0UsT0FBTyxDQUFDYSxPQUFPLE1BQUEsSUFBQSxJQUFBN0UsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUUyRixXQUFXLENBQUN2QyxnQkFBZ0IsQ0FBQztJQUM5Q1csZUFBZSxDQUFDLENBQUEsQ0FBRSxDQUFDO0lBQ25Cb0IsV0FBVyxDQUFDO01BQUVOLE9BQU8sRUFBRUQ7SUFBYyxDQUFFLENBQUM7SUFDeEMsS0FBS1EsT0FBTSxDQUFBLENBQUU7RUFDZixDQUFDLENBQUM7RUFFRixJQUFNUSxpQkFBaUIsR0FBR3ZILGFBQWEsQ0FBQyxVQUFDd0gsSUFBd0IsRUFBSTtJQUNuRSxJQUFJQSxJQUFJLENBQUNDLE1BQU0sRUFBRTtNQUNmLElBQUFDLFlBQUEsR0FBNkJGLElBQUksQ0FBQ0MsTUFBTTtRQUFoQ0UsU0FBUyxHQUFBRCxZQUFBLENBQVRDLFNBQVM7UUFBRUMsS0FBSyxHQUFBRixZQUFBLENBQUxFLEtBQUs7TUFDeEI3QixPQUFPLENBQUM0QixTQUFTLElBQUlDLEtBQUssR0FBQUMsZUFBQSxLQUFNQyxNQUFNLENBQUNILFNBQVMsQ0FBQyxFQUFHQyxLQUFLLElBQUssQ0FBQSxDQUFFLENBQUM7SUFDbkU7SUFDQSxJQUFJSixJQUFJLENBQUNPLE9BQU8sRUFBRTVCLFNBQVMsQ0FBQ3FCLElBQUksQ0FBQ08sT0FBOEIsQ0FBQztJQUNoRSxJQUFJUCxJQUFJLENBQUNDLE1BQU0sSUFBSUQsSUFBSSxDQUFDTyxPQUFPLEVBQUVqQixXQUFXLENBQUM7TUFBRU4sT0FBTyxFQUFFRDtJQUFjLENBQUUsQ0FBQztJQUN6RS9DLFFBQVEsS0FBQSxJQUFBLElBQVJBLFFBQVEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUkEsUUFBUSxDQUFHZ0UsSUFBSSxDQUFDO0VBQ2xCLENBQUMsQ0FBQztFQUVGLElBQU1RLGdCQUFnQixHQUFHaEksYUFBYSxDQUFDLFVBQUNpSSxJQUFZLEVBQUUzQixRQUFnQixFQUFJO0lBQ3hFUSxXQUFXLENBQUM7TUFBRU4sT0FBTyxFQUFFeUIsSUFBSTtNQUFFM0IsUUFBUSxFQUFSQTtJQUFRLENBQUUsQ0FBQztJQUN4QzlDLFFBQVEsS0FBQSxJQUFBLElBQVJBLFFBQVEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUkEsUUFBUSxDQUFHO01BQ1QwRSxpQkFBaUIsRUFBRS9GLFVBQVU7TUFDN0JnRyxNQUFNLEVBQUUsVUFBVTtNQUNsQnBGLFVBQVUsRUFBRTtRQUFFeUQsT0FBTyxFQUFFeUIsSUFBSTtRQUFFM0IsUUFBUSxFQUFSQTtNQUFRO0lEdERuQyxDQ3VESCxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUY7RUFDQXpHLG1CQUFtQixDQUFDdUQsU0FBUyxFQUFFO0lBQUEsT0FBMEI7TUFDdkQyRCxNQUFNLEVBQUUsU0FBUkEsTUFBTUEsQ0FBQTtRQUFBLE9BQVFBLE9BQU0sQ0FBQSxDQUFFO01BQUE7TUFDdEJxQixhQUFhLEVBQUUsU0FBZkEsYUFBYUEsQ0FBQTtRQUFBLE9BQWEvSixTQUFBLENBQUFxRCxLQUFBLEVBQUEsS0FBQSxDQUFBLEVBQUEsS0FBQSxDQUFBLGVBQUEyRyxtQkFBQSxDQUFBQyxJQUFBLENBQUEsU0FBQUMsUUFBQTtVQUFBLE9BQUFGLG1CQUFBLENBQUFHLElBQUEsV0FBQUMsUUFBQTtZQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBeEosSUFBQTtjQUFBO2dCQUN4QjZILFdBQVcsQ0FBQztrQkFBRU4sT0FBTyxFQUFFRDtnQkFBYyxDQUFFLENBQUM7Z0JBQUNrQyxRQUFBLENBQUF4SixJQUFBO2dCQUN6QyxPQUFNOEgsT0FBTSxDQUFBLENBQUU7Y0FBQTtjQUFBO2dCQUFBLE9BQUEwQixRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBLEdBQUFKLE9BQUE7UUFBQSxDQUNmLEVBQUE7TUFBQTtNQUNEdkIsS0FBSyxFQUFFLFNBQVBBLEtBQUtBLENBQUEsRUFBTztRRHZESixJQUFJckYsRUFBRTtRQ3dEWixDQUFBQSxFQUFBLEdBQUFnRSxPQUFPLENBQUNhLE9BQU8sTUFBQSxJQUFBLElBQUE3RSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRTJGLFdBQVcsQ0FBQ3ZDLGdCQUFnQixDQUFDO1FBQzlDVyxlQUFlLENBQUNiLG1CQUFtQixDQUFDO1FBQ3BDa0IsT0FBTyxDQUFDLENBQUEsQ0FBRSxDQUFDO1FBQ1hJLFNBQVMsQ0FBQyxDQUFBLENBQUUsQ0FBQztRQUNiYSxNQUFLLENBQUEsQ0FBRTtRQUNQLEtBQUtELE9BQU0sQ0FBQSxDQUFFO01BQ2YsQ0FBQztNQUNERCxXQUFXLEVBQVhBO0lEdERBLENDdUREO0VBQUEsQ0FBQyxDQUFDO0VBRUg7RUFDQSxJQUFJOEIsVUFBVSxHQUFjLElBQUk7RUFDaEMsSUFBSTNELFNBQVMsRUFBRTtJQUNiLElBQU00RCxVQUFVLEdBQ2RwSixJQUFBLENBQUNXLFdBQVcsRUFBQTtNQUNWdUYsT0FBTyxFQUFFQSxPQUFPO01BQ2hCeEMsSUFBSSxFQUFDLE9BQU87TUFDWjJCLGFBQWEsRUFBRUssbUJBQW1CO01BQ2xDMkQsZ0JBQWdCLEVBQUV0RSxTQUFTLEtBQUEsSUFBQSxJQUFUQSxTQUFTLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVRBLFNBQVMsQ0FBRXNFLGdCQUFnQjtNQUM3Q0MsaUJBQWlCLEVBQUV2RSxTQUFTLEtBQUEsSUFBQSxJQUFUQSxTQUFTLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVRBLFNBQVMsQ0FBRXVFLGlCQUFpQjtNQUMvQ0MsVUFBVSxFQUFFeEUsU0FBUyxLQUFBLElBQUEsSUFBVEEsU0FBUyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFUQSxTQUFTLENBQUV3RSxVQUFVO01BQ2pDaEksU0FBUyxFQUFFQSxTQUFTO01BQ3BCaUksWUFBWSxFQUFFO1FBQ1pDLFVBQVUsRUFBRSxDQUFBdkgsRUFBQSxHQUFBNkMsU0FBUyxLQUFBLElBQUEsSUFBVEEsU0FBUyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFUQSxTQUFTLENBQUUwRSxVQUFVLE1BQUEsSUFBQSxJQUFBdkgsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUlqQixZQUFZLENBQUNXLE1BQU07UUFDeEQ4SCxTQUFTLEVBQUUsQ0FBQXZILEVBQUEsR0FBQTRDLFNBQVMsS0FBQSxJQUFBLElBQVRBLFNBQVMsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBVEEsU0FBUyxDQUFFMkUsU0FBUyxNQUFBLElBQUEsSUFBQXZILEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJbEIsWUFBWSxDQUFDc0csS0FBSztRQUNyRDdELElBQUksRUFBRTtNRGhFSixDQ2lFSDtNQUNEaUcsUUFBUSxFQUFFbkMsa0JBQWtCO01BQzVCb0MsT0FBTyxFQUFFaEMsaUJBQWlCO01BQUFpQyxRQUFBLEVBRXpCM0U7SUFBWSxDQUFBLENBRWhCO0lBQ0RpRSxVQUFVLEdBQ1JuSixJQUFBLENBQUEsS0FBQSxFQUFBO01BQUtzQyxTQUFTLEVBQUV1QyxPQUFPLENBQUMsUUFBUSxDQUFDO01BQUFnRixRQUFBLEVBQUd6RyxnQkFBZ0IsR0FBR0EsZ0JBQWdCLENBQUNnRyxVQUFVLENBQUMsR0FBR0E7SUFBVSxDQUFBLENBQ2pHO0VBQ0g7RUFFQSxPQUNFbEosS0FBQSxDQUFBLEtBQUEsRUFBQTtJQUFLb0MsU0FBUyxFQUFFdUMsT0FBTyxDQUFDRyxTQUFTLEVBQUUxQyxTQUFTLENBQUM7SUFBQXVILFFBQUEsRUFBQSxDQUMxQ1YsVUFBVSxFQUVYakosS0FBQSxDQUFBLEtBQUEsRUFBQTtNQUFLb0MsU0FBUyxFQUFFdUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztNQUFBZ0YsUUFBQSxFQUFBLENBQ2xDN0osSUFBQSxDQUFDVSxLQUFLLEVBQUE7UUFDSnNELE1BQU0sRUFBRUEsTUFBTTtRQUNkekIsT0FBTyxFQUFFdUMsWUFBWTtRQUNyQnBDLFVBQVUsRUFBRUEsVUFBVTtRQUN0QkUsT0FBTyxFQUFFQSxPQUFPO1FBQ2hCYyxJQUFJLEVBQUVBLElBQUk7UUFDVkosVUFBVSxFQUFFLEtBQUs7UUFDakJFLFlBQVksRUFBRUEsWUFBWTtRQUMxQk8sUUFBUSxFQUFFK0QsaUJBQWlCO1FBQzNCNUQsT0FBTyxFQUFFQSxPQUFPO1FBQ2hCQyxRQUFRLEVBQUVBLFFBQVE7UUFDbEJDLE1BQU0sRUFBRUEsTUFBTTtRQUNkQyxNQUFNLEVBQUVBLE1BQU07UUFDZEMsVUFBVSxFQUFFQSxVQUFVO1FBQ3RCQyxLQUFLLEVBQUVBLEtBQUs7UUFDWkMsV0FBVyxFQUFFQSxXQUFXO1FBQ3hCQyxZQUFZLEVBQUVBLFlBQVk7UUFDMUJDLEtBQUssRUFBRUEsS0FBSztRQUNaQyxPQUFPLEVBQUVBLE9BQU87UUFDaEJDLE1BQU0sRUFBRUE7TUFBTSxDQUFBLENBQ2QsRUFFRCtCLFNBQVMsSUFDUjNHLElBQUEsQ0FBQSxLQUFBLEVBQUE7UUFBS3NDLFNBQVMsRUFBRXVDLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFBQWdGLFFBQUEsRUFDbkM3SixJQUFBLENBQUNTLFVBQVUsRUFBQTtVQUNUcUosS0FBSyxFQUFFMUMsUUFBUSxDQUFDMEMsS0FBSztVQUNyQi9DLE9BQU8sRUFBRUssUUFBUSxDQUFDTCxPQUFPO1VBQ3pCRixRQUFRLEVBQUVPLFFBQVEsQ0FBQ1AsUUFBUTtVQUMzQjlDLFFBQVEsRUFBRXdFO1FBQWdCLENBQUE7TUFDMUIsQ0FBQSxDQUVMO0lBQUEsQ0FBQSxDQUNHO0VBQUEsQ0FBQSxDQUNGO0FBRVY7QUFFQSxPQUFPLElBQU13QixRQUFRLGdCQUFHNUosSUFBSSxDQUFDNEIsYUFBYSxDQUF5QjtBQUVuRSxlQUFlZ0ksUUFBUSIsImZpbGUiOiJjb21wb25lbnRzL1Byb1RhYmxlL1Byb1RhYmxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fYXdhaXRlciA9ICh0aGlzICYmIHRoaXMuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTWVtb2l6ZWRGbiwgdXNlU2FmZVN0YXRlIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uIH0gZnJvbSAnLi4vUGFnaW5hdGlvbic7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJy4uL1RhYmxlJztcbmltcG9ydCB7IFF1ZXJ5RmlsdGVyIH0gZnJvbSAnLi4vUHJvRm9ybSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IENTU19QUkVGSVgsIERFRkFVTFRfQ1VSUkVOVCwgREVGQVVMVF9QQUdFX1NJWkUsIERFRkFVTFRfVEVYVCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHVzZUZldGNoRGF0YSB9IGZyb20gJy4vdXNlRmV0Y2hEYXRhJztcbmltcG9ydCB7IGdlbkNvbHVtbnMgfSBmcm9tICcuL2NvcmUvZ2VuQ29sdW1ucyc7XG5pbXBvcnQgeyBhcHBseVNlYXJjaFRyYW5zZm9ybXMsIGdlblNlYXJjaEZpZWxkcyB9IGZyb20gJy4vY29yZS9nZW5TZWFyY2hGaWVsZHMnO1xuLyoqIFJlYWQgdGhlIGN1cnJlbnQgVVJMIHF1ZXJ5IHN0cmluZyBpbnRvIHNlYXJjaCB2YWx1ZXMsIGFwcGx5aW5nIHRoZSBgJ2dldCdgIHRyYW5zZm9ybS4gKi9cbmZ1bmN0aW9uIHJlYWRVcmxWYWx1ZXMoc3luY1RvVXJsKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICByZXR1cm4ge307XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIHBhcmFtc1trZXldID0gdmFsdWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIHR5cGVvZiBzeW5jVG9VcmwgPT09ICdmdW5jdGlvbicgPyBzeW5jVG9VcmwocGFyYW1zLCAnZ2V0JykgOiBwYXJhbXM7XG59XG5mdW5jdGlvbiBQcm9UYWJsZUlubmVyKHByb3BzKSB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBjb25zdCB7IHByZWZpeENscyA9IENTU19QUkVGSVgsIGNsYXNzTmFtZSwgY29sdW1ucywgcmVxdWVzdCwgcGFyYW1zLCBkYXRhU291cmNlOiBjb250cm9sbGVkRGF0YSwgbG9hZGluZzogY29udHJvbGxlZExvYWRpbmcsIGRlZmF1bHREYXRhLCBtYW51YWxSZXF1ZXN0LCBkZWJvdW5jZVRpbWUsIHBvc3REYXRhLCBwb2xsaW5nLCBiZWZvcmVTZWFyY2hTdWJtaXQsIGNvbHVtbkVtcHR5VGV4dCwgc2VhcmNoRm9ybVJlbmRlciwgcGFnaW5hdGlvbiA9IHt9LCBzZWFyY2ggPSB7fSwgcm93U2VsZWN0aW9uLCBzaXplID0gJ3NtYWxsJywgYWN0aW9uUmVmLCBvbkxvYWQsIG9uTG9hZGluZ0NoYW5nZSwgb25SZXF1ZXN0RXJyb3IsIG9uQ2hhbmdlLCByb3dLZXksIHZhcmlhbnQgPSAnc3Ryb2tlJywgYm9yZGVyZWQsIHNjcm9sbCwgc3RpY2t5LCBleHBhbmRhYmxlLCBlbXB0eSwgdGFibGVMYXlvdXQsIHJvd0NsYXNzTmFtZSwgb25Sb3csIHN1bW1hcnksIGZvb3RlciwgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgdGFibGVDb2x1bW5zID0gdXNlTWVtbygoKSA9PiBnZW5Db2x1bW5zKGNvbHVtbnMsIGNvbHVtbkVtcHR5VGV4dCksIFtjb2x1bW5zLCBjb2x1bW5FbXB0eVRleHRdKTtcbiAgICAvLyDilIDilIAgc2VhcmNoIGZvcm0gKGF1dG8tZ2VuZXJhdGVkIGZyb20gY29sdW1ucykg4pSA4pSAXG4gICAgY29uc3Qgc2VhcmNoQ2ZnID0gc2VhcmNoID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHNlYXJjaDtcbiAgICBjb25zdCB7IGZpZWxkczogc2VhcmNoRmllbGRzLCBpbml0aWFsVmFsdWVzOiBzZWFyY2hJbml0aWFsVmFsdWVzLCBuYW1lczogc2VhcmNoRmllbGROYW1lcyB9ID0gdXNlTWVtbygoKSA9PiBnZW5TZWFyY2hGaWVsZHMoY29sdW1ucyksIFtjb2x1bW5zXSk7XG4gICAgY29uc3QgaGFzU2VhcmNoID0gc2VhcmNoICE9PSBmYWxzZSAmJiBzZWFyY2hGaWVsZHMubGVuZ3RoID4gMDtcbiAgICBjb25zdCBzeW5jVG9VcmwgPSBzZWFyY2hDZmcgPT09IG51bGwgfHwgc2VhcmNoQ2ZnID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWFyY2hDZmcuc3luY1RvVXJsO1xuICAgIC8vIFNlZWQgaW5pdGlhbCB2YWx1ZXMgKGFuZCB0aGUgZmlyc3QgcmVxdWVzdCkgZnJvbSB0aGUgVVJMIHdoZW4gc3luY1RvVXJsIGlzIG9uLlxuICAgIGNvbnN0IG1lcmdlZEluaXRpYWxWYWx1ZXMgPSB1c2VNZW1vKCgpID0+IChzeW5jVG9VcmwgPyBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHNlYXJjaEluaXRpYWxWYWx1ZXMpLCByZWFkVXJsVmFsdWVzKHN5bmNUb1VybCkpIDogc2VhcmNoSW5pdGlhbFZhbHVlcyksIFxuICAgIC8vIG1vdW50LW9ubHkgc25hcHNob3Qgb2YgdGhlIFVSTFxuICAgIFtzZWFyY2hJbml0aWFsVmFsdWVzXSk7XG4gICAgY29uc3QgW3NlYXJjaFBhcmFtcywgc2V0U2VhcmNoUGFyYW1zXSA9IHVzZVNhZmVTdGF0ZSgoKSA9PiBtZXJnZWRJbml0aWFsVmFsdWVzKTtcbiAgICBjb25zdCBmb3JtUmVmID0gdXNlUmVmKHVuZGVmaW5lZCk7XG4gICAgLy8g4pSA4pSAIHNlcnZlciBzb3J0IC8gZmlsdGVyIOKUgOKUgFxuICAgIGNvbnN0IFtzb3J0LCBzZXRTb3J0XSA9IHVzZVNhZmVTdGF0ZSh7fSk7XG4gICAgY29uc3QgW2ZpbHRlciwgc2V0RmlsdGVyXSA9IHVzZVNhZmVTdGF0ZSh7fSk7XG4gICAgLy8g4pSA4pSAIHBhZ2luYXRpb24gY29uZmlnIOKUgOKUgFxuICAgIGNvbnN0IHBhZ2luYXRlZCA9IHBhZ2luYXRpb24gIT09IGZhbHNlO1xuICAgIGNvbnN0IGRlZmF1bHRQYWdlU2l6ZSA9IChwYWdpbmF0aW9uICYmIHBhZ2luYXRpb24uZGVmYXVsdFBhZ2VTaXplKSB8fCAocGFnaW5hdGlvbiAmJiBwYWdpbmF0aW9uLnBhZ2VTaXplKSB8fCBERUZBVUxUX1BBR0VfU0laRTtcbiAgICBjb25zdCBkZWZhdWx0Q3VycmVudCA9IChwYWdpbmF0aW9uICYmIHBhZ2luYXRpb24uZGVmYXVsdEN1cnJlbnQpIHx8IChwYWdpbmF0aW9uICYmIHBhZ2luYXRpb24uY3VycmVudCkgfHwgREVGQVVMVF9DVVJSRU5UO1xuICAgIGNvbnN0IG1hbnVhbCA9IGNvbnRyb2xsZWREYXRhICE9PSB1bmRlZmluZWQgfHwgIXJlcXVlc3Q7XG4gICAgY29uc3QgeyBkYXRhU291cmNlOiBmZXRjaGVkRGF0YSwgbG9hZGluZzogZmV0Y2hMb2FkaW5nLCBwYWdlSW5mbywgc2V0UGFnZUluZm8sIHJlbG9hZCwgcmVzZXQgfSA9IHVzZUZldGNoRGF0YSh7XG4gICAgICAgIHJlcXVlc3QsXG4gICAgICAgIG1hbnVhbCxcbiAgICAgICAgbWFudWFsUmVxdWVzdCxcbiAgICAgICAgZGVib3VuY2VUaW1lLFxuICAgICAgICBwb3N0RGF0YSxcbiAgICAgICAgcG9sbGluZyxcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICBkZWZhdWx0RGF0YSxcbiAgICAgICAgcGFnaW5hdGVkLFxuICAgICAgICBkZWZhdWx0Q3VycmVudCxcbiAgICAgICAgZGVmYXVsdFBhZ2VTaXplLFxuICAgICAgICBzZWFyY2hQYXJhbXMsXG4gICAgICAgIHNvcnQsXG4gICAgICAgIGZpbHRlcixcbiAgICAgICAgb25Mb2FkLFxuICAgICAgICBvbkxvYWRpbmdDaGFuZ2UsXG4gICAgICAgIG9uUmVxdWVzdEVycm9yLFxuICAgIH0pO1xuICAgIGNvbnN0IGRhdGFTb3VyY2UgPSBjb250cm9sbGVkRGF0YSAhPT0gbnVsbCAmJiBjb250cm9sbGVkRGF0YSAhPT0gdm9pZCAwID8gY29udHJvbGxlZERhdGEgOiBmZXRjaGVkRGF0YTtcbiAgICBjb25zdCBsb2FkaW5nID0gY29udHJvbGxlZExvYWRpbmcgIT09IG51bGwgJiYgY29udHJvbGxlZExvYWRpbmcgIT09IHZvaWQgMCA/IGNvbnRyb2xsZWRMb2FkaW5nIDogKG1hbnVhbCA/IGZhbHNlIDogZmV0Y2hMb2FkaW5nKTtcbiAgICAvLyDilIDilIAgaGFuZGxlcnMg4pSA4pSAXG4gICAgY29uc3QgaGFuZGxlU2VhcmNoRmluaXNoID0gdXNlTWVtb2l6ZWRGbigodmFsdWVzKSA9PiB7XG4gICAgICAgIGNvbnN0IHBlckNvbHVtbiA9IGFwcGx5U2VhcmNoVHJhbnNmb3Jtcyh2YWx1ZXMsIGNvbHVtbnMpO1xuICAgICAgICBjb25zdCBmaW5hbFBhcmFtcyA9IGJlZm9yZVNlYXJjaFN1Ym1pdCA/IGJlZm9yZVNlYXJjaFN1Ym1pdChwZXJDb2x1bW4pIDogcGVyQ29sdW1uO1xuICAgICAgICBzZXRTZWFyY2hQYXJhbXMoZmluYWxQYXJhbXMpO1xuICAgICAgICBzZXRQYWdlSW5mbyh7IGN1cnJlbnQ6IGRlZmF1bHRDdXJyZW50IH0pO1xuICAgICAgICB2b2lkIHJlbG9hZCgpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlYXJjaFJlc2V0ID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgLy8gVXNlIHRoZSBhcnJheSBmb3JtIChgcmVzZXRGaWVsZHMobmFtZXMpYCkg4oCUIHRoZSBuby1hcmcgZm9ybSByZS1pbnZva2VzIHRoZVxuICAgICAgICAvLyBmb3JtJ3Mgb3duIGBvblJlc2V0YCwgd2hpY2ggbG9vcHMgYmFjayBoZXJlIGFuZCByZWN1cnNlcyBpbmZpbml0ZWx5LlxuICAgICAgICAoX2EgPSBmb3JtUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5yZXNldEZpZWxkcyhzZWFyY2hGaWVsZE5hbWVzKTtcbiAgICAgICAgc2V0U2VhcmNoUGFyYW1zKHt9KTtcbiAgICAgICAgc2V0UGFnZUluZm8oeyBjdXJyZW50OiBkZWZhdWx0Q3VycmVudCB9KTtcbiAgICAgICAgdm9pZCByZWxvYWQoKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUYWJsZUNoYW5nZSA9IHVzZU1lbW9pemVkRm4oKG1ldGEpID0+IHtcbiAgICAgICAgaWYgKG1ldGEuc29ydGVyKSB7XG4gICAgICAgICAgICBjb25zdCB7IGNvbHVtbktleSwgb3JkZXIgfSA9IG1ldGEuc29ydGVyO1xuICAgICAgICAgICAgc2V0U29ydChjb2x1bW5LZXkgJiYgb3JkZXIgPyB7IFtTdHJpbmcoY29sdW1uS2V5KV06IG9yZGVyIH0gOiB7fSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1ldGEuZmlsdGVycylcbiAgICAgICAgICAgIHNldEZpbHRlcihtZXRhLmZpbHRlcnMpO1xuICAgICAgICBpZiAobWV0YS5zb3J0ZXIgfHwgbWV0YS5maWx0ZXJzKVxuICAgICAgICAgICAgc2V0UGFnZUluZm8oeyBjdXJyZW50OiBkZWZhdWx0Q3VycmVudCB9KTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG1ldGEpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVBhZ2VDaGFuZ2UgPSB1c2VNZW1vaXplZEZuKChwYWdlLCBwYWdlU2l6ZSkgPT4ge1xuICAgICAgICBzZXRQYWdlSW5mbyh7IGN1cnJlbnQ6IHBhZ2UsIHBhZ2VTaXplIH0pO1xuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2Uoe1xuICAgICAgICAgICAgY3VycmVudERhdGFTb3VyY2U6IGRhdGFTb3VyY2UsXG4gICAgICAgICAgICBhY3Rpb246ICdwYWdpbmF0ZScsXG4gICAgICAgICAgICBwYWdpbmF0aW9uOiB7IGN1cnJlbnQ6IHBhZ2UsIHBhZ2VTaXplIH0sXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIC8vIOKUgOKUgCBpbXBlcmF0aXZlIGhhbmRsZSDilIDilIBcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKGFjdGlvblJlZiwgKCkgPT4gKHtcbiAgICAgICAgcmVsb2FkOiAoKSA9PiByZWxvYWQoKSxcbiAgICAgICAgcmVsb2FkQW5kUmVzdDogKCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgc2V0UGFnZUluZm8oeyBjdXJyZW50OiBkZWZhdWx0Q3VycmVudCB9KTtcbiAgICAgICAgICAgIHlpZWxkIHJlbG9hZCgpO1xuICAgICAgICB9KSxcbiAgICAgICAgcmVzZXQ6ICgpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIChfYSA9IGZvcm1SZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnJlc2V0RmllbGRzKHNlYXJjaEZpZWxkTmFtZXMpO1xuICAgICAgICAgICAgc2V0U2VhcmNoUGFyYW1zKHNlYXJjaEluaXRpYWxWYWx1ZXMpO1xuICAgICAgICAgICAgc2V0U29ydCh7fSk7XG4gICAgICAgICAgICBzZXRGaWx0ZXIoe30pO1xuICAgICAgICAgICAgcmVzZXQoKTtcbiAgICAgICAgICAgIHZvaWQgcmVsb2FkKCk7XG4gICAgICAgIH0sXG4gICAgICAgIHNldFBhZ2VJbmZvLFxuICAgIH0pKTtcbiAgICAvLyDilIDilIAgc2VhcmNoIGZvcm0gbm9kZSAob25seSBidWlsdCB3aGVuIHRoZXJlIGFyZSBzZWFyY2hhYmxlIGNvbHVtbnMpIOKUgOKUgFxuICAgIGxldCBzZWFyY2hOb2RlID0gbnVsbDtcbiAgICBpZiAoaGFzU2VhcmNoKSB7XG4gICAgICAgIGNvbnN0IHNlYXJjaEZvcm0gPSAoX2pzeChRdWVyeUZpbHRlciwgeyBmb3JtUmVmOiBmb3JtUmVmLCBzaXplOiBcInNtYWxsXCIsIGluaXRpYWxWYWx1ZXM6IG1lcmdlZEluaXRpYWxWYWx1ZXMsIGRlZmF1bHRDb2xsYXBzZWQ6IHNlYXJjaENmZyA9PT0gbnVsbCB8fCBzZWFyY2hDZmcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlYXJjaENmZy5kZWZhdWx0Q29sbGFwc2VkLCBkZWZhdWx0Q29sc051bWJlcjogc2VhcmNoQ2ZnID09PSBudWxsIHx8IHNlYXJjaENmZyA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2VhcmNoQ2ZnLmRlZmF1bHRDb2xzTnVtYmVyLCBsYWJlbFdpZHRoOiBzZWFyY2hDZmcgPT09IG51bGwgfHwgc2VhcmNoQ2ZnID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWFyY2hDZmcubGFiZWxXaWR0aCwgc3luY1RvVXJsOiBzeW5jVG9VcmwsIHNlYXJjaENvbmZpZzoge1xuICAgICAgICAgICAgICAgIHNlYXJjaFRleHQ6IChfYSA9IHNlYXJjaENmZyA9PT0gbnVsbCB8fCBzZWFyY2hDZmcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlYXJjaENmZy5zZWFyY2hUZXh0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBERUZBVUxUX1RFWFQuc2VhcmNoLFxuICAgICAgICAgICAgICAgIHJlc2V0VGV4dDogKF9iID0gc2VhcmNoQ2ZnID09PSBudWxsIHx8IHNlYXJjaENmZyA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2VhcmNoQ2ZnLnJlc2V0VGV4dCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogREVGQVVMVF9URVhULnJlc2V0LFxuICAgICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgfSwgb25GaW5pc2g6IGhhbmRsZVNlYXJjaEZpbmlzaCwgb25SZXNldDogaGFuZGxlU2VhcmNoUmVzZXQsIGNoaWxkcmVuOiBzZWFyY2hGaWVsZHMgfSkpO1xuICAgICAgICBzZWFyY2hOb2RlID0gKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3NlYXJjaCcpLCBjaGlsZHJlbjogc2VhcmNoRm9ybVJlbmRlciA/IHNlYXJjaEZvcm1SZW5kZXIoc2VhcmNoRm9ybSkgOiBzZWFyY2hGb3JtIH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh1bmRlZmluZWQsIGNsYXNzTmFtZSksIGNoaWxkcmVuOiBbc2VhcmNoTm9kZSwgX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRhaW5lcicpLCBjaGlsZHJlbjogW19qc3goVGFibGUsIHsgcm93S2V5OiByb3dLZXksIGNvbHVtbnM6IHRhYmxlQ29sdW1ucywgZGF0YVNvdXJjZTogZGF0YVNvdXJjZSwgbG9hZGluZzogbG9hZGluZywgc2l6ZTogc2l6ZSwgcGFnaW5hdGlvbjogZmFsc2UsIHJvd1NlbGVjdGlvbjogcm93U2VsZWN0aW9uLCBvbkNoYW5nZTogaGFuZGxlVGFibGVDaGFuZ2UsIHZhcmlhbnQ6IHZhcmlhbnQsIGJvcmRlcmVkOiBib3JkZXJlZCwgc2Nyb2xsOiBzY3JvbGwsIHN0aWNreTogc3RpY2t5LCBleHBhbmRhYmxlOiBleHBhbmRhYmxlLCBlbXB0eTogZW1wdHksIHRhYmxlTGF5b3V0OiB0YWJsZUxheW91dCwgcm93Q2xhc3NOYW1lOiByb3dDbGFzc05hbWUsIG9uUm93OiBvblJvdywgc3VtbWFyeTogc3VtbWFyeSwgZm9vdGVyOiBmb290ZXIgfSksIHBhZ2luYXRlZCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFnaW5hdGlvbicpLCBjaGlsZHJlbjogX2pzeChQYWdpbmF0aW9uLCB7IHRvdGFsOiBwYWdlSW5mby50b3RhbCwgY3VycmVudDogcGFnZUluZm8uY3VycmVudCwgcGFnZVNpemU6IHBhZ2VJbmZvLnBhZ2VTaXplLCBvbkNoYW5nZTogaGFuZGxlUGFnZUNoYW5nZSB9KSB9KSldIH0pXSB9KSk7XG59XG5leHBvcnQgY29uc3QgUHJvVGFibGUgPSBtZW1vKFByb1RhYmxlSW5uZXIpO1xuZXhwb3J0IGRlZmF1bHQgUHJvVGFibGU7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** BEM class prefix (root class becomes `om-component-ui-pro-table`). */
|
|
2
|
+
export declare const CSS_PREFIX = "pro-table";
|
|
3
|
+
/** Lightweight valueType set supported in v1 — drives cell render + search field. */
|
|
4
|
+
export declare const VALUE_TYPES: readonly ["text", "select", "date", "dateRange", "digit"];
|
|
5
|
+
export type ProTableValueType = (typeof VALUE_TYPES)[number];
|
|
6
|
+
export declare const DEFAULT_PAGE_SIZE = 10;
|
|
7
|
+
export declare const DEFAULT_CURRENT = 1;
|
|
8
|
+
/** User-facing strings — no magic strings in the component code. */
|
|
9
|
+
export declare const DEFAULT_TEXT: {
|
|
10
|
+
readonly search: "Search";
|
|
11
|
+
readonly reset: "Reset";
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** BEM class prefix (root class becomes `om-component-ui-pro-table`). */
|
|
2
|
+
export var CSS_PREFIX = 'pro-table';
|
|
3
|
+
/** Lightweight valueType set supported in v1 — drives cell render + search field. */
|
|
4
|
+
export var VALUE_TYPES = ['text', 'select', 'date', 'dateRange', 'digit'];
|
|
5
|
+
export var DEFAULT_PAGE_SIZE = 10;
|
|
6
|
+
export var DEFAULT_CURRENT = 1;
|
|
7
|
+
/** User-facing strings — no magic strings in the component code. */
|
|
8
|
+
export var DEFAULT_TEXT = {
|
|
9
|
+
search: 'Search',
|
|
10
|
+
reset: 'Reset'
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvVGFibGUvY29uc3RhbnRzLnRzIiwiY29tcG9uZW50cy9Qcm9UYWJsZS9jb25zdGFudHMuanMiXSwibmFtZXMiOlsiQ1NTX1BSRUZJWCIsIlZBTFVFX1RZUEVTIiwiREVGQVVMVF9QQUdFX1NJWkUiLCJERUZBVUxUX0NVUlJFTlQiLCJERUZBVUxUX1RFWFQiLCJzZWFyY2giLCJyZXNldCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxPQUFPLElBQU1BLFVBQVUsR0FBRyxXQUFXO0FBRXJDO0FBQ0EsT0FBTyxJQUFNQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFVO0FBR3BGLE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsRUFBRTtBQUNuQyxPQUFPLElBQU1DLGVBQWUsR0FBRyxDQUFDO0FBRWhDO0FBQ0EsT0FBTyxJQUFNQyxZQUFZLEdBQUc7RUFDMUJDLE1BQU0sRUFBRSxRQUFRO0VBQ2hCQyxLQUFLLEVBQUU7QUNIVCxDRElVIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvVGFibGUvY29uc3RhbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCIvKiogQkVNIGNsYXNzIHByZWZpeCAocm9vdCBjbGFzcyBiZWNvbWVzIGBvbS1jb21wb25lbnQtdWktcHJvLXRhYmxlYCkuICovXG5leHBvcnQgY29uc3QgQ1NTX1BSRUZJWCA9ICdwcm8tdGFibGUnO1xuLyoqIExpZ2h0d2VpZ2h0IHZhbHVlVHlwZSBzZXQgc3VwcG9ydGVkIGluIHYxIOKAlCBkcml2ZXMgY2VsbCByZW5kZXIgKyBzZWFyY2ggZmllbGQuICovXG5leHBvcnQgY29uc3QgVkFMVUVfVFlQRVMgPSBbJ3RleHQnLCAnc2VsZWN0JywgJ2RhdGUnLCAnZGF0ZVJhbmdlJywgJ2RpZ2l0J107XG5leHBvcnQgY29uc3QgREVGQVVMVF9QQUdFX1NJWkUgPSAxMDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NVUlJFTlQgPSAxO1xuLyoqIFVzZXItZmFjaW5nIHN0cmluZ3Mg4oCUIG5vIG1hZ2ljIHN0cmluZ3MgaW4gdGhlIGNvbXBvbmVudCBjb2RlLiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEVYVCA9IHtcbiAgICBzZWFyY2g6ICdTZWFyY2gnLFxuICAgIHJlc2V0OiAnUmVzZXQnLFxufTsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { TableColumn, TableRecord } from "../../Table";
|
|
3
|
+
import type { ProColumns } from '../interface';
|
|
4
|
+
/**
|
|
5
|
+
* Convert Pro columns into base Table columns: drop `hideInTable` columns, strip
|
|
6
|
+
* Pro-only fields, and — for any column without an explicit `render` — attach a
|
|
7
|
+
* value-type-driven cell renderer that falls back to `emptyText` for empty
|
|
8
|
+
* values. An explicit `render` always wins and is left untouched.
|
|
9
|
+
*/
|
|
10
|
+
export declare function genColumns<T extends TableRecord>(columns: ProColumns<T>[], emptyText?: ReactNode): TableColumn<T>[];
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
2
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
3
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
4
|
+
var DEFAULT_EMPTY_TEXT = '-';
|
|
5
|
+
/** Pro-only column fields that must NOT leak onto the base Table column object. */
|
|
6
|
+
var PRO_COLUMN_KEYS = ['valueType', 'valueEnum', 'search', 'hideInTable', 'hideInSearch', 'renderFormItem', 'fieldProps', 'initialValue', 'order'];
|
|
7
|
+
function toBaseColumn(column) {
|
|
8
|
+
var clone = Object.assign({}, column);
|
|
9
|
+
var _iterator = _createForOfIteratorHelper(PRO_COLUMN_KEYS),
|
|
10
|
+
_step;
|
|
11
|
+
try {
|
|
12
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
13
|
+
var key = _step.value;
|
|
14
|
+
delete clone[key];
|
|
15
|
+
}
|
|
16
|
+
} catch (err) {
|
|
17
|
+
_iterator.e(err);
|
|
18
|
+
} finally {
|
|
19
|
+
_iterator.f();
|
|
20
|
+
}
|
|
21
|
+
return clone;
|
|
22
|
+
}
|
|
23
|
+
function isEmptyValue(value) {
|
|
24
|
+
return value === null || value === undefined || value === '' || Array.isArray(value) && value.length === 0;
|
|
25
|
+
}
|
|
26
|
+
function enumText(valueEnum, value) {
|
|
27
|
+
if (!valueEnum) return value;
|
|
28
|
+
var item = valueEnum[value];
|
|
29
|
+
if (item === undefined) return value;
|
|
30
|
+
return typeof item === 'string' ? item : item.text;
|
|
31
|
+
}
|
|
32
|
+
function formatDate(value) {
|
|
33
|
+
if (value instanceof Date) return value.toLocaleDateString();
|
|
34
|
+
var date = new Date(value);
|
|
35
|
+
return Number.isNaN(date.getTime()) ? String(value) : date.toLocaleDateString();
|
|
36
|
+
}
|
|
37
|
+
function formatDateRange(value) {
|
|
38
|
+
if (!Array.isArray(value)) return String(value);
|
|
39
|
+
return value.map(function (item) {
|
|
40
|
+
return formatDate(item);
|
|
41
|
+
}).join(' ~ ');
|
|
42
|
+
}
|
|
43
|
+
function formatDigit(value) {
|
|
44
|
+
var num = Number(value);
|
|
45
|
+
return Number.isNaN(num) ? String(value) : num.toLocaleString();
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Convert Pro columns into base Table columns: drop `hideInTable` columns, strip
|
|
49
|
+
* Pro-only fields, and — for any column without an explicit `render` — attach a
|
|
50
|
+
* value-type-driven cell renderer that falls back to `emptyText` for empty
|
|
51
|
+
* values. An explicit `render` always wins and is left untouched.
|
|
52
|
+
*/
|
|
53
|
+
export function genColumns(columns) {
|
|
54
|
+
var emptyText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_EMPTY_TEXT;
|
|
55
|
+
return columns.filter(function (column) {
|
|
56
|
+
return column.hideInTable !== true;
|
|
57
|
+
}).map(function (column) {
|
|
58
|
+
var base = toBaseColumn(column);
|
|
59
|
+
if (base.render) return base;
|
|
60
|
+
var valueType = column.valueType,
|
|
61
|
+
valueEnum = column.valueEnum;
|
|
62
|
+
base.render = function (value) {
|
|
63
|
+
if (isEmptyValue(value)) return emptyText;
|
|
64
|
+
switch (valueType) {
|
|
65
|
+
case 'select':
|
|
66
|
+
return enumText(valueEnum, value);
|
|
67
|
+
case 'date':
|
|
68
|
+
return formatDate(value);
|
|
69
|
+
case 'dateRange':
|
|
70
|
+
return formatDateRange(value);
|
|
71
|
+
case 'digit':
|
|
72
|
+
return formatDigit(value);
|
|
73
|
+
case 'text':
|
|
74
|
+
default:
|
|
75
|
+
return value;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
return base;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvVGFibGUvc3JjL2NvbXBvbmVudHMvUHJvVGFibGUvY29yZS9nZW5Db2x1bW5zLnRzeCIsImNvbXBvbmVudHMvUHJvVGFibGUvY29yZS9nZW5Db2x1bW5zLmpzIl0sIm5hbWVzIjpbIkRFRkFVTFRfRU1QVFlfVEVYVCIsIlBST19DT0xVTU5fS0VZUyIsInRvQmFzZUNvbHVtbiIsImNvbHVtbiIsImNsb25lIiwiT2JqZWN0IiwiYXNzaWduIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsImtleSIsInZhbHVlIiwiZXJyIiwiZSIsImYiLCJpc0VtcHR5VmFsdWUiLCJ1bmRlZmluZWQiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJlbnVtVGV4dCIsInZhbHVlRW51bSIsIml0ZW0iLCJ0ZXh0IiwiZm9ybWF0RGF0ZSIsIkRhdGUiLCJ0b0xvY2FsZURhdGVTdHJpbmciLCJkYXRlIiwiTnVtYmVyIiwiaXNOYU4iLCJnZXRUaW1lIiwiU3RyaW5nIiwiZm9ybWF0RGF0ZVJhbmdlIiwibWFwIiwiam9pbiIsImZvcm1hdERpZ2l0IiwibnVtIiwidG9Mb2NhbGVTdHJpbmciLCJnZW5Db2x1bW5zIiwiY29sdW1ucyIsImVtcHR5VGV4dCIsImFyZ3VtZW50cyIsImZpbHRlciIsImhpZGVJblRhYmxlIiwiYmFzZSIsInJlbmRlciIsInZhbHVlVHlwZSJdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsSUFBTUEsa0JBQWtCLEdBQUcsR0FBRztBQUU5QjtBQUNBLElBQU1DLGVBQWUsR0FBRyxDQUN0QixXQUFXLEVBQ1gsV0FBVyxFQUNYLFFBQVEsRUFDUixhQUFhLEVBQ2IsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osY0FBYyxFQUNkLE9BQU8sQ0FDQztBQUVWLFNBQVNDLFlBQVlBLENBQXdCQyxNQUFxQixFQUFBO0VBQ2hFLElBQU1DLEtBQUssR0FBQUMsTUFBQSxDQUFB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R0FBRzdDLFlBQVksQ0FBQ0MsTUFBTSxDQUFDO0lBQ2pDLElBQUk0QyxJQUFJLENBQUNDLE1BQU0sRUFBRSxPQUFPRCxJQUFJO0lBRTVCLElBQVFFLFNBQVMsR0FBZ0I5QyxNQUFNLENBQS9COEMsU0FBUztNQUFFekIsU0FBUyxHQUFLckIsTUFBTSxDQUFwQnFCLFNBQVM7SUFDNUJ1QixJQUFJLENBQUNDLE1BQU0sR0FBRyxVQUFDbEMsS0FBSyxFQUFJO01BQ3RCLElBQUlJLFlBQVksQ0FBQ0osS0FBSyxDQUFDLEVBQUUsT0FBTzZCLFNBQVM7TUFDekMsUUFBUU0sU0FBUztRQUNmLEtBQUssUUFBUTtVQUNYLE9BQU8xQixRQUFRLENBQUNDLFNBQVMsRUFBRVYsS0FBSyxDQUFDO1FBQ25DLEtBQUssTUFBTTtVQUNULE9BQU9hLFVBQVUsQ0FBQ2IsS0FBSyxDQUFDO1FBQzFCLEtBQUssV0FBVztVQUNkLE9BQU9xQixlQUFlLENBQUNyQixLQUFLLENBQUM7UUFDL0IsS0FBSyxPQUFPO1VBQ1YsT0FBT3dCLFdBQVcsQ0FBQ3hCLEtBQUssQ0FBQztRQUMzQixLQUFLLE1BQU07UUFDWDtVQUNFLE9BQU9BLEtBQWtCO01BQzdCO0lBQ0YsQ0FBQztJQUNELE9BQU9pQyxJQUFJO0VBQ2IsQ0FBQyxDQUFDO0FBQ04iLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9UYWJsZS9jb3JlL2dlbkNvbHVtbnMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImNvbnN0IERFRkFVTFRfRU1QVFlfVEVYVCA9ICctJztcbi8qKiBQcm8tb25seSBjb2x1bW4gZmllbGRzIHRoYXQgbXVzdCBOT1QgbGVhayBvbnRvIHRoZSBiYXNlIFRhYmxlIGNvbHVtbiBvYmplY3QuICovXG5jb25zdCBQUk9fQ09MVU1OX0tFWVMgPSBbXG4gICAgJ3ZhbHVlVHlwZScsXG4gICAgJ3ZhbHVlRW51bScsXG4gICAgJ3NlYXJjaCcsXG4gICAgJ2hpZGVJblRhYmxlJyxcbiAgICAnaGlkZUluU2VhcmNoJyxcbiAgICAncmVuZGVyRm9ybUl0ZW0nLFxuICAgICdmaWVsZFByb3BzJyxcbiAgICAnaW5pdGlhbFZhbHVlJyxcbiAgICAnb3JkZXInLFxuXTtcbmZ1bmN0aW9uIHRvQmFzZUNvbHVtbihjb2x1bW4pIHtcbiAgICBjb25zdCBjbG9uZSA9IE9iamVjdC5hc3NpZ24oe30sIGNvbHVtbik7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgUFJPX0NPTFVNTl9LRVlTKVxuICAgICAgICBkZWxldGUgY2xvbmVba2V5XTtcbiAgICByZXR1cm4gY2xvbmU7XG59XG5mdW5jdGlvbiBpc0VtcHR5VmFsdWUodmFsdWUpIHtcbiAgICByZXR1cm4gKHZhbHVlID09PSBudWxsIHx8XG4gICAgICAgIHZhbHVlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgdmFsdWUgPT09ICcnIHx8XG4gICAgICAgIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApKTtcbn1cbmZ1bmN0aW9uIGVudW1UZXh0KHZhbHVlRW51bSwgdmFsdWUpIHtcbiAgICBpZiAoIXZhbHVlRW51bSlcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIGNvbnN0IGl0ZW0gPSB2YWx1ZUVudW1bdmFsdWVdO1xuICAgIGlmIChpdGVtID09PSB1bmRlZmluZWQpXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICByZXR1cm4gdHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnID8gaXRlbSA6IGl0ZW0udGV4dDtcbn1cbmZ1bmN0aW9uIGZvcm1hdERhdGUodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKVxuICAgICAgICByZXR1cm4gdmFsdWUudG9Mb2NhbGVEYXRlU3RyaW5nKCk7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICByZXR1cm4gTnVtYmVyLmlzTmFOKGRhdGUuZ2V0VGltZSgpKSA/IFN0cmluZyh2YWx1ZSkgOiBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xufVxuZnVuY3Rpb24gZm9ybWF0RGF0ZVJhbmdlKHZhbHVlKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSlcbiAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgcmV0dXJuIHZhbHVlLm1hcCgoaXRlbSkgPT4gZm9ybWF0RGF0ZShpdGVtKSkuam9pbignIH4gJyk7XG59XG5mdW5jdGlvbiBmb3JtYXREaWdpdCh2YWx1ZSkge1xuICAgIGNvbnN0IG51bSA9IE51bWJlcih2YWx1ZSk7XG4gICAgcmV0dXJuIE51bWJlci5pc05hTihudW0pID8gU3RyaW5nKHZhbHVlKSA6IG51bS50b0xvY2FsZVN0cmluZygpO1xufVxuLyoqXG4gKiBDb252ZXJ0IFBybyBjb2x1bW5zIGludG8gYmFzZSBUYWJsZSBjb2x1bW5zOiBkcm9wIGBoaWRlSW5UYWJsZWAgY29sdW1ucywgc3RyaXBcbiAqIFByby1vbmx5IGZpZWxkcywgYW5kIOKAlCBmb3IgYW55IGNvbHVtbiB3aXRob3V0IGFuIGV4cGxpY2l0IGByZW5kZXJgIOKAlCBhdHRhY2ggYVxuICogdmFsdWUtdHlwZS1kcml2ZW4gY2VsbCByZW5kZXJlciB0aGF0IGZhbGxzIGJhY2sgdG8gYGVtcHR5VGV4dGAgZm9yIGVtcHR5XG4gKiB2YWx1ZXMuIEFuIGV4cGxpY2l0IGByZW5kZXJgIGFsd2F5cyB3aW5zIGFuZCBpcyBsZWZ0IHVudG91Y2hlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbkNvbHVtbnMoY29sdW1ucywgZW1wdHlUZXh0ID0gREVGQVVMVF9FTVBUWV9URVhUKSB7XG4gICAgcmV0dXJuIGNvbHVtbnNcbiAgICAgICAgLmZpbHRlcigoY29sdW1uKSA9PiBjb2x1bW4uaGlkZUluVGFibGUgIT09IHRydWUpXG4gICAgICAgIC5tYXAoKGNvbHVtbikgPT4ge1xuICAgICAgICBjb25zdCBiYXNlID0gdG9CYXNlQ29sdW1uKGNvbHVtbik7XG4gICAgICAgIGlmIChiYXNlLnJlbmRlcilcbiAgICAgICAgICAgIHJldHVybiBiYXNlO1xuICAgICAgICBjb25zdCB7IHZhbHVlVHlwZSwgdmFsdWVFbnVtIH0gPSBjb2x1bW47XG4gICAgICAgIGJhc2UucmVuZGVyID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNFbXB0eVZhbHVlKHZhbHVlKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gZW1wdHlUZXh0O1xuICAgICAgICAgICAgc3dpdGNoICh2YWx1ZVR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW51bVRleHQodmFsdWVFbnVtLCB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmb3JtYXREYXRlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICBjYXNlICdkYXRlUmFuZ2UnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0RGF0ZVJhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICBjYXNlICdkaWdpdCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmb3JtYXREaWdpdCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYmFzZTtcbiAgICB9KTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { TableRecord } from "../../Table";
|
|
3
|
+
import type { ProColumns } from '../interface';
|
|
4
|
+
export interface SearchFieldsResult {
|
|
5
|
+
fields: ReactNode[];
|
|
6
|
+
initialValues: Record<string, unknown>;
|
|
7
|
+
/** Names of every generated search field — used to reset the form safely. */
|
|
8
|
+
names: string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Build the QueryFilter children (ProForm fields) from searchable columns, plus
|
|
12
|
+
* the aggregated initial values. `renderFormItem` overrides the valueType mapping.
|
|
13
|
+
*/
|
|
14
|
+
export declare function genSearchFields<T extends TableRecord>(columns: ProColumns<T>[]): SearchFieldsResult;
|
|
15
|
+
/**
|
|
16
|
+
* Apply per-column `search.transform` to submitted values, replacing the original
|
|
17
|
+
* field name with the mapped params.
|
|
18
|
+
*/
|
|
19
|
+
export declare function applySearchTransforms<T extends TableRecord>(values: Record<string, unknown>, columns: ProColumns<T>[]): Record<string, unknown>;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { ProForm } from '../../ProForm';
|
|
4
|
+
import { getColumnSearchName } from './utils';
|
|
5
|
+
function isSearchable(column) {
|
|
6
|
+
if (column.hideInSearch === true || column.search === false) return false;
|
|
7
|
+
return Boolean(column.renderFormItem || column.valueType);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Build the QueryFilter children (ProForm fields) from searchable columns, plus
|
|
11
|
+
* the aggregated initial values. `renderFormItem` overrides the valueType mapping.
|
|
12
|
+
*/
|
|
13
|
+
export function genSearchFields(columns) {
|
|
14
|
+
var initialValues = {};
|
|
15
|
+
var names = [];
|
|
16
|
+
var fields = columns.filter(isSearchable).map(function (column, index) {
|
|
17
|
+
return {
|
|
18
|
+
column: column,
|
|
19
|
+
name: getColumnSearchName(column),
|
|
20
|
+
index: index
|
|
21
|
+
};
|
|
22
|
+
}).filter(function (entry) {
|
|
23
|
+
return entry.name !== null;
|
|
24
|
+
}).sort(function (a, b) {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
return ((_a = a.column.order) !== null && _a !== void 0 ? _a : a.index) - ((_b = b.column.order) !== null && _b !== void 0 ? _b : b.index);
|
|
27
|
+
}).map(function (_ref) {
|
|
28
|
+
var column = _ref.column,
|
|
29
|
+
name = _ref.name;
|
|
30
|
+
names.push(name);
|
|
31
|
+
if (column.initialValue !== undefined) initialValues[name] = column.initialValue;
|
|
32
|
+
if (column.renderFormItem) {
|
|
33
|
+
return _jsx("span", {
|
|
34
|
+
children: column.renderFormItem()
|
|
35
|
+
}, name);
|
|
36
|
+
}
|
|
37
|
+
var fieldProps = column.fieldProps;
|
|
38
|
+
// No labels — use the column title as the placeholder so the field stays self-describing.
|
|
39
|
+
var placeholder = typeof column.title === 'string' ? column.title : undefined;
|
|
40
|
+
switch (column.valueType) {
|
|
41
|
+
case 'select':
|
|
42
|
+
return _jsx(ProForm.Select, {
|
|
43
|
+
name: name,
|
|
44
|
+
placeholder: placeholder,
|
|
45
|
+
valueEnum: column.valueEnum,
|
|
46
|
+
fieldProps: fieldProps
|
|
47
|
+
}, name);
|
|
48
|
+
case 'date':
|
|
49
|
+
return _jsx(ProForm.DatePicker, {
|
|
50
|
+
name: name,
|
|
51
|
+
placeholder: placeholder,
|
|
52
|
+
fieldProps: fieldProps
|
|
53
|
+
}, name);
|
|
54
|
+
case 'dateRange':
|
|
55
|
+
return _jsx(ProForm.DatePicker, {
|
|
56
|
+
name: name,
|
|
57
|
+
placeholder: placeholder,
|
|
58
|
+
fieldProps: Object.assign({
|
|
59
|
+
selectionMode: 'range'
|
|
60
|
+
}, fieldProps)
|
|
61
|
+
}, name);
|
|
62
|
+
case 'digit':
|
|
63
|
+
return _jsx(ProForm.Text, {
|
|
64
|
+
name: name,
|
|
65
|
+
placeholder: placeholder,
|
|
66
|
+
fieldProps: Object.assign({
|
|
67
|
+
type: 'number'
|
|
68
|
+
}, fieldProps)
|
|
69
|
+
}, name);
|
|
70
|
+
case 'text':
|
|
71
|
+
default:
|
|
72
|
+
return _jsx(ProForm.Text, {
|
|
73
|
+
name: name,
|
|
74
|
+
placeholder: placeholder,
|
|
75
|
+
fieldProps: fieldProps
|
|
76
|
+
}, name);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
return {
|
|
80
|
+
fields: fields,
|
|
81
|
+
initialValues: initialValues,
|
|
82
|
+
names: names
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Apply per-column `search.transform` to submitted values, replacing the original
|
|
87
|
+
* field name with the mapped params.
|
|
88
|
+
*/
|
|
89
|
+
export function applySearchTransforms(values, columns) {
|
|
90
|
+
var result = Object.assign({}, values);
|
|
91
|
+
columns.forEach(function (column) {
|
|
92
|
+
if (_typeof(column.search) === 'object' && column.search.transform) {
|
|
93
|
+
var name = getColumnSearchName(column);
|
|
94
|
+
if (name && name in result) {
|
|
95
|
+
var mapped = column.search.transform(result[name]);
|
|
96
|
+
delete result[name];
|
|
97
|
+
Object.assign(result, mapped);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
return result;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvVGFibGUvY29yZS9nZW5TZWFyY2hGaWVsZHMuanMiLCJjb21wb25lbnRzL1Byb1RhYmxlL3NyYy9jb21wb25lbnRzL1Byb1RhYmxlL2NvcmUvZ2VuU2VhcmNoRmllbGRzLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwiUHJvRm9ybSIsImdldENvbHVtblNlYXJjaE5hbWUiLCJpc1NlYXJjaGFibGUiLCJjb2x1bW4iLCJoaWRlSW5TZWFyY2giLCJzZWFyY2giLCJCb29sZWFuIiwicmVuZGVyRm9ybUl0ZW0iLCJ2YWx1ZVR5cGUiLCJnZW5TZWFyY2hGaWVsZHMiLCJjb2x1bW5zIiwiaW5pdGlhbFZhbHVlcyIsIm5hbWVzIiwiZmllbGRzIiwiZmlsdGVyIiwibWFwIiwiaW5kZXgiLCJuYW1lIiwiZW50cnkiLCJzb3J0IiwiYSIsImIiLCJfYSIsIl9iIiwib3JkZXIiLCJfcmVmIiwicHVzaCIsImluaXRpYWxWYWx1ZSIsInVuZGVmaW5lZCIsImNoaWxkcmVuIiwiZmllbGRQcm9wcyIsInBsYWNlaG9sZGVyIiwidGl0bGUiLCJTZWxlY3QiLCJ2YWx1ZUVudW0iLCJEYXRlUGlja2VyIiwiT2JqZWN0IiwiYXNzaWduIiwic2VsZWN0aW9uTW9kZSIsIlRleHQiLCJ0eXBlIiwiYXBwbHlTZWFyY2hUcmFuc2Zvcm1zIiwidmFsdWVzIiwicmVzdWx0IiwiZm9yRWFjaCIsIl90eXBlb2YiLCJ0cmFuc2Zvcm0iLCJtYXBwZWQiXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksUUFBUSxtQkFBbUI7QUNDL0MsU0FBU0MsT0FBTyxRQUFRLGVBQWU7QUFHdkMsU0FBU0MsbUJBQW1CLFFBQVEsU0FBUztBQVM3QyxTQUFTQyxZQUFZQSxDQUF3QkMsTUFBcUIsRUFBQTtFQUNoRSxJQUFJQSxNQUFNLENBQUNDLFlBQVksS0FBSyxJQUFJLElBQUlELE1BQU0sQ0FBQ0UsTUFBTSxLQUFLLEtBQUssRUFBRSxPQUFPLEtBQUs7RUFDekUsT0FBT0MsT0FBTyxDQUFDSCxNQUFNLENBQUNJLGNBQWMsSUFBSUosTUFBTSxDQUFDSyxTQUFTLENBQUM7QUFDM0Q7QUFFQTtBRFRBO0FBQ0E7QUFDQTtBQ1dBLE9BQU0sU0FBVUMsZUFBZUEsQ0FBd0JDLE9BQXdCLEVBQUE7RUFDN0UsSUFBTUMsYUFBYSxHQUE0QixDQUFBLENBQUU7RUFDakQsSUFBTUMsS0FBSyxHQUFhLEVBQUU7RUFFMUIsSUFBTUMsTUFBTSxHQUFHSCxPQUFPLENBQ25CSSxNQUFNLENBQUNaLFlBQVksQ0FBQyxDQUNwQmEsR0FBRyxDQUFDLFVBQUNaLE1BQU0sRUFBRWEsS0FBSztJQUFBLE9BQU07TUFBRWIsTUFBTSxFQUFOQSxNQUFNO01BQUVjLElBQUksRUFBRWhCLG1CQUFtQixDQUFDRSxNQUFNLENBQUM7TUFBRWEsS0FBSyxFQUFMQTtJQUFLLENBQUU7RUFBQSxDQUFDLENBQUMsQ0FDOUVGLE1BQU0sQ0FBQyxVQUFDSSxLQUFLO0lBQUEsT0FBc0VBLEtBQUssQ0FBQ0QsSUFBSSxLQUFLLElBQUk7RUFBQSxFQUFDLENBQ3ZHRSxJQUFJLENBQUMsVUFBQ0MsQ0FBQyxFQUFFQyxDQUFDLEVBQUk7SUFBQSxJQUFBQyxFQUFBLEVBQUFDLEVBQUE7SUFBQyxPQUFBLENBQUMsQ0FBQUQsRUFBQSxHQUFBRixDQUFDLENBQUNqQixNQUFNLENBQUNxQixLQUFLLE1BQUEsSUFBQSxJQUFBRixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSUYsQ0FBQyxDQUFDSixLQUFLLEtBQUssQ0FBQU8sRUFBQSxHQUFBRixDQUFDLENBQUNsQixNQUFNLENBQUNxQixLQUFLLE1BQUEsSUFBQSxJQUFBRCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSUYsQ0FBQyxDQUFDTCxLQUFLLENBQUM7RUFBQSxDQUFBLENBQUMsQ0FDekVELEdBQUcsQ0FBQyxVQUFBVSxJQUFBLEVBQXFCO0lBQUEsSUFBbEJ0QixNQUFNLEdBQUFzQixJQUFBLENBQU50QixNQUFNO01BQUVjLElBQUksR0FBQVEsSUFBQSxDQUFKUixJQUFJO0lBQ2xCTCxLQUFLLENBQUNjLElBQUksQ0FBQ1QsSUFBSSxDQUFDO0lBQ2hCLElBQUlkLE1BQU0sQ0FBQ3dCLFlBQVksS0FBS0MsU0FBUyxFQUFFakIsYUFBYSxDQUFDTSxJQUFJLENBQUMsR0FBR2QsTUFBTSxDQUFDd0IsWUFBWTtJQUVoRixJQUFJeEIsTUFBTSxDQUFDSSxjQUFjLEVBQUU7TUFDekIsT0FBT1IsSUFBQSxDQUFBLE1BQUEsRUFBQTtRQUFBOEIsUUFBQSxFQUFrQjFCLE1BQU0sQ0FBQ0ksY0FBYyxDQUFBO01BQUUsQ0FBQSxFQUE5QlUsSUFBSSxDQUFrQztJQUMxRDtJQUVBLElBQU1hLFVBQVUsR0FBRzNCLE1BQU0sQ0FBQzJCLFVBQVU7SUFDcEM7SUFDQSxJQUFNQyxXQUFXLEdBQUcsT0FBTzVCLE1BQU0sQ0FBQzZCLEtBQUssS0FBSyxRQUFRLEdBQUc3QixNQUFNLENBQUM2QixLQUFLLEdBQUdKLFNBQVM7SUFFL0UsUUFBUXpCLE1BQU0sQ0FBQ0ssU0FBUztNQUN0QixLQUFLLFFBQVE7UUFDWCxPQUNFVCxJQUFBLENBQUNDLE9BQU8sQ0FBQ2lDLE1BQU0sRUFBQTtVQUViaEIsSUFBSSxFQUFFQSxJQUFJO1VBQ1ZjLFdBQVcsRUFBRUEsV0FBVztVQUN4QkcsU0FBUyxFQUFFL0IsTUFBTSxDQUFDK0IsU0FBUztVQUMzQkosVUFBVSxFQUFFQTtRQUFVLENBQUEsRUFKakJiLElBQUksQ0FLVDtNQUVOLEtBQUssTUFBTTtRQUNULE9BQU9sQixJQUFBLENBQUNDLE9BQU8sQ0FBQ21DLFVBQVUsRUFBQTtVQUFZbEIsSUFBSSxFQUFFQSxJQUFJO1VBQUVjLFdBQVcsRUFBRUEsV0FBVztVQUFFRCxVQUFVLEVBQUVBO1FBQVUsQ0FBQSxFQUFsRWIsSUFBSSxDQUFrRTtNQUN4RyxLQUFLLFdBQVc7UUFDZCxPQUNFbEIsSUFBQSxDQUFDQyxPQUFPLENBQUNtQyxVQUFVLEVBQUE7VUFFakJsQixJQUFJLEVBQUVBLElBQUk7VUFDVmMsV0FBVyxFQUFFQSxXQUFXO1VBQ3hCRCxVQUFVLEVBQUFNLE1BQUEsQ0FBQUMsTUFBQSxDQUFBO1lBQUlDLGFBQWEsRUFBRTtVQUFPLENBQUEsRUFBS1IsVUFBVTtRQUFBLENBQUEsRUFIOUNiLElBQUksQ0FJVDtNQUVOLEtBQUssT0FBTztRQUNWLE9BQ0VsQixJQUFBLENBQUNDLE9BQU8sQ0FBQ3VDLElBQUksRUFBQTtVQUVYdEIsSUFBSSxFQUFFQSxJQUFJO1VBQ1ZjLFdBQVcsRUFBRUEsV0FBVztVQUN4QkQsVUFBVSxFQUFBTSxNQUFBLENBQUFDLE1BQUEsQ0FBQTtZQUFJRyxJQUFJLEVBQUU7VUFBUSxDQUFBLEVBQUtWLFVBQVU7UUFBQSxDQUFBLEVBSHRDYixJQUFJLENBSVQ7TUFFTixLQUFLLE1BQU07TUFDWDtRQUNFLE9BQU9sQixJQUFBLENBQUNDLE9BQU8sQ0FBQ3VDLElBQUksRUFBQTtVQUFZdEIsSUFBSSxFQUFFQSxJQUFJO1VBQUVjLFdBQVcsRUFBRUEsV0FBVztVQUFFRCxVQUFVLEVBQUVBO1FBQVUsQ0FBQSxFQUFsRWIsSUFBSSxDQUFrRTtJQUNwRztFQUNGLENBQUMsQ0FBQztFQUVKLE9BQU87SUFBRUosTUFBTSxFQUFOQSxNQUFNO0lBQUVGLGFBQWEsRUFBYkEsYUFBYTtJQUFFQyxLQUFLLEVBQUxBO0VBQUssQ0FBRTtBQUN6QztBQUVBO0FEcENBO0FBQ0E7QUFDQTtBQ3NDQSxPQUFNLFNBQVU2QixxQkFBcUJBLENBQ25DQyxNQUErQixFQUMvQmhDLE9BQXdCLEVBQUE7RUFFeEIsSUFBTWlDLE1BQU0sR0FBQVAsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQWlDSyxNQUFNLENBQUU7RUFDckRoQyxPQUFPLENBQUNrQyxPQUFPLENBQUMsVUFBQ3pDLE1BQU0sRUFBSTtJQUN6QixJQUFJMEMsT0FBQSxDQUFPMUMsTUFBTSxDQUFDRSxNQUFNLE1BQUssUUFBUSxJQUFJRixNQUFNLENBQUNFLE1BQU0sQ0FBQ3lDLFNBQVMsRUFBRTtNQUNoRSxJQUFNN0IsSUFBSSxHQUFHaEIsbUJBQW1CLENBQUNFLE1BQU0sQ0FBQztNQUN4QyxJQUFJYyxJQUFJLElBQUlBLElBQUksSUFBSTBCLE1BQU0sRUFBRTtRQUMxQixJQUFNSSxNQUFNLEdBQUc1QyxNQUFNLENBQUNFLE1BQU0sQ0FBQ3lDLFNBQVMsQ0FBQ0gsTUFBTSxDQUFDMUIsSUFBSSxDQUFDLENBQUM7UUFDcEQsT0FBTzBCLE1BQU0sQ0FBQzFCLElBQUksQ0FBQztRQUNuQm1CLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDTSxNQUFNLEVBQUVJLE1BQU0sQ0FBQztNQUMvQjtJQUNGO0VBQ0YsQ0FBQyxDQUFDO0VBQ0YsT0FBT0osTUFBTTtBQUNmIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvVGFibGUvY29yZS9nZW5TZWFyY2hGaWVsZHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgUHJvRm9ybSB9IGZyb20gJy4uLy4uL1Byb0Zvcm0nO1xuaW1wb3J0IHsgZ2V0Q29sdW1uU2VhcmNoTmFtZSB9IGZyb20gJy4vdXRpbHMnO1xuZnVuY3Rpb24gaXNTZWFyY2hhYmxlKGNvbHVtbikge1xuICAgIGlmIChjb2x1bW4uaGlkZUluU2VhcmNoID09PSB0cnVlIHx8IGNvbHVtbi5zZWFyY2ggPT09IGZhbHNlKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIEJvb2xlYW4oY29sdW1uLnJlbmRlckZvcm1JdGVtIHx8IGNvbHVtbi52YWx1ZVR5cGUpO1xufVxuLyoqXG4gKiBCdWlsZCB0aGUgUXVlcnlGaWx0ZXIgY2hpbGRyZW4gKFByb0Zvcm0gZmllbGRzKSBmcm9tIHNlYXJjaGFibGUgY29sdW1ucywgcGx1c1xuICogdGhlIGFnZ3JlZ2F0ZWQgaW5pdGlhbCB2YWx1ZXMuIGByZW5kZXJGb3JtSXRlbWAgb3ZlcnJpZGVzIHRoZSB2YWx1ZVR5cGUgbWFwcGluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlblNlYXJjaEZpZWxkcyhjb2x1bW5zKSB7XG4gICAgY29uc3QgaW5pdGlhbFZhbHVlcyA9IHt9O1xuICAgIGNvbnN0IG5hbWVzID0gW107XG4gICAgY29uc3QgZmllbGRzID0gY29sdW1uc1xuICAgICAgICAuZmlsdGVyKGlzU2VhcmNoYWJsZSlcbiAgICAgICAgLm1hcCgoY29sdW1uLCBpbmRleCkgPT4gKHsgY29sdW1uLCBuYW1lOiBnZXRDb2x1bW5TZWFyY2hOYW1lKGNvbHVtbiksIGluZGV4IH0pKVxuICAgICAgICAuZmlsdGVyKChlbnRyeSkgPT4gZW50cnkubmFtZSAhPT0gbnVsbClcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuICgoX2EgPSBhLmNvbHVtbi5vcmRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogYS5pbmRleCkgLSAoKF9iID0gYi5jb2x1bW4ub3JkZXIpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGIuaW5kZXgpOyB9KVxuICAgICAgICAubWFwKCh7IGNvbHVtbiwgbmFtZSB9KSA9PiB7XG4gICAgICAgIG5hbWVzLnB1c2gobmFtZSk7XG4gICAgICAgIGlmIChjb2x1bW4uaW5pdGlhbFZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICBpbml0aWFsVmFsdWVzW25hbWVdID0gY29sdW1uLmluaXRpYWxWYWx1ZTtcbiAgICAgICAgaWYgKGNvbHVtbi5yZW5kZXJGb3JtSXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIF9qc3goXCJzcGFuXCIsIHsgY2hpbGRyZW46IGNvbHVtbi5yZW5kZXJGb3JtSXRlbSgpIH0sIG5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpZWxkUHJvcHMgPSBjb2x1bW4uZmllbGRQcm9wcztcbiAgICAgICAgLy8gTm8gbGFiZWxzIOKAlCB1c2UgdGhlIGNvbHVtbiB0aXRsZSBhcyB0aGUgcGxhY2Vob2xkZXIgc28gdGhlIGZpZWxkIHN0YXlzIHNlbGYtZGVzY3JpYmluZy5cbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXIgPSB0eXBlb2YgY29sdW1uLnRpdGxlID09PSAnc3RyaW5nJyA/IGNvbHVtbi50aXRsZSA6IHVuZGVmaW5lZDtcbiAgICAgICAgc3dpdGNoIChjb2x1bW4udmFsdWVUeXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtLlNlbGVjdCwgeyBuYW1lOiBuYW1lLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIHZhbHVlRW51bTogY29sdW1uLnZhbHVlRW51bSwgZmllbGRQcm9wczogZmllbGRQcm9wcyB9LCBuYW1lKSk7XG4gICAgICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gX2pzeChQcm9Gb3JtLkRhdGVQaWNrZXIsIHsgbmFtZTogbmFtZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBmaWVsZFByb3BzOiBmaWVsZFByb3BzIH0sIG5hbWUpO1xuICAgICAgICAgICAgY2FzZSAnZGF0ZVJhbmdlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goUHJvRm9ybS5EYXRlUGlja2VyLCB7IG5hbWU6IG5hbWUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgZmllbGRQcm9wczogT2JqZWN0LmFzc2lnbih7IHNlbGVjdGlvbk1vZGU6ICdyYW5nZScgfSwgZmllbGRQcm9wcykgfSwgbmFtZSkpO1xuICAgICAgICAgICAgY2FzZSAnZGlnaXQnOlxuICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtLlRleHQsIHsgbmFtZTogbmFtZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBmaWVsZFByb3BzOiBPYmplY3QuYXNzaWduKHsgdHlwZTogJ251bWJlcicgfSwgZmllbGRQcm9wcykgfSwgbmFtZSkpO1xuICAgICAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBfanN4KFByb0Zvcm0uVGV4dCwgeyBuYW1lOiBuYW1lLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIGZpZWxkUHJvcHM6IGZpZWxkUHJvcHMgfSwgbmFtZSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4geyBmaWVsZHMsIGluaXRpYWxWYWx1ZXMsIG5hbWVzIH07XG59XG4vKipcbiAqIEFwcGx5IHBlci1jb2x1bW4gYHNlYXJjaC50cmFuc2Zvcm1gIHRvIHN1Ym1pdHRlZCB2YWx1ZXMsIHJlcGxhY2luZyB0aGUgb3JpZ2luYWxcbiAqIGZpZWxkIG5hbWUgd2l0aCB0aGUgbWFwcGVkIHBhcmFtcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5U2VhcmNoVHJhbnNmb3Jtcyh2YWx1ZXMsIGNvbHVtbnMpIHtcbiAgICBjb25zdCByZXN1bHQgPSBPYmplY3QuYXNzaWduKHt9LCB2YWx1ZXMpO1xuICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgY29sdW1uLnNlYXJjaCA9PT0gJ29iamVjdCcgJiYgY29sdW1uLnNlYXJjaC50cmFuc2Zvcm0pIHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBnZXRDb2x1bW5TZWFyY2hOYW1lKGNvbHVtbik7XG4gICAgICAgICAgICBpZiAobmFtZSAmJiBuYW1lIGluIHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcHBlZCA9IGNvbHVtbi5zZWFyY2gudHJhbnNmb3JtKHJlc3VsdFtuYW1lXSk7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHJlc3VsdFtuYW1lXTtcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHJlc3VsdCwgbWFwcGVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|