@glodon-aiot/react-components 3.11.0-snapshot.1765331448 → 3.11.0-snapshot.1765331450
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es/components/DocumentViewer/components/PdfRenderer.mjs +5 -4
- package/dist/es/components/DocumentViewer/index.mjs +131 -129
- package/dist/es/index.mjs +1 -1
- package/dist/lib/index.js +9 -9
- package/dist/src/components/DocumentViewer/components/PdfRenderer.d.ts +1 -0
- package/dist/src/components/DocumentViewer/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { Spin as m, Alert as n } from "antd";
|
|
3
3
|
import { DownloadButton as s } from "./DownloadButton.mjs";
|
|
4
|
-
const
|
|
4
|
+
const f = ({
|
|
5
5
|
pdfBlobUrl: r,
|
|
6
6
|
pdfLoading: c,
|
|
7
7
|
pdfError: i,
|
|
8
8
|
url: t,
|
|
9
|
-
fileName: o
|
|
9
|
+
fileName: o,
|
|
10
|
+
page: a = 1
|
|
10
11
|
}) => c ? /* @__PURE__ */ e("div", {
|
|
11
12
|
className: "document-viewer-loading",
|
|
12
13
|
children: /* @__PURE__ */ e(m, {
|
|
@@ -25,7 +26,7 @@ const u = ({
|
|
|
25
26
|
}) : r ? /* @__PURE__ */ e("div", {
|
|
26
27
|
className: "document-viewer-pdf",
|
|
27
28
|
children: /* @__PURE__ */ e("iframe", {
|
|
28
|
-
src: r
|
|
29
|
+
src: `${r}#page=${a}`,
|
|
29
30
|
className: "document-viewer-iframe",
|
|
30
31
|
title: "PDF Preview"
|
|
31
32
|
})
|
|
@@ -40,5 +41,5 @@ const u = ({
|
|
|
40
41
|
})
|
|
41
42
|
});
|
|
42
43
|
export {
|
|
43
|
-
|
|
44
|
+
f as PdfRenderer
|
|
44
45
|
};
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
1
|
+
var v = (o, e, r) => new Promise((x, p) => {
|
|
2
|
+
var g = (l) => {
|
|
3
3
|
try {
|
|
4
|
-
|
|
5
|
-
} catch (
|
|
6
|
-
p(
|
|
4
|
+
a(r.next(l));
|
|
5
|
+
} catch (u) {
|
|
6
|
+
p(u);
|
|
7
7
|
}
|
|
8
|
-
},
|
|
8
|
+
}, C = (l) => {
|
|
9
9
|
try {
|
|
10
|
-
|
|
11
|
-
} catch (
|
|
12
|
-
p(
|
|
10
|
+
a(r.throw(l));
|
|
11
|
+
} catch (u) {
|
|
12
|
+
p(u);
|
|
13
13
|
}
|
|
14
|
-
},
|
|
15
|
-
|
|
14
|
+
}, a = (l) => l.done ? x(l.value) : Promise.resolve(l.value).then(g, C);
|
|
15
|
+
a((r = r.apply(o, e)).next());
|
|
16
16
|
});
|
|
17
|
-
import { jsxs as
|
|
18
|
-
import { useMemo as
|
|
19
|
-
import { message as h, Space as
|
|
20
|
-
import { DownloadOutlined as
|
|
21
|
-
import { getFileExtension as A, getFileType as
|
|
17
|
+
import { jsxs as y, jsx as t } from "react/jsx-runtime";
|
|
18
|
+
import { useMemo as b, useState as w, useEffect as ae, useCallback as z } from "react";
|
|
19
|
+
import { message as h, Space as se, Button as ce, Dropdown as le, Spin as de, Alert as ue } from "antd";
|
|
20
|
+
import { DownloadOutlined as pe, CopyOutlined as me } from "@ant-design/icons";
|
|
21
|
+
import { getFileExtension as A, getFileType as fe } from "../../utils/file.mjs";
|
|
22
22
|
import { MAX_FILE_SIZE as S } from "./constants.mjs";
|
|
23
|
-
import { usePdfViewer as
|
|
24
|
-
import { useZipViewer as
|
|
25
|
-
import { TextRenderer as P, CodeRenderer as
|
|
26
|
-
import { AudioRenderer as
|
|
27
|
-
import { PdfRenderer as
|
|
28
|
-
import { ZipRenderer as
|
|
29
|
-
import { ErrorAlert as
|
|
23
|
+
import { usePdfViewer as we } from "./hooks/usePdfViewer.mjs";
|
|
24
|
+
import { useZipViewer as he } from "./hooks/useZipViewer.mjs";
|
|
25
|
+
import { TextRenderer as P, CodeRenderer as ve, XmlRenderer as ye, HtmlRenderer as xe, MarkdownRenderer as be, JsonlRenderer as ge, TsvRenderer as Ce, CsvRenderer as ke, JsonRenderer as Re } from "./components/FileRenderers.mjs";
|
|
26
|
+
import { AudioRenderer as Fe, VideoRenderer as Te, ImageRenderer as Ee } from "./components/MediaRenderers.mjs";
|
|
27
|
+
import { PdfRenderer as Ne } from "./components/PdfRenderer.mjs";
|
|
28
|
+
import { ZipRenderer as ze } from "./components/ZipRenderer.mjs";
|
|
29
|
+
import { ErrorAlert as Se } from "./components/ErrorAlert.mjs";
|
|
30
30
|
import "./style.less.mjs";
|
|
31
|
-
const
|
|
31
|
+
const Be = (o) => {
|
|
32
32
|
if (!o)
|
|
33
33
|
return "unknown";
|
|
34
34
|
const e = o.split(";")[0].trim().toLowerCase();
|
|
35
35
|
return e.startsWith("image/") ? "image" : e.startsWith("video/") ? "video" : e.startsWith("audio/") ? "audio" : e === "application/pdf" ? "pdf" : e === "text/markdown" || e === "text/x-markdown" ? "markdown" : e === "application/json" ? "json" : e === "application/jsonl" ? "jsonl" : e === "text/csv" || e === "application/csv" ? "csv" : e === "text/tab-separated-values" ? "tsv" : e === "application/javascript" || e === "text/javascript" ? "code" : e === "application/xml" || e === "text/xml" ? "xml" : e === "text/html" || e === "application/xhtml+xml" ? "html" : e === "text/plain" ? "text" : "unknown";
|
|
36
|
-
},
|
|
36
|
+
}, Le = (o) => !o || Number.isNaN(o) ? "大小未知" : o < 1024 ? `${o}B` : o < 1024 * 1024 ? `${(o / 1024).toFixed(1)}KB` : o < 1024 * 1024 * 1024 ? `${(o / 1024 / 1024).toFixed(1)}MB` : `${(o / 1024 / 1024 / 1024).toFixed(1)}GB`, je = (o, e) => {
|
|
37
37
|
if (e)
|
|
38
38
|
return e;
|
|
39
39
|
try {
|
|
@@ -42,28 +42,29 @@ const Se = (o) => {
|
|
|
42
42
|
} catch (r) {
|
|
43
43
|
return o;
|
|
44
44
|
}
|
|
45
|
-
},
|
|
45
|
+
}, Me = (o) => {
|
|
46
46
|
const {
|
|
47
47
|
url: e,
|
|
48
48
|
fileName: r,
|
|
49
|
-
className:
|
|
49
|
+
className: x,
|
|
50
50
|
style: p,
|
|
51
|
-
showToolbar:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
51
|
+
showToolbar: g = !1,
|
|
52
|
+
page: C = 1
|
|
53
|
+
} = o, a = b(() => {
|
|
54
|
+
const s = A(e), n = r ? A(r) : void 0;
|
|
55
|
+
return fe(s || n);
|
|
56
|
+
}, [e, r]), [l, u] = w(a), {
|
|
57
|
+
pdfBlobUrl: V,
|
|
58
|
+
pdfLoading: W,
|
|
59
|
+
pdfError: H
|
|
60
|
+
} = we(a === "pdf" ? e : ""), {
|
|
61
|
+
zipFiles: Z,
|
|
62
|
+
zipLoading: _,
|
|
63
|
+
zipError: J,
|
|
64
|
+
selectedZipFile: X,
|
|
65
|
+
zipFileContent: G,
|
|
66
|
+
handleFileClick: K
|
|
67
|
+
} = he(a === "zip" ? e : ""), [q, d] = w(!0), [B, m] = w(null), [i, L] = w(null), [c, j] = w(0), [Q, M] = w(!1), $ = b(() => je(e, r), [r, e]), Y = b(() => Le(c), [c]), k = !!(i != null && i.content), ee = !k && !e, te = b(() => [{
|
|
67
68
|
key: "copy-content",
|
|
68
69
|
label: "复制内容",
|
|
69
70
|
disabled: !k
|
|
@@ -72,8 +73,8 @@ const Se = (o) => {
|
|
|
72
73
|
label: "复制地址",
|
|
73
74
|
disabled: !e
|
|
74
75
|
}], [k, e]);
|
|
75
|
-
|
|
76
|
-
if (
|
|
76
|
+
ae(() => {
|
|
77
|
+
if (u(a), a === "pdf" || a === "zip") {
|
|
77
78
|
d(!1);
|
|
78
79
|
return;
|
|
79
80
|
}
|
|
@@ -81,11 +82,11 @@ const Se = (o) => {
|
|
|
81
82
|
m("文件URL不能为空"), d(!1);
|
|
82
83
|
return;
|
|
83
84
|
}
|
|
84
|
-
if (["image", "video", "audio", "office"].includes(
|
|
85
|
+
if (["image", "video", "audio", "office"].includes(a)) {
|
|
85
86
|
d(!1);
|
|
86
87
|
return;
|
|
87
88
|
}
|
|
88
|
-
d(!0), m(null),
|
|
89
|
+
d(!0), m(null), v(void 0, null, function* () {
|
|
89
90
|
try {
|
|
90
91
|
if (e.startsWith("blob:") || e.startsWith("data:")) {
|
|
91
92
|
const f = yield fetch(e);
|
|
@@ -96,18 +97,18 @@ const Se = (o) => {
|
|
|
96
97
|
m(`文件过大(${Math.round(N / 1024 / 1024)}MB),无法预览。请下载后查看。`), d(!1);
|
|
97
98
|
return;
|
|
98
99
|
}
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
content:
|
|
100
|
+
const ie = yield O.text();
|
|
101
|
+
a === "unknown" && u("text"), L({
|
|
102
|
+
content: ie
|
|
102
103
|
}), d(!1);
|
|
103
104
|
return;
|
|
104
105
|
}
|
|
105
106
|
const n = yield fetch(e, {
|
|
106
107
|
method: "HEAD"
|
|
107
|
-
}), F = n.headers.get("Content-Length"),
|
|
108
|
-
if (j(T),
|
|
109
|
-
const f =
|
|
110
|
-
f !== "unknown" &&
|
|
108
|
+
}), F = n.headers.get("Content-Length"), oe = n.headers.get("Content-Type"), T = F ? parseInt(F, 10) : 0;
|
|
109
|
+
if (j(T), a === "unknown") {
|
|
110
|
+
const f = Be(oe);
|
|
111
|
+
f !== "unknown" && u(f);
|
|
111
112
|
}
|
|
112
113
|
if (T > S) {
|
|
113
114
|
m(`文件过大(${Math.round(T / 1024 / 1024)}MB),无法预览。请下载后查看。`), d(!1);
|
|
@@ -121,22 +122,22 @@ const Se = (o) => {
|
|
|
121
122
|
m(`文件过大(${Math.round(I / 1024 / 1024)}MB),无法预览。请下载后查看。`), d(!1);
|
|
122
123
|
return;
|
|
123
124
|
}
|
|
124
|
-
|
|
125
|
+
l === "unknown" && u("text"), L({
|
|
125
126
|
content: D
|
|
126
127
|
}), d(!1);
|
|
127
|
-
} catch (
|
|
128
|
-
m(
|
|
128
|
+
} catch (s) {
|
|
129
|
+
m(s.message || "加载文件失败"), d(!1);
|
|
129
130
|
}
|
|
130
131
|
});
|
|
131
|
-
}, [e,
|
|
132
|
-
const R = z(() =>
|
|
133
|
-
var
|
|
132
|
+
}, [e, a]);
|
|
133
|
+
const R = z(() => v(void 0, null, function* () {
|
|
134
|
+
var s;
|
|
134
135
|
if (!(i != null && i.content)) {
|
|
135
136
|
h.warning("暂无可复制的内容");
|
|
136
137
|
return;
|
|
137
138
|
}
|
|
138
139
|
try {
|
|
139
|
-
if (M(!0), (
|
|
140
|
+
if (M(!0), (s = navigator == null ? void 0 : navigator.clipboard) != null && s.writeText)
|
|
140
141
|
yield navigator.clipboard.writeText(i.content);
|
|
141
142
|
else {
|
|
142
143
|
const n = document.createElement("textarea");
|
|
@@ -148,14 +149,14 @@ const Se = (o) => {
|
|
|
148
149
|
} finally {
|
|
149
150
|
M(!1);
|
|
150
151
|
}
|
|
151
|
-
}), [i]), U = z(() =>
|
|
152
|
-
var
|
|
152
|
+
}), [i]), U = z(() => v(void 0, null, function* () {
|
|
153
|
+
var s;
|
|
153
154
|
if (!e) {
|
|
154
155
|
h.warning("暂无可复制的地址");
|
|
155
156
|
return;
|
|
156
157
|
}
|
|
157
158
|
try {
|
|
158
|
-
if ((
|
|
159
|
+
if ((s = navigator == null ? void 0 : navigator.clipboard) != null && s.writeText)
|
|
159
160
|
yield navigator.clipboard.writeText(e);
|
|
160
161
|
else {
|
|
161
162
|
const n = document.createElement("textarea");
|
|
@@ -165,147 +166,148 @@ const Se = (o) => {
|
|
|
165
166
|
} catch (n) {
|
|
166
167
|
h.error((n == null ? void 0 : n.message) || "复制失败,请手动复制");
|
|
167
168
|
}
|
|
168
|
-
}), [e]),
|
|
169
|
-
key:
|
|
169
|
+
}), [e]), re = z((n) => v(void 0, [n], function* ({
|
|
170
|
+
key: s
|
|
170
171
|
}) {
|
|
171
|
-
|
|
172
|
-
}), [R, U]),
|
|
173
|
-
if (
|
|
172
|
+
s === "copy-content" && (yield R()), s === "copy-url" && (yield U());
|
|
173
|
+
}), [R, U]), ne = () => {
|
|
174
|
+
if (q)
|
|
174
175
|
return /* @__PURE__ */ t("div", {
|
|
175
176
|
className: "document-viewer-loading",
|
|
176
|
-
children: /* @__PURE__ */ t(
|
|
177
|
+
children: /* @__PURE__ */ t(de, {
|
|
177
178
|
size: "large",
|
|
178
179
|
tip: "加载中..."
|
|
179
180
|
})
|
|
180
181
|
});
|
|
181
182
|
if (B)
|
|
182
|
-
return /* @__PURE__ */ t(
|
|
183
|
+
return /* @__PURE__ */ t(Se, {
|
|
183
184
|
message: "加载失败",
|
|
184
185
|
description: B,
|
|
185
186
|
url: e,
|
|
186
187
|
fileName: r
|
|
187
188
|
});
|
|
188
|
-
if (
|
|
189
|
+
if (l === "unknown" && (i != null && i.content))
|
|
189
190
|
return /* @__PURE__ */ t(P, {
|
|
190
191
|
fileContent: i,
|
|
191
|
-
fileSize:
|
|
192
|
+
fileSize: c,
|
|
192
193
|
url: e,
|
|
193
194
|
fileName: r
|
|
194
195
|
});
|
|
195
|
-
switch (
|
|
196
|
+
switch (l) {
|
|
196
197
|
case "text":
|
|
197
198
|
return /* @__PURE__ */ t(P, {
|
|
198
199
|
fileContent: i,
|
|
199
|
-
fileSize:
|
|
200
|
+
fileSize: c,
|
|
200
201
|
url: e,
|
|
201
202
|
fileName: r
|
|
202
203
|
});
|
|
203
204
|
case "json":
|
|
204
|
-
return /* @__PURE__ */ t(
|
|
205
|
+
return /* @__PURE__ */ t(Re, {
|
|
205
206
|
fileContent: i,
|
|
206
|
-
fileSize:
|
|
207
|
+
fileSize: c,
|
|
207
208
|
url: e,
|
|
208
209
|
fileName: r
|
|
209
210
|
});
|
|
210
211
|
case "csv":
|
|
211
|
-
return /* @__PURE__ */ t(
|
|
212
|
+
return /* @__PURE__ */ t(ke, {
|
|
212
213
|
fileContent: i,
|
|
213
|
-
fileSize:
|
|
214
|
+
fileSize: c,
|
|
214
215
|
url: e,
|
|
215
216
|
fileName: r
|
|
216
217
|
});
|
|
217
218
|
case "tsv":
|
|
218
|
-
return /* @__PURE__ */ t(
|
|
219
|
+
return /* @__PURE__ */ t(Ce, {
|
|
219
220
|
fileContent: i,
|
|
220
|
-
fileSize:
|
|
221
|
+
fileSize: c,
|
|
221
222
|
url: e,
|
|
222
223
|
fileName: r
|
|
223
224
|
});
|
|
224
225
|
case "jsonl":
|
|
225
|
-
return /* @__PURE__ */ t(
|
|
226
|
+
return /* @__PURE__ */ t(ge, {
|
|
226
227
|
fileContent: i,
|
|
227
|
-
fileSize:
|
|
228
|
+
fileSize: c,
|
|
228
229
|
url: e,
|
|
229
230
|
fileName: r
|
|
230
231
|
});
|
|
231
232
|
case "markdown":
|
|
232
|
-
return /* @__PURE__ */ t(
|
|
233
|
+
return /* @__PURE__ */ t(be, {
|
|
233
234
|
fileContent: i,
|
|
234
|
-
fileSize:
|
|
235
|
+
fileSize: c,
|
|
235
236
|
url: e,
|
|
236
237
|
fileName: r
|
|
237
238
|
});
|
|
238
239
|
case "html":
|
|
239
|
-
return /* @__PURE__ */ t(
|
|
240
|
+
return /* @__PURE__ */ t(xe, {
|
|
240
241
|
fileContent: i,
|
|
241
|
-
fileSize:
|
|
242
|
+
fileSize: c,
|
|
242
243
|
url: e,
|
|
243
244
|
fileName: r
|
|
244
245
|
});
|
|
245
246
|
case "xml":
|
|
246
|
-
return /* @__PURE__ */ t(
|
|
247
|
+
return /* @__PURE__ */ t(ye, {
|
|
247
248
|
fileContent: i,
|
|
248
|
-
fileSize:
|
|
249
|
+
fileSize: c,
|
|
249
250
|
url: e,
|
|
250
251
|
fileName: r
|
|
251
252
|
});
|
|
252
253
|
case "code":
|
|
253
|
-
return /* @__PURE__ */ t(
|
|
254
|
+
return /* @__PURE__ */ t(ve, {
|
|
254
255
|
fileContent: i,
|
|
255
|
-
fileSize:
|
|
256
|
+
fileSize: c,
|
|
256
257
|
url: e,
|
|
257
258
|
fileName: r
|
|
258
259
|
});
|
|
259
260
|
case "image":
|
|
260
|
-
return /* @__PURE__ */ t(
|
|
261
|
+
return /* @__PURE__ */ t(Ee, {
|
|
261
262
|
url: e,
|
|
262
263
|
fileName: r
|
|
263
264
|
});
|
|
264
265
|
case "video":
|
|
265
|
-
return /* @__PURE__ */ t(
|
|
266
|
+
return /* @__PURE__ */ t(Te, {
|
|
266
267
|
url: e,
|
|
267
268
|
fileName: r
|
|
268
269
|
});
|
|
269
270
|
case "audio":
|
|
270
|
-
return /* @__PURE__ */ t(
|
|
271
|
+
return /* @__PURE__ */ t(Fe, {
|
|
271
272
|
url: e,
|
|
272
273
|
fileName: r
|
|
273
274
|
});
|
|
274
275
|
case "pdf":
|
|
275
|
-
return /* @__PURE__ */ t(
|
|
276
|
-
pdfBlobUrl:
|
|
277
|
-
pdfLoading:
|
|
278
|
-
pdfError:
|
|
276
|
+
return /* @__PURE__ */ t(Ne, {
|
|
277
|
+
pdfBlobUrl: V,
|
|
278
|
+
pdfLoading: W,
|
|
279
|
+
pdfError: H,
|
|
279
280
|
url: e,
|
|
280
|
-
fileName: r
|
|
281
|
+
fileName: r,
|
|
282
|
+
page: C
|
|
281
283
|
});
|
|
282
284
|
case "office":
|
|
283
|
-
return /* @__PURE__ */ t(
|
|
285
|
+
return /* @__PURE__ */ t($e, {
|
|
284
286
|
url: e
|
|
285
287
|
});
|
|
286
288
|
case "zip":
|
|
287
|
-
return /* @__PURE__ */ t(
|
|
288
|
-
zipFiles:
|
|
289
|
-
zipLoading:
|
|
290
|
-
zipError:
|
|
291
|
-
selectedZipFile:
|
|
292
|
-
zipFileContent:
|
|
293
|
-
onFileClick:
|
|
289
|
+
return /* @__PURE__ */ t(ze, {
|
|
290
|
+
zipFiles: Z,
|
|
291
|
+
zipLoading: _,
|
|
292
|
+
zipError: J,
|
|
293
|
+
selectedZipFile: X,
|
|
294
|
+
zipFileContent: G,
|
|
295
|
+
onFileClick: K,
|
|
294
296
|
url: e
|
|
295
297
|
});
|
|
296
298
|
case "unknown":
|
|
297
299
|
default:
|
|
298
|
-
return /* @__PURE__ */ t(
|
|
300
|
+
return /* @__PURE__ */ t(Ue, {
|
|
299
301
|
url: e
|
|
300
302
|
});
|
|
301
303
|
}
|
|
302
304
|
};
|
|
303
|
-
return /* @__PURE__ */
|
|
304
|
-
className: `document-viewer ${
|
|
305
|
+
return /* @__PURE__ */ y("div", {
|
|
306
|
+
className: `document-viewer ${x || ""}`,
|
|
305
307
|
style: p,
|
|
306
|
-
children: [
|
|
308
|
+
children: [g && /* @__PURE__ */ y("div", {
|
|
307
309
|
className: "document-viewer-toolbar",
|
|
308
|
-
children: [/* @__PURE__ */
|
|
310
|
+
children: [/* @__PURE__ */ y("div", {
|
|
309
311
|
className: "document-viewer-toolbar-meta",
|
|
310
312
|
children: [/* @__PURE__ */ t("span", {
|
|
311
313
|
className: "document-viewer-toolbar-name",
|
|
@@ -313,42 +315,42 @@ const Se = (o) => {
|
|
|
313
315
|
children: $
|
|
314
316
|
}), /* @__PURE__ */ t("span", {
|
|
315
317
|
className: "document-viewer-toolbar-size",
|
|
316
|
-
children:
|
|
318
|
+
children: Y
|
|
317
319
|
})]
|
|
318
|
-
}), /* @__PURE__ */
|
|
320
|
+
}), /* @__PURE__ */ y(se, {
|
|
319
321
|
size: 8,
|
|
320
322
|
wrap: !0,
|
|
321
|
-
children: [/* @__PURE__ */ t(
|
|
322
|
-
icon: /* @__PURE__ */ t(
|
|
323
|
+
children: [/* @__PURE__ */ t(ce, {
|
|
324
|
+
icon: /* @__PURE__ */ t(pe, {}),
|
|
323
325
|
size: "small",
|
|
324
326
|
href: e,
|
|
325
327
|
target: "_blank",
|
|
326
328
|
rel: "noopener noreferrer",
|
|
327
329
|
download: r || void 0,
|
|
328
330
|
children: "下载"
|
|
329
|
-
}), /* @__PURE__ */ t(
|
|
331
|
+
}), /* @__PURE__ */ t(le.Button, {
|
|
330
332
|
size: "small",
|
|
331
|
-
icon: /* @__PURE__ */ t(
|
|
333
|
+
icon: /* @__PURE__ */ t(me, {}),
|
|
332
334
|
menu: {
|
|
333
|
-
items:
|
|
334
|
-
onClick:
|
|
335
|
+
items: te,
|
|
336
|
+
onClick: re
|
|
335
337
|
},
|
|
336
|
-
disabled:
|
|
337
|
-
loading:
|
|
338
|
+
disabled: ee,
|
|
339
|
+
loading: Q,
|
|
338
340
|
onClick: R,
|
|
339
341
|
children: "复制"
|
|
340
342
|
})]
|
|
341
343
|
})]
|
|
342
344
|
}), /* @__PURE__ */ t("div", {
|
|
343
345
|
className: "document-viewer-body",
|
|
344
|
-
children:
|
|
346
|
+
children: ne()
|
|
345
347
|
})]
|
|
346
348
|
});
|
|
347
|
-
},
|
|
349
|
+
}, $e = ({
|
|
348
350
|
url: o
|
|
349
351
|
}) => {
|
|
350
352
|
const e = `https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(o)}`;
|
|
351
|
-
return /* @__PURE__ */
|
|
353
|
+
return /* @__PURE__ */ y("div", {
|
|
352
354
|
className: "document-viewer-office",
|
|
353
355
|
children: [/* @__PURE__ */ t("iframe", {
|
|
354
356
|
src: e,
|
|
@@ -356,7 +358,7 @@ const Se = (o) => {
|
|
|
356
358
|
title: "Office Document Preview"
|
|
357
359
|
}), /* @__PURE__ */ t("div", {
|
|
358
360
|
className: "document-viewer-fallback",
|
|
359
|
-
children: /* @__PURE__ */ t(
|
|
361
|
+
children: /* @__PURE__ */ t(ue, {
|
|
360
362
|
message: "预览可能不可用",
|
|
361
363
|
description: /* @__PURE__ */ t("a", {
|
|
362
364
|
href: o,
|
|
@@ -369,7 +371,7 @@ const Se = (o) => {
|
|
|
369
371
|
})
|
|
370
372
|
})]
|
|
371
373
|
});
|
|
372
|
-
},
|
|
374
|
+
}, Ue = ({
|
|
373
375
|
url: o
|
|
374
376
|
}) => /* @__PURE__ */ t("div", {
|
|
375
377
|
className: "document-viewer-unknown",
|
|
@@ -378,7 +380,7 @@ const Se = (o) => {
|
|
|
378
380
|
className: "document-viewer-iframe",
|
|
379
381
|
title: "File Preview"
|
|
380
382
|
})
|
|
381
|
-
}),
|
|
383
|
+
}), Qe = Me;
|
|
382
384
|
export {
|
|
383
|
-
|
|
385
|
+
Qe as default
|
|
384
386
|
};
|
package/dist/es/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode('.storybook-button{font-family:Nunito Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;border:0;border-radius:3em;cursor:pointer;display:inline-block;line-height:1}.storybook-button--primary{color:#fff;background-color:#027bf4}.storybook-button--secondary{color:#333;background-color:transparent;box-shadow:#00000026 0 0 0 1px inset}.storybook-button--small{font-size:12px;padding:10px 16px}.storybook-button--medium{font-size:14px;padding:11px 20px}.storybook-button--large{font-size:16px;padding:12px 24px}.document-viewer{width:100%;height:100%;min-height:200px;display:flex;flex-direction:column;overflow:hidden;position:relative;gap:8px}.document-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid #f0f0f0;background:#fafafa;border-radius:4px;flex-shrink:0}.document-viewer-toolbar-meta{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.document-viewer-toolbar-name{font-weight:500;color:#1f1f1f;max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-viewer-toolbar-size{font-size:12px;color:#666;flex-shrink:0}.document-viewer-body{flex:1;min-height:0;display:flex}.document-viewer-loading{display:flex;justify-content:center;align-items:center;min-height:200px;flex:1}.document-viewer-text,.document-viewer-json,.document-viewer-xml{padding:16px;background:#f5f5f5;border-radius:4px;overflow:auto;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;flex:1;min-height:0}.document-viewer-json{background:#f9f9f9}.document-viewer-xml{background:#fff8e1}.document-viewer-jsonl{padding:16px;overflow:auto;flex:1;min-height:0;width:100%;display:flex;flex-direction:column}.document-viewer-jsonl-item{margin-bottom:16px;padding:12px;background:#f9f9f9;border-radius:4px;border-left:3px solid #1890ff;width:100%;box-sizing:border-box;max-width:100%}.document-viewer-jsonl-item:last-child{margin-bottom:0}.document-viewer-jsonl-item pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;width:100%;max-width:100%;box-sizing:border-box}.document-viewer-code{border-radius:4px;overflow:auto;max-height:100%;height:100%;display:flex;flex-direction:column;width:100%}.document-viewer-code pre{margin:0!important;padding:16px!important;background:#f5f5f5!important;overflow:visible;width:100%;box-sizing:border-box}.document-viewer-code>div{overflow:auto;max-height:100%;width:100%}.document-viewer-image{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-image .ant-image{max-width:100%;max-height:100%;width:100%;height:100%}.document-viewer-image .ant-image img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.document-viewer-video{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-video video{max-width:100%;max-height:100%}.document-viewer-audio{padding:16px;display:flex;justify-content:center;align-items:center;min-height:100px;overflow:hidden;flex:1;min-height:0}.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-zip{width:100%;height:100%;min-height:0;position:relative;flex:1;display:flex;flex-direction:column}.document-viewer-zip{display:flex;flex-direction:column;padding:16px;background:#fff;overflow:hidden}.document-viewer-zip .ant-table{font-size:12px}.document-viewer-zip .ant-table .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}.document-viewer-zip .ant-table .ant-table-tbody>tr.ant-table-row-selected>td{background-color:#e6f7ff}.document-viewer-iframe{width:100%;height:100%;min-height:0;border:none;border-radius:4px;flex:1}.document-viewer-fallback{margin-top:16px}.document-viewer-alert-full{width:100%;align-self:flex-start}@media (max-width: 768px){.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-iframe{min-height:0}}.g-icon-btn{height:28px;width:28px;line-height:28px;background-color:#222836;color:#b8c1d0;cursor:pointer;text-align:center;padding:0;border:none;font-size:16px;display:block}.g-icon-btn:hover{color:#fff;background:linear-gradient(180deg,#4e5b73 0%,#222836 100%);border-image:linear-gradient(180deg,#4e5b73 0%,#222836 100%),linear-gradient(180deg,#ffffff 16.67%,#d2d2d2 49.48%,#000000 73.44%,#e4e4e4 92.71%)}.g-icon-btn:disabled{color:#68707e;cursor:not-allowed;background:linear-gradient(180deg,#0a111d 0%,#222836 100%)}.g-expandable-pannel-wrap{inset:0;z-index:999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar{position:absolute;right:0;top:0;background-color:#222836;z-index:9999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.collapsed{position:absolute;top:0;right:0;z-index:9;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned{padding:0}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned .g-icon-btn{background-color:#0000}.g-expandable-pannel-wrap .g-expandable-pannel{width:100%;height:100%;border:.5px solid #313A4D}.g-expandable-pannel-wrap .g-expandable-pannel-header{position:absolute;right:0;top:0;z-index:9;padding-right:28px;height:28px;display:flex;flex-direction:row-reverse}.g-expandable-pannel-wrap .g-expandable-pannel-body{opacity:.85;width:100%;height:100%}.g-expandable-pannel-wrap .g-expandable-pannel-body .icon{width:16px;height:16px}.g-expandable-pannel-wrap .g-expandable-pannel.full{width:100%!important;height:100%!important;inset:0 55px;z-index:9}.g-expandable-pannel-wrap .g-expandable-pannel.hidden{inset:0 -20000px}.g-expandable-pannel-wrap .g-expandable-pannel.hidden+.bar-btn{position:absolute;right:0!important;background:rgba(58,63,76,.5);border-radius:20px 0 0 20px}.g-expandable-pannel-wrap .g-expandable-pannel.normal{height:250px;overflow:hidden;padding:0}.g-expandable-pannel-wrap .g-expandable-pannel.full+.bar-btn{top:0;right:55px;z-index:99}.g-expandable-pannel-wrap .g-expandable-pannel.full~.cover{display:block;position:absolute;width:100vw;height:100vh;top:0;left:0;background:#00000066}.g-expandable-pannel-wrap .g-expandable-pannel.hiddern~.cover{display:none}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel{width:134px;background:#ffffff;border:1px solid #ececec;box-shadow:2px 2px 6px #c0c0c040;border-radius:4px;padding:6px 12px}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row{width:100%;display:flex;height:32px;align-items:center}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row img{width:16px;height:16px;margin:0 8px}.g-expandable-pannel-wrap .g-expandable-pannel .status{display:block}.g-expandable-pannel-wrap .g-expandable-pannel .status.success:before{display:inline-block;content:"";width:12px;height:12px;background-color:#52c41a}.g-expandable-pannel-wrap .g-expandable-pannel .status.error:before{display:inline-block;content:"";width:12px;height:12px;background-color:#ff4d4f}.g-expandable-pannel-wrap .g-expandable-pannel .pass-confirm-wrap{position:absolute}.markdown{word-break:break-all}.markdown :last-child{margin-bottom:0}.markdown div,.markdown hr,.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6,.markdown p,.markdown table,.markdown code,.markdown img,.markdown address,.markdown blockquote,.markdown dir,.markdown menu,.markdown pre,.markdown ul,.markdown ol,.markdown li,.markdown dl{margin-bottom:12px;line-height:150%;white-space:pre-wrap}.markdown div:last-child,.markdown hr:last-child,.markdown h1:last-child,.markdown h2:last-child,.markdown h3:last-child,.markdown h4:last-child,.markdown h5:last-child,.markdown h6:last-child,.markdown p:last-child,.markdown table:last-child,.markdown code:last-child,.markdown img:last-child,.markdown address:last-child,.markdown blockquote:last-child,.markdown dir:last-child,.markdown menu:last-child,.markdown pre:last-child,.markdown ul:last-child,.markdown ol:last-child,.markdown li:last-child,.markdown dl:last-child{margin-bottom:0}.markdown ul,.markdown ol{padding-inline-start:20px}.markdown ul{list-style-type:disc}.markdown ol{list-style-type:decimal}.markdown ul,.markdown li{white-space:normal;margin-bottom:8px}.markdown table{display:block;border-collapse:collapse;border-radius:4px;max-width:100%;overflow:auto;width:max-content}.markdown td,.markdown th{border:1px solid #e8e9eb;padding:6px 13px;text-align:left}.markdown tr{color:#151b26;background-color:#fff}.markdown th{background-color:#f9f2ff;color:#000}.markdown tr:hover td{background-color:#fff}.markdown p code{background:#f9f2ff;border-radius:4px;padding:4px;display:inline;font-size:12px;color:#070c14}.markdown .markdown-code-title{margin:0;padding:0 16px;height:36px;border-radius:8px 8px 0 0;background:#f9f2ff;display:flex;align-items:center;justify-content:space-between;line-height:21px;font-weight:500;color:#070c14}.markdown .markdown-code-context{padding:16px;background:rgba(249,242,255,.3)!important;margin:0!important;border-radius:0 0 8px 8px}.markdown .markdown-code-context code{margin:0;font-size:85%;background:none;font-size:14px}.markdown .markdown-code-context code>span{flex-wrap:wrap}.markdown p{white-space:pre-line}.markdown pre code.hljs{display:block;overflow-x:auto;padding:1em}.markdown p{line-height:150%;height:auto!important}.markdown img{max-width:100%}.markdown a,.markdown a:hover{color:#0f64ff}.markdown code.hljs{padding:3px 5px}.markdown .hljs{background:rgba(249,242,255,.3);color:#000}.markdown .hljs-comment{color:#697070}.markdown .hljs-tag,.markdown .hljs-punctuation{color:#000a}.markdown .hljs-tag .hljs-name,.markdown .hljs-tag .hljs-attr{color:#000}.markdown .hljs-keyword,.markdown .hljs-attribute,.markdown .hljs-selector-tag,.markdown .hljs-meta .hljs-keyword,.markdown .hljs-doctag,.markdown .hljs-name{font-weight:700}.markdown .hljs-type,.markdown .hljs-string,.markdown .hljs-number,.markdown .hljs-selector-id,.markdown .hljs-selector-class,.markdown .hljs-quote,.markdown .hljs-template-tag,.markdown .hljs-deletion{color:#800}.markdown .hljs-title,.markdown .hljs-section{color:#800;font-weight:700}.markdown .hljs-regexp,.markdown .hljs-symbol,.markdown .hljs-variable,.markdown .hljs-template-variable,.markdown .hljs-link,.markdown .hljs-selector-attr,.markdown .hljs-operator,.markdown .hljs-selector-pseudo{color:#ab5656}.markdown .hljs-literal{color:#695}.markdown .hljs-built_in,.markdown .hljs-bullet,.markdown .hljs-code,.markdown .hljs-addition{color:#397300}.markdown .hljs-meta{color:#1f7199}.markdown .hljs-meta .hljs-string{color:#38a}.markdown .hljs-emphasis{font-style:italic}.markdown .hljs-strong{font-weight:700}.markdown .ant-image{margin-bottom:6px!important}.markdown .ant-image .ant-image-img{margin-bottom:0!important}.copy-btn{font-size:16px;cursor:pointer}.copy-btn:hover{color:#b452ff}.track-map{z-index:10;position:relative}.track-map .point{cursor:pointer}.track-map .bottom-action{position:fixed;left:50%;bottom:10px;transform:translate(-50%);z-index:1000;display:flex;justify-content:center;align-items:flex-end;padding-bottom:12px}.track-map .bottom-action .bottom-pannel{background:white;height:48px;background:rgba(255,255,255,.9);border:1px solid #f8f8f8;box-shadow:2px 2px 4px #c0c0c040;border-radius:4px;padding:0 12px}:where(.css-ed5zg0)[class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm],:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popconfirm{z-index:1060}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-inner-content{color:#000000e0}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message{position:relative;margin-bottom:8px;color:#000000e0;font-size:14px;display:flex;flex-wrap:nowrap;align-items:start}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message>.ant-popconfirm-message-icon .anticon{color:#faad14;font-size:14px;flex:none;line-height:1;padding-top:4px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title{flex:auto;margin-inline-start:8px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title-only{font-weight:600}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-description{position:relative;margin-inline-start:22px;margin-bottom:8px;color:#000000e0;font-size:14px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons{text-align:end}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons button{margin-inline-start:8px}:where(.css-ed5zg0)[class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover],:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"],:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:before,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:after,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popover{box-sizing:border-box;margin:0;padding:0;color:#000000e0;font-size:14px;line-height:1.57142857;list-style:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";position:absolute;top:0;left:0;z-index:1030;font-weight:400;white-space:normal;text-align:start;cursor:auto;user-select:text;--antd-arrow-background-color: #ffffff}:where(.css-ed5zg0).ant-popover-rtl{direction:rtl}:where(.css-ed5zg0).ant-popover-hidden{display:none}:where(.css-ed5zg0).ant-popover .ant-popover-content{position:relative}:where(.css-ed5zg0).ant-popover .ant-popover-inner{background-color:#fff;background-clip:padding-box;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;padding:12px}:where(.css-ed5zg0).ant-popover .ant-popover-title{min-width:177px;margin-bottom:8px;color:#000000e0;font-weight:600}:where(.css-ed5zg0).ant-popover .ant-popover-inner-content{color:#000000e0;padding:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;border:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:var(--antd-arrow-background-color);clip-path:polygon(1.65685425px 100%,50% 1.65685425px,14.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z");content:""}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:after{content:"";position:absolute;width:8.97056275px;height:8.97056275px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px;transform:translateY(50%) rotate(-135deg);box-shadow:2px 2px 5px #0000000d;z-index:0;background:transparent}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{background:var(--antd-arrow-background-color)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{top:0;transform:translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{right:0;transform:translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{left:0;transform:translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-pure{position:relative;max-width:none;margin:16px;display:inline-block}:where(.css-ed5zg0).ant-popover-pure .ant-popover-content{display:inline-block}:where(.css-ed5zg0).ant-popover.ant-popover-blue{--antd-arrow-background-color: #1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-inner{background-color:#1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-purple{--antd-arrow-background-color: #722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-inner{background-color:#722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-cyan{--antd-arrow-background-color: #13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-inner{background-color:#13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-green{--antd-arrow-background-color: #52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-inner{background-color:#52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-magenta{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-pink{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-red{--antd-arrow-background-color: #f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-inner{background-color:#f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-orange{--antd-arrow-background-color: #fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-inner{background-color:#fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-yellow{--antd-arrow-background-color: #fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-inner{background-color:#fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-volcano{--antd-arrow-background-color: #fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-inner{background-color:#fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue{--antd-arrow-background-color: #2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-inner{background-color:#2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-lime{--antd-arrow-background-color: #a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-inner{background-color:#a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-gold{--antd-arrow-background-color: #faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-inner{background-color:#faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-enter.ant-zoom-big-enter-active,:where(.css-ed5zg0).ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:css-ed5zg0-antZoomBigIn;animation-play-state:running}:where(.css-ed5zg0).ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:css-ed5zg0-antZoomBigOut;animation-play-state:running;pointer-events:none}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}:where(.css-ed5zg0).ant-zoom-big-enter-prepare,:where(.css-ed5zg0).ant-zoom-big-appear-prepare{transform:none}:where(.css-ed5zg0).ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.track-map .tooltip-container{pointer-events:none!important}.track-map .tooltip-container>*{pointer-events:initial}.g-expandable-pannel-wrap.collapsed .tooltip-container{display:none}.g-rc-tooltip{position:absolute!important}.g-rc-tooltip .g-rc-tooltip-arrow{height:10px}.g-mouse-tip{display:inline-flex;justify-content:center;align-items:center;gap:4px;box-shadow:0 1px 10px #0000000d,0 4px 5px #00000014,0 2px 4px -1px #0000001f;border-radius:4px;background:#000;position:fixed;z-index:2000;padding:8px 12px}.g-mouse-tip-content{font-size:12px;font-style:normal;font-weight:400;color:#fff}.pass-map{background:transparent}.pass-map .pass-area{position:absolute;background:rgba(255,77,79,.21);border:1px solid #00000000;z-index:1}.pass-map .pass-area-circle{border-radius:50%}.pass-map .pass-area__active{background:rgba(255,77,79,.25);border:1px solid #ff4d4f}.image-map{position:relative;width:100%;height:100%;overflow:hidden;user-select:none;display:flex;justify-content:center}.image-map .image-map-pannel{width:100%;height:100%;user-select:none;display:flex;justify-content:center;align-items:center}.image-map .image-map-toolbar{position:absolute;width:auto;height:auto;bottom:12px;z-index:99;display:flex;align-items:center;gap:12px;background-color:#393939;padding:10px;border-radius:6px}.image-map .image-map-toolbar .zoom-controller{display:flex;height:100%;align-items:center;gap:12px;color:#fff}.image-map .image-map-toolbar .zoom-controller .g-icon-btn,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button{background-color:unset;font-size:16px;border:.5px solid #6f6f6f;border-radius:2px;font-size:14px}.image-map .image-map-toolbar .zoom-controller .g-icon-btn .anticon,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button .anticon{font-size:14px}.image-map .image-map-toolbar .zoom-controller.vertical{flex-direction:column}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn{background-color:red;margin-top:6px;border:none}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn .anticon{font-size:16px}.image-map .image-map-toolbar .zoom-controller.horizontal{flex-direction:row}.image-map .image-map-toolbar .line{width:1px;height:12px;border:.5px solid #e0e0e0}.image-map .image-map-toolbar .moveable-controller{background-color:unset;height:100%;border:.5px solid #6f6f6f;border-radius:2px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn{position:relative;border:none;border-radius:2px;background-color:unset;padding:0;display:flex;height:100%}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change{display:flex;align-items:center;color:#fff;gap:10px;height:100%;margin-inline-end:unset;padding:4px 8px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change svg{font-size:16px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .anticon{font-size:24px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn.active{color:#fff}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left}.image-map .image-map-toolbar .editing-controller .ant-btn-default{border:.5px solid #6f6f6f;border-radius:2px;background-color:unset;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-default:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller .ant-btn-primary{border-radius:2px;background-color:#0532a6;border:.5px solid #6f6f6f;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-primary:hover{background:#0949d2}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail{display:flex;align-items:center;color:#fff;gap:10px;height:100%}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail svg{font-size:16px}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
1
|
+
(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode('.markdown{word-break:break-all}.markdown :last-child{margin-bottom:0}.markdown div,.markdown hr,.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6,.markdown p,.markdown table,.markdown code,.markdown img,.markdown address,.markdown blockquote,.markdown dir,.markdown menu,.markdown pre,.markdown ul,.markdown ol,.markdown li,.markdown dl{margin-bottom:12px;line-height:150%;white-space:pre-wrap}.markdown div:last-child,.markdown hr:last-child,.markdown h1:last-child,.markdown h2:last-child,.markdown h3:last-child,.markdown h4:last-child,.markdown h5:last-child,.markdown h6:last-child,.markdown p:last-child,.markdown table:last-child,.markdown code:last-child,.markdown img:last-child,.markdown address:last-child,.markdown blockquote:last-child,.markdown dir:last-child,.markdown menu:last-child,.markdown pre:last-child,.markdown ul:last-child,.markdown ol:last-child,.markdown li:last-child,.markdown dl:last-child{margin-bottom:0}.markdown ul,.markdown ol{padding-inline-start:20px}.markdown ul{list-style-type:disc}.markdown ol{list-style-type:decimal}.markdown ul,.markdown li{white-space:normal;margin-bottom:8px}.markdown table{display:block;border-collapse:collapse;border-radius:4px;max-width:100%;overflow:auto;width:max-content}.markdown td,.markdown th{border:1px solid #e8e9eb;padding:6px 13px;text-align:left}.markdown tr{color:#151b26;background-color:#fff}.markdown th{background-color:#f9f2ff;color:#000}.markdown tr:hover td{background-color:#fff}.markdown p code{background:#f9f2ff;border-radius:4px;padding:4px;display:inline;font-size:12px;color:#070c14}.markdown .markdown-code-title{margin:0;padding:0 16px;height:36px;border-radius:8px 8px 0 0;background:#f9f2ff;display:flex;align-items:center;justify-content:space-between;line-height:21px;font-weight:500;color:#070c14}.markdown .markdown-code-context{padding:16px;background:rgba(249,242,255,.3)!important;margin:0!important;border-radius:0 0 8px 8px}.markdown .markdown-code-context code{margin:0;font-size:85%;background:none;font-size:14px}.markdown .markdown-code-context code>span{flex-wrap:wrap}.markdown p{white-space:pre-line}.markdown pre code.hljs{display:block;overflow-x:auto;padding:1em}.markdown p{line-height:150%;height:auto!important}.markdown img{max-width:100%}.markdown a,.markdown a:hover{color:#0f64ff}.markdown code.hljs{padding:3px 5px}.markdown .hljs{background:rgba(249,242,255,.3);color:#000}.markdown .hljs-comment{color:#697070}.markdown .hljs-tag,.markdown .hljs-punctuation{color:#000a}.markdown .hljs-tag .hljs-name,.markdown .hljs-tag .hljs-attr{color:#000}.markdown .hljs-keyword,.markdown .hljs-attribute,.markdown .hljs-selector-tag,.markdown .hljs-meta .hljs-keyword,.markdown .hljs-doctag,.markdown .hljs-name{font-weight:700}.markdown .hljs-type,.markdown .hljs-string,.markdown .hljs-number,.markdown .hljs-selector-id,.markdown .hljs-selector-class,.markdown .hljs-quote,.markdown .hljs-template-tag,.markdown .hljs-deletion{color:#800}.markdown .hljs-title,.markdown .hljs-section{color:#800;font-weight:700}.markdown .hljs-regexp,.markdown .hljs-symbol,.markdown .hljs-variable,.markdown .hljs-template-variable,.markdown .hljs-link,.markdown .hljs-selector-attr,.markdown .hljs-operator,.markdown .hljs-selector-pseudo{color:#ab5656}.markdown .hljs-literal{color:#695}.markdown .hljs-built_in,.markdown .hljs-bullet,.markdown .hljs-code,.markdown .hljs-addition{color:#397300}.markdown .hljs-meta{color:#1f7199}.markdown .hljs-meta .hljs-string{color:#38a}.markdown .hljs-emphasis{font-style:italic}.markdown .hljs-strong{font-weight:700}.markdown .ant-image{margin-bottom:6px!important}.markdown .ant-image .ant-image-img{margin-bottom:0!important}.g-icon-btn{height:28px;width:28px;line-height:28px;background-color:#222836;color:#b8c1d0;cursor:pointer;text-align:center;padding:0;border:none;font-size:16px;display:block}.g-icon-btn:hover{color:#fff;background:linear-gradient(180deg,#4e5b73 0%,#222836 100%);border-image:linear-gradient(180deg,#4e5b73 0%,#222836 100%),linear-gradient(180deg,#ffffff 16.67%,#d2d2d2 49.48%,#000000 73.44%,#e4e4e4 92.71%)}.g-icon-btn:disabled{color:#68707e;cursor:not-allowed;background:linear-gradient(180deg,#0a111d 0%,#222836 100%)}.g-expandable-pannel-wrap{inset:0;z-index:999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar{position:absolute;right:0;top:0;background-color:#222836;z-index:9999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.collapsed{position:absolute;top:0;right:0;z-index:9;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned{padding:0}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned .g-icon-btn{background-color:#0000}.g-expandable-pannel-wrap .g-expandable-pannel{width:100%;height:100%;border:.5px solid #313A4D}.g-expandable-pannel-wrap .g-expandable-pannel-header{position:absolute;right:0;top:0;z-index:9;padding-right:28px;height:28px;display:flex;flex-direction:row-reverse}.g-expandable-pannel-wrap .g-expandable-pannel-body{opacity:.85;width:100%;height:100%}.g-expandable-pannel-wrap .g-expandable-pannel-body .icon{width:16px;height:16px}.g-expandable-pannel-wrap .g-expandable-pannel.full{width:100%!important;height:100%!important;inset:0 55px;z-index:9}.g-expandable-pannel-wrap .g-expandable-pannel.hidden{inset:0 -20000px}.g-expandable-pannel-wrap .g-expandable-pannel.hidden+.bar-btn{position:absolute;right:0!important;background:rgba(58,63,76,.5);border-radius:20px 0 0 20px}.g-expandable-pannel-wrap .g-expandable-pannel.normal{height:250px;overflow:hidden;padding:0}.g-expandable-pannel-wrap .g-expandable-pannel.full+.bar-btn{top:0;right:55px;z-index:99}.g-expandable-pannel-wrap .g-expandable-pannel.full~.cover{display:block;position:absolute;width:100vw;height:100vh;top:0;left:0;background:#00000066}.g-expandable-pannel-wrap .g-expandable-pannel.hiddern~.cover{display:none}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel{width:134px;background:#ffffff;border:1px solid #ececec;box-shadow:2px 2px 6px #c0c0c040;border-radius:4px;padding:6px 12px}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row{width:100%;display:flex;height:32px;align-items:center}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row img{width:16px;height:16px;margin:0 8px}.g-expandable-pannel-wrap .g-expandable-pannel .status{display:block}.g-expandable-pannel-wrap .g-expandable-pannel .status.success:before{display:inline-block;content:"";width:12px;height:12px;background-color:#52c41a}.g-expandable-pannel-wrap .g-expandable-pannel .status.error:before{display:inline-block;content:"";width:12px;height:12px;background-color:#ff4d4f}.g-expandable-pannel-wrap .g-expandable-pannel .pass-confirm-wrap{position:absolute}.document-viewer{width:100%;height:100%;min-height:200px;display:flex;flex-direction:column;overflow:hidden;position:relative;gap:8px}.document-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid #f0f0f0;background:#fafafa;border-radius:4px;flex-shrink:0}.document-viewer-toolbar-meta{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.document-viewer-toolbar-name{font-weight:500;color:#1f1f1f;max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-viewer-toolbar-size{font-size:12px;color:#666;flex-shrink:0}.document-viewer-body{flex:1;min-height:0;display:flex}.document-viewer-loading{display:flex;justify-content:center;align-items:center;min-height:200px;flex:1}.document-viewer-text,.document-viewer-json,.document-viewer-xml{padding:16px;background:#f5f5f5;border-radius:4px;overflow:auto;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;flex:1;min-height:0}.document-viewer-json{background:#f9f9f9}.document-viewer-xml{background:#fff8e1}.document-viewer-jsonl{padding:16px;overflow:auto;flex:1;min-height:0;width:100%;display:flex;flex-direction:column}.document-viewer-jsonl-item{margin-bottom:16px;padding:12px;background:#f9f9f9;border-radius:4px;border-left:3px solid #1890ff;width:100%;box-sizing:border-box;max-width:100%}.document-viewer-jsonl-item:last-child{margin-bottom:0}.document-viewer-jsonl-item pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;width:100%;max-width:100%;box-sizing:border-box}.document-viewer-code{border-radius:4px;overflow:auto;max-height:100%;height:100%;display:flex;flex-direction:column;width:100%}.document-viewer-code pre{margin:0!important;padding:16px!important;background:#f5f5f5!important;overflow:visible;width:100%;box-sizing:border-box}.document-viewer-code>div{overflow:auto;max-height:100%;width:100%}.document-viewer-image{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-image .ant-image{max-width:100%;max-height:100%;width:100%;height:100%}.document-viewer-image .ant-image img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.document-viewer-video{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-video video{max-width:100%;max-height:100%}.document-viewer-audio{padding:16px;display:flex;justify-content:center;align-items:center;min-height:100px;overflow:hidden;flex:1;min-height:0}.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-zip{width:100%;height:100%;min-height:0;position:relative;flex:1;display:flex;flex-direction:column}.document-viewer-zip{display:flex;flex-direction:column;padding:16px;background:#fff;overflow:hidden}.document-viewer-zip .ant-table{font-size:12px}.document-viewer-zip .ant-table .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}.document-viewer-zip .ant-table .ant-table-tbody>tr.ant-table-row-selected>td{background-color:#e6f7ff}.document-viewer-iframe{width:100%;height:100%;min-height:0;border:none;border-radius:4px;flex:1}.document-viewer-fallback{margin-top:16px}.document-viewer-alert-full{width:100%;align-self:flex-start}@media (max-width: 768px){.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-iframe{min-height:0}}.copy-btn{font-size:16px;cursor:pointer}.copy-btn:hover{color:#b452ff}.image-map{position:relative;width:100%;height:100%;overflow:hidden;user-select:none;display:flex;justify-content:center}.image-map .image-map-pannel{width:100%;height:100%;user-select:none;display:flex;justify-content:center;align-items:center}.image-map .image-map-toolbar{position:absolute;width:auto;height:auto;bottom:12px;z-index:99;display:flex;align-items:center;gap:12px;background-color:#393939;padding:10px;border-radius:6px}.image-map .image-map-toolbar .zoom-controller{display:flex;height:100%;align-items:center;gap:12px;color:#fff}.image-map .image-map-toolbar .zoom-controller .g-icon-btn,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button{background-color:unset;font-size:16px;border:.5px solid #6f6f6f;border-radius:2px;font-size:14px}.image-map .image-map-toolbar .zoom-controller .g-icon-btn .anticon,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button .anticon{font-size:14px}.image-map .image-map-toolbar .zoom-controller.vertical{flex-direction:column}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn{background-color:red;margin-top:6px;border:none}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn .anticon{font-size:16px}.image-map .image-map-toolbar .zoom-controller.horizontal{flex-direction:row}.image-map .image-map-toolbar .line{width:1px;height:12px;border:.5px solid #e0e0e0}.image-map .image-map-toolbar .moveable-controller{background-color:unset;height:100%;border:.5px solid #6f6f6f;border-radius:2px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn{position:relative;border:none;border-radius:2px;background-color:unset;padding:0;display:flex;height:100%}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change{display:flex;align-items:center;color:#fff;gap:10px;height:100%;margin-inline-end:unset;padding:4px 8px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change svg{font-size:16px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .anticon{font-size:24px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn.active{color:#fff}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left}.image-map .image-map-toolbar .editing-controller .ant-btn-default{border:.5px solid #6f6f6f;border-radius:2px;background-color:unset;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-default:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller .ant-btn-primary{border-radius:2px;background-color:#0532a6;border:.5px solid #6f6f6f;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-primary:hover{background:#0949d2}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail{display:flex;align-items:center;color:#fff;gap:10px;height:100%}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail svg{font-size:16px}.track-map{z-index:10;position:relative}.track-map .point{cursor:pointer}.track-map .bottom-action{position:fixed;left:50%;bottom:10px;transform:translate(-50%);z-index:1000;display:flex;justify-content:center;align-items:flex-end;padding-bottom:12px}.track-map .bottom-action .bottom-pannel{background:white;height:48px;background:rgba(255,255,255,.9);border:1px solid #f8f8f8;box-shadow:2px 2px 4px #c0c0c040;border-radius:4px;padding:0 12px}:where(.css-ed5zg0)[class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm],:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popconfirm{z-index:1060}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-inner-content{color:#000000e0}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message{position:relative;margin-bottom:8px;color:#000000e0;font-size:14px;display:flex;flex-wrap:nowrap;align-items:start}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message>.ant-popconfirm-message-icon .anticon{color:#faad14;font-size:14px;flex:none;line-height:1;padding-top:4px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title{flex:auto;margin-inline-start:8px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title-only{font-weight:600}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-description{position:relative;margin-inline-start:22px;margin-bottom:8px;color:#000000e0;font-size:14px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons{text-align:end}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons button{margin-inline-start:8px}:where(.css-ed5zg0)[class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover],:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"],:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:before,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:after,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popover{box-sizing:border-box;margin:0;padding:0;color:#000000e0;font-size:14px;line-height:1.57142857;list-style:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";position:absolute;top:0;left:0;z-index:1030;font-weight:400;white-space:normal;text-align:start;cursor:auto;user-select:text;--antd-arrow-background-color: #ffffff}:where(.css-ed5zg0).ant-popover-rtl{direction:rtl}:where(.css-ed5zg0).ant-popover-hidden{display:none}:where(.css-ed5zg0).ant-popover .ant-popover-content{position:relative}:where(.css-ed5zg0).ant-popover .ant-popover-inner{background-color:#fff;background-clip:padding-box;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;padding:12px}:where(.css-ed5zg0).ant-popover .ant-popover-title{min-width:177px;margin-bottom:8px;color:#000000e0;font-weight:600}:where(.css-ed5zg0).ant-popover .ant-popover-inner-content{color:#000000e0;padding:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;border:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:var(--antd-arrow-background-color);clip-path:polygon(1.65685425px 100%,50% 1.65685425px,14.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z");content:""}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:after{content:"";position:absolute;width:8.97056275px;height:8.97056275px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px;transform:translateY(50%) rotate(-135deg);box-shadow:2px 2px 5px #0000000d;z-index:0;background:transparent}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{background:var(--antd-arrow-background-color)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{top:0;transform:translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{right:0;transform:translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{left:0;transform:translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-pure{position:relative;max-width:none;margin:16px;display:inline-block}:where(.css-ed5zg0).ant-popover-pure .ant-popover-content{display:inline-block}:where(.css-ed5zg0).ant-popover.ant-popover-blue{--antd-arrow-background-color: #1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-inner{background-color:#1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-purple{--antd-arrow-background-color: #722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-inner{background-color:#722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-cyan{--antd-arrow-background-color: #13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-inner{background-color:#13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-green{--antd-arrow-background-color: #52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-inner{background-color:#52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-magenta{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-pink{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-red{--antd-arrow-background-color: #f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-inner{background-color:#f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-orange{--antd-arrow-background-color: #fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-inner{background-color:#fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-yellow{--antd-arrow-background-color: #fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-inner{background-color:#fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-volcano{--antd-arrow-background-color: #fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-inner{background-color:#fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue{--antd-arrow-background-color: #2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-inner{background-color:#2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-lime{--antd-arrow-background-color: #a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-inner{background-color:#a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-gold{--antd-arrow-background-color: #faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-inner{background-color:#faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-enter.ant-zoom-big-enter-active,:where(.css-ed5zg0).ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:css-ed5zg0-antZoomBigIn;animation-play-state:running}:where(.css-ed5zg0).ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:css-ed5zg0-antZoomBigOut;animation-play-state:running;pointer-events:none}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}:where(.css-ed5zg0).ant-zoom-big-enter-prepare,:where(.css-ed5zg0).ant-zoom-big-appear-prepare{transform:none}:where(.css-ed5zg0).ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.track-map .tooltip-container{pointer-events:none!important}.track-map .tooltip-container>*{pointer-events:initial}.g-expandable-pannel-wrap.collapsed .tooltip-container{display:none}.g-rc-tooltip{position:absolute!important}.g-rc-tooltip .g-rc-tooltip-arrow{height:10px}.g-mouse-tip{display:inline-flex;justify-content:center;align-items:center;gap:4px;box-shadow:0 1px 10px #0000000d,0 4px 5px #00000014,0 2px 4px -1px #0000001f;border-radius:4px;background:#000;position:fixed;z-index:2000;padding:8px 12px}.g-mouse-tip-content{font-size:12px;font-style:normal;font-weight:400;color:#fff}.pass-map{background:transparent}.pass-map .pass-area{position:absolute;background:rgba(255,77,79,.21);border:1px solid #00000000;z-index:1}.pass-map .pass-area-circle{border-radius:50%}.pass-map .pass-area__active{background:rgba(255,77,79,.25);border:1px solid #ff4d4f}.storybook-button{font-family:Nunito Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;border:0;border-radius:3em;cursor:pointer;display:inline-block;line-height:1}.storybook-button--primary{color:#fff;background-color:#027bf4}.storybook-button--secondary{color:#333;background-color:transparent;box-shadow:#00000026 0 0 0 1px inset}.storybook-button--small{font-size:12px;padding:10px 16px}.storybook-button--medium{font-size:14px;padding:11px 20px}.storybook-button--large{font-size:16px;padding:12px 24px}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
2
|
import { Button as e } from "./Button/index.mjs";
|
|
3
3
|
import { Markdown as t } from "./components/Markdown/index.mjs";
|
|
4
4
|
import { Copy as m } from "./components/Copy/index.mjs";
|
package/dist/lib/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode('.storybook-button{font-family:Nunito Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;border:0;border-radius:3em;cursor:pointer;display:inline-block;line-height:1}.storybook-button--primary{color:#fff;background-color:#027bf4}.storybook-button--secondary{color:#333;background-color:transparent;box-shadow:#00000026 0 0 0 1px inset}.storybook-button--small{font-size:12px;padding:10px 16px}.storybook-button--medium{font-size:14px;padding:11px 20px}.storybook-button--large{font-size:16px;padding:12px 24px}.markdown{word-break:break-all}.markdown :last-child{margin-bottom:0}.markdown div,.markdown hr,.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6,.markdown p,.markdown table,.markdown code,.markdown img,.markdown address,.markdown blockquote,.markdown dir,.markdown menu,.markdown pre,.markdown ul,.markdown ol,.markdown li,.markdown dl{margin-bottom:12px;line-height:150%;white-space:pre-wrap}.markdown div:last-child,.markdown hr:last-child,.markdown h1:last-child,.markdown h2:last-child,.markdown h3:last-child,.markdown h4:last-child,.markdown h5:last-child,.markdown h6:last-child,.markdown p:last-child,.markdown table:last-child,.markdown code:last-child,.markdown img:last-child,.markdown address:last-child,.markdown blockquote:last-child,.markdown dir:last-child,.markdown menu:last-child,.markdown pre:last-child,.markdown ul:last-child,.markdown ol:last-child,.markdown li:last-child,.markdown dl:last-child{margin-bottom:0}.markdown ul,.markdown ol{padding-inline-start:20px}.markdown ul{list-style-type:disc}.markdown ol{list-style-type:decimal}.markdown ul,.markdown li{white-space:normal;margin-bottom:8px}.markdown table{display:block;border-collapse:collapse;border-radius:4px;max-width:100%;overflow:auto;width:max-content}.markdown td,.markdown th{border:1px solid #e8e9eb;padding:6px 13px;text-align:left}.markdown tr{color:#151b26;background-color:#fff}.markdown th{background-color:#f9f2ff;color:#000}.markdown tr:hover td{background-color:#fff}.markdown p code{background:#f9f2ff;border-radius:4px;padding:4px;display:inline;font-size:12px;color:#070c14}.markdown .markdown-code-title{margin:0;padding:0 16px;height:36px;border-radius:8px 8px 0 0;background:#f9f2ff;display:flex;align-items:center;justify-content:space-between;line-height:21px;font-weight:500;color:#070c14}.markdown .markdown-code-context{padding:16px;background:rgba(249,242,255,.3)!important;margin:0!important;border-radius:0 0 8px 8px}.markdown .markdown-code-context code{margin:0;font-size:85%;background:none;font-size:14px}.markdown .markdown-code-context code>span{flex-wrap:wrap}.markdown p{white-space:pre-line}.markdown pre code.hljs{display:block;overflow-x:auto;padding:1em}.markdown p{line-height:150%;height:auto!important}.markdown img{max-width:100%}.markdown a,.markdown a:hover{color:#0f64ff}.markdown code.hljs{padding:3px 5px}.markdown .hljs{background:rgba(249,242,255,.3);color:#000}.markdown .hljs-comment{color:#697070}.markdown .hljs-tag,.markdown .hljs-punctuation{color:#000a}.markdown .hljs-tag .hljs-name,.markdown .hljs-tag .hljs-attr{color:#000}.markdown .hljs-keyword,.markdown .hljs-attribute,.markdown .hljs-selector-tag,.markdown .hljs-meta .hljs-keyword,.markdown .hljs-doctag,.markdown .hljs-name{font-weight:700}.markdown .hljs-type,.markdown .hljs-string,.markdown .hljs-number,.markdown .hljs-selector-id,.markdown .hljs-selector-class,.markdown .hljs-quote,.markdown .hljs-template-tag,.markdown .hljs-deletion{color:#800}.markdown .hljs-title,.markdown .hljs-section{color:#800;font-weight:700}.markdown .hljs-regexp,.markdown .hljs-symbol,.markdown .hljs-variable,.markdown .hljs-template-variable,.markdown .hljs-link,.markdown .hljs-selector-attr,.markdown .hljs-operator,.markdown .hljs-selector-pseudo{color:#ab5656}.markdown .hljs-literal{color:#695}.markdown .hljs-built_in,.markdown .hljs-bullet,.markdown .hljs-code,.markdown .hljs-addition{color:#397300}.markdown .hljs-meta{color:#1f7199}.markdown .hljs-meta .hljs-string{color:#38a}.markdown .hljs-emphasis{font-style:italic}.markdown .hljs-strong{font-weight:700}.markdown .ant-image{margin-bottom:6px!important}.markdown .ant-image .ant-image-img{margin-bottom:0!important}.copy-btn{font-size:16px;cursor:pointer}.copy-btn:hover{color:#b452ff}.document-viewer{width:100%;height:100%;min-height:200px;display:flex;flex-direction:column;overflow:hidden;position:relative;gap:8px}.document-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid #f0f0f0;background:#fafafa;border-radius:4px;flex-shrink:0}.document-viewer-toolbar-meta{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.document-viewer-toolbar-name{font-weight:500;color:#1f1f1f;max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-viewer-toolbar-size{font-size:12px;color:#666;flex-shrink:0}.document-viewer-body{flex:1;min-height:0;display:flex}.document-viewer-loading{display:flex;justify-content:center;align-items:center;min-height:200px;flex:1}.document-viewer-text,.document-viewer-json,.document-viewer-xml{padding:16px;background:#f5f5f5;border-radius:4px;overflow:auto;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:14px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;flex:1;min-height:0}.document-viewer-json{background:#f9f9f9}.document-viewer-xml{background:#fff8e1}.document-viewer-jsonl{padding:16px;overflow:auto;flex:1;min-height:0;width:100%;display:flex;flex-direction:column}.document-viewer-jsonl-item{margin-bottom:16px;padding:12px;background:#f9f9f9;border-radius:4px;border-left:3px solid #1890ff;width:100%;box-sizing:border-box;max-width:100%}.document-viewer-jsonl-item:last-child{margin-bottom:0}.document-viewer-jsonl-item pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;width:100%;max-width:100%;box-sizing:border-box}.document-viewer-code{border-radius:4px;overflow:auto;max-height:100%;height:100%;display:flex;flex-direction:column;width:100%}.document-viewer-code pre{margin:0!important;padding:16px!important;background:#f5f5f5!important;overflow:visible;width:100%;box-sizing:border-box}.document-viewer-code>div{overflow:auto;max-height:100%;width:100%}.document-viewer-image{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-image .ant-image{max-width:100%;max-height:100%;width:100%;height:100%}.document-viewer-image .ant-image img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.document-viewer-video{display:flex;justify-content:center;align-items:center;padding:16px;min-height:200px;overflow:hidden;flex:1;min-height:0}.document-viewer-video video{max-width:100%;max-height:100%}.document-viewer-audio{padding:16px;display:flex;justify-content:center;align-items:center;min-height:100px;overflow:hidden;flex:1;min-height:0}.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-zip{width:100%;height:100%;min-height:0;position:relative;flex:1;display:flex;flex-direction:column}.document-viewer-zip{display:flex;flex-direction:column;padding:16px;background:#fff;overflow:hidden}.document-viewer-zip .ant-table{font-size:12px}.document-viewer-zip .ant-table .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}.document-viewer-zip .ant-table .ant-table-tbody>tr.ant-table-row-selected>td{background-color:#e6f7ff}.document-viewer-iframe{width:100%;height:100%;min-height:0;border:none;border-radius:4px;flex:1}.document-viewer-fallback{margin-top:16px}.document-viewer-alert-full{width:100%;align-self:flex-start}@media (max-width: 768px){.document-viewer-pdf,.document-viewer-office,.document-viewer-unknown,.document-viewer-iframe{min-height:0}}.g-expandable-pannel-wrap{inset:0;z-index:999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar{position:absolute;right:0;top:0;background-color:#222836;z-index:9999}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.collapsed{position:absolute;top:0;right:0;z-index:9;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned{padding:0}.g-expandable-pannel-wrap .g-expandable-pannel-expand-bar.expaned .g-icon-btn{background-color:#0000}.g-expandable-pannel-wrap .g-expandable-pannel{width:100%;height:100%;border:.5px solid #313A4D}.g-expandable-pannel-wrap .g-expandable-pannel-header{position:absolute;right:0;top:0;z-index:9;padding-right:28px;height:28px;display:flex;flex-direction:row-reverse}.g-expandable-pannel-wrap .g-expandable-pannel-body{opacity:.85;width:100%;height:100%}.g-expandable-pannel-wrap .g-expandable-pannel-body .icon{width:16px;height:16px}.g-expandable-pannel-wrap .g-expandable-pannel.full{width:100%!important;height:100%!important;inset:0 55px;z-index:9}.g-expandable-pannel-wrap .g-expandable-pannel.hidden{inset:0 -20000px}.g-expandable-pannel-wrap .g-expandable-pannel.hidden+.bar-btn{position:absolute;right:0!important;background:rgba(58,63,76,.5);border-radius:20px 0 0 20px}.g-expandable-pannel-wrap .g-expandable-pannel.normal{height:250px;overflow:hidden;padding:0}.g-expandable-pannel-wrap .g-expandable-pannel.full+.bar-btn{top:0;right:55px;z-index:99}.g-expandable-pannel-wrap .g-expandable-pannel.full~.cover{display:block;position:absolute;width:100vw;height:100vh;top:0;left:0;background:#00000066}.g-expandable-pannel-wrap .g-expandable-pannel.hiddern~.cover{display:none}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel{width:134px;background:#ffffff;border:1px solid #ececec;box-shadow:2px 2px 6px #c0c0c040;border-radius:4px;padding:6px 12px}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row{width:100%;display:flex;height:32px;align-items:center}.g-expandable-pannel-wrap .g-expandable-pannel .minimap-menu-pannel .item-row img{width:16px;height:16px;margin:0 8px}.g-expandable-pannel-wrap .g-expandable-pannel .status{display:block}.g-expandable-pannel-wrap .g-expandable-pannel .status.success:before{display:inline-block;content:"";width:12px;height:12px;background-color:#52c41a}.g-expandable-pannel-wrap .g-expandable-pannel .status.error:before{display:inline-block;content:"";width:12px;height:12px;background-color:#ff4d4f}.g-expandable-pannel-wrap .g-expandable-pannel .pass-confirm-wrap{position:absolute}.g-icon-btn{height:28px;width:28px;line-height:28px;background-color:#222836;color:#b8c1d0;cursor:pointer;text-align:center;padding:0;border:none;font-size:16px;display:block}.g-icon-btn:hover{color:#fff;background:linear-gradient(180deg,#4e5b73 0%,#222836 100%);border-image:linear-gradient(180deg,#4e5b73 0%,#222836 100%),linear-gradient(180deg,#ffffff 16.67%,#d2d2d2 49.48%,#000000 73.44%,#e4e4e4 92.71%)}.g-icon-btn:disabled{color:#68707e;cursor:not-allowed;background:linear-gradient(180deg,#0a111d 0%,#222836 100%)}.image-map{position:relative;width:100%;height:100%;overflow:hidden;user-select:none;display:flex;justify-content:center}.image-map .image-map-pannel{width:100%;height:100%;user-select:none;display:flex;justify-content:center;align-items:center}.image-map .image-map-toolbar{position:absolute;width:auto;height:auto;bottom:12px;z-index:99;display:flex;align-items:center;gap:12px;background-color:#393939;padding:10px;border-radius:6px}.image-map .image-map-toolbar .zoom-controller{display:flex;height:100%;align-items:center;gap:12px;color:#fff}.image-map .image-map-toolbar .zoom-controller .g-icon-btn,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button{background-color:unset;font-size:16px;border:.5px solid #6f6f6f;border-radius:2px;font-size:14px}.image-map .image-map-toolbar .zoom-controller .g-icon-btn .anticon,.image-map .image-map-toolbar .zoom-controller .g-icon-btn button .anticon{font-size:14px}.image-map .image-map-toolbar .zoom-controller.vertical{flex-direction:column}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn{background-color:red;margin-top:6px;border:none}.image-map .image-map-toolbar .zoom-controller.vertical .g-icon-btn .anticon{font-size:16px}.image-map .image-map-toolbar .zoom-controller.horizontal{flex-direction:row}.image-map .image-map-toolbar .line{width:1px;height:12px;border:.5px solid #e0e0e0}.image-map .image-map-toolbar .moveable-controller{background-color:unset;height:100%;border:.5px solid #6f6f6f;border-radius:2px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn{position:relative;border:none;border-radius:2px;background-color:unset;padding:0;display:flex;height:100%}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change{display:flex;align-items:center;color:#fff;gap:10px;height:100%;margin-inline-end:unset;padding:4px 8px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .btn-change svg{font-size:16px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn .anticon{font-size:24px}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn.active{color:#fff}.image-map .image-map-toolbar .moveable-controller .moveable-controller-btn:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left}.image-map .image-map-toolbar .editing-controller .ant-btn-default{border:.5px solid #6f6f6f;border-radius:2px;background-color:unset;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-default:hover{background:linear-gradient(180deg,#4e5b73 0%,#222836 100%)}.image-map .image-map-toolbar .editing-controller .ant-btn-primary{border-radius:2px;background-color:#0532a6;border:.5px solid #6f6f6f;color:#fff;padding:4px 8px}.image-map .image-map-toolbar .editing-controller .ant-btn-primary:hover{background:#0949d2}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail{display:flex;align-items:center;color:#fff;gap:10px;height:100%}.image-map .image-map-toolbar .editing-controller .ant-btn-primary .save-detail svg{font-size:16px}.pass-map{background:transparent}.pass-map .pass-area{position:absolute;background:rgba(255,77,79,.21);border:1px solid #00000000;z-index:1}.pass-map .pass-area-circle{border-radius:50%}.pass-map .pass-area__active{background:rgba(255,77,79,.25);border:1px solid #ff4d4f}.track-map{z-index:10;position:relative}.track-map .point{cursor:pointer}.track-map .bottom-action{position:fixed;left:50%;bottom:10px;transform:translate(-50%);z-index:1000;display:flex;justify-content:center;align-items:flex-end;padding-bottom:12px}.track-map .bottom-action .bottom-pannel{background:white;height:48px;background:rgba(255,255,255,.9);border:1px solid #f8f8f8;box-shadow:2px 2px 4px #c0c0c040;border-radius:4px;padding:0 12px}:where(.css-ed5zg0)[class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm],:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"],:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:before,:where(.css-ed5zg0)[class^=ant-popconfirm] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class^=ant-popconfirm]:after,:where(.css-ed5zg0)[class^=ant-popconfirm] [class*=" ant-popconfirm"]:after,:where(.css-ed5zg0)[class*=" ant-popconfirm"] [class*=" ant-popconfirm"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popconfirm{z-index:1060}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-inner-content{color:#000000e0}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message{position:relative;margin-bottom:8px;color:#000000e0;font-size:14px;display:flex;flex-wrap:nowrap;align-items:start}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message>.ant-popconfirm-message-icon .anticon{color:#faad14;font-size:14px;flex:none;line-height:1;padding-top:4px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title{flex:auto;margin-inline-start:8px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-message-title-only{font-weight:600}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-description{position:relative;margin-inline-start:22px;margin-bottom:8px;color:#000000e0;font-size:14px}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons{text-align:end}:where(.css-ed5zg0).ant-popconfirm .ant-popconfirm-buttons button{margin-inline-start:8px}:where(.css-ed5zg0)[class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover],:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover],:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"],:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]{box-sizing:border-box}:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:before,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:before,:where(.css-ed5zg0)[class^=ant-popover] [class^=ant-popover]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class^=ant-popover]:after,:where(.css-ed5zg0)[class^=ant-popover] [class*=" ant-popover"]:after,:where(.css-ed5zg0)[class*=" ant-popover"] [class*=" ant-popover"]:after{box-sizing:border-box}:where(.css-ed5zg0).ant-popover{box-sizing:border-box;margin:0;padding:0;color:#000000e0;font-size:14px;line-height:1.57142857;list-style:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";position:absolute;top:0;left:0;z-index:1030;font-weight:400;white-space:normal;text-align:start;cursor:auto;user-select:text;--antd-arrow-background-color: #ffffff}:where(.css-ed5zg0).ant-popover-rtl{direction:rtl}:where(.css-ed5zg0).ant-popover-hidden{display:none}:where(.css-ed5zg0).ant-popover .ant-popover-content{position:relative}:where(.css-ed5zg0).ant-popover .ant-popover-inner{background-color:#fff;background-clip:padding-box;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;padding:12px}:where(.css-ed5zg0).ant-popover .ant-popover-title{min-width:177px;margin-bottom:8px;color:#000000e0;font-weight:600}:where(.css-ed5zg0).ant-popover .ant-popover-inner-content{color:#000000e0;padding:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;border:0}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:var(--antd-arrow-background-color);clip-path:polygon(1.65685425px 100%,50% 1.65685425px,14.34314575px 100%,1.65685425px 100%);clip-path:path("M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z");content:""}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:after{content:"";position:absolute;width:8.97056275px;height:8.97056275px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px;transform:translateY(50%) rotate(-135deg);box-shadow:2px 2px 5px #0000000d;z-index:0;background:transparent}:where(.css-ed5zg0).ant-popover .ant-popover-arrow:before{background:var(--antd-arrow-background-color)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{bottom:0;transform:translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(100%) rotate(180deg)}:where(.css-ed5zg0).ant-popover-placement-topLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-topRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{top:0;transform:translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translate(-50%) translateY(-100%)}:where(.css-ed5zg0).ant-popover-placement-bottomLeft .ant-popover-arrow{left:12px}:where(.css-ed5zg0).ant-popover-placement-bottomRight .ant-popover-arrow{right:12px}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{right:0;transform:translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(100%) rotate(90deg)}:where(.css-ed5zg0).ant-popover-placement-leftTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-leftBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow,:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{left:0;transform:translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%) translate(-100%) rotate(-90deg)}:where(.css-ed5zg0).ant-popover-placement-rightTop .ant-popover-arrow{top:12px}:where(.css-ed5zg0).ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}:where(.css-ed5zg0).ant-popover-pure{position:relative;max-width:none;margin:16px;display:inline-block}:where(.css-ed5zg0).ant-popover-pure .ant-popover-content{display:inline-block}:where(.css-ed5zg0).ant-popover.ant-popover-blue{--antd-arrow-background-color: #1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-inner{background-color:#1677ff}:where(.css-ed5zg0).ant-popover.ant-popover-blue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-purple{--antd-arrow-background-color: #722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-inner{background-color:#722ed1}:where(.css-ed5zg0).ant-popover.ant-popover-purple .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-cyan{--antd-arrow-background-color: #13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-inner{background-color:#13c2c2}:where(.css-ed5zg0).ant-popover.ant-popover-cyan .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-green{--antd-arrow-background-color: #52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-inner{background-color:#52c41a}:where(.css-ed5zg0).ant-popover.ant-popover-green .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-magenta{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-magenta .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-pink{--antd-arrow-background-color: #eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-inner{background-color:#eb2f96}:where(.css-ed5zg0).ant-popover.ant-popover-pink .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-red{--antd-arrow-background-color: #f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-inner{background-color:#f5222d}:where(.css-ed5zg0).ant-popover.ant-popover-red .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-orange{--antd-arrow-background-color: #fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-inner{background-color:#fa8c16}:where(.css-ed5zg0).ant-popover.ant-popover-orange .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-yellow{--antd-arrow-background-color: #fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-inner{background-color:#fadb14}:where(.css-ed5zg0).ant-popover.ant-popover-yellow .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-volcano{--antd-arrow-background-color: #fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-inner{background-color:#fa541c}:where(.css-ed5zg0).ant-popover.ant-popover-volcano .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue{--antd-arrow-background-color: #2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-inner{background-color:#2f54eb}:where(.css-ed5zg0).ant-popover.ant-popover-geekblue .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-lime{--antd-arrow-background-color: #a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-inner{background-color:#a0d911}:where(.css-ed5zg0).ant-popover.ant-popover-lime .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-popover.ant-popover-gold{--antd-arrow-background-color: #faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-inner{background-color:#faad14}:where(.css-ed5zg0).ant-popover.ant-popover-gold .ant-popover-arrow{background:transparent}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}:where(.css-ed5zg0).ant-zoom-big-enter.ant-zoom-big-enter-active,:where(.css-ed5zg0).ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:css-ed5zg0-antZoomBigIn;animation-play-state:running}:where(.css-ed5zg0).ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:css-ed5zg0-antZoomBigOut;animation-play-state:running;pointer-events:none}:where(.css-ed5zg0).ant-zoom-big-enter,:where(.css-ed5zg0).ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}:where(.css-ed5zg0).ant-zoom-big-enter-prepare,:where(.css-ed5zg0).ant-zoom-big-appear-prepare{transform:none}:where(.css-ed5zg0).ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.track-map .tooltip-container{pointer-events:none!important}.track-map .tooltip-container>*{pointer-events:initial}.g-expandable-pannel-wrap.collapsed .tooltip-container{display:none}.g-rc-tooltip{position:absolute!important}.g-rc-tooltip .g-rc-tooltip-arrow{height:10px}.g-mouse-tip{display:inline-flex;justify-content:center;align-items:center;gap:4px;box-shadow:0 1px 10px #0000000d,0 4px 5px #00000014,0 2px 4px -1px #0000001f;border-radius:4px;background:#000;position:fixed;z-index:2000;padding:8px 12px}.g-mouse-tip-content{font-size:12px;font-style:normal;font-weight:400;color:#fff}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
|
-
"use strict";var nn=Object.defineProperty,Mn=Object.defineProperties;var sn=Object.getOwnPropertyDescriptors;var $e=Object.getOwnPropertySymbols;var ht=Object.prototype.hasOwnProperty,Yt=Object.prototype.propertyIsEnumerable;var Lt=(n,e,M)=>e in n?nn(n,e,{enumerable:!0,configurable:!0,writable:!0,value:M}):n[e]=M,v=(n,e)=>{for(var M in e||(e={}))ht.call(e,M)&&Lt(n,M,e[M]);if($e)for(var M of $e(e))Yt.call(e,M)&&Lt(n,M,e[M]);return n},ie=(n,e)=>Mn(n,sn(e));var Ye=(n,e)=>{var M={};for(var s in n)ht.call(n,s)&&e.indexOf(s)<0&&(M[s]=n[s]);if(n!=null&&$e)for(var s of $e(n))e.indexOf(s)<0&&Yt.call(n,s)&&(M[s]=n[s]);return M};var de=(n,e,M)=>new Promise((s,i)=>{var r=a=>{try{l(M.next(a))}catch(z){i(z)}},c=a=>{try{l(M.throw(a))}catch(z){i(z)}},l=a=>a.done?s(a.value):Promise.resolve(a.value).then(r,c);l((M=M.apply(n,e)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),on=require("react-markdown"),rn=require("remark-gfm"),cn=require("rehype-raw"),an=require("rehype-external-links"),ln=require("remark-math"),zn=require("rehype-katex");require("katex/dist/katex.min.css");const k=require("antd"),jn=require("antd-mobile"),Nn=require("react-device-detect"),kt=require("react-syntax-highlighter"),Ae=require("@ant-design/icons"),le=require("@zip.js/zip.js"),Qt=require("antd/es/tooltip"),un=require("react-moveable"),gn=require("deep-object-diff"),dn=require("lodash/debounce"),Xe=require("antd/es/button"),yn=require("antd/es/popconfirm"),Dn=require("use-immer"),Ut=require("ahooks"),In=require("@xstate/react"),Ke=require("lodash/size"),He=require("xstate"),xn=require("lodash/first"),Ie=require("@xstate/immer");const Tn=n=>{const l=n,{primary:e=!1,size:M="medium",backgroundColor:s,label:i}=l,r=Ye(l,["primary","size","backgroundColor","label"]),c=e?"storybook-button--primary":"storybook-button--secondary";return t.jsx("button",ie(v({type:"button",className:["storybook-button",`storybook-button--${M}`,c].join(" "),style:{backgroundColor:s}},r),{children:i}))};const wn=n=>t.jsx("video",v({style:{maxWidth:"100%",width:560,height:315}},n)),tt=wn;function An(n){const e=n.split(/(```[\s\S]*?```|`[^`]*?`|<code>[\s\S]*?<\/code>)/);let M="";for(let s=0;s<e.length;s++)if(s%2===0){let i=e[s].replaceAll(/\\\[([\s\S]*?)\\\]/g,(r,c)=>`$$${c}$$`).replaceAll(/\\\(([\s\S]*?)\\\)/g,(r,c)=>`$${c}$`);M+=i}else M+=e[s];return M}function mn(n){var c;const e=(()=>{try{return new URL(n)}catch(l){return null}})();if(!e)return null;const s=((c=e.pathname.split(".").pop())==null?void 0:c.toLowerCase())||"",i=["jpg","jpeg","gif","png"],r=["mp4","wmv","avi","mov"];return i.includes(s)?"image":r.includes(s)?"video":null}const fn=n=>{const[e,M]=o.useState(!1),[s,i]=o.useState();return o.useEffect(()=>{n.src&&i(mn(n.src))},[n.src]),s=="video"?t.jsx(tt,{src:n.src,controls:!0}):Nn.isMobile?t.jsxs(t.Fragment,{children:[t.jsx("img",v({style:{maxWidth:"100%"},src:n==null?void 0:n.src,onClick:()=>{M(!0)}},n)),t.jsx(jn.ImageViewer,{image:(n==null?void 0:n.src)||"",visible:e,onClose:()=>{M(!1)}})]}):t.jsx(k.Image,ie(v({style:{maxWidth:"100%"},preview:{getContainer:()=>document.body}},n),{onClick:r=>{var c,l,a;(a=n.onClick)==null||a.call(n,ie(v({},r),{target:(l=(c=r.target)==null?void 0:c.offsetParent)==null?void 0:l.children[0]}))},onError:()=>{console.log(n),console.warn("图片加载失败")}}))},Bt=fn,se=Ae.createFromIconfontCN({scriptUrl:new URL("data:application/javascript;base64,d2luZG93Ll9pY29uZm9udF9zdmdfc3RyaW5nXzM5MjkyMDkgPSAnPHN2Zz48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8teGlhIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTkyLjk1NzAzMTI1IDM1NC42NDA2MjVoNDMzLjc0MDIzNDM4YzQyLjEzNDc2NTYzIDAgODAuODQxNzk2ODgtMC4xNTgyMDMxMyAxMTYuMjI2NTYyNDktMC40MjE4NzVDNzc4LjMwODU5Mzc1IDM1My45NTUwNzgxMiA4MDUuODM1OTM3NSAzNTMuNzk2ODc1IDgyNS40NTMxMjUgMzUzLjc5Njg3NWMxMy41IDAgMjQuNzMyNDIxODggMy4xNjQwNjI1IDMzLjc1IDkuNTk3NjU2MjUgOC45NjQ4NDM3NSA2LjQzMzU5Mzc1IDE0Ljk3NjU2MjUgMTQuNTAxOTUzMTMgMTguMDg3ODkwNjMgMjQuMjU3ODEyNSAzLjA1ODU5Mzc1IDkuNzAzMTI1IDMuMDU4NTkzNzUgMjAuNDYwOTM3NS0xZS04IDMyLjE2Nzk2ODc1YTcxLjcxODc1IDcxLjcxODc1IDAgMCAxLTE5LjgyODEyNDk5IDMyLjUzNzEwOTM4Yy0yMS4zMDQ2ODc1IDIwLjU2NjQwNjI1LTQzLjY2NDA2MjUgNDIuODczMDQ2ODgtNjYuOTcyNjU2MjYgNjYuODE0NDUzMTItMjMuMjU1ODU5MzggMjMuOTQxNDA2MjUtNDYuNzIyNjU2MjUgNDguNTY4MzU5MzgtNzAuMjk0OTIxODcgNzMuOTMzNTkzNzUtMjMuNTcyMjY1NjMgMjUuMzEyNS00Ny4xNDQ1MzEyNSA1MC45NDE0MDYyNS03MC43Njk1MzEyNSA3Ni44MzM5ODQzOGwtNjguMTg1NTQ2ODggNzQuNzI0NjA5MzdhODkuMTIxMDkzNzUgODkuMTIxMDkzNzUgMCAwIDEtMzUuMzMyMDMxMjUgMjMuODM1OTM3NWMtMTQuMDgwMDc4MTMgNS4yNzM0Mzc1LTI4LjY4NzUgNy42NDY0ODQzOC00My44MjIyNjU2MiA3LjA2NjQwNjI1YTEzMi4zNjMyODEyNSAxMzIuMzYzMjgxMjUgMCAwIDEtNDQuNjY2MDE1NjMtOS41OTc2NTYyNSA5NC44MTY0MDYyNSA5NC44MTY0MDYyNSAwIDAgMS0zNy4wNzIyNjU2Mi0yNi4zMTQ0NTMxMyA2MzQ3LjYzNjcxODc1IDYzNDcuNjM2NzE4NzUgMCAwIDAtNTcuNjkxNDA2MjUtNjQuNzA1MDc4MTJjLTE5LjM1MzUxNTYzLTIxLjQ2Mjg5MDYzLTM5LjI4NzEwOTM4LTQzLjQ1MzEyNS01OS44MDA3ODEyNS02NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMS0xMzYuMDAxOTUzMTMtMTQ5LjkyMzgyODEyIDk1LjE4NTU0Njg4IDk1LjE4NTU0Njg4IDAgMCAxLTIyLjMwNjY0MDYyLTM3LjE3NzczNDM4QTY0LjE3NzczNDM4IDY0LjE3NzczNDM4IDAgMCAxIDE0Mi44NTkzNzUgMzg4LjAyMTQ4NDM3YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMSAxNi44NzUtMjQuMjA1MDc4MTJjOC42NDg0Mzc1LTYuMTE3MTg3NSAxOS43NzUzOTA2My05LjE3NTc4MTI1IDMzLjIyMjY1NjI1LTkuMTc1NzgxMjV6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8tc2hhbmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik04MzEuMDQyOTY4NzUgNjY5LjM1OTM3NUgzOTcuMzAyNzM0MzdjLTQyLjEzNDc2NTYzIDAtODAuODQxNzk2ODggMC4xNTgyMDMxMy0xMTYuMjI2NTYyNDkgMC40MjE4NzUtMzUuMzg0NzY1NjMgMC4yNjM2NzE4OC02Mi45MTIxMDkzOCAwLjQyMTg3NS04Mi41MjkyOTY4OCAwLjQyMTg3NS0xMy41IDAtMjQuNzMyNDIxODgtMy4xNjQwNjI1LTMzLjc1LTkuNTk3NjU2MjVhNDYuNjE3MTg3NSA0Ni42MTcxODc1IDAgMCAxLTE4LjA4Nzg5MDYyLTI0LjI1NzgxMjUgNTYuODQ3NjU2MjUgNTYuODQ3NjU2MjUgMCAwIDEgMC0zMi4xNjc5Njg3NSA3MS43MTg3NSA3MS43MTg3NSAwIDAgMSAxOS44MjgxMjUtMzIuNTM3MTA5MzhjMjEuMzA0Njg3NS0yMC41NjY0MDYyNSA0My42NjQwNjI1LTQyLjg3MzA0Njg4IDY2Ljk3MjY1NjI1LTY2LjgxNDQ1MzEyIDIzLjI1NTg1OTM4LTIzLjk0MTQwNjI1IDQ2LjcyMjY1NjI1LTQ4LjU2ODM1OTM4IDcwLjI5NDkyMTg3LTczLjkzMzU5Mzc1IDIzLjU3MjI2NTYzLTI1LjMxMjUgNDcuMTQ0NTMxMjUtNTAuOTQxNDA2MjUgNzAuNzY5NTMxMjUtNzYuODMzOTg0MzhsNjguMTg1NTQ2ODgtNzQuNzI0NjA5MzdjOS41NDQ5MjE4OC0xMC41OTk2MDkzOCAyMS4zNTc0MjE4OC0xOC41NjI1IDM1LjMzMjAzMTI1LTIzLjgzNTkzNzUgMTQuMDgwMDc4MTMtNS4yNzM0Mzc1IDI4LjY4NzUtNy42NDY0ODQzOCA0My44MjIyNjU2Mi03LjA2NjQwNjI1IDE1LjE4NzUgMC41MjczNDM3NSAzMC4wNTg1OTM3NSAzLjY5MTQwNjI1IDQ0LjY2NjAxNTYzIDkuNTk3NjU2MjUgMTQuNjA3NDIxODggNS44MDA3ODEyNSAyNi45NDcyNjU2MyAxNC42MDc0MjE4OCAzNy4wNzIyNjU2MiAyNi4zMTQ0NTMxMyAxOS4wODk4NDM3NSAyMS42NzM4MjgxMyAzOC4yODUxNTYyNSA0My4yNDIxODc1IDU3LjY5MTQwNjI1IDY0LjcwNTA3ODEyIDE5LjM1MzUxNTYzIDIxLjQ2Mjg5MDYzIDM5LjI4NzEwOTM4IDQzLjQ1MzEyNSA1OS44MDA3ODEyNSA2NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMSAxMzYuMDAxOTUzMTMgMTQ5LjkyMzgyODEyYzExLjIzMjQyMTg4IDEyLjI4NzEwOTM4IDE4LjY2Nzk2ODc1IDI0LjY3OTY4NzUgMjIuMzA2NjQwNjIgMzcuMTc3NzM0MzggMy42OTE0MDYyNSAxMi41NTA3ODEyNSA0LjIxODc1IDIzLjgzNTkzNzUgMS42ODc1IDMzLjg1NTQ2ODc1YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMS0xNi44NzUgMjQuMjA1MDc4MTJjLTguNjQ4NDM3NSA2LjExNzE4NzUtMTkuNzc1MzkwNjMgOS4xNzU3ODEyNS0zMy4yMjI2NTYyNSA5LjE3NTc4MTI1eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nLXp1byIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTEyOCAxOTJoNzY4djY0SDEyOFYxOTJ6IG03Ny4yNDggMzIwbDEwNS40MDggMTA1LjM0NC00NS4zMTIgNDUuMzEyLTEyOC0xMjhhMzIgMzIgMCAwIDEgMC00NS4zMTJsMTI4LTEyOCA0NS4zMTIgNDUuMzEyTDIwNS4yNDggNTEyek04OTYgMzg0SDM4NHY2NGg1MTJWMzg0ek0zODQgNTc2aDUxMnY2NEgzODRWNTc2eiBtNTEyIDE5MkgxMjh2NjRoNzY4di02NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tY29tcGFyZS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTU0LjY2NjY2NyA4NS4zMzMzMzNoLTg1LjMzMzMzNHY4NTMuMzMzMzM0aDg1LjMzMzMzNFY4NS4zMzMzMzN6TTE3MC42NjY2NjcgMTcwLjY2NjY2N2gyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3djUxMmgyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEtODUuMzMzMzM0LTg1LjMzMzMzM1YyNTZhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMSA4NS4zMzMzMzQtODUuMzMzMzMzek04NTMuMzMzMzMzIDc2OGgtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM2E4NS4zMzMzMzMgODUuMzMzMzMzIDAgMCAwIDg1LjMzMzMzNC04NS4zMzMzMzNWMjU2YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDAtODUuMzMzMzM0LTg1LjMzMzMzM2gtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM3Y1MTJ6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLWJpbS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTQuOTgxNTQ3IDc2OGExMy40ODI2NjcgMTMuNDgyNjY3IDAgMCAxLTEwLjYyNC01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zNTItMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM1Mi0xMy4xODRBMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMSAxNS4wMjQyMTMgMjU2aDE4MS4xMmMzMy43MDY2NjcgMCA2MS4yMjY2NjcgNi4xMDEzMzMgODIuNDMyIDE4LjMwNCAyMS4yNDggMTEuNjkwNjY3IDM2Ljg2NCAyOC4wMzIgNDYuODQ4IDQ4Ljk4MTMzMyAxMC40MTA2NjcgMjAuOTkyIDE1LjYxNiA0NS4zNTQ2NjcgMTUuNjE2IDczLjEzMDY2NyAwIDE4LjU2LTIuOTAxMzMzIDM0LjkwMTMzMy04Ljc0NjY2NiA0OS4wMjQtNS40MTg2NjcgMTMuNjUzMzMzLTEyLjI4OCAyNC44NzQ2NjctMjAuNjA4IDMzLjY2NC03Ljg5MzMzMyA4Ljc0NjY2Ny0xNS43ODY2NjcgMTUuNTczMzMzLTIzLjcyMjY2NyAyMC40OCAxNi4yMTMzMzMgOC43NDY2NjcgMzAuNTkyIDIzLjM4MTMzMyA0My4wOTMzMzMgNDMuODYxMzMzIDEyLjUwMTMzMyAyMC40OCAxOC43NzMzMzMgNDQuODg1MzMzIDE4Ljc3MzMzNCA3My4xMzA2NjcgMCAyOS4yNjkzMzMtNS42NzQ2NjcgNTUuMzgxMzMzLTE2Ljg5NiA3OC4yOTMzMzMtMTEuMjY0IDIyLjkxMi0yNy45MDQgNDAuOTYtNDkuOTYyNjY3IDU0LjEwMTMzNC0yMi4wNTg2NjcgMTIuNjcyLTQ5LjM2NTMzMyAxOS4wMjkzMzMtODEuODM0NjY3IDE5LjAyOTMzM0gxNC45ODE1NDd6IG03MS44NTA2NjYtNzcuNTI1MzMzSDE5MS4xNTIyMTNjMjIuNDg1MzMzIDAgMzkuNTUyLTcuMDgyNjY3IDUxLjItMjEuMjA1MzM0IDExLjY0OC0xNC42MzQ2NjcgMTcuNDkzMzMzLTMyLjIxMzMzMyAxNy40OTMzMzQtNTIuNjkzMzMzIDAtMjEuNDE4NjY3LTYuMDE2LTM5LjI1MzMzMy0xOC4wOTA2NjctNTMuMzc2LTExLjY5MDY2Ny0xNC4xMjI2NjctMjguNTQ0LTIxLjIwNTMzMy01MC42MDI2NjctMjEuMjA1MzMzSDg2LjgzMjIxM3YxNDguNDh6IG0wLTIyNC41NTQ2NjdoOTguMDQ4YzIyLjEwMTMzMyAwIDM4LjUyOC02LjEwMTMzMyA0OS4zNjUzMzQtMTguMzA0IDExLjIyMTMzMy0xMi42NzIgMTYuODUzMzMzLTI5LjAxMzMzMyAxNi44NTMzMzMtNDguOTgxMzMzIDAtMjAuNDgtNS42MzItMzYuMzUyLTE2Ljg1MzMzMy00Ny41MzA2NjctMTAuODM3MzMzLTExLjczMzMzMy0yNy4zMDY2NjctMTcuNTc4NjY3LTQ5LjM2NTMzNC0xNy41Nzg2NjdIODYuODMyMjEzdjEzMi4zOTQ2Njd6TTQ0My4yMjY4OCA3NjhhMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMS0xMC42NjY2NjctNS4xMiAxOC41MTczMzMgMTguNTE3MzMzIDAgMCAxLTQuMzUyLTEyLjQxNlYyNzMuNDkzMzMzYzAtNC44NjQgMS40NTA2NjctOS4wMDI2NjcgNC4zOTQ2NjctMTIuNDE2YTEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEgMTAuNjI0LTUuMTJoNTguNzA5MzMzYzQuNTY1MzMzIDAgOC4xMDY2NjcgMS43MDY2NjcgMTAuNjI0IDUuMTIgMi45MDEzMzMgMy40MTMzMzMgNC4zNTIgNy41NTIgNC4zNTIgMTIuNDE2Vjc1MC41MDY2NjdhMTguNTE3MzMzIDE4LjUxNzMzMyAwIDAgMS00LjM1MiAxMi40MTYgMTIuMzczMzMzIDEyLjM3MzMzMyAwIDAgMS0xMC42NjY2NjYgNS4xMmgtNTguNjY2NjY3ek02MzAuNDkwODggNzY4YTE0LjA4IDE0LjA4IDAgMCAxLTExLjIyMTMzMy01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zOTQ2NjctMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM5NDY2Ny0xMy4xODRhMTQuMDggMTQuMDggMCAwIDEgMTEuMjIxMzMzLTUuMTJoNDkuMzY1MzMzYzUuODAyNjY3IDAgMTAuMTk3MzMzIDEuOTYyNjY3IDEzLjA5ODY2NyA1Ljg0NTMzMyAyLjkwMTMzMyAzLjQxMzMzMyA0Ljc3ODY2NyA2LjEwMTMzMyA1LjYzMiA4LjA2NGwxMjAuNTMzMzMzIDI2My4yOTYgMTIxLjgxMzMzNC0yNjMuMjk2YTM1LjkyNTMzMyAzNS45MjUzMzMgMCAwIDEgNS42MzItOC4wNjRjMi45MDEzMzMtMy44ODI2NjcgNy4yNTMzMzMtNS44NDUzMzMgMTMuMDk4NjY2LTUuODQ1MzMzaDQ4LjcyNTMzNGExNC4wOCAxNC4wOCAwIDAgMSAxMS4yNjQgNS4xMmMyLjkwMTMzMyAzLjQxMzMzMyA0LjM1MiA3LjgwOCA0LjM1MiAxMy4xODR2NDc2LjE2YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDE0LjA4IDE0LjA4IDAgMCAxLTExLjI2NCA1LjEyaC01Mi40OGExNC4wOCAxNC4wOCAwIDAgMS0xMS4yMjEzMzQtNS4xMiAyMC40OCAyMC40OCAwIDAgMS0zLjc1NDY2Ni0xMi40MTZ2LTMxNi43MTQ2NjdsLTg3LjQ2NjY2NyAxOTUuMjg1MzM0YTQzLjA1MDY2NyA0My4wNTA2NjcgMCAwIDEtOC4xMDY2NjcgMTEuNjkwNjY2IDE5LjE1NzMzMyAxOS4xNTczMzMgMCAwIDEtMTMuMDk4NjY2IDQuMzk0NjY3aC0yNS42YTIwLjA5NiAyMC4wOTYgMCAwIDEtMTMuNzgxMzM0LTQuMzk0NjY3IDUyLjczNiA1Mi43MzYgMCAwIDEtNy40NjY2NjYtMTEuNjkwNjY2bC04Ny40NjY2NjctMTk1LjI4NTMzNHYzMTYuNzE0NjY3YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEtMTAuNjY2NjY3IDUuMTJoLTUyLjQzNzMzM3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tb3ZlcmxhcC1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNOTM4LjY2NjY2NyA0MDIuMDA1MzMzVjI5OC42NjY2NjdjMC0yOS40ODI2NjctMjMuODkzMzMzLTUzLjMzMzMzMy01My4zMzMzMzQtNTMuMzMzMzM0aC05My4zNTQ2NjZhMTMuMzU0NjY3IDEzLjM1NDY2NyAwIDAgMS0xMy4zMTItMTMuMzU0NjY2VjEzOC42NjY2NjdDNzc4LjY2NjY2NyAxMDkuMTg0IDc1NC43NzMzMzMgODUuMzMzMzMzIDcyNS4zMzMzMzMgODUuMzMzMzMzSDEzOC42NjY2NjdDMTA5LjIyNjY2NyA4NS4zMzMzMzMgODUuMzMzMzMzIDEwOS4xODQgODUuMzMzMzMzIDEzOC42NjY2NjdWNzI1LjMzMzMzM2MwIDI5LjQ0IDIzLjg5MzMzMyA1My4zMzMzMzMgNTMuMzMzMzM0IDUzLjMzMzMzNGg5My4zNTQ2NjZjNy4yOTYgMCAxMy4zMTIgNS45NzMzMzMgMTMuMzEyIDEzLjM1NDY2NnY5My4zMTJjMCAyOS40NCAyMy44OTMzMzMgNTMuMzMzMzMzIDUzLjMzMzMzNCA1My4zMzMzMzRoMTAzLjMzODY2NmEzLjMyOCAzLjMyOCAwIDAgMCAzLjMyOC0zLjMyOHYtNDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4LTMuMzI4SDI5OC42NjY2Njd2LTkzLjM1NDY2NmMwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEySDcyNS4zMzMzMzNjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzRWMzExLjk3ODY2N2MwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEyaDkzLjMxMnYxMDMuMzM4NjY2YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjhoNDYuNjc3MzM0QTMuMzI4IDMuMzI4IDAgMCAwIDkzOC42NjY2NjcgNDAyLjAwNTMzM3pNNzgxLjk5NDY2NyA5MzguNjY2NjY3aDEwMy4zMzg2NjZjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzR2LTEwMy4zMzg2NjZhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHY5MC4wMjY2NjZjMCA3LjI5Ni01Ljk3MzMzMyAxMy4zMTItMTMuMzU0NjY2IDEzLjMxMmgtODkuOTg0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4IDMuMzI4djQ2LjY3NzMzNGMwIDEuODM0NjY3IDEuNDkzMzMzIDMuMzI4IDMuMzI4IDMuMzI4eiIgID48L3BhdGg+PHBhdGggZD0iTTQ4OC42NjEzMzMgOTM4LjY2NjY2N2gyMDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwIDMuMzI4LTMuMzI4di00Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjggMy4zMjh2NDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6TTg4OC42NjEzMzMgNjk4LjY2NjY2N2g0Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAgMy4zMjgtMy4zMjh2LTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHYyMDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXRpYW96aGVuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTUyOS43NDkzMzMgNDIuNjY2NjY3aDEuODc3MzM0bDEuMzIyNjY2IDAuMDg1MzMzIDEuMTUyIDAuMTI4IDEuMzIyNjY3IDAuMTcwNjY3IDIuMDQ4IDAuMzQxMzMzIDEuODM0NjY3IDAuNDI2NjY3IDEuODM0NjY2IDAuNDY5MzMzIDEuNzA2NjY3IDAuNTk3MzMzIDEuMzY1MzMzIDAuNTEyIDEuMzY1MzM0IDAuNjQgMS4yOCAwLjU5NzMzNCAxLjUzNiAwLjg1MzMzMyAxLjE1MiAwLjY4MjY2NyAxLjQwOCAwLjkzODY2NiAxLjQ5MzMzMyAxLjA2NjY2NyAwLjg1MzMzMyAwLjY4MjY2NyAxLjk2MjY2NyAxLjcwNjY2NiAwLjcyNTMzMyAwLjc2OCAxMDkuMDEzMzM0IDEwOC45NzA2NjdhMzYuMzA5MzMzIDM2LjMwOTMzMyAwIDAgMS01MC4yNjEzMzQgNTIuNDhsLTEuMTA5MzMzLTEuMDY2NjY3LTQ1LjE4NC00NS4xODR2MzA1LjkyaDMwOC40MzczMzNsLTQ0LjUwMTMzMy00Mi4wMjY2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA0OC43NjgtNTMuODQ1MzM0bDEuMTA5MzMzIDEuMDI0IDExMC4wOCAxMDQuMDIxMzM0IDEuMTUyIDEuMjM3MzMzIDEuMDY2NjY3IDEuMTk0NjY3IDAuOTM4NjY3IDEuMjM3MzMzIDEuMDY2NjY2IDEuNDkzMzMzIDAuOTM4NjY3IDEuNDkzMzM0IDAuODUzMzMzIDEuNTM2IDAuNjgyNjY3IDEuMjggMC43NjggMS43MDY2NjYgMC44MTA2NjcgMi4wNDggMC4yMTMzMzMgMC42ODI2NjcgMC40MjY2NjcgMS4yOCAwLjM0MTMzMyAxLjQ1MDY2NyAwLjM0MTMzMyAxLjQwOCAwLjI5ODY2NyAxLjcwNjY2NiAwLjIxMzMzMyAxLjcwNjY2NyAwLjE3MDY2NyAxLjgzNDY2NyAwLjA0MjY2NyAxLjQ5MzMzM3YxLjg3NzMzM2wtMC4wODUzMzQgMS4zMjI2NjctMC4xMjggMS4xNTItMC4xMjggMS4zMjI2NjctMC4zODQgMi4wNDgtMC40MjY2NjYgMS44MzQ2NjYtMC40NjkzMzQgMS44MzQ2NjctMC41OTczMzMgMS43MDY2NjctMC41MTIgMS4zNjUzMzMtMC41OTczMzMgMS4zNjUzMzMtMC42NCAxLjI4LTAuODUzMzM0IDEuNTM2LTAuNjgyNjY2IDEuMTUyLTAuOTM4NjY3IDEuNDA4LTEuMDY2NjY3IDEuNDkzMzM0LTAuNjgyNjY2IDAuODUzMzMzLTEuNzA2NjY3IDEuOTYyNjY3LTAuNzI1MzMzIDAuNzI1MzMzLTEwOS4wMTMzMzQgMTA5LjAxMzMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUyLjQ4LTUwLjI2MTMzM2wxLjA2NjY2Ny0xLjEwOTMzMyA0NS4xODQtNDUuMTg0aC0zMDguMzUydjMwOC4zNTJsNDUuMTg0LTQ1LjE4NGEzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxIDUyLjQzNzMzMyA1MC4zMDRsLTEuMDY2NjY2IDEuMTA5MzMzLTEwOS43Mzg2NjcgMTA5LjczODY2Ny0wLjY0IDAuNTU0NjY2LTEuNTM2IDEuMzIyNjY3LTEuNDkzMzMzIDEuMTUyLTEuNTM2IDEuMDI0LTEuNzA2NjY3IDEuMDI0LTEuMTA5MzMzIDAuNjQtMS4xOTQ2NjcgMC41OTczMzMtMS4zNjUzMzMgMC42NC0xLjc5MiAwLjcyNTMzNC0xLjc0OTMzNCAwLjU5NzMzMy0xLjQwOCAwLjM4NC0xLjc5MiAwLjQyNjY2Ny0xLjYyMTMzMyAwLjI5ODY2Ni0xLjg3NzMzMyAwLjI1Ni0xLjgzNDY2NyAwLjE3MDY2Ny0xLjkyIDAuMDg1MzMzaC0xLjQwOGwtMS40MDgtMC4wODUzMzMtMS40MDgtMC4xMjgtMS43NDkzMzMtMC4yMTMzMzMtMS4xNTItMC4yMTMzMzQtMS4wNjY2NjctMC4yMTMzMzMtMS4wNjY2NjctMC4yNTYtMS4yOC0wLjM0MTMzMy0xLjUzNi0wLjQ2OTMzNC0xLjgzNDY2Ni0wLjY4MjY2Ni0xLjUzNi0wLjY0LTEuNzA2NjY3LTAuODUzMzM0LTEuMjgtMC43MjUzMzMtMS41Nzg2NjctMC45Mzg2NjctMS41Nzg2NjYtMS4wNjY2NjYtMS43MDY2NjctMS4yOC0xLjIzNzMzMy0xLjA2NjY2Ny0xLjE5NDY2Ny0xLjEwOTMzMy0xLjA2NjY2Ny0xLjEwOTMzNC0xMDIuOTU0NjY2LTEwOS4wMTMzMzNhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MS43NTQ2NjYtNTAuOTg2NjY3bDEuMDY2NjY3IDEuMTA5MzM0IDQyLjAyNjY2NyA0NC40NTg2NjZ2LTMwOC4zOTQ2NjZIMTg5Ljg2NjY2N2w0NS4xODQgNDUuMTg0QTM2LjM1MiAzNi4zNTIgMCAwIDEgMTg0Ljc0NjY2NyA2NDQuNjkzMzMzbC0xLjEwOTMzNC0xLjA2NjY2Ni0xMDkuNzM4NjY2LTEwOS43Mzg2NjctMC41NTQ2NjctMC42NC0xLjMyMjY2Ny0xLjUzNi0xLjE1Mi0xLjQ5MzMzMy0xLjA2NjY2Ni0xLjUzNi0wLjk4MTMzNC0xLjcwNjY2Ny0wLjY0LTEuMTA5MzMzLTAuNTk3MzMzLTEuMTk0NjY3LTAuNjQtMS4zNjUzMzMtMC43MjUzMzMtMS43OTItMC41OTczMzQtMS43NDkzMzQtMC40MjY2NjYtMS40MDgtMC40MjY2NjctMS43OTItMC4yNTYtMS42NjQtMC4yOTg2NjctMS44MzQ2NjYtMC4xMjgtMS44MzQ2NjctMC4wODUzMzMtMS45MnYtMS40MDhsMC4wODUzMzMtMS40MDggMC4xMjgtMS40MDggMC4yMTMzMzQtMS43NDkzMzMgMC4yMTMzMzMtMS4xNTIgMC4yMTMzMzMtMS4wNjY2NjcgMC4yNTYtMS4wNjY2NjcgMC4zNDEzMzQtMS4yOCAwLjQyNjY2Ni0xLjUzNiAwLjcyNTMzNC0xLjgzNDY2NiAwLjY0LTEuNTM2IDAuODUzMzMzLTEuNzA2NjY3IDAuNjgyNjY3LTEuMjggMC45ODEzMzMtMS41Nzg2NjcgMS4wNjY2NjctMS41Nzg2NjYgMS4yOC0xLjcwNjY2NyAxLjA2NjY2Ni0xLjE5NDY2NyAxLjEwOTMzNC0xLjIzNzMzMyAxLjEwOTMzMy0xLjA2NjY2NyAxMDkuMDEzMzMzLTEwMi45NTQ2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MC45ODY2NjcgNTEuNzU0NjY2bC0xLjEwOTMzMyAxLjA2NjY2Ny00NC41MDEzMzQgNDIuMDI2NjY3aDMwNi4wMDUzMzRWMTY4LjQ0OGwtNDIuMDI2NjY3IDQ0LjUwMTMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUzLjg0NTMzMy00OC43NjhsMS4wMjQtMS4xMDkzMzMgMTA0LjAyMTMzMy0xMTAuMDggMS4yMzczMzMtMS4xNTIgMS4xOTQ2NjctMS4wNjY2NjcgMS4yMzczMzMtMC45Mzg2NjYgMS40OTMzMzQtMS4wMjQgMS40OTMzMzMtMC45ODEzMzQgMS41MzYtMC44NTMzMzMgMS4yOC0wLjY4MjY2NyAxLjcwNjY2Ny0wLjc2OCAyLjA0OC0wLjc2OCAwLjY4MjY2Ni0wLjI1NiAxLjI4LTAuNDI2NjY2IDEuNDUwNjY3LTAuMzQxMzM0IDEuNDA4LTAuMzQxMzMzIDEuNzA2NjY3LTAuMjk4NjY3IDEuNzA2NjY2LTAuMjEzMzMzIDEuODM0NjY3LTAuMTcwNjY3IDEuNDkzMzMzLTAuMDQyNjY2eiIgZmlsbD0iIzY2NjY2NiIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLW1hcCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTk0Ni41NiAxNzAuNjI0YTMyLjY0IDMyLjY0IDAgMCAwLTI2Ljc1Mi03LjA0bC0yMzcuMTg0IDQyLjExMkw2MjIuMDggMTg1LjZhMzIuNjQgMzIuNjQgMCAxIDAtMjAuNjcyIDYyLjA4bDY4LjQ4IDIyLjc4NGMxLjYgMC41MTIgMy4yIDAuODk2IDQuODY0IDEuMTUydjI2NS42bC0xMzUuMzYtNDEuNmEyMS44MjQgMjEuODI0IDAgMCAwLTEyLjggNDEuNmwxNDguMTYgNDUuNjMydjI3My44NTZsLTI4My41Mi03OS42OHYtMTIzLjI2NGEyMS43NiAyMS43NiAwIDEgMC00My43MTIgMHYxMjMuODRsLTIxOC4xMTIgMzQuMjRWMTk1LjcxMmEzMi43MDQgMzIuNzA0IDAgMCAwLTY1LjQwOCAwdjY1NC40YTMyLjY0IDMyLjY0IDAgMCAwIDM3Ljc2IDMyLjMybDI3MS4xMDQtNDIuNTYgMzA0IDg1LjM3NmEzMi44MzIgMzIuODMyIDAgMCAwIDE0LjY1NiAwLjY0bDIzOS44NzItNDMuNTg0YTMyLjcwNCAzMi43MDQgMCAwIDAgMjYuODgtMzIuMTkyVjE5NS43MTJhMzIuNjQgMzIuNjQgMCAwIDAtMTEuNzEyLTI1LjA4OHogbS01My43NiAzMzkuODRsLTE3NC40NjQgMzAuNFYyNjUuODU2bDE3NC41MjgtMzEuMDR2Mjc1LjY0OHogbS0xNzQuNDY0IDM0NC4wNjR2LTI2OS40NGwxNzQuNTI4LTMwLjMzNnYyNjguMDMybC0xNzQuNTI4IDMxLjc0NHoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0yMDkuNzI4IDM2NS45NTJjMTAuNjg4IDIxLjEyIDEwOC45OTIgMTU5Ljc0NCAxMzguODggMjAxLjY2NCA2LjE0NCA4LjY0IDE2IDEzLjc2IDI2LjYyNCAxMy43NmgwLjA2NGEzMi43MDQgMzIuNzA0IDAgMCAwIDI2LjY4OC0xMy44ODhjMjkuNzYtNDIuMzA0IDEyNy43NDQtMTgxLjg4OCAxMzcuNzkyLTIwMS4yMTYgMTMuMTg0LTI1LjQwOCAyMC40OC01NS4wNCAyMC40OC04My4zMjhhMTg1LjYgMTg1LjYgMCAwIDAtMTg1LjQwOC0xODUuNDA4QTE4NS42IDE4NS42IDAgMCAwIDE4OS40NCAyODIuOTQ0YzAgMjguMjg4IDYuNzg0IDU2LjE5MiAyMC4yODggODIuOTQ0eiBtMTY1LjEyLTIwMy4wMDhjNjYuMTEyIDAgMTE5LjkzNiA1My44MjQgMTE5LjkzNiAxMjAgMCAxNy43MjgtNC43MzYgMzcuMTItMTMuMDU2IDUzLjEyLTUuNjk2IDEwLjU2LTU1LjE2OCA4Mi4zNjgtMTA2LjYyNCAxNTUuODQtNDcuMjMyLTY2LjgxNi0xMDAuNzM2LTE0My42MTYtMTA2Ljk0NC0xNTUuNTJhMTE4LjcyIDExOC43MiAwIDAgMS0xMy4zMTItNTMuNDRjMC02Ni4xNzYgNTMuODI0LTEyMCAxMjAtMTIweiIgID48L3BhdGg+PHBhdGggZD0iTTMyMC4zMiAyODMuMDA4YTU0LjUyOCA1NC41MjggMCAxIDAgMTA5LjA1NiAwIDU0LjUyOCA1NC41MjggMCAwIDAtMTA5LjA1NiAweiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1mYW5nZGEiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0zNjIuNjY2NjY3IDUzMy4zMzMzMzNoODUuMzMzMzMzdjg1LjMzMzMzNGg4NS4zMzMzMzN2LTg1LjMzMzMzNGg4NS4zMzMzMzR2LTg1LjMzMzMzM2gtODUuMzMzMzM0di04NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzN6IiAgPjwvcGF0aD48cGF0aCBkPSJNMTI4IDQ5MC42NjY2NjdhMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMSAxIDY0Ny41MDkzMzMgMjI0LjUxMmwxOTMuMzIyNjY3IDE5My4zMjI2NjYtNjAuMzMwNjY3IDYwLjMzMDY2Ny0xOTMuMzIyNjY2LTE5My4zMjI2NjdBMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMCAxIDEyOCA0OTAuNjY2NjY3ek00OTAuNjY2NjY3IDIxMy4zMzMzMzNhMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMSAwIDAgNTU0LjY2NjY2NyAyNzcuMzMzMzMzIDI3Ny4zMzMzMzMgMCAwIDAgMC01NTQuNjY2NjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1zdW94aWFvIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNjE4LjY2NjY2NyA1MzMuMzMzMzMzaC0yNTZ2LTg1LjMzMzMzM2gyNTZ2ODUuMzMzMzMzeiIgID48L3BhdGg+PHBhdGggZD0iTTEyOCA0OTAuNjY2NjY3YTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDEgMSA2NDcuNTA5MzMzIDIyNC41MTJsMTkzLjMyMjY2NyAxOTMuMzIyNjY2LTYwLjMzMDY2NyA2MC4zMzA2NjctMTkzLjMyMjY2Ni0xOTMuMzIyNjY3QTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDAgMSAxMjggNDkwLjY2NjY2N3pNNDkwLjY2NjY2NyAyMTMuMzMzMzMzYTI3Ny4zMzMzMzMgMjc3LjMzMzMzMyAwIDEgMCAwIDU1NC42NjY2NjcgMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMCAwIDAtNTU0LjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tYm9mYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNODc1LjYwNTMzMyA1NDguMzk0NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgMC03Mi43ODkzMzRMMzMxLjYwNTMzMyAxNDMuMDE4NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAtNjQuOTM4NjY2IDM2LjQzNzMzM3Y2NjUuMDg4YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgNjQuOTM4NjY2IDM2LjM5NDY2N2w1NDQtMzMyLjU0NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tZGl5aWdlIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMzQxLjMzMzMzMyAxMjh2NzY4SDI1NlYxMjhoODUuMzMzMzMzek03ODAuNTAxMzMzIDg4My40OTg2NjdsLTM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxIDAtNjAuMzMwNjY2bDM0MS4zMzMzMzMtMzQxLjMzMzMzNCA2MC4zMzA2NjcgNjAuMzMwNjY3TDUyOS42NjQgNTEybDMxMS4xNjggMzExLjE2OC02MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1xaWFueWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTMxMS4xNjggNDgxLjgzNDY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzQgNjAuMzMwNjY3IDYwLjMzMDY2N0w0MDEuNjY0IDUxMmwzMTEuMTY4IDMxMS4xNjgtNjAuMzMwNjY3IDYwLjMzMDY2Ny0zNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMSAwLTYwLjMzMDY2NnoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24teGlheWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTcxMi44MzIgNDgxLjgzNDY2N2wtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjM3MzMzNCA2MC4zMzA2NjdMNjIyLjI5MzMzMyA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zNzMzMzQgNjAuMzMwNjY3IDM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwIDAtNjAuMzMwNjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi16YW50aW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNDI2LjY2NjY2NyAxNzAuNjY2NjY3SDIxMy4zMzMzMzN2NjgyLjY2NjY2NmgyMTMuMzMzMzM0VjE3MC42NjY2Njd6TTgxMC42NjY2NjcgMTcwLjY2NjY2N2gtMjEzLjMzMzMzNHY2ODIuNjY2NjY2aDIxMy4zMzMzMzRWMTcwLjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tenVpaG91eWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTY4Mi42NjY2NjcgMTI4djc2OGg4NS4zMzMzMzNWMTI4aC04NS4zMzMzMzN6TTI0My40OTg2NjcgODgzLjQ5ODY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMCAwLTYwLjMzMDY2NmwtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjMzMDY2NyA2MC4zMzA2NjdMNDk0LjMzNiA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTI4IDE4MS4zMzMzMzN2NjRoNzY4di02NEgxMjh6TTEyOCAzODRsMTkyIDEyOEwxMjggNjQwVjM4NHpNODk2IDQ4MEg0MjYuNjY2NjY3djY0aDQ2OS4zMzMzMzN2LTY0ek04OTYgNzc4LjY2NjY2N3Y2NEgxMjh2LTY0aDc2OHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tc3VvZmFuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTU5Ny4zMzMzMzMgNDEzLjM1NDY2N0gzOTQuNjY2NjY3djY0aDE3MC42NjY2NjZ2MTcwLjY2NjY2Nmg2NHYtMjAyLjY2NjY2NmEzMiAzMiAwIDAgMC0zMi0zMnoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0xMzguNjY2NjY3IDE4OS4zNTQ2NjdhMzIgMzIgMCAwIDEgMzItMzJoNjgyLjY2NjY2NmEzMiAzMiAwIDAgMSAzMiAzMnY2ODIuNjY2NjY2YTMyIDMyIDAgMCAxLTMyIDMySDE3MC42NjY2NjdhMzIgMzIgMCAwIDEtMzItMzJ2LTY4Mi42NjY2NjZ6IG02ODIuNjY2NjY2IDY1MC42NjY2NjZ2LTYxOC42NjY2NjZIMjAyLjY2NjY2N3YzMjBINDY5LjMzMzMzM2EzMiAzMiAwIDAgMSAzMiAzMnYyNjYuNjY2NjY2aDMyMHogbS02MTguNjY2NjY2IDBoMjM0LjY2NjY2NnYtMjM0LjY2NjY2NmgtMjM0LjY2NjY2NnYyMzQuNjY2NjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PC9zdmc+JywgZnVuY3Rpb24gKG8pIHsgdmFyIGEgPSAoYSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSlbYS5sZW5ndGggLSAxXSwgdCA9IGEuZ2V0QXR0cmlidXRlKCJkYXRhLWluamVjdGNzcyIpLCBhID0gYS5nZXRBdHRyaWJ1dGUoImRhdGEtZGlzYWJsZS1pbmplY3RzdmciKTsgaWYgKCFhKSB7IHZhciBpLCBlLCBoLCBsLCBuLCBjID0gZnVuY3Rpb24gKGEsIHQpIHsgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLCB0KSB9OyBpZiAodCAmJiAhby5fX2ljb25mb250X19zdmdfX2Nzc2luamVjdF9fKSB7IG8uX19pY29uZm9udF9fc3ZnX19jc3NpbmplY3RfXyA9ICEwOyB0cnkgeyBkb2N1bWVudC53cml0ZSgiPHN0eWxlPi5zdmdmb250IHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDFlbTtoZWlnaHQ6IDFlbTtmaWxsOiBjdXJyZW50Q29sb3I7dmVydGljYWwtYWxpZ246IC0wLjFlbTtmb250LXNpemU6MTZweDt9PC9zdHlsZT4iKSB9IGNhdGNoIChhKSB7IGNvbnNvbGUgJiYgY29uc29sZS5sb2coYSkgfSB9IGkgPSBmdW5jdGlvbiAoKSB7IHZhciBhLCB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IHQuaW5uZXJIVE1MID0gby5faWNvbmZvbnRfc3ZnX3N0cmluZ18zOTI5MjA5LCAodCA9IHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN2ZyIpWzBdKSAmJiAodC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgInRydWUiKSwgdC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSIsIHQuc3R5bGUud2lkdGggPSAwLCB0LnN0eWxlLmhlaWdodCA9IDAsIHQuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIiwgdCA9IHQsIChhID0gZG9jdW1lbnQuYm9keSkuZmlyc3RDaGlsZCA/IGModCwgYS5maXJzdENoaWxkKSA6IGEuYXBwZW5kQ2hpbGQodCkpIH0sIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgPyB+WyJjb21wbGV0ZSIsICJsb2FkZWQiLCAiaW50ZXJhY3RpdmUiXS5pbmRleE9mKGRvY3VtZW50LnJlYWR5U3RhdGUpID8gc2V0VGltZW91dChpLCAwKSA6IChlID0gZnVuY3Rpb24gKCkgeyBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZSwgITEpLCBpKCkgfSwgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGUsICExKSkgOiBkb2N1bWVudC5hdHRhY2hFdmVudCAmJiAoaCA9IGksIGwgPSBvLmRvY3VtZW50LCBuID0gITEsIGQoKSwgbC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7ICJjb21wbGV0ZSIgPT0gbC5yZWFkeVN0YXRlICYmIChsLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGwsIHYoKSkgfSkgfSBmdW5jdGlvbiB2KCkgeyBuIHx8IChuID0gITAsIGgoKSkgfSBmdW5jdGlvbiBkKCkgeyB0cnkgeyBsLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCgibGVmdCIpIH0gY2F0Y2ggKGEpIHsgcmV0dXJuIHZvaWQgc2V0VGltZW91dChkLCA1MCkgfSB2KCkgfSB9KHdpbmRvdyk7",self.location).href}),Ln=M=>de(exports,[M],function*({target:n,value:e}){try{let s="";if(!navigator.clipboard)return console.warn("Browser don't have support for native clipboard."),!1;if(n){const i=document.querySelector(n);if(!i||!i.textContent)return console.warn("Element not found"),!1;e=i.textContent}return e&&(s=e),yield navigator.clipboard.writeText(s),!0}catch(s){return!1}});const Rt=({text:n})=>{const[e,M]=o.useState();return o.useEffect(()=>{e&&setTimeout(()=>M(void 0),2e3)},[e]),e?t.jsx("div",{className:"copy-tip",children:e==="success"?t.jsx(Ae.CheckOutlined,{style:{color:"rgba(48, 191, 19, 1)"}}):t.jsx(Ae.CloseOutlined,{style:{color:"#dc4446"}})}):t.jsx(k.Tooltip,{title:"复制",children:t.jsx("div",{className:"copy-btn",onClick:()=>{Ln({value:n}).then(s=>{M(s?"success":"failed")})},children:t.jsx(se,{type:"icon-fuzhi"})})})},hn=r=>{var c=r,{node:n,inline:e,className:M,children:s}=c,i=Ye(c,["node","inline","className","children"]);const l=/language-(\w+)/.exec(M||""),a=l?l[1]:null;return!e&&a?t.jsxs("div",{className:"markdown-code",children:[t.jsxs("div",{className:"markdown-code-title",children:[t.jsx("span",{className:"markdown-code-title-text",children:a}),t.jsx(k.Space,{className:"markdown-code-title-action",children:t.jsx(Rt,{text:String(s)})})]}),t.jsx(kt.Prism,ie(v({className:"markdown-code-context",language:a},i),{wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:String(s).replace(/\n$/,"")}))]}):t.jsx("code",ie(v({className:M},i),{children:s}))},Pt=hn,Yn=n=>{var i,r;const s=n,{node:e}=s,M=Ye(s,["node"]);if(e.tagName==="a"&&((i=e.children)==null?void 0:i.length)>0){const c=((r=e.children[0])==null?void 0:r.value)||"";let l=/(^https?:\/\/|^www\.)(?:www\.)?[\w\-]+(\.[\w\-]+)+(\/[\w\- .\/?%&=]*)?/g,a=c.match(l),z=c.replace(l,"").trim();if(!(a!=null&&a.length))return t.jsx("a",v({},M));const N=a[0];return t.jsxs(t.Fragment,{children:[t.jsx("a",ie(v({href:/^www\./.test(N)?"//"+N:N,onClick:()=>window.open(n.href,n.target||"_blank")},M),{children:N})),z]})}return t.jsx("a",v({},M))},Wt=Yn,Gt=r=>{var c=r,{showLatex:n=!0,components:e={},componentProps:M,children:s}=c,i=Ye(c,["showLatex","components","componentProps","children"]);const l=o.useRef(null),a=v({img(z){return t.jsx(Bt,v(v({},z),M==null?void 0:M.img))},code(z){return t.jsx(Pt,v(v({},z),M==null?void 0:M.code))},video(z){return t.jsx(tt,v(v({},z),M==null?void 0:M.video))},a(z){return t.jsx(Wt,v(v({},z),M==null?void 0:M.a))}},e);return t.jsx("div",{ref:l,children:t.jsx(on,ie(v({className:"markdown",rehypePlugins:[zn,cn,[an,{target:"_blank"}]],remarkPlugins:[ln,[rn,{singleTilde:!1}]]},i),{children:n?An(s):s,components:a}))})},Pe=n=>{var i;if(!n)return;const e=n.split(/[?#]/)[0],s=(e.split("/").pop()||e).split(".");if(!(s.length<2))return(i=s.pop())==null?void 0:i.toLowerCase()},Zt=n=>{if(!n)return"unknown";const e=n.toLowerCase();return["svg","png","gif","jpg","jpeg","tiff","tif","bmp"].includes(e)?"image":e==="mp4"?"video":e==="mp3"?"audio":e==="pdf"?"pdf":e==="markdown"||e==="md"?"markdown":e==="json"?"json":e==="jsonl"||e==="josnl"?"jsonl":e==="csv"?"csv":e==="tsv"?"tsv":e==="html"||e==="htm"?"html":e==="xml"?"xml":["doc","docx","ppt","pptx","xls","xlsx","wps","odt","rtf","ods","pps","ppsx","odp","key"].includes(e)?"office":["js","jsx","ts","tsx","py","java","cpp","c","cc","cxx","h","hpp","hxx","css","less","scss","sass","vue","go","rs","rb","php","swift","kt","scala","sh","bash","zsh","fish","ps1","bat","cmd","yml","yaml","toml","ini","conf","config","json","xml","sql","r","m","mm","pl","pm","lua","dart","elm","clj","cljs","ex","exs","erl","hrl","hs","ml","mli","fs","fsx","vb","cs","d","nim","zig","v","odin"].includes(e)?"code":e==="txt"?"text":e==="zip"?"zip":e==="tex"||e==="latex"?"text":"unknown"},Je=5*1024*1024,pn=2*1024*1024,En=2*1024*1024,Cn=5*1024*1024,Sn=5*1024*1024,On=2*1024*1024,vn=2*1024*1024,bn=2*1024*1024,kn=2*1024*1024,pt=100*1024*1024,Qn=100*1024*1024,Ee=1e4,Ce=1e4,_e=5e3,xe=1e3,Un=1024*1024*5,Bn=3e4,Rn=["text","json","csv","tsv","markdown","html","xml","jsonl","image","pdf","code"],Pn=n=>{const[e,M]=o.useState(null),[s,i]=o.useState(!0),[r,c]=o.useState(null),l=o.useRef(null);return o.useEffect(()=>{if(!n){c("文件URL不能为空"),i(!1);return}return l.current&&(URL.revokeObjectURL(l.current),l.current=null,M(null)),i(!0),c(null),fetch(n).then(a=>{if(!a.ok)throw new Error(`HTTP error! status: ${a.status}`);return a.blob()}).then(a=>{if(a.type&&a.type!=="application/pdf"&&!n.toLowerCase().endsWith(".pdf"))throw new Error("文件不是有效的 PDF 格式");const z=URL.createObjectURL(a);l.current=z,M(z),i(!1)}).catch(a=>{c(a.message||"加载 PDF 失败"),i(!1)}),()=>{l.current&&(URL.revokeObjectURL(l.current),l.current=null)}},[n]),{pdfBlobUrl:e,pdfLoading:s,pdfError:r}},Wn=n=>{if(n===0)return"0 B";const e=1024,M=["B","KB","MB","GB"],s=Math.floor(Math.log(n)/Math.log(e));return Math.round(n/Math.pow(e,s)*100)/100+" "+M[s]},Gn=n=>de(exports,null,function*(){let e=!1,M=0;try{const s=yield fetch(n,{method:"HEAD",headers:{Range:"bytes=0-0"}}),i=s.headers.get("Accept-Ranges"),r=s.headers.get("Content-Range"),c=s.headers.get("Content-Length");if(r){const l=r.match(/bytes \d+-\d+\/(\d+)/);l&&(M=parseInt(l[1],10))}else c&&(M=parseInt(c,10));return e=s.status===206||i==="bytes"||r!==null&&r.startsWith("bytes"),{supportsRange:e,fileSize:M}}catch(s){return console.warn("Range 支持检测失败:",s),{supportsRange:!1,fileSize:0}}}),Zn=n=>de(exports,null,function*(){try{const M=(yield fetch(n,{method:"HEAD"})).headers.get("Content-Length");return M?parseInt(M,10):0}catch(e){return console.warn("无法获取文件大小:",e),0}}),Re={filenameEncoding:"utf-8"},Vn=n=>{const[e,M]=o.useState([]),[s,i]=o.useState(!0),[r,c]=o.useState(null),[l,a]=o.useState(null),[z,N]=o.useState(null);o.useEffect(()=>{if(!n){c("文件URL不能为空"),i(!1);return}i(!0),c(null),M([]),a(null),z!=null&&z.blobUrl&&(URL.revokeObjectURL(z.blobUrl),N(null));let y=null;de(exports,null,function*(){try{le.configure({chunkSize:Un,useWebWorkers:!1});const{supportsRange:d,fileSize:j}=yield Gn(n);if(d){const I=new le.HttpRangeReader(n);y=new le.ZipReader(I,Re);const E=(yield Promise.race([y.getEntries(),new Promise((h,m)=>setTimeout(()=>m(new Error("读取 ZIP 目录结构超时")),Bn))])).filter(h=>!h.directory).map(h=>({name:h.filename,size:h.uncompressedSize||0,isDirectory:!1}));E.sort((h,m)=>h.name.localeCompare(m.name)),E.length>xe?(c(`ZIP 文件包含 ${E.length} 个文件,仅显示前 ${xe} 个`),M(E.slice(0,xe))):M(E)}else{if(j>pt)throw new Error(`服务器不支持 HTTP Range 请求,且文件过大(${Math.round(j/1024/1024)}MB),无法预览。请下载后查看。`);const I=yield fetch(n);if(!I.ok)throw new Error(`HTTP error! status: ${I.status}`);const w=yield I.blob(),E=new le.BlobReader(w);y=new le.ZipReader(E,Re);const m=(yield y.getEntries()).filter(p=>!p.directory).map(p=>({name:p.filename,size:p.uncompressedSize||0,isDirectory:!1}));m.sort((p,O)=>p.name.localeCompare(O.name)),m.length>xe?(c(`ZIP 文件包含 ${m.length} 个文件,仅显示前 ${xe} 个`),M(m.slice(0,xe))):M(m)}y&&(yield y.close()),i(!1)}catch(d){if(y)try{yield y.close()}catch(I){}const j=d.message||d.toString()||"加载 ZIP 文件失败";if(j.includes("Range")||j.includes("range")||j.includes("HTTP Range not supported")||j.includes("超时"))try{const I=yield Zn(n);if(I>pt)throw new Error(`文件过大(${Math.round(I/1024/1024)}MB),无法通过 Range 请求加载,且文件过大无法下载整个文件预览。请下载后查看。`);const w=yield fetch(n);if(!w.ok)throw new Error(`HTTP error! status: ${w.status}`);const E=yield w.blob(),h=new le.BlobReader(E);y=new le.ZipReader(h,Re);const p=(yield y.getEntries()).filter(O=>!O.directory).map(O=>({name:O.filename,size:O.uncompressedSize||0,isDirectory:!1}));p.sort((O,Y)=>O.name.localeCompare(Y.name)),p.length>xe?(c(`ZIP 文件包含 ${p.length} 个文件,仅显示前 ${xe} 个`),M(p.slice(0,xe))):M(p),y&&(yield y.close()),i(!1);return}catch(I){const w=I.message||I.toString();c(`ZIP 文件加载失败: ${j}。Fallback 方案也失败: ${w}`)}else c(j);i(!1)}})},[n]);const g=o.useCallback(y=>de(exports,null,function*(){if(l===y&&z){a(null),z.blobUrl&&URL.revokeObjectURL(z.blobUrl),N(null);return}a(y);try{let d=null,j;try{const p=new le.HttpRangeReader(n);d=new le.ZipReader(p,Re),j=(yield d.getEntries()).find(Y=>Y.filename===y)}catch(p){const O=yield fetch(n);if(!O.ok)throw new Error(`HTTP error! status: ${O.status}`);const Y=yield O.blob(),D=new le.BlobReader(Y);d=new le.ZipReader(D,Re),j=(yield d.getEntries()).find(x=>x.filename===y)}if(!j)throw new Error("文件不存在");if(j.directory)throw new Error("无法预览目录");if((j.uncompressedSize||0)>Qn)throw new Error("文件过大(超过 100MB),无法预览");const w=yield j.getData(new le.BlobWriter),E=URL.createObjectURL(w),h=Pe(y),m=Zt(h);if(!Rn.includes(m))throw new Error(`不支持预览 ${h||"未知"} 格式的文件`);N({name:y,blobUrl:E,type:m}),d&&(yield d.close())}catch(d){const j=d.message||d.toString()||"预览文件失败";c(j)}}),[n,l,z]);return o.useEffect(()=>()=>{z!=null&&z.blobUrl&&URL.revokeObjectURL(z.blobUrl)},[z]),{zipFiles:e,zipLoading:s,zipError:r,selectedZipFile:l,zipFileContent:z,handleFileClick:g,setSelectedZipFile:a}},X=({url:n,fileName:e})=>t.jsx(k.Button,{type:"link",icon:t.jsx(Ae.DownloadOutlined,{}),href:n,download:e,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}),qe=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;if((e||new Blob([n.content]).size)>pn){const r=n.content.split(`
|
|
3
|
-
`),
|
|
4
|
-
`);return t.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[
|
|
5
|
-
`).filter(
|
|
6
|
-
`).filter(
|
|
7
|
-
`).filter(a=>a.trim()),
|
|
8
|
-
<`).replace(/^\s+/gm,"");return t.jsx("pre",{className:"document-viewer-xml",children:r})}catch(r){return t.jsx(qe,{fileContent:n,fileSize:e,url:M,fileName:s})}},qn=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const r=o.useMemo(()=>
|
|
9
|
-
`),a=
|
|
10
|
-
`);return t.jsxs("div",{className:"document-viewer-code",children:[a&&t.jsx(k.Alert,{message:"文件过大",description:`文件包含 ${l.length} 行,仅显示前 ${Ee} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:t.jsx(X,{url:M,fileName:s})}),t.jsx("div",{style:{overflow:"auto",flex:1,width:"100%"},children:t.jsx("pre",{className:"document-viewer-text",style:{fontSize:"12px",width:"100%",boxSizing:"border-box"},children:N})})]})}return t.jsx("div",{className:"document-viewer-code",children:t.jsx("div",{style:{overflow:"auto",flex:1,width:"100%"},children:t.jsx(kt.Prism,{language:r,wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",customStyle:{width:"100%",margin:0,boxSizing:"border-box"},children:n.content})})})},eM=({url:n,fileName:e})=>t.jsx("div",{className:"document-viewer-image",children:t.jsx(k.Image,{src:n,alt:e||"Image",style:{maxWidth:"100%",maxHeight:"100%",objectFit:"contain"}})}),tM=({url:n})=>t.jsx("div",{className:"document-viewer-video",children:t.jsx("video",{src:n,controls:!0,style:{maxWidth:"100%"},children:"您的浏览器不支持视频播放"})}),nM=({url:n})=>t.jsx("div",{className:"document-viewer-audio",children:t.jsx("audio",{src:n,controls:!0,style:{width:"100%"},children:"您的浏览器不支持音频播放"})}),MM=({pdfBlobUrl:n,pdfLoading:e,pdfError:M,url:s,fileName:i})=>e?t.jsx("div",{className:"document-viewer-loading",children:t.jsx(k.Spin,{size:"large",tip:"加载 PDF 中..."})}):M?t.jsx(k.Alert,{message:"PDF 加载失败",description:M,type:"error",showIcon:!0,action:t.jsx(X,{url:s,fileName:i})}):n?t.jsx("div",{className:"document-viewer-pdf",children:t.jsx("iframe",{src:n,className:"document-viewer-iframe",title:"PDF Preview"})}):t.jsx(k.Alert,{message:"PDF 加载失败",description:"无法创建 PDF 预览",type:"error",showIcon:!0,action:t.jsx(X,{url:s,fileName:i})}),sM=({zipFiles:n,zipLoading:e,zipError:M,selectedZipFile:s,zipFileContent:i,onFileClick:r,url:c})=>e?t.jsx("div",{className:"document-viewer-loading",children:t.jsx(k.Spin,{size:"large",tip:"加载 ZIP 文件..."})}):M&&n.length===0?t.jsx(k.Alert,{className:"document-viewer-alert-full",message:"ZIP 加载失败",description:M,type:"error",showIcon:!0,action:t.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",children:"下载文件"})}):t.jsxs("div",{className:"document-viewer-zip",children:[M&&n.length>0&&t.jsx(k.Alert,{className:"document-viewer-alert-full",message:"提示",description:M,type:"warning",showIcon:!0,style:{marginBottom:16}}),t.jsxs("div",{style:{display:"flex",height:"100%",gap:"16px"},children:[t.jsxs("div",{style:{width:"300px",borderRight:"1px solid #e8e8e8",overflow:"auto",display:"flex",flexDirection:"column"},children:[t.jsxs("div",{style:{padding:"12px",fontWeight:"bold",borderBottom:"1px solid #e8e8e8",flexShrink:0},children:["文件列表 (",n.length,")"]}),t.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:t.jsx(k.Table,{dataSource:n,size:"small",pagination:!1,scroll:{y:"100%"},onRow:l=>({onClick:()=>r(l.name),style:{cursor:"pointer",backgroundColor:s===l.name?"#e6f7ff":"transparent"}}),columns:[{title:"文件名",dataIndex:"name",key:"name",ellipsis:!0,render:l=>t.jsx("span",{title:l,children:l.split("/").pop()})},{title:"大小",dataIndex:"size",key:"size",width:80,render:l=>Wn(l)}]})})]}),t.jsx("div",{style:{flex:1,overflow:"auto",display:"flex",flexDirection:"column"},children:s&&i?t.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[t.jsx("div",{style:{padding:"12px",borderBottom:"1px solid #e8e8e8",fontWeight:"bold",flexShrink:0},children:i.name}),t.jsx("div",{style:{flex:1,overflow:"auto",padding:"16px"},children:t.jsx(Vt,{url:i.blobUrl,fileName:i.name,showToolbar:!1,style:{height:"100%",width:"100%"}})})]}):t.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:"#999"},children:"请从左侧列表中选择文件进行预览"})})]})]}),oM=({message:n,description:e,action:M,url:s,fileName:i})=>{const r=s?t.jsx(k.Button,{type:"link",icon:t.jsx(Ae.DownloadOutlined,{}),href:s,download:i,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}):null;return t.jsx(k.Alert,{className:"document-viewer-alert-full",message:n,description:e,type:"error",showIcon:!0,action:M||r})};const iM=n=>{if(!n)return"unknown";const e=n.split(";")[0].trim().toLowerCase();return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e.startsWith("audio/")?"audio":e==="application/pdf"?"pdf":e==="text/markdown"||e==="text/x-markdown"?"markdown":e==="application/json"?"json":e==="application/jsonl"?"jsonl":e==="text/csv"||e==="application/csv"?"csv":e==="text/tab-separated-values"?"tsv":e==="application/javascript"||e==="text/javascript"?"code":e==="application/xml"||e==="text/xml"?"xml":e==="text/html"||e==="application/xhtml+xml"?"html":e==="text/plain"?"text":"unknown"},rM=n=>!n||Number.isNaN(n)?"大小未知":n<1024?`${n}B`:n<1024*1024?`${(n/1024).toFixed(1)}KB`:n<1024*1024*1024?`${(n/1024/1024).toFixed(1)}MB`:`${(n/1024/1024/1024).toFixed(1)}GB`,cM=(n,e)=>{if(e)return e;try{const i=new URL(n).pathname.split("/").filter(Boolean).pop();return decodeURIComponent(i||n)}catch(M){return n}},aM=n=>{const{url:e,fileName:M,className:s,style:i,showToolbar:r=!0}=n,c=o.useMemo(()=>{const G=Pe(e),C=M?Pe(M):void 0;return Zt(G||C)},[e,M]),[l,a]=o.useState(c),{pdfBlobUrl:z,pdfLoading:N,pdfError:g}=Pn(c==="pdf"?e:""),{zipFiles:y,zipLoading:d,zipError:j,selectedZipFile:I,zipFileContent:w,handleFileClick:E}=Vn(c==="zip"?e:""),[h,m]=o.useState(!0),[p,O]=o.useState(null),[Y,D]=o.useState(null),[S,x]=o.useState(0),[L,b]=o.useState(!1),J=o.useMemo(()=>cM(e,M),[M,e]),re=o.useMemo(()=>rM(S),[S]),T=!!(Y!=null&&Y.content),f=!T&&!e,B=o.useMemo(()=>[{key:"copy-content",label:"复制内容",disabled:!T},{key:"copy-url",label:"复制地址",disabled:!e}],[T,e]);o.useEffect(()=>{if(a(c),c==="pdf"||c==="zip"){m(!1);return}if(!e){O("文件URL不能为空"),m(!1);return}if(["image","video","audio","office"].includes(c)){m(!1);return}m(!0),O(null),de(exports,null,function*(){try{if(e.startsWith("blob:")||e.startsWith("data:")){const $=yield fetch(e);if(!$.ok)throw new Error(`HTTP error! status: ${$.status}`);const _=yield $.blob(),De=_.size;if(x(De),De>Je){O(`文件过大(${Math.round(De/1024/1024)}MB),无法预览。请下载后查看。`),m(!1);return}const Te=yield _.text();c==="unknown"&&a("text"),D({content:Te}),m(!1);return}const C=yield fetch(e,{method:"HEAD"}),te=C.headers.get("Content-Length"),ze=C.headers.get("Content-Type"),K=te?parseInt(te,10):0;if(x(K),c==="unknown"){const $=iM(ze);$!=="unknown"&&a($)}if(K>Je){O(`文件过大(${Math.round(K/1024/1024)}MB),无法预览。请下载后查看。`),m(!1);return}const q=yield fetch(e);if(!q.ok)throw new Error(`HTTP error! status: ${q.status}`);const F=yield q.text(),ye=new Blob([F]).size;if(ye>Je){O(`文件过大(${Math.round(ye/1024/1024)}MB),无法预览。请下载后查看。`),m(!1);return}l==="unknown"&&a("text"),D({content:F}),m(!1)}catch(G){O(G.message||"加载文件失败"),m(!1)}})},[e,c]);const Z=o.useCallback(()=>de(exports,null,function*(){var G;if(!(Y!=null&&Y.content)){k.message.warning("暂无可复制的内容");return}try{if(b(!0),(G=navigator==null?void 0:navigator.clipboard)!=null&&G.writeText)yield navigator.clipboard.writeText(Y.content);else{const C=document.createElement("textarea");C.value=Y.content,C.style.position="fixed",C.style.opacity="0",document.body.appendChild(C),C.select(),document.execCommand("copy"),document.body.removeChild(C)}k.message.success("内容已复制到剪贴板")}catch(C){k.message.error((C==null?void 0:C.message)||"复制失败,请手动复制")}finally{b(!1)}}),[Y]),V=o.useCallback(()=>de(exports,null,function*(){var G;if(!e){k.message.warning("暂无可复制的地址");return}try{if((G=navigator==null?void 0:navigator.clipboard)!=null&&G.writeText)yield navigator.clipboard.writeText(e);else{const C=document.createElement("textarea");C.value=e,C.style.position="fixed",C.style.opacity="0",document.body.appendChild(C),C.select(),document.execCommand("copy"),document.body.removeChild(C)}k.message.success("链接已复制到剪贴板")}catch(C){k.message.error((C==null?void 0:C.message)||"复制失败,请手动复制")}}),[e]),ue=o.useCallback(C=>de(exports,[C],function*({key:G}){G==="copy-content"&&(yield Z()),G==="copy-url"&&(yield V())}),[Z,V]),ae=()=>{if(h)return t.jsx("div",{className:"document-viewer-loading",children:t.jsx(k.Spin,{size:"large",tip:"加载中..."})});if(p)return t.jsx(oM,{message:"加载失败",description:p,url:e,fileName:M});if(l==="unknown"&&(Y!=null&&Y.content))return t.jsx(qe,{fileContent:Y,fileSize:S,url:e,fileName:M});switch(l){case"text":return t.jsx(qe,{fileContent:Y,fileSize:S,url:e,fileName:M});case"json":return t.jsx($n,{fileContent:Y,fileSize:S,url:e,fileName:M});case"csv":return t.jsx(Hn,{fileContent:Y,fileSize:S,url:e,fileName:M});case"tsv":return t.jsx(Fn,{fileContent:Y,fileSize:S,url:e,fileName:M});case"jsonl":return t.jsx(Jn,{fileContent:Y,fileSize:S,url:e,fileName:M});case"markdown":return t.jsx(_n,{fileContent:Y,fileSize:S,url:e,fileName:M});case"html":return t.jsx(Xn,{fileContent:Y,fileSize:S,url:e,fileName:M});case"xml":return t.jsx(Kn,{fileContent:Y,fileSize:S,url:e,fileName:M});case"code":return t.jsx(qn,{fileContent:Y,fileSize:S,url:e,fileName:M});case"image":return t.jsx(eM,{url:e,fileName:M});case"video":return t.jsx(tM,{url:e,fileName:M});case"audio":return t.jsx(nM,{url:e,fileName:M});case"pdf":return t.jsx(MM,{pdfBlobUrl:z,pdfLoading:N,pdfError:g,url:e,fileName:M});case"office":return t.jsx(lM,{url:e});case"zip":return t.jsx(sM,{zipFiles:y,zipLoading:d,zipError:j,selectedZipFile:I,zipFileContent:w,onFileClick:E,url:e});case"unknown":default:return t.jsx(zM,{url:e})}};return t.jsxs("div",{className:`document-viewer ${s||""}`,style:i,children:[r&&t.jsxs("div",{className:"document-viewer-toolbar",children:[t.jsxs("div",{className:"document-viewer-toolbar-meta",children:[t.jsx("span",{className:"document-viewer-toolbar-name",title:J,children:J}),t.jsx("span",{className:"document-viewer-toolbar-size",children:re})]}),t.jsxs(k.Space,{size:8,wrap:!0,children:[t.jsx(k.Button,{icon:t.jsx(Ae.DownloadOutlined,{}),size:"small",href:e,target:"_blank",rel:"noopener noreferrer",download:M||void 0,children:"下载"}),t.jsx(k.Dropdown.Button,{size:"small",icon:t.jsx(Ae.CopyOutlined,{}),menu:{items:B,onClick:ue},disabled:f,loading:L,onClick:Z,children:"复制"})]})]}),t.jsx("div",{className:"document-viewer-body",children:ae()})]})},lM=({url:n})=>{const e=`https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(n)}`;return t.jsxs("div",{className:"document-viewer-office",children:[t.jsx("iframe",{src:e,className:"document-viewer-iframe",title:"Office Document Preview"}),t.jsx("div",{className:"document-viewer-fallback",children:t.jsx(k.Alert,{message:"预览可能不可用",description:t.jsx("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:"点击下载文件"}),type:"info",showIcon:!0})})]})},zM=({url:n})=>t.jsx("div",{className:"document-viewer-unknown",children:t.jsx("iframe",{src:n,className:"document-viewer-iframe",title:"File Preview"})}),Vt=aM;const Ne=n=>{var e;return t.jsx("button",ie(v({},n),{className:`g-icon-btn disabled ${(e=n==null?void 0:n.className)!=null?e:""}`}))},jM=n=>{var x,L;const e=o.useRef(null),{className:M,headerClassName:s,style:i,visible:r,mode:c="normal",header:l,icons:a={collapseButton:t.jsx(se,{type:"icon-yincang"}),expandButton:t.jsx(se,{type:"icon-yincang"}),fullscreenButton:t.jsx(se,{type:"icon-suofang"}),exitFullscreenButton:t.jsx(se,{type:"icon-suofang"})},extraButtons:z=[],onNormalize:N,onMinimize:g,onMaximize:y}=n,[d,j]=o.useState(c==="max"),[I,w]=o.useState(c==="min"),E=o.useRef(null),[h,m]=o.useState(c);o.useEffect(()=>{j(c==="max"),w(c==="min"),m(c)},[c]);const p=()=>{j(!d),m(d?"normal":"max"),d?N&&N():y&&y()},O=()=>{w(!I),m(I?"normal":"min"),I?N&&N():g&&g()};o.useEffect(()=>{E.current&&d&&(E.current.style.transform="none")},[d]);const Y=(L=n.fullScreenContainer)!=null?L:(x=e.current)==null?void 0:x.parentElement,D=Y==null?void 0:Y.getBoundingClientRect(),S={position:"fixed",top:D==null?void 0:D.y,left:D==null?void 0:D.x,width:I?0:D==null?void 0:D.width,height:D==null?void 0:D.height};return t.jsxs("div",{className:"g-expandable-pannel-wrap",style:v({visibility:r!==!1?"visible":"hidden",position:d&&!I?"absolute":"unset"},d?S:null),ref:e,children:[!I&&t.jsxs("div",{className:`g-expandable-pannel ${d?"full":""} `,style:v({},i),children:[l!=null?l:t.jsx("div",{className:`g-expandable-pannel-header ${s!=null?s:""}`,children:t.jsx(Ne,{onClick:p,children:d?a.exitFullscreenButton:a.fullscreenButton})}),t.jsx("div",{className:"g-expandable-pannel-body",children:n.children})]}),t.jsx("div",{className:`g-expandable-pannel-expand-bar ${I?"collapsed":"expaned"} ${s!=null?s:""}`,children:t.jsx(Ne,{onClick:O,children:I?a.expandButton:a.collapseButton})})]})};const NM={stroke:"rgba(255, 77, 79, 0.25)",strokeWidth:1},$t=n=>{const{style:e,passes:M,scale:s,activePassId:i,passStyle:r,activePassStyle:c}=n;return t.jsx("svg",{className:"pass-map",style:e,children:M.map((l,a)=>{var N;const z=l.id===i?c:NM;return t.jsx("g",{children:t.jsx("polygon",{points:(N=l.points)==null?void 0:N.map(g=>`${g.x*s} ${g.y*s}`).join(","),style:v(v(v({},r),l.passStyle),z)})},a)})})};const uM=n=>{var g,y,d,j;const N=n,{children:e,open:M,point:s,key:i,style:r}=N,c=Ye(N,["children","open","point","key","style"]),[l,a]=o.useState(M&&s.tooltipOpen!==void 0?s.tooltipOpen:void 0),z=o.useRef(null);return o.useEffect(()=>{var E,h;if(!s.tooltipRender||!z.current)return;const I=s.tooltipRender(s);if(typeof I=="string"||typeof I=="number"){z.current.innerText=I.toString();return}const w=(E=z.current)==null?void 0:E.firstChild;w?w.replaceWith(I):(h=z.current)==null||h.appendChild(I),console.log("tooltip inner text",s.id),console.log(new Date().valueOf())},[s.tooltipRender,l]),o.useEffect(()=>{a(s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0)},[s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0]),console.log("render PointTooltip",s.id),console.log(new Date().valueOf()),t.jsx(Qt,ie(v({},c),{autoAdjustOverflow:!1,placement:"top",open:s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0,onOpenChange:I=>{var h,m;if(s.tooltipOpen||a(I),console.log("tooltip inner text",s.id),console.log(new Date().valueOf()),!s.tooltipRender||!z.current)return;const w=s.tooltipRender(s);if(typeof w=="string"||typeof w=="number"){z.current.innerText=w.toString();return}const E=(h=z.current)==null?void 0:h.firstChild;E?E.replaceWith(w):(m=z.current)==null||m.appendChild(w)},color:((g=s.tooltipStyle)==null?void 0:g.backgroundColor)||((y=s.tooltipStyle)==null?void 0:y.backgroundImage)||((j=(d=s.tooltipStyle)==null?void 0:d.background)==null?void 0:j.toString()),title:t.jsx("div",{ref:z},i),overlayInnerStyle:s.tooltipStyle,destroyTooltipOnHide:!0,style:v({zIndex:9},r),motion:{forceRender:!0},children:e}))},gM=uM,dM={attributes:!0,characterData:!0},yM=n=>{const e=o.useRef(null),{point:M,open:s,id:i,x:r,y:c,r:l,active:a=!1,hidden:z=!1,onPointClick:N,getTooltipContainer:g}=n,[y,d]=o.useState(n.style),[j,I]=o.useState(!0);o.useEffect(()=>{const h=gn.diff(y,n.style);Object.keys(h).length&&d(n.style)},[n.style]);const w=o.useMemo(()=>t.jsx("circle",{id:`mark-${i}`,className:"point point-active",cx:r,cy:c,r:l,ref:e,style:y,onClick:()=>N&&N(M)}),[r,c,l,y,a]),E=o.useMemo(()=>{const h=dn(()=>{I(!0),console.log("show tooltip",M.id),console.log(new Date().valueOf())},200);return new MutationObserver(()=>{console.log("circle is changed"),console.log("hide tooltip",M.id),console.log(new Date().valueOf()),I(!1),h()})},[]);return o.useEffect(()=>{if(!(!e.current||!M.tooltipRender))return E.observe(e.current,dM),()=>{e.current&&E.disconnect()}},[r,c,l]),z?t.jsx(t.Fragment,{}):M.tooltipRender&&j?t.jsx(gM,{open:s,point:M,getPopupContainer:g,children:w}):w},Et=yM,Ht=n=>{var Qe;const{width:e,height:M,points:s,scale:i,pointSize:r=6,direction:c,activePointId:l,style:a,lineStyle:z,pointStyle:N,directionStyle:g,marks:y,resizable:d,transform:j,keepRatio:I=!1,onPointClick:w,onTransform:E,onPointsChange:h,onCancelResize:m,actions:p=!0,setIsSaved:O,isSaved:Y=!1}=n,D=o.useRef(null),S=o.useRef(null),x=o.useRef(null),L=o.useRef(null),b=o.useRef(null),[J,re]=o.useState(null),[T,f]=o.useState((j==null?void 0:j.scale)||[1,1]),[B,Z]=o.useState((j==null?void 0:j.rotate)||0),[V,ue]=o.useState((j==null?void 0:j.translate)||[0,0,0,0]),[ae,G]=o.useState([]),[C,te]=o.useState(),[ze,K]=o.useState(),[q,F]=o.useState(d),[ye,$]=o.useState([]),[_,De]=o.useState(s),[Te,Fe]=o.useState(!0),[ne,me]=o.useState(),[oe,ge]=o.useState(),[Se,Ge]=o.useState(typeof p!="boolean"?p:p===!0?{}:null),fe=(r-r/4*.9)*2/i;o.useEffect(()=>{Ge(typeof p!="boolean"?p:p===!0?{}:null)},[p]);const Ze=(u,A)=>{if(!u.length)return;let W;return u.map(U=>{var ce;if(!W){W=U;return}const H=t.jsx("line",{x1:Number.isFinite(W.x)?W.x:0,y1:Number.isFinite(W.y)?W.y:0,x2:Number.isFinite(U.x)?U.x:0,y2:Number.isFinite(U.y)?U.y:0,style:ie(v(v({stroke:"#1F66E1BF"},z),W.lineStyle),{strokeWidth:Number((z==null?void 0:z.strokeWidth)||((ce=W.lineStyle)==null?void 0:ce.strokeWidth)||2)/A})},U.id);return W=U,H})},Oe=new ResizeObserver(()=>{D.current&&(S.current&&(S.current.style.transform="none",S.current.style.width="auto",S.current.style.height="100%"),S.current&&(S.current.style.width="100%",S.current.style.height="100%"))});o.useEffect(()=>{var u;ge((u=x.current)==null?void 0:u.getBoundingClientRect())},[a==null?void 0:a.left,a==null?void 0:a.top,a==null?void 0:a.width,a==null?void 0:a.height,i]),o.useEffect(()=>{F(d)},[d]),o.useEffect(()=>{De(s||[])},[s,ye]),o.useEffect(()=>{var u;(!((u=x.current)!=null&&u.style.transform)||x.current.style.transform==="none")&&(f((j==null?void 0:j.scale)||[1,1]),Z((j==null?void 0:j.rotate)||0),ue((j==null?void 0:j.translate)||[0,0,0,0]))},[(Qe=x.current)==null?void 0:Qe.style.transform]),o.useEffect(()=>{!x.current||q||(x.current.style.transform="none",f((j==null?void 0:j.scale)||[1,1]),Z((j==null?void 0:j.rotate)||0),ue((j==null?void 0:j.translate)||[0,0,0,0]))},[q]),o.useEffect(()=>{if(D.current)return Oe.observe(D.current),()=>{D.current&&Oe.unobserve(D.current)}},[D.current]),o.useEffect(()=>{!J||!j||(J.throttleDragRotate=j.rotate,J.throttleScale=j.scale,J.throttleDrag=j.translate)},[J,j]),o.useEffect(()=>{te(_==null?void 0:_.find(A=>A.id===l));let u=_.map(A=>{var ce,Ue,he;const W=A.x,Q=A.y,U=A.id===l,H=r*(U?1.2:1)/i;return t.jsx(Et,{open:Te,id:A.id,point:A,getTooltipContainer:()=>b.current||document.body,x:W,y:Q,r:N!=null&&N.r||(ce=A.pointStyle)!=null&&ce.r?Number((N==null?void 0:N.r)||((Ue=A.pointStyle)==null?void 0:Ue.r))/i:H/2,hidden:U,style:ie(v(v({stroke:"#1F66E1BF",fill:"#fff",cursor:w?"pointer":"unset"},N),A.pointStyle),{strokeWidth:Number(((he=A.pointStyle)==null?void 0:he.strokeWidth)||2)/i,r:void 0}),onPointClick:w},A.id)})||[];G(u)},[_,l,i,Te]),o.useEffect(()=>{var U,H,ce;if(!C){K(void 0);return}const u=C.x,A=C.y,W=C.id===l,Q=r*(W?1.2:1)/i;K(t.jsxs("g",{children:[c!==void 0&&t.jsx("circle",{id:`mark-${C.id}`,cx:u,cy:A,r:`${fe}`,strokeDasharray:fe*2*Math.PI,strokeDashoffset:fe*2*Math.PI/360*(360-60),style:v({transform:`rotate(${c+240}deg)`,transformOrigin:`${u}px ${A}px`,strokeWidth:fe*2,stroke:"#1F66E1BF",fill:"transparent",pointerEvents:"none"},g)}),t.jsx(Et,{open:Te,point:C,getTooltipContainer:()=>b.current||document.body,x:u,y:A,r:(U=C.pointStyle)!=null&&U.r?Number((H=C.pointStyle)==null?void 0:H.r)/i:Q/2,style:ie(v(v({stroke:"#1F66E1BF",fill:"#fff"},N),C.pointStyle),{strokeWidth:Number(((ce=C.pointStyle)==null?void 0:ce.strokeWidth)||2)/i,r:void 0}),onPointClick:w},C.id)]},C.id))},[C,c,i,Te]),o.useEffect(()=>{x.current&&setTimeout(()=>{var u,A;me((u=x.current)==null?void 0:u.getBBox()),ge((A=x.current)==null?void 0:A.getBoundingClientRect())},100)},[j]),o.useEffect(()=>{var A,W;if(!x.current)return;me((A=x.current)==null?void 0:A.getBBox()),ge((W=x.current)==null?void 0:W.getBoundingClientRect()),new ResizeObserver(()=>{var Q,U;me((Q=x.current)==null?void 0:Q.getBBox()),ge((U=x.current)==null?void 0:U.getBoundingClientRect())}).observe(x.current)},[x.current]),o.useEffect(()=>{Y&&(je(),O&&O(!1))},[Y]);const je=()=>{var Q;const u=(Q=L.current)==null?void 0:Q.getBoundingClientRect();if(!u){h&&h(s),F(!1);return}const A=ye.map(U=>{const H=U.getBoundingClientRect();return{id:U.id.split("-")[1],x:(H.x+H.width/2-u.x)/i,y:(H.y+H.height/2-u.y)/i}}),W=s.map(U=>{const H=A==null?void 0:A.find(ce=>ce.id.toString()===U.id.toString());return H?v(v({},U),H):U});De(W),h&&h(W.length?W.map((U,H)=>({id:U.id,x:U.x,y:U.y,order:H})):s),F(!1)},Le=u=>u.map(A=>{const{render:W,renderData:Q}=A,U=A.x*i,H=A.y*i;return t.jsx(Qt,{className:"track-map-marker-tooltip",placement:"top",title:W(Q,v({},A)),open:!!Q,style:{zIndex:9999},children:t.jsx("circle",{id:`mark-${A.id}`,cx:U,cy:H,r:r/2,style:{stroke:"#1F66E100",strokeWidth:2,fill:"#fff0"},children:t.jsx("span",{children:Q.label})})},A.id)}),ve=ne?{x:ne.x+ne.width/2,y:ne.y+ne.height/2}:{x:0,y:0},be=_.reduce((u,A)=>[Math.min(u[0],A.x),Math.max(u[1],A.x)],[0,0]),ke=_.reduce((u,A)=>[Math.min(u[0],A.y),Math.max(u[1],A.y)],[0,0]);return t.jsx(k.ConfigProvider,{prefixCls:"g-rc",children:t.jsxs("div",{className:"track-map",style:{width:"100%",height:"100%"},ref:D,children:[t.jsx("svg",{style:a,ref:L,viewBox:`0 0 ${e} ${M}`,children:t.jsxs("g",{ref:x,x:be[0],y:ke[0],width:be[1]-be[0],height:ke[1]-ke[0],style:{transformOrigin:`${ve.x}px ${ve.y}px`,cursor:q?"url('./images/icon-move.svg') 16 16, move":"unset",transform:j&&j.scale?`${j.translate?` translate(${j.translate[0]}px, ${j.translate[1]}px)`:""} rotate(${j.rotate}rad)${j.scale?` scale(${j.scale[0]}, ${j.scale[1]})`:""}`:"none"},children:[ne&&t.jsx("rect",{x:ne.x,y:ne.y,width:ne.width,height:ne.height,fill:"#ff000004"}),t.jsx("g",{className:"track-lines",children:Ze((_==null?void 0:_.filter(u=>u.order>-1))||[],i)}),t.jsxs("g",{className:"track-points",children:[ae,ze]}),y&&t.jsx("g",{children:Le(y)})]})}),t.jsx("div",{className:"tooltip-container",ref:b,style:{position:"fixed",top:(oe==null?void 0:oe.y)||0,left:(oe==null?void 0:oe.x)||0,width:(oe==null?void 0:oe.width)||0,height:(oe==null?void 0:oe.height)||0}}),q&&x.current&&L.current&&t.jsx(un,{className:"path-moveable-control-box",ref:u=>{re(u)},keepRatio:I,target:[x.current],draggable:!0,scalable:!0,rotatable:!0,padding:{left:10,right:10,top:10,bottom:10},onDrag:({target:u,beforeDelta:A,beforeDist:W,left:Q,top:U,right:H,bottom:ce,delta:Ue,dist:he,transform:pe,clientX:nt,clientY:Mt})=>{ue(he),u.style.transform=pe},onDragStart:({inputEvent:u})=>{u.stopPropagation()},onDragEnd:()=>{var A;const u=(A=x.current)==null?void 0:A.getElementsByTagName("circle");$(u!=null&&u.length?[...u]:[]),E&&E({rotate:B,translate:V,scale:T},u!=null&&u.length?[...u]:[],L.current||void 0)},renderDirections:I?["nw","ne","sw","se"]:["n","w","e","s","nw","ne","sw","se"],onScale:({target:u,scale:A,transform:W})=>{var U;f(A),u.style.transform=W;const Q=(U=x.current)==null?void 0:U.getElementsByTagName("circle");$(Q!=null&&Q.length?[...Q]:[]),E&&E({rotate:B,translate:V,scale:A},Q!=null&&Q.length?[...Q]:[],L.current||void 0)},onRotate:({target:u,dist:A,transform:W})=>{var U;Z(A),u.style.transform=W;const Q=(U=x.current)==null?void 0:U.getElementsByTagName("circle");$(Q!=null&&Q.length?[...Q]:[]),E&&E({rotate:A,translate:V,scale:T},Q!=null&&Q.length?[...Q]:[],L.current||void 0)},onRenderEnd:()=>{var A,W,Q;const u=(A=x.current)==null?void 0:A.getElementsByTagName("circle");E&&E({rotate:B,translate:V,scale:T},u!=null&&u.length?[...u]:[],L.current||void 0),me((W=x.current)==null?void 0:W.getBBox()),ge((Q=x.current)==null?void 0:Q.getBoundingClientRect())}})]})})},Ct=n=>{const{name:e,type:M,style:s,className:i,children:r,onConfirm:c}=n,[l,a]=o.useState(null);return o.useEffect(()=>{if(!n.confirm){a(null);return}if(n.confirm===!0){a({text:`确认${e}吗?`});return}a(n.confirm)},[n.confirm]),l?t.jsx(yn,{rootClassName:"track-map-popconfirm",okText:"确定",cancelText:"取消",title:l.text,trigger:"click",onConfirm:c,children:t.jsx(Xe,{className:i,type:M,style:v({},s),children:r||e})}):t.jsx(Xe,{className:i,type:M,onClick:c,children:r||e})};let St;const DM=o.forwardRef((n,e)=>{var ot,it,rt,ct,at,lt,zt,jt,Nt,ut,gt,dt,yt,Dt,It,xt,Tt,wt,At,mt,ft;const{url:M,points:s,pointSize:i,direction:r,activePointId:c,lineStyle:l,pointStyle:a,directionStyle:z,onPointClick:N,passes:g,activePassId:y,passStyle:d,activePassStyle:j,marks:I,draggable:w=!1,offsetEdge:E=[50,50,50,50],zoomable:h=!1,zoomStep:m=.02,zoomMax:p=2,zoomMin:O=0,onImageLoad:Y,trackEditable:D,trackEditing:S,keepRatio:x,transform:L,onTrackEditingChange:b,onTransform:J,onPointsChange:re,actions:T=!0}=n,f=o.useRef({}),B=o.useRef({}),[Z,V]=o.useState(0),[ue,ae]=o.useState(0),[G,C]=o.useState(1),[te,ze]=o.useState(0),[K,q]=o.useState(0),[F,ye]=o.useState(0),[$,_]=o.useState(0),[De,Te]=o.useState(!1),[Fe,ne]=o.useState(!1),[me,oe]=o.useState(),[ge,Se]=o.useState({x:0,y:0}),[Ge,fe,Ze,Oe]=E,[je,Le]=o.useState(S),[ve,be]=o.useState(1),[ke,Qe]=o.useState(!1),[u,A]=o.useState(typeof T!="boolean"?T:T===!0?{}:null);o.useEffect(()=>{be(Math.round(G*100)/100)},[G]),o.useEffect(()=>{Le(S)},[S]),o.useEffect(()=>{St=new ResizeObserver(W),St.observe(B.current);const R=P=>(P.preventDefault(),!1);return B.current.addEventListener("wheel",R),()=>{B.current.removeEventListener("wheel",R)}},[]);const W=()=>{if(!B.current)return;const R=B.current.clientWidth,P=B.current.clientHeight,ee=f.current.naturalWidth,Me=f.current.naturalHeight,we=R/ee,Ve=P/Me,Be=we<Ve?we:Ve,Kt=(R-ee*Be)/2,qt=(P-Me*Be)/2,en=ee*Be,tn=Me*Be;V(R),ae(P),C(Be),ze(Kt),q(qt),ye(en),_(tn),Te(!0),Y&&Y(f.current)},Q=()=>{if(!h||G>=p)return;let R=G*(1+m),P=m;R>=p&&(R=p,P=p/G-1),ze(te-F*(P/2)),q(K-$*(P/2)),ye(F+F*P),_($+$*P),C(R),pe()},U=()=>{if(!h||G<=O)return;let R=G*(1-m),P=m;R<=O&&(R=O,P=1-O/G),ze(te-F*(-P/2)),q(K-$*(-P/2)),ye(F+F*-P),_($+$*-P),C(R),pe()};o.useImperativeHandle(e,()=>({zoomIn:Q,zoomOut:U}));const H=R=>(R.nativeEvent.deltaY<0?Q():U(),!1),ce=R=>{ne(!0);const{pageX:P,pageY:ee}=R;Se({x:P,y:ee})},Ue=R=>{if(!Fe)return!1;const{pageX:P,pageY:ee}=R,Me=P-ge.x,we=ee-ge.y;Se({x:P,y:ee}),ze(te+Me),q(K+we),pe()},he=()=>{ne(!1)};window.onmouseup=()=>{ne(!1)};const pe=()=>{te<-F+Oe&&ze(-F+Oe),K<-$+Ge&&q(-$+Ge),te>Z-fe&&ze(Z-fe),K>ue-Ze&&q(ue-Ze)},nt=()=>{Le(!je),b&&b(!je)},Mt=R=>{const{touches:P}=R;if(console.log("onTouchStart"),console.log(P),ne(!0),P.length<2){const{clientX:ee,clientY:Me}=P[0];Se({x:ee,y:Me})}else oe(P)},Jt=R=>{if(!Fe||!R.touches)return!1;const{clientX:P,clientY:ee}=R.touches[0];if(R.touches.length<2){const Me=P-ge.x,we=ee-ge.y;Se({x:P,y:ee}),ze(te+Me),q(K+we),pe()}else{console.log("onTouchMove"),console.log(R.touches);const Me=R.touches,we=st(Me[0],Me[1]),Ve=st(me[0],me[1]);we>Ve?Q():U()}},st=(R,P)=>{const ee=P.pageX-R.pageX,Me=P.pageY-R.pageY;return Math.sqrt(ee*ee+Me*Me)};o.useEffect(()=>{A(typeof T!="boolean"?T:T===!0?{}:null)},[T]);const _t=()=>{Le(!1),b&&b(!1)},Xt=()=>{Qe(!0)};return t.jsxs("div",{className:"image-map",ref:B,onMouseDown:w?ce:void 0,onMouseMove:w?Ue:void 0,onMouseUp:w?he:void 0,onWheel:w?H:void 0,onTouchStart:w?Mt:void 0,onTouchMove:w?Jt:void 0,onTouchEnd:w?he:void 0,children:[t.jsx("img",{className:"img",style:{position:"absolute",left:te,top:K,width:F,height:$},ref:f,onLoad:W,src:M,alt:""}),De&&(g==null?void 0:g.length)&&t.jsx($t,{style:{position:"absolute",left:te,top:K,width:F,height:$},passes:g,scale:G,activePassId:y,passStyle:d,activePassStyle:j}),De&&!!(s!=null&&s.length)&&t.jsx(Ht,{style:{position:"absolute",left:te,top:K,width:F,height:$,overflow:"visible"},width:f.current.naturalWidth,height:f.current.naturalHeight,transform:L,movable:je,resizable:je,points:s,scale:G,pointSize:i,direction:r,activePointId:c,lineStyle:l,pointStyle:a,directionStyle:z,keepRatio:x,marks:I,onPointClick:N,onTransform:J,onPointsChange:R=>{re&&re(R),Le(!1),b&&b(!1)},onCancelResize:()=>{Le(!1),b&&b(!1)},actions:T,setIsSaved:Qe,isSaved:ke}),D&&t.jsxs("div",{className:"image-map-toolbar",children:[t.jsx(Ft,{className:"zoom-controller",value:ve,min:O,max:p,step:m,showText:!0,onChange:R=>{ve>R?U():Q()}}),D&&(je&&T?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"line"}),t.jsxs("div",{className:"editing-controller",children:[t.jsx(Ct,{children:typeof T!="boolean"&&((ot=T.cancelButton)==null?void 0:ot.children)||void 0,name:typeof T!="boolean"&&((it=T.cancelButton)==null?void 0:it.text)||"退出编辑",className:`editing-controller${je?" active":""} ${typeof T!="boolean"&&((rt=T.cancelButton)==null?void 0:rt.className)||""}`,confirm:((ct=u==null?void 0:u.cancelButton)==null?void 0:ct.confirm)===!0?{text:"调整记录将不被保存"}:(at=u==null?void 0:u.cancelButton)!=null&&at.confirm?u.cancelButton.confirm:!1,style:typeof T!="boolean"&&((lt=T.cancelButton)==null?void 0:lt.style)||void 0,onConfirm:_t}),t.jsx(Ct,{type:"primary",children:typeof T!="boolean"&&((zt=T.okButton)==null?void 0:zt.children)||t.jsxs("div",{className:"save-detail",children:[t.jsx(Ae.SaveOutlined,{}),t.jsx("span",{children:"保存"})]}),name:typeof T!="boolean"&&((jt=T.okButton)!=null&&jt.confirm)?((Nt=T.okButton)==null?void 0:Nt.text)||"保存":"确定",className:`editing-controller${je?" active":""} ${typeof T!="boolean"&&((ut=T.okButton)==null?void 0:ut.className)||""}`,confirm:((gt=u==null?void 0:u.okButton)==null?void 0:gt.confirm)===!0?{text:"调整记录保存后,将改变当前巡检数据状态"}:(dt=u==null?void 0:u.okButton)!=null&&dt.confirm?u.okButton.confirm:!1,style:typeof T!="boolean"&&((yt=T.okButton)==null?void 0:yt.style)||void 0,onConfirm:Xt})]})]}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"line"}),t.jsx("div",{className:"moveable-controller",children:t.jsx(Xe,{title:je?typeof T!="boolean"&&((Dt=T.editButton)==null?void 0:Dt.exitTitleText)||"退出编辑":typeof T!="boolean"&&((It=T.editButton)==null?void 0:It.titleText)||"调整轨迹",className:`moveable-controller-btn${je?" active":""} ${typeof T!="boolean"&&((xt=T.editButton)==null?void 0:xt.className)||""}`,style:typeof T!="boolean"&&((Tt=T.editButton)==null?void 0:Tt.style)||void 0,onClick:nt,children:typeof T!="boolean"?(wt=T.editButton)!=null&&wt.children?(At=T.editButton)==null?void 0:At.children:(mt=T.editButton)!=null&&mt.text?t.jsx("span",{children:(ft=T.editButton)==null?void 0:ft.text}):t.jsxs("div",{className:"btn-change",children:[t.jsx(se,{type:"icon-tiaozheng"}),t.jsx("span",{children:"修改"})]}):void 0})})]}))]})]})}),IM=n=>{const{className:e,style:M,length:s=0,current:i=0,speed:r=2e3,play:c=!1,loop:l=!1,loading:a=!1,onChange:z}=n,[N,g]=o.useState(c),[y,d]=o.useState(i),[j,I]=o.useState(null);o.useEffect(()=>{d(i)},[i]),o.useEffect(()=>{g(c)},[c]),o.useEffect(()=>{N?w():y>=s-1&&(d(0),z(0))},[N]),o.useEffect(()=>{N&&(a?j&&(clearTimeout(j),I(null)):I(setTimeout(w,r)))},[a]);const w=()=>{d(m=>m<s-1?(z(m+1),m+1):l?(z(0),0):(h(),m))},E=()=>{y>=s-1&&d(0),g(!0)},h=()=>{g(!1),j&&(clearTimeout(j),I(null))};return t.jsxs("div",{className:e,style:M,children:[t.jsx(Ne,{disabled:y<=0||a,onClick:()=>{z(0),d(0)},children:t.jsx(se,{type:"icon-diyige"})}),t.jsx(Ne,{disabled:y<=0||a,onClick:()=>{z(y-1),d(y-1)},children:t.jsx(se,{type:"icon-qianyige"})}),N?t.jsx(Ne,{onClick:h,children:t.jsx(se,{type:"icon-zanting"})}):t.jsx(Ne,{disabled:y>=s-1||a,onClick:E,children:t.jsx(se,{type:"icon-bofang"})}),t.jsx(Ne,{disabled:y>=s-1||a,onClick:()=>{z(y+1),d(y+1)},children:t.jsx(se,{type:"icon-xiayige"})}),t.jsx(Ne,{disabled:y>=s-1||a,onClick:()=>{z(s-1),d(s-1)},children:t.jsx(se,{type:"icon-zuihouyige"})})]})};const xM=16,TM=16,wM=-1,AM=1,mM=-1,fM=1,LM=n=>{const e=n||window.event,M=n.target||n.srcElement;if(e.offsetX)return e.offsetX;{const s=M.getBoundingClientRect();return e.clientX-s.left}},hM=n=>{const e=n||window.event,M=n.target||n.srcElement;if(e.offsetY)return e.offsetY;{const s=M.getBoundingClientRect();return e.clientY-s.top}},YM=n=>{const e=n.split("-");let M=e.length>1||e[0]==="left"||e[0]==="right"?e[0]:"center",s=e.length>1?e[1]:e[0]==="top"||e[0]==="bottom"?e[0]:"middle";return[M,s]},pM=(n,e,M=[xM,TM])=>{const s=()=>{switch(n[0]){case"left":return wM;case"right":return AM;default:return 0}},i=()=>{switch(n[1]){case"top":return mM;case"bottom":return fM;default:return 0}},r=()=>{switch(n[0]){case"left":return-((e==null?void 0:e.width)||0)-M[0]-2;case"right":return 0;default:return-((e==null?void 0:e.width)||0)/2}},c=()=>{switch(n[1]){case"top":return-M[1]-2;case"bottom":return(e==null?void 0:e.height)||0;default:return((e==null?void 0:e.height)||0)/2}};return{x:M[0]*s()+r(),y:M[1]*i()+c()}},EM=n=>{var p;const{children:e,defaultPosition:M,forElement:s,placement:i="right-bottom",curserPosition:r,className:c,style:l}=n,a=o.useRef(null),z=o.useRef(null),N=s||document.body,g=YM(i),y=pM(g,(p=z.current)==null?void 0:p.getBoundingClientRect(),r),[d,j]=o.useState(n.visible||!0),[I,w]=o.useState(M||{x:-2e3,y:-2e3});o.useEffect(()=>(N.addEventListener("mouseenter",E),N.addEventListener("mousemove",m),N.addEventListener("mouseleave",h),()=>{N.removeEventListener("mouseenter",E),N.removeEventListener("mousemove",m),N.removeEventListener("mouseleave",h)}),[N]),o.useEffect(()=>{j(n.visible||!0)},[n.visible]);const E=()=>{j(!0)},h=()=>{j(!1)},m=O=>{let Y=LM(O)+y.x;const D=hM(O)+y.y;w({x:Y,y:D})};return t.jsx("div",{className:`g-mouse-tip ${g.join(" ")}`,ref:a,style:{left:`${I.x}px`,top:`${I.y}px`,visibility:`${d?"visible":"hidden"}`},children:t.jsx("div",{className:`g-mouse-tip-content ${c}`,style:l,ref:z,children:e})})},Ft=n=>{const{className:e,style:M,value:s,min:i,max:r,step:c=1,onChange:l,showText:a=!1}=n,[z,N]=o.useState(s!=null?s:0);return o.useEffect(()=>{N(s!=null?s:0)},[s]),t.jsxs("div",{className:e,style:M,children:[t.jsx(Ne,{disabled:!!(r&&r<=z),onClick:()=>{l(z+c),N(z+c)},children:t.jsx(se,{type:"icon-fangda"})}),a&&t.jsxs("div",{style:{width:40,textAlign:"center"},children:[Math.round(z*100),"%"]}),t.jsx(Ne,{disabled:!!(i&&i>=z),onClick:()=>{l(z-c),N(z-c)},children:t.jsx(se,{type:"icon-suoxiao"})})]})};function CM(n,e){var M=document.getElementsByTagName("body")[0],s=document.createElement("script");s.setAttribute("type","text/javascript"),s.setAttribute("src",n),M.appendChild(s),s.onload=e}function SM(n){const[e,M]=o.useState(!1),[s,i]=o.useState(),[r,c]=o.useState(),[l,a]=o.useState(!1),[z,N]=o.useState(),[g,y]=o.useState([]),[d,j]=o.useState(0);function I(D){if(D.viewType!="3DView"){console.error("bimface view type is not 3DView");return}M(!0),z&&w(D.viewToken)}const w=D=>{if(!s){let S=z,x=new window.Glodon.Bimface.Application.WebApplication3DConfig;x.domElement=S,x.Toolbars=[];const L=new window.Glodon.Bimface.Application.WebApplication3D(x);L.addView(D),i(L);const b=L.getViewer();b.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded,function(){window.onresize=function(){b.resize(document.documentElement.clientWidth,document.documentElement.clientHeight-40)},b.setCameraAnimation(!1),b.render(),b.setNavigationMode(window.Glodon.Bimface.Viewer.NavigationMode3D.Walk),b.render(),a(!0)}),b.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ModelAdded,()=>{j(J=>J+1)}),c(b)}};o.useEffect(()=>{l&&g.forEach(D=>{r.loadModel({viewToken:D})})},[l,g]),o.useEffect(()=>{},[d]),o.useEffect(()=>{if(!z||!g.length)return;const D=g.pop();D&&h(D),y([...g])},[z]);function E(D){console.log(D)}function h(D){j(0);const S=()=>{let x=new window.BimfaceSDKLoaderConfig;x.viewToken=D,window.BimfaceSDKLoader.load(x,I,E)};if(!window.BimfaceSDKLoaderConfig){CM("https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js",S);return}S()}const m=(D,S)=>{if(!r||!l||!z){console.error("BIMFace viewer is not ready.");return}const x=z.getElementsByTagName("canvas")[0],L=document.createElement("canvas");L.width=x.width,L.height=x.height;const b=L.getContext("2d");return b&&(b.fillStyle="#fff",b.fillRect(0,0,L.width,L.height),b.drawImage(x,0,0,x.width,x.height)),L.toDataURL(D,S)},p=D=>{if(!r){console.error("viewer is not ready");return}if(d&&g.length+1===d||!g.length)r.getAllModels().map(L=>r._models[L.modelId]).forEach(L=>{let b=new window.Glodon.Web.Graphics.Color(D);L.overrideAllComponentsColor&&L.overrideAllComponentsColor(b)}),r.enableWireframe(!0),r.getLightManager().getAllFillLights().forEach(L=>L.enableLight(!0)),r.render();else{console.error("viewer is not render complete");return}},O=D=>{if(r)if(d&&g.length+1===d||!g.length)r.getAllModels().map(L=>r._models[L.modelId]).forEach(L=>{Object.keys(D).forEach(b=>{let J=[{categoryId:b}];L.getComponentsByConditions(J,function(re){let T=new window.Glodon.Web.Graphics.Color(D[b]);L.overrideComponentsColorById&&L.overrideComponentsColorById(re,T)},function(){window.alert("error")})})}),r.enableWireframe(!1),r.getLightManager().getAllFillLights().forEach(L=>L.enableLight(!1)),r.render();else{console.error("viewer is not render complete");return}};function Y(D,S,x){const L=r.getModel();L==null||L.getBoundingBox(({currentBoundingBox:b})=>{const J=b.max.x-b.min.x,re=b.max.y-b.min.y,T=J/re;let f,B;T>1?(f=S.width,B=f/T):(B=S.height,f=B*T);const Z=document.createElement("div");Z.setAttribute("style",`width: ${f}px;height: ${B}px`),document.body.appendChild(Z);const V=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewerConfig;V.domElement=Z;const ue=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewer(V),ae=new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMapConfig;ae.viewer=r,ae.mapViewer=ue,ae.type="SetProfile",ae.height=D,ae.successCallback=G=>{setTimeout(()=>{const C=new Image;C.src=Z.getElementsByTagName("image")[0].getAttribute("href")||"",C.onload=()=>{x(C)}},200)},new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMap(ae)})}return{BimfaceViewer:e&&window.Glodon.Bimface.Viewer,BimfaceSection:e&&window.Glodon.Bimface.Plugins.Section,BimfaceMark:e&&window.Glodon.Bimface.Plugins.Marker3D,BimfaceViewerEvents:e&&window.Glodon.Bimface.Viewer.Viewer3DEvent,viewer:r,viewerAdded:l,sDKLoaded:e,loadedModelCount:d,loadModels:D=>{if(D!=null&&D.length||console.error("viewTokens is Empty"),!r&&z){const S=D[0];h(S)}y(D)},setContainerDom:N,getSnapshot:m,setComponentsColorByCatgryId:O,setAllComponentsColor:p,navigationMapByHeight:Y}}function OM(n){const{url:e,onScaleChange:M,onLoad:s}=n,i=o.useRef(null),r=Ut.useSize(i),c=r==null?void 0:r.width,l=r==null?void 0:r.height,[a,z]=o.useState();return o.useEffect(()=>{c&&l&&a&&M(c/a.width,c,l)},[c,l,a]),t.jsx("img",{ref:i,src:e,className:"select-none",style:{maxWidth:"100%",maxHeight:"100%",cursor:"crosshair"},alt:"",onLoad:()=>{if(i.current){s&&s(i.current);const{naturalWidth:N,naturalHeight:g}=i.current;z({width:N,height:g})}}})}function Ot(n){const{start:e,end:M}=n,{options:{lineColor:s,lineWidth:i}}=o.useContext(We);return t.jsx(t.Fragment,{children:t.jsx("line",{x1:e.x,y1:e.y,x2:M.x,y2:M.y,stroke:s!=null?s:"#FF5500",strokeWidth:i!=null?i:2})})}function vt(n){const{markRenderer:e,marker:M}=n,{point:{x:s,y:i}}=M;return t.jsxs("g",{children:[t.jsx("line",{}),t.jsx("line",{}),t.jsx("circle",{cx:s,cy:i,r:1,fill:"transparent"}),t.jsx("foreignObject",{x:s,y:i,width:0,height:0,fill:"green",className:"relative overflow-visible",children:t.jsx("div",{className:"inline-flex absolute",draggable:!0,onDragStart:()=>{},onDragEnd:()=>{},children:e&&e(M)})})]})}function bt(n){const{points:e,editing:M,options:s,onClose:i}=n,[r,c]=o.useState(!1),{options:{polygon:l}}=o.useContext(We);if(!M&&Ke(e)<=2)return null;const a=xn(e),z=e.map(({x:h,y:m})=>`${h},${m}`).join(" "),N=a?`${z} ${a.x},${a.y}`:z,{showVertexIndex:g,vertexBgColor:y,vertexTextColor:d}=l!=null?l:{},j=g?10:5,I=M||g,{hideBorder:w,backgroundColor:E}=s!=null?s:{};return t.jsxs(t.Fragment,{children:[t.jsx("polygon",{points:`${N}`,fill:E!=null?E:"rgba(255, 66, 66, 0.15)"}),!w&&t.jsx("polyline",{points:M?z:N,fill:"transparent",stroke:"#FF5500",strokeDasharray:"6 4",strokeWidth:"2"}),!w&&(e==null?void 0:e.map(({x:h,y:m},p)=>{const O=p===Ke(e)-1;return t.jsx("g",{style:{zIndex:O?1:100,cursor:"pointer",pointerEvents:O?"none":"bounding-box"},onMouseEnter:Y=>{O||c(!0)},onMouseLeave:Y=>{c(!1)},onClick:Y=>{Y.stopPropagation()},onDoubleClick:Y=>{Y.stopPropagation(),i&&i(p)},children:I&&(!O||!r)&&t.jsxs(t.Fragment,{children:[t.jsx("circle",{cx:h,cy:m,r:j,fill:y!=null?y:"#FF5500"}),g&&t.jsx("text",{x:h,y:m,"text-anchor":"middle",fill:d!=null?d:"#fff",dy:".3em",style:{cursor:"pointer",userSelect:"none"},children:p+1})]})})}))]})}const vM=He.createMachine({initial:"idle",context:{},states:{idle:{on:{START_ADD_MARKER:{target:"addingMarker"},START_DRAW_LINE:{target:"drawingLine"},START_DRAW_POLYGON:{target:"drawingPolygon"}}},addingMarker:{on:{RESET:{target:"idle",actions:Ie.assign(n=>{n.markerPoint=void 0})},ADD_MARKER:{target:"drawCompleted",actions:[Ie.assign((n,{point:e})=>{n.markerPoint=e}),"onAddMarker"]},MOUSE_MOVE:{target:"addingMarker",actions:Ie.assign((n,{point:e})=>{n.movingPoint=e})}}},drawingLine:{on:{ADD_LINE_START:{target:"drawingLine",actions:Ie.assign((n,e)=>{n.lineStart=e.point})},ADD_LINE_END:{target:"drawCompleted",actions:[Ie.assign((n,e)=>{n.lineEnd=e.point}),"onAddLine"]},MOUSE_MOVE:{target:"drawingLine",actions:Ie.assign((n,{point:e})=>{n.movingPoint=e})},RESET:{target:"drawCompleted"},CANCEL:{target:"drawCompleted"}}},drawingPolygon:{on:{CANCEL:{target:"canceled"},RESET:{target:"idle",actions:Ie.assign(n=>{n.polygonPoints=void 0})},ADD_POLYGON_POINT:{target:"drawingPolygon",actions:Ie.assign((n,{point:e})=>{var M;n.polygonPoints=(M=n.polygonPoints)!=null?M:[],n.polygonPoints.push(e)})},MOUSE_MOVE:{target:"drawingPolygon",actions:Ie.assign((n,{point:e})=>{n.movingPoint=e})},DRAW_POLYGON_COMPLETE:{target:"drawCompleted",actions:["onAddPolygon"]}}},drawCompleted:{always:{target:"idle"}},canceled:{}}});function bM(n){const{state:e,scale:M,width:s,height:i,drawOptions:r,lines:c,polygons:l,markers:a,markRenderer:z,onAddLine:N,onAddPolygon:g,onAddMarker:y,onStateChange:d}=n,[j,I]=o.useState([]),[w,E]=o.useState([]),[h,m]=o.useState([]),p=o.useRef(null),{width:O,height:Y}=Ut.useSize(p)||{};function D({x:f,y:B}){return{x:f/M,y:B/M}}function S({x:f,y:B}){return{x:f*M,y:B*M}}const[x,L]=In.useMachine(vM,{actions:{onAddMarker:He.assign(({markerPoint:f})=>(y&&f&&y(D(f)),{markerPoint:void 0,movingPoint:void 0})),onAddLine:He.assign(f=>(f.lineStart&&f.lineEnd&&N&&N(D(f.lineStart),D(f.lineEnd)),{lineEnd:void 0,lineStart:void 0,movingPoint:void 0})),onAddPolygon:He.assign(({polygonPoints:f})=>(g&&f&&f.length>2&&g(f.map(D)),{polygonPoints:void 0,movingPoint:void 0}))},services:{}});o.useEffect(()=>{var f;I((f=c==null?void 0:c.map(({id:B,start:Z,end:V})=>({id:B,start:S(Z),end:S(V)})))!=null?f:[])},[c]),o.useEffect(()=>{var f;m((f=a==null?void 0:a.map(B=>ie(v({},B),{point:S(B.point)})))!=null?f:[])},[a]),o.useEffect(()=>{var f;E((f=l==null?void 0:l.map(({id:B,points:Z,options:V})=>({id:B,points:Z.map(S),options:V})))!=null?f:[])},[l,M]),o.useEffect(()=>{d&&x.matches("idle")&&d("viewOnly")},[x.value]),o.useEffect(()=>{if(d)switch(e){case"drawingLine":L("START_DRAW_LINE");break;case"drawingPolygon":L("START_DRAW_POLYGON");break;case"addingMarker":L("START_ADD_MARKER");break}},[e]);const{lineStart:b,lineEnd:J,polygonPoints:re,movingPoint:T}=x.context;return t.jsx(We.Provider,{value:{options:r!=null?r:{}},children:t.jsx("div",{ref:p,className:"w-full h-full absolute left-0 top-0",style:{cursor:e==="viewOnly"?void 0:"crosshair",width:s,height:i},children:O&&Y&&t.jsxs("svg",{viewBox:`0 0 ${O} ${Y}`,version:"1.1",className:"absolute inset-0",onClick:f=>{if(!p.current)return;const{top:B,left:Z}=p.current.getBoundingClientRect(),V={x:f.clientX-Z,y:f.clientY-B};x.matches("drawingLine")?L(b===void 0?{type:"ADD_LINE_START",point:V}:{type:"ADD_LINE_END",point:V}):x.matches("drawingPolygon")?L({type:"ADD_POLYGON_POINT",point:V}):x.matches("addingMarker")&&L({type:"ADD_MARKER",point:V})},onMouseMove:f=>{if(!p.current)return;const{top:B,left:Z}=p.current.getBoundingClientRect(),V={x:f.clientX-Z,y:f.clientY-B};L({type:"MOUSE_MOVE",point:V})},children:[j==null?void 0:j.map((f,B)=>t.jsx(Ot,v({},f),B)),b&&T&&t.jsx(Ot,{start:b,end:T}),w==null?void 0:w.map(({points:f,options:B},Z)=>t.jsx(bt,{editing:!1,points:f,options:B},Z)),Ke(re)>0&&T&&t.jsx(bt,{editing:!0,points:[...re,T],onClose:f=>{L({type:"DRAW_POLYGON_COMPLETE"})}}),h==null?void 0:h.map(f=>t.jsx(vt,{marker:f,markRenderer:z})),x.matches("addingMarker")&&T&&t.jsx(vt,{marker:{id:"addingMarker",point:T}})]})})})}function et(n,e,M){if(M)return Math.abs(et(n,M)-et(e,M));for(var s=Math.atan2(e.y-n.y,e.x-n.x);s<0;)s+=2*Math.PI;return s}const We=o.createContext({options:{}});We.displayName="DrawableContext";function kM(n){const r=n,{url:e}=r,M=Ye(r,["url"]),[s,i]=Dn.useImmer({scale:1,width:0,height:0});return e?t.jsxs("div",{className:"relative bg-pink-500 bg-opacity-40",children:[t.jsx(OM,{url:e,onScaleChange:(c,l,a)=>{i(z=>{z.scale=c,z.width=l,z.height=a})}}),t.jsx(bM,v(v({},M),s))]}):null}exports.Button=Tn;exports.Copy=Rt;exports.DocumentViewer=Vt;exports.DrawableContext=We;exports.DrawableImageMap=kM;exports.ExpandablePannel=jM;exports.IconButton=Ne;exports.Iconfont=se;exports.ImageMap=DM;exports.Markdown=Gt;exports.MarkdownATag=Wt;exports.MarkdownCode=Pt;exports.MarkdownImage=Bt;exports.MarkdownVideo=tt;exports.MouseTip=EM;exports.PanoramaRecordPlayer=IM;exports.PassMap=$t;exports.TrackMap=Ht;exports.Zoom=Ft;exports.calAngle=et;exports.useBimface=SM;
|
|
2
|
+
"use strict";var nn=Object.defineProperty,Mn=Object.defineProperties;var sn=Object.getOwnPropertyDescriptors;var He=Object.getOwnPropertySymbols;var ht=Object.prototype.hasOwnProperty,Yt=Object.prototype.propertyIsEnumerable;var Lt=(n,e,M)=>e in n?nn(n,e,{enumerable:!0,configurable:!0,writable:!0,value:M}):n[e]=M,E=(n,e)=>{for(var M in e||(e={}))ht.call(e,M)&&Lt(n,M,e[M]);if(He)for(var M of He(e))Yt.call(e,M)&&Lt(n,M,e[M]);return n},re=(n,e)=>Mn(n,sn(e));var Ye=(n,e)=>{var M={};for(var s in n)ht.call(n,s)&&e.indexOf(s)<0&&(M[s]=n[s]);if(n!=null&&He)for(var s of He(n))e.indexOf(s)<0&&Yt.call(n,s)&&(M[s]=n[s]);return M};var ye=(n,e,M)=>new Promise((s,i)=>{var r=a=>{try{c(M.next(a))}catch(z){i(z)}},l=a=>{try{c(M.throw(a))}catch(z){i(z)}},c=a=>a.done?s(a.value):Promise.resolve(a.value).then(r,l);c((M=M.apply(n,e)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),on=require("react-markdown"),rn=require("remark-gfm"),cn=require("rehype-raw"),an=require("rehype-external-links"),ln=require("remark-math"),zn=require("rehype-katex");require("katex/dist/katex.min.css");const C=require("antd"),jn=require("antd-mobile"),Nn=require("react-device-detect"),kt=require("react-syntax-highlighter"),Ae=require("@ant-design/icons"),ze=require("@zip.js/zip.js"),Qt=require("antd/es/tooltip"),un=require("react-moveable"),gn=require("deep-object-diff"),dn=require("lodash/debounce"),Xe=require("antd/es/button"),yn=require("antd/es/popconfirm"),Dn=require("use-immer"),Ut=require("ahooks"),In=require("@xstate/react"),Ke=require("lodash/size"),Fe=require("xstate"),xn=require("lodash/first"),Ie=require("@xstate/immer");const Tn=n=>{const c=n,{primary:e=!1,size:M="medium",backgroundColor:s,label:i}=c,r=Ye(c,["primary","size","backgroundColor","label"]),l=e?"storybook-button--primary":"storybook-button--secondary";return t.jsx("button",re(E({type:"button",className:["storybook-button",`storybook-button--${M}`,l].join(" "),style:{backgroundColor:s}},r),{children:i}))};const wn=n=>t.jsx("video",E({style:{maxWidth:"100%",width:560,height:315}},n)),tt=wn;function An(n){const e=n.split(/(```[\s\S]*?```|`[^`]*?`|<code>[\s\S]*?<\/code>)/);let M="";for(let s=0;s<e.length;s++)if(s%2===0){let i=e[s].replaceAll(/\\\[([\s\S]*?)\\\]/g,(r,l)=>`$$${l}$$`).replaceAll(/\\\(([\s\S]*?)\\\)/g,(r,l)=>`$${l}$`);M+=i}else M+=e[s];return M}function mn(n){var l;const e=(()=>{try{return new URL(n)}catch(c){return null}})();if(!e)return null;const s=((l=e.pathname.split(".").pop())==null?void 0:l.toLowerCase())||"",i=["jpg","jpeg","gif","png"],r=["mp4","wmv","avi","mov"];return i.includes(s)?"image":r.includes(s)?"video":null}const fn=n=>{const[e,M]=o.useState(!1),[s,i]=o.useState();return o.useEffect(()=>{n.src&&i(mn(n.src))},[n.src]),s=="video"?t.jsx(tt,{src:n.src,controls:!0}):Nn.isMobile?t.jsxs(t.Fragment,{children:[t.jsx("img",E({style:{maxWidth:"100%"},src:n==null?void 0:n.src,onClick:()=>{M(!0)}},n)),t.jsx(jn.ImageViewer,{image:(n==null?void 0:n.src)||"",visible:e,onClose:()=>{M(!1)}})]}):t.jsx(C.Image,re(E({style:{maxWidth:"100%"},preview:{getContainer:()=>document.body}},n),{onClick:r=>{var l,c,a;(a=n.onClick)==null||a.call(n,re(E({},r),{target:(c=(l=r.target)==null?void 0:l.offsetParent)==null?void 0:c.children[0]}))},onError:()=>{console.log(n),console.warn("图片加载失败")}}))},Bt=fn,Me=Ae.createFromIconfontCN({scriptUrl:new URL("data:application/javascript;base64,d2luZG93Ll9pY29uZm9udF9zdmdfc3RyaW5nXzM5MjkyMDkgPSAnPHN2Zz48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8teGlhIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTkyLjk1NzAzMTI1IDM1NC42NDA2MjVoNDMzLjc0MDIzNDM4YzQyLjEzNDc2NTYzIDAgODAuODQxNzk2ODgtMC4xNTgyMDMxMyAxMTYuMjI2NTYyNDktMC40MjE4NzVDNzc4LjMwODU5Mzc1IDM1My45NTUwNzgxMiA4MDUuODM1OTM3NSAzNTMuNzk2ODc1IDgyNS40NTMxMjUgMzUzLjc5Njg3NWMxMy41IDAgMjQuNzMyNDIxODggMy4xNjQwNjI1IDMzLjc1IDkuNTk3NjU2MjUgOC45NjQ4NDM3NSA2LjQzMzU5Mzc1IDE0Ljk3NjU2MjUgMTQuNTAxOTUzMTMgMTguMDg3ODkwNjMgMjQuMjU3ODEyNSAzLjA1ODU5Mzc1IDkuNzAzMTI1IDMuMDU4NTkzNzUgMjAuNDYwOTM3NS0xZS04IDMyLjE2Nzk2ODc1YTcxLjcxODc1IDcxLjcxODc1IDAgMCAxLTE5LjgyODEyNDk5IDMyLjUzNzEwOTM4Yy0yMS4zMDQ2ODc1IDIwLjU2NjQwNjI1LTQzLjY2NDA2MjUgNDIuODczMDQ2ODgtNjYuOTcyNjU2MjYgNjYuODE0NDUzMTItMjMuMjU1ODU5MzggMjMuOTQxNDA2MjUtNDYuNzIyNjU2MjUgNDguNTY4MzU5MzgtNzAuMjk0OTIxODcgNzMuOTMzNTkzNzUtMjMuNTcyMjY1NjMgMjUuMzEyNS00Ny4xNDQ1MzEyNSA1MC45NDE0MDYyNS03MC43Njk1MzEyNSA3Ni44MzM5ODQzOGwtNjguMTg1NTQ2ODggNzQuNzI0NjA5MzdhODkuMTIxMDkzNzUgODkuMTIxMDkzNzUgMCAwIDEtMzUuMzMyMDMxMjUgMjMuODM1OTM3NWMtMTQuMDgwMDc4MTMgNS4yNzM0Mzc1LTI4LjY4NzUgNy42NDY0ODQzOC00My44MjIyNjU2MiA3LjA2NjQwNjI1YTEzMi4zNjMyODEyNSAxMzIuMzYzMjgxMjUgMCAwIDEtNDQuNjY2MDE1NjMtOS41OTc2NTYyNSA5NC44MTY0MDYyNSA5NC44MTY0MDYyNSAwIDAgMS0zNy4wNzIyNjU2Mi0yNi4zMTQ0NTMxMyA2MzQ3LjYzNjcxODc1IDYzNDcuNjM2NzE4NzUgMCAwIDAtNTcuNjkxNDA2MjUtNjQuNzA1MDc4MTJjLTE5LjM1MzUxNTYzLTIxLjQ2Mjg5MDYzLTM5LjI4NzEwOTM4LTQzLjQ1MzEyNS01OS44MDA3ODEyNS02NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMS0xMzYuMDAxOTUzMTMtMTQ5LjkyMzgyODEyIDk1LjE4NTU0Njg4IDk1LjE4NTU0Njg4IDAgMCAxLTIyLjMwNjY0MDYyLTM3LjE3NzczNDM4QTY0LjE3NzczNDM4IDY0LjE3NzczNDM4IDAgMCAxIDE0Mi44NTkzNzUgMzg4LjAyMTQ4NDM3YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMSAxNi44NzUtMjQuMjA1MDc4MTJjOC42NDg0Mzc1LTYuMTE3MTg3NSAxOS43NzUzOTA2My05LjE3NTc4MTI1IDMzLjIyMjY1NjI1LTkuMTc1NzgxMjV6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXNhbmppYW8tc2hhbmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik04MzEuMDQyOTY4NzUgNjY5LjM1OTM3NUgzOTcuMzAyNzM0MzdjLTQyLjEzNDc2NTYzIDAtODAuODQxNzk2ODggMC4xNTgyMDMxMy0xMTYuMjI2NTYyNDkgMC40MjE4NzUtMzUuMzg0NzY1NjMgMC4yNjM2NzE4OC02Mi45MTIxMDkzOCAwLjQyMTg3NS04Mi41MjkyOTY4OCAwLjQyMTg3NS0xMy41IDAtMjQuNzMyNDIxODgtMy4xNjQwNjI1LTMzLjc1LTkuNTk3NjU2MjVhNDYuNjE3MTg3NSA0Ni42MTcxODc1IDAgMCAxLTE4LjA4Nzg5MDYyLTI0LjI1NzgxMjUgNTYuODQ3NjU2MjUgNTYuODQ3NjU2MjUgMCAwIDEgMC0zMi4xNjc5Njg3NSA3MS43MTg3NSA3MS43MTg3NSAwIDAgMSAxOS44MjgxMjUtMzIuNTM3MTA5MzhjMjEuMzA0Njg3NS0yMC41NjY0MDYyNSA0My42NjQwNjI1LTQyLjg3MzA0Njg4IDY2Ljk3MjY1NjI1LTY2LjgxNDQ1MzEyIDIzLjI1NTg1OTM4LTIzLjk0MTQwNjI1IDQ2LjcyMjY1NjI1LTQ4LjU2ODM1OTM4IDcwLjI5NDkyMTg3LTczLjkzMzU5Mzc1IDIzLjU3MjI2NTYzLTI1LjMxMjUgNDcuMTQ0NTMxMjUtNTAuOTQxNDA2MjUgNzAuNzY5NTMxMjUtNzYuODMzOTg0MzhsNjguMTg1NTQ2ODgtNzQuNzI0NjA5MzdjOS41NDQ5MjE4OC0xMC41OTk2MDkzOCAyMS4zNTc0MjE4OC0xOC41NjI1IDM1LjMzMjAzMTI1LTIzLjgzNTkzNzUgMTQuMDgwMDc4MTMtNS4yNzM0Mzc1IDI4LjY4NzUtNy42NDY0ODQzOCA0My44MjIyNjU2Mi03LjA2NjQwNjI1IDE1LjE4NzUgMC41MjczNDM3NSAzMC4wNTg1OTM3NSAzLjY5MTQwNjI1IDQ0LjY2NjAxNTYzIDkuNTk3NjU2MjUgMTQuNjA3NDIxODggNS44MDA3ODEyNSAyNi45NDcyNjU2MyAxNC42MDc0MjE4OCAzNy4wNzIyNjU2MiAyNi4zMTQ0NTMxMyAxOS4wODk4NDM3NSAyMS42NzM4MjgxMyAzOC4yODUxNTYyNSA0My4yNDIxODc1IDU3LjY5MTQwNjI1IDY0LjcwNTA3ODEyIDE5LjM1MzUxNTYzIDIxLjQ2Mjg5MDYzIDM5LjI4NzEwOTM4IDQzLjQ1MzEyNSA1OS44MDA3ODEyNSA2NS45NzA3MDMxM2E3MzY0Ny42MTUyMzQzOCA3MzY0Ny42MTUyMzQzOCAwIDAgMSAxMzYuMDAxOTUzMTMgMTQ5LjkyMzgyODEyYzExLjIzMjQyMTg4IDEyLjI4NzEwOTM4IDE4LjY2Nzk2ODc1IDI0LjY3OTY4NzUgMjIuMzA2NjQwNjIgMzcuMTc3NzM0MzggMy42OTE0MDYyNSAxMi41NTA3ODEyNSA0LjIxODc1IDIzLjgzNTkzNzUgMS42ODc1IDMzLjg1NTQ2ODc1YTQxLjEzMjgxMjUgNDEuMTMyODEyNSAwIDAgMS0xNi44NzUgMjQuMjA1MDc4MTJjLTguNjQ4NDM3NSA2LjExNzE4NzUtMTkuNzc1MzkwNjMgOS4xNzU3ODEyNS0zMy4yMjI2NTYyNSA5LjE3NTc4MTI1eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nLXp1byIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTEyOCAxOTJoNzY4djY0SDEyOFYxOTJ6IG03Ny4yNDggMzIwbDEwNS40MDggMTA1LjM0NC00NS4zMTIgNDUuMzEyLTEyOC0xMjhhMzIgMzIgMCAwIDEgMC00NS4zMTJsMTI4LTEyOCA0NS4zMTIgNDUuMzEyTDIwNS4yNDggNTEyek04OTYgMzg0SDM4NHY2NGg1MTJWMzg0ek0zODQgNTc2aDUxMnY2NEgzODRWNTc2eiBtNTEyIDE5MkgxMjh2NjRoNzY4di02NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tY29tcGFyZS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNTU0LjY2NjY2NyA4NS4zMzMzMzNoLTg1LjMzMzMzNHY4NTMuMzMzMzM0aDg1LjMzMzMzNFY4NS4zMzMzMzN6TTE3MC42NjY2NjcgMTcwLjY2NjY2N2gyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3djUxMmgyMTMuMzMzMzMzdjg1LjMzMzMzM0gxNzAuNjY2NjY3YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDEtODUuMzMzMzM0LTg1LjMzMzMzM1YyNTZhODUuMzMzMzMzIDg1LjMzMzMzMyAwIDAgMSA4NS4zMzMzMzQtODUuMzMzMzMzek04NTMuMzMzMzMzIDc2OGgtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM2E4NS4zMzMzMzMgODUuMzMzMzMzIDAgMCAwIDg1LjMzMzMzNC04NS4zMzMzMzNWMjU2YTg1LjMzMzMzMyA4NS4zMzMzMzMgMCAwIDAtODUuMzMzMzM0LTg1LjMzMzMzM2gtMjEzLjMzMzMzM3Y4NS4zMzMzMzNoMjEzLjMzMzMzM3Y1MTJ6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLWJpbS1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTQuOTgxNTQ3IDc2OGExMy40ODI2NjcgMTMuNDgyNjY3IDAgMCAxLTEwLjYyNC01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zNTItMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM1Mi0xMy4xODRBMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMSAxNS4wMjQyMTMgMjU2aDE4MS4xMmMzMy43MDY2NjcgMCA2MS4yMjY2NjcgNi4xMDEzMzMgODIuNDMyIDE4LjMwNCAyMS4yNDggMTEuNjkwNjY3IDM2Ljg2NCAyOC4wMzIgNDYuODQ4IDQ4Ljk4MTMzMyAxMC40MTA2NjcgMjAuOTkyIDE1LjYxNiA0NS4zNTQ2NjcgMTUuNjE2IDczLjEzMDY2NyAwIDE4LjU2LTIuOTAxMzMzIDM0LjkwMTMzMy04Ljc0NjY2NiA0OS4wMjQtNS40MTg2NjcgMTMuNjUzMzMzLTEyLjI4OCAyNC44NzQ2NjctMjAuNjA4IDMzLjY2NC03Ljg5MzMzMyA4Ljc0NjY2Ny0xNS43ODY2NjcgMTUuNTczMzMzLTIzLjcyMjY2NyAyMC40OCAxNi4yMTMzMzMgOC43NDY2NjcgMzAuNTkyIDIzLjM4MTMzMyA0My4wOTMzMzMgNDMuODYxMzMzIDEyLjUwMTMzMyAyMC40OCAxOC43NzMzMzMgNDQuODg1MzMzIDE4Ljc3MzMzNCA3My4xMzA2NjcgMCAyOS4yNjkzMzMtNS42NzQ2NjcgNTUuMzgxMzMzLTE2Ljg5NiA3OC4yOTMzMzMtMTEuMjY0IDIyLjkxMi0yNy45MDQgNDAuOTYtNDkuOTYyNjY3IDU0LjEwMTMzNC0yMi4wNTg2NjcgMTIuNjcyLTQ5LjM2NTMzMyAxOS4wMjkzMzMtODEuODM0NjY3IDE5LjAyOTMzM0gxNC45ODE1NDd6IG03MS44NTA2NjYtNzcuNTI1MzMzSDE5MS4xNTIyMTNjMjIuNDg1MzMzIDAgMzkuNTUyLTcuMDgyNjY3IDUxLjItMjEuMjA1MzM0IDExLjY0OC0xNC42MzQ2NjcgMTcuNDkzMzMzLTMyLjIxMzMzMyAxNy40OTMzMzQtNTIuNjkzMzMzIDAtMjEuNDE4NjY3LTYuMDE2LTM5LjI1MzMzMy0xOC4wOTA2NjctNTMuMzc2LTExLjY5MDY2Ny0xNC4xMjI2NjctMjguNTQ0LTIxLjIwNTMzMy01MC42MDI2NjctMjEuMjA1MzMzSDg2LjgzMjIxM3YxNDguNDh6IG0wLTIyNC41NTQ2NjdoOTguMDQ4YzIyLjEwMTMzMyAwIDM4LjUyOC02LjEwMTMzMyA0OS4zNjUzMzQtMTguMzA0IDExLjIyMTMzMy0xMi42NzIgMTYuODUzMzMzLTI5LjAxMzMzMyAxNi44NTMzMzMtNDguOTgxMzMzIDAtMjAuNDgtNS42MzItMzYuMzUyLTE2Ljg1MzMzMy00Ny41MzA2NjctMTAuODM3MzMzLTExLjczMzMzMy0yNy4zMDY2NjctMTcuNTc4NjY3LTQ5LjM2NTMzNC0xNy41Nzg2NjdIODYuODMyMjEzdjEzMi4zOTQ2Njd6TTQ0My4yMjY4OCA3NjhhMTMuNDgyNjY3IDEzLjQ4MjY2NyAwIDAgMS0xMC42NjY2NjctNS4xMiAxOC41MTczMzMgMTguNTE3MzMzIDAgMCAxLTQuMzUyLTEyLjQxNlYyNzMuNDkzMzMzYzAtNC44NjQgMS40NTA2NjctOS4wMDI2NjcgNC4zOTQ2NjctMTIuNDE2YTEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEgMTAuNjI0LTUuMTJoNTguNzA5MzMzYzQuNTY1MzMzIDAgOC4xMDY2NjcgMS43MDY2NjcgMTAuNjI0IDUuMTIgMi45MDEzMzMgMy40MTMzMzMgNC4zNTIgNy41NTIgNC4zNTIgMTIuNDE2Vjc1MC41MDY2NjdhMTguNTE3MzMzIDE4LjUxNzMzMyAwIDAgMS00LjM1MiAxMi40MTYgMTIuMzczMzMzIDEyLjM3MzMzMyAwIDAgMS0xMC42NjY2NjYgNS4xMmgtNTguNjY2NjY3ek02MzAuNDkwODggNzY4YTE0LjA4IDE0LjA4IDAgMCAxLTExLjIyMTMzMy01LjEyIDE4LjQ3NDY2NyAxOC40NzQ2NjcgMCAwIDEtNC4zOTQ2NjctMTIuNDE2VjI3NC4zMDRjMC01LjM3NiAxLjQ1MDY2Ny05Ljc3MDY2NyA0LjM5NDY2Ny0xMy4xODRhMTQuMDggMTQuMDggMCAwIDEgMTEuMjIxMzMzLTUuMTJoNDkuMzY1MzMzYzUuODAyNjY3IDAgMTAuMTk3MzMzIDEuOTYyNjY3IDEzLjA5ODY2NyA1Ljg0NTMzMyAyLjkwMTMzMyAzLjQxMzMzMyA0Ljc3ODY2NyA2LjEwMTMzMyA1LjYzMiA4LjA2NGwxMjAuNTMzMzMzIDI2My4yOTYgMTIxLjgxMzMzNC0yNjMuMjk2YTM1LjkyNTMzMyAzNS45MjUzMzMgMCAwIDEgNS42MzItOC4wNjRjMi45MDEzMzMtMy44ODI2NjcgNy4yNTMzMzMtNS44NDUzMzMgMTMuMDk4NjY2LTUuODQ1MzMzaDQ4LjcyNTMzNGExNC4wOCAxNC4wOCAwIDAgMSAxMS4yNjQgNS4xMmMyLjkwMTMzMyAzLjQxMzMzMyA0LjM1MiA3LjgwOCA0LjM1MiAxMy4xODR2NDc2LjE2YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDE0LjA4IDE0LjA4IDAgMCAxLTExLjI2NCA1LjEyaC01Mi40OGExNC4wOCAxNC4wOCAwIDAgMS0xMS4yMjEzMzQtNS4xMiAyMC40OCAyMC40OCAwIDAgMS0zLjc1NDY2Ni0xMi40MTZ2LTMxNi43MTQ2NjdsLTg3LjQ2NjY2NyAxOTUuMjg1MzM0YTQzLjA1MDY2NyA0My4wNTA2NjcgMCAwIDEtOC4xMDY2NjcgMTEuNjkwNjY2IDE5LjE1NzMzMyAxOS4xNTczMzMgMCAwIDEtMTMuMDk4NjY2IDQuMzk0NjY3aC0yNS42YTIwLjA5NiAyMC4wOTYgMCAwIDEtMTMuNzgxMzM0LTQuMzk0NjY3IDUyLjczNiA1Mi43MzYgMCAwIDEtNy40NjY2NjYtMTEuNjkwNjY2bC04Ny40NjY2NjctMTk1LjI4NTMzNHYzMTYuNzE0NjY3YTE4LjUxNzMzMyAxOC41MTczMzMgMCAwIDEtNC4zNTIgMTIuNDE2IDEzLjQ4MjY2NyAxMy40ODI2NjcgMCAwIDEtMTAuNjY2NjY3IDUuMTJoLTUyLjQzNzMzM3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tb3ZlcmxhcC1pY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNOTM4LjY2NjY2NyA0MDIuMDA1MzMzVjI5OC42NjY2NjdjMC0yOS40ODI2NjctMjMuODkzMzMzLTUzLjMzMzMzMy01My4zMzMzMzQtNTMuMzMzMzM0aC05My4zNTQ2NjZhMTMuMzU0NjY3IDEzLjM1NDY2NyAwIDAgMS0xMy4zMTItMTMuMzU0NjY2VjEzOC42NjY2NjdDNzc4LjY2NjY2NyAxMDkuMTg0IDc1NC43NzMzMzMgODUuMzMzMzMzIDcyNS4zMzMzMzMgODUuMzMzMzMzSDEzOC42NjY2NjdDMTA5LjIyNjY2NyA4NS4zMzMzMzMgODUuMzMzMzMzIDEwOS4xODQgODUuMzMzMzMzIDEzOC42NjY2NjdWNzI1LjMzMzMzM2MwIDI5LjQ0IDIzLjg5MzMzMyA1My4zMzMzMzMgNTMuMzMzMzM0IDUzLjMzMzMzNGg5My4zNTQ2NjZjNy4yOTYgMCAxMy4zMTIgNS45NzMzMzMgMTMuMzEyIDEzLjM1NDY2NnY5My4zMTJjMCAyOS40NCAyMy44OTMzMzMgNTMuMzMzMzMzIDUzLjMzMzMzNCA1My4zMzMzMzRoMTAzLjMzODY2NmEzLjMyOCAzLjMyOCAwIDAgMCAzLjMyOC0zLjMyOHYtNDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4LTMuMzI4SDI5OC42NjY2Njd2LTkzLjM1NDY2NmMwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEySDcyNS4zMzMzMzNjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzRWMzExLjk3ODY2N2MwLTcuMjk2IDUuOTczMzMzLTEzLjMxMiAxMy4zNTQ2NjYtMTMuMzEyaDkzLjMxMnYxMDMuMzM4NjY2YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjhoNDYuNjc3MzM0QTMuMzI4IDMuMzI4IDAgMCAwIDkzOC42NjY2NjcgNDAyLjAwNTMzM3pNNzgxLjk5NDY2NyA5MzguNjY2NjY3aDEwMy4zMzg2NjZjMjkuNDQgMCA1My4zMzMzMzMtMjMuODkzMzMzIDUzLjMzMzMzNC01My4zMzMzMzR2LTEwMy4zMzg2NjZhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHY5MC4wMjY2NjZjMCA3LjI5Ni01Ljk3MzMzMyAxMy4zMTItMTMuMzU0NjY2IDEzLjMxMmgtODkuOTg0YTMuMzI4IDMuMzI4IDAgMCAwLTMuMzI4IDMuMzI4djQ2LjY3NzMzNGMwIDEuODM0NjY3IDEuNDkzMzMzIDMuMzI4IDMuMzI4IDMuMzI4eiIgID48L3BhdGg+PHBhdGggZD0iTTQ4OC42NjEzMzMgOTM4LjY2NjY2N2gyMDYuNjc3MzM0YTMuMzI4IDMuMzI4IDAgMCAwIDMuMzI4LTMuMzI4di00Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjggMy4zMjh2NDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6TTg4OC42NjEzMzMgNjk4LjY2NjY2N2g0Ni42NzczMzRhMy4zMjggMy4zMjggMCAwIDAgMy4zMjgtMy4zMjh2LTIwNi42NzczMzRhMy4zMjggMy4zMjggMCAwIDAtMy4zMjgtMy4zMjhoLTQ2LjY3NzMzNGEzLjMyOCAzLjMyOCAwIDAgMC0zLjMyOCAzLjMyOHYyMDYuNjc3MzM0YzAgMS44MzQ2NjcgMS40OTMzMzMgMy4zMjggMy4zMjggMy4zMjh6IiAgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLXRpYW96aGVuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTUyOS43NDkzMzMgNDIuNjY2NjY3aDEuODc3MzM0bDEuMzIyNjY2IDAuMDg1MzMzIDEuMTUyIDAuMTI4IDEuMzIyNjY3IDAuMTcwNjY3IDIuMDQ4IDAuMzQxMzMzIDEuODM0NjY3IDAuNDI2NjY3IDEuODM0NjY2IDAuNDY5MzMzIDEuNzA2NjY3IDAuNTk3MzMzIDEuMzY1MzMzIDAuNTEyIDEuMzY1MzM0IDAuNjQgMS4yOCAwLjU5NzMzNCAxLjUzNiAwLjg1MzMzMyAxLjE1MiAwLjY4MjY2NyAxLjQwOCAwLjkzODY2NiAxLjQ5MzMzMyAxLjA2NjY2NyAwLjg1MzMzMyAwLjY4MjY2NyAxLjk2MjY2NyAxLjcwNjY2NiAwLjcyNTMzMyAwLjc2OCAxMDkuMDEzMzM0IDEwOC45NzA2NjdhMzYuMzA5MzMzIDM2LjMwOTMzMyAwIDAgMS01MC4yNjEzMzQgNTIuNDhsLTEuMTA5MzMzLTEuMDY2NjY3LTQ1LjE4NC00NS4xODR2MzA1LjkyaDMwOC40MzczMzNsLTQ0LjUwMTMzMy00Mi4wMjY2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA0OC43NjgtNTMuODQ1MzM0bDEuMTA5MzMzIDEuMDI0IDExMC4wOCAxMDQuMDIxMzM0IDEuMTUyIDEuMjM3MzMzIDEuMDY2NjY3IDEuMTk0NjY3IDAuOTM4NjY3IDEuMjM3MzMzIDEuMDY2NjY2IDEuNDkzMzMzIDAuOTM4NjY3IDEuNDkzMzM0IDAuODUzMzMzIDEuNTM2IDAuNjgyNjY3IDEuMjggMC43NjggMS43MDY2NjYgMC44MTA2NjcgMi4wNDggMC4yMTMzMzMgMC42ODI2NjcgMC40MjY2NjcgMS4yOCAwLjM0MTMzMyAxLjQ1MDY2NyAwLjM0MTMzMyAxLjQwOCAwLjI5ODY2NyAxLjcwNjY2NiAwLjIxMzMzMyAxLjcwNjY2NyAwLjE3MDY2NyAxLjgzNDY2NyAwLjA0MjY2NyAxLjQ5MzMzM3YxLjg3NzMzM2wtMC4wODUzMzQgMS4zMjI2NjctMC4xMjggMS4xNTItMC4xMjggMS4zMjI2NjctMC4zODQgMi4wNDgtMC40MjY2NjYgMS44MzQ2NjYtMC40NjkzMzQgMS44MzQ2NjctMC41OTczMzMgMS43MDY2NjctMC41MTIgMS4zNjUzMzMtMC41OTczMzMgMS4zNjUzMzMtMC42NCAxLjI4LTAuODUzMzM0IDEuNTM2LTAuNjgyNjY2IDEuMTUyLTAuOTM4NjY3IDEuNDA4LTEuMDY2NjY3IDEuNDkzMzM0LTAuNjgyNjY2IDAuODUzMzMzLTEuNzA2NjY3IDEuOTYyNjY3LTAuNzI1MzMzIDAuNzI1MzMzLTEwOS4wMTMzMzQgMTA5LjAxMzMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUyLjQ4LTUwLjI2MTMzM2wxLjA2NjY2Ny0xLjEwOTMzMyA0NS4xODQtNDUuMTg0aC0zMDguMzUydjMwOC4zNTJsNDUuMTg0LTQ1LjE4NGEzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxIDUyLjQzNzMzMyA1MC4zMDRsLTEuMDY2NjY2IDEuMTA5MzMzLTEwOS43Mzg2NjcgMTA5LjczODY2Ny0wLjY0IDAuNTU0NjY2LTEuNTM2IDEuMzIyNjY3LTEuNDkzMzMzIDEuMTUyLTEuNTM2IDEuMDI0LTEuNzA2NjY3IDEuMDI0LTEuMTA5MzMzIDAuNjQtMS4xOTQ2NjcgMC41OTczMzMtMS4zNjUzMzMgMC42NC0xLjc5MiAwLjcyNTMzNC0xLjc0OTMzNCAwLjU5NzMzMy0xLjQwOCAwLjM4NC0xLjc5MiAwLjQyNjY2Ny0xLjYyMTMzMyAwLjI5ODY2Ni0xLjg3NzMzMyAwLjI1Ni0xLjgzNDY2NyAwLjE3MDY2Ny0xLjkyIDAuMDg1MzMzaC0xLjQwOGwtMS40MDgtMC4wODUzMzMtMS40MDgtMC4xMjgtMS43NDkzMzMtMC4yMTMzMzMtMS4xNTItMC4yMTMzMzQtMS4wNjY2NjctMC4yMTMzMzMtMS4wNjY2NjctMC4yNTYtMS4yOC0wLjM0MTMzMy0xLjUzNi0wLjQ2OTMzNC0xLjgzNDY2Ni0wLjY4MjY2Ni0xLjUzNi0wLjY0LTEuNzA2NjY3LTAuODUzMzM0LTEuMjgtMC43MjUzMzMtMS41Nzg2NjctMC45Mzg2NjctMS41Nzg2NjYtMS4wNjY2NjYtMS43MDY2NjctMS4yOC0xLjIzNzMzMy0xLjA2NjY2Ny0xLjE5NDY2Ny0xLjEwOTMzMy0xLjA2NjY2Ny0xLjEwOTMzNC0xMDIuOTU0NjY2LTEwOS4wMTMzMzNhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MS43NTQ2NjYtNTAuOTg2NjY3bDEuMDY2NjY3IDEuMTA5MzM0IDQyLjAyNjY2NyA0NC40NTg2NjZ2LTMwOC4zOTQ2NjZIMTg5Ljg2NjY2N2w0NS4xODQgNDUuMTg0QTM2LjM1MiAzNi4zNTIgMCAwIDEgMTg0Ljc0NjY2NyA2NDQuNjkzMzMzbC0xLjEwOTMzNC0xLjA2NjY2Ni0xMDkuNzM4NjY2LTEwOS43Mzg2NjctMC41NTQ2NjctMC42NC0xLjMyMjY2Ny0xLjUzNi0xLjE1Mi0xLjQ5MzMzMy0xLjA2NjY2Ni0xLjUzNi0wLjk4MTMzNC0xLjcwNjY2Ny0wLjY0LTEuMTA5MzMzLTAuNTk3MzMzLTEuMTk0NjY3LTAuNjQtMS4zNjUzMzMtMC43MjUzMzMtMS43OTItMC41OTczMzQtMS43NDkzMzQtMC40MjY2NjYtMS40MDgtMC40MjY2NjctMS43OTItMC4yNTYtMS42NjQtMC4yOTg2NjctMS44MzQ2NjYtMC4xMjgtMS44MzQ2NjctMC4wODUzMzMtMS45MnYtMS40MDhsMC4wODUzMzMtMS40MDggMC4xMjgtMS40MDggMC4yMTMzMzQtMS43NDkzMzMgMC4yMTMzMzMtMS4xNTIgMC4yMTMzMzMtMS4wNjY2NjcgMC4yNTYtMS4wNjY2NjcgMC4zNDEzMzQtMS4yOCAwLjQyNjY2Ni0xLjUzNiAwLjcyNTMzNC0xLjgzNDY2NiAwLjY0LTEuNTM2IDAuODUzMzMzLTEuNzA2NjY3IDAuNjgyNjY3LTEuMjggMC45ODEzMzMtMS41Nzg2NjcgMS4wNjY2NjctMS41Nzg2NjYgMS4yOC0xLjcwNjY2NyAxLjA2NjY2Ni0xLjE5NDY2NyAxLjEwOTMzNC0xLjIzNzMzMyAxLjEwOTMzMy0xLjA2NjY2NyAxMDkuMDEzMzMzLTEwMi45NTQ2NjZhMzYuMzUyIDM2LjM1MiAwIDAgMSA1MC45ODY2NjcgNTEuNzU0NjY2bC0xLjEwOTMzMyAxLjA2NjY2Ny00NC41MDEzMzQgNDIuMDI2NjY3aDMwNi4wMDUzMzRWMTY4LjQ0OGwtNDIuMDI2NjY3IDQ0LjUwMTMzM2EzNi4zMDkzMzMgMzYuMzA5MzMzIDAgMCAxLTUzLjg0NTMzMy00OC43NjhsMS4wMjQtMS4xMDkzMzMgMTA0LjAyMTMzMy0xMTAuMDggMS4yMzczMzMtMS4xNTIgMS4xOTQ2NjctMS4wNjY2NjcgMS4yMzczMzMtMC45Mzg2NjYgMS40OTMzMzQtMS4wMjQgMS40OTMzMzMtMC45ODEzMzQgMS41MzYtMC44NTMzMzMgMS4yOC0wLjY4MjY2NyAxLjcwNjY2Ny0wLjc2OCAyLjA0OC0wLjc2OCAwLjY4MjY2Ni0wLjI1NiAxLjI4LTAuNDI2NjY2IDEuNDUwNjY3LTAuMzQxMzM0IDEuNDA4LTAuMzQxMzMzIDEuNzA2NjY3LTAuMjk4NjY3IDEuNzA2NjY2LTAuMjEzMzMzIDEuODM0NjY3LTAuMTcwNjY3IDEuNDkzMzMzLTAuMDQyNjY2eiIgZmlsbD0iIzY2NjY2NiIgPjwvcGF0aD48L3N5bWJvbD48c3ltYm9sIGlkPSJpY29uLW1hcCIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTk0Ni41NiAxNzAuNjI0YTMyLjY0IDMyLjY0IDAgMCAwLTI2Ljc1Mi03LjA0bC0yMzcuMTg0IDQyLjExMkw2MjIuMDggMTg1LjZhMzIuNjQgMzIuNjQgMCAxIDAtMjAuNjcyIDYyLjA4bDY4LjQ4IDIyLjc4NGMxLjYgMC41MTIgMy4yIDAuODk2IDQuODY0IDEuMTUydjI2NS42bC0xMzUuMzYtNDEuNmEyMS44MjQgMjEuODI0IDAgMCAwLTEyLjggNDEuNmwxNDguMTYgNDUuNjMydjI3My44NTZsLTI4My41Mi03OS42OHYtMTIzLjI2NGEyMS43NiAyMS43NiAwIDEgMC00My43MTIgMHYxMjMuODRsLTIxOC4xMTIgMzQuMjRWMTk1LjcxMmEzMi43MDQgMzIuNzA0IDAgMCAwLTY1LjQwOCAwdjY1NC40YTMyLjY0IDMyLjY0IDAgMCAwIDM3Ljc2IDMyLjMybDI3MS4xMDQtNDIuNTYgMzA0IDg1LjM3NmEzMi44MzIgMzIuODMyIDAgMCAwIDE0LjY1NiAwLjY0bDIzOS44NzItNDMuNTg0YTMyLjcwNCAzMi43MDQgMCAwIDAgMjYuODgtMzIuMTkyVjE5NS43MTJhMzIuNjQgMzIuNjQgMCAwIDAtMTEuNzEyLTI1LjA4OHogbS01My43NiAzMzkuODRsLTE3NC40NjQgMzAuNFYyNjUuODU2bDE3NC41MjgtMzEuMDR2Mjc1LjY0OHogbS0xNzQuNDY0IDM0NC4wNjR2LTI2OS40NGwxNzQuNTI4LTMwLjMzNnYyNjguMDMybC0xNzQuNTI4IDMxLjc0NHoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0yMDkuNzI4IDM2NS45NTJjMTAuNjg4IDIxLjEyIDEwOC45OTIgMTU5Ljc0NCAxMzguODggMjAxLjY2NCA2LjE0NCA4LjY0IDE2IDEzLjc2IDI2LjYyNCAxMy43NmgwLjA2NGEzMi43MDQgMzIuNzA0IDAgMCAwIDI2LjY4OC0xMy44ODhjMjkuNzYtNDIuMzA0IDEyNy43NDQtMTgxLjg4OCAxMzcuNzkyLTIwMS4yMTYgMTMuMTg0LTI1LjQwOCAyMC40OC01NS4wNCAyMC40OC04My4zMjhhMTg1LjYgMTg1LjYgMCAwIDAtMTg1LjQwOC0xODUuNDA4QTE4NS42IDE4NS42IDAgMCAwIDE4OS40NCAyODIuOTQ0YzAgMjguMjg4IDYuNzg0IDU2LjE5MiAyMC4yODggODIuOTQ0eiBtMTY1LjEyLTIwMy4wMDhjNjYuMTEyIDAgMTE5LjkzNiA1My44MjQgMTE5LjkzNiAxMjAgMCAxNy43MjgtNC43MzYgMzcuMTItMTMuMDU2IDUzLjEyLTUuNjk2IDEwLjU2LTU1LjE2OCA4Mi4zNjgtMTA2LjYyNCAxNTUuODQtNDcuMjMyLTY2LjgxNi0xMDAuNzM2LTE0My42MTYtMTA2Ljk0NC0xNTUuNTJhMTE4LjcyIDExOC43MiAwIDAgMS0xMy4zMTItNTMuNDRjMC02Ni4xNzYgNTMuODI0LTEyMCAxMjAtMTIweiIgID48L3BhdGg+PHBhdGggZD0iTTMyMC4zMiAyODMuMDA4YTU0LjUyOCA1NC41MjggMCAxIDAgMTA5LjA1NiAwIDU0LjUyOCA1NC41MjggMCAwIDAtMTA5LjA1NiAweiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1mYW5nZGEiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0zNjIuNjY2NjY3IDUzMy4zMzMzMzNoODUuMzMzMzMzdjg1LjMzMzMzNGg4NS4zMzMzMzN2LTg1LjMzMzMzNGg4NS4zMzMzMzR2LTg1LjMzMzMzM2gtODUuMzMzMzM0di04NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzNoLTg1LjMzMzMzM3Y4NS4zMzMzMzN6IiAgPjwvcGF0aD48cGF0aCBkPSJNMTI4IDQ5MC42NjY2NjdhMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMSAxIDY0Ny41MDkzMzMgMjI0LjUxMmwxOTMuMzIyNjY3IDE5My4zMjI2NjYtNjAuMzMwNjY3IDYwLjMzMDY2Ny0xOTMuMzIyNjY2LTE5My4zMjI2NjdBMzYyLjY2NjY2NyAzNjIuNjY2NjY3IDAgMCAxIDEyOCA0OTAuNjY2NjY3ek00OTAuNjY2NjY3IDIxMy4zMzMzMzNhMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMSAwIDAgNTU0LjY2NjY2NyAyNzcuMzMzMzMzIDI3Ny4zMzMzMzMgMCAwIDAgMC01NTQuNjY2NjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1zdW94aWFvIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNjE4LjY2NjY2NyA1MzMuMzMzMzMzaC0yNTZ2LTg1LjMzMzMzM2gyNTZ2ODUuMzMzMzMzeiIgID48L3BhdGg+PHBhdGggZD0iTTEyOCA0OTAuNjY2NjY3YTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDEgMSA2NDcuNTA5MzMzIDIyNC41MTJsMTkzLjMyMjY2NyAxOTMuMzIyNjY2LTYwLjMzMDY2NyA2MC4zMzA2NjctMTkzLjMyMjY2Ni0xOTMuMzIyNjY3QTM2Mi42NjY2NjcgMzYyLjY2NjY2NyAwIDAgMSAxMjggNDkwLjY2NjY2N3pNNDkwLjY2NjY2NyAyMTMuMzMzMzMzYTI3Ny4zMzMzMzMgMjc3LjMzMzMzMyAwIDEgMCAwIDU1NC42NjY2NjcgMjc3LjMzMzMzMyAyNzcuMzMzMzMzIDAgMCAwIDAtNTU0LjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tYm9mYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNODc1LjYwNTMzMyA1NDguMzk0NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgMC03Mi43ODkzMzRMMzMxLjYwNTMzMyAxNDMuMDE4NjY3YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAtNjQuOTM4NjY2IDM2LjQzNzMzM3Y2NjUuMDg4YTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAwIDAgNjQuOTM4NjY2IDM2LjM5NDY2N2w1NDQtMzMyLjU0NHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tZGl5aWdlIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMzQxLjMzMzMzMyAxMjh2NzY4SDI1NlYxMjhoODUuMzMzMzMzek03ODAuNTAxMzMzIDg4My40OTg2NjdsLTM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAxIDAtNjAuMzMwNjY2bDM0MS4zMzMzMzMtMzQxLjMzMzMzNCA2MC4zMzA2NjcgNjAuMzMwNjY3TDUyOS42NjQgNTEybDMxMS4xNjggMzExLjE2OC02MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi1xaWFueWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTMxMS4xNjggNDgxLjgzNDY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzQgNjAuMzMwNjY3IDYwLjMzMDY2N0w0MDEuNjY0IDUxMmwzMTEuMTY4IDMxMS4xNjgtNjAuMzMwNjY3IDYwLjMzMDY2Ny0zNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMSAwLTYwLjMzMDY2NnoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24teGlheWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTcxMi44MzIgNDgxLjgzNDY2N2wtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjM3MzMzNCA2MC4zMzA2NjdMNjIyLjI5MzMzMyA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zNzMzMzQgNjAuMzMwNjY3IDM0MS4zMzMzMzMtMzQxLjMzMzMzNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwIDAtNjAuMzMwNjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi16YW50aW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNNDI2LjY2NjY2NyAxNzAuNjY2NjY3SDIxMy4zMzMzMzN2NjgyLjY2NjY2NmgyMTMuMzMzMzM0VjE3MC42NjY2Njd6TTgxMC42NjY2NjcgMTcwLjY2NjY2N2gtMjEzLjMzMzMzNHY2ODIuNjY2NjY2aDIxMy4zMzMzMzRWMTcwLjY2NjY2N3oiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tenVpaG91eWlnZSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTY4Mi42NjY2NjcgMTI4djc2OGg4NS4zMzMzMzNWMTI4aC04NS4zMzMzMzN6TTI0My40OTg2NjcgODgzLjQ5ODY2N2wzNDEuMzMzMzMzLTM0MS4zMzMzMzRhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMCAwLTYwLjMzMDY2NmwtMzQxLjMzMzMzMy0zNDEuMzMzMzM0LTYwLjMzMDY2NyA2MC4zMzA2NjdMNDk0LjMzNiA1MTJsLTMxMS4xNjggMzExLjE2OCA2MC4zMzA2NjcgNjAuMzMwNjY3eiIgID48L3BhdGg+PC9zeW1ib2w+PHN5bWJvbCBpZD0iaWNvbi15aW5jYW5nIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0Ij48cGF0aCBkPSJNMTI4IDE4MS4zMzMzMzN2NjRoNzY4di02NEgxMjh6TTEyOCAzODRsMTkyIDEyOEwxMjggNjQwVjM4NHpNODk2IDQ4MEg0MjYuNjY2NjY3djY0aDQ2OS4zMzMzMzN2LTY0ek04OTYgNzc4LjY2NjY2N3Y2NEgxMjh2LTY0aDc2OHoiICA+PC9wYXRoPjwvc3ltYm9sPjxzeW1ib2wgaWQ9Imljb24tc3VvZmFuZyIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCI+PHBhdGggZD0iTTU5Ny4zMzMzMzMgNDEzLjM1NDY2N0gzOTQuNjY2NjY3djY0aDE3MC42NjY2NjZ2MTcwLjY2NjY2Nmg2NHYtMjAyLjY2NjY2NmEzMiAzMiAwIDAgMC0zMi0zMnoiICA+PC9wYXRoPjxwYXRoIGQ9Ik0xMzguNjY2NjY3IDE4OS4zNTQ2NjdhMzIgMzIgMCAwIDEgMzItMzJoNjgyLjY2NjY2NmEzMiAzMiAwIDAgMSAzMiAzMnY2ODIuNjY2NjY2YTMyIDMyIDAgMCAxLTMyIDMySDE3MC42NjY2NjdhMzIgMzIgMCAwIDEtMzItMzJ2LTY4Mi42NjY2NjZ6IG02ODIuNjY2NjY2IDY1MC42NjY2NjZ2LTYxOC42NjY2NjZIMjAyLjY2NjY2N3YzMjBINDY5LjMzMzMzM2EzMiAzMiAwIDAgMSAzMiAzMnYyNjYuNjY2NjY2aDMyMHogbS02MTguNjY2NjY2IDBoMjM0LjY2NjY2NnYtMjM0LjY2NjY2NmgtMjM0LjY2NjY2NnYyMzQuNjY2NjY2eiIgID48L3BhdGg+PC9zeW1ib2w+PC9zdmc+JywgZnVuY3Rpb24gKG8pIHsgdmFyIGEgPSAoYSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSlbYS5sZW5ndGggLSAxXSwgdCA9IGEuZ2V0QXR0cmlidXRlKCJkYXRhLWluamVjdGNzcyIpLCBhID0gYS5nZXRBdHRyaWJ1dGUoImRhdGEtZGlzYWJsZS1pbmplY3RzdmciKTsgaWYgKCFhKSB7IHZhciBpLCBlLCBoLCBsLCBuLCBjID0gZnVuY3Rpb24gKGEsIHQpIHsgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLCB0KSB9OyBpZiAodCAmJiAhby5fX2ljb25mb250X19zdmdfX2Nzc2luamVjdF9fKSB7IG8uX19pY29uZm9udF9fc3ZnX19jc3NpbmplY3RfXyA9ICEwOyB0cnkgeyBkb2N1bWVudC53cml0ZSgiPHN0eWxlPi5zdmdmb250IHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7d2lkdGg6IDFlbTtoZWlnaHQ6IDFlbTtmaWxsOiBjdXJyZW50Q29sb3I7dmVydGljYWwtYWxpZ246IC0wLjFlbTtmb250LXNpemU6MTZweDt9PC9zdHlsZT4iKSB9IGNhdGNoIChhKSB7IGNvbnNvbGUgJiYgY29uc29sZS5sb2coYSkgfSB9IGkgPSBmdW5jdGlvbiAoKSB7IHZhciBhLCB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IHQuaW5uZXJIVE1MID0gby5faWNvbmZvbnRfc3ZnX3N0cmluZ18zOTI5MjA5LCAodCA9IHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN2ZyIpWzBdKSAmJiAodC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgInRydWUiKSwgdC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSIsIHQuc3R5bGUud2lkdGggPSAwLCB0LnN0eWxlLmhlaWdodCA9IDAsIHQuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIiwgdCA9IHQsIChhID0gZG9jdW1lbnQuYm9keSkuZmlyc3RDaGlsZCA/IGModCwgYS5maXJzdENoaWxkKSA6IGEuYXBwZW5kQ2hpbGQodCkpIH0sIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIgPyB+WyJjb21wbGV0ZSIsICJsb2FkZWQiLCAiaW50ZXJhY3RpdmUiXS5pbmRleE9mKGRvY3VtZW50LnJlYWR5U3RhdGUpID8gc2V0VGltZW91dChpLCAwKSA6IChlID0gZnVuY3Rpb24gKCkgeyBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZSwgITEpLCBpKCkgfSwgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGUsICExKSkgOiBkb2N1bWVudC5hdHRhY2hFdmVudCAmJiAoaCA9IGksIGwgPSBvLmRvY3VtZW50LCBuID0gITEsIGQoKSwgbC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7ICJjb21wbGV0ZSIgPT0gbC5yZWFkeVN0YXRlICYmIChsLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGwsIHYoKSkgfSkgfSBmdW5jdGlvbiB2KCkgeyBuIHx8IChuID0gITAsIGgoKSkgfSBmdW5jdGlvbiBkKCkgeyB0cnkgeyBsLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCgibGVmdCIpIH0gY2F0Y2ggKGEpIHsgcmV0dXJuIHZvaWQgc2V0VGltZW91dChkLCA1MCkgfSB2KCkgfSB9KHdpbmRvdyk7",self.location).href}),Ln=M=>ye(exports,[M],function*({target:n,value:e}){try{let s="";if(!navigator.clipboard)return console.warn("Browser don't have support for native clipboard."),!1;if(n){const i=document.querySelector(n);if(!i||!i.textContent)return console.warn("Element not found"),!1;e=i.textContent}return e&&(s=e),yield navigator.clipboard.writeText(s),!0}catch(s){return!1}});const Rt=({text:n})=>{const[e,M]=o.useState();return o.useEffect(()=>{e&&setTimeout(()=>M(void 0),2e3)},[e]),e?t.jsx("div",{className:"copy-tip",children:e==="success"?t.jsx(Ae.CheckOutlined,{style:{color:"rgba(48, 191, 19, 1)"}}):t.jsx(Ae.CloseOutlined,{style:{color:"#dc4446"}})}):t.jsx(C.Tooltip,{title:"复制",children:t.jsx("div",{className:"copy-btn",onClick:()=>{Ln({value:n}).then(s=>{M(s?"success":"failed")})},children:t.jsx(Me,{type:"icon-fuzhi"})})})},hn=r=>{var l=r,{node:n,inline:e,className:M,children:s}=l,i=Ye(l,["node","inline","className","children"]);const c=/language-(\w+)/.exec(M||""),a=c?c[1]:null;return!e&&a?t.jsxs("div",{className:"markdown-code",children:[t.jsxs("div",{className:"markdown-code-title",children:[t.jsx("span",{className:"markdown-code-title-text",children:a}),t.jsx(C.Space,{className:"markdown-code-title-action",children:t.jsx(Rt,{text:String(s)})})]}),t.jsx(kt.Prism,re(E({className:"markdown-code-context",language:a},i),{wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",children:String(s).replace(/\n$/,"")}))]}):t.jsx("code",re(E({className:M},i),{children:s}))},Pt=hn,Yn=n=>{var i,r;const s=n,{node:e}=s,M=Ye(s,["node"]);if(e.tagName==="a"&&((i=e.children)==null?void 0:i.length)>0){const l=((r=e.children[0])==null?void 0:r.value)||"";let c=/(^https?:\/\/|^www\.)(?:www\.)?[\w\-]+(\.[\w\-]+)+(\/[\w\- .\/?%&=]*)?/g,a=l.match(c),z=l.replace(c,"").trim();if(!(a!=null&&a.length))return t.jsx("a",E({},M));const u=a[0];return t.jsxs(t.Fragment,{children:[t.jsx("a",re(E({href:/^www\./.test(u)?"//"+u:u,onClick:()=>window.open(n.href,n.target||"_blank")},M),{children:u})),z]})}return t.jsx("a",E({},M))},Wt=Yn,Gt=r=>{var l=r,{showLatex:n=!0,components:e={},componentProps:M,children:s}=l,i=Ye(l,["showLatex","components","componentProps","children"]);const c=o.useRef(null),a=E({img(z){return t.jsx(Bt,E(E({},z),M==null?void 0:M.img))},code(z){return t.jsx(Pt,E(E({},z),M==null?void 0:M.code))},video(z){return t.jsx(tt,E(E({},z),M==null?void 0:M.video))},a(z){return t.jsx(Wt,E(E({},z),M==null?void 0:M.a))}},e);return t.jsx("div",{ref:c,children:t.jsx(on,re(E({className:"markdown",rehypePlugins:[zn,cn,[an,{target:"_blank"}]],remarkPlugins:[ln,[rn,{singleTilde:!1}]]},i),{children:n?An(s):s,components:a}))})},We=n=>{var i;if(!n)return;const e=n.split(/[?#]/)[0],s=(e.split("/").pop()||e).split(".");if(!(s.length<2))return(i=s.pop())==null?void 0:i.toLowerCase()},Zt=n=>{if(!n)return"unknown";const e=n.toLowerCase();return["svg","png","gif","jpg","jpeg","tiff","tif","bmp"].includes(e)?"image":e==="mp4"?"video":e==="mp3"?"audio":e==="pdf"?"pdf":e==="markdown"||e==="md"?"markdown":e==="json"?"json":e==="jsonl"||e==="josnl"?"jsonl":e==="csv"?"csv":e==="tsv"?"tsv":e==="html"||e==="htm"?"html":e==="xml"?"xml":["doc","docx","ppt","pptx","xls","xlsx","wps","odt","rtf","ods","pps","ppsx","odp","key"].includes(e)?"office":["js","jsx","ts","tsx","py","java","cpp","c","cc","cxx","h","hpp","hxx","css","less","scss","sass","vue","go","rs","rb","php","swift","kt","scala","sh","bash","zsh","fish","ps1","bat","cmd","yml","yaml","toml","ini","conf","config","json","xml","sql","r","m","mm","pl","pm","lua","dart","elm","clj","cljs","ex","exs","erl","hrl","hs","ml","mli","fs","fsx","vb","cs","d","nim","zig","v","odin"].includes(e)?"code":e==="txt"?"text":e==="zip"?"zip":e==="tex"||e==="latex"?"text":"unknown"},Je=5*1024*1024,pn=2*1024*1024,En=2*1024*1024,Cn=5*1024*1024,Sn=5*1024*1024,On=2*1024*1024,vn=2*1024*1024,bn=2*1024*1024,kn=2*1024*1024,pt=100*1024*1024,Qn=100*1024*1024,Ee=1e4,Ce=1e4,_e=5e3,xe=1e3,Un=1024*1024*5,Bn=3e4,Rn=["text","json","csv","tsv","markdown","html","xml","jsonl","image","pdf","code"],Pn=n=>{const[e,M]=o.useState(null),[s,i]=o.useState(!0),[r,l]=o.useState(null),c=o.useRef(null);return o.useEffect(()=>{if(!n){l("文件URL不能为空"),i(!1);return}return c.current&&(URL.revokeObjectURL(c.current),c.current=null,M(null)),i(!0),l(null),fetch(n).then(a=>{if(!a.ok)throw new Error(`HTTP error! status: ${a.status}`);return a.blob()}).then(a=>{if(a.type&&a.type!=="application/pdf"&&!n.toLowerCase().endsWith(".pdf"))throw new Error("文件不是有效的 PDF 格式");const z=URL.createObjectURL(a);c.current=z,M(z),i(!1)}).catch(a=>{l(a.message||"加载 PDF 失败"),i(!1)}),()=>{c.current&&(URL.revokeObjectURL(c.current),c.current=null)}},[n]),{pdfBlobUrl:e,pdfLoading:s,pdfError:r}},Wn=n=>{if(n===0)return"0 B";const e=1024,M=["B","KB","MB","GB"],s=Math.floor(Math.log(n)/Math.log(e));return Math.round(n/Math.pow(e,s)*100)/100+" "+M[s]},Gn=n=>ye(exports,null,function*(){let e=!1,M=0;try{const s=yield fetch(n,{method:"HEAD",headers:{Range:"bytes=0-0"}}),i=s.headers.get("Accept-Ranges"),r=s.headers.get("Content-Range"),l=s.headers.get("Content-Length");if(r){const c=r.match(/bytes \d+-\d+\/(\d+)/);c&&(M=parseInt(c[1],10))}else l&&(M=parseInt(l,10));return e=s.status===206||i==="bytes"||r!==null&&r.startsWith("bytes"),{supportsRange:e,fileSize:M}}catch(s){return console.warn("Range 支持检测失败:",s),{supportsRange:!1,fileSize:0}}}),Zn=n=>ye(exports,null,function*(){try{const M=(yield fetch(n,{method:"HEAD"})).headers.get("Content-Length");return M?parseInt(M,10):0}catch(e){return console.warn("无法获取文件大小:",e),0}}),Pe={filenameEncoding:"utf-8"},Vn=n=>{const[e,M]=o.useState([]),[s,i]=o.useState(!0),[r,l]=o.useState(null),[c,a]=o.useState(null),[z,u]=o.useState(null);o.useEffect(()=>{if(!n){l("文件URL不能为空"),i(!1);return}i(!0),l(null),M([]),a(null),z!=null&&z.blobUrl&&(URL.revokeObjectURL(z.blobUrl),u(null));let I=null;ye(exports,null,function*(){try{ze.configure({chunkSize:Un,useWebWorkers:!1});const{supportsRange:D,fileSize:j}=yield Gn(n);if(D){const x=new ze.HttpRangeReader(n);I=new ze.ZipReader(x,Pe);const Y=(yield Promise.race([I.getEntries(),new Promise((h,p)=>setTimeout(()=>p(new Error("读取 ZIP 目录结构超时")),Bn))])).filter(h=>!h.directory).map(h=>({name:h.filename,size:h.uncompressedSize||0,isDirectory:!1}));Y.sort((h,p)=>h.name.localeCompare(p.name)),Y.length>xe?(l(`ZIP 文件包含 ${Y.length} 个文件,仅显示前 ${xe} 个`),M(Y.slice(0,xe))):M(Y)}else{if(j>pt)throw new Error(`服务器不支持 HTTP Range 请求,且文件过大(${Math.round(j/1024/1024)}MB),无法预览。请下载后查看。`);const x=yield fetch(n);if(!x.ok)throw new Error(`HTTP error! status: ${x.status}`);const A=yield x.blob(),Y=new ze.BlobReader(A);I=new ze.ZipReader(Y,Pe);const p=(yield I.getEntries()).filter(T=>!T.directory).map(T=>({name:T.filename,size:T.uncompressedSize||0,isDirectory:!1}));p.sort((T,b)=>T.name.localeCompare(b.name)),p.length>xe?(l(`ZIP 文件包含 ${p.length} 个文件,仅显示前 ${xe} 个`),M(p.slice(0,xe))):M(p)}I&&(yield I.close()),i(!1)}catch(D){if(I)try{yield I.close()}catch(x){}const j=D.message||D.toString()||"加载 ZIP 文件失败";if(j.includes("Range")||j.includes("range")||j.includes("HTTP Range not supported")||j.includes("超时"))try{const x=yield Zn(n);if(x>pt)throw new Error(`文件过大(${Math.round(x/1024/1024)}MB),无法通过 Range 请求加载,且文件过大无法下载整个文件预览。请下载后查看。`);const A=yield fetch(n);if(!A.ok)throw new Error(`HTTP error! status: ${A.status}`);const Y=yield A.blob(),h=new ze.BlobReader(Y);I=new ze.ZipReader(h,Pe);const T=(yield I.getEntries()).filter(b=>!b.directory).map(b=>({name:b.filename,size:b.uncompressedSize||0,isDirectory:!1}));T.sort((b,B)=>b.name.localeCompare(B.name)),T.length>xe?(l(`ZIP 文件包含 ${T.length} 个文件,仅显示前 ${xe} 个`),M(T.slice(0,xe))):M(T),I&&(yield I.close()),i(!1);return}catch(x){const A=x.message||x.toString();l(`ZIP 文件加载失败: ${j}。Fallback 方案也失败: ${A}`)}else l(j);i(!1)}})},[n]);const y=o.useCallback(I=>ye(exports,null,function*(){if(c===I&&z){a(null),z.blobUrl&&URL.revokeObjectURL(z.blobUrl),u(null);return}a(I);try{let D=null,j;try{const T=new ze.HttpRangeReader(n);D=new ze.ZipReader(T,Pe),j=(yield D.getEntries()).find(B=>B.filename===I)}catch(T){const b=yield fetch(n);if(!b.ok)throw new Error(`HTTP error! status: ${b.status}`);const B=yield b.blob(),N=new ze.BlobReader(B);D=new ze.ZipReader(N,Pe),j=(yield D.getEntries()).find(d=>d.filename===I)}if(!j)throw new Error("文件不存在");if(j.directory)throw new Error("无法预览目录");if((j.uncompressedSize||0)>Qn)throw new Error("文件过大(超过 100MB),无法预览");const A=yield j.getData(new ze.BlobWriter),Y=URL.createObjectURL(A),h=We(I),p=Zt(h);if(!Rn.includes(p))throw new Error(`不支持预览 ${h||"未知"} 格式的文件`);u({name:I,blobUrl:Y,type:p}),D&&(yield D.close())}catch(D){const j=D.message||D.toString()||"预览文件失败";l(j)}}),[n,c,z]);return o.useEffect(()=>()=>{z!=null&&z.blobUrl&&URL.revokeObjectURL(z.blobUrl)},[z]),{zipFiles:e,zipLoading:s,zipError:r,selectedZipFile:c,zipFileContent:z,handleFileClick:y,setSelectedZipFile:a}},X=({url:n,fileName:e})=>t.jsx(C.Button,{type:"link",icon:t.jsx(Ae.DownloadOutlined,{}),href:n,download:e,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}),qe=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;if((e||new Blob([n.content]).size)>pn){const r=n.content.split(`
|
|
3
|
+
`),l=r.length>Ee,a=(l?r.slice(0,Ee):r).join(`
|
|
4
|
+
`);return t.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[l&&t.jsx(C.Alert,{message:"文件过大",description:`文件包含 ${r.length} 行,仅显示前 ${Ee} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:t.jsx(X,{url:M,fileName:s})}),t.jsx("pre",{className:"document-viewer-text",children:a})]})}return t.jsx("pre",{className:"document-viewer-text",children:n.content})},$n=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const i=e||new Blob([n.content]).size;if(i>En)return t.jsx(C.Alert,{message:"JSON文件过大",description:`文件大小 ${Math.round(i/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:t.jsx(X,{url:M,fileName:s})});try{const r=JSON.parse(n.content);return t.jsx("pre",{className:"document-viewer-json",children:JSON.stringify(r,null,2)})}catch(r){return t.jsx(C.Alert,{message:"JSON解析失败",description:"文件内容不是有效的JSON格式",type:"error",action:t.jsx(X,{url:M,fileName:s})})}},Hn=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const i=e||new Blob([n.content]).size;if(i>Cn)return t.jsx(C.Alert,{message:"CSV文件过大",description:`文件大小 ${Math.round(i/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:t.jsx(X,{url:M,fileName:s})});try{const r=n.content.split(`
|
|
5
|
+
`).filter(y=>y.trim());if(r.length===0)return null;const l=r.length>Ce,c=l?r.slice(0,Ce):r,a=c[0].split(",").map(y=>y.trim()),z=c.slice(1).map((y,I)=>{const D=y.split(",").map(x=>x.trim()),j={key:String(I)};return a.forEach((x,A)=>{j[x]=D[A]||""}),j}),u=a.map(y=>({title:y,dataIndex:y,key:y}));return t.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[l&&t.jsx(C.Alert,{message:"文件过大",description:`CSV文件包含 ${r.length} 行,仅显示前 ${Ce} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:t.jsx(X,{url:M,fileName:s})}),t.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:t.jsx(C.Table,{dataSource:z,columns:u,pagination:!1,scroll:{x:"max-content",y:"100%"},size:"small"})})]})}catch(r){return t.jsx(C.Alert,{message:"CSV解析失败",description:"文件内容不是有效的CSV格式",type:"error",action:t.jsx(X,{url:M,fileName:s})})}},Fn=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const i=e||new Blob([n.content]).size;if(i>Sn)return t.jsx(C.Alert,{message:"TSV文件过大",description:`文件大小 ${Math.round(i/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:t.jsx(X,{url:M,fileName:s})});try{const r=n.content.split(`
|
|
6
|
+
`).filter(y=>y.trim());if(r.length===0)return null;const l=r.length>Ce,c=l?r.slice(0,Ce):r,a=c[0].split(" ").map(y=>y.trim()),z=c.slice(1).map((y,I)=>{const D=y.split(" ").map(x=>x.trim()),j={key:String(I)};return a.forEach((x,A)=>{j[x]=D[A]||""}),j}),u=a.map(y=>({title:y,dataIndex:y,key:y}));return t.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[l&&t.jsx(C.Alert,{message:"文件过大",description:`TSV文件包含 ${r.length} 行,仅显示前 ${Ce} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:t.jsx(X,{url:M,fileName:s})}),t.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:t.jsx(C.Table,{dataSource:z,columns:u,pagination:!1,scroll:{x:"max-content",y:"100%"},size:"small"})})]})}catch(r){return t.jsx(C.Alert,{message:"TSV解析失败",description:"文件内容不是有效的TSV格式",type:"error",action:t.jsx(X,{url:M,fileName:s})})}},Jn=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const i=e||new Blob([n.content]).size;if(i>On)return t.jsx(C.Alert,{message:"JSONL文件过大",description:`文件大小 ${Math.round(i/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:t.jsx(X,{url:M,fileName:s})});try{const r=n.content.split(`
|
|
7
|
+
`).filter(a=>a.trim()),l=r.length>_e,c=l?r.slice(0,_e):r;return t.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",width:"100%",overflow:"hidden"},children:[l&&t.jsx(C.Alert,{message:"文件过大",description:`JSONL文件包含 ${r.length} 行,仅显示前 ${_e} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:t.jsx(X,{url:M,fileName:s})}),t.jsx("div",{className:"document-viewer-jsonl",children:c.map((a,z)=>{try{const u=JSON.parse(a);return t.jsx("div",{className:"document-viewer-jsonl-item",children:t.jsx("pre",{children:JSON.stringify(u,null,2)})},z)}catch(u){return t.jsx("div",{className:"document-viewer-jsonl-item",children:t.jsx("pre",{children:a})},z)}})})]})}catch(r){return t.jsx(C.Alert,{message:"JSONL解析失败",description:"文件内容解析出错",type:"error",action:t.jsx(X,{url:M,fileName:s})})}},_n=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const i=e||new Blob([n.content]).size;return i>vn?t.jsx(C.Alert,{message:"Markdown文件过大",description:`文件大小 ${Math.round(i/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:t.jsx(X,{url:M,fileName:s})}):t.jsx("div",{style:{height:"100%",overflow:"auto",padding:"16px"},children:t.jsx(Gt,{children:n.content})})},Xn=({fileContent:n})=>n!=null&&n.content?t.jsx("iframe",{srcDoc:n.content,className:"document-viewer-iframe",title:"HTML Preview",sandbox:"allow-same-origin allow-scripts"}):null,Kn=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const i=e||new Blob([n.content]).size;if(i>bn)return t.jsx(C.Alert,{message:"XML文件过大",description:`文件大小 ${Math.round(i/1024/1024)}MB,无法预览。请下载后查看。`,type:"warning",showIcon:!0,action:t.jsx(X,{url:M,fileName:s})});try{const r=n.content.replace(/></g,`>
|
|
8
|
+
<`).replace(/^\s+/gm,"");return t.jsx("pre",{className:"document-viewer-xml",children:r})}catch(r){return t.jsx(qe,{fileContent:n,fileSize:e,url:M,fileName:s})}},qn=({fileContent:n,fileSize:e,url:M,fileName:s})=>{if(!(n!=null&&n.content))return null;const r=o.useMemo(()=>We(s||M),[s,M])||"text";if((e||new Blob([n.content]).size)>kn){const c=n.content.split(`
|
|
9
|
+
`),a=c.length>Ee,u=(a?c.slice(0,Ee):c).join(`
|
|
10
|
+
`);return t.jsxs("div",{className:"document-viewer-code",children:[a&&t.jsx(C.Alert,{message:"文件过大",description:`文件包含 ${c.length} 行,仅显示前 ${Ee} 行。请下载完整文件查看。`,type:"warning",showIcon:!0,style:{marginBottom:16,flexShrink:0},action:t.jsx(X,{url:M,fileName:s})}),t.jsx("div",{style:{overflow:"auto",flex:1,width:"100%"},children:t.jsx("pre",{className:"document-viewer-text",style:{fontSize:"12px",width:"100%",boxSizing:"border-box"},children:u})})]})}return t.jsx("div",{className:"document-viewer-code",children:t.jsx("div",{style:{overflow:"auto",flex:1,width:"100%"},children:t.jsx(kt.Prism,{language:r,wrapLongLines:!0,showLineNumbers:!0,PreTag:"div",customStyle:{width:"100%",margin:0,boxSizing:"border-box"},children:n.content})})})},eM=({url:n,fileName:e})=>t.jsx("div",{className:"document-viewer-image",children:t.jsx(C.Image,{src:n,alt:e||"Image",style:{maxWidth:"100%",maxHeight:"100%",objectFit:"contain"}})}),tM=({url:n})=>t.jsx("div",{className:"document-viewer-video",children:t.jsx("video",{src:n,controls:!0,style:{maxWidth:"100%"},children:"您的浏览器不支持视频播放"})}),nM=({url:n})=>t.jsx("div",{className:"document-viewer-audio",children:t.jsx("audio",{src:n,controls:!0,style:{width:"100%"},children:"您的浏览器不支持音频播放"})}),MM=({pdfBlobUrl:n,pdfLoading:e,pdfError:M,url:s,fileName:i,page:r=1})=>e?t.jsx("div",{className:"document-viewer-loading",children:t.jsx(C.Spin,{size:"large",tip:"加载 PDF 中..."})}):M?t.jsx(C.Alert,{message:"PDF 加载失败",description:M,type:"error",showIcon:!0,action:t.jsx(X,{url:s,fileName:i})}):n?t.jsx("div",{className:"document-viewer-pdf",children:t.jsx("iframe",{src:`${n}#page=${r}`,className:"document-viewer-iframe",title:"PDF Preview"})}):t.jsx(C.Alert,{message:"PDF 加载失败",description:"无法创建 PDF 预览",type:"error",showIcon:!0,action:t.jsx(X,{url:s,fileName:i})}),sM=({zipFiles:n,zipLoading:e,zipError:M,selectedZipFile:s,zipFileContent:i,onFileClick:r,url:l})=>e?t.jsx("div",{className:"document-viewer-loading",children:t.jsx(C.Spin,{size:"large",tip:"加载 ZIP 文件..."})}):M&&n.length===0?t.jsx(C.Alert,{className:"document-viewer-alert-full",message:"ZIP 加载失败",description:M,type:"error",showIcon:!0,action:t.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",children:"下载文件"})}):t.jsxs("div",{className:"document-viewer-zip",children:[M&&n.length>0&&t.jsx(C.Alert,{className:"document-viewer-alert-full",message:"提示",description:M,type:"warning",showIcon:!0,style:{marginBottom:16}}),t.jsxs("div",{style:{display:"flex",height:"100%",gap:"16px"},children:[t.jsxs("div",{style:{width:"300px",borderRight:"1px solid #e8e8e8",overflow:"auto",display:"flex",flexDirection:"column"},children:[t.jsxs("div",{style:{padding:"12px",fontWeight:"bold",borderBottom:"1px solid #e8e8e8",flexShrink:0},children:["文件列表 (",n.length,")"]}),t.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:t.jsx(C.Table,{dataSource:n,size:"small",pagination:!1,scroll:{y:"100%"},onRow:c=>({onClick:()=>r(c.name),style:{cursor:"pointer",backgroundColor:s===c.name?"#e6f7ff":"transparent"}}),columns:[{title:"文件名",dataIndex:"name",key:"name",ellipsis:!0,render:c=>t.jsx("span",{title:c,children:c.split("/").pop()})},{title:"大小",dataIndex:"size",key:"size",width:80,render:c=>Wn(c)}]})})]}),t.jsx("div",{style:{flex:1,overflow:"auto",display:"flex",flexDirection:"column"},children:s&&i?t.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[t.jsx("div",{style:{padding:"12px",borderBottom:"1px solid #e8e8e8",fontWeight:"bold",flexShrink:0},children:i.name}),t.jsx("div",{style:{flex:1,overflow:"auto",padding:"16px"},children:t.jsx(Vt,{url:i.blobUrl,fileName:i.name,showToolbar:!1,style:{height:"100%",width:"100%"}})})]}):t.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",color:"#999"},children:"请从左侧列表中选择文件进行预览"})})]})]}),oM=({message:n,description:e,action:M,url:s,fileName:i})=>{const r=s?t.jsx(C.Button,{type:"link",icon:t.jsx(Ae.DownloadOutlined,{}),href:s,download:i,target:"_blank",rel:"noopener noreferrer",children:"下载文件"}):null;return t.jsx(C.Alert,{className:"document-viewer-alert-full",message:n,description:e,type:"error",showIcon:!0,action:M||r})};const iM=n=>{if(!n)return"unknown";const e=n.split(";")[0].trim().toLowerCase();return e.startsWith("image/")?"image":e.startsWith("video/")?"video":e.startsWith("audio/")?"audio":e==="application/pdf"?"pdf":e==="text/markdown"||e==="text/x-markdown"?"markdown":e==="application/json"?"json":e==="application/jsonl"?"jsonl":e==="text/csv"||e==="application/csv"?"csv":e==="text/tab-separated-values"?"tsv":e==="application/javascript"||e==="text/javascript"?"code":e==="application/xml"||e==="text/xml"?"xml":e==="text/html"||e==="application/xhtml+xml"?"html":e==="text/plain"?"text":"unknown"},rM=n=>!n||Number.isNaN(n)?"大小未知":n<1024?`${n}B`:n<1024*1024?`${(n/1024).toFixed(1)}KB`:n<1024*1024*1024?`${(n/1024/1024).toFixed(1)}MB`:`${(n/1024/1024/1024).toFixed(1)}GB`,cM=(n,e)=>{if(e)return e;try{const i=new URL(n).pathname.split("/").filter(Boolean).pop();return decodeURIComponent(i||n)}catch(M){return n}},aM=n=>{const{url:e,fileName:M,className:s,style:i,showToolbar:r=!1,page:l=1}=n,c=o.useMemo(()=>{const R=We(e),k=M?We(M):void 0;return Zt(R||k)},[e,M]),[a,z]=o.useState(c),{pdfBlobUrl:u,pdfLoading:y,pdfError:I}=Pn(c==="pdf"?e:""),{zipFiles:D,zipLoading:j,zipError:x,selectedZipFile:A,zipFileContent:Y,handleFileClick:h}=Vn(c==="zip"?e:""),[p,T]=o.useState(!0),[b,B]=o.useState(null),[N,U]=o.useState(null),[d,L]=o.useState(0),[S,_]=o.useState(!1),se=o.useMemo(()=>cM(e,M),[M,e]),w=o.useMemo(()=>rM(d),[d]),m=!!(N!=null&&N.content),Q=!m&&!e,V=o.useMemo(()=>[{key:"copy-content",label:"复制内容",disabled:!m},{key:"copy-url",label:"复制地址",disabled:!e}],[m,e]);o.useEffect(()=>{if(z(c),c==="pdf"||c==="zip"){T(!1);return}if(!e){B("文件URL不能为空"),T(!1);return}if(["image","video","audio","office"].includes(c)){T(!1);return}T(!0),B(null),ye(exports,null,function*(){try{if(e.startsWith("blob:")||e.startsWith("data:")){const $=yield fetch(e);if(!$.ok)throw new Error(`HTTP error! status: ${$.status}`);const Te=yield $.blob(),ge=Te.size;if(L(ge),ge>Je){B(`文件过大(${Math.round(ge/1024/1024)}MB),无法预览。请下载后查看。`),T(!1);return}const Se=yield Te.text();c==="unknown"&&z("text"),U({content:Se}),T(!1);return}const k=yield fetch(e,{method:"HEAD"}),ce=k.headers.get("Content-Length"),oe=k.headers.get("Content-Type"),K=ce?parseInt(ce,10):0;if(L(K),c==="unknown"){const $=iM(oe);$!=="unknown"&&z($)}if(K>Je){B(`文件过大(${Math.round(K/1024/1024)}MB),无法预览。请下载后查看。`),T(!1);return}const F=yield fetch(e);if(!F.ok)throw new Error(`HTTP error! status: ${F.status}`);const De=yield F.text(),J=new Blob([De]).size;if(J>Je){B(`文件过大(${Math.round(J/1024/1024)}MB),无法预览。请下载后查看。`),T(!1);return}a==="unknown"&&z("text"),U({content:De}),T(!1)}catch(R){B(R.message||"加载文件失败"),T(!1)}})},[e,c]);const Z=o.useCallback(()=>ye(exports,null,function*(){var R;if(!(N!=null&&N.content)){C.message.warning("暂无可复制的内容");return}try{if(_(!0),(R=navigator==null?void 0:navigator.clipboard)!=null&&R.writeText)yield navigator.clipboard.writeText(N.content);else{const k=document.createElement("textarea");k.value=N.content,k.style.position="fixed",k.style.opacity="0",document.body.appendChild(k),k.select(),document.execCommand("copy"),document.body.removeChild(k)}C.message.success("内容已复制到剪贴板")}catch(k){C.message.error((k==null?void 0:k.message)||"复制失败,请手动复制")}finally{_(!1)}}),[N]),je=o.useCallback(()=>ye(exports,null,function*(){var R;if(!e){C.message.warning("暂无可复制的地址");return}try{if((R=navigator==null?void 0:navigator.clipboard)!=null&&R.writeText)yield navigator.clipboard.writeText(e);else{const k=document.createElement("textarea");k.value=e,k.style.position="fixed",k.style.opacity="0",document.body.appendChild(k),k.select(),document.execCommand("copy"),document.body.removeChild(k)}C.message.success("链接已复制到剪贴板")}catch(k){C.message.error((k==null?void 0:k.message)||"复制失败,请手动复制")}}),[e]),le=o.useCallback(k=>ye(exports,[k],function*({key:R}){R==="copy-content"&&(yield Z()),R==="copy-url"&&(yield je())}),[Z,je]),ee=()=>{if(p)return t.jsx("div",{className:"document-viewer-loading",children:t.jsx(C.Spin,{size:"large",tip:"加载中..."})});if(b)return t.jsx(oM,{message:"加载失败",description:b,url:e,fileName:M});if(a==="unknown"&&(N!=null&&N.content))return t.jsx(qe,{fileContent:N,fileSize:d,url:e,fileName:M});switch(a){case"text":return t.jsx(qe,{fileContent:N,fileSize:d,url:e,fileName:M});case"json":return t.jsx($n,{fileContent:N,fileSize:d,url:e,fileName:M});case"csv":return t.jsx(Hn,{fileContent:N,fileSize:d,url:e,fileName:M});case"tsv":return t.jsx(Fn,{fileContent:N,fileSize:d,url:e,fileName:M});case"jsonl":return t.jsx(Jn,{fileContent:N,fileSize:d,url:e,fileName:M});case"markdown":return t.jsx(_n,{fileContent:N,fileSize:d,url:e,fileName:M});case"html":return t.jsx(Xn,{fileContent:N,fileSize:d,url:e,fileName:M});case"xml":return t.jsx(Kn,{fileContent:N,fileSize:d,url:e,fileName:M});case"code":return t.jsx(qn,{fileContent:N,fileSize:d,url:e,fileName:M});case"image":return t.jsx(eM,{url:e,fileName:M});case"video":return t.jsx(tM,{url:e,fileName:M});case"audio":return t.jsx(nM,{url:e,fileName:M});case"pdf":return t.jsx(MM,{pdfBlobUrl:u,pdfLoading:y,pdfError:I,url:e,fileName:M,page:l});case"office":return t.jsx(lM,{url:e});case"zip":return t.jsx(sM,{zipFiles:D,zipLoading:j,zipError:x,selectedZipFile:A,zipFileContent:Y,onFileClick:h,url:e});case"unknown":default:return t.jsx(zM,{url:e})}};return t.jsxs("div",{className:`document-viewer ${s||""}`,style:i,children:[r&&t.jsxs("div",{className:"document-viewer-toolbar",children:[t.jsxs("div",{className:"document-viewer-toolbar-meta",children:[t.jsx("span",{className:"document-viewer-toolbar-name",title:se,children:se}),t.jsx("span",{className:"document-viewer-toolbar-size",children:w})]}),t.jsxs(C.Space,{size:8,wrap:!0,children:[t.jsx(C.Button,{icon:t.jsx(Ae.DownloadOutlined,{}),size:"small",href:e,target:"_blank",rel:"noopener noreferrer",download:M||void 0,children:"下载"}),t.jsx(C.Dropdown.Button,{size:"small",icon:t.jsx(Ae.CopyOutlined,{}),menu:{items:V,onClick:le},disabled:Q,loading:S,onClick:Z,children:"复制"})]})]}),t.jsx("div",{className:"document-viewer-body",children:ee()})]})},lM=({url:n})=>{const e=`https://view.officeapps.live.com/op/embed.aspx?src=${encodeURIComponent(n)}`;return t.jsxs("div",{className:"document-viewer-office",children:[t.jsx("iframe",{src:e,className:"document-viewer-iframe",title:"Office Document Preview"}),t.jsx("div",{className:"document-viewer-fallback",children:t.jsx(C.Alert,{message:"预览可能不可用",description:t.jsx("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:"点击下载文件"}),type:"info",showIcon:!0})})]})},zM=({url:n})=>t.jsx("div",{className:"document-viewer-unknown",children:t.jsx("iframe",{src:n,className:"document-viewer-iframe",title:"File Preview"})}),Vt=aM;const ue=n=>{var e;return t.jsx("button",re(E({},n),{className:`g-icon-btn disabled ${(e=n==null?void 0:n.className)!=null?e:""}`}))},jM=n=>{var d,L;const e=o.useRef(null),{className:M,headerClassName:s,style:i,visible:r,mode:l="normal",header:c,icons:a={collapseButton:t.jsx(Me,{type:"icon-yincang"}),expandButton:t.jsx(Me,{type:"icon-yincang"}),fullscreenButton:t.jsx(Me,{type:"icon-suofang"}),exitFullscreenButton:t.jsx(Me,{type:"icon-suofang"})},extraButtons:z=[],onNormalize:u,onMinimize:y,onMaximize:I}=n,[D,j]=o.useState(l==="max"),[x,A]=o.useState(l==="min"),Y=o.useRef(null),[h,p]=o.useState(l);o.useEffect(()=>{j(l==="max"),A(l==="min"),p(l)},[l]);const T=()=>{j(!D),p(D?"normal":"max"),D?u&&u():I&&I()},b=()=>{A(!x),p(x?"normal":"min"),x?u&&u():y&&y()};o.useEffect(()=>{Y.current&&D&&(Y.current.style.transform="none")},[D]);const B=(L=n.fullScreenContainer)!=null?L:(d=e.current)==null?void 0:d.parentElement,N=B==null?void 0:B.getBoundingClientRect(),U={position:"fixed",top:N==null?void 0:N.y,left:N==null?void 0:N.x,width:x?0:N==null?void 0:N.width,height:N==null?void 0:N.height};return t.jsxs("div",{className:"g-expandable-pannel-wrap",style:E({visibility:r!==!1?"visible":"hidden",position:D&&!x?"absolute":"unset"},D?U:null),ref:e,children:[!x&&t.jsxs("div",{className:`g-expandable-pannel ${D?"full":""} `,style:E({},i),children:[c!=null?c:t.jsx("div",{className:`g-expandable-pannel-header ${s!=null?s:""}`,children:t.jsx(ue,{onClick:T,children:D?a.exitFullscreenButton:a.fullscreenButton})}),t.jsx("div",{className:"g-expandable-pannel-body",children:n.children})]}),t.jsx("div",{className:`g-expandable-pannel-expand-bar ${x?"collapsed":"expaned"} ${s!=null?s:""}`,children:t.jsx(ue,{onClick:b,children:x?a.expandButton:a.collapseButton})})]})};const NM={stroke:"rgba(255, 77, 79, 0.25)",strokeWidth:1},$t=n=>{const{style:e,passes:M,scale:s,activePassId:i,passStyle:r,activePassStyle:l}=n;return t.jsx("svg",{className:"pass-map",style:e,children:M.map((c,a)=>{var u;const z=c.id===i?l:NM;return t.jsx("g",{children:t.jsx("polygon",{points:(u=c.points)==null?void 0:u.map(y=>`${y.x*s} ${y.y*s}`).join(","),style:E(E(E({},r),c.passStyle),z)})},a)})})};const uM=n=>{var y,I,D,j;const u=n,{children:e,open:M,point:s,key:i,style:r}=u,l=Ye(u,["children","open","point","key","style"]),[c,a]=o.useState(M&&s.tooltipOpen!==void 0?s.tooltipOpen:void 0),z=o.useRef(null);return o.useEffect(()=>{var Y,h;if(!s.tooltipRender||!z.current)return;const x=s.tooltipRender(s);if(typeof x=="string"||typeof x=="number"){z.current.innerText=x.toString();return}const A=(Y=z.current)==null?void 0:Y.firstChild;A?A.replaceWith(x):(h=z.current)==null||h.appendChild(x),console.log("tooltip inner text",s.id),console.log(new Date().valueOf())},[s.tooltipRender,c]),o.useEffect(()=>{a(s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0)},[s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0]),console.log("render PointTooltip",s.id),console.log(new Date().valueOf()),t.jsx(Qt,re(E({},l),{autoAdjustOverflow:!1,placement:"top",open:s.tooltipOpen!==void 0?s.tooltipOpen&&M:void 0,onOpenChange:x=>{var h,p;if(s.tooltipOpen||a(x),console.log("tooltip inner text",s.id),console.log(new Date().valueOf()),!s.tooltipRender||!z.current)return;const A=s.tooltipRender(s);if(typeof A=="string"||typeof A=="number"){z.current.innerText=A.toString();return}const Y=(h=z.current)==null?void 0:h.firstChild;Y?Y.replaceWith(A):(p=z.current)==null||p.appendChild(A)},color:((y=s.tooltipStyle)==null?void 0:y.backgroundColor)||((I=s.tooltipStyle)==null?void 0:I.backgroundImage)||((j=(D=s.tooltipStyle)==null?void 0:D.background)==null?void 0:j.toString()),title:t.jsx("div",{ref:z},i),overlayInnerStyle:s.tooltipStyle,destroyTooltipOnHide:!0,style:E({zIndex:9},r),motion:{forceRender:!0},children:e}))},gM=uM,dM={attributes:!0,characterData:!0},yM=n=>{const e=o.useRef(null),{point:M,open:s,id:i,x:r,y:l,r:c,active:a=!1,hidden:z=!1,onPointClick:u,getTooltipContainer:y}=n,[I,D]=o.useState(n.style),[j,x]=o.useState(!0);o.useEffect(()=>{const h=gn.diff(I,n.style);Object.keys(h).length&&D(n.style)},[n.style]);const A=o.useMemo(()=>t.jsx("circle",{id:`mark-${i}`,className:"point point-active",cx:r,cy:l,r:c,ref:e,style:I,onClick:()=>u&&u(M)}),[r,l,c,I,a]),Y=o.useMemo(()=>{const h=dn(()=>{x(!0),console.log("show tooltip",M.id),console.log(new Date().valueOf())},200);return new MutationObserver(()=>{console.log("circle is changed"),console.log("hide tooltip",M.id),console.log(new Date().valueOf()),x(!1),h()})},[]);return o.useEffect(()=>{if(!(!e.current||!M.tooltipRender))return Y.observe(e.current,dM),()=>{e.current&&Y.disconnect()}},[r,l,c]),z?t.jsx(t.Fragment,{}):M.tooltipRender&&j?t.jsx(gM,{open:s,point:M,getPopupContainer:y,children:A}):A},Et=yM,Ht=n=>{var Ue;const{width:e,height:M,points:s,scale:i,pointSize:r=6,direction:l,activePointId:c,style:a,lineStyle:z,pointStyle:u,directionStyle:y,marks:I,resizable:D,transform:j,keepRatio:x=!1,onPointClick:A,onTransform:Y,onPointsChange:h,onCancelResize:p,actions:T=!0,setIsSaved:b,isSaved:B=!1}=n,N=o.useRef(null),U=o.useRef(null),d=o.useRef(null),L=o.useRef(null),S=o.useRef(null),[_,se]=o.useState(null),[w,m]=o.useState((j==null?void 0:j.scale)||[1,1]),[Q,V]=o.useState((j==null?void 0:j.rotate)||0),[Z,je]=o.useState((j==null?void 0:j.translate)||[0,0,0,0]),[le,ee]=o.useState([]),[R,k]=o.useState(),[ce,oe]=o.useState(),[K,F]=o.useState(D),[De,J]=o.useState([]),[$,Te]=o.useState(s),[ge,Se]=o.useState(!0),[te,me]=o.useState(),[ie,de]=o.useState(),[Oe,Ze]=o.useState(typeof T!="boolean"?T:T===!0?{}:null),fe=(r-r/4*.9)*2/i;o.useEffect(()=>{Ze(typeof T!="boolean"?T:T===!0?{}:null)},[T]);const Ve=(g,f)=>{if(!g.length)return;let G;return g.map(v=>{var ae;if(!G){G=v;return}const H=t.jsx("line",{x1:Number.isFinite(G.x)?G.x:0,y1:Number.isFinite(G.y)?G.y:0,x2:Number.isFinite(v.x)?v.x:0,y2:Number.isFinite(v.y)?v.y:0,style:re(E(E({stroke:"#1F66E1BF"},z),G.lineStyle),{strokeWidth:Number((z==null?void 0:z.strokeWidth)||((ae=G.lineStyle)==null?void 0:ae.strokeWidth)||2)/f})},v.id);return G=v,H})},ve=new ResizeObserver(()=>{N.current&&(U.current&&(U.current.style.transform="none",U.current.style.width="auto",U.current.style.height="100%"),U.current&&(U.current.style.width="100%",U.current.style.height="100%"))});o.useEffect(()=>{var g;de((g=d.current)==null?void 0:g.getBoundingClientRect())},[a==null?void 0:a.left,a==null?void 0:a.top,a==null?void 0:a.width,a==null?void 0:a.height,i]),o.useEffect(()=>{F(D)},[D]),o.useEffect(()=>{Te(s||[])},[s,De]),o.useEffect(()=>{var g;(!((g=d.current)!=null&&g.style.transform)||d.current.style.transform==="none")&&(m((j==null?void 0:j.scale)||[1,1]),V((j==null?void 0:j.rotate)||0),je((j==null?void 0:j.translate)||[0,0,0,0]))},[(Ue=d.current)==null?void 0:Ue.style.transform]),o.useEffect(()=>{!d.current||K||(d.current.style.transform="none",m((j==null?void 0:j.scale)||[1,1]),V((j==null?void 0:j.rotate)||0),je((j==null?void 0:j.translate)||[0,0,0,0]))},[K]),o.useEffect(()=>{if(N.current)return ve.observe(N.current),()=>{N.current&&ve.unobserve(N.current)}},[N.current]),o.useEffect(()=>{!_||!j||(_.throttleDragRotate=j.rotate,_.throttleScale=j.scale,_.throttleDrag=j.translate)},[_,j]),o.useEffect(()=>{k($==null?void 0:$.find(f=>f.id===c));let g=$.map(f=>{var ae,Be,he;const G=f.x,O=f.y,v=f.id===c,H=r*(v?1.2:1)/i;return t.jsx(Et,{open:ge,id:f.id,point:f,getTooltipContainer:()=>S.current||document.body,x:G,y:O,r:u!=null&&u.r||(ae=f.pointStyle)!=null&&ae.r?Number((u==null?void 0:u.r)||((Be=f.pointStyle)==null?void 0:Be.r))/i:H/2,hidden:v,style:re(E(E({stroke:"#1F66E1BF",fill:"#fff",cursor:A?"pointer":"unset"},u),f.pointStyle),{strokeWidth:Number(((he=f.pointStyle)==null?void 0:he.strokeWidth)||2)/i,r:void 0}),onPointClick:A},f.id)})||[];ee(g)},[$,c,i,ge]),o.useEffect(()=>{var v,H,ae;if(!R){oe(void 0);return}const g=R.x,f=R.y,G=R.id===c,O=r*(G?1.2:1)/i;oe(t.jsxs("g",{children:[l!==void 0&&t.jsx("circle",{id:`mark-${R.id}`,cx:g,cy:f,r:`${fe}`,strokeDasharray:fe*2*Math.PI,strokeDashoffset:fe*2*Math.PI/360*(360-60),style:E({transform:`rotate(${l+240}deg)`,transformOrigin:`${g}px ${f}px`,strokeWidth:fe*2,stroke:"#1F66E1BF",fill:"transparent",pointerEvents:"none"},y)}),t.jsx(Et,{open:ge,point:R,getTooltipContainer:()=>S.current||document.body,x:g,y:f,r:(v=R.pointStyle)!=null&&v.r?Number((H=R.pointStyle)==null?void 0:H.r)/i:O/2,style:re(E(E({stroke:"#1F66E1BF",fill:"#fff"},u),R.pointStyle),{strokeWidth:Number(((ae=R.pointStyle)==null?void 0:ae.strokeWidth)||2)/i,r:void 0}),onPointClick:A},R.id)]},R.id))},[R,l,i,ge]),o.useEffect(()=>{d.current&&setTimeout(()=>{var g,f;me((g=d.current)==null?void 0:g.getBBox()),de((f=d.current)==null?void 0:f.getBoundingClientRect())},100)},[j]),o.useEffect(()=>{var f,G;if(!d.current)return;me((f=d.current)==null?void 0:f.getBBox()),de((G=d.current)==null?void 0:G.getBoundingClientRect()),new ResizeObserver(()=>{var O,v;me((O=d.current)==null?void 0:O.getBBox()),de((v=d.current)==null?void 0:v.getBoundingClientRect())}).observe(d.current)},[d.current]),o.useEffect(()=>{B&&(Ne(),b&&b(!1))},[B]);const Ne=()=>{var O;const g=(O=L.current)==null?void 0:O.getBoundingClientRect();if(!g){h&&h(s),F(!1);return}const f=De.map(v=>{const H=v.getBoundingClientRect();return{id:v.id.split("-")[1],x:(H.x+H.width/2-g.x)/i,y:(H.y+H.height/2-g.y)/i}}),G=s.map(v=>{const H=f==null?void 0:f.find(ae=>ae.id.toString()===v.id.toString());return H?E(E({},v),H):v});Te(G),h&&h(G.length?G.map((v,H)=>({id:v.id,x:v.x,y:v.y,order:H})):s),F(!1)},Le=g=>g.map(f=>{const{render:G,renderData:O}=f,v=f.x*i,H=f.y*i;return t.jsx(Qt,{className:"track-map-marker-tooltip",placement:"top",title:G(O,E({},f)),open:!!O,style:{zIndex:9999},children:t.jsx("circle",{id:`mark-${f.id}`,cx:v,cy:H,r:r/2,style:{stroke:"#1F66E100",strokeWidth:2,fill:"#fff0"},children:t.jsx("span",{children:O.label})})},f.id)}),be=te?{x:te.x+te.width/2,y:te.y+te.height/2}:{x:0,y:0},ke=$.reduce((g,f)=>[Math.min(g[0],f.x),Math.max(g[1],f.x)],[0,0]),Qe=$.reduce((g,f)=>[Math.min(g[0],f.y),Math.max(g[1],f.y)],[0,0]);return t.jsx(C.ConfigProvider,{prefixCls:"g-rc",children:t.jsxs("div",{className:"track-map",style:{width:"100%",height:"100%"},ref:N,children:[t.jsx("svg",{style:a,ref:L,viewBox:`0 0 ${e} ${M}`,children:t.jsxs("g",{ref:d,x:ke[0],y:Qe[0],width:ke[1]-ke[0],height:Qe[1]-Qe[0],style:{transformOrigin:`${be.x}px ${be.y}px`,cursor:K?"url('./images/icon-move.svg') 16 16, move":"unset",transform:j&&j.scale?`${j.translate?` translate(${j.translate[0]}px, ${j.translate[1]}px)`:""} rotate(${j.rotate}rad)${j.scale?` scale(${j.scale[0]}, ${j.scale[1]})`:""}`:"none"},children:[te&&t.jsx("rect",{x:te.x,y:te.y,width:te.width,height:te.height,fill:"#ff000004"}),t.jsx("g",{className:"track-lines",children:Ve(($==null?void 0:$.filter(g=>g.order>-1))||[],i)}),t.jsxs("g",{className:"track-points",children:[le,ce]}),I&&t.jsx("g",{children:Le(I)})]})}),t.jsx("div",{className:"tooltip-container",ref:S,style:{position:"fixed",top:(ie==null?void 0:ie.y)||0,left:(ie==null?void 0:ie.x)||0,width:(ie==null?void 0:ie.width)||0,height:(ie==null?void 0:ie.height)||0}}),K&&d.current&&L.current&&t.jsx(un,{className:"path-moveable-control-box",ref:g=>{se(g)},keepRatio:x,target:[d.current],draggable:!0,scalable:!0,rotatable:!0,padding:{left:10,right:10,top:10,bottom:10},onDrag:({target:g,beforeDelta:f,beforeDist:G,left:O,top:v,right:H,bottom:ae,delta:Be,dist:he,transform:pe,clientX:nt,clientY:Mt})=>{je(he),g.style.transform=pe},onDragStart:({inputEvent:g})=>{g.stopPropagation()},onDragEnd:()=>{var f;const g=(f=d.current)==null?void 0:f.getElementsByTagName("circle");J(g!=null&&g.length?[...g]:[]),Y&&Y({rotate:Q,translate:Z,scale:w},g!=null&&g.length?[...g]:[],L.current||void 0)},renderDirections:x?["nw","ne","sw","se"]:["n","w","e","s","nw","ne","sw","se"],onScale:({target:g,scale:f,transform:G})=>{var v;m(f),g.style.transform=G;const O=(v=d.current)==null?void 0:v.getElementsByTagName("circle");J(O!=null&&O.length?[...O]:[]),Y&&Y({rotate:Q,translate:Z,scale:f},O!=null&&O.length?[...O]:[],L.current||void 0)},onRotate:({target:g,dist:f,transform:G})=>{var v;V(f),g.style.transform=G;const O=(v=d.current)==null?void 0:v.getElementsByTagName("circle");J(O!=null&&O.length?[...O]:[]),Y&&Y({rotate:f,translate:Z,scale:w},O!=null&&O.length?[...O]:[],L.current||void 0)},onRenderEnd:()=>{var f,G,O;const g=(f=d.current)==null?void 0:f.getElementsByTagName("circle");Y&&Y({rotate:Q,translate:Z,scale:w},g!=null&&g.length?[...g]:[],L.current||void 0),me((G=d.current)==null?void 0:G.getBBox()),de((O=d.current)==null?void 0:O.getBoundingClientRect())}})]})})},Ct=n=>{const{name:e,type:M,style:s,className:i,children:r,onConfirm:l}=n,[c,a]=o.useState(null);return o.useEffect(()=>{if(!n.confirm){a(null);return}if(n.confirm===!0){a({text:`确认${e}吗?`});return}a(n.confirm)},[n.confirm]),c?t.jsx(yn,{rootClassName:"track-map-popconfirm",okText:"确定",cancelText:"取消",title:c.text,trigger:"click",onConfirm:l,children:t.jsx(Xe,{className:i,type:M,style:E({},s),children:r||e})}):t.jsx(Xe,{className:i,type:M,onClick:l,children:r||e})};let St;const DM=o.forwardRef((n,e)=>{var ot,it,rt,ct,at,lt,zt,jt,Nt,ut,gt,dt,yt,Dt,It,xt,Tt,wt,At,mt,ft;const{url:M,points:s,pointSize:i,direction:r,activePointId:l,lineStyle:c,pointStyle:a,directionStyle:z,onPointClick:u,passes:y,activePassId:I,passStyle:D,activePassStyle:j,marks:x,draggable:A=!1,offsetEdge:Y=[50,50,50,50],zoomable:h=!1,zoomStep:p=.02,zoomMax:T=2,zoomMin:b=0,onImageLoad:B,trackEditable:N,trackEditing:U,keepRatio:d,transform:L,onTrackEditingChange:S,onTransform:_,onPointsChange:se,actions:w=!0}=n,m=o.useRef({}),Q=o.useRef({}),[V,Z]=o.useState(0),[je,le]=o.useState(0),[ee,R]=o.useState(1),[k,ce]=o.useState(0),[oe,K]=o.useState(0),[F,De]=o.useState(0),[J,$]=o.useState(0),[Te,ge]=o.useState(!1),[Se,te]=o.useState(!1),[me,ie]=o.useState(),[de,Oe]=o.useState({x:0,y:0}),[Ze,fe,Ve,ve]=Y,[Ne,Le]=o.useState(U),[be,ke]=o.useState(1),[Qe,Ue]=o.useState(!1),[g,f]=o.useState(typeof w!="boolean"?w:w===!0?{}:null);o.useEffect(()=>{ke(Math.round(ee*100)/100)},[ee]),o.useEffect(()=>{Le(U)},[U]),o.useEffect(()=>{St=new ResizeObserver(G),St.observe(Q.current);const P=W=>(W.preventDefault(),!1);return Q.current.addEventListener("wheel",P),()=>{Q.current.removeEventListener("wheel",P)}},[]);const G=()=>{if(!Q.current)return;const P=Q.current.clientWidth,W=Q.current.clientHeight,q=m.current.naturalWidth,ne=m.current.naturalHeight,we=P/q,$e=W/ne,Re=we<$e?we:$e,Kt=(P-q*Re)/2,qt=(W-ne*Re)/2,en=q*Re,tn=ne*Re;Z(P),le(W),R(Re),ce(Kt),K(qt),De(en),$(tn),ge(!0),B&&B(m.current)},O=()=>{if(!h||ee>=T)return;let P=ee*(1+p),W=p;P>=T&&(P=T,W=T/ee-1),ce(k-F*(W/2)),K(oe-J*(W/2)),De(F+F*W),$(J+J*W),R(P),pe()},v=()=>{if(!h||ee<=b)return;let P=ee*(1-p),W=p;P<=b&&(P=b,W=1-b/ee),ce(k-F*(-W/2)),K(oe-J*(-W/2)),De(F+F*-W),$(J+J*-W),R(P),pe()};o.useImperativeHandle(e,()=>({zoomIn:O,zoomOut:v}));const H=P=>(P.nativeEvent.deltaY<0?O():v(),!1),ae=P=>{te(!0);const{pageX:W,pageY:q}=P;Oe({x:W,y:q})},Be=P=>{if(!Se)return!1;const{pageX:W,pageY:q}=P,ne=W-de.x,we=q-de.y;Oe({x:W,y:q}),ce(k+ne),K(oe+we),pe()},he=()=>{te(!1)};window.onmouseup=()=>{te(!1)};const pe=()=>{k<-F+ve&&ce(-F+ve),oe<-J+Ze&&K(-J+Ze),k>V-fe&&ce(V-fe),oe>je-Ve&&K(je-Ve)},nt=()=>{Le(!Ne),S&&S(!Ne)},Mt=P=>{const{touches:W}=P;if(console.log("onTouchStart"),console.log(W),te(!0),W.length<2){const{clientX:q,clientY:ne}=W[0];Oe({x:q,y:ne})}else ie(W)},Jt=P=>{if(!Se||!P.touches)return!1;const{clientX:W,clientY:q}=P.touches[0];if(P.touches.length<2){const ne=W-de.x,we=q-de.y;Oe({x:W,y:q}),ce(k+ne),K(oe+we),pe()}else{console.log("onTouchMove"),console.log(P.touches);const ne=P.touches,we=st(ne[0],ne[1]),$e=st(me[0],me[1]);we>$e?O():v()}},st=(P,W)=>{const q=W.pageX-P.pageX,ne=W.pageY-P.pageY;return Math.sqrt(q*q+ne*ne)};o.useEffect(()=>{f(typeof w!="boolean"?w:w===!0?{}:null)},[w]);const _t=()=>{Le(!1),S&&S(!1)},Xt=()=>{Ue(!0)};return t.jsxs("div",{className:"image-map",ref:Q,onMouseDown:A?ae:void 0,onMouseMove:A?Be:void 0,onMouseUp:A?he:void 0,onWheel:A?H:void 0,onTouchStart:A?Mt:void 0,onTouchMove:A?Jt:void 0,onTouchEnd:A?he:void 0,children:[t.jsx("img",{className:"img",style:{position:"absolute",left:k,top:oe,width:F,height:J},ref:m,onLoad:G,src:M,alt:""}),Te&&(y==null?void 0:y.length)&&t.jsx($t,{style:{position:"absolute",left:k,top:oe,width:F,height:J},passes:y,scale:ee,activePassId:I,passStyle:D,activePassStyle:j}),Te&&!!(s!=null&&s.length)&&t.jsx(Ht,{style:{position:"absolute",left:k,top:oe,width:F,height:J,overflow:"visible"},width:m.current.naturalWidth,height:m.current.naturalHeight,transform:L,movable:Ne,resizable:Ne,points:s,scale:ee,pointSize:i,direction:r,activePointId:l,lineStyle:c,pointStyle:a,directionStyle:z,keepRatio:d,marks:x,onPointClick:u,onTransform:_,onPointsChange:P=>{se&&se(P),Le(!1),S&&S(!1)},onCancelResize:()=>{Le(!1),S&&S(!1)},actions:w,setIsSaved:Ue,isSaved:Qe}),N&&t.jsxs("div",{className:"image-map-toolbar",children:[t.jsx(Ft,{className:"zoom-controller",value:be,min:b,max:T,step:p,showText:!0,onChange:P=>{be>P?v():O()}}),N&&(Ne&&w?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"line"}),t.jsxs("div",{className:"editing-controller",children:[t.jsx(Ct,{children:typeof w!="boolean"&&((ot=w.cancelButton)==null?void 0:ot.children)||void 0,name:typeof w!="boolean"&&((it=w.cancelButton)==null?void 0:it.text)||"退出编辑",className:`editing-controller${Ne?" active":""} ${typeof w!="boolean"&&((rt=w.cancelButton)==null?void 0:rt.className)||""}`,confirm:((ct=g==null?void 0:g.cancelButton)==null?void 0:ct.confirm)===!0?{text:"调整记录将不被保存"}:(at=g==null?void 0:g.cancelButton)!=null&&at.confirm?g.cancelButton.confirm:!1,style:typeof w!="boolean"&&((lt=w.cancelButton)==null?void 0:lt.style)||void 0,onConfirm:_t}),t.jsx(Ct,{type:"primary",children:typeof w!="boolean"&&((zt=w.okButton)==null?void 0:zt.children)||t.jsxs("div",{className:"save-detail",children:[t.jsx(Ae.SaveOutlined,{}),t.jsx("span",{children:"保存"})]}),name:typeof w!="boolean"&&((jt=w.okButton)!=null&&jt.confirm)?((Nt=w.okButton)==null?void 0:Nt.text)||"保存":"确定",className:`editing-controller${Ne?" active":""} ${typeof w!="boolean"&&((ut=w.okButton)==null?void 0:ut.className)||""}`,confirm:((gt=g==null?void 0:g.okButton)==null?void 0:gt.confirm)===!0?{text:"调整记录保存后,将改变当前巡检数据状态"}:(dt=g==null?void 0:g.okButton)!=null&&dt.confirm?g.okButton.confirm:!1,style:typeof w!="boolean"&&((yt=w.okButton)==null?void 0:yt.style)||void 0,onConfirm:Xt})]})]}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"line"}),t.jsx("div",{className:"moveable-controller",children:t.jsx(Xe,{title:Ne?typeof w!="boolean"&&((Dt=w.editButton)==null?void 0:Dt.exitTitleText)||"退出编辑":typeof w!="boolean"&&((It=w.editButton)==null?void 0:It.titleText)||"调整轨迹",className:`moveable-controller-btn${Ne?" active":""} ${typeof w!="boolean"&&((xt=w.editButton)==null?void 0:xt.className)||""}`,style:typeof w!="boolean"&&((Tt=w.editButton)==null?void 0:Tt.style)||void 0,onClick:nt,children:typeof w!="boolean"?(wt=w.editButton)!=null&&wt.children?(At=w.editButton)==null?void 0:At.children:(mt=w.editButton)!=null&&mt.text?t.jsx("span",{children:(ft=w.editButton)==null?void 0:ft.text}):t.jsxs("div",{className:"btn-change",children:[t.jsx(Me,{type:"icon-tiaozheng"}),t.jsx("span",{children:"修改"})]}):void 0})})]}))]})]})}),IM=n=>{const{className:e,style:M,length:s=0,current:i=0,speed:r=2e3,play:l=!1,loop:c=!1,loading:a=!1,onChange:z}=n,[u,y]=o.useState(l),[I,D]=o.useState(i),[j,x]=o.useState(null);o.useEffect(()=>{D(i)},[i]),o.useEffect(()=>{y(l)},[l]),o.useEffect(()=>{u?A():I>=s-1&&(D(0),z(0))},[u]),o.useEffect(()=>{u&&(a?j&&(clearTimeout(j),x(null)):x(setTimeout(A,r)))},[a]);const A=()=>{D(p=>p<s-1?(z(p+1),p+1):c?(z(0),0):(h(),p))},Y=()=>{I>=s-1&&D(0),y(!0)},h=()=>{y(!1),j&&(clearTimeout(j),x(null))};return t.jsxs("div",{className:e,style:M,children:[t.jsx(ue,{disabled:I<=0||a,onClick:()=>{z(0),D(0)},children:t.jsx(Me,{type:"icon-diyige"})}),t.jsx(ue,{disabled:I<=0||a,onClick:()=>{z(I-1),D(I-1)},children:t.jsx(Me,{type:"icon-qianyige"})}),u?t.jsx(ue,{onClick:h,children:t.jsx(Me,{type:"icon-zanting"})}):t.jsx(ue,{disabled:I>=s-1||a,onClick:Y,children:t.jsx(Me,{type:"icon-bofang"})}),t.jsx(ue,{disabled:I>=s-1||a,onClick:()=>{z(I+1),D(I+1)},children:t.jsx(Me,{type:"icon-xiayige"})}),t.jsx(ue,{disabled:I>=s-1||a,onClick:()=>{z(s-1),D(s-1)},children:t.jsx(Me,{type:"icon-zuihouyige"})})]})};const xM=16,TM=16,wM=-1,AM=1,mM=-1,fM=1,LM=n=>{const e=n||window.event,M=n.target||n.srcElement;if(e.offsetX)return e.offsetX;{const s=M.getBoundingClientRect();return e.clientX-s.left}},hM=n=>{const e=n||window.event,M=n.target||n.srcElement;if(e.offsetY)return e.offsetY;{const s=M.getBoundingClientRect();return e.clientY-s.top}},YM=n=>{const e=n.split("-");let M=e.length>1||e[0]==="left"||e[0]==="right"?e[0]:"center",s=e.length>1?e[1]:e[0]==="top"||e[0]==="bottom"?e[0]:"middle";return[M,s]},pM=(n,e,M=[xM,TM])=>{const s=()=>{switch(n[0]){case"left":return wM;case"right":return AM;default:return 0}},i=()=>{switch(n[1]){case"top":return mM;case"bottom":return fM;default:return 0}},r=()=>{switch(n[0]){case"left":return-((e==null?void 0:e.width)||0)-M[0]-2;case"right":return 0;default:return-((e==null?void 0:e.width)||0)/2}},l=()=>{switch(n[1]){case"top":return-M[1]-2;case"bottom":return(e==null?void 0:e.height)||0;default:return((e==null?void 0:e.height)||0)/2}};return{x:M[0]*s()+r(),y:M[1]*i()+l()}},EM=n=>{var T;const{children:e,defaultPosition:M,forElement:s,placement:i="right-bottom",curserPosition:r,className:l,style:c}=n,a=o.useRef(null),z=o.useRef(null),u=s||document.body,y=YM(i),I=pM(y,(T=z.current)==null?void 0:T.getBoundingClientRect(),r),[D,j]=o.useState(n.visible||!0),[x,A]=o.useState(M||{x:-2e3,y:-2e3});o.useEffect(()=>(u.addEventListener("mouseenter",Y),u.addEventListener("mousemove",p),u.addEventListener("mouseleave",h),()=>{u.removeEventListener("mouseenter",Y),u.removeEventListener("mousemove",p),u.removeEventListener("mouseleave",h)}),[u]),o.useEffect(()=>{j(n.visible||!0)},[n.visible]);const Y=()=>{j(!0)},h=()=>{j(!1)},p=b=>{let B=LM(b)+I.x;const N=hM(b)+I.y;A({x:B,y:N})};return t.jsx("div",{className:`g-mouse-tip ${y.join(" ")}`,ref:a,style:{left:`${x.x}px`,top:`${x.y}px`,visibility:`${D?"visible":"hidden"}`},children:t.jsx("div",{className:`g-mouse-tip-content ${l}`,style:c,ref:z,children:e})})},Ft=n=>{const{className:e,style:M,value:s,min:i,max:r,step:l=1,onChange:c,showText:a=!1}=n,[z,u]=o.useState(s!=null?s:0);return o.useEffect(()=>{u(s!=null?s:0)},[s]),t.jsxs("div",{className:e,style:M,children:[t.jsx(ue,{disabled:!!(r&&r<=z),onClick:()=>{c(z+l),u(z+l)},children:t.jsx(Me,{type:"icon-fangda"})}),a&&t.jsxs("div",{style:{width:40,textAlign:"center"},children:[Math.round(z*100),"%"]}),t.jsx(ue,{disabled:!!(i&&i>=z),onClick:()=>{c(z-l),u(z-l)},children:t.jsx(Me,{type:"icon-suoxiao"})})]})};function CM(n,e){var M=document.getElementsByTagName("body")[0],s=document.createElement("script");s.setAttribute("type","text/javascript"),s.setAttribute("src",n),M.appendChild(s),s.onload=e}function SM(n){const[e,M]=o.useState(!1),[s,i]=o.useState(),[r,l]=o.useState(),[c,a]=o.useState(!1),[z,u]=o.useState(),[y,I]=o.useState([]),[D,j]=o.useState(0);function x(N){if(N.viewType!="3DView"){console.error("bimface view type is not 3DView");return}M(!0),z&&A(N.viewToken)}const A=N=>{if(!s){let U=z,d=new window.Glodon.Bimface.Application.WebApplication3DConfig;d.domElement=U,d.Toolbars=[];const L=new window.Glodon.Bimface.Application.WebApplication3D(d);L.addView(N),i(L);const S=L.getViewer();S.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded,function(){window.onresize=function(){S.resize(document.documentElement.clientWidth,document.documentElement.clientHeight-40)},S.setCameraAnimation(!1),S.render(),S.setNavigationMode(window.Glodon.Bimface.Viewer.NavigationMode3D.Walk),S.render(),a(!0)}),S.addEventListener(window.Glodon.Bimface.Viewer.Viewer3DEvent.ModelAdded,()=>{j(_=>_+1)}),l(S)}};o.useEffect(()=>{c&&y.forEach(N=>{r.loadModel({viewToken:N})})},[c,y]),o.useEffect(()=>{},[D]),o.useEffect(()=>{if(!z||!y.length)return;const N=y.pop();N&&h(N),I([...y])},[z]);function Y(N){console.log(N)}function h(N){j(0);const U=()=>{let d=new window.BimfaceSDKLoaderConfig;d.viewToken=N,window.BimfaceSDKLoader.load(d,x,Y)};if(!window.BimfaceSDKLoaderConfig){CM("https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js",U);return}U()}const p=(N,U)=>{if(!r||!c||!z){console.error("BIMFace viewer is not ready.");return}const d=z.getElementsByTagName("canvas")[0],L=document.createElement("canvas");L.width=d.width,L.height=d.height;const S=L.getContext("2d");return S&&(S.fillStyle="#fff",S.fillRect(0,0,L.width,L.height),S.drawImage(d,0,0,d.width,d.height)),L.toDataURL(N,U)},T=N=>{if(!r){console.error("viewer is not ready");return}if(D&&y.length+1===D||!y.length)r.getAllModels().map(L=>r._models[L.modelId]).forEach(L=>{let S=new window.Glodon.Web.Graphics.Color(N);L.overrideAllComponentsColor&&L.overrideAllComponentsColor(S)}),r.enableWireframe(!0),r.getLightManager().getAllFillLights().forEach(L=>L.enableLight(!0)),r.render();else{console.error("viewer is not render complete");return}},b=N=>{if(r)if(D&&y.length+1===D||!y.length)r.getAllModels().map(L=>r._models[L.modelId]).forEach(L=>{Object.keys(N).forEach(S=>{let _=[{categoryId:S}];L.getComponentsByConditions(_,function(se){let w=new window.Glodon.Web.Graphics.Color(N[S]);L.overrideComponentsColorById&&L.overrideComponentsColorById(se,w)},function(){window.alert("error")})})}),r.enableWireframe(!1),r.getLightManager().getAllFillLights().forEach(L=>L.enableLight(!1)),r.render();else{console.error("viewer is not render complete");return}};function B(N,U,d){const L=r.getModel();L==null||L.getBoundingBox(({currentBoundingBox:S})=>{const _=S.max.x-S.min.x,se=S.max.y-S.min.y,w=_/se;let m,Q;w>1?(m=U.width,Q=m/w):(Q=U.height,m=Q*w);const V=document.createElement("div");V.setAttribute("style",`width: ${m}px;height: ${Q}px`),document.body.appendChild(V);const Z=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewerConfig;Z.domElement=V;const je=new window.Glodon.Bimface.Plugins.NavigationMap.MapViewer(Z),le=new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMapConfig;le.viewer=r,le.mapViewer=je,le.type="SetProfile",le.height=N,le.successCallback=ee=>{setTimeout(()=>{const R=new Image;R.src=V.getElementsByTagName("image")[0].getAttribute("href")||"",R.onload=()=>{d(R)}},200)},new window.Glodon.Bimface.Plugins.NavigationMap.NavigationMap(le)})}return{BimfaceViewer:e&&window.Glodon.Bimface.Viewer,BimfaceSection:e&&window.Glodon.Bimface.Plugins.Section,BimfaceMark:e&&window.Glodon.Bimface.Plugins.Marker3D,BimfaceViewerEvents:e&&window.Glodon.Bimface.Viewer.Viewer3DEvent,viewer:r,viewerAdded:c,sDKLoaded:e,loadedModelCount:D,loadModels:N=>{if(N!=null&&N.length||console.error("viewTokens is Empty"),!r&&z){const U=N[0];h(U)}I(N)},setContainerDom:u,getSnapshot:p,setComponentsColorByCatgryId:b,setAllComponentsColor:T,navigationMapByHeight:B}}function OM(n){const{url:e,onScaleChange:M,onLoad:s}=n,i=o.useRef(null),r=Ut.useSize(i),l=r==null?void 0:r.width,c=r==null?void 0:r.height,[a,z]=o.useState();return o.useEffect(()=>{l&&c&&a&&M(l/a.width,l,c)},[l,c,a]),t.jsx("img",{ref:i,src:e,className:"select-none",style:{maxWidth:"100%",maxHeight:"100%",cursor:"crosshair"},alt:"",onLoad:()=>{if(i.current){s&&s(i.current);const{naturalWidth:u,naturalHeight:y}=i.current;z({width:u,height:y})}}})}function Ot(n){const{start:e,end:M}=n,{options:{lineColor:s,lineWidth:i}}=o.useContext(Ge);return t.jsx(t.Fragment,{children:t.jsx("line",{x1:e.x,y1:e.y,x2:M.x,y2:M.y,stroke:s!=null?s:"#FF5500",strokeWidth:i!=null?i:2})})}function vt(n){const{markRenderer:e,marker:M}=n,{point:{x:s,y:i}}=M;return t.jsxs("g",{children:[t.jsx("line",{}),t.jsx("line",{}),t.jsx("circle",{cx:s,cy:i,r:1,fill:"transparent"}),t.jsx("foreignObject",{x:s,y:i,width:0,height:0,fill:"green",className:"relative overflow-visible",children:t.jsx("div",{className:"inline-flex absolute",draggable:!0,onDragStart:()=>{},onDragEnd:()=>{},children:e&&e(M)})})]})}function bt(n){const{points:e,editing:M,options:s,onClose:i}=n,[r,l]=o.useState(!1),{options:{polygon:c}}=o.useContext(Ge);if(!M&&Ke(e)<=2)return null;const a=xn(e),z=e.map(({x:h,y:p})=>`${h},${p}`).join(" "),u=a?`${z} ${a.x},${a.y}`:z,{showVertexIndex:y,vertexBgColor:I,vertexTextColor:D}=c!=null?c:{},j=y?10:5,x=M||y,{hideBorder:A,backgroundColor:Y}=s!=null?s:{};return t.jsxs(t.Fragment,{children:[t.jsx("polygon",{points:`${u}`,fill:Y!=null?Y:"rgba(255, 66, 66, 0.15)"}),!A&&t.jsx("polyline",{points:M?z:u,fill:"transparent",stroke:"#FF5500",strokeDasharray:"6 4",strokeWidth:"2"}),!A&&(e==null?void 0:e.map(({x:h,y:p},T)=>{const b=T===Ke(e)-1;return t.jsx("g",{style:{zIndex:b?1:100,cursor:"pointer",pointerEvents:b?"none":"bounding-box"},onMouseEnter:B=>{b||l(!0)},onMouseLeave:B=>{l(!1)},onClick:B=>{B.stopPropagation()},onDoubleClick:B=>{B.stopPropagation(),i&&i(T)},children:x&&(!b||!r)&&t.jsxs(t.Fragment,{children:[t.jsx("circle",{cx:h,cy:p,r:j,fill:I!=null?I:"#FF5500"}),y&&t.jsx("text",{x:h,y:p,"text-anchor":"middle",fill:D!=null?D:"#fff",dy:".3em",style:{cursor:"pointer",userSelect:"none"},children:T+1})]})})}))]})}const vM=Fe.createMachine({initial:"idle",context:{},states:{idle:{on:{START_ADD_MARKER:{target:"addingMarker"},START_DRAW_LINE:{target:"drawingLine"},START_DRAW_POLYGON:{target:"drawingPolygon"}}},addingMarker:{on:{RESET:{target:"idle",actions:Ie.assign(n=>{n.markerPoint=void 0})},ADD_MARKER:{target:"drawCompleted",actions:[Ie.assign((n,{point:e})=>{n.markerPoint=e}),"onAddMarker"]},MOUSE_MOVE:{target:"addingMarker",actions:Ie.assign((n,{point:e})=>{n.movingPoint=e})}}},drawingLine:{on:{ADD_LINE_START:{target:"drawingLine",actions:Ie.assign((n,e)=>{n.lineStart=e.point})},ADD_LINE_END:{target:"drawCompleted",actions:[Ie.assign((n,e)=>{n.lineEnd=e.point}),"onAddLine"]},MOUSE_MOVE:{target:"drawingLine",actions:Ie.assign((n,{point:e})=>{n.movingPoint=e})},RESET:{target:"drawCompleted"},CANCEL:{target:"drawCompleted"}}},drawingPolygon:{on:{CANCEL:{target:"canceled"},RESET:{target:"idle",actions:Ie.assign(n=>{n.polygonPoints=void 0})},ADD_POLYGON_POINT:{target:"drawingPolygon",actions:Ie.assign((n,{point:e})=>{var M;n.polygonPoints=(M=n.polygonPoints)!=null?M:[],n.polygonPoints.push(e)})},MOUSE_MOVE:{target:"drawingPolygon",actions:Ie.assign((n,{point:e})=>{n.movingPoint=e})},DRAW_POLYGON_COMPLETE:{target:"drawCompleted",actions:["onAddPolygon"]}}},drawCompleted:{always:{target:"idle"}},canceled:{}}});function bM(n){const{state:e,scale:M,width:s,height:i,drawOptions:r,lines:l,polygons:c,markers:a,markRenderer:z,onAddLine:u,onAddPolygon:y,onAddMarker:I,onStateChange:D}=n,[j,x]=o.useState([]),[A,Y]=o.useState([]),[h,p]=o.useState([]),T=o.useRef(null),{width:b,height:B}=Ut.useSize(T)||{};function N({x:m,y:Q}){return{x:m/M,y:Q/M}}function U({x:m,y:Q}){return{x:m*M,y:Q*M}}const[d,L]=In.useMachine(vM,{actions:{onAddMarker:Fe.assign(({markerPoint:m})=>(I&&m&&I(N(m)),{markerPoint:void 0,movingPoint:void 0})),onAddLine:Fe.assign(m=>(m.lineStart&&m.lineEnd&&u&&u(N(m.lineStart),N(m.lineEnd)),{lineEnd:void 0,lineStart:void 0,movingPoint:void 0})),onAddPolygon:Fe.assign(({polygonPoints:m})=>(y&&m&&m.length>2&&y(m.map(N)),{polygonPoints:void 0,movingPoint:void 0}))},services:{}});o.useEffect(()=>{var m;x((m=l==null?void 0:l.map(({id:Q,start:V,end:Z})=>({id:Q,start:U(V),end:U(Z)})))!=null?m:[])},[l]),o.useEffect(()=>{var m;p((m=a==null?void 0:a.map(Q=>re(E({},Q),{point:U(Q.point)})))!=null?m:[])},[a]),o.useEffect(()=>{var m;Y((m=c==null?void 0:c.map(({id:Q,points:V,options:Z})=>({id:Q,points:V.map(U),options:Z})))!=null?m:[])},[c,M]),o.useEffect(()=>{D&&d.matches("idle")&&D("viewOnly")},[d.value]),o.useEffect(()=>{if(D)switch(e){case"drawingLine":L("START_DRAW_LINE");break;case"drawingPolygon":L("START_DRAW_POLYGON");break;case"addingMarker":L("START_ADD_MARKER");break}},[e]);const{lineStart:S,lineEnd:_,polygonPoints:se,movingPoint:w}=d.context;return t.jsx(Ge.Provider,{value:{options:r!=null?r:{}},children:t.jsx("div",{ref:T,className:"w-full h-full absolute left-0 top-0",style:{cursor:e==="viewOnly"?void 0:"crosshair",width:s,height:i},children:b&&B&&t.jsxs("svg",{viewBox:`0 0 ${b} ${B}`,version:"1.1",className:"absolute inset-0",onClick:m=>{if(!T.current)return;const{top:Q,left:V}=T.current.getBoundingClientRect(),Z={x:m.clientX-V,y:m.clientY-Q};d.matches("drawingLine")?L(S===void 0?{type:"ADD_LINE_START",point:Z}:{type:"ADD_LINE_END",point:Z}):d.matches("drawingPolygon")?L({type:"ADD_POLYGON_POINT",point:Z}):d.matches("addingMarker")&&L({type:"ADD_MARKER",point:Z})},onMouseMove:m=>{if(!T.current)return;const{top:Q,left:V}=T.current.getBoundingClientRect(),Z={x:m.clientX-V,y:m.clientY-Q};L({type:"MOUSE_MOVE",point:Z})},children:[j==null?void 0:j.map((m,Q)=>t.jsx(Ot,E({},m),Q)),S&&w&&t.jsx(Ot,{start:S,end:w}),A==null?void 0:A.map(({points:m,options:Q},V)=>t.jsx(bt,{editing:!1,points:m,options:Q},V)),Ke(se)>0&&w&&t.jsx(bt,{editing:!0,points:[...se,w],onClose:m=>{L({type:"DRAW_POLYGON_COMPLETE"})}}),h==null?void 0:h.map(m=>t.jsx(vt,{marker:m,markRenderer:z})),d.matches("addingMarker")&&w&&t.jsx(vt,{marker:{id:"addingMarker",point:w}})]})})})}function et(n,e,M){if(M)return Math.abs(et(n,M)-et(e,M));for(var s=Math.atan2(e.y-n.y,e.x-n.x);s<0;)s+=2*Math.PI;return s}const Ge=o.createContext({options:{}});Ge.displayName="DrawableContext";function kM(n){const r=n,{url:e}=r,M=Ye(r,["url"]),[s,i]=Dn.useImmer({scale:1,width:0,height:0});return e?t.jsxs("div",{className:"relative bg-pink-500 bg-opacity-40",children:[t.jsx(OM,{url:e,onScaleChange:(l,c,a)=>{i(z=>{z.scale=l,z.width=c,z.height=a})}}),t.jsx(bM,E(E({},M),s))]}):null}exports.Button=Tn;exports.Copy=Rt;exports.DocumentViewer=Vt;exports.DrawableContext=Ge;exports.DrawableImageMap=kM;exports.ExpandablePannel=jM;exports.IconButton=ue;exports.Iconfont=Me;exports.ImageMap=DM;exports.Markdown=Gt;exports.MarkdownATag=Wt;exports.MarkdownCode=Pt;exports.MarkdownImage=Bt;exports.MarkdownVideo=tt;exports.MouseTip=EM;exports.PanoramaRecordPlayer=IM;exports.PassMap=$t;exports.TrackMap=Ht;exports.Zoom=Ft;exports.calAngle=et;exports.useBimface=SM;
|