@gspwidget/wisedoc-mobile-selector 0.0.0-stage → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,709 @@
1
+ import './style.css';
2
+ import { defineComponent as bI, ref as Y, computed as Q, onMounted as rI, onBeforeUnmount as LI, openBlock as e, createElementBlock as t, createElementVNode as l, unref as p, createCommentVNode as Z, toDisplayString as m, Fragment as x, renderList as h, normalizeClass as q, createTextVNode as W, nextTick as ZI } from "vue";
3
+ function AI(I) {
4
+ return I && typeof I == "object" ? I.response : void 0;
5
+ }
6
+ function II(I, g, C) {
7
+ return Object.assign(new Error(I), { response: g, code: C });
8
+ }
9
+ function sI(I, g) {
10
+ var M;
11
+ if (/^https?:\/\//i.test(I) || !g)
12
+ return I;
13
+ const C = (M = g.match(/^https?:\/\/[^/]+/i)) == null ? void 0 : M[0];
14
+ return I.startsWith("/") && C ? C + I : g.replace(/\/$/, "") + "/" + I.replace(/^\//, "");
15
+ }
16
+ function mI(I) {
17
+ return !I.request && I.http ? I.http : { async get(g, C = {}) {
18
+ var G, b, T;
19
+ let M = sI(g, C.baseURL ?? I.baseURL ?? "");
20
+ const a = Object.entries(C.params || {}).filter(([, i]) => i != null).map(([i, s]) => `${encodeURIComponent(i)}=${encodeURIComponent(String(s))}`).join("&");
21
+ a && (M += (M.includes("?") ? "&" : "?") + a);
22
+ const u = {
23
+ url: M,
24
+ method: "GET",
25
+ headers: C.headers,
26
+ signal: C.signal,
27
+ timeout: C.timeout ?? 3e4,
28
+ withCredentials: C.withCredentials ?? I.withCredentials ?? !1
29
+ };
30
+ if (I.request) {
31
+ const i = await I.request(u);
32
+ if (!i || !Object.prototype.hasOwnProperty.call(i, "data"))
33
+ throw new Error("request 必须返回 { data, status? }");
34
+ if (i.status !== void 0 && (i.status < 200 || i.status >= 300))
35
+ throw II(`HTTP ${i.status}`, i);
36
+ return i;
37
+ }
38
+ if (typeof fetch != "function")
39
+ throw new Error("当前环境无 fetch,请通过 apiOptions.request 注入宿主网络函数");
40
+ const n = typeof AbortController == "function" ? new AbortController() : void 0, L = () => n == null ? void 0 : n.abort();
41
+ (G = u.signal) != null && G.aborted && L(), (b = u.signal) == null || b.addEventListener("abort", L, { once: !0 });
42
+ const S = n && u.timeout ? setTimeout(L, u.timeout) : void 0;
43
+ try {
44
+ const i = await fetch(M, {
45
+ method: "GET",
46
+ headers: u.headers,
47
+ signal: (n == null ? void 0 : n.signal) ?? u.signal,
48
+ credentials: u.withCredentials ? "include" : "same-origin"
49
+ }), s = await i.text();
50
+ let z = s;
51
+ try {
52
+ z = JSON.parse(s);
53
+ } catch {
54
+ }
55
+ const j = { data: z, status: i.status };
56
+ if (!i.ok)
57
+ throw II(`HTTP ${i.status}`, j);
58
+ return j;
59
+ } catch (i) {
60
+ throw i instanceof TypeError ? II(i.message, void 0, "ERR_NETWORK") : i;
61
+ } finally {
62
+ S !== void 0 && clearTimeout(S), (T = u.signal) == null || T.removeEventListener("abort", L);
63
+ }
64
+ } };
65
+ }
66
+ function J(I) {
67
+ if (!Array.isArray(I) || !I.every((g) => g && typeof g == "object" && typeof g.id == "string"))
68
+ throw new Error("接口未返回有效数据,请检查登录状态和后端代理配置");
69
+ return I;
70
+ }
71
+ function tI(I, g, C) {
72
+ const M = String((C === "directory" ? I.name : I.title) || "未命名");
73
+ return {
74
+ id: String(I.id),
75
+ name: M,
76
+ type: C,
77
+ libraryId: g.libraryId,
78
+ parentId: g.id,
79
+ ancestorIds: [...g.ancestorIds, g.id],
80
+ pathNames: [...g.pathNames, g.name],
81
+ includeDescendants: C === "directory",
82
+ ...C === "document" ? { attachments: typeof I.attachments == "string" ? I.attachments : "" } : {}
83
+ };
84
+ }
85
+ const xI = "/subapp/wisedoc/knowledge-selector.config.json";
86
+ function V(I) {
87
+ var M;
88
+ if (!I || typeof I != "object" || Array.isArray(I))
89
+ throw new Error("知识库选择配置文件格式无效");
90
+ const g = I;
91
+ if (g.useWisedocApi !== void 0 && typeof g.useWisedocApi != "boolean")
92
+ throw new Error("知识库选择配置项 useWisedocApi 必须为布尔值");
93
+ if (g.apiBaseUrl !== void 0 && typeof g.apiBaseUrl != "string")
94
+ throw new Error("知识库选择配置项 apiBaseUrl 必须为字符串");
95
+ const C = ((M = g.apiBaseUrl) == null ? void 0 : M.trim()) || "";
96
+ if (C && !/^https?:\/\/[^\s/?#]+(?:\/[^?#]*)?$/i.test(C) && !/^\/(?!\/)[^?#]*$/.test(C))
97
+ throw new Error("知识库选择配置项 apiBaseUrl 必须为 http(s) 地址或以 / 开头的代理路径");
98
+ return { useWisedocApi: g.useWisedocApi, apiBaseUrl: C };
99
+ }
100
+ function U(I) {
101
+ if (typeof I == "string") {
102
+ const M = I.trim();
103
+ if (/^(?:<!doctype|<html)/i.test(M))
104
+ return /登录|login|sign-in/i.test(M);
105
+ try {
106
+ return U(JSON.parse(M));
107
+ } catch {
108
+ return /^(?:未登录|请先登录|登录已失效)$/i.test(M);
109
+ }
110
+ }
111
+ if (!I || typeof I != "object" || Array.isArray(I))
112
+ return !1;
113
+ const g = I;
114
+ if (g.code === 401 || g.code === "401" || g.status === 401 || g.status === "401")
115
+ return !0;
116
+ const C = [g.message, g.msg, g.error].filter((M) => typeof M == "string").join(" ");
117
+ return /未登录|请先登录|登录已失效|登录已过期|未认证|unauthorized|not logged in|session expired/i.test(C);
118
+ }
119
+ function gI(I) {
120
+ const g = AI(I);
121
+ return (g == null ? void 0 : g.status) === 401 || U(g == null ? void 0 : g.data);
122
+ }
123
+ function SI(I) {
124
+ return !!I && typeof I == "object" && "code" in I && I.code === "ERR_NETWORK" && !AI(I);
125
+ }
126
+ const EI = [0, 200, 400, 800, 1200, 1800];
127
+ function zI(I = {}) {
128
+ const g = (i) => sI(i, I.serviceOrigin || ""), C = mI(I);
129
+ let M, a, u = 0, n;
130
+ function L() {
131
+ if (!M) {
132
+ const i = I.configUrl ?? xI;
133
+ M = I.config !== void 0 || I.request ? Promise.resolve().then(() => V(I.config ?? {})) : i ? C.get(g(i), {
134
+ baseURL: "",
135
+ ...I.serviceOrigin ? { params: { _t: Date.now() } } : { headers: { "Cache-Control": "no-cache" } }
136
+ }).then((s) => V(s.data)).catch((s) => {
137
+ var z;
138
+ if (((z = AI(s)) == null ? void 0 : z.status) === 404)
139
+ return V({});
140
+ throw M = void 0, s;
141
+ }) : Promise.resolve(V({}));
142
+ }
143
+ return M;
144
+ }
145
+ function S(i, s) {
146
+ var j;
147
+ const z = i.useWisedocApi === !1 ? "/api/cms/cs/v1.0" : "/api/wisedoc/rest";
148
+ return g(`${((j = i.apiBaseUrl) == null ? void 0 : j.replace(/\/$/, "")) || ""}${z}/${s}`);
149
+ }
150
+ async function G(i) {
151
+ const s = S(i, "columns/findAllMyKB");
152
+ for (const z of EI) {
153
+ z && await new Promise((j) => setTimeout(j, z));
154
+ try {
155
+ const j = await C.get(s, { baseURL: "", withCredentials: !0, timeout: 5e3 });
156
+ if (U(j.data))
157
+ continue;
158
+ J(j.data);
159
+ return;
160
+ } catch (j) {
161
+ if (!gI(j))
162
+ throw j;
163
+ }
164
+ }
165
+ throw new Error("CMS 认证后会话仍未建立,请检查 5200 的认证跳转和会话配置");
166
+ }
167
+ async function b(i) {
168
+ var z;
169
+ if (!a) {
170
+ u++, n = void 0;
171
+ const j = ((z = i.apiBaseUrl) == null ? void 0 : z.replace(/\/$/, "")) || "", E = g(`${j}/mano/api/runtime/sys/v1.0/routerRedirect?auth-flow=JWT&issuer=mano-issuer`);
172
+ a = (async () => {
173
+ let w = !1;
174
+ try {
175
+ const c = await C.get(E, {
176
+ baseURL: "",
177
+ withCredentials: !0,
178
+ headers: { Accept: "text/html" }
179
+ });
180
+ if (U(c.data))
181
+ throw new Error("CMS 认证接口仍返回未登录");
182
+ } catch (c) {
183
+ if (!SI(c))
184
+ throw c;
185
+ w = !0;
186
+ }
187
+ try {
188
+ await G(i);
189
+ } catch (c) {
190
+ throw w ? new Error("认证跳转遇到跨域或网络错误,且 CMS 会话未建立,请检查 5200 的跳转与代理配置") : c;
191
+ }
192
+ })().catch((w) => {
193
+ throw n = w, w;
194
+ });
195
+ }
196
+ const s = a;
197
+ try {
198
+ await s;
199
+ } finally {
200
+ a === s && (a = void 0);
201
+ }
202
+ }
203
+ async function T(i, s, z) {
204
+ const j = S(i, s);
205
+ if (I.request || i.useWisedocApi !== !1)
206
+ return C.get(j, z);
207
+ const E = { ...z, withCredentials: !0 }, w = u;
208
+ a && await a;
209
+ try {
210
+ const c = await C.get(j, E);
211
+ if (!U(c.data))
212
+ return c;
213
+ } catch (c) {
214
+ if (!gI(c))
215
+ throw c;
216
+ }
217
+ if (u === w)
218
+ await b(i);
219
+ else if (a)
220
+ await a;
221
+ else if (n)
222
+ throw n;
223
+ try {
224
+ const c = await C.get(j, E);
225
+ if (U(c.data))
226
+ throw new Error("CMS 认证后仍未登录,请检查 5200 的认证与会话配置");
227
+ return c;
228
+ } catch (c) {
229
+ throw gI(c) ? new Error("CMS 认证后仍未登录,请检查 5200 的认证与会话配置") : c;
230
+ }
231
+ }
232
+ return {
233
+ async getLibraries(i) {
234
+ const s = await L(), { data: z } = await T(s, "columns/findAllMyKB", { signal: i });
235
+ return J(z).map((j) => ({
236
+ id: String(j.id),
237
+ name: String(j.name || "未命名知识库"),
238
+ type: "library",
239
+ libraryId: String(j.id),
240
+ parentId: null,
241
+ ancestorIds: [],
242
+ pathNames: [],
243
+ includeDescendants: !0
244
+ }));
245
+ },
246
+ async getChildren(i, s, z, j) {
247
+ const E = await L(), [w, c] = await Promise.all([
248
+ s === 1 ? T(E, "columns/findMyDirectory", {
249
+ params: { parentId: i.id },
250
+ signal: j
251
+ }).then((k) => J(k.data)) : Promise.resolve([]),
252
+ T(E, "columncontent/findContentList/paged", {
253
+ params: { channelId: i.id, page: s, size: z, offset: 0, orderBy: "id", order: "asc" },
254
+ signal: j
255
+ }).then((k) => k.data)
256
+ ]);
257
+ if (!c || typeof c.total != "number" || !Number.isFinite(c.total) || c.total < 0)
258
+ throw new Error("文档分页接口返回格式异常,请检查登录状态和后端接口");
259
+ return {
260
+ directories: w.map((k) => tI(k, i, "directory")),
261
+ documents: J(c.data).map((k) => tI(k, i, "document")),
262
+ total: c.total
263
+ };
264
+ }
265
+ };
266
+ }
267
+ zI();
268
+ const d = (I) => JSON.stringify([I.libraryId, I.type, I.id]);
269
+ function X(I, g) {
270
+ return I.libraryId === g.libraryId && I.type !== "document" && d(I) !== d(g) && g.ancestorIds.includes(I.id);
271
+ }
272
+ function CI(I) {
273
+ return {
274
+ id: I.id,
275
+ type: I.type,
276
+ name: I.name,
277
+ libraryId: I.libraryId,
278
+ parentId: I.parentId,
279
+ ancestorIds: [...I.ancestorIds],
280
+ includeDescendants: I.type !== "document",
281
+ ...I.type === "document" ? { attachments: I.attachments ?? "" } : {}
282
+ };
283
+ }
284
+ function MI(I) {
285
+ if (!Array.isArray(I))
286
+ throw new Error("选择结果必须是数组");
287
+ const g = I.map((C) => {
288
+ if (!C || typeof C != "object")
289
+ throw new Error("无效的选择项");
290
+ const M = C;
291
+ if (typeof M.id != "string" || !M.id || typeof M.libraryId != "string" || !M.libraryId || typeof M.name != "string" || !["library", "directory", "document"].includes(M.type) || !Array.isArray(M.ancestorIds) || !M.ancestorIds.every((a) => typeof a == "string" && a.length > 0) || !(M.parentId === null || typeof M.parentId == "string") || M.type === "document" && typeof M.attachments != "string")
292
+ throw new Error("选择项字段不完整");
293
+ if (M.type === "library" ? M.id !== M.libraryId || M.ancestorIds.length !== 0 || M.parentId !== null : M.ancestorIds[0] !== M.libraryId || M.ancestorIds[M.ancestorIds.length - 1] !== M.parentId || M.ancestorIds.includes(M.id) || new Set(M.ancestorIds).size !== M.ancestorIds.length)
294
+ throw new Error("选择项的祖先路径不完整");
295
+ return CI(M);
296
+ });
297
+ return [...new Map(g.map((C) => [d(C), C])).values()].filter((C) => !g.some((M) => X(M, C)));
298
+ }
299
+ function wI(I, g) {
300
+ const C = g.find((a) => X(a, I)), M = g.some((a) => d(a) === d(I));
301
+ return {
302
+ checked: M || !!C,
303
+ disabled: !!C,
304
+ indeterminate: !M && !C && g.some((a) => X(I, a)),
305
+ inheritedFrom: C == null ? void 0 : C.name
306
+ };
307
+ }
308
+ function GI(I, g) {
309
+ const C = wI(I, g);
310
+ return C.disabled ? g : C.checked ? g.filter((M) => d(M) !== d(I)) : [...g.filter((M) => !X(I, M)), CI(I)];
311
+ }
312
+ function kI(I) {
313
+ return {
314
+ KBIds: I.filter((g) => g.type === "library").map((g) => g.id),
315
+ DirIds: I.filter((g) => g.type === "directory").map((g) => g.id),
316
+ DocIds: I.filter((g) => g.type === "document").map((g) => g.attachments ?? "")
317
+ };
318
+ }
319
+ const PI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+aWNvbl/nn6Xor4blupNf5YiX6KGo6aG1PC90aXRsZT4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMC40NDUyNTc4NjclIiB5MT0iMC40NDUyNTc4NjclIiB4Mj0iMTAwJSIgeTI9IjEwMCUiIGlkPSJsaW5lYXJHcmFkaWVudC0xIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzJBODdGRiIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMzM2OUZGIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxyZWN0IGlkPSJwYXRoLTIiIHg9IjAiIHk9IjAiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgcng9IjYiPjwvcmVjdD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9Ii03LjMwMTI4NDM3JSIgeTE9IjAuNzM5NzY4NjglIiB4Mj0iMTA4LjEwNzM4MSUiIHkyPSI5OS40MTM5NzQ3JSIgaWQ9ImxpbmVhckdyYWRpZW50LTQiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZGRkZGIiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIHN0b3Atb3BhY2l0eT0iMC45NTkwNjUyNSIgb2Zmc2V0PSIzMy41MDM2NDE3JSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZGRkZGIiBzdG9wLW9wYWNpdHk9IjAuNyIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8cGF0aCBkPSJNMTUuMzExMTY3NywwLjE0NTk4NTQwMSBDMTYuNTQ3NDE2MiwtMC4wMDYyNzI4MTAyMiAxNy43ODM2NjQ3LC0wLjAzOTQzMDYwNDQgMTkuMDE5OTEzMiwwLjA0NjUxMjAxOSBDMTkuNjExNDI5MSwwLjA4NzUxNjY5MTkgMjAuMDgxNTkyOSwwLjU1OTM5MTEyMiAyMC4xMjAzMTgyLDEuMTUxMDYwNjggTDIxLjEzNTM4MjgsMTYuMTgwMTQzNyBDMjEuMTM5ODk1MiwxNi4yNDY3OTU2IDIxLjEzODY5NjYsMTYuMzEzNzA4NSAyMS4xMzE4NjY2LDE2LjM4MDE2MjkgQzIxLjA2NDk1MTUsMTcuMDMxMjM0OCAyMC40ODI5MDgsMTcuNTA0Nzg3NCAxOS44MzE4NDc2LDE3LjQzNzc2IEMxOC41MjE4MzUzLDE3LjMwMTkwMzkgMTcuMjExODIzLDE3LjM3NzM5NTEgMTUuOTAxODEwNywxNy42NjQyMzM2IEMxNC41MTAxOTM5LDE3Ljk2ODk0MDEgMTMuMTE4NTc3MSwxOC41MTIxNDQ5IDExLjcyNzQ1ODUsMTkuMjk0NzM2NCBDMTEuMDA3MzEzNywxOS42OTg1NjkyIDEwLjEyODkxMjksMTkuNjk4NTQzOCA5LjQwODc5MTQ4LDE5LjI5NDY2OTIgQzguMDE3ODgyNywxOC41MTIxNDQ5IDYuNjI2NTEzMzcsMTcuOTY4OTQwMSA1LjIzNTE0NDA0LDE3LjY2NDIzMzYgQzMuOTI1MzY0NjgsMTcuMzc3Mzk1MSAyLjYxNTU4NTMyLDE3LjMwMTkwMzkgMS4zMDU4MDU5NiwxNy40Mzc3NiBDMS4yMzk0OTY5MSwxNy40NDQ3MDkzIDEuMTcyNzE2OTEsMTcuNDQ1ODk0MSAxLjEwNjE5MjcsMTcuNDQxNDU3MiBDMC40NTMxNDIxMTksMTcuMzk3OTAwOCAtMC4wNDA5NTA1MzYxLDE2LjgzMzE4OTMgMC4wMDI2ODEwOTYwOSwxNi4xODAxNDM3IEwxLjAxOTM3MzA5LDEuMTUxMDYwNjggQzEuMDU4MDkyOTYsMC41NTkzNDYzMzIgMS41MjgzMjIxMSwwLjA4NzQ1MzE3MzcgMi4xMTk4ODY4OSwwLjA0NjUxMjAxOSBDMy4zNTYxMzUzOSwtMC4wMzk0MzA2MDQ0IDQuNTkyMzgzODksLTAuMDA2MjcyODEwMjIgNS44Mjg2MzIzOSwwLjE0NTk4NTQwMSBDNy4xNjQxOTYwNSwwLjMxMDQ3NTQxNyA4LjQ5OTc1OTcxLDAuNjEzOTcwNTkgOS44MzUzMjMzNywxLjA1NjQ3MDkyIEw5LjgzNTYxODI2LDE0LjgzMjExNjggQzkuODM1NjE4MjYsMTUuMjM3MTI1NiAxMC4xNjM5NDI4LDE1LjU2NTQ1MDEgMTAuNTY4OTUxNiwxNS41NjU0NTAxIEMxMC45NzM5NjA0LDE1LjU2NTQ1MDEgMTEuMzAyMjg0OSwxNS4yMzcxMjU2IDExLjMwMjI4NDksMTQuODMyMTE2OCBMMTEuMzAyNDc3OSwxLjA1NzEzMzI5IEMxMi42Mzg3MDc4LDAuNjE0MjczNDM5IDEzLjk3NDkzNzgsMC4zMTA1NTc0NzcgMTUuMzExMTY3NywwLjE0NTk4NTQwMSBaIiBpZD0icGF0aC01Ij48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItMjguNCUiIHk9Ii0yNS41JSIgd2lkdGg9IjE2Ni4yJSIgaGVpZ2h0PSIxNzEuNCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci02Ij4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIxIiBkeT0iMiIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgIDAgMCAwIDAgMCAgMCAwIDAgMC4xIDAiIHR5cGU9Im1hdHJpeCIgaW49InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSLnn6Xor4blupMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSIxLjMt55+l6K+G5bqTLeacgOi/keS9v+eUqCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTU2LjAwMDAwMCwgLTIzNi4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9IuW8ueeqlyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDQ0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9Imxpc3Q2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgMTgwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJpY29uX+efpeivhuW6k1/liJfooajpobUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU2LjAwMDAwMCwgMTIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPSJtYXNrLTMiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMiI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTEpIiB4bGluazpocmVmPSIjcGF0aC0yIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC03IiBtYXNrPSJ1cmwoI21hc2stMykiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS40MzEwNDgsIDYuNjY2NjY3KSIgaWQ9IuW9oueKtue7k+WQiCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTYpIiB4bGluazpocmVmPSIjcGF0aC01Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtNCkiIGZpbGwtcnVsZT0iZXZlbm9kZCIgeGxpbms6aHJlZj0iI3BhdGgtNSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==", OI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+aWNvbl/mlofku7blpLlAMXg8L3RpdGxlPgogICAgPGRlZnM+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSIxMi40NTIzNjM2JSIgeDI9IjUwJSIgeTI9IjMxLjIwMTE4NjUlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM0MDdGRkYiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwNDBGRiIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjUwJSIgeTE9Ijc4Ljg2NzA2NTklIiB4Mj0iNTAlIiB5Mj0iMTAwJSIgaWQ9ImxpbmVhckdyYWRpZW50LTIiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNjY5RUZGIiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM0OTgzRjUiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i55+l6K+G5bqTIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iMS4zLeefpeivhuW6ky3mnIDov5Hkvb/nlKgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01Ni4wMDAwMDAsIC0zNjUuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSLlvLnnqpciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCA0NC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJsaXN0NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDMwOS4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iaWNvbl/mlofku7blpLkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU2LjAwMDAwMCwgMTIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0i57yW57uELTE0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgMi42NjY2NjcpIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xLjc0ODE0ODE1LDAgTDEwLjA4Mzk1MDYsMCBDMTAuNDYyMTk3OCwtMS45OTg0MDE0NGUtMTUgMTAuODMwMjQxOCwwLjEyMjY4MTMxNyAxMS4xMzI4Mzk1LDAuMzQ5NjI5NjMgTDE0LjIyMjIyMjIsMi42NjY2NjY2NyBMMTQuMjIyMjIyMiwyLjY2NjY2NjY3IEwzMC4yNTE4NTE5LDIuNjY2NjY2NjcgQzMxLjIxNzMyNzQsMi42NjY2NjY2NyAzMiwzLjQ0OTMzOTI1IDMyLDQuNDE0ODE0ODEgTDMyLDI0LjkxODUxODUgQzMyLDI1Ljg4Mzk5NDEgMzEuMjE3MzI3NCwyNi42NjY2NjY3IDMwLjI1MTg1MTksMjYuNjY2NjY2NyBMMS43NDgxNDgxNSwyNi42NjY2NjY3IEMwLjc4MjY3MjU4NiwyNi42NjY2NjY3IDYuNjYxMzM4MTVlLTE2LDI1Ljg4Mzk5NDEgMCwyNC45MTg1MTg1IEwwLDEuNzQ4MTQ4MTUgQy0yLjIyMDQ0NjA1ZS0xNiwwLjc4MjY3MjU4NiAwLjc4MjY3MjU4Niw4Ljg4MTc4NDJlLTE2IDEuNzQ4MTQ4MTUsMCBaIiBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTEpIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMS43NDgxNDgxNSw1LjMzMzMzMzMzIEwzMC4yNTE4NTE5LDUuMzMzMzMzMzMgQzMxLjIxNzMyNzQsNS4zMzMzMzMzMyAzMiw2LjExNjAwNTkyIDMyLDcuMDgxNDgxNDggTDMyLDI0LjkxODUxODUgQzMyLDI1Ljg4Mzk5NDEgMzEuMjE3MzI3NCwyNi42NjY2NjY3IDMwLjI1MTg1MTksMjYuNjY2NjY2NyBMMS43NDgxNDgxNSwyNi42NjY2NjY3IEMwLjc4MjY3MjU4NiwyNi42NjY2NjY3IDYuNjYxMzM4MTVlLTE2LDI1Ljg4Mzk5NDEgMCwyNC45MTg1MTg1IEwwLDcuMDgxNDgxNDggQy0yLjIyMDQ0NjA1ZS0xNiw2LjExNjAwNTkyIDAuNzgyNjcyNTg2LDUuMzMzMzMzMzMgMS43NDgxNDgxNSw1LjMzMzMzMzMzIFoiIGlkPSLnn6nlvaIiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMikiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+", YI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzNweCIgaGVpZ2h0PSIzM3B4IiB2aWV3Qm94PSIwIDAgMzMgMzMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+V29yZCBpY29uPC90aXRsZT4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjcuNDMyMjAwNCUiIHkxPSIxMy40NTAyNTUyJSIgeDI9IjEwNS4yMTAwMDglIiB5Mj0iMTAwJSIgaWQ9ImxpbmVhckdyYWRpZW50LTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjU5QUY4IiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMzMTdFRjgiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBhdGggZD0iTTMsMCBMMzAsMCBDMzEuNjU2ODU0MiwtMy4wNDM1OTE4OGUtMTYgMzMsMS4zNDMxNDU3NSAzMywzIEwzMywzMCBDMzMsMzEuNjU2ODU0MiAzMS42NTY4NTQyLDMzIDMwLDMzIEwzLDMzIEMxLjM0MzE0NTc1LDMzIDEuOTc5MjYyOTZlLTE1LDMxLjY1Njg1NDIgMCwzMCBMMCwzIEMtMi4wMjkwNjEyNWUtMTYsMS4zNDMxNDU3NSAxLjM0MzE0NTc1LDIuMDgwNzE2MDNlLTE1IDMsMCBaIiBpZD0icGF0aC0yIj48L3BhdGg+CiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtNCIgcG9pbnRzPSIyMi44NTUwMTA3IDI0IDE5LjQ4NzIwNjggMjQgMTYuODc1IDEzLjc4OTkxNiAxNi44MzE4MjMgMTMuNzg5OTE2IDE0LjI2Mjc5MzIgMjQgMTAuODMwMjIzOSAyNCA2Ljc1IDkgMTAuMTM5MzkyMyA5IDEyLjU3ODg5MTMgMTkuMjEwMDg0IDEyLjYyMjA2ODIgMTkuMjEwMDg0IDE1LjI5OTA0MDUgOSAxOC40NzI1NDggOSAyMS4xMDYzNDMzIDE5LjMzNjEzNDUgMjEuMTQ5NTIwMyAxOS4zMzYxMzQ1IDIzLjY3NTM3MzEgOSAyNyA5Ij48L3BvbHlnb24+CiAgICAgICAgPGZpbHRlciB4PSItMjcuMiUiIHk9Ii0yMy4zJSIgd2lkdGg9IjE1NC4zJSIgaGVpZ2h0PSIxNzMuMyUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci01Ij4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMiIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMS41IiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwICAgMCAwIDAgMCAwLjEyNzM2Mzg2NyAgIDAgMCAwIDAgMC40Mjk0ODkzNTcgIDAgMCAwIDAuMTU5NDE4NzA2IDAiIHR5cGU9Im1hdHJpeCIgaW49InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSLmlrnmoYjkuowiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSIxLjbliLbluqbkuK3lv4Por6bmg4XpobUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDIuMDAwMDAwLCAtMTE0Mi4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC0yNuWkh+S7vSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTMwLjAwMDAwMCwgMTA5MC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMTUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLjAwMDAwMCwgNTEuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IldvcmQtaWNvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDEuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPSJtYXNrLTMiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMiI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBpZD0i6JKZ54mIIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTEpIiB4bGluazpocmVmPSIjcGF0aC0yIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IlciIGZpbGw9IiNGRkZGRkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xMDAxODE4MTUiIG1hc2s9InVybCgjbWFzay0zKSIgcG9pbnRzPSItOSAwIC0xLjEzNDE0NjM0IDAgMS43MDEyMTk1MSAxNS4wODM5MDE4IDUuODM1MzY1ODUgMCAxMy42ODI5MjY4IDAgMTcuODM1MzY1OSAxNS4wODM5MDE4IDIwLjY3MDczMTcgMCAyOC41IDAgMjIuNTkxNDYzNCAyNyAxNC40Njk1MTIyIDI3IDkuNzY4MjkyNjggMTAuMDAwNjgyMSA1LjA4NTM2NTg1IDI3IC0zLjAzNjU4NTM3IDI3Ij48L3BvbHlnb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJXIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG1hc2s9InVybCgjbWFzay0zKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItNSkiIHhsaW5rOmhyZWY9IiNwYXRoLTQiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSIjRkZGRkZGIiB4bGluazpocmVmPSIjcGF0aC00Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+", pI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzNweCIgaGVpZ2h0PSIzM3B4IiB2aWV3Qm94PSIwIDAgMzMgMzMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+cHB0PC90aXRsZT4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMjcuNDMyMjAwNCUiIHkxPSIxMy40NTAyNTUyJSIgeDI9IjEwNS4yMTAwMDglIiB5Mj0iMTAwJSIgaWQ9ImxpbmVhckdyYWRpZW50LTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkY1RjREIiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNFOTQxMkQiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBhdGggZD0iTTMsMCBMMzAsMCBDMzEuNjU2ODU0MiwtMy4wNDM1OTE4OGUtMTYgMzMsMS4zNDMxNDU3NSAzMywzIEwzMywzMCBDMzMsMzEuNjU2ODU0MiAzMS42NTY4NTQyLDMzIDMwLDMzIEwzLDMzIEMxLjM0MzE0NTc1LDMzIDEuOTc5MjYyOTZlLTE1LDMxLjY1Njg1NDIgMCwzMCBMMCwzIEMtMi4wMjkwNjEyNWUtMTYsMS4zNDMxNDU3NSAxLjM0MzE0NTc1LDIuMDgwNzE2MDNlLTE1IDMsMCBaIiBpZD0icGF0aC0yIj48L3BhdGg+CiAgICAgICAgPHBhdGggZD0iTTkuNzUsOC4yNSBMMTkuNTcxNDI4Niw4LjI1IEMyMy41LDguMjUgMjQuNzUsMTAuODM5Njk0NyAyNC43NSwxMy42MDQ5NjE4IEMyNC43NSwxNi4yMzg1NDk2IDIzLjE4NzUsMTguOTE2MDMwNSAxOS42MTYwNzE0LDE4LjkxNjAzMDUgTDEzLjA5ODIxNDMsMTguOTE2MDMwNSBMMTMuMDk4MjE0MywyNS41IEw5Ljc1LDI1LjUgTDkuNzUsOC4yNSBaIE0xMy41LDE2LjUgTDE4LjgzODIzNTMsMTYuNSBDMjAuNzM1Mjk0MSwxNi41IDIxLjc1LDE1LjkyNjQ3MDYgMjEuNzUsMTMuODk3MDU4OCBDMjEuNzUsMTEuNzc5NDExOCAyMC4zODIzNTI5LDExLjI1IDE5LjEwMjk0MTIsMTEuMjUgTDEzLjUsMTEuMjUgTDEzLjUsMTYuNSBaIiBpZD0icGF0aC00Ij48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItMzYuNyUiIHk9Ii0yMC4zJSIgd2lkdGg9IjE3My4zJSIgaGVpZ2h0PSIxNjMuOCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci01Ij4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMiIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMS41IiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwLjUxMTEyNDMyMSAgIDAgMCAwIDAgMC4xMDU3MjA5NzIgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYzMTYxMDU4IDAiIHR5cGU9Im1hdHJpeCIgaW49InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSLmlrnmoYjkuowiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSIxLjbliLbluqbkuK3lv4Por6bmg4XpobUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDIuMDAwMDAwLCAtMTIwNC4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9Iue8lue7hC0yNuWkh+S7vSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTMwLjAwMDAwMCwgMTA5MC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMTUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLjAwMDAwMCwgNTEuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9InBwdCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDYzLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD0ibWFzay0zIiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTIiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgaWQ9IuiSmeeJiCIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgeGxpbms6aHJlZj0iI3BhdGgtMiI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0tMi4yNSwtMyBMMTYuMzYzMTQzMSwtMyBDMjAuNDE3MDIxOSwtMyAyMy40NTMyNjU2LC0yLjAyMjM0OTQ4IDI1LjQ3MTk2NTQsLTAuMDY3MDE5MDk5NiBDMjcuNDkwNjY1MiwxLjg4ODMxMTI4IDI4LjUsNC42NzA4NTUwOCAyOC41LDguMjgwNjk1NzcgQzI4LjUsMTEuOTkwODA5OCAyNy40MDAwMzExLDE0Ljg5MDMzNzQgMjUuMjAwMDYwMywxNi45NzkzNjU2IEMyMy4wMDAwODk1LDE5LjA2ODM5MzggMTkuNjQyNTA2NSwyMC4xMTI4OTIyIDE1LjEyNzIxMDYsMjAuMTEyODkyMiBMOC45OTY5ODU1MywyMC4xMTI4OTIyIEw4Ljk5Njk4NTUzLDMzLjc1IEwtMi4yNSwzMy43NSBMLTIuMjUsLTMgWiBNOSwxMiBMMTEuODcwNjg5NywxMiBDMTQuMTI5MzIxNiwxMiAxNS43MTU1MTI3LDExLjYxNzM1ODYgMTYuNjI5MzEwMywxMC44NTIwNjQyIEMxNy41NDMxMDgsMTAuMDg2NzY5OSAxOCw5LjEwNzAzOTYxIDE4LDcuOTEyODQ0MDQgQzE4LDYuNzUyMjg3NzggMTcuNjAzNDUyMiw1Ljc2ODM1MjY2IDE2LjgxMDM0NDgsNC45NjEwMDkxNyBDMTYuMDE3MjM3NCw0LjE1MzY2NTY5IDE0LjUyNTg3MywzLjc1IDEyLjMzNjIwNjksMy43NSBMOSwzLjc1IEw5LDEyIFoiIGlkPSJQIiBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMjc2Nzg1NzE0IiBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7IiBtYXNrPSJ1cmwoI21hc2stMykiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IlNoYXBl5aSH5Lu9IiBmaWxsLXJ1bGU9Im5vbnplcm8iIG1hc2s9InVybCgjbWFzay0zKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItNSkiIHhsaW5rOmhyZWY9IiNwYXRoLTQiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSIjRkZGRkZGIiB4bGluazpocmVmPSIjcGF0aC00Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+", WI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+UERGIGljb248L3RpdGxlPgogICAgPGRlZnM+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIyNy40MzIyMDA0JSIgeTE9IjEzLjQ1MDI1NTIlIiB4Mj0iMTAwJSIgeTI9IjEwMCUiIGlkPSJsaW5lYXJHcmFkaWVudC0xIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZGNUE1NSIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRDkzNzM4IiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxwYXRoIGQ9Ik02LDAgTDM0LDAgQzM3LjMxMzcwODUsLTYuMDg3MTgzNzZlLTE2IDQwLDIuNjg2MjkxNSA0MCw2IEw0MCwzNCBDNDAsMzcuMzEzNzA4NSAzNy4zMTM3MDg1LDQwIDM0LDQwIEw2LDQwIEMyLjY4NjI5MTUsNDAgNC4wNTgxMjI1MWUtMTYsMzcuMzEzNzA4NSAwLDM0IEwwLDYgQy00LjA1ODEyMjUxZS0xNiwyLjY4NjI5MTUgMi42ODYyOTE1LDYuMDg3MTgzNzZlLTE2IDYsMCBaIiBpZD0icGF0aC0yIj48L3BhdGg+CiAgICAgICAgPHBhdGggZD0iTTE4Ljc4OTQ5NzEsMTYuMjg4NTQ4MSBDMTcuMTM3MTA0LDE2LjE4MDYxMjMgMTUuNTYzNDA0NCwxNS41NDEzMDAyIDE0LjMwNDQzMDIsMTQuNDY2MDkyOSBDMTEuODE5NjI4NiwxNS4wMTQwNzQ2IDkuNDU0OTE3NzIsMTUuODAyODM3IDcuMDk0MzU2MjIsMTYuNzc0MjU5MSBDNS4yMTQxODg4OCwyMC4xMTYxMjU1IDMuNDU0MTIxOSwyMS44MTgxODE4IDEuOTM4MzkyOTQsMjEuODE4MTgxOCBDMS42MzYwNzQ2LDIxLjgxODE4MTggMS4yNzE2Mzg2NSwyMS43NTU5MTEyIDEuMDI3Mjk4MjEsMjEuNTczMjUxNCBDMC4zOTM2NzM4MTEsMjEuMjc4NTA0NSAtMC4wMDgwMzY1ODcxNSwyMC42MzUwMzk1IDAuMDAwMTIxOTc0OTQyLDE5LjkzMzQ1ODQgQzAuMDAwMTIxOTc0OTQyLDE5LjM4NTQ3NjcgMC4xMjAzNDYzNjUsMTcuODcwMjI1IDUuODc2ODAzNDQsMTUuMzc5NDA2MyBDNy4xODEzMjQyNywxMi45NzU3NTkyIDguMjU4MDcwODEsMTAuNDUxNzMwMyA5LjA4NjM0NjkxLDcuODQ0NjU3NTggQzguMzYxNjEyMyw2LjM4NzUyNDM1IDYuNzgzNzYzMywyLjgwMDczNDg4IDcuODcyOTM2MjgsMC45NzgyNzI0MDUgQzguMjM3Mzc0NjUsMC4zMDk5MDE1NjcgOC45NjYyNDg5NywtMC4wNTU0MjAzOTI5IDkuNzUzMTAzNjEsMC4wMDY4NTAyNTc1NyBDMTAuMzcwMTYxOSwwLjAxNTE1MzAwMjkgMTAuOTU0MDkwMiwwLjMwNTc0OTM4IDExLjMyNjgxMDUsMC43OTU2MTI2NDEgQzEyLjExMzY2NTEsMS44OTE1NzYwOSAxMi4wNTE1NDUxLDQuMTk5NzQ5NjQgMTEuMDI0NDkyMSw3LjU5OTcyNzE2IEMxMS45OTM1NjQ4LDkuNDIyMTgyMzQgMTMuMjY0OTU1NywxMS4wNjYxMzQ4IDE0Ljc4MDY5MiwxMi40NjA5OTc0IEMxNi4wNTIwODI5LDEyLjIyMDIxNzUgMTcuMzI3NjEzNiwxMi4wMzc1NTcgMTguNTk5MDExOCwxMi4wMzc1NTcgQzIxLjQ0ODI1OSwxMi4wOTk4Mjc2IDIxLjg3NDgwMDUsMTMuNDM2NTcxNyAyMS44MTI2ODA0LDE0LjIyNTMzMTcgQzIxLjgyMDk2MzEsMTYuMjg4NTY1MSAxOS44MTY1NTczLDE2LjI4ODU2NTEgMTguNzg5NDk3MSwxNi4yODg1NjUxIEwxOC43ODk0OTcxLDE2LjI4ODU0ODEgWiBNMS44MTgzMDIyOCwyMC4wNTM4NTQ4IEwyLjAwMDUyMDk4LDE5Ljk5MTU4NDIgQzIuODQ5NDk1NjcsMTkuNjg4NTMyOSAzLjUxNjI0OTk1LDE5LjA4MjQzMjcgNC4wMDA3ODYyNiwxOC4yODk1MjA1IEMzLjA4OTY5MTUzLDE4LjY1ODk5MjMgMi4zNjA4MTcyMSwxOS4yNjUwOTQ5IDEuODE4MzAyMjgsMjAuMDUzODU0OCBMMS44MTgzMDIyOCwyMC4wNTM4NTQ4IFogTTkuODc3MzMzOTksMS44MjkzMDMwMSBMOS42OTUxMTUyOSwxLjgyOTMwMzAxIEM5LjYzMjk5NTI1LDEuODI5MzAzMDEgOS41MTI4OTY1OCwxLjgyOTMwMzAxIDkuNDUwNzc3MjcsMS44OTE1NzM2NiBDOS4yMTA1Nzk3MSwyLjkyNTI2NjQ2IDkuMzg4NjU3MjMsNC4wMTcwNzc3MiA5LjgxNTIxNTY1LDQuOTkyNjUyMDUgQzEwLjE3MTM2OTcsMy45NjcyNjEyIDEwLjE5MjA3OCwyLjg2Mjk5NTgxIDkuODc3MzM1NjksMS44MjkzMDMwMSBMOS44NzczMzM5OSwxLjgyOTMwMzAxIFogTTEwLjMwMzg5MjQsMTAuNjM4NTMyNSBMMTAuMjQxNzcyNCwxMC43NjMwNzM4IEwxMC4xNzk2NTIzLDEwLjcwMDgwMzEgQzkuNjMyOTk1OTcsMTIuMDk5ODE3OSA5LjAyODM2MTczLDEzLjQ5NDY4NzggOC4zNjE2MDUwMiwxNC44MzE0MTQ4IEw4LjQ4MTcwMzY4LDE0Ljc2OTE0NDIgTDguNDgxNzAzNjgsMTQuODg5NTM0IEM5LjgzMTc3ODQsMTQuNDAzODIzIDExLjIwNjcxMDgsMTMuOTk2OTg4OCAxMi42MDIzMjQ5LDEzLjY3MzE4MTUgTDEyLjU0NDM0NjMsMTMuNjEwOTEwOCBMMTIuNzI2NTY1LDEzLjYxMDkxMDggQzExLjgxOTYxMjQsMTIuNzEwMDYxMyAxMS4wMDM3NywxMS43MTM3MzA4IDEwLjMwMzg4MzQsMTAuNjM4NTMyNSBMMTAuMzAzODkyNCwxMC42Mzg1MzI1IFogTTE4LjU0NTE1OTEsMTMuODU5OTkyNyBDMTcuOTk4NTAyNywxMy44NTk5OTI3IDE3LjUxMzk2NjQsMTMuODU5OTkyNyAxNi45NzE0NTIyLDEzLjk4MDM4MjUgQzE3LjU3NjA4NjQsMTQuMjgzNDMzOCAxOC4xODQ4NjI4LDE0LjQwMzgyMyAxOC43ODk0OTk1LDE0LjQ2NjA5MzYgQzE5LjIxMTkxNTgsMTQuNTI4MzY0MyAxOS42Mzg0NzQyLDE0LjQ2NjA5MzYgMjAuMDAyOTEwMSwxNC4zNDU3MDM4IEMxOS45OTg3Njg4LDE0LjE2MzA0MzMgMTkuNzU4NTcyMSwxMy44NTk5OTI3IDE4LjU0NTE1OTEsMTMuODU5OTkyNyBaIiBpZD0icGF0aC00Ij48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItMzIuMSUiIHk9Ii0yMi45JSIgd2lkdGg9IjE2NC4yJSIgaGVpZ2h0PSIxNjQuMiUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci01Ij4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMiIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMC40NTk0MzcyNzQgICAwIDAgMCAwIDAgICAwIDAgMCAwIDAgIDAgMCAwIDAuMTYgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IuaWueahiOS6jCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IjEuMi3nn6Xor4bkuK3lv4MiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zODAuMDAwMDAwLCAtODYwLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0i57yW57uELTEwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNjYuMDAwMDAwLCAyNzYuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0i6KGo5qC8IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNC4wMDAwMDAsIDY4LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJsaXN0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNC4wMDAwMDAsIDUxNi4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IlBERi1pY29uIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2Ni4wMDAwMDAsIDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD0ibWFzay0zIiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aC0yIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFzaz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgaWQ9IuiSmeeJiCIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgeGxpbms6aHJlZj0iI3BhdGgtMiI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzIuNjgwNjc4NSwzMC4yNzMwODIgQzI4LjY4NzM5NTMsMzAuMDEyMjM3NCAyNC44ODQyODgsMjguNDY3MjMzMiAyMS44NDE3NjcsMjUuODY4ODE1MyBDMTUuODM2ODI5OCwyNy4xOTMxMDQ1IDEwLjEyMjExMTgsMjkuMDk5MjgwMyA0LjQxNzQyMTQ2LDMxLjQ0Njg4MzggQy0wLjEyNjMxNjI3MiwzOS41MjMwNjA4IC00LjM3OTgxMTQ3LDQzLjYzNjM2MzYgLTguMDQyODIzMTMsNDMuNjM2MzYzNiBDLTguNzczNDI1NzcsNDMuNjM2MzYzNiAtOS42NTQxNDU5OCw0My40ODU4NzYyIC0xMC4yNDQ2MzU0LDQzLjA0NDQ0ODUgQy0xMS43NzU4OTQ0LDQyLjMzMjE0MzQgLTEyLjc0NjY5NDUsNDAuNzc3MTAyOSAtMTIuNzI2OTc4LDM5LjA4MTYxNTQgQy0xMi43MjY5NzgsMzcuNzU3MzI2MyAtMTIuNDM2NDM1NywzNC4wOTU0NjggMS40NzUwMDIyNiwyOC4wNzU5ODk0IEM0LjYyNzU5NDI2LDIyLjI2NzE3NTYgNy4yMjk3MzE3NCwxNi4xNjc0MzkgOS4yMzEzOTg5Niw5Ljg2NzAxMzM4IEM3LjQ3OTk1Nyw2LjM0NTYwODEgMy42NjY4MjE5MSwtMi4zMjI0NjY0NSA2LjI5ODk4OTk0LC02LjcyNjc1MDc4IEM3LjE3OTcxNjAxLC04LjM0MTk4MDMgOC45NDExNjIyOSwtOS4yMjQ4NDE3MSAxMC44NDI3Mjc3LC05LjA3NDM1NDMgQzEyLjMzMzk1MTgsLTkuMDU0Mjg5MzMgMTMuNzQ1MTEyLC04LjM1MjAxNDc2IDE0LjY0NTg1MjYsLTcuMTY4MTc4NTQgQzE2LjU0NzQxOCwtNC41MTk2MDAyMSAxNi4zOTcyOTQ1LDEuMDU4NDg1ODggMTMuOTE1MjQ5OSw5LjI3NTA5ODIxIEMxNi4yNTcxNzU0LDEzLjY3OTM2NDkgMTkuMzI5NzAzNiwxNy42NTIyNSAyMi45OTI3MzI4LDIxLjAyMzE2NzkgQzI2LjA2NTI2MSwyMC40NDEyODMxIDI5LjE0Nzc5MzQsMTkuOTk5ODUzNiAzMi4yMjAzMzkxLDE5Ljk5OTg1MzYgQzM5LjEwNjAxOTksMjAuMTUwMzQxIDQwLjEzNjgyODQsMjMuMzgwODA1OSAzOS45ODY3MDUsMjUuMjg2OTc1OCBDNDAuMDA2NzIxNCwzMC4yNzMxMjMyIDM1LjE2Mjc0MDcsMzAuMjczMTIzMiAzMi42ODA2Nzg1LDMwLjI3MzEyMzIgTDMyLjY4MDY3ODUsMzAuMjczMDgyIFogTS03Ljk4NzQ3NDMyLDM4Ljk0OTQ5NDkgTC03LjU5MTc2NjQsMzguODA0NzUzNCBDLTUuNzQ4MTI0NjQsMzguMTAwMzQyMyAtNC4zMDAxOTQ0OSwzNi42OTE1MjYgLTMuMjQ3OTcwNjgsMzQuODQ4NDg0OCBDLTUuMjI2NTEyOTMsMzUuNzA3MjgzMSAtNi44MDkzNDM1NywzNy4xMTYxMDUxIC03Ljk4NzQ3NDMyLDM4Ljk0OTQ5NDkgTC03Ljk4NzQ3NDMyLDM4Ljk0OTQ5NDkgWiBNMTAuODY4NjI4MiwtNC40MDQwNDA0IEwxMC4yOTczODEsLTQuNDA0MDQwNCBDMTAuMTAyNjM3NSwtNC40MDQwNDA0IDkuNzI2MTMzOCwtNC40MDQwNDA0IDkuNTMxMzkyNjMsLTQuMjU0MTE1OTYgQzguNzc4Mzg0MzcsLTEuNzY1MzcwMjQgOS4zMzY2NDkxOCwwLjg2MzMwMzAxNCAxMC42NzM4OTAxLDMuMjEyMTIxMjEgQzExLjc5MDQxNjYsMC43NDMzNjM0NjEgMTEuODU1MzM2MiwtMS45MTUyOTQ2OCAxMC44Njg2MzM1LC00LjQwNDA0MDQgTDEwLjg2ODYyODIsLTQuNDA0MDQwNCBaIE0xMi43NTM0ODU4LDE2LjEwMTAxMDEgTDEyLjYwMTcyMjUsMTYuNDI3MTIzNCBMMTIuNDQ5OTU5MSwxNi4yNjQwNjY4IEMxMS4xMTQ0NDE5LDE5LjkyNzQwODUgOS42MzcyODA3OSwyMy41Nzk4OTY3IDguMDA4MzUwNDUsMjcuMDgwMTM3MiBMOC4zMDE3NTkzNiwyNi45MTcwODA2IEw4LjMwMTc1OTM2LDI3LjIzMjMyMzIgQzExLjYwMDA4MDQsMjUuOTYwNDgxMyAxNC45NTkxMzA0LDI0Ljg5NTE3OTkgMTguMzY4NzA3LDI0LjA0NzI4NTMgTDE4LjIyNzA2MTQsMjMuODg0MjI4NiBMMTguNjcyMjMzNiwyMy44ODQyMjg2IEMxNi40NTY0ODkxLDIxLjUyNTM0MDIgMTQuNDYzMzMyNywxOC45MTY0MzM2IDEyLjc1MzQ2MzksMTYuMTAxMDEwMSBMMTIuNzUzNDg1OCwxNi4xMDEwMTAxIFogTTMxLjg0MTgzNjEsMjMuNzE3MTcxNyBDMzAuNTU5ODM5MiwyMy43MTcxNzE3IDI5LjQyMzUyMzgsMjMuNzE3MTcxNyAyOC4xNTEyNDA5LDI0LjA1MjcxMDUgQzI5LjU2OTIwNTMsMjQuODk3MzQ1NCAzMC45OTY4ODM2LDI1LjIzMjg4MjIgMzIuNDE0ODUzNywyNS40MDY0MzY4IEMzMy40MDU0ODc2LDI1LjU3OTk5MTUgMzQuNDA1ODM1NiwyNS40MDY0MzY4IDM1LjI2MDQ5NjQsMjUuMDcwODk4IEMzNS4yNTA3ODQyLDI0LjU2MTgwNDYgMzQuNjg3NDg0NSwyMy43MTcxNzE3IDMxLjg0MTgzNjEsMjMuNzE3MTcxNyBaIiBpZD0i5b2i54q2IiBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTI1MTg2MDEyIiBtYXNrPSJ1cmwoI21hc2stMykiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJQREZfIiBtYXNrPSJ1cmwoI21hc2stMykiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4wOTA5MDksIDkuMDkwOTA5KSIgaWQ9IuW9oueKtiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci01KSIgeGxpbms6aHJlZj0iI3BhdGgtNCI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iI0ZGRkZGRiIgeGxpbms6aHJlZj0iI3BhdGgtNCI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=", UI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+RXhjZWwgaWNvbjwvdGl0bGU+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjI3Ljg1NTQ4NyUiIHkxPSIxMy45NTUwOTgyJSIgeDI9IjEwMCUiIHkyPSIxMDAlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM2NUMzNjAiIG9mZnNldD0iMCUiPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzM3ODIwMyIgb2Zmc2V0PSIxMDAlIj48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICA8cGF0aCBkPSJNNiwwIEwzNCwwIEMzNy4zMTM3MDg1LC02LjA4NzE4Mzc2ZS0xNiA0MCwyLjY4NjI5MTUgNDAsNiBMNDAsMzQgQzQwLDM3LjMxMzcwODUgMzcuMzEzNzA4NSw0MCAzNCw0MCBMNiw0MCBDMi42ODYyOTE1LDQwIDQuMDU4MTIyNTFlLTE2LDM3LjMxMzcwODUgMCwzNCBMMCw2IEMtNC4wNTgxMjI1MWUtMTYsMi42ODYyOTE1IDIuNjg2MjkxNSw2LjA4NzE4Mzc2ZS0xNiA2LDAgWiIgaWQ9InBhdGgtMiI+PC9wYXRoPgogICAgICAgIDxwb2x5Z29uIGlkPSJwYXRoLTQiIHBvaW50cz0iMTYuNjEyNDkzNyAyMC40MzQzMjM5IDEwLjU2ODgxNjcgMTEuODE4MTgxOCAxNi4zMjgwODUzIDExLjgxODE4MTggMTkuNTYzMjMwMSAxNi41NjU4NTE5IDIyLjc2MjgyMzggMTEuODE4MTgxOCAyOC4zNDQzMzcyIDExLjgxODE4MTggMjIuMzAwNjYwMiAyMC4zMjg4MjAxIDI5LjA5MDkwOTEgMzAgMjMuMzMxNjQwNCAzMCAxOS40OTIxMjggMjQuMjY3NjI3OSAxNS42NTI2MTU1IDMwIDEwIDMwIj48L3BvbHlnb24+CiAgICAgICAgPGZpbHRlciB4PSItMzYuNyUiIHk9Ii0yNy41JSIgd2lkdGg9IjE3My4zJSIgaGVpZ2h0PSIxNzcuMCUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci01Ij4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMiIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMCAgIDAgMCAwIDAgMC4zNzQ4ODY3NzUgICAwIDAgMCAwIDAuMDIzMDYxNzYzICAwIDAgMCAwLjE1OTQxODcwNiAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i5pa55qGI5LqMIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iMS4yLeefpeivhuS4reW/gyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM4MC4wMDAwMDAsIC05OTAuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMTAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI2Ni4wMDAwMDAsIDI3Ni4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSLooajmoLwiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0LjAwMDAwMCwgNjguMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Imxpc3QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0LjAwMDAwMCwgNjQ2LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iRXhjZWwtaWNvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjYuMDAwMDAwLCAwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9Im1hc2stMyIgZmlsbD0id2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMiI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGlkPSLokpnniYgiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiIHhsaW5rOmhyZWY9IiNwYXRoLTIiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IngiIGZpbGw9IiNGRkZGRkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4wODU0OTU3MjE3IiBtYXNrPSJ1cmwoI21hc2stMykiIHBvaW50cz0iNC4zNDczODQ0NiAxNC45ODY4MTIgLTEyLjkyMDI2NDEgLTEwIDMuNTM0Nzg5MjMgLTEwIDEyLjc3ODA1OTkgMy43NjgyNDMzNiAyMS45MTk3NTYyIC0xMCAzNy44NjY5Mzc1IC0xMCAyMC41OTkyODkgMTQuNjgwODUxMSA0MCA0Mi43MjcyNzI3IDIzLjU0NDk0NjcgNDIuNzI3MjcyNyAxMi41NzQ5MTExIDI2LjEwMzM5MzcgMS42MDQ4NzU1NyA0Mi43MjcyNzI3IC0xNC41NDU0NTQ1IDQyLjcyNzI3MjciPjwvcG9seWdvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJ4IiBmaWxsLXJ1bGU9Im5vbnplcm8iIG1hc2s9InVybCgjbWFzay0zKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTUpIiB4bGluazpocmVmPSIjcGF0aC00Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9IiNGRkZGRkYiIHhsaW5rOmhyZWY9IiNwYXRoLTQiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=", vI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzRweCIgaGVpZ2h0PSIzNHB4IiB2aWV3Qm94PSIwIDAgMzQgMzQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+6YCa55So5Zu+5qCHPC90aXRsZT4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0wLjkwNjUyOTMxNCwwIEwxOS45NDM2NDQ5LDAgQzIwLjQ0NDMwNzIsLTIuMDI5OTI0NzhlLTE2IDIwLjg1MDE3NDIsMC40MDU4NjY5OTggMjAuODUwMTc0MiwwLjkwNjUyOTMxNCBMMjAuODUwMTc0Miw1Ljg5MjQ0MDU0IEwyMC44NTAxNzQyLDUuODkyNDQwNTQgTDAsNS44OTI0NDA1NCBMMCwwLjkwNjUyOTMxNCBDNC45NzA4ODUyM2UtMTcsMC40MDU4NjY5OTggMC40MDU4NjY5OTgsLTIuNDEwOTY3MzJlLTE2IDAuOTA2NTI5MzE0LDAgWiIgaWQ9InBhdGgtMSI+PC9wYXRoPgogICAgICAgIDxmaWx0ZXIgeD0iLTEyLjAlIiB5PSItNDIuNCUiIHdpZHRoPSIxMjQuMCUiIGhlaWdodD0iMTg0LjklIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItMiI+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEuNSIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd0JsdXJJbm5lcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjIiIGluPSJzaGFkb3dCbHVySW5uZXIxIiByZXN1bHQ9InNoYWRvd09mZnNldElubmVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluPSJzaGFkb3dPZmZzZXRJbm5lcjEiIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJhcml0aG1ldGljIiBrMj0iLTEiIGszPSIxIiByZXN1bHQ9InNoYWRvd0lubmVySW5uZXIxIj48L2ZlQ29tcG9zaXRlPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMSAgIDAgMCAwIDAgMSAgIDAgMCAwIDAgMSAgMCAwIDAgMC44MjcwMzIzNDMgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93SW5uZXJJbm5lcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgICAgICA8cmVjdCBpZD0icGF0aC0zIiB4PSIwIiB5PSI1Ljg5MjQ0MDU0IiB3aWR0aD0iMjAuODUwMTc0MiIgaGVpZ2h0PSI1Ljg5MjQ0MDU0Ij48L3JlY3Q+CiAgICAgICAgPGZpbHRlciB4PSItNy4yJSIgeT0iLTI1LjUlIiB3aWR0aD0iMTE0LjQlIiBoZWlnaHQ9IjE1MC45JSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTQiPgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93Qmx1cklubmVyMSI+PC9mZUdhdXNzaWFuQmx1cj4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMSIgaW49InNoYWRvd0JsdXJJbm5lcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0SW5uZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd09mZnNldElubmVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9ImFyaXRobWV0aWMiIGsyPSItMSIgazM9IjEiIHJlc3VsdD0ic2hhZG93SW5uZXJJbm5lcjEiPjwvZmVDb21wb3NpdGU+CiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwLjkzOTg4NjEyMSAgIDAgMCAwIDAgMC41MzM4OTE2MTUgICAwIDAgMCAwIDAgIDAgMCAwIDEgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93SW5uZXJJbm5lcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgICAgICA8cmVjdCBpZD0icGF0aC01IiB4PSIwIiB5PSIxMS43ODQ4ODExIiB3aWR0aD0iMjAuODUwMTc0MiIgaGVpZ2h0PSI2LjM0NTcwNTIiPjwvcmVjdD4KICAgICAgICA8ZmlsdGVyIHg9Ii03LjIlIiB5PSItMjMuNiUiIHdpZHRoPSIxMTQuNCUiIGhlaWdodD0iMTQ3LjMlIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItNiI+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dCbHVySW5uZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIxIiBpbj0ic2hhZG93Qmx1cklubmVyMSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRJbm5lcjEiPjwvZmVPZmZzZXQ+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbj0ic2hhZG93T2Zmc2V0SW5uZXIxIiBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0iYXJpdGhtZXRpYyIgazI9Ii0xIiBrMz0iMSIgcmVzdWx0PSJzaGFkb3dJbm5lcklubmVyMSI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAuODg5ODg1NTAyICAgMCAwIDAgMCAwLjMwMDc5MDMxOCAgIDAgMCAwIDAgMCAgMCAwIDAgMC41IDAiIHR5cGU9Im1hdHJpeCIgaW49InNoYWRvd0lubmVySW5uZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICAgICAgPHBhdGggZD0iTTAsMTguMTMwNTg2MyBMMjAuODUwMTc0MiwxOC4xMzA1ODYzIEwyMC44NTAxNzQyLDIzLjU2OTc2MjIgQzIwLjg1MDE3NDIsMjQuMDcwNDI0NSAyMC40NDQzMDcyLDI0LjQ3NjI5MTUgMTkuOTQzNjQ0OSwyNC40NzYyOTE1IEwwLjkwNjUyOTMxNCwyNC40NzYyOTE1IEMwLjQwNTg2Njk5OCwyNC40NzYyOTE1IDkuNTAwODAxMjRlLTE2LDI0LjA3MDQyNDUgMCwyMy41Njk3NjIyIEwwLDE4LjEzMDU4NjMgTDAsMTguMTMwNTg2MyBaIiBpZD0icGF0aC03Ij48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItOS42JSIgeT0iLTMxLjUlIiB3aWR0aD0iMTE5LjIlIiBoZWlnaHQ9IjE2My4wJSIgZmlsdGVyVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiBpZD0iZmlsdGVyLTgiPgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxLjUiIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dCbHVySW5uZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSItMSIgaW49InNoYWRvd0JsdXJJbm5lcjEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0SW5uZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW49InNoYWRvd09mZnNldElubmVyMSIgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9ImFyaXRobWV0aWMiIGsyPSItMSIgazM9IjEiIHJlc3VsdD0ic2hhZG93SW5uZXJJbm5lcjEiPjwvZmVDb21wb3NpdGU+CiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAxICAgMCAwIDAgMCAxICAgMCAwIDAgMCAxICAwIDAgMCAwLjU2MTY4MDUwNyAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dJbm5lcklubmVyMSI+PC9mZUNvbG9yTWF0cml4PgogICAgICAgIDwvZmlsdGVyPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iMTAwJSIgeTE9IjQyLjc5ODU3ODUlIiB4Mj0iMy4yNjEyODAxM2UtMTQlIiB5Mj0iMzguMzkwOTAwNyUiIGlkPSJsaW5lYXJHcmFkaWVudC05Ij4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0Y1REVDMyIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRjdERkNFIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iOTIuMzM5MTE2MyUiIHkxPSI0Mi43OTg1Nzg1JSIgeDI9IjMuMjYxMjgwMTNlLTE0JSIgeTI9IjQyLjc5ODU3ODUlIiBpZD0ibGluZWFyR3JhZGllbnQtMTAiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkY4MDAwIiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkIyMzAiIHN0b3Atb3BhY2l0eT0iMC43NTUwNTM1NCIgb2Zmc2V0PSIzMi4wMDA0MTIlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkY2RDYiIHN0b3Atb3BhY2l0eT0iMC4wMzYzODU0ODk1IiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iLTExLjc1NDE0NjclIiB5MT0iNTAlIiB4Mj0iMTA4LjYyNjU2JSIgeTI9IjU3LjEzNTQ2MzQlIiBpZD0ibGluZWFyR3JhZGllbnQtMTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkZGRkZGIiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkI0MDAiIHN0b3Atb3BhY2l0eT0iMC41MzY1NDkzODgiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMTIiIHBvaW50cz0iNi4xNzM0NDQyN2UtMTUgNi45MDMyNjQxMyAxLjM2MDM3NzggNi40NDAyMDQyNiAxLjM2MDM3NzggMi4zNTk2MjYxOSA0LjM3ODYzODk1IDEuNTg2NTQ2NTYgNC4zNzg2Mzg5NSA3LjUwMjMxODkxIDIuOTU0MTU4NjZlLTE1IDYuOTAzMjY0MTMgNC4zNzg2Mzg5NSA4Ljg2OTU2NTIyIDYuNjUyMTczOTEgOC4wMTMxNjI2NiA2LjY1MjE3MzkxIDAuNzcyMjM2NTQ3IDQuMzc4NjM4OTUgMS4yMDU3NzkwNGUtMTYgNC45NDM4NzYzMWUtMTUgMS42OTU5NTgyNSI+PC9wb2x5Z29uPgogICAgICAgIDxmaWx0ZXIgeD0iLTMwLjElIiB5PSItMTEuMyUiIHdpZHRoPSIxNjAuMSUiIGhlaWdodD0iMTQ1LjElIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItMTMiPgogICAgICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIxIiBpbj0iU291cmNlQWxwaGEiIHJlc3VsdD0ic2hhZG93T2Zmc2V0T3V0ZXIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIwLjUiIGluPSJzaGFkb3dPZmZzZXRPdXRlcjEiIHJlc3VsdD0ic2hhZG93Qmx1ck91dGVyMSI+PC9mZUdhdXNzaWFuQmx1cj4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdmFsdWVzPSIwIDAgMCAwIDAuOTMxNjY1MzkzICAgMCAwIDAgMCAwLjQ2MDU0NTU2NSAgIDAgMCAwIDAgMC4xMDEyMDE4ODcgIDAgMCAwIDAuNjg3MjU0MTUyIDAiIHR5cGU9Im1hdHJpeCIgaW49InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSLmlrnmoYjkuIAiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSIxLjEt55+l6K+G6Zeo5oi36aaW6aG1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTkwLjAwMDAwMCwgLTY0Ny4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9IumAmuefpeWFrOWRiiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTcyLjAwMDAwMCwgNDU3LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPGcgaWQ9InciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4LjAwMDAwMCwgMTkwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSLnvJbnu4QtODEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuOTIyODkwLCA0LjQzNDc4MykiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0i55+p5b2iIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iI0ZGQ0I0RSIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci0yKSIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IuefqeW9ouWkh+S7vS0zNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9IiNGRjlEMDQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgeGxpbms6aHJlZj0iI3BhdGgtMyI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItNCkiIHhsaW5rOmhyZWY9IiNwYXRoLTMiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSLnn6nlvaLlpIfku70tNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSIjRkY3RjAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHhsaW5rOmhyZWY9IiNwYXRoLTUiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTYpIiB4bGluazpocmVmPSIjcGF0aC01Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0i55+p5b2i5aSH5Lu9LTQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iI0Y5NTYwMCIgZmlsbC1ydWxlPSJldmVub2RkIiB4bGluazpocmVmPSIjcGF0aC03Ij48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMSIgZmlsdGVyPSJ1cmwoI2ZpbHRlci04KSIgeGxpbms6aHJlZj0iI3BhdGgtNyI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjAuMjI2NjMyMzI4IiB5MT0iMTEuNzg0ODgxMSIgeDI9IjIwLjg1MDE3NDIiIHkyPSIxMS43ODQ4ODExIiBpZD0i6Lev5b6ELTEzMiIgc3Ryb2tlPSIjRkY5RjFDIiBzdHJva2Utd2lkdGg9IjAuNSI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMC4yMjY2MzIzMjgiIHkxPSI1Ljg5MjQ0MDU0IiB4Mj0iMjAuODUwMTc0MiIgeTI9IjUuODkyNDQwNTQiIGlkPSLot6/lvoQtMTMy5aSH5Lu9LTIiIHN0cm9rZT0iI0ZGQzM1OSIgc3Ryb2tlLXdpZHRoPSIwLjUiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjAuMjI2NjMyMzI4IiB5MT0iMTguMTMwNTg2MyIgeDI9IjIwLjg1MDE3NDIiIHkyPSIxOC4xMzA1ODYzIiBpZD0i6Lev5b6ELTEzMuWkh+S7vSIgc3Ryb2tlPSIjRkY4OTNCIiBzdHJva2Utd2lkdGg9IjAuNSI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8cmVjdCBpZD0i55+p5b2iIiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTkpIiB4PSIyLjIxNzM5MTMiIHk9IjguMDYwODk5ODYiIHdpZHRoPSIxNS44NjQyNjMiIGhlaWdodD0iMTUuODY0MjYzIj48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0xMCkiIHg9IjIuMjE3MzkxMyIgeT0iOC4wNjA4OTk4NiIgd2lkdGg9IjE1Ljg2NDI2MyIgaGVpZ2h0PSIxNS44NjQyNjMiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICA8cmVjdCBpZD0i55+p5b2iIiBzdHJva2U9InVybCgjbGluZWFyR3JhZGllbnQtMTEpIiBzdHJva2Utd2lkdGg9IjAuNSIgeD0iMi40NjczOTEzIiB5PSI4LjMxMDg5OTg2IiB3aWR0aD0iMTUuMzY0MjYzIiBoZWlnaHQ9IjE1LjM2NDI2MyI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJXIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2LjYyNzk2NSwgMTEuNDQxNjM2KSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Iui3r+W+hC0xNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjEiIGZpbHRlcj0idXJsKCNmaWx0ZXItMTMpIiB4bGluazpocmVmPSIjcGF0aC0xMiI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGZpbGw9IiNGRkZGRkYiIHhsaW5rOmhyZWY9IiNwYXRoLTEyIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+", BI = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj48cGF0aCBkPSJtMTAgMy01IDUgNSA1IiBzdHJva2U9IiMxYTFhMWEiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=", QI = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj48cGF0aCBkPSJtMyAzIDEwIDEwTTEzIDMgMyAxMyIgc3Ryb2tlPSIjMWExYTFhIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+", hI = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj48cGF0aCBkPSJNMyAzTDEzIDEzTTEzIDNMMyAxMyIgc3Ryb2tlPSIjOTk5OTk5IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+Cg==", RI = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDEyIDEyIiBmaWxsPSJub25lIj48cGF0aCBkPSJtNC41IDIuNSAzLjUgMy41LTMuNSAzLjUiIHN0cm9rZT0iIzk5OSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==", lI = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTAwIiB2aWV3Qm94PSIwIDAgMTIwIDEwMCIgZmlsbD0ibm9uZSI+CiAgPGVsbGlwc2UgY3g9IjYwIiBjeT0iOTAiIHJ4PSI0MyIgcnk9IjUiIGZpbGw9IiNGMkY0RjgiLz4KICA8cGF0aCBkPSJNMjQgMzBhNiA2IDAgMCAxIDYtNmgyM2w5IDloMjhhNiA2IDAgMCAxIDYgNnY0MGE2IDYgMCAwIDEtNiA2SDMwYTYgNiAwIDAgMS02LTZWMzBaIiBmaWxsPSIjRTlFRkZCIi8+CiAgPHJlY3QgeD0iMzkiIHk9IjE0IiB3aWR0aD0iNDMiIGhlaWdodD0iNTYiIHJ4PSI0IiBmaWxsPSIjZmZmIiBzdHJva2U9IiNEOUUyRjMiLz4KICA8cGF0aCBkPSJNNDggMjloMjVNNDggMzhoMjVNNDggNDdoMTYiIHN0cm9rZT0iI0RCRTRGNCIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICA8cGF0aCBkPSJNMjAgNDlhNSA1IDAgMCAxIDUtNGg3MGE1IDUgMCAwIDEgNSA2bC02IDI5YTYgNiAwIDAgMS02IDVIMzJhNiA2IDAgMCAxLTYtNWwtNi0yOXYtMloiIGZpbGw9IiNGMEY0RkMiIHN0cm9rZT0iI0Q5RTJGMyIvPgogIDxwYXRoIGQ9Ik01MSA2NWgxOCIgc3Ryb2tlPSIjQzVENEYwIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K", HI = { class: "mobile-frame" }, JI = {
320
+ class: "selector-sheet",
321
+ "aria-label": "知识库选择"
322
+ }, VI = { class: "sheet-header" }, XI = ["src"], fI = ["src"], FI = ["title", "onClick"], KI = {
323
+ key: 0,
324
+ class: "status"
325
+ }, _I = {
326
+ key: 1,
327
+ class: "status error",
328
+ role: "alert"
329
+ }, $I = ["aria-checked", "aria-label", "disabled", "onClick"], qI = {
330
+ key: 0,
331
+ class: "check-mark",
332
+ "aria-hidden": "true"
333
+ }, Ig = {
334
+ key: 1,
335
+ class: "half-mark",
336
+ "aria-hidden": "true"
337
+ }, gg = ["src"], Mg = ["title", "onClick"], Ag = ["aria-label", "onClick"], Cg = {
338
+ key: 0,
339
+ class: "status empty-state"
340
+ }, ig = ["src"], Ng = ["disabled"], Dg = {
341
+ key: 2,
342
+ class: "inline-error",
343
+ role: "alert"
344
+ }, cg = {
345
+ key: 1,
346
+ class: "content-list selected-list",
347
+ "aria-label": "已选知识库文件"
348
+ }, jg = ["src"], eg = ["title"], tg = ["aria-label", "onClick"], lg = ["src"], ag = {
349
+ key: 0,
350
+ class: "status empty-state"
351
+ }, sg = ["src"], zg = { class: "footer-bar" }, wg = ["disabled"], yg = {
352
+ key: 0,
353
+ class: "summary-label"
354
+ }, Tg = {
355
+ key: 1,
356
+ class: "summary-label"
357
+ }, ug = ["src"], ng = {
358
+ key: 1,
359
+ class: "selection-summary selected-summary"
360
+ }, og = { class: "summary-label" }, dg = ["disabled"], bg = {
361
+ key: 0,
362
+ class: "notice",
363
+ role: "status"
364
+ }, aI = 50, rg = /* @__PURE__ */ bI({
365
+ __name: "App",
366
+ props: {
367
+ dataSource: {},
368
+ apiOptions: {},
369
+ initialSelection: {},
370
+ iframeMessaging: { type: Boolean, default: !1 }
371
+ },
372
+ emits: ["confirm", "error", "close"],
373
+ setup(I, { expose: g, emit: C }) {
374
+ const M = I, a = C, u = M.dataSource || zI(M.apiOptions), n = Y([]), L = Y(""), S = Y(!1), G = Y({}), b = Y([]), T = Y(MI(M.initialSelection || [])), i = Y(!1), s = Y(""), z = Y(), j = typeof AbortController == "function" ? new AbortController() : void 0;
375
+ let E = !1;
376
+ const w = Q(() => b.value[b.value.length - 1]), c = Q(() => w.value && G.value[d(w.value)]), k = Q(() => {
377
+ var A;
378
+ return w.value ? (A = c.value) != null && A.error && !c.value.loaded ? c.value.error : "" : L.value;
379
+ }), iI = Q(() => {
380
+ var A;
381
+ return w.value ? ((A = c.value) == null ? void 0 : A.children) || [] : n.value;
382
+ }), R = Q(() => [["library", "知识库"], ["directory", "文件夹"], ["document", "文档"]].map(([A, N]) => ({ type: A, label: N, count: T.value.filter((o) => o.type === A).length })).filter((A) => A.count > 0));
383
+ function P(A) {
384
+ return wI(A, T.value);
385
+ }
386
+ function f(A) {
387
+ T.value = GI(A, T.value);
388
+ }
389
+ function NI(A) {
390
+ return A.type !== "document" ? A.name : A.name.replace(/\.(pptx?|docx?|pdf|xlsx?|csv|wps|rtf|odt|ods|dps|odp|et|txt|md|png|jpe?g|gif|webp|svg|bmp|zip|rar|7z)$/i, "");
391
+ }
392
+ function DI(A) {
393
+ var o;
394
+ if (A.type === "library")
395
+ return PI;
396
+ if (A.type === "directory")
397
+ return OI;
398
+ const N = (((o = A.name.match(/\.([a-z0-9]+)$/i)) == null ? void 0 : o[1]) ?? "").toLowerCase();
399
+ return ["doc", "docx", "wps", "rtf", "odt"].includes(N) ? YI : ["ppt", "pptx", "dps", "odp"].includes(N) ? pI : N === "pdf" ? WI : ["xls", "xlsx", "csv", "et", "ods"].includes(N) ? UI : vI;
400
+ }
401
+ function yI(A) {
402
+ const N = G.value[d(A)];
403
+ return !!(N != null && N.loaded) && N.page * aI < N.total;
404
+ }
405
+ function F(A) {
406
+ return A instanceof Error ? A.message : "加载失败,请重试";
407
+ }
408
+ async function cI() {
409
+ if (!S.value) {
410
+ S.value = !0, L.value = "";
411
+ try {
412
+ n.value = await u.getLibraries(j == null ? void 0 : j.signal);
413
+ } catch (A) {
414
+ L.value = F(A), E || a("error", A);
415
+ } finally {
416
+ S.value = !1;
417
+ }
418
+ }
419
+ }
420
+ async function H(A, N = !1) {
421
+ const o = d(A);
422
+ let y = G.value[o];
423
+ if (y != null && y.loading || !N && (y != null && y.loaded))
424
+ return;
425
+ y || (G.value[o] = { children: [], page: 0, total: 0, loaded: !1, loading: !1, error: "" }, y = G.value[o]), y.loading = !0, y.error = "";
426
+ const B = N ? y.page + 1 : 1;
427
+ try {
428
+ const O = await u.getChildren(A, B, aI, j == null ? void 0 : j.signal), D = [...N ? y.children : [], ...O.directories, ...O.documents];
429
+ y.children = [...new Map(D.map((r) => [d(r), r])).values()], y.page = B, y.total = O.total, y.loaded = !0;
430
+ } catch (O) {
431
+ y.error = F(O), E || a("error", O);
432
+ } finally {
433
+ y.loading = !1;
434
+ }
435
+ }
436
+ async function jI(A) {
437
+ var N, o;
438
+ A.type !== "document" && (b.value.push(A), await ZI(), (o = (N = z.value) == null ? void 0 : N.scrollTo) == null || o.call(N, { left: z.value.scrollWidth, behavior: "smooth" }), await H(A));
439
+ }
440
+ function K(A) {
441
+ b.value = b.value.slice(0, A + 1);
442
+ }
443
+ function TI() {
444
+ i.value ? i.value = !1 : K(b.value.length - 2);
445
+ }
446
+ function uI() {
447
+ a("close"), v && $("wisedoc:knowledge-selector:close");
448
+ }
449
+ function nI() {
450
+ w.value ? H(w.value) : cI();
451
+ }
452
+ const _ = typeof location < "u" ? location.origin : "", v = M.iframeMessaging && typeof window < "u" && !!_;
453
+ function $(A, N = {}) {
454
+ v && window.parent !== window && window.parent.postMessage({ type: A, ...N }, _);
455
+ }
456
+ function eI(A) {
457
+ if (!(A.source !== window.parent || A.origin !== _ || !A.data || typeof A.data != "object") && A.data.type === "wisedoc:knowledge-selector:init")
458
+ try {
459
+ T.value = MI(A.data.selection || []);
460
+ } catch (N) {
461
+ s.value = F(N);
462
+ }
463
+ }
464
+ function oI() {
465
+ const A = kI(T.value), N = T.value.map(CI);
466
+ a("confirm", A, N), v && ($("wisedoc:knowledge-selector:confirm", { payload: A, selections: N }), window.dispatchEvent(new CustomEvent("knowledge-selector:confirm", { detail: A })));
467
+ }
468
+ function dI(A) {
469
+ T.value = MI(A);
470
+ }
471
+ return g({ setSelection: dI }), rI(() => {
472
+ v && (window.addEventListener("message", eI), $("wisedoc:knowledge-selector:ready")), cI();
473
+ }), LI(() => {
474
+ E = !0, j == null || j.abort(), v && window.removeEventListener("message", eI);
475
+ }), (A, N) => {
476
+ var o, y, B, O;
477
+ return e(), t("div", HI, [
478
+ l("main", JI, [
479
+ l("header", VI, [
480
+ i.value || w.value ? (e(), t("button", {
481
+ key: 0,
482
+ class: "header-back",
483
+ type: "button",
484
+ "aria-label": "返回上一级",
485
+ onClick: TI
486
+ }, [
487
+ l("img", {
488
+ class: "header-icon",
489
+ src: p(BI),
490
+ alt: ""
491
+ }, null, 8, XI)
492
+ ])) : Z("", !0),
493
+ l("h1", null, m(i.value ? "已选知识库文件" : "选择知识库文件"), 1),
494
+ l("button", {
495
+ class: "header-close",
496
+ type: "button",
497
+ "aria-label": "关闭选择器",
498
+ onClick: uI
499
+ }, [
500
+ l("img", {
501
+ class: "header-icon",
502
+ src: p(QI),
503
+ alt: ""
504
+ }, null, 8, fI)
505
+ ])
506
+ ]),
507
+ i.value ? (e(), t("section", cg, [
508
+ (e(!0), t(x, null, h(T.value, (D) => (e(), t("div", {
509
+ key: p(d)(D),
510
+ class: "entry-row"
511
+ }, [
512
+ l("img", {
513
+ class: "entry-icon",
514
+ src: DI(D),
515
+ alt: ""
516
+ }, null, 8, jg),
517
+ l("span", {
518
+ class: "entry-name selected-name",
519
+ title: D.name
520
+ }, m(NI(D)), 9, eg),
521
+ l("button", {
522
+ class: "remove-button",
523
+ type: "button",
524
+ "aria-label": `移除${D.name}`,
525
+ onClick: (r) => f(D)
526
+ }, [
527
+ l("img", {
528
+ class: "remove-icon",
529
+ src: p(hI),
530
+ alt: ""
531
+ }, null, 8, lg)
532
+ ], 8, tg)
533
+ ]))), 128)),
534
+ T.value.length ? Z("", !0) : (e(), t("div", ag, [
535
+ l("img", {
536
+ src: p(lI),
537
+ alt: ""
538
+ }, null, 8, sg),
539
+ N[8] || (N[8] = l("span", null, "暂未选择知识库文件", -1))
540
+ ]))
541
+ ])) : (e(), t(x, { key: 0 }, [
542
+ N[7] || (N[7] = l("div", {
543
+ class: "tabs",
544
+ "aria-label": "知识库分类"
545
+ }, [
546
+ l("span", { class: "tab-active" }, "知识库")
547
+ ], -1)),
548
+ w.value ? (e(), t("nav", {
549
+ key: 0,
550
+ ref_key: "crumbsElement",
551
+ ref: z,
552
+ class: "breadcrumbs",
553
+ "aria-label": "当前位置"
554
+ }, [
555
+ l("button", {
556
+ type: "button",
557
+ onClick: N[0] || (N[0] = (D) => K(-1))
558
+ }, "知识库"),
559
+ (e(!0), t(x, null, h(b.value, (D, r) => (e(), t(x, {
560
+ key: p(d)(D)
561
+ }, [
562
+ N[4] || (N[4] = l("span", {
563
+ class: "crumb-divider",
564
+ "aria-hidden": "true"
565
+ }, "/", -1)),
566
+ l("button", {
567
+ type: "button",
568
+ class: q({ "crumb-current": r === b.value.length - 1 }),
569
+ title: D.name,
570
+ onClick: (mg) => K(r)
571
+ }, m(D.name), 11, FI)
572
+ ], 64))), 128))
573
+ ], 512)) : Z("", !0),
574
+ l("section", {
575
+ class: q(["content-list", { "root-list": !w.value }]),
576
+ "aria-label": "知识库目录和文档"
577
+ }, [
578
+ S.value || (o = c.value) != null && o.loading && !c.value.loaded ? (e(), t("div", KI, "正在加载…")) : k.value ? (e(), t("div", _I, [
579
+ l("span", null, m(k.value), 1),
580
+ l("button", {
581
+ type: "button",
582
+ onClick: nI
583
+ }, "重新加载")
584
+ ])) : (e(), t(x, { key: 2 }, [
585
+ (e(!0), t(x, null, h(iI.value, (D) => (e(), t("div", {
586
+ key: p(d)(D),
587
+ class: "entry-row"
588
+ }, [
589
+ l("button", {
590
+ class: q(["check-button", { checked: P(D).checked, indeterminate: P(D).indeterminate, locked: P(D).disabled }]),
591
+ type: "button",
592
+ role: "checkbox",
593
+ "aria-checked": P(D).indeterminate ? "mixed" : P(D).checked,
594
+ "aria-label": P(D).disabled ? `已随上级选择${D.name}` : `${P(D).checked ? "取消选择" : "选择"}${D.name}`,
595
+ disabled: P(D).disabled,
596
+ onClick: (r) => f(D)
597
+ }, [
598
+ P(D).checked ? (e(), t("span", qI)) : P(D).indeterminate ? (e(), t("span", Ig)) : Z("", !0)
599
+ ], 10, $I),
600
+ l("img", {
601
+ class: "entry-icon",
602
+ src: DI(D),
603
+ alt: ""
604
+ }, null, 8, gg),
605
+ l("button", {
606
+ class: "entry-name",
607
+ type: "button",
608
+ title: D.name,
609
+ onClick: (r) => D.type === "document" ? f(D) : jI(D)
610
+ }, m(NI(D)), 9, Mg),
611
+ D.type !== "document" ? (e(), t("button", {
612
+ key: 0,
613
+ class: "row-next",
614
+ type: "button",
615
+ "aria-label": `进入${D.name}`,
616
+ onClick: (r) => jI(D)
617
+ }, [...N[5] || (N[5] = [
618
+ l("span", { class: "right-chevron" }, null, -1)
619
+ ])], 8, Ag)) : Z("", !0)
620
+ ]))), 128)),
621
+ iI.value.length ? Z("", !0) : (e(), t("div", Cg, [
622
+ l("img", {
623
+ src: p(lI),
624
+ alt: ""
625
+ }, null, 8, ig),
626
+ N[6] || (N[6] = l("span", null, "暂无可选择的内容", -1))
627
+ ])),
628
+ w.value && yI(w.value) ? (e(), t("button", {
629
+ key: 1,
630
+ class: "more-button",
631
+ type: "button",
632
+ disabled: (y = c.value) == null ? void 0 : y.loading,
633
+ onClick: N[1] || (N[1] = (D) => H(w.value, !0))
634
+ }, m((B = c.value) != null && B.loading ? "正在加载…" : "加载更多文档"), 9, Ng)) : Z("", !0),
635
+ (O = c.value) != null && O.error && c.value.loaded ? (e(), t("div", Dg, [
636
+ W(m(c.value.error) + " ", 1),
637
+ l("button", {
638
+ type: "button",
639
+ onClick: N[2] || (N[2] = (D) => H(w.value, !0))
640
+ }, "重试")
641
+ ])) : Z("", !0)
642
+ ], 64))
643
+ ], 2)
644
+ ], 64)),
645
+ l("footer", zg, [
646
+ i.value ? (e(), t("div", ng, [
647
+ l("span", og, [
648
+ N[10] || (N[10] = W("已选 ", -1)),
649
+ (e(!0), t(x, null, h(R.value, (D, r) => (e(), t(x, {
650
+ key: D.type
651
+ }, [
652
+ l("strong", null, m(D.count), 1),
653
+ W(" 个" + m(D.label), 1),
654
+ r < R.value.length - 1 ? (e(), t(x, { key: 0 }, [
655
+ W("、")
656
+ ], 64)) : Z("", !0)
657
+ ], 64))), 128))
658
+ ])
659
+ ])) : (e(), t("button", {
660
+ key: 0,
661
+ class: "selection-summary",
662
+ type: "button",
663
+ disabled: !T.value.length,
664
+ onClick: N[3] || (N[3] = (D) => i.value = !0)
665
+ }, [
666
+ T.value.length ? (e(), t("span", yg, [
667
+ N[9] || (N[9] = W("已选 ", -1)),
668
+ (e(!0), t(x, null, h(R.value, (D, r) => (e(), t(x, {
669
+ key: D.type
670
+ }, [
671
+ l("strong", null, m(D.count), 1),
672
+ W(" 个" + m(D.label), 1),
673
+ r < R.value.length - 1 ? (e(), t(x, { key: 0 }, [
674
+ W("、")
675
+ ], 64)) : Z("", !0)
676
+ ], 64))), 128))
677
+ ])) : (e(), t("span", Tg, "尚未选择")),
678
+ T.value.length ? (e(), t("img", {
679
+ key: 2,
680
+ class: "summary-arrow",
681
+ src: p(RI),
682
+ alt: ""
683
+ }, null, 8, ug)) : Z("", !0)
684
+ ], 8, wg)),
685
+ l("button", {
686
+ class: "confirm-button",
687
+ type: "button",
688
+ disabled: S.value || !!L.value,
689
+ onClick: oI
690
+ }, "确定", 8, dg)
691
+ ])
692
+ ]),
693
+ s.value ? (e(), t("div", bg, m(s.value), 1)) : Z("", !0)
694
+ ]);
695
+ };
696
+ }
697
+ });
698
+ const Lg = (I, g) => {
699
+ const C = I.__vccOpts || I;
700
+ for (const [M, a] of g)
701
+ C[M] = a;
702
+ return C;
703
+ }, Zg = /* @__PURE__ */ Lg(rg, [["__scopeId", "data-v-ff77d347"]]), Sg = Zg;
704
+ export {
705
+ xI as DEFAULT_KNOWLEDGE_SELECTOR_CONFIG_URL,
706
+ Sg as MobileKnowledgeSelector,
707
+ zI as createKnowledgeDataSource,
708
+ Sg as default
709
+ };