@1money/component-ui 0.1.15-alpha.0 → 0.1.16-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/es/business/FilePreview/FilePreview.d.ts +6 -0
  2. package/es/business/FilePreview/FilePreview.js +78 -0
  3. package/es/business/FilePreview/ImagePreview.d.ts +11 -0
  4. package/es/business/FilePreview/ImagePreview.js +42 -0
  5. package/es/business/FilePreview/PdfPreview.d.ts +12 -0
  6. package/es/business/FilePreview/PdfPreview.js +49 -0
  7. package/es/business/FilePreview/PreviewContent.d.ts +7 -0
  8. package/es/business/FilePreview/PreviewContent.js +253 -0
  9. package/es/business/FilePreview/SpreadsheetPreview.d.ts +15 -0
  10. package/es/business/FilePreview/SpreadsheetPreview.js +239 -0
  11. package/es/business/FilePreview/index.d.ts +4 -0
  12. package/es/business/FilePreview/index.js +7 -0
  13. package/es/business/FilePreview/interface.d.ts +40 -0
  14. package/es/business/FilePreview/interface.js +2 -0
  15. package/es/business/FilePreview/style/FilePreview.css +106 -0
  16. package/es/business/FilePreview/style/css.js +2 -0
  17. package/es/business/FilePreview/style/index.d.ts +1 -0
  18. package/es/business/FilePreview/style/index.js +2 -0
  19. package/es/business/FilePreview/utils.d.ts +11 -0
  20. package/es/business/FilePreview/utils.js +218 -0
  21. package/es/business/index.d.ts +1 -0
  22. package/es/business/index.js +2 -1
  23. package/es/index.css +1 -1
  24. package/es/index.d.ts +2 -0
  25. package/es/index.js +2 -1
  26. package/es/locale/en_US/business.js +12 -1
  27. package/es/locale/interface.d.ts +11 -0
  28. package/es/locale/pt_BR/business.js +12 -1
  29. package/es/locale/zh_CN/business.js +12 -1
  30. package/lib/business/FilePreview/FilePreview.d.ts +6 -0
  31. package/lib/business/FilePreview/FilePreview.js +86 -0
  32. package/lib/business/FilePreview/ImagePreview.d.ts +11 -0
  33. package/lib/business/FilePreview/ImagePreview.js +49 -0
  34. package/lib/business/FilePreview/PdfPreview.d.ts +12 -0
  35. package/lib/business/FilePreview/PdfPreview.js +56 -0
  36. package/lib/business/FilePreview/PreviewContent.d.ts +7 -0
  37. package/lib/business/FilePreview/PreviewContent.js +260 -0
  38. package/lib/business/FilePreview/SpreadsheetPreview.d.ts +15 -0
  39. package/lib/business/FilePreview/SpreadsheetPreview.js +250 -0
  40. package/lib/business/FilePreview/index.d.ts +4 -0
  41. package/lib/business/FilePreview/index.js +33 -0
  42. package/lib/business/FilePreview/interface.d.ts +40 -0
  43. package/lib/business/FilePreview/interface.js +6 -0
  44. package/lib/business/FilePreview/style/FilePreview.css +106 -0
  45. package/lib/business/FilePreview/style/css.js +4 -0
  46. package/lib/business/FilePreview/style/index.d.ts +1 -0
  47. package/lib/business/FilePreview/style/index.js +4 -0
  48. package/lib/business/FilePreview/utils.d.ts +11 -0
  49. package/lib/business/FilePreview/utils.js +230 -0
  50. package/lib/business/index.d.ts +1 -0
  51. package/lib/business/index.js +13 -1
  52. package/lib/index.css +1 -1
  53. package/lib/index.d.ts +2 -0
  54. package/lib/index.js +8 -1
  55. package/lib/locale/en_US/business.js +12 -1
  56. package/lib/locale/interface.d.ts +11 -0
  57. package/lib/locale/pt_BR/business.js +12 -1
  58. package/lib/locale/zh_CN/business.js +12 -1
  59. package/package.json +9 -2
  60. package/scripts/mcp-server/examples.generated.json +18 -0
  61. package/scripts/mcp-server/index.generated.json +223 -0
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.SpreadsheetPreview = SpreadsheetPreview;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ var _react = require("react");
12
+ var _useSafeState5 = _interopRequireDefault(require("@1money/hooks/useSafeState"));
13
+ var _Tabs = require("../../components/Tabs");
14
+ var _Typography = require("../../components/Typography");
15
+ var _utils = require("./utils");
16
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
17
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
19
+ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
20
+ function adopt(value) {
21
+ return value instanceof P ? value : new P(function (resolve) {
22
+ resolve(value);
23
+ });
24
+ }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ }
33
+ function rejected(value) {
34
+ try {
35
+ step(generator["throw"](value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ }
40
+ function step(result) {
41
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
42
+ }
43
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
44
+ });
45
+ };
46
+ function SpreadsheetPreview(_ref) {
47
+ var _this = this;
48
+ var blob = _ref.blob,
49
+ name = _ref.name,
50
+ classes = _ref.classes,
51
+ locale = _ref.locale,
52
+ loading = _ref.loading,
53
+ onError = _ref.onError,
54
+ _ref$maxRows = _ref.maxRows,
55
+ maxRows = _ref$maxRows === void 0 ? _utils.DEFAULT_MAX_ROWS : _ref$maxRows,
56
+ _ref$maxColumns = _ref.maxColumns,
57
+ maxColumns = _ref$maxColumns === void 0 ? _utils.DEFAULT_MAX_COLUMNS : _ref$maxColumns;
58
+ var rowLimit = (0, _utils.previewLimit)(maxRows, _utils.DEFAULT_MAX_ROWS, 1000);
59
+ var columnLimit = (0, _utils.previewLimit)(maxColumns, _utils.DEFAULT_MAX_COLUMNS, 100);
60
+ var _useSafeState = (0, _useSafeState5["default"])(),
61
+ _useSafeState2 = (0, _slicedToArray2["default"])(_useSafeState, 2),
62
+ data = _useSafeState2[0],
63
+ setData = _useSafeState2[1];
64
+ var _useSafeState3 = (0, _useSafeState5["default"])(''),
65
+ _useSafeState4 = (0, _slicedToArray2["default"])(_useSafeState3, 2),
66
+ activeSheet = _useSafeState4[0],
67
+ setActiveSheet = _useSafeState4[1];
68
+ (0, _react.useEffect)(function () {
69
+ var active = true;
70
+ var parse = function parse() {
71
+ return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
72
+ var _yield$Promise$all, _yield$Promise$all2, xlsx, buffer, signature, workbook, names, _t;
73
+ return _regenerator().w(function (_context) {
74
+ while (1) switch (_context.p = _context.n) {
75
+ case 0:
76
+ _context.p = 0;
77
+ _context.n = 1;
78
+ return Promise.all([Promise.resolve().then(function () {
79
+ return _interopRequireWildcard(require('xlsx'));
80
+ }), blob.arrayBuffer()]);
81
+ case 1:
82
+ _yield$Promise$all = _context.v;
83
+ _yield$Promise$all2 = (0, _slicedToArray2["default"])(_yield$Promise$all, 2);
84
+ xlsx = _yield$Promise$all2[0];
85
+ buffer = _yield$Promise$all2[1];
86
+ if (active) {
87
+ _context.n = 2;
88
+ break;
89
+ }
90
+ return _context.a(2);
91
+ case 2:
92
+ signature = new Uint8Array(buffer, 0, Math.min(buffer.byteLength, 4));
93
+ if (!(/\.xlsx$/i.test(name) && (signature[0] !== 0x50 || signature[1] !== 0x4b))) {
94
+ _context.n = 3;
95
+ break;
96
+ }
97
+ throw new Error('The file is not a valid XLSX workbook.');
98
+ case 3:
99
+ workbook = xlsx.read(buffer, {
100
+ type: 'array',
101
+ sheetRows: rowLimit + 1,
102
+ raw: true,
103
+ cellHTML: false,
104
+ cellFormula: false,
105
+ cellStyles: false
106
+ });
107
+ names = workbook.SheetNames.filter(function (sheet) {
108
+ var _a, _b, _c;
109
+ return !((_c = (_b = (_a = workbook.Workbook) === null || _a === void 0 ? void 0 : _a.Sheets) === null || _b === void 0 ? void 0 : _b.find(function (item) {
110
+ return item.name === sheet;
111
+ })) === null || _c === void 0 ? void 0 : _c.Hidden);
112
+ });
113
+ if (names.length) {
114
+ _context.n = 4;
115
+ break;
116
+ }
117
+ throw new Error('The workbook has no visible worksheets.');
118
+ case 4:
119
+ workbook.SheetNames = names;
120
+ setData({
121
+ workbook: workbook,
122
+ xlsx: xlsx
123
+ });
124
+ setActiveSheet(names[0]);
125
+ _context.n = 6;
126
+ break;
127
+ case 5:
128
+ _context.p = 5;
129
+ _t = _context.v;
130
+ if (active) onError(_t instanceof Error ? _t : new Error('Unable to read the spreadsheet.'));
131
+ case 6:
132
+ return _context.a(2);
133
+ }
134
+ }, _callee, null, [[0, 5]]);
135
+ }));
136
+ };
137
+ void parse();
138
+ return function () {
139
+ active = false;
140
+ };
141
+ }, [blob, name, rowLimit, onError, setData, setActiveSheet]);
142
+ var preview = (0, _react.useMemo)(function () {
143
+ var sheet = data === null || data === void 0 ? void 0 : data.workbook.Sheets[activeSheet];
144
+ if (!data || !(sheet === null || sheet === void 0 ? void 0 : sheet['!ref'])) return undefined;
145
+ var range = data.xlsx.utils.decode_range(sheet['!fullref'] || sheet['!ref']);
146
+ var endRow = Math.min(range.e.r, range.s.r + rowLimit - 1);
147
+ var endColumn = Math.min(range.e.c, range.s.c + columnLimit - 1);
148
+ var bounded = {
149
+ s: range.s,
150
+ e: {
151
+ r: endRow,
152
+ c: endColumn
153
+ }
154
+ };
155
+ var rows = data.xlsx.utils.sheet_to_json(sheet, {
156
+ header: 1,
157
+ raw: false,
158
+ defval: '',
159
+ blankrows: true,
160
+ range: bounded
161
+ });
162
+ var columns = Array.from({
163
+ length: endColumn - range.s.c + 1
164
+ }, function (_, index) {
165
+ return data.xlsx.utils.encode_col(range.s.c + index);
166
+ });
167
+ return {
168
+ rows: rows,
169
+ columns: columns,
170
+ startRow: range.s.r + 1,
171
+ truncated: endRow < range.e.r || endColumn < range.e.c
172
+ };
173
+ }, [data, activeSheet, rowLimit, columnLimit]);
174
+ if (!data) return loading;
175
+ return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
176
+ children: [(0, _jsxRuntime.jsx)(_Tabs.Tabs, {
177
+ className: classes('sheets'),
178
+ activeKey: activeSheet,
179
+ onChange: setActiveSheet,
180
+ onKeyDown: function onKeyDown(event) {
181
+ var _a;
182
+ if (!(event.target instanceof HTMLButtonElement) || event.target.getAttribute('role') !== 'tab') return;
183
+ var keys = data.workbook.SheetNames;
184
+ var index = keys.indexOf(activeSheet);
185
+ var next = event.key === 'ArrowRight' ? (index + 1) % keys.length : event.key === 'ArrowLeft' ? (index + keys.length - 1) % keys.length : event.key === 'Home' ? 0 : event.key === 'End' ? keys.length - 1 : undefined;
186
+ if (next === undefined) return;
187
+ event.preventDefault();
188
+ setActiveSheet(keys[next]);
189
+ (_a = event.currentTarget.querySelectorAll('[role="tab"]')[next]) === null || _a === void 0 ? void 0 : _a.focus();
190
+ },
191
+ items: data.workbook.SheetNames.map(function (key) {
192
+ return {
193
+ key: key,
194
+ label: key
195
+ };
196
+ })
197
+ }), preview ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
198
+ children: [(0, _jsxRuntime.jsx)("div", {
199
+ className: classes('viewport'),
200
+ tabIndex: 0,
201
+ role: 'region',
202
+ "aria-label": activeSheet,
203
+ children: (0, _jsxRuntime.jsxs)("table", {
204
+ className: classes('table'),
205
+ "aria-label": "".concat(name, " \u2014 ").concat(activeSheet),
206
+ children: [(0, _jsxRuntime.jsx)("thead", {
207
+ children: (0, _jsxRuntime.jsxs)("tr", {
208
+ children: [(0, _jsxRuntime.jsx)("th", {
209
+ scope: 'col',
210
+ children: "#"
211
+ }), preview.columns.map(function (column) {
212
+ return (0, _jsxRuntime.jsx)("th", {
213
+ scope: 'col',
214
+ children: column
215
+ }, column);
216
+ })]
217
+ })
218
+ }), (0, _jsxRuntime.jsx)("tbody", {
219
+ children: preview.rows.map(function (row, index) {
220
+ return (0, _jsxRuntime.jsxs)("tr", {
221
+ children: [(0, _jsxRuntime.jsx)("th", {
222
+ scope: 'row',
223
+ children: preview.startRow + index
224
+ }), preview.columns.map(function (column, columnIndex) {
225
+ var _a;
226
+ return (0, _jsxRuntime.jsx)("td", {
227
+ children: (_a = row[columnIndex]) !== null && _a !== void 0 ? _a : ''
228
+ }, column);
229
+ })]
230
+ }, index);
231
+ })
232
+ })]
233
+ })
234
+ }), preview.truncated && (0, _jsxRuntime.jsx)(_Typography.Typography.Body, {
235
+ size: 'sm',
236
+ color: 'default-secondary',
237
+ role: 'status',
238
+ children: locale.truncated.replace('{rows}', String(rowLimit)).replace('{columns}', String(columnLimit))
239
+ })]
240
+ }) : (0, _jsxRuntime.jsx)("div", {
241
+ className: classes('message'),
242
+ role: 'status',
243
+ children: (0, _jsxRuntime.jsx)(_Typography.Typography.Body, {
244
+ size: "md",
245
+ children: locale.emptySheet
246
+ })
247
+ })]
248
+ });
249
+ }
250
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbGVQcmV2aWV3L1NwcmVhZHNoZWV0UHJldmlldy5qcyIsImJ1c2luZXNzL3NyYy9idXNpbmVzcy9GaWxlUHJldmlldy9TcHJlYWRzaGVldFByZXZpZXcudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl91c2VTYWZlU3RhdGU1IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9UYWJzIiwiX1R5cG9ncmFwaHkiLCJfdXRpbHMiLCJfcmVnZW5lcmF0b3IiLCJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiV2Vha01hcCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QyIiwiaGFzT3duUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInJlc29sdmUiLCJQcm9taXNlIiwicmVqZWN0IiwiZnVsZmlsbGVkIiwic3RlcCIsIm5leHQiLCJyZWplY3RlZCIsInJlc3VsdCIsInRoZW4iLCJhcHBseSIsIlNwcmVhZHNoZWV0UHJldmlldyIsIl9yZWYiLCJfdGhpcyIsImJsb2IiLCJuYW1lIiwiY2xhc3NlcyIsImxvY2FsZSIsImxvYWRpbmciLCJvbkVycm9yIiwiX3JlZiRtYXhSb3dzIiwibWF4Um93cyIsIkRFRkFVTFRfTUFYX1JPV1MiLCJfcmVmJG1heENvbHVtbnMiLCJtYXhDb2x1bW5zIiwiREVGQVVMVF9NQVhfQ09MVU1OUyIsInJvd0xpbWl0IiwicHJldmlld0xpbWl0IiwiY29sdW1uTGltaXQiLCJfdXNlU2FmZVN0YXRlIiwidXNlU2FmZVN0YXRlIiwiX3VzZVNhZmVTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkYXRhIiwic2V0RGF0YSIsIl91c2VTYWZlU3RhdGUzIiwiX3VzZVNhZmVTdGF0ZTQiLCJhY3RpdmVTaGVldCIsInNldEFjdGl2ZVNoZWV0IiwidXNlRWZmZWN0IiwiYWN0aXZlIiwicGFyc2UiLCJfY2FsbGVlIiwiX3lpZWxkJFByb21pc2UkYWxsIiwiX3lpZWxkJFByb21pc2UkYWxsMiIsInhsc3giLCJidWZmZXIiLCJzaWduYXR1cmUiLCJ3b3JrYm9vayIsIm5hbWVzIiwiX3QiLCJfY29udGV4dCIsImFsbCIsImFycmF5QnVmZmVyIiwiVWludDhBcnJheSIsIk1hdGgiLCJtaW4iLCJieXRlTGVuZ3RoIiwidGVzdCIsIkVycm9yIiwicmVhZCIsInR5cGUiLCJzaGVldFJvd3MiLCJyYXciLCJjZWxsSFRNTCIsImNlbGxGb3JtdWxhIiwiY2VsbFN0eWxlcyIsIlNoZWV0TmFtZXMiLCJmaWx0ZXIiLCJzaGVldCIsIl9hIiwiX2IiLCJfYyIsIldvcmtib29rIiwiU2hlZXRzIiwiZmluZCIsIml0ZW0iLCJIaWRkZW4iLCJwcmV2aWV3IiwidXNlTWVtbyIsInVuZGVmaW5lZCIsInJhbmdlIiwidXRpbHMiLCJkZWNvZGVfcmFuZ2UiLCJlbmRSb3ciLCJzIiwiZW5kQ29sdW1uIiwiYm91bmRlZCIsInJvd3MiLCJzaGVldF90b19qc29uIiwiaGVhZGVyIiwiZGVmdmFsIiwiYmxhbmtyb3dzIiwiY29sdW1ucyIsIkFycmF5IiwiZnJvbSIsIl8iLCJpbmRleCIsImVuY29kZV9jb2wiLCJzdGFydFJvdyIsInRydW5jYXRlZCIsIl9qc3hzIiwiX0ZyYWdtZW50IiwiY2hpbGRyZW4iLCJfanN4IiwiVGFicyIsImNsYXNzTmFtZSIsImFjdGl2ZUtleSIsIm9uQ2hhbmdlIiwib25LZXlEb3duIiwiZXZlbnQiLCJ0YXJnZXQiLCJIVE1MQnV0dG9uRWxlbWVudCIsImdldEF0dHJpYnV0ZSIsImtleXMiLCJpbmRleE9mIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJjdXJyZW50VGFyZ2V0IiwicXVlcnlTZWxlY3RvckFsbCIsImZvY3VzIiwiaXRlbXMiLCJtYXAiLCJsYWJlbCIsInRhYkluZGV4Iiwicm9sZSIsImNvbmNhdCIsInNjb3BlIiwiY29sdW1uIiwicm93IiwiY29sdW1uSW5kZXgiLCJUeXBvZ3JhcGh5IiwiQm9keSIsInNpemUiLCJjb2xvciIsInJlcGxhY2UiLCJTdHJpbmciLCJlbXB0eVNoZWV0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFTQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNUQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxjQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFBOEUsU0FBQU8sYUFBQSxJREg5RSx1S0FBQUMsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsd0JBQUFDLE1BQUEsR0FBQUEsTUFBQSxPQUFBQyxDQUFBLEdBQUFGLENBQUEsQ0FBQUcsUUFBQSxrQkFBQUMsQ0FBQSxHQUFBSixDQUFBLENBQUFLLFdBQUEsOEJBQUFDLEVBQUFOLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsUUFBQUMsQ0FBQSxHQUFBTCxDQUFBLElBQUFBLENBQUEsQ0FBQU0sU0FBQSxZQUFBQyxTQUFBLEdBQUFQLENBQUEsR0FBQU8sU0FBQSxFQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsTUFBQSxDQUFBTCxDQUFBLENBQUFDLFNBQUEsVUFBQUssbUJBQUEsQ0FBQUgsQ0FBQSx1QkFBQVYsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsUUFBQUUsQ0FBQSxFQUFBQyxDQUFBLEVBQUFHLENBQUEsRUFBQUksQ0FBQSxNQUFBQyxDQUFBLEdBQUFYLENBQUEsUUFBQVksQ0FBQSxPQUFBQyxDQUFBLEtBQUFGLENBQUEsS0FBQWIsQ0FBQSxLQUFBZ0IsQ0FBQSxFQUFBcEIsQ0FBQSxFQUFBcUIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFOLENBQUEsRUFBQU0sQ0FBQSxDQUFBQyxJQUFBLENBQUF2QixDQUFBLE1BQUFzQixDQUFBLFdBQUFBLEVBQUFyQixDQUFBLEVBQUFDLENBQUEsV0FBQU0sQ0FBQSxHQUFBUCxDQUFBLEVBQUFRLENBQUEsTUFBQUcsQ0FBQSxHQUFBWixDQUFBLEVBQUFtQixDQUFBLENBQUFmLENBQUEsR0FBQUYsQ0FBQSxFQUFBbUIsQ0FBQSxnQkFBQUMsRUFBQXBCLENBQUEsRUFBQUUsQ0FBQSxTQUFBSyxDQUFBLEdBQUFQLENBQUEsRUFBQVUsQ0FBQSxHQUFBUixDQUFBLEVBQUFILENBQUEsT0FBQWlCLENBQUEsSUFBQUYsQ0FBQSxLQUFBVixDQUFBLElBQUFMLENBQUEsR0FBQWdCLENBQUEsQ0FBQU8sTUFBQSxFQUFBdkIsQ0FBQSxVQUFBSyxDQUFBLEVBQUFFLENBQUEsR0FBQVMsQ0FBQSxDQUFBaEIsQ0FBQSxHQUFBcUIsQ0FBQSxHQUFBSCxDQUFBLENBQUFGLENBQUEsRUFBQVEsQ0FBQSxHQUFBakIsQ0FBQSxLQUFBTixDQUFBLFFBQUFJLENBQUEsR0FBQW1CLENBQUEsS0FBQXJCLENBQUEsTUFBQVEsQ0FBQSxHQUFBSixDQUFBLEVBQUFDLENBQUEsR0FBQUQsQ0FBQSxZQUFBQyxDQUFBLFdBQUFELENBQUEsTUFBQUEsQ0FBQSxNQUFBUixDQUFBLElBQUFRLENBQUEsT0FBQWMsQ0FBQSxNQUFBaEIsQ0FBQSxHQUFBSixDQUFBLFFBQUFvQixDQUFBLEdBQUFkLENBQUEsUUFBQUMsQ0FBQSxNQUFBVSxDQUFBLENBQUFDLENBQUEsR0FBQWhCLENBQUEsRUFBQWUsQ0FBQSxDQUFBZixDQUFBLEdBQUFJLENBQUEsT0FBQWMsQ0FBQSxHQUFBRyxDQUFBLEtBQUFuQixDQUFBLEdBQUFKLENBQUEsUUFBQU0sQ0FBQSxNQUFBSixDQUFBLElBQUFBLENBQUEsR0FBQXFCLENBQUEsTUFBQWpCLENBQUEsTUFBQU4sQ0FBQSxFQUFBTSxDQUFBLE1BQUFKLENBQUEsRUFBQWUsQ0FBQSxDQUFBZixDQUFBLEdBQUFxQixDQUFBLEVBQUFoQixDQUFBLGNBQUFILENBQUEsSUFBQUosQ0FBQSxhQUFBbUIsQ0FBQSxRQUFBSCxDQUFBLE9BQUFkLENBQUEscUJBQUFFLENBQUEsRUFBQVcsQ0FBQSxFQUFBUSxDQUFBLFFBQUFULENBQUEsWUFBQVUsU0FBQSx1Q0FBQVIsQ0FBQSxVQUFBRCxDQUFBLElBQUFLLENBQUEsQ0FBQUwsQ0FBQSxFQUFBUSxDQUFBLEdBQUFoQixDQUFBLEdBQUFRLENBQUEsRUFBQUwsQ0FBQSxHQUFBYSxDQUFBLEdBQUF4QixDQUFBLEdBQUFRLENBQUEsT0FBQVQsQ0FBQSxHQUFBWSxDQUFBLE1BQUFNLENBQUEsS0FBQVYsQ0FBQSxLQUFBQyxDQUFBLEdBQUFBLENBQUEsUUFBQUEsQ0FBQSxTQUFBVSxDQUFBLENBQUFmLENBQUEsUUFBQWtCLENBQUEsQ0FBQWIsQ0FBQSxFQUFBRyxDQUFBLEtBQUFPLENBQUEsQ0FBQWYsQ0FBQSxHQUFBUSxDQUFBLEdBQUFPLENBQUEsQ0FBQUMsQ0FBQSxHQUFBUixDQUFBLGFBQUFJLENBQUEsTUFBQVIsQ0FBQSxRQUFBQyxDQUFBLEtBQUFILENBQUEsWUFBQUwsQ0FBQSxHQUFBTyxDQUFBLENBQUFGLENBQUEsV0FBQUwsQ0FBQSxHQUFBQSxDQUFBLENBQUEwQixJQUFBLENBQUFuQixDQUFBLEVBQUFJLENBQUEsVUFBQWMsU0FBQSwyQ0FBQXpCLENBQUEsQ0FBQTJCLElBQUEsU0FBQTNCLENBQUEsRUFBQVcsQ0FBQSxHQUFBWCxDQUFBLENBQUE0QixLQUFBLEVBQUFwQixDQUFBLFNBQUFBLENBQUEsb0JBQUFBLENBQUEsS0FBQVIsQ0FBQSxHQUFBTyxDQUFBLGVBQUFQLENBQUEsQ0FBQTBCLElBQUEsQ0FBQW5CLENBQUEsR0FBQUMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFjLFNBQUEsdUNBQUFwQixDQUFBLGdCQUFBRyxDQUFBLE9BQUFELENBQUEsR0FBQVIsQ0FBQSxjQUFBQyxDQUFBLElBQUFpQixDQUFBLEdBQUFDLENBQUEsQ0FBQWYsQ0FBQSxRQUFBUSxDQUFBLEdBQUFWLENBQUEsQ0FBQXlCLElBQUEsQ0FBQXZCLENBQUEsRUFBQWUsQ0FBQSxPQUFBRSxDQUFBLGtCQUFBcEIsQ0FBQSxJQUFBTyxDQUFBLEdBQUFSLENBQUEsRUFBQVMsQ0FBQSxNQUFBRyxDQUFBLEdBQUFYLENBQUEsY0FBQWUsQ0FBQSxtQkFBQWEsS0FBQSxFQUFBNUIsQ0FBQSxFQUFBMkIsSUFBQSxFQUFBVixDQUFBLFNBQUFoQixDQUFBLEVBQUFJLENBQUEsRUFBQUUsQ0FBQSxRQUFBSSxDQUFBLFFBQUFTLENBQUEsZ0JBQUFWLFVBQUEsY0FBQW1CLGtCQUFBLGNBQUFDLDJCQUFBLEtBQUE5QixDQUFBLEdBQUFZLE1BQUEsQ0FBQW1CLGNBQUEsTUFBQXZCLENBQUEsTUFBQUwsQ0FBQSxJQUFBSCxDQUFBLENBQUFBLENBQUEsSUFBQUcsQ0FBQSxTQUFBVyxtQkFBQSxDQUFBZCxDQUFBLE9BQUFHLENBQUEsaUNBQUFILENBQUEsR0FBQVcsQ0FBQSxHQUFBbUIsMEJBQUEsQ0FBQXJCLFNBQUEsR0FBQUMsU0FBQSxDQUFBRCxTQUFBLEdBQUFHLE1BQUEsQ0FBQUMsTUFBQSxDQUFBTCxDQUFBLFlBQUFPLEVBQUFoQixDQUFBLFdBQUFhLE1BQUEsQ0FBQW9CLGNBQUEsR0FBQXBCLE1BQUEsQ0FBQW9CLGNBQUEsQ0FBQWpDLENBQUEsRUFBQStCLDBCQUFBLEtBQUEvQixDQUFBLENBQUFrQyxTQUFBLEdBQUFILDBCQUFBLEVBQUFoQixtQkFBQSxDQUFBZixDQUFBLEVBQUFNLENBQUEseUJBQUFOLENBQUEsQ0FBQVUsU0FBQSxHQUFBRyxNQUFBLENBQUFDLE1BQUEsQ0FBQUYsQ0FBQSxHQUFBWixDQUFBLFdBQUE4QixpQkFBQSxDQUFBcEIsU0FBQSxHQUFBcUIsMEJBQUEsRUFBQWhCLG1CQUFBLENBQUFILENBQUEsaUJBQUFtQiwwQkFBQSxHQUFBaEIsbUJBQUEsQ0FBQWdCLDBCQUFBLGlCQUFBRCxpQkFBQSxHQUFBQSxpQkFBQSxDQUFBSyxXQUFBLHdCQUFBcEIsbUJBQUEsQ0FBQWdCLDBCQUFBLEVBQUF6QixDQUFBLHdCQUFBUyxtQkFBQSxDQUFBSCxDQUFBLEdBQUFHLG1CQUFBLENBQUFILENBQUEsRUFBQU4sQ0FBQSxnQkFBQVMsbUJBQUEsQ0FBQUgsQ0FBQSxFQUFBUixDQUFBLGlDQUFBVyxtQkFBQSxDQUFBSCxDQUFBLDhEQUFBYixZQUFBLFlBQUFBLGFBQUEsYUFBQXFDLENBQUEsRUFBQTVCLENBQUEsRUFBQTZCLENBQUEsRUFBQXJCLENBQUE7QUFBQSxTQUFBRCxvQkFBQWYsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUgsQ0FBQSxRQUFBTyxDQUFBLEdBQUFLLE1BQUEsQ0FBQXlCLGNBQUEsUUFBQTlCLENBQUEsdUJBQUFSLENBQUEsSUFBQVEsQ0FBQSxRQUFBTyxtQkFBQSxZQUFBd0IsbUJBQUF2QyxDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxFQUFBSCxDQUFBLGFBQUFLLEVBQUFKLENBQUEsRUFBQUUsQ0FBQSxJQUFBVyxtQkFBQSxDQUFBZixDQUFBLEVBQUFFLENBQUEsWUFBQUYsQ0FBQSxnQkFBQXdDLE9BQUEsQ0FBQXRDLENBQUEsRUFBQUUsQ0FBQSxFQUFBSixDQUFBLFNBQUFFLENBQUEsR0FBQU0sQ0FBQSxHQUFBQSxDQUFBLENBQUFSLENBQUEsRUFBQUUsQ0FBQSxJQUFBMkIsS0FBQSxFQUFBekIsQ0FBQSxFQUFBcUMsVUFBQSxHQUFBeEMsQ0FBQSxFQUFBeUMsWUFBQSxHQUFBekMsQ0FBQSxFQUFBMEMsUUFBQSxHQUFBMUMsQ0FBQSxNQUFBRCxDQUFBLENBQUFFLENBQUEsSUFBQUUsQ0FBQSxJQUFBRSxDQUFBLGFBQUFBLENBQUEsY0FBQUEsQ0FBQSxtQkFBQVMsbUJBQUEsQ0FBQWYsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUgsQ0FBQTtBQUFBLFNBQUEyQyx3QkFBQTVDLENBQUEsRUFBQUMsQ0FBQSw2QkFBQTRDLE9BQUEsTUFBQTNDLENBQUEsT0FBQTJDLE9BQUEsSUFBQXpDLENBQUEsT0FBQXlDLE9BQUEsWUFBQUQsdUJBQUEsWUFBQUEsd0JBQUE1QyxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQThDLFVBQUEsU0FBQTlDLENBQUEsTUFBQU0sQ0FBQSxFQUFBRSxDQUFBLEVBQUFRLENBQUEsS0FBQWtCLFNBQUEsbUJBQUFsQyxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBK0MsT0FBQSxDQUFBL0MsQ0FBQSwwQkFBQUEsQ0FBQSxTQUFBZ0IsQ0FBQSxNQUFBVixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRixDQUFBLFFBQUFJLENBQUEsQ0FBQTBDLEdBQUEsQ0FBQWhELENBQUEsVUFBQU0sQ0FBQSxDQUFBMkMsR0FBQSxDQUFBakQsQ0FBQSxHQUFBTSxDQUFBLENBQUE0QyxHQUFBLENBQUFsRCxDQUFBLEVBQUFnQixDQUFBLGNBQUFtQyxHQUFBLElBQUFuRCxDQUFBLGdCQUFBbUQsR0FBQSxPQUFBQyxjQUFBLENBQUF6QixJQUFBLENBQUEzQixDQUFBLEVBQUFtRCxHQUFBLE9BQUEzQyxDQUFBLElBQUFGLENBQUEsR0FBQU8sTUFBQSxDQUFBeUIsY0FBQSxLQUFBekIsTUFBQSxDQUFBd0Msd0JBQUEsQ0FBQXJELENBQUEsRUFBQW1ELEdBQUEsT0FBQTNDLENBQUEsQ0FBQXlDLEdBQUEsSUFBQXpDLENBQUEsQ0FBQTBDLEdBQUEsSUFBQTVDLENBQUEsQ0FBQVUsQ0FBQSxFQUFBbUMsR0FBQSxFQUFBM0MsQ0FBQSxJQUFBUSxDQUFBLENBQUFtQyxHQUFBLElBQUFuRCxDQUFBLENBQUFtRCxHQUFBLFdBQUFuQyxDQUFBLEtBQUFoQixDQUFBLEVBQUFDLENBQUE7QUFEQSxJQUFJcUQsU0FBUyxHQUFJLFVBQVEsU0FBS0EsU0FBUyxJQUFLLFVBQVVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFQyxDQUFDLEVBQUVDLFNBQVMsRUFBRTtFQUNyRixTQUFTQyxLQUFLQSxDQUFDOUIsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZNEIsQ0FBQyxHQUFHNUIsS0FBSyxHQUFHLElBQUk0QixDQUFDLENBQUMsVUFBVUcsT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQy9CLEtBQUssQ0FBQztJQUFFLENBQUMsQ0FBQztFQUFFO0VBQzNHLE9BQU8sS0FBSzRCLENBQUMsS0FBS0EsQ0FBQyxHQUFHSSxPQUFPLENBQUMsRUFBRSxVQUFVRCxPQUFPLEVBQUVFLE1BQU0sRUFBRTtJQUN2RCxTQUFTQyxTQUFTQSxDQUFDbEMsS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFbUMsSUFBSSxDQUFDTixTQUFTLENBQUNPLElBQUksQ0FBQ3BDLEtBQUssQ0FBQyxDQUFDO01BQUUsQ0FBQyxDQUFDLE9BQU83QixDQUFDLEVBQUU7UUFBRThELE1BQU0sQ0FBQzlELENBQUMsQ0FBQztNQUFFO0lBQUU7SUFDMUYsU0FBU2tFLFFBQVFBLENBQUNyQyxLQUFLLEVBQUU7TUFBRSxJQUFJO1FBQUVtQyxJQUFJLENBQUNOLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQzdCLEtBQUssQ0FBQyxDQUFDO01BQUUsQ0FBQyxDQUFDLE9BQU83QixDQUFDLEVBQUU7UUFBRThELE1BQU0sQ0FBQzlELENBQUMsQ0FBQztNQUFFO0lBQUU7SUFDN0YsU0FBU2dFLElBQUlBLENBQUNHLE1BQU0sRUFBRTtNQUFFQSxNQUFNLENBQUN2QyxJQUFJLEdBQUdnQyxPQUFPLENBQUNPLE1BQU0sQ0FBQ3RDLEtBQUssQ0FBQyxHQUFHOEIsS0FBSyxDQUFDUSxNQUFNLENBQUN0QyxLQUFLLENBQUMsQ0FBQ3VDLElBQUksQ0FBQ0wsU0FBUyxFQUFFRyxRQUFRLENBQUM7SUFBRTtJQUM3R0YsSUFBSSxDQUFDLENBQUNOLFNBQVMsR0FBR0EsU0FBUyxDQUFDVyxLQUFLLENBQUNkLE9BQU8sRUFBRUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFUyxJQUFJLENBQUMsQ0FBQyxDQUFDO0VBQ3pFLENBQUMsQ0FBQztBQUNOLENBQUM7QUNhSyxTQUFVSyxrQkFBa0JBLENBQUFDLElBQUEsRUFDdUQ7RUFBQSxJQUFBQyxLQUFBO0VBQUEsSUFEcERDLElBQUksR0FBQUYsSUFBQSxDQUFKRSxJQUFJO0lBQUVDLElBQUksR0FBQUgsSUFBQSxDQUFKRyxJQUFJO0lBQUVDLE9BQU8sR0FBQUosSUFBQSxDQUFQSSxPQUFPO0lBQUVDLE1BQU0sR0FBQUwsSUFBQSxDQUFOSyxNQUFNO0lBQUVDLE9BQU8sR0FBQU4sSUFBQSxDQUFQTSxPQUFPO0lBQUVDLE9BQU8sR0FBQVAsSUFBQSxDQUFQTyxPQUFPO0lBQUFDLFlBQUEsR0FBQVIsSUFBQSxDQUNoRlMsT0FBTztJQUFQQSxPQUFPLEdBQUFELFlBQUEsY0FBR0UsdUJBQWdCLEdBQUFGLFlBQUE7SUFBQUcsZUFBQSxHQUFBWCxJQUFBLENBQUVZLFVBQVU7SUFBVkEsVUFBVSxHQUFBRCxlQUFBLGNBQUdFLDBCQUFtQixHQUFBRixlQUFBO0VBQzVELElBQU1HLFFBQVEsR0FBRyxJQUFBQyxtQkFBWSxFQUFDTixPQUFPLEVBQUVDLHVCQUFnQixFQUFFLElBQUksQ0FBQztFQUM5RCxJQUFNTSxXQUFXLEdBQUcsSUFBQUQsbUJBQVksRUFBQ0gsVUFBVSxFQUFFQywwQkFBbUIsRUFBRSxHQUFHLENBQUM7RUFDdEUsSUFBQUksYUFBQSxHQUF3QixJQUFBQyx5QkFBWSxFQUFBLENBQXVEO0lBQUFDLGNBQUEsT0FBQUMsZUFBQSxhQUFBSCxhQUFBO0lBQXBGSSxJQUFJLEdBQUFGLGNBQUE7SUFBRUcsT0FBTyxHQUFBSCxjQUFBO0VBQ3BCLElBQUFJLGNBQUEsR0FBc0MsSUFBQUwseUJBQVksRUFBQyxFQUFFLENBQUM7SUFBQU0sY0FBQSxPQUFBSixlQUFBLGFBQUFHLGNBQUE7SUFBL0NFLFdBQVcsR0FBQUQsY0FBQTtJQUFFRSxjQUFjLEdBQUFGLGNBQUE7RUFDbEMsSUFBQUcsZ0JBQVMsRUFBQyxZQUFLO0lBQ2IsSUFBSUMsTUFBTSxHQUFHLElBQUk7SUFDakIsSUFBTUMsS0FBSyxHQUFHLFNBQVJBLEtBQUtBLENBQUE7TUFBQSxPQUFjOUMsU0FBQSxDQUFBa0IsS0FBQSxFQUFBLEtBQUEsQ0FBQSxFQUFBLEtBQUEsQ0FBQSxlQUFBekUsWUFBQSxHQUFBc0MsQ0FBQSxDQUFBLFNBQUFnRSxRQUFBO1FBQUEsSUFBQUMsa0JBQUEsRUFBQUMsbUJBQUEsRUFBQUMsSUFBQSxFQUFBQyxNQUFBLEVBQUFDLFNBQUEsRUFBQUMsUUFBQSxFQUFBQyxLQUFBLEVBQUFDLEVBQUE7UUFBQSxPQUFBOUcsWUFBQSxHQUFBcUMsQ0FBQSxXQUFBMEUsUUFBQTtVQUFBLGtCQUFBQSxRQUFBLENBQUE3RixDQUFBLEdBQUE2RixRQUFBLENBQUExRyxDQUFBO1lBQUE7Y0FBQTBHLFFBQUEsQ0FBQTdGLENBQUE7Y0FBQTZGLFFBQUEsQ0FBQTFHLENBQUE7Y0FFRSxPQUFNeUQsT0FBTyxDQUFDa0QsR0FBRyxDQUFDLENBQUFsRCxPQUFBLENBQUFELE9BQUEsR0FBQVEsSUFBQTtnQkFBQSxPQUFBeEIsdUJBQUEsQ0FBQXBELE9BQUEsQ0FBUSxNQUFNO2NBQUEsSUFBR2lGLElBQUksQ0FBQ3VDLFdBQVcsQ0FBQSxDQUFFLENBQUMsQ0FBQztZQUFBO2NBQUFWLGtCQUFBLEdBQUFRLFFBQUEsQ0FBQTFGLENBQUE7Y0FBQW1GLG1CQUFBLE9BQUFaLGVBQUEsYUFBQVcsa0JBQUE7Y0FBdkVFLElBQUksR0FBQUQsbUJBQUE7Y0FBRUUsTUFBTSxHQUFBRixtQkFBQTtjQUFBLElBQ2RKLE1BQU07Z0JBQUFXLFFBQUEsQ0FBQTFHLENBQUE7Z0JBQUE7Y0FBQTtjQUFBLE9BQUEwRyxRQUFBLENBQUF6RixDQUFBO1lBQUE7Y0FDTHFGLFNBQVMsR0FBRyxJQUFJTyxVQUFVLENBQUNSLE1BQU0sRUFBRSxDQUFDLEVBQUVTLElBQUksQ0FBQ0MsR0FBRyxDQUFDVixNQUFNLENBQUNXLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztjQUFBLE1BQ3ZFLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDM0MsSUFBSSxDQUFDLEtBQUtnQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDO2dCQUFBSSxRQUFBLENBQUExRyxDQUFBO2dCQUFBO2NBQUE7Y0FBQSxNQUNyRSxJQUFJa0gsS0FBSyxDQUFDLHdDQUF3QyxDQUFDO1lBQUE7Y0FFckRYLFFBQVEsR0FBR0gsSUFBSSxDQUFDZSxJQUFJLENBQUNkLE1BQU0sRUFBRTtnQkFBRWUsSUFBSSxFQUFFLE9BQU87Z0JBQUVDLFNBQVMsRUFBRXBDLFFBQVEsR0FBRyxDQUFDO2dCQUFFcUMsR0FBRyxFQUFFLElBQUk7Z0JBQ3BGQyxRQUFRLEVBQUUsS0FBSztnQkFBRUMsV0FBVyxFQUFFLEtBQUs7Z0JBQUVDLFVBQVUsRUFBRTtjQUFLLENBQUUsQ0FBQztjQUNyRGpCLEtBQUssR0FBR0QsUUFBUSxDQUFDbUIsVUFBVSxDQUFDQyxNQUFNLENBQUMsVUFBQUMsS0FBSyxFQUFHO2dCQUFBLElBQUFDLEVBQUEsRUFBQUMsRUFBQSxFQUFBQyxFQUFBO2dCQUFDLE9BQUEsRUFBQyxDQUFBQSxFQUFBLEdBQUEsQ0FBQUQsRUFBQSxHQUFBLENBQUFELEVBQUEsR0FBQXRCLFFBQVEsQ0FBQ3lCLFFBQVEsTUFBQSxJQUFBLElBQUFILEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFSSxNQUFNLE1BQUEsSUFBQSxJQUFBSCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUksSUFBSSxDQUFDLFVBQUFDLElBQUk7a0JBQUEsT0FBSUEsSUFBSSxDQUFDN0QsSUFBSSxLQUFLc0QsS0FBSztnQkFBQSxFQUFDLE1BQUEsSUFBQSxJQUFBRyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUssTUFBTSxDQUFBO2NBQUEsQ0FBQSxDQUFDO2NBQUEsSUFDbkg1QixLQUFLLENBQUNwRixNQUFNO2dCQUFBc0YsUUFBQSxDQUFBMUcsQ0FBQTtnQkFBQTtjQUFBO2NBQUEsTUFBUSxJQUFJa0gsS0FBSyxDQUFDLHlDQUF5QyxDQUFDO1lBQUE7Y0FDN0VYLFFBQVEsQ0FBQ21CLFVBQVUsR0FBR2xCLEtBQUs7Y0FDM0JmLE9BQU8sQ0FBQztnQkFBRWMsUUFBUSxFQUFSQSxRQUFRO2dCQUFFSCxJQUFJLEVBQUpBO2NBQUksQ0FBRSxDQUFDO2NBQzNCUCxjQUFjLENBQUNXLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztjQUFDRSxRQUFBLENBQUExRyxDQUFBO2NBQUE7WUFBQTtjQUFBMEcsUUFBQSxDQUFBN0YsQ0FBQTtjQUFBNEYsRUFBQSxHQUFBQyxRQUFBLENBQUExRixDQUFBO2NBRXpCLElBQUkrRSxNQUFNLEVBQUVyQixPQUFPLENBQUMrQixFQUFBLFlBQWlCUyxLQUFLLEdBQUFULEVBQUEsR0FBVyxJQUFJUyxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztZQUFDO2NBQUEsT0FBQVIsUUFBQSxDQUFBekYsQ0FBQTtVQUFBO1FBQUEsR0FBQWdGLE9BQUE7TUFBQSxDQUV0RyxFQUFBO0lBQUE7SUFDRCxLQUFLRCxLQUFLLENBQUEsQ0FBRTtJQUNaLE9BQU8sWUFBSztNQUFHRCxNQUFNLEdBQUcsS0FBSztJQUFFLENBQUM7RUFDbEMsQ0FBQyxFQUFFLENBQUMxQixJQUFJLEVBQUVDLElBQUksRUFBRVcsUUFBUSxFQUFFUCxPQUFPLEVBQUVlLE9BQU8sRUFBRUksY0FBYyxDQUFDLENBQUM7RUFFNUQsSUFBTXdDLE9BQU8sR0FBRyxJQUFBQyxjQUFPLEVBQUMsWUFBSztJQUMzQixJQUFNVixLQUFLLEdBQUdwQyxJQUFJLEtBQUEsSUFBQSxJQUFKQSxJQUFJLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUpBLElBQUksQ0FBRWUsUUFBUSxDQUFDMEIsTUFBTSxDQUFDckMsV0FBVyxDQUFDO0lBQ2hELElBQUksQ0FBQ0osSUFBSSxJQUFJLEVBQUNvQyxLQUFLLEtBQUEsSUFBQSxJQUFMQSxLQUFLLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUxBLEtBQUssQ0FBRyxNQUFNLENBQUMsQ0FBQSxFQUFFLE9BQU9XLFNBQVM7SUFDL0MsSUFBTUMsS0FBSyxHQUFHaEQsSUFBSSxDQUFDWSxJQUFJLENBQUNxQyxLQUFLLENBQUNDLFlBQVksQ0FBQ2QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJQSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUUsSUFBTWUsTUFBTSxHQUFHN0IsSUFBSSxDQUFDQyxHQUFHLENBQUN5QixLQUFLLENBQUM1SSxDQUFDLENBQUNFLENBQUMsRUFBRTBJLEtBQUssQ0FBQ0ksQ0FBQyxDQUFDOUksQ0FBQyxHQUFHbUYsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUM1RCxJQUFNNEQsU0FBUyxHQUFHL0IsSUFBSSxDQUFDQyxHQUFHLENBQUN5QixLQUFLLENBQUM1SSxDQUFDLENBQUNTLENBQUMsRUFBRW1JLEtBQUssQ0FBQ0ksQ0FBQyxDQUFDdkksQ0FBQyxHQUFHOEUsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUNsRSxJQUFNMkQsT0FBTyxHQUFHO01BQUVGLENBQUMsRUFBRUosS0FBSyxDQUFDSSxDQUFDO01BQUVoSixDQUFDLEVBQUU7UUFBRUUsQ0FBQyxFQUFFNkksTUFBTTtRQUFFdEksQ0FBQyxFQUFFd0k7TUFBUztJQUFFLENBQUU7SUFDOUQsSUFBTUUsSUFBSSxHQUFHdkQsSUFBSSxDQUFDWSxJQUFJLENBQUNxQyxLQUFLLENBQUNPLGFBQWEsQ0FBV3BCLEtBQUssRUFBRTtNQUMxRHFCLE1BQU0sRUFBRSxDQUFDO01BQUUzQixHQUFHLEVBQUUsS0FBSztNQUFFNEIsTUFBTSxFQUFFLEVBQUU7TUFBRUMsU0FBUyxFQUFFLElBQUk7TUFBRVgsS0FBSyxFQUFFTTtJREZ6RCxDQ0dILENBQUM7SUFDRixJQUFNTSxPQUFPLEdBQUdDLEtBQUssQ0FBQ0MsSUFBSSxDQUFDO01BQUVsSSxNQUFNLEVBQUV5SCxTQUFTLEdBQUdMLEtBQUssQ0FBQ0ksQ0FBQyxDQUFDdkksQ0FBQyxHQUFHO0lBQUMsQ0FBRSxFQUFFLFVBQUNrSixDQUFDLEVBQUVDLEtBQUs7TUFBQSxPQUFLaEUsSUFBSSxDQUFDWSxJQUFJLENBQUNxQyxLQUFLLENBQUNnQixVQUFVLENBQUNqQixLQUFLLENBQUNJLENBQUMsQ0FBQ3ZJLENBQUMsR0FBR21KLEtBQUssQ0FBQztJQUFBLEVBQUM7SUFDOUgsT0FBTztNQUFFVCxJQUFJLEVBQUpBLElBQUk7TUFBRUssT0FBTyxFQUFQQSxPQUFPO01BQUVNLFFBQVEsRUFBRWxCLEtBQUssQ0FBQ0ksQ0FBQyxDQUFDOUksQ0FBQyxHQUFHLENBQUM7TUFBRTZKLFNBQVMsRUFBRWhCLE1BQU0sR0FBR0gsS0FBSyxDQUFDNUksQ0FBQyxDQUFDRSxDQUFDLElBQUkrSSxTQUFTLEdBQUdMLEtBQUssQ0FBQzVJLENBQUMsQ0FBQ1M7SUFBQyxDQUFFO0VBQzNHLENBQUMsRUFBRSxDQUFDbUYsSUFBSSxFQUFFSSxXQUFXLEVBQUVYLFFBQVEsRUFBRUUsV0FBVyxDQUFDLENBQUM7RUFFOUMsSUFBSSxDQUFDSyxJQUFJLEVBQUUsT0FBT2YsT0FBTztFQUN6QixPQUFPLElBQUFtRixnQkFBQSxFQUFBQyxvQkFBQSxFQUFBO0lBQUFDLFFBQUEsRUFBQSxDQUNMLElBQUFDLGVBQUEsRUFBQ0MsVUFBSSxFQUFBO01BQUNDLFNBQVMsRUFBRTFGLE9BQU8sQ0FBQyxRQUFRLENBQUM7TUFBRTJGLFNBQVMsRUFBRXRFLFdBQVc7TUFBRXVFLFFBQVEsRUFBRXRFLGNBQWM7TUFDbEZ1RSxTQUFTLEVBQUUsU0FBWEEsU0FBU0EsQ0FBRUMsS0FBSyxFQUFHO1FESkwsSUFBSXhDLEVBQUU7UUNLbEIsSUFBSSxFQUFFd0MsS0FBSyxDQUFDQyxNQUFNLFlBQVlDLGlCQUFpQixDQUFDLElBQUlGLEtBQUssQ0FBQ0MsTUFBTSxDQUFDRSxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxFQUFFO1FBQ2pHLElBQU1DLElBQUksR0FBR2pGLElBQUksQ0FBQ2UsUUFBUSxDQUFDbUIsVUFBVTtRQUNyQyxJQUFNOEIsS0FBSyxHQUFHaUIsSUFBSSxDQUFDQyxPQUFPLENBQUM5RSxXQUFXLENBQUM7UUFDdkMsSUFBTS9CLElBQUksR0FBR3dHLEtBQUssQ0FBQ00sR0FBRyxLQUFLLFlBQVksR0FBRyxDQUFDbkIsS0FBSyxHQUFHLENBQUMsSUFBSWlCLElBQUksQ0FBQ3JKLE1BQU0sR0FDakVpSixLQUFLLENBQUNNLEdBQUcsS0FBSyxXQUFXLEdBQUcsQ0FBQ25CLEtBQUssR0FBR2lCLElBQUksQ0FBQ3JKLE1BQU0sR0FBRyxDQUFDLElBQUlxSixJQUFJLENBQUNySixNQUFNLEdBQ2pFaUosS0FBSyxDQUFDTSxHQUFHLEtBQUssTUFBTSxHQUFHLENBQUMsR0FBR04sS0FBSyxDQUFDTSxHQUFHLEtBQUssS0FBSyxHQUFHRixJQUFJLENBQUNySixNQUFNLEdBQUcsQ0FBQyxHQUFHbUgsU0FBUztRQUNoRixJQUFJMUUsSUFBSSxLQUFLMEUsU0FBUyxFQUFFO1FBQ3hCOEIsS0FBSyxDQUFDTyxjQUFjLENBQUEsQ0FBRTtRQUN0Qi9FLGNBQWMsQ0FBQzRFLElBQUksQ0FBQzVHLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUFnRSxFQUFBLEdBQUF3QyxLQUFLLENBQUNRLGFBQWEsQ0FBQ0MsZ0JBQWdCLENBQW9CLGNBQWMsQ0FBQyxDQUFDakgsSUFBSSxDQUFDLE1BQUEsSUFBQSxJQUFBZ0UsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVrRCxLQUFLLENBQUEsQ0FBRTtNQUN4RixDQUFDO01BQ0RDLEtBQUssRUFBRXhGLElBQUksQ0FBQ2UsUUFBUSxDQUFDbUIsVUFBVSxDQUFDdUQsR0FBRyxDQUFDLFVBQUFOLEdBQUc7UUFBQSxPQUFLO1VBQUVBLEdBQUcsRUFBSEEsR0FBRztVQUFFTyxLQUFLLEVBQUVQO1FBQUcsQ0FBRTtNQUFBLENBQUM7SUFBQyxDQUFBLENBQUksRUFDdEV0QyxPQUFPLEdBQUcsSUFBQXVCLGdCQUFBLEVBQUFDLG9CQUFBLEVBQUE7TUFBQUMsUUFBQSxFQUFBLENBQ1QsSUFBQUMsZUFBQSxFQUFBLEtBQUEsRUFBQTtRQUFLRSxTQUFTLEVBQUUxRixPQUFPLENBQUMsVUFBVSxDQUFDO1FBQUU0RyxRQUFRLEVBQUUsQ0FBQztRQUFFQyxJQUFJLEVBQUMsUUFBUTtRQUFBLFlBQUEsRUFBYXhGLFdBQVc7UUFBQWtFLFFBQUEsRUFDckYsSUFBQUYsZ0JBQUEsRUFBQSxPQUFBLEVBQUE7VUFBT0ssU0FBUyxFQUFFMUYsT0FBTyxDQUFDLE9BQU8sQ0FBQztVQUFBLFlBQUEsS0FBQThHLE1BQUEsQ0FBaUIvRyxJQUFJLGNBQUErRyxNQUFBLENBQU16RixXQUFXLENBQUU7VUFBQWtFLFFBQUEsRUFBQSxDQUN4RSxJQUFBQyxlQUFBLEVBQUEsT0FBQSxFQUFBO1lBQUFELFFBQUEsRUFBTyxJQUFBRixnQkFBQSxFQUFBLElBQUEsRUFBQTtjQUFBRSxRQUFBLEVBQUEsQ0FBSSxJQUFBQyxlQUFBLEVBQUEsSUFBQSxFQUFBO2dCQUFJdUIsS0FBSyxFQUFDLEtBQUs7Z0JBQUF4QixRQUFBLEVBQUE7Y0FBQSxDQUFBLENBQU8sRUFBQ3pCLE9BQU8sQ0FBQ2UsT0FBTyxDQUFDNkIsR0FBRyxDQUFDLFVBQUFNLE1BQU07Z0JBQUEsT0FBSSxJQUFBeEIsZUFBQSxFQUFBLElBQUEsRUFBQTtrQkFBSXVCLEtBQUssRUFBQyxLQUFLO2tCQUFBeEIsUUFBQSxFQUFleUI7Z0JBQU0sQ0FBQSxFQUFmQSxNQUFNLENBQWU7Y0FBQSxFQUFDO1lBQUEsQ0FBQTtVQUFNLENBQUEsQ0FBUSxFQUN6SCxJQUFBeEIsZUFBQSxFQUFBLE9BQUEsRUFBQTtZQUFBRCxRQUFBLEVBQVF6QixPQUFPLENBQUNVLElBQUksQ0FBQ2tDLEdBQUcsQ0FBQyxVQUFDTyxHQUFHLEVBQUVoQyxLQUFLO2NBQUEsT0FBSyxJQUFBSSxnQkFBQSxFQUFBLElBQUEsRUFBQTtnQkFBQUUsUUFBQSxFQUFBLENBQ3ZDLElBQUFDLGVBQUEsRUFBQSxJQUFBLEVBQUE7a0JBQUl1QixLQUFLLEVBQUMsS0FBSztrQkFBQXhCLFFBQUEsRUFBRXpCLE9BQU8sQ0FBQ3FCLFFBQVEsR0FBR0Y7Z0JBQUssQ0FBQSxDQUFNLEVBQzlDbkIsT0FBTyxDQUFDZSxPQUFPLENBQUM2QixHQUFHLENBQUMsVUFBQ00sTUFBTSxFQUFFRSxXQUFXLEVBQUk7a0JBQUEsSUFBQTVELEVBQUE7a0JBQUMsT0FBQSxJQUFBa0MsZUFBQSxFQUFBLElBQUEsRUFBQTtvQkFBQUQsUUFBQSxFQUFrQixDQUFBakMsRUFBQSxHQUFBMkQsR0FBRyxDQUFDQyxXQUFXLENBQUMsTUFBQSxJQUFBLElBQUE1RCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSTtrQkFBRSxDQUFBLEVBQS9CMEQsTUFBTSxDQUErQjtnQkFBQSxDQUFBLENBQUM7Y0FBQSxDQUFBLEVBRjdDL0IsS0FBSyxDQUdsRDtZQUFBO1VBQUMsQ0FBQSxDQUFTO1FBQUEsQ0FBQTtNQUNULENBQUEsQ0FDSixFQUNMbkIsT0FBTyxDQUFDc0IsU0FBUyxJQUFJLElBQUFJLGVBQUEsRUFBQzJCLHNCQUFVLENBQUNDLElBQUksRUFBQTtRQUFDQyxJQUFJLEVBQUMsSUFBSTtRQUFDQyxLQUFLLEVBQUMsbUJBQW1CO1FBQUNULElBQUksRUFBQyxRQUFRO1FBQUF0QixRQUFBLEVBQ3JGdEYsTUFBTSxDQUFDbUYsU0FBUyxDQUFDbUMsT0FBTyxDQUFDLFFBQVEsRUFBRUMsTUFBTSxDQUFDOUcsUUFBUSxDQUFDLENBQUMsQ0FBQzZHLE9BQU8sQ0FBQyxXQUFXLEVBQUVDLE1BQU0sQ0FBQzVHLFdBQVcsQ0FBQztNQUFDLENBQUEsQ0FDL0U7SUFBQSxDQUFBLENBQ2pCLEdBQUcsSUFBQTRFLGVBQUEsRUFBQSxLQUFBLEVBQUE7TUFBS0UsU0FBUyxFQUFFMUYsT0FBTyxDQUFDLFNBQVMsQ0FBQztNQUFFNkcsSUFBSSxFQUFDLFFBQVE7TUFBQXRCLFFBQUEsRUFBQyxJQUFBQyxlQUFBLEVBQUMyQixzQkFBVSxDQUFDQyxJQUFJLEVBQUE7UUFBQ0MsSUFBSSxFQUFDLElBQUk7UUFBQTlCLFFBQUEsRUFBRXRGLE1BQU0sQ0FBQ3dIO01BQVUsQ0FBQTtJQUFtQixDQUFBLENBQU07RUFBQSxDQUFBLENBQzdIO0FBQ0wiLCJmaWxlIjoiYnVzaW5lc3MvRmlsZVByZXZpZXcvU3ByZWFkc2hlZXRQcmV2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fYXdhaXRlciA9ICh0aGlzICYmIHRoaXMuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cywgRnJhZ21lbnQgYXMgX0ZyYWdtZW50IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlU2FmZVN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlU2FmZVN0YXRlJztcbmltcG9ydCB7IFRhYnMgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL1RhYnMnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBERUZBVUxUX01BWF9DT0xVTU5TLCBERUZBVUxUX01BWF9ST1dTLCBwcmV2aWV3TGltaXQgfSBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCBmdW5jdGlvbiBTcHJlYWRzaGVldFByZXZpZXcoeyBibG9iLCBuYW1lLCBjbGFzc2VzLCBsb2NhbGUsIGxvYWRpbmcsIG9uRXJyb3IsIG1heFJvd3MgPSBERUZBVUxUX01BWF9ST1dTLCBtYXhDb2x1bW5zID0gREVGQVVMVF9NQVhfQ09MVU1OUyB9KSB7XG4gICAgY29uc3Qgcm93TGltaXQgPSBwcmV2aWV3TGltaXQobWF4Um93cywgREVGQVVMVF9NQVhfUk9XUywgMTAwMCk7XG4gICAgY29uc3QgY29sdW1uTGltaXQgPSBwcmV2aWV3TGltaXQobWF4Q29sdW1ucywgREVGQVVMVF9NQVhfQ09MVU1OUywgMTAwKTtcbiAgICBjb25zdCBbZGF0YSwgc2V0RGF0YV0gPSB1c2VTYWZlU3RhdGUoKTtcbiAgICBjb25zdCBbYWN0aXZlU2hlZXQsIHNldEFjdGl2ZVNoZWV0XSA9IHVzZVNhZmVTdGF0ZSgnJyk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgbGV0IGFjdGl2ZSA9IHRydWU7XG4gICAgICAgIGNvbnN0IHBhcnNlID0gKCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBbeGxzeCwgYnVmZmVyXSA9IHlpZWxkIFByb21pc2UuYWxsKFtpbXBvcnQoJ3hsc3gnKSwgYmxvYi5hcnJheUJ1ZmZlcigpXSk7XG4gICAgICAgICAgICAgICAgaWYgKCFhY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjb25zdCBzaWduYXR1cmUgPSBuZXcgVWludDhBcnJheShidWZmZXIsIDAsIE1hdGgubWluKGJ1ZmZlci5ieXRlTGVuZ3RoLCA0KSk7XG4gICAgICAgICAgICAgICAgaWYgKC9cXC54bHN4JC9pLnRlc3QobmFtZSkgJiYgKHNpZ25hdHVyZVswXSAhPT0gMHg1MCB8fCBzaWduYXR1cmVbMV0gIT09IDB4NGIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGZpbGUgaXMgbm90IGEgdmFsaWQgWExTWCB3b3JrYm9vay4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3Qgd29ya2Jvb2sgPSB4bHN4LnJlYWQoYnVmZmVyLCB7IHR5cGU6ICdhcnJheScsIHNoZWV0Um93czogcm93TGltaXQgKyAxLCByYXc6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNlbGxIVE1MOiBmYWxzZSwgY2VsbEZvcm11bGE6IGZhbHNlLCBjZWxsU3R5bGVzOiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBuYW1lcyA9IHdvcmtib29rLlNoZWV0TmFtZXMuZmlsdGVyKHNoZWV0ID0+IHsgdmFyIF9hLCBfYiwgX2M7IHJldHVybiAhKChfYyA9IChfYiA9IChfYSA9IHdvcmtib29rLldvcmtib29rKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuU2hlZXRzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZmluZChpdGVtID0+IGl0ZW0ubmFtZSA9PT0gc2hlZXQpKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MuSGlkZGVuKTsgfSk7XG4gICAgICAgICAgICAgICAgaWYgKCFuYW1lcy5sZW5ndGgpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHdvcmtib29rIGhhcyBubyB2aXNpYmxlIHdvcmtzaGVldHMuJyk7XG4gICAgICAgICAgICAgICAgd29ya2Jvb2suU2hlZXROYW1lcyA9IG5hbWVzO1xuICAgICAgICAgICAgICAgIHNldERhdGEoeyB3b3JrYm9vaywgeGxzeCB9KTtcbiAgICAgICAgICAgICAgICBzZXRBY3RpdmVTaGVldChuYW1lc1swXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvciA6IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlYWQgdGhlIHNwcmVhZHNoZWV0LicpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHZvaWQgcGFyc2UoKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHsgYWN0aXZlID0gZmFsc2U7IH07XG4gICAgfSwgW2Jsb2IsIG5hbWUsIHJvd0xpbWl0LCBvbkVycm9yLCBzZXREYXRhLCBzZXRBY3RpdmVTaGVldF0pO1xuICAgIGNvbnN0IHByZXZpZXcgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc2hlZXQgPSBkYXRhID09PSBudWxsIHx8IGRhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRhdGEud29ya2Jvb2suU2hlZXRzW2FjdGl2ZVNoZWV0XTtcbiAgICAgICAgaWYgKCFkYXRhIHx8ICEoc2hlZXQgPT09IG51bGwgfHwgc2hlZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNoZWV0WychcmVmJ10pKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSBkYXRhLnhsc3gudXRpbHMuZGVjb2RlX3JhbmdlKHNoZWV0WychZnVsbHJlZiddIHx8IHNoZWV0WychcmVmJ10pO1xuICAgICAgICBjb25zdCBlbmRSb3cgPSBNYXRoLm1pbihyYW5nZS5lLnIsIHJhbmdlLnMuciArIHJvd0xpbWl0IC0gMSk7XG4gICAgICAgIGNvbnN0IGVuZENvbHVtbiA9IE1hdGgubWluKHJhbmdlLmUuYywgcmFuZ2Uucy5jICsgY29sdW1uTGltaXQgLSAxKTtcbiAgICAgICAgY29uc3QgYm91bmRlZCA9IHsgczogcmFuZ2UucywgZTogeyByOiBlbmRSb3csIGM6IGVuZENvbHVtbiB9IH07XG4gICAgICAgIGNvbnN0IHJvd3MgPSBkYXRhLnhsc3gudXRpbHMuc2hlZXRfdG9fanNvbihzaGVldCwge1xuICAgICAgICAgICAgaGVhZGVyOiAxLCByYXc6IGZhbHNlLCBkZWZ2YWw6ICcnLCBibGFua3Jvd3M6IHRydWUsIHJhbmdlOiBib3VuZGVkLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IGVuZENvbHVtbiAtIHJhbmdlLnMuYyArIDEgfSwgKF8sIGluZGV4KSA9PiBkYXRhLnhsc3gudXRpbHMuZW5jb2RlX2NvbChyYW5nZS5zLmMgKyBpbmRleCkpO1xuICAgICAgICByZXR1cm4geyByb3dzLCBjb2x1bW5zLCBzdGFydFJvdzogcmFuZ2Uucy5yICsgMSwgdHJ1bmNhdGVkOiBlbmRSb3cgPCByYW5nZS5lLnIgfHwgZW5kQ29sdW1uIDwgcmFuZ2UuZS5jIH07XG4gICAgfSwgW2RhdGEsIGFjdGl2ZVNoZWV0LCByb3dMaW1pdCwgY29sdW1uTGltaXRdKTtcbiAgICBpZiAoIWRhdGEpXG4gICAgICAgIHJldHVybiBsb2FkaW5nO1xuICAgIHJldHVybiBfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtfanN4KFRhYnMsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzaGVldHMnKSwgYWN0aXZlS2V5OiBhY3RpdmVTaGVldCwgb25DaGFuZ2U6IHNldEFjdGl2ZVNoZWV0LCBvbktleURvd246IGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIShldmVudC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCkgfHwgZXZlbnQudGFyZ2V0LmdldEF0dHJpYnV0ZSgncm9sZScpICE9PSAndGFiJylcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5cyA9IGRhdGEud29ya2Jvb2suU2hlZXROYW1lcztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBrZXlzLmluZGV4T2YoYWN0aXZlU2hlZXQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXh0ID0gZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcgPyAoaW5kZXggKyAxKSAlIGtleXMubGVuZ3RoIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgPyAoaW5kZXggKyBrZXlzLmxlbmd0aCAtIDEpICUga2V5cy5sZW5ndGggOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleSA9PT0gJ0hvbWUnID8gMCA6IGV2ZW50LmtleSA9PT0gJ0VuZCcgPyBrZXlzLmxlbmd0aCAtIDEgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZXh0ID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIHNldEFjdGl2ZVNoZWV0KGtleXNbbmV4dF0pO1xuICAgICAgICAgICAgICAgICAgICAoX2EgPSBldmVudC5jdXJyZW50VGFyZ2V0LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tyb2xlPVwidGFiXCJdJylbbmV4dF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH0sIGl0ZW1zOiBkYXRhLndvcmtib29rLlNoZWV0TmFtZXMubWFwKGtleSA9PiAoeyBrZXksIGxhYmVsOiBrZXkgfSkpIH0pLCBwcmV2aWV3ID8gX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygndmlld3BvcnQnKSwgdGFiSW5kZXg6IDAsIHJvbGU6ICdyZWdpb24nLCBcImFyaWEtbGFiZWxcIjogYWN0aXZlU2hlZXQsIGNoaWxkcmVuOiBfanN4cyhcInRhYmxlXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCd0YWJsZScpLCBcImFyaWEtbGFiZWxcIjogYCR7bmFtZX0g4oCUICR7YWN0aXZlU2hlZXR9YCwgY2hpbGRyZW46IFtfanN4KFwidGhlYWRcIiwgeyBjaGlsZHJlbjogX2pzeHMoXCJ0clwiLCB7IGNoaWxkcmVuOiBbX2pzeChcInRoXCIsIHsgc2NvcGU6ICdjb2wnLCBjaGlsZHJlbjogXCIjXCIgfSksIHByZXZpZXcuY29sdW1ucy5tYXAoY29sdW1uID0+IF9qc3goXCJ0aFwiLCB7IHNjb3BlOiAnY29sJywgY2hpbGRyZW46IGNvbHVtbiB9LCBjb2x1bW4pKV0gfSkgfSksIF9qc3goXCJ0Ym9keVwiLCB7IGNoaWxkcmVuOiBwcmV2aWV3LnJvd3MubWFwKChyb3csIGluZGV4KSA9PiBfanN4cyhcInRyXCIsIHsgY2hpbGRyZW46IFtfanN4KFwidGhcIiwgeyBzY29wZTogJ3JvdycsIGNoaWxkcmVuOiBwcmV2aWV3LnN0YXJ0Um93ICsgaW5kZXggfSksIHByZXZpZXcuY29sdW1ucy5tYXAoKGNvbHVtbiwgY29sdW1uSW5kZXgpID0+IHsgdmFyIF9hOyByZXR1cm4gX2pzeChcInRkXCIsIHsgY2hpbGRyZW46IChfYSA9IHJvd1tjb2x1bW5JbmRleF0pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICcnIH0sIGNvbHVtbik7IH0pXSB9LCBpbmRleCkpIH0pXSB9KSB9KSwgcHJldmlldy50cnVuY2F0ZWQgJiYgX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogJ3NtJywgY29sb3I6ICdkZWZhdWx0LXNlY29uZGFyeScsIHJvbGU6ICdzdGF0dXMnLCBjaGlsZHJlbjogbG9jYWxlLnRydW5jYXRlZC5yZXBsYWNlKCd7cm93c30nLCBTdHJpbmcocm93TGltaXQpKS5yZXBsYWNlKCd7Y29sdW1uc30nLCBTdHJpbmcoY29sdW1uTGltaXQpKSB9KV0gfSkgOiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdtZXNzYWdlJyksIHJvbGU6ICdzdGF0dXMnLCBjaGlsZHJlbjogX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogXCJtZFwiLCBjaGlsZHJlbjogbG9jYWxlLmVtcHR5U2hlZXQgfSkgfSldIH0pO1xufSIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,4 @@
1
+ import FilePreview from './FilePreview';
2
+ export { FilePreview } from './FilePreview';
3
+ export default FilePreview;
4
+ export * from './interface';
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ var _exportNames = {
9
+ FilePreview: true
10
+ };
11
+ Object.defineProperty(exports, "FilePreview", {
12
+ enumerable: true,
13
+ get: function get() {
14
+ return _FilePreview.FilePreview;
15
+ }
16
+ });
17
+ exports["default"] = void 0;
18
+ var _FilePreview = _interopRequireWildcard(require("./FilePreview"));
19
+ var _interface = require("./interface");
20
+ Object.keys(_interface).forEach(function (key) {
21
+ if (key === "default" || key === "__esModule") return;
22
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
23
+ if (key in exports && exports[key] === _interface[key]) return;
24
+ Object.defineProperty(exports, key, {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _interface[key];
28
+ }
29
+ });
30
+ });
31
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
32
+ var _default = exports["default"] = _FilePreview["default"];
33
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL3NyYy9idXNpbmVzcy9GaWxlUHJldmlldy9pbmRleC50cyJdLCJuYW1lcyI6WyJfdHlwZW9mIiwicmVxdWlyZSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiX2V4cG9ydE5hbWVzIiwiRmlsZVByZXZpZXciLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX0ZpbGVQcmV2aWV3IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfaW50ZXJmYWNlIiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJoYXMiLCJzZXQiLCJfdCIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTs7QUFBQyxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFBQUMsTUFBQSxDQUFBQyxjQUFBLENBQUFDLE9BQUE7RUFBQUMsS0FBQTtBQUFBO0FBQUEsSUFBQUMsWUFBQTtFQUFBQyxXQUFBO0FBQUE7QUFBQUwsTUFBQSxDQUFBQyxjQUFBLENBQUFDLE9BQUE7RUFBQUksVUFBQTtFQUFBQyxHQUFBLFdBQUFBLElBQUE7SUFBQSxPQUFBQyxZQUFBLENBQUFILFdBQUE7RUFBQTtBQUFBO0FBQUFILE9BQUE7QUFFYixJQUFBTSxZQUFBLEdBQUFDLHVCQUFBLENBQUFWLE9BQUE7QUFHQSxJQUFBVyxVQUFBLEdBQUFYLE9BQUE7QUFBQUMsTUFBQSxDQUFBVyxJQUFBLENBQUFELFVBQUEsRUFBQUUsT0FBQSxXQUFBQyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxrQkFBQUEsR0FBQTtFQUFBLElBQUFiLE1BQUEsQ0FBQWMsU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQVosWUFBQSxFQUFBUyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBWCxPQUFBLElBQUFBLE9BQUEsQ0FBQVcsR0FBQSxNQUFBSCxVQUFBLENBQUFHLEdBQUE7RUFBQWIsTUFBQSxDQUFBQyxjQUFBLENBQUFDLE9BQUEsRUFBQVcsR0FBQTtJQUFBUCxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsSUFBQTtNQUFBLE9BQUFHLFVBQUEsQ0FBQUcsR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUE0QixTQUFBSix3QkFBQVEsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQVYsdUJBQUEsWUFBQUEsd0JBQUFRLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQW5CLE9BQUEsQ0FBQW1CLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBVixDQUFBLFVBQUFNLENBQUEsQ0FBQWhCLEdBQUEsQ0FBQVUsQ0FBQSxHQUFBTSxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxFQUFBUSxDQUFBLGNBQUFJLEVBQUEsSUFBQVosQ0FBQSxnQkFBQVksRUFBQSxPQUFBZCxjQUFBLENBQUFDLElBQUEsQ0FBQUMsQ0FBQSxFQUFBWSxFQUFBLE9BQUFMLENBQUEsSUFBQUQsQ0FBQSxHQUFBdkIsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQThCLHdCQUFBLENBQUFiLENBQUEsRUFBQVksRUFBQSxPQUFBTCxDQUFBLENBQUFqQixHQUFBLElBQUFpQixDQUFBLENBQUFJLEdBQUEsSUFBQUwsQ0FBQSxDQUFBRSxDQUFBLEVBQUFJLEVBQUEsRUFBQUwsQ0FBQSxJQUFBQyxDQUFBLENBQUFJLEVBQUEsSUFBQVosQ0FBQSxDQUFBWSxFQUFBLFdBQUFKLENBQUEsS0FBQVIsQ0FBQSxFQUFBQyxDQUFBO0FBQUEsSUFBQWEsUUFBQSxHQUFBN0IsT0FBQSxjQURiRyx1QkFBVyIsImZpbGUiOiJidXNpbmVzcy9GaWxlUHJldmlldy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,40 @@
1
+ import type { ReactNode, Ref } from 'react';
2
+ import type { DialogProps } from "../../components/Dialog";
3
+ import type { BusinessLocale } from "../../locale/interface";
4
+ export interface FilePreviewFile {
5
+ /** URL (including signed URLs), File, or Blob. URLs must permit browser CORS reads. */
6
+ src: string | Blob;
7
+ /** Original filename; supply this for signed URLs and nameless Blobs. */
8
+ name?: string;
9
+ /** Optional MIME hint for URLs without an extension. */
10
+ mimeType?: string;
11
+ }
12
+ export interface FilePreviewProps {
13
+ prefixCls?: string;
14
+ className?: string;
15
+ ref?: Ref<HTMLDivElement>;
16
+ file?: FilePreviewFile;
17
+ /** Called on each open/retry. Takes precedence over file; keep the callback stable. */
18
+ loadFile?: (signal: AbortSignal) => Promise<FilePreviewFile>;
19
+ open?: boolean;
20
+ defaultOpen?: boolean;
21
+ onOpenChange?: (open: boolean) => void;
22
+ /** Custom trigger render function. null hides the default preview icon. */
23
+ trigger?: ((openPreview: () => void) => ReactNode) | null;
24
+ disabled?: boolean;
25
+ title?: ReactNode;
26
+ /** Dialog width in pixels or CSS units. Defaults to min(90vw, 64rem). */
27
+ width?: DialogProps['width'];
28
+ /** Name displayed while loadFile resolves. */
29
+ fileName?: string;
30
+ /** Defaults to 10 MiB, matching RFI uploads. */
31
+ maxFileSize?: number;
32
+ /** Preview limits, clamped to 1–1000 rows and 1–100 columns. */
33
+ maxRows?: number;
34
+ maxColumns?: number;
35
+ /** Request headers/credentials for the file URL. AbortSignal is managed internally. */
36
+ requestOptions?: Omit<RequestInit, 'signal' | 'method' | 'body'>;
37
+ dialogProps?: Omit<DialogProps, 'open' | 'onCancel' | 'children' | 'title' | 'footer' | 'bare'>;
38
+ locale?: Partial<BusinessLocale['FilePreview']>;
39
+ onError?: (error: Error) => void;
40
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3MvRmlsZVByZXZpZXcvaW50ZXJmYWNlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIiwic291cmNlcyI6WyJidXNpbmVzcy9GaWxlUHJldmlldy9pbnRlcmZhY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9OyJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Retrieves the spacing value for a given token key.
3
+ *
4
+ * @param {string} $key - The spacing token key (e.g., '100', '200').
5
+ * @return {length|null} The computed spacing value or null if the key is invalid.
6
+ * @example
7
+ * .element {
8
+ * padding: om-spacing-token('200'); // Returns 8px if $om-sys-spacing-unit is 4px
9
+ * }
10
+ */
11
+ /**
12
+ * Computes the spacing value based on a token key or a direct length value.
13
+ *
14
+ * @param {string|length} $value - The spacing token key (e.g., '100') or a direct length value (e.g., '16px').
15
+ * @return {length} The computed spacing value.
16
+ * @example
17
+ * .element {
18
+ * margin: om-spacing-value('300'); // Returns 12px if $om-sys-spacing-unit is 4px
19
+ * padding: om-spacing-value(16px); // Returns 16px
20
+ * gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
21
+ * }
22
+ */
23
+ .om-component-ui-file-preview {
24
+ max-width: 100%;
25
+ }
26
+ .om-component-ui-file-preview-content {
27
+ display: flex;
28
+ flex-direction: column;
29
+ gap: var(--om-spacing-400, 16px);
30
+ min-width: 0;
31
+ }
32
+ .om-component-ui-file-preview-filename {
33
+ overflow-wrap: anywhere;
34
+ }
35
+ .om-component-ui-file-preview-pdf {
36
+ width: 100%;
37
+ height: 60vh;
38
+ border: 0;
39
+ border-radius: var(--om-radius-200, 8px);
40
+ }
41
+ .om-component-ui-file-preview-viewport {
42
+ max-height: 60vh;
43
+ overflow: auto;
44
+ background: var(--om-bg-default-secondary, #f8f8f8);
45
+ border-radius: var(--om-radius-200, 8px);
46
+ }
47
+ .om-component-ui-file-preview-image {
48
+ display: block;
49
+ max-width: 100%;
50
+ max-height: 60vh;
51
+ margin: auto;
52
+ -o-object-fit: contain;
53
+ object-fit: contain;
54
+ }
55
+ .om-component-ui-file-preview-image[hidden] {
56
+ display: none;
57
+ }
58
+ .om-component-ui-file-preview-message {
59
+ display: flex;
60
+ flex-direction: column;
61
+ gap: var(--om-spacing-400, 16px);
62
+ align-items: center;
63
+ justify-content: center;
64
+ min-height: 30vh;
65
+ padding: var(--om-spacing-800, 32px);
66
+ text-align: center;
67
+ }
68
+ .om-component-ui-file-preview-sheets {
69
+ max-width: 100%;
70
+ overflow-x: auto;
71
+ }
72
+ .om-component-ui-file-preview-table {
73
+ width: 100%;
74
+ color: var(--om-text-default, #131313);
75
+ border-collapse: collapse;
76
+ font-size: var(--om-body-sm-font-size);
77
+ font-family: var(--om-body-sm-font-family);
78
+ line-height: var(--om-body-sm-line-height);
79
+ letter-spacing: var(--om-body-sm-letter-spacing);
80
+ font-weight: var(--om-body-sm-font-weight);
81
+ }
82
+ .om-component-ui-file-preview-table th,
83
+ .om-component-ui-file-preview-table td {
84
+ min-width: var(--om-spacing-2000, 80px);
85
+ max-width: calc(4 * var(--om-spacing-2000, 80px));
86
+ padding: var(--om-spacing-200, 8px) var(--om-spacing-300, 12px);
87
+ overflow-wrap: anywhere;
88
+ text-align: left;
89
+ white-space: pre-wrap;
90
+ box-shadow: inset 0 0 0 0.5px var(--om-border-default, #d1d2d2);
91
+ }
92
+ .om-component-ui-file-preview-table td {
93
+ background: var(--om-bg-default, #fff);
94
+ }
95
+ .om-component-ui-file-preview-table th {
96
+ font-weight: 500;
97
+ background: var(--om-bg-default-secondary, #f8f8f8);
98
+ }
99
+ .om-component-ui-file-preview-table th:first-child {
100
+ width: 1%;
101
+ min-width: var(--om-spacing-1000, 40px);
102
+ }
103
+ .om-component-ui-file-preview-table thead th {
104
+ position: sticky;
105
+ top: 0;
106
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./FilePreview.css");
4
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbGVQcmV2aWV3L3NyYy9idXNpbmVzcy9GaWxlUHJldmlldy9zdHlsZS9pbmRleC50cyJdLCJuYW1lcyI6WyJyZXF1aXJlIl0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFBIiwiZmlsZSI6ImJ1c2luZXNzL0ZpbGVQcmV2aWV3L3N0eWxlL2Nzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1 @@
1
+ import './FilePreview.css';
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./FilePreview.css");
4
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbGVQcmV2aWV3L3NyYy9idXNpbmVzcy9GaWxlUHJldmlldy9zdHlsZS9pbmRleC50cyJdLCJuYW1lcyI6WyJyZXF1aXJlIl0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFBIiwiZmlsZSI6ImJ1c2luZXNzL0ZpbGVQcmV2aWV3L3N0eWxlL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,11 @@
1
+ import type { FilePreviewFile, FilePreviewProps } from './interface';
2
+ export declare const DEFAULT_MAX_FILE_SIZE: number;
3
+ export declare const DEFAULT_MAX_ROWS = 200;
4
+ export declare const DEFAULT_MAX_COLUMNS = 50;
5
+ export type PreviewKind = 'image' | 'pdf' | 'spreadsheet' | 'unsupported';
6
+ export declare function getFileName(file: FilePreviewFile): string;
7
+ export declare function getPreviewKind(file: FilePreviewFile): PreviewKind;
8
+ export declare const previewLimit: (value: number, fallback: number, maximum: number) => number;
9
+ /** Basic format check before embedding; the native viewer validates PDF structure. */
10
+ export declare function validatePdfBlob(blob: Blob): Promise<void>;
11
+ export declare function readPreviewBlob(file: FilePreviewFile, signal: AbortSignal, maxBytes: number, options: FilePreviewProps['requestOptions']): Promise<Blob>;