nxd-plugin 1.7.76 → 1.7.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/assets/dataJson/AiChatMock.json.d.ts +83 -9
  2. package/dist/chunks/{component-AiChat-DvOiS6XW.mjs → component-AiChat-TzaWZ71y.mjs} +435 -328
  3. package/dist/chunks/{component-AqiMonitor-xtkg3YYL.mjs → component-AqiMonitor-Dq1Ug6e9.mjs} +1 -1
  4. package/dist/chunks/{component-ChartCumulativePre-CrIsXxUC.mjs → component-ChartCumulativePre-LVXY9563.mjs} +2 -2
  5. package/dist/chunks/{component-ChartServiceMaterial-CH2JRmXk.mjs → component-ChartServiceMaterial-CMuJeG9Q.mjs} +2 -2
  6. package/dist/chunks/{component-Duty-Btcizjpy.mjs → component-Duty-ChCUHJWA.mjs} +2 -2
  7. package/dist/chunks/{component-EarlyWarningStatistic-iiIJr86a.mjs → component-EarlyWarningStatistic-Co2K8N21.mjs} +2 -2
  8. package/dist/chunks/{component-GeologyLiveAlarm-BDKH6_3N.mjs → component-GeologyLiveAlarm-WkrWYq-y.mjs} +2 -2
  9. package/dist/chunks/{component-HighQuality-YqVCokC1.mjs → component-HighQuality-BU90xZkr.mjs} +3 -3
  10. package/dist/chunks/{component-HighWayEarlyWarningRed-UpU-jUbO.mjs → component-HighWayEarlyWarningRed-o0JOrw1e.mjs} +2 -2
  11. package/dist/chunks/{component-HighWayFreeze-DDt3yPAK.mjs → component-HighWayFreeze-UWgoNt0N.mjs} +2 -2
  12. package/dist/chunks/{component-HighwayLiveAlarm-vaPU17Pr.mjs → component-HighwayLiveAlarm-2jm9SFPN.mjs} +2 -2
  13. package/dist/chunks/{component-HighwayLiveAlarmNew-CVFrU6SR.mjs → component-HighwayLiveAlarmNew-yw6zibZn.mjs} +3 -3
  14. package/dist/chunks/{component-HighwayStations-Choq-MV8.mjs → component-HighwayStations-BKlRC00j.mjs} +2 -2
  15. package/dist/chunks/{component-HighwayWeatherForecast-CFnbV8Es.mjs → component-HighwayWeatherForecast-BU-rqtLD.mjs} +2 -2
  16. package/dist/chunks/{component-IframeWeb-GuGLuA4w.mjs → component-IframeWeb-C5HVTUge.mjs} +1 -1
  17. package/dist/chunks/{component-ImageGeneration-BMwWQhbf.mjs → component-ImageGeneration-B9cO53df.mjs} +1 -1
  18. package/dist/chunks/{component-IntroducePic-D7aUONYj.mjs → component-IntroducePic-B1a3wF9P.mjs} +1 -1
  19. package/dist/chunks/{component-LithiumBatteryMiningArea-BGAEr-4D.mjs → component-LithiumBatteryMiningArea-BZdA_OLy.mjs} +2 -2
  20. package/dist/chunks/{component-MapPopup-CGpYPcYD.mjs → component-MapPopup-BlBK9D5A.mjs} +1 -1
  21. package/dist/chunks/{component-MaterialPreview-Z3_Z3x1C.mjs → component-MaterialPreview-BHbHWwf9.mjs} +2 -2
  22. package/dist/chunks/{component-PieLegend-D2apgbNW.mjs → component-PieLegend-D18aKxyD.mjs} +1 -1
  23. package/dist/chunks/{component-RadarChart-D8eFzW4q.mjs → component-RadarChart-BFU1eJ3o.mjs} +2 -2
  24. package/dist/chunks/{component-RadarLegend-DAntSPne.mjs → component-RadarLegend-Bd_tl_pM.mjs} +1 -1
  25. package/dist/chunks/{component-RadarShortTerm-LAv0PwHu.mjs → component-RadarShortTerm-DHebdfjh.mjs} +4 -4
  26. package/dist/chunks/{component-RadarTime-DqgZVM8j.mjs → component-RadarTime-BYtvitZ3.mjs} +2 -2
  27. package/dist/chunks/{component-RenderMarkdown-Bi1MnEOL.mjs → component-RenderMarkdown-BI7Ws0ye.mjs} +2 -2
  28. package/dist/chunks/{component-ReservoirLiveAlarm-BalTtyVE.mjs → component-ReservoirLiveAlarm-Vc5z4BLP.mjs} +3 -3
  29. package/dist/chunks/{component-ServiceMaterial-By9uSbYq.mjs → component-ServiceMaterial-ChxyqmeV.mjs} +2 -2
  30. package/dist/chunks/{component-ServiceMaterialsBtn-9ES9CZQH.mjs → component-ServiceMaterialsBtn-C6K5Asiz.mjs} +1 -1
  31. package/dist/chunks/{component-TimeBasedForecast-DTdtBrV3.mjs → component-TimeBasedForecast-YSdA16rV.mjs} +4 -4
  32. package/dist/chunks/{component-WarningLine-2IP9h9JP.mjs → component-WarningLine-dcVVUUlU.mjs} +2 -2
  33. package/dist/chunks/{component-WarningSignal-DMypm-jM.mjs → component-WarningSignal-pUlXaTR9.mjs} +3 -3
  34. package/dist/chunks/{component-WeatherForecast-BjnV3mxQ.mjs → component-WeatherForecast-1P91Vyww.mjs} +4 -4
  35. package/dist/chunks/{component-YCDataMonitor-LV6a6dpF.mjs → component-YCDataMonitor-B1xjc-dv.mjs} +2 -2
  36. package/dist/chunks/{component-YCDataService-B01UoeW1.mjs → component-YCDataService-CXt3ylaS.mjs} +4 -4
  37. package/dist/chunks/{component-YCHome-BvC1CqzO.mjs → component-YCHome-e2gwJ2cS.mjs} +3 -3
  38. package/dist/chunks/{component-YCHomeLegend-DFvcgNHr.mjs → component-YCHomeLegend-CstOIdQ1.mjs} +1 -1
  39. package/dist/chunks/{component-YCLoginNew-CPTUpoF2.mjs → component-YCLoginNew-9KQ9s2ed.mjs} +3 -3
  40. package/dist/components/AiChat/AiChat.vue.d.ts +1 -1
  41. package/dist/components/AiChat/AiChatThinking.vue.d.ts +16 -0
  42. package/dist/components/AiChat/types.d.ts +11 -0
  43. package/dist/nxd-plugin.mjs +37 -37
  44. package/dist/styles/component-AiChat.css +1 -1
  45. package/dist/styles/component-HighQuality.css +1 -1
  46. package/dist/styles/component-YCLoginNew.css +1 -1
  47. package/package.json +1 -1
@@ -605,17 +605,17 @@ var j = /* @__PURE__ */ n(((e, t) => {
605
605
  ]);
606
606
  },
607
607
  _doProcessBlock: function(e, t) {
608
- for (var n = this._hash.words, r = n[0], i = n[1], a = n[2], o = n[3], s = n[4], u = n[5], d = n[6], f = n[7], p = r.high, m = r.low, h = i.high, g = i.low, _ = a.high, v = a.low, y = o.high, b = o.low, x = s.high, S = s.low, C = u.high, w = u.low, T = d.high, E = d.low, D = f.high, O = f.low, k = p, A = m, j = h, M = g, N = _, P = v, F = y, I = b, L = x, R = S, z = C, B = w, ee = T, V = E, te = D, ne = O, H = 0; H < 80; H++) {
609
- var U, W, G = l[H];
610
- if (H < 16) W = G.high = e[t + H * 2] | 0, U = G.low = e[t + H * 2 + 1] | 0;
608
+ for (var n = this._hash.words, r = n[0], i = n[1], a = n[2], o = n[3], s = n[4], u = n[5], d = n[6], f = n[7], p = r.high, m = r.low, h = i.high, g = i.low, _ = a.high, v = a.low, y = o.high, b = o.low, x = s.high, S = s.low, C = u.high, w = u.low, T = d.high, E = d.low, D = f.high, O = f.low, k = p, A = m, j = h, M = g, N = _, P = v, F = y, I = b, L = x, R = S, z = C, B = w, ee = T, V = E, H = D, te = O, U = 0; U < 80; U++) {
609
+ var W, G, K = l[U];
610
+ if (U < 16) G = K.high = e[t + U * 2] | 0, W = K.low = e[t + U * 2 + 1] | 0;
611
611
  else {
612
- var K = l[H - 15], q = K.high, J = K.low, re = (q >>> 1 | J << 31) ^ (q >>> 8 | J << 24) ^ q >>> 7, ie = (J >>> 1 | q << 31) ^ (J >>> 8 | q << 24) ^ (J >>> 7 | q << 25), Y = l[H - 2], ae = Y.high, oe = Y.low, se = (ae >>> 19 | oe << 13) ^ (ae << 3 | oe >>> 29) ^ ae >>> 6, ce = (oe >>> 19 | ae << 13) ^ (oe << 3 | ae >>> 29) ^ (oe >>> 6 | ae << 26), le = l[H - 7], ue = le.high, de = le.low, fe = l[H - 16], pe = fe.high, me = fe.low;
613
- U = ie + de, W = re + ue + (U >>> 0 < ie >>> 0 ? 1 : 0), U += ce, W = W + se + (U >>> 0 < ce >>> 0 ? 1 : 0), U += me, W = W + pe + (U >>> 0 < me >>> 0 ? 1 : 0), G.high = W, G.low = U;
612
+ var q = l[U - 15], ne = q.high, J = q.low, re = (ne >>> 1 | J << 31) ^ (ne >>> 8 | J << 24) ^ ne >>> 7, ie = (J >>> 1 | ne << 31) ^ (J >>> 8 | ne << 24) ^ (J >>> 7 | ne << 25), Y = l[U - 2], ae = Y.high, oe = Y.low, se = (ae >>> 19 | oe << 13) ^ (ae << 3 | oe >>> 29) ^ ae >>> 6, ce = (oe >>> 19 | ae << 13) ^ (oe << 3 | ae >>> 29) ^ (oe >>> 6 | ae << 26), le = l[U - 7], ue = le.high, de = le.low, fe = l[U - 16], pe = fe.high, me = fe.low;
613
+ W = ie + de, G = re + ue + (W >>> 0 < ie >>> 0 ? 1 : 0), W += ce, G = G + se + (W >>> 0 < ce >>> 0 ? 1 : 0), W += me, G = G + pe + (W >>> 0 < me >>> 0 ? 1 : 0), K.high = G, K.low = W;
614
614
  }
615
- var he = L & z ^ ~L & ee, ge = R & B ^ ~R & V, _e = k & j ^ k & N ^ j & N, ve = A & M ^ A & P ^ M & P, ye = (k >>> 28 | A << 4) ^ (k << 30 | A >>> 2) ^ (k << 25 | A >>> 7), be = (A >>> 28 | k << 4) ^ (A << 30 | k >>> 2) ^ (A << 25 | k >>> 7), xe = (L >>> 14 | R << 18) ^ (L >>> 18 | R << 14) ^ (L << 23 | R >>> 9), Se = (R >>> 14 | L << 18) ^ (R >>> 18 | L << 14) ^ (R << 23 | L >>> 9), Ce = c[H], we = Ce.high, Te = Ce.low, Ee = ne + Se, De = te + xe + (Ee >>> 0 < ne >>> 0 ? 1 : 0), Ee = Ee + ge, De = De + he + (Ee >>> 0 < ge >>> 0 ? 1 : 0), Ee = Ee + Te, De = De + we + (Ee >>> 0 < Te >>> 0 ? 1 : 0), Ee = Ee + U, De = De + W + (Ee >>> 0 < U >>> 0 ? 1 : 0), Oe = be + ve, ke = ye + _e + (Oe >>> 0 < be >>> 0 ? 1 : 0);
616
- te = ee, ne = V, ee = z, V = B, z = L, B = R, R = I + Ee | 0, L = F + De + (R >>> 0 < I >>> 0 ? 1 : 0) | 0, F = N, I = P, N = j, P = M, j = k, M = A, A = Ee + Oe | 0, k = De + ke + (A >>> 0 < Ee >>> 0 ? 1 : 0) | 0;
615
+ var he = L & z ^ ~L & ee, ge = R & B ^ ~R & V, _e = k & j ^ k & N ^ j & N, ve = A & M ^ A & P ^ M & P, ye = (k >>> 28 | A << 4) ^ (k << 30 | A >>> 2) ^ (k << 25 | A >>> 7), be = (A >>> 28 | k << 4) ^ (A << 30 | k >>> 2) ^ (A << 25 | k >>> 7), xe = (L >>> 14 | R << 18) ^ (L >>> 18 | R << 14) ^ (L << 23 | R >>> 9), Se = (R >>> 14 | L << 18) ^ (R >>> 18 | L << 14) ^ (R << 23 | L >>> 9), Ce = c[U], we = Ce.high, Te = Ce.low, Ee = te + Se, De = H + xe + (Ee >>> 0 < te >>> 0 ? 1 : 0), Ee = Ee + ge, De = De + he + (Ee >>> 0 < ge >>> 0 ? 1 : 0), Ee = Ee + Te, De = De + we + (Ee >>> 0 < Te >>> 0 ? 1 : 0), Ee = Ee + W, De = De + G + (Ee >>> 0 < W >>> 0 ? 1 : 0), Oe = be + ve, ke = ye + _e + (Oe >>> 0 < be >>> 0 ? 1 : 0);
616
+ H = ee, te = V, ee = z, V = B, z = L, B = R, R = I + Ee | 0, L = F + De + (R >>> 0 < I >>> 0 ? 1 : 0) | 0, F = N, I = P, N = j, P = M, j = k, M = A, A = Ee + Oe | 0, k = De + ke + (A >>> 0 < Ee >>> 0 ? 1 : 0) | 0;
617
617
  }
618
- m = r.low = m + A, r.high = p + k + (m >>> 0 < A >>> 0 ? 1 : 0), g = i.low = g + M, i.high = h + j + (g >>> 0 < M >>> 0 ? 1 : 0), v = a.low = v + P, a.high = _ + N + (v >>> 0 < P >>> 0 ? 1 : 0), b = o.low = b + I, o.high = y + F + (b >>> 0 < I >>> 0 ? 1 : 0), S = s.low = S + R, s.high = x + L + (S >>> 0 < R >>> 0 ? 1 : 0), w = u.low = w + B, u.high = C + z + (w >>> 0 < B >>> 0 ? 1 : 0), E = d.low = E + V, d.high = T + ee + (E >>> 0 < V >>> 0 ? 1 : 0), O = f.low = O + ne, f.high = D + te + (O >>> 0 < ne >>> 0 ? 1 : 0);
618
+ m = r.low = m + A, r.high = p + k + (m >>> 0 < A >>> 0 ? 1 : 0), g = i.low = g + M, i.high = h + j + (g >>> 0 < M >>> 0 ? 1 : 0), v = a.low = v + P, a.high = _ + N + (v >>> 0 < P >>> 0 ? 1 : 0), b = o.low = b + I, o.high = y + F + (b >>> 0 < I >>> 0 ? 1 : 0), S = s.low = S + R, s.high = x + L + (S >>> 0 < R >>> 0 ? 1 : 0), w = u.low = w + B, u.high = C + z + (w >>> 0 < B >>> 0 ? 1 : 0), E = d.low = E + V, d.high = T + ee + (E >>> 0 < V >>> 0 ? 1 : 0), O = f.low = O + te, f.high = D + H + (O >>> 0 < te >>> 0 ? 1 : 0);
619
619
  },
620
620
  _doFinalize: function() {
621
621
  var e = this._data, t = e.words, n = this._nDataBytes * 8, r = e.sigBytes * 8;
@@ -630,7 +630,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
630
630
  t.SHA512 = n._createHelper(u), t.HmacSHA512 = n._createHmacHelper(u);
631
631
  })(), e.SHA512;
632
632
  });
633
- })), te = /* @__PURE__ */ n(((e, t) => {
633
+ })), H = /* @__PURE__ */ n(((e, t) => {
634
634
  (function(n, r, i) {
635
635
  typeof e == "object" ? t.exports = e = r(M(), N(), V()) : typeof define == "function" && define.amd ? define([
636
636
  "./core",
@@ -660,7 +660,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
660
660
  t.SHA384 = o._createHelper(s), t.HmacSHA384 = o._createHmacHelper(s);
661
661
  })(), e.SHA384;
662
662
  });
663
- })), ne = /* @__PURE__ */ n(((e, t) => {
663
+ })), te = /* @__PURE__ */ n(((e, t) => {
664
664
  (function(n, r, i) {
665
665
  typeof e == "object" ? t.exports = e = r(M(), N()) : typeof define == "function" && define.amd ? define(["./core", "./x64-core"], r) : r(n.CryptoJS);
666
666
  })(e, function(e) {
@@ -749,7 +749,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
749
749
  n.SHA3 = a._createHelper(f), n.HmacSHA3 = a._createHmacHelper(f);
750
750
  })(Math), e.SHA3;
751
751
  });
752
- })), H = /* @__PURE__ */ n(((e, t) => {
752
+ })), U = /* @__PURE__ */ n(((e, t) => {
753
753
  (function(n, r) {
754
754
  typeof e == "object" ? t.exports = e = r(M()) : typeof define == "function" && define.amd ? define(["./core"], r) : r(n.CryptoJS);
755
755
  })(e, function(e) {
@@ -1143,7 +1143,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
1143
1143
  n.RIPEMD160 = a._createHelper(p), n.HmacRIPEMD160 = a._createHmacHelper(p);
1144
1144
  })(Math), e.RIPEMD160;
1145
1145
  });
1146
- })), U = /* @__PURE__ */ n(((e, t) => {
1146
+ })), W = /* @__PURE__ */ n(((e, t) => {
1147
1147
  (function(n, r) {
1148
1148
  typeof e == "object" ? t.exports = e = r(M()) : typeof define == "function" && define.amd ? define(["./core"], r) : r(n.CryptoJS);
1149
1149
  })(e, function(e) {
@@ -1171,9 +1171,9 @@ var j = /* @__PURE__ */ n(((e, t) => {
1171
1171
  });
1172
1172
  })();
1173
1173
  });
1174
- })), W = /* @__PURE__ */ n(((e, t) => {
1174
+ })), G = /* @__PURE__ */ n(((e, t) => {
1175
1175
  (function(n, r, i) {
1176
- typeof e == "object" ? t.exports = e = r(M(), B(), U()) : typeof define == "function" && define.amd ? define([
1176
+ typeof e == "object" ? t.exports = e = r(M(), B(), W()) : typeof define == "function" && define.amd ? define([
1177
1177
  "./core",
1178
1178
  "./sha256",
1179
1179
  "./hmac"
@@ -1207,9 +1207,9 @@ var j = /* @__PURE__ */ n(((e, t) => {
1207
1207
  };
1208
1208
  })(), e.PBKDF2;
1209
1209
  });
1210
- })), G = /* @__PURE__ */ n(((e, t) => {
1210
+ })), K = /* @__PURE__ */ n(((e, t) => {
1211
1211
  (function(n, r, i) {
1212
- typeof e == "object" ? t.exports = e = r(M(), z(), U()) : typeof define == "function" && define.amd ? define([
1212
+ typeof e == "object" ? t.exports = e = r(M(), z(), W()) : typeof define == "function" && define.amd ? define([
1213
1213
  "./core",
1214
1214
  "./sha1",
1215
1215
  "./hmac"
@@ -1239,9 +1239,9 @@ var j = /* @__PURE__ */ n(((e, t) => {
1239
1239
  };
1240
1240
  })(), e.EvpKDF;
1241
1241
  });
1242
- })), K = /* @__PURE__ */ n(((e, t) => {
1242
+ })), q = /* @__PURE__ */ n(((e, t) => {
1243
1243
  (function(n, r, i) {
1244
- typeof e == "object" ? t.exports = e = r(M(), G()) : typeof define == "function" && define.amd ? define(["./core", "./evpkdf"], r) : r(n.CryptoJS);
1244
+ typeof e == "object" ? t.exports = e = r(M(), K()) : typeof define == "function" && define.amd ? define(["./core", "./evpkdf"], r) : r(n.CryptoJS);
1245
1245
  })(e, function(e) {
1246
1246
  e.lib.Cipher || function(t) {
1247
1247
  var n = e, r = n.lib, i = r.Base, a = r.WordArray, o = r.BufferedBlockAlgorithm, s = n.enc;
@@ -1418,9 +1418,9 @@ var j = /* @__PURE__ */ n(((e, t) => {
1418
1418
  });
1419
1419
  }();
1420
1420
  });
1421
- })), q = /* @__PURE__ */ n(((e, t) => {
1421
+ })), ne = /* @__PURE__ */ n(((e, t) => {
1422
1422
  (function(n, r, i) {
1423
- typeof e == "object" ? t.exports = e = r(M(), K()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1423
+ typeof e == "object" ? t.exports = e = r(M(), q()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1424
1424
  })(e, function(e) {
1425
1425
  return e.mode.CFB = function() {
1426
1426
  var t = e.lib.BlockCipherMode.extend();
@@ -1441,7 +1441,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
1441
1441
  });
1442
1442
  })), J = /* @__PURE__ */ n(((e, t) => {
1443
1443
  (function(n, r, i) {
1444
- typeof e == "object" ? t.exports = e = r(M(), K()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1444
+ typeof e == "object" ? t.exports = e = r(M(), q()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1445
1445
  })(e, function(e) {
1446
1446
  return e.mode.CTR = function() {
1447
1447
  var t = e.lib.BlockCipherMode.extend();
@@ -1456,7 +1456,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
1456
1456
  });
1457
1457
  })), re = /* @__PURE__ */ n(((e, t) => {
1458
1458
  (function(n, r, i) {
1459
- typeof e == "object" ? t.exports = e = r(M(), K()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1459
+ typeof e == "object" ? t.exports = e = r(M(), q()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1460
1460
  })(e, function(e) {
1461
1461
  return e.mode.CTRGladman = function() {
1462
1462
  var t = e.lib.BlockCipherMode.extend();
@@ -1481,7 +1481,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
1481
1481
  });
1482
1482
  })), ie = /* @__PURE__ */ n(((e, t) => {
1483
1483
  (function(n, r, i) {
1484
- typeof e == "object" ? t.exports = e = r(M(), K()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1484
+ typeof e == "object" ? t.exports = e = r(M(), q()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1485
1485
  })(e, function(e) {
1486
1486
  return e.mode.OFB = function() {
1487
1487
  var t = e.lib.BlockCipherMode.extend();
@@ -1494,7 +1494,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
1494
1494
  });
1495
1495
  })), Y = /* @__PURE__ */ n(((e, t) => {
1496
1496
  (function(n, r, i) {
1497
- typeof e == "object" ? t.exports = e = r(M(), K()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1497
+ typeof e == "object" ? t.exports = e = r(M(), q()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1498
1498
  })(e, function(e) {
1499
1499
  return e.mode.ECB = function() {
1500
1500
  var t = e.lib.BlockCipherMode.extend();
@@ -1507,7 +1507,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
1507
1507
  });
1508
1508
  })), ae = /* @__PURE__ */ n(((e, t) => {
1509
1509
  (function(n, r, i) {
1510
- typeof e == "object" ? t.exports = e = r(M(), K()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1510
+ typeof e == "object" ? t.exports = e = r(M(), q()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1511
1511
  })(e, function(e) {
1512
1512
  return e.pad.AnsiX923 = {
1513
1513
  pad: function(e, t) {
@@ -1522,7 +1522,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
1522
1522
  });
1523
1523
  })), oe = /* @__PURE__ */ n(((e, t) => {
1524
1524
  (function(n, r, i) {
1525
- typeof e == "object" ? t.exports = e = r(M(), K()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1525
+ typeof e == "object" ? t.exports = e = r(M(), q()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1526
1526
  })(e, function(e) {
1527
1527
  return e.pad.Iso10126 = {
1528
1528
  pad: function(t, n) {
@@ -1537,7 +1537,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
1537
1537
  });
1538
1538
  })), se = /* @__PURE__ */ n(((e, t) => {
1539
1539
  (function(n, r, i) {
1540
- typeof e == "object" ? t.exports = e = r(M(), K()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1540
+ typeof e == "object" ? t.exports = e = r(M(), q()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1541
1541
  })(e, function(e) {
1542
1542
  return e.pad.Iso97971 = {
1543
1543
  pad: function(t, n) {
@@ -1550,7 +1550,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
1550
1550
  });
1551
1551
  })), ce = /* @__PURE__ */ n(((e, t) => {
1552
1552
  (function(n, r, i) {
1553
- typeof e == "object" ? t.exports = e = r(M(), K()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1553
+ typeof e == "object" ? t.exports = e = r(M(), q()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1554
1554
  })(e, function(e) {
1555
1555
  return e.pad.ZeroPadding = {
1556
1556
  pad: function(e, t) {
@@ -1567,7 +1567,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
1567
1567
  });
1568
1568
  })), le = /* @__PURE__ */ n(((e, t) => {
1569
1569
  (function(n, r, i) {
1570
- typeof e == "object" ? t.exports = e = r(M(), K()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1570
+ typeof e == "object" ? t.exports = e = r(M(), q()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1571
1571
  })(e, function(e) {
1572
1572
  return e.pad.NoPadding = {
1573
1573
  pad: function() {},
@@ -1576,7 +1576,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
1576
1576
  });
1577
1577
  })), ue = /* @__PURE__ */ n(((e, t) => {
1578
1578
  (function(n, r, i) {
1579
- typeof e == "object" ? t.exports = e = r(M(), K()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1579
+ typeof e == "object" ? t.exports = e = r(M(), q()) : typeof define == "function" && define.amd ? define(["./core", "./cipher-core"], r) : r(n.CryptoJS);
1580
1580
  })(e, function(e) {
1581
1581
  return (function(t) {
1582
1582
  var n = e, r = n.lib.CipherParams, i = n.enc.Hex, a = n.format;
@@ -1593,7 +1593,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
1593
1593
  });
1594
1594
  })), de = /* @__PURE__ */ n(((e, t) => {
1595
1595
  (function(n, r, i) {
1596
- typeof e == "object" ? t.exports = e = r(M(), I(), R(), G(), K()) : typeof define == "function" && define.amd ? define([
1596
+ typeof e == "object" ? t.exports = e = r(M(), I(), R(), K(), q()) : typeof define == "function" && define.amd ? define([
1597
1597
  "./core",
1598
1598
  "./enc-base64",
1599
1599
  "./md5",
@@ -1663,7 +1663,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
1663
1663
  });
1664
1664
  })), fe = /* @__PURE__ */ n(((e, t) => {
1665
1665
  (function(n, r, i) {
1666
- typeof e == "object" ? t.exports = e = r(M(), I(), R(), G(), K()) : typeof define == "function" && define.amd ? define([
1666
+ typeof e == "object" ? t.exports = e = r(M(), I(), R(), K(), q()) : typeof define == "function" && define.amd ? define([
1667
1667
  "./core",
1668
1668
  "./enc-base64",
1669
1669
  "./md5",
@@ -2397,7 +2397,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
2397
2397
  });
2398
2398
  })), pe = /* @__PURE__ */ n(((e, t) => {
2399
2399
  (function(n, r, i) {
2400
- typeof e == "object" ? t.exports = e = r(M(), I(), R(), G(), K()) : typeof define == "function" && define.amd ? define([
2400
+ typeof e == "object" ? t.exports = e = r(M(), I(), R(), K(), q()) : typeof define == "function" && define.amd ? define([
2401
2401
  "./core",
2402
2402
  "./enc-base64",
2403
2403
  "./md5",
@@ -2444,7 +2444,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
2444
2444
  });
2445
2445
  })), me = /* @__PURE__ */ n(((e, t) => {
2446
2446
  (function(n, r, i) {
2447
- typeof e == "object" ? t.exports = e = r(M(), I(), R(), G(), K()) : typeof define == "function" && define.amd ? define([
2447
+ typeof e == "object" ? t.exports = e = r(M(), I(), R(), K(), q()) : typeof define == "function" && define.amd ? define([
2448
2448
  "./core",
2449
2449
  "./enc-base64",
2450
2450
  "./md5",
@@ -2506,7 +2506,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
2506
2506
  });
2507
2507
  })), he = /* @__PURE__ */ n(((e, t) => {
2508
2508
  (function(n, r, i) {
2509
- typeof e == "object" ? t.exports = e = r(M(), I(), R(), G(), K()) : typeof define == "function" && define.amd ? define([
2509
+ typeof e == "object" ? t.exports = e = r(M(), I(), R(), K(), q()) : typeof define == "function" && define.amd ? define([
2510
2510
  "./core",
2511
2511
  "./enc-base64",
2512
2512
  "./md5",
@@ -2567,7 +2567,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
2567
2567
  });
2568
2568
  })), ge = /* @__PURE__ */ n(((e, t) => {
2569
2569
  (function(n, r, i) {
2570
- typeof e == "object" ? t.exports = e = r(M(), I(), R(), G(), K()) : typeof define == "function" && define.amd ? define([
2570
+ typeof e == "object" ? t.exports = e = r(M(), I(), R(), K(), q()) : typeof define == "function" && define.amd ? define([
2571
2571
  "./core",
2572
2572
  "./enc-base64",
2573
2573
  "./md5",
@@ -3690,7 +3690,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
3690
3690
  });
3691
3691
  })), _e = /* @__PURE__ */ n(((e, t) => {
3692
3692
  (function(n, r, i) {
3693
- typeof e == "object" ? t.exports = e = r(M(), N(), P(), F(), I(), L(), R(), z(), B(), ee(), V(), te(), ne(), H(), U(), W(), G(), K(), q(), J(), re(), ie(), Y(), ae(), oe(), se(), ce(), le(), ue(), de(), fe(), pe(), me(), he(), ge()) : typeof define == "function" && define.amd ? define(/* @__PURE__ */ "./core,./x64-core,./lib-typedarrays,./enc-utf16,./enc-base64,./enc-base64url,./md5,./sha1,./sha256,./sha224,./sha512,./sha384,./sha3,./ripemd160,./hmac,./pbkdf2,./evpkdf,./cipher-core,./mode-cfb,./mode-ctr,./mode-ctr-gladman,./mode-ofb,./mode-ecb,./pad-ansix923,./pad-iso10126,./pad-iso97971,./pad-zeropadding,./pad-nopadding,./format-hex,./aes,./tripledes,./rc4,./rabbit,./rabbit-legacy,./blowfish".split(","), r) : n.CryptoJS = r(n.CryptoJS);
3693
+ typeof e == "object" ? t.exports = e = r(M(), N(), P(), F(), I(), L(), R(), z(), B(), ee(), V(), H(), te(), U(), W(), G(), K(), q(), ne(), J(), re(), ie(), Y(), ae(), oe(), se(), ce(), le(), ue(), de(), fe(), pe(), me(), he(), ge()) : typeof define == "function" && define.amd ? define(/* @__PURE__ */ "./core,./x64-core,./lib-typedarrays,./enc-utf16,./enc-base64,./enc-base64url,./md5,./sha1,./sha256,./sha224,./sha512,./sha384,./sha3,./ripemd160,./hmac,./pbkdf2,./evpkdf,./cipher-core,./mode-cfb,./mode-ctr,./mode-ctr-gladman,./mode-ofb,./mode-ecb,./pad-ansix923,./pad-iso10126,./pad-iso97971,./pad-zeropadding,./pad-nopadding,./format-hex,./aes,./tripledes,./rc4,./rabbit,./rabbit-legacy,./blowfish".split(","), r) : n.CryptoJS = r(n.CryptoJS);
3694
3694
  })(e, function(e) {
3695
3695
  return e;
3696
3696
  });
@@ -3712,7 +3712,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
3712
3712
  }
3713
3713
  return v.call(t, n, "$&_");
3714
3714
  }
3715
- var F = j(), I = F.custom, L = q(I) ? I : null, R = {
3715
+ var F = j(), I = F.custom, L = ne(I) ? I : null, R = {
3716
3716
  __proto__: null,
3717
3717
  double: "\"",
3718
3718
  single: "'"
@@ -3744,7 +3744,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
3744
3744
  return d ? P(t, m) : m;
3745
3745
  }
3746
3746
  var h = s.depth === void 0 ? 5 : s.depth;
3747
- if (r === void 0 && (r = 0), r >= h && h > 0 && typeof t == "object") return te(t) ? "[Array]" : "[Object]";
3747
+ if (r === void 0 && (r = 0), r >= h && h > 0 && typeof t == "object") return H(t) ? "[Array]" : "[Object]";
3748
3748
  var g = ye(s, r);
3749
3749
  if (o === void 0) o = [];
3750
3750
  else if (oe(o, t) >= 0) return "[Circular]";
@@ -3755,11 +3755,11 @@ var j = /* @__PURE__ */ n(((e, t) => {
3755
3755
  }
3756
3756
  return e(t, s, r + 1, o);
3757
3757
  }
3758
- if (typeof t == "function" && !H(t)) {
3758
+ if (typeof t == "function" && !U(t)) {
3759
3759
  var x = ae(t), T = xe(t, y);
3760
3760
  return "[Function" + (x ? ": " + x : " (anonymous)") + "]" + (T.length > 0 ? " { " + C.call(T, ", ") + " }" : "");
3761
3761
  }
3762
- if (q(t)) {
3762
+ if (ne(t)) {
3763
3763
  var D = k ? v.call(String(t), /^(Symbol\(.*\))_[^)]*$/, "$1") : O.call(t);
3764
3764
  return typeof t == "object" && !k ? he(D) : D;
3765
3765
  }
@@ -3767,12 +3767,12 @@ var j = /* @__PURE__ */ n(((e, t) => {
3767
3767
  for (var j = "<" + b.call(String(t.nodeName)), I = t.attributes || [], z = 0; z < I.length; z++) j += " " + I[z].name + "=" + B(ee(I[z].value), "double", s);
3768
3768
  return j += ">", t.childNodes && t.childNodes.length && (j += "..."), j += "</" + b.call(String(t.nodeName)) + ">", j;
3769
3769
  }
3770
- if (te(t)) {
3770
+ if (H(t)) {
3771
3771
  if (t.length === 0) return "[]";
3772
3772
  var V = xe(t, y);
3773
3773
  return g && !ve(V) ? "[" + be(V, g) + "]" : "[ " + C.call(V, ", ") + " ]";
3774
3774
  }
3775
- if (U(t)) {
3775
+ if (W(t)) {
3776
3776
  var re = xe(t, y);
3777
3777
  return !("cause" in Error.prototype) && "cause" in t && !M.call(t, "cause") ? "{ [" + String(t) + "] " + C.call(S.call("[cause]: " + y(t.cause), re), ", ") + " }" : re.length === 0 ? "[" + String(t) + "]" : "{ [" + String(t) + "] " + C.call(re, ", ") + " }";
3778
3778
  }
@@ -3795,13 +3795,13 @@ var j = /* @__PURE__ */ n(((e, t) => {
3795
3795
  if (ce(t)) return ge("WeakMap");
3796
3796
  if (de(t)) return ge("WeakSet");
3797
3797
  if (le(t)) return ge("WeakRef");
3798
- if (G(t)) return he(y(Number(t)));
3798
+ if (K(t)) return he(y(Number(t)));
3799
3799
  if (J(t)) return he(y(E.call(t)));
3800
- if (K(t)) return he(p.call(t));
3801
- if (W(t)) return he(y(String(t)));
3800
+ if (q(t)) return he(p.call(t));
3801
+ if (G(t)) return he(y(String(t)));
3802
3802
  if (typeof window < "u" && t === window) return "{ [object Window] }";
3803
3803
  if (typeof globalThis < "u" && t === globalThis || typeof global < "u" && t === global) return "{ [object globalThis] }";
3804
- if (!ne(t) && !H(t)) {
3804
+ if (!te(t) && !U(t)) {
3805
3805
  var Ce = xe(t, y), we = N ? N(t) === Object.prototype : t instanceof Object || t.constructor === Object, Te = t instanceof Object ? "" : "null prototype", Ee = !we && A && Object(t) === t && A in t ? _.call(Y(t), 8, -1) : Te ? "Object" : "", De = (we || typeof t.constructor != "function" ? "" : t.constructor.name ? t.constructor.name + " " : "") + (Ee || Te ? "[" + C.call(S.call([], Ee || [], Te || []), ": ") + "] " : "");
3806
3806
  return Ce.length === 0 ? De + "{}" : g ? De + "{" + be(Ce, g) + "}" : De + "{ " + C.call(Ce, ", ") + " }";
3807
3807
  }
@@ -3817,28 +3817,28 @@ var j = /* @__PURE__ */ n(((e, t) => {
3817
3817
  function V(e) {
3818
3818
  return !A || !(typeof e == "object" && (A in e || e[A] !== void 0));
3819
3819
  }
3820
- function te(e) {
3820
+ function H(e) {
3821
3821
  return Y(e) === "[object Array]" && V(e);
3822
3822
  }
3823
- function ne(e) {
3823
+ function te(e) {
3824
3824
  return Y(e) === "[object Date]" && V(e);
3825
3825
  }
3826
- function H(e) {
3826
+ function U(e) {
3827
3827
  return Y(e) === "[object RegExp]" && V(e);
3828
3828
  }
3829
- function U(e) {
3829
+ function W(e) {
3830
3830
  return Y(e) === "[object Error]" && V(e);
3831
3831
  }
3832
- function W(e) {
3832
+ function G(e) {
3833
3833
  return Y(e) === "[object String]" && V(e);
3834
3834
  }
3835
- function G(e) {
3835
+ function K(e) {
3836
3836
  return Y(e) === "[object Number]" && V(e);
3837
3837
  }
3838
- function K(e) {
3838
+ function q(e) {
3839
3839
  return Y(e) === "[object Boolean]" && V(e);
3840
3840
  }
3841
- function q(e) {
3841
+ function ne(e) {
3842
3842
  if (k) return e && typeof e == "object" && e instanceof Symbol;
3843
3843
  if (typeof e == "symbol") return !0;
3844
3844
  if (!e || typeof e != "object" || !O) return !1;
@@ -3983,7 +3983,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
3983
3983
  return n + C.call(e, "," + n) + "\n" + t.prev;
3984
3984
  }
3985
3985
  function xe(e, t) {
3986
- var n = te(e), r = [];
3986
+ var n = H(e), r = [];
3987
3987
  if (n) {
3988
3988
  r.length = e.length;
3989
3989
  for (var i = 0; i < e.length; i++) r[i] = ie(e, i) ? t(e[i], e) : "";
@@ -4394,15 +4394,15 @@ var j = /* @__PURE__ */ n(((e, t) => {
4394
4394
  "%URIErrorPrototype%": ["URIError", "prototype"],
4395
4395
  "%WeakMapPrototype%": ["WeakMap", "prototype"],
4396
4396
  "%WeakSetPrototype%": ["WeakSet", "prototype"]
4397
- }, F = We(), I = Ze(), L = F.call(k, Array.prototype.concat), R = F.call(O, Array.prototype.splice), z = F.call(k, String.prototype.replace), B = F.call(k, String.prototype.slice), ee = F.call(k, RegExp.prototype.exec), V = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g, te = /\\(\\)?/g, ne = function(e) {
4397
+ }, F = We(), I = Ze(), L = F.call(k, Array.prototype.concat), R = F.call(O, Array.prototype.splice), z = F.call(k, String.prototype.replace), B = F.call(k, String.prototype.slice), ee = F.call(k, RegExp.prototype.exec), V = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g, H = /\\(\\)?/g, te = function(e) {
4398
4398
  var t = B(e, 0, 1), n = B(e, -1);
4399
4399
  if (t === "%" && n !== "%") throw new c("invalid intrinsic syntax, expected closing `%`");
4400
4400
  if (n === "%" && t !== "%") throw new c("invalid intrinsic syntax, expected opening `%`");
4401
4401
  var r = [];
4402
4402
  return z(e, V, function(e, t, n, i) {
4403
- r[r.length] = n ? z(i, te, "$1") : t || e;
4403
+ r[r.length] = n ? z(i, H, "$1") : t || e;
4404
4404
  }), r;
4405
- }, H = function(e, t) {
4405
+ }, U = function(e, t) {
4406
4406
  var n = e, r;
4407
4407
  if (I(P, n) && (r = P[n], n = "%" + r[0] + "%"), I(M, n)) {
4408
4408
  var i = M[n];
@@ -4419,7 +4419,7 @@ var j = /* @__PURE__ */ n(((e, t) => {
4419
4419
  if (typeof e != "string" || e.length === 0) throw new l("intrinsic name must be a non-empty string");
4420
4420
  if (arguments.length > 1 && typeof t != "boolean") throw new l("\"allowMissing\" argument must be a boolean");
4421
4421
  if (ee(/^%?[^%]*%?$/, e) === null) throw new c("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
4422
- var n = ne(e), r = n.length > 0 ? n[0] : "", i = H("%" + r + "%", t), a = i.name, o = i.value, s = !1, u = i.alias;
4422
+ var n = te(e), r = n.length > 0 ? n[0] : "", i = U("%" + r + "%", t), a = i.name, o = i.value, s = !1, u = i.alias;
4423
4423
  u && (r = u[0], R(n, L([0, 1], u)));
4424
4424
  for (var d = 1, f = !0; d < n.length; d += 1) {
4425
4425
  var p = n[d], m = B(p, 0, 1), h = B(p, -1);
@@ -6784,13 +6784,13 @@ function Ei() {
6784
6784
  return T ||= (w = Ci(u, i), !0), w;
6785
6785
  }, j = n, M = j.implementation, N = j.createNodeIterator, P = j.createDocumentFragment, F = j.getElementsByTagName, I = r.importNode, L = wi();
6786
6786
  t.isSupported = typeof fr == "function" && typeof g == "function" && M && M.createHTMLDocument !== void 0;
6787
- let R = si, z = ci, B = li, ee = ui, V = di, te = pi, ne = mi, H = gi, U = fi, W = null, G = $({}, [
6787
+ let R = si, z = ci, B = li, ee = ui, V = di, H = pi, te = mi, U = gi, W = fi, G = null, K = $({}, [
6788
6788
  ...Xr,
6789
6789
  ...Zr,
6790
6790
  ...Qr,
6791
6791
  ...ei,
6792
6792
  ...ni
6793
- ]), K = null, q = $({}, [
6793
+ ]), q = null, ne = $({}, [
6794
6794
  ...ri,
6795
6795
  ...ii,
6796
6796
  ...ai,
@@ -6870,19 +6870,19 @@ function Ei() {
6870
6870
  }, Je = function() {
6871
6871
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
6872
6872
  if (Ge && Ge === e) return;
6873
- (!e || typeof e != "object") && (e = {}), e = Kr(e), Ue = We.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? "text/html" : e.PARSER_MEDIA_TYPE, X = Ue === "application/xhtml+xml" ? Ar : kr, W = Ti(e, "ALLOWED_TAGS", G, { transform: X }), K = Ti(e, "ALLOWED_ATTR", q, { transform: X }), Ie = Ti(e, "ALLOWED_NAMESPACES", Le, { transform: Ar }), ke = Ti(e, "ADD_URI_SAFE_ATTR", Ae, {
6873
+ (!e || typeof e != "object") && (e = {}), e = Kr(e), Ue = We.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? "text/html" : e.PARSER_MEDIA_TYPE, X = Ue === "application/xhtml+xml" ? Ar : kr, G = Ti(e, "ALLOWED_TAGS", K, { transform: X }), q = Ti(e, "ALLOWED_ATTR", ne, { transform: X }), Ie = Ti(e, "ALLOWED_NAMESPACES", Le, { transform: Ar }), ke = Ti(e, "ADD_URI_SAFE_ATTR", Ae, {
6874
6874
  transform: X,
6875
6875
  base: Ae
6876
6876
  }), De = Ti(e, "ADD_DATA_URI_TAGS", Oe, {
6877
6877
  transform: X,
6878
6878
  base: Oe
6879
- }), Te = Ti(e, "FORBID_CONTENTS", Ee, { transform: X }), re = Ti(e, "FORBID_TAGS", Kr({}), { transform: X }), ie = Ti(e, "FORBID_ATTR", Kr({}), { transform: X }), we = zr(e, "USE_PROFILES") ? e.USE_PROFILES && typeof e.USE_PROFILES == "object" ? Kr(e.USE_PROFILES) : e.USE_PROFILES : !1, ae = e.ALLOW_ARIA_ATTR !== !1, oe = e.ALLOW_DATA_ATTR !== !1, se = e.ALLOW_UNKNOWN_PROTOCOLS || !1, ce = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, le = e.SAFE_FOR_TEMPLATES || !1, ue = e.SAFE_FOR_XML !== !1, de = e.WHOLE_DOCUMENT || !1, ge = e.RETURN_DOM || !1, _e = e.RETURN_DOM_FRAGMENT || !1, ve = e.RETURN_TRUSTED_TYPE || !1, he = e.FORCE_BODY || !1, ye = e.SANITIZE_DOM !== !1, be = e.SANITIZE_NAMED_PROPS || !1, Se = e.KEEP_CONTENT !== !1, Ce = e.IN_PLACE || !1, U = Yr(e.ALLOWED_URI_REGEXP) ? e.ALLOWED_URI_REGEXP : fi, Pe = typeof e.NAMESPACE == "string" ? e.NAMESPACE : Ne, ze = zr(e, "MATHML_TEXT_INTEGRATION_POINTS") && e.MATHML_TEXT_INTEGRATION_POINTS && typeof e.MATHML_TEXT_INTEGRATION_POINTS == "object" ? Kr(e.MATHML_TEXT_INTEGRATION_POINTS) : $({}, Re), Ve = zr(e, "HTML_INTEGRATION_POINTS") && e.HTML_INTEGRATION_POINTS && typeof e.HTML_INTEGRATION_POINTS == "object" ? Kr(e.HTML_INTEGRATION_POINTS) : $({}, Be);
6879
+ }), Te = Ti(e, "FORBID_CONTENTS", Ee, { transform: X }), re = Ti(e, "FORBID_TAGS", Kr({}), { transform: X }), ie = Ti(e, "FORBID_ATTR", Kr({}), { transform: X }), we = zr(e, "USE_PROFILES") ? e.USE_PROFILES && typeof e.USE_PROFILES == "object" ? Kr(e.USE_PROFILES) : e.USE_PROFILES : !1, ae = e.ALLOW_ARIA_ATTR !== !1, oe = e.ALLOW_DATA_ATTR !== !1, se = e.ALLOW_UNKNOWN_PROTOCOLS || !1, ce = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, le = e.SAFE_FOR_TEMPLATES || !1, ue = e.SAFE_FOR_XML !== !1, de = e.WHOLE_DOCUMENT || !1, ge = e.RETURN_DOM || !1, _e = e.RETURN_DOM_FRAGMENT || !1, ve = e.RETURN_TRUSTED_TYPE || !1, he = e.FORCE_BODY || !1, ye = e.SANITIZE_DOM !== !1, be = e.SANITIZE_NAMED_PROPS || !1, Se = e.KEEP_CONTENT !== !1, Ce = e.IN_PLACE || !1, W = Yr(e.ALLOWED_URI_REGEXP) ? e.ALLOWED_URI_REGEXP : fi, Pe = typeof e.NAMESPACE == "string" ? e.NAMESPACE : Ne, ze = zr(e, "MATHML_TEXT_INTEGRATION_POINTS") && e.MATHML_TEXT_INTEGRATION_POINTS && typeof e.MATHML_TEXT_INTEGRATION_POINTS == "object" ? Kr(e.MATHML_TEXT_INTEGRATION_POINTS) : $({}, Re), Ve = zr(e, "HTML_INTEGRATION_POINTS") && e.HTML_INTEGRATION_POINTS && typeof e.HTML_INTEGRATION_POINTS == "object" ? Kr(e.HTML_INTEGRATION_POINTS) : $({}, Be);
6880
6880
  let t = zr(e, "CUSTOM_ELEMENT_HANDLING") && e.CUSTOM_ELEMENT_HANDLING && typeof e.CUSTOM_ELEMENT_HANDLING == "object" ? Kr(e.CUSTOM_ELEMENT_HANDLING) : yr(null);
6881
- if (J = yr(null), zr(t, "tagNameCheck") && qe(t.tagNameCheck) && (J.tagNameCheck = t.tagNameCheck), zr(t, "attributeNameCheck") && qe(t.attributeNameCheck) && (J.attributeNameCheck = t.attributeNameCheck), zr(t, "allowCustomizedBuiltInElements") && typeof t.allowCustomizedBuiltInElements == "boolean" && (J.allowCustomizedBuiltInElements = t.allowCustomizedBuiltInElements), vr(J), le && (oe = !1), _e && (ge = !0), we && (W = $({}, ni), K = yr(null), we.html === !0 && ($(W, Xr), $(K, ri)), we.svg === !0 && ($(W, Zr), $(K, ii), $(K, oi)), we.svgFilters === !0 && ($(W, Qr), $(K, ii), $(K, oi)), we.mathMl === !0 && ($(W, ei), $(K, ai), $(K, oi))), Y.tagCheck = null, Y.attributeCheck = null, zr(e, "ADD_TAGS") && (typeof e.ADD_TAGS == "function" ? Y.tagCheck = e.ADD_TAGS : Or(e.ADD_TAGS) && (W === G && (W = Kr(W)), $(W, e.ADD_TAGS, X))), zr(e, "ADD_ATTR") && (typeof e.ADD_ATTR == "function" ? Y.attributeCheck = e.ADD_ATTR : Or(e.ADD_ATTR) && (K === q && (K = Kr(K)), $(K, e.ADD_ATTR, X))), zr(e, "ADD_URI_SAFE_ATTR") && Or(e.ADD_URI_SAFE_ATTR) && $(ke, e.ADD_URI_SAFE_ATTR, X), zr(e, "FORBID_CONTENTS") && Or(e.FORBID_CONTENTS) && (Te === Ee && (Te = Kr(Te)), $(Te, e.FORBID_CONTENTS, X)), zr(e, "ADD_FORBID_CONTENTS") && Or(e.ADD_FORBID_CONTENTS) && (Te === Ee && (Te = Kr(Te)), $(Te, e.ADD_FORBID_CONTENTS, X)), Se && (W["#text"] = !0), de && $(W, [
6881
+ if (J = yr(null), zr(t, "tagNameCheck") && qe(t.tagNameCheck) && (J.tagNameCheck = t.tagNameCheck), zr(t, "attributeNameCheck") && qe(t.attributeNameCheck) && (J.attributeNameCheck = t.attributeNameCheck), zr(t, "allowCustomizedBuiltInElements") && typeof t.allowCustomizedBuiltInElements == "boolean" && (J.allowCustomizedBuiltInElements = t.allowCustomizedBuiltInElements), vr(J), le && (oe = !1), _e && (ge = !0), we && (G = $({}, ni), q = yr(null), we.html === !0 && ($(G, Xr), $(q, ri)), we.svg === !0 && ($(G, Zr), $(q, ii), $(q, oi)), we.svgFilters === !0 && ($(G, Qr), $(q, ii), $(q, oi)), we.mathMl === !0 && ($(G, ei), $(q, ai), $(q, oi))), Y.tagCheck = null, Y.attributeCheck = null, zr(e, "ADD_TAGS") && (typeof e.ADD_TAGS == "function" ? Y.tagCheck = e.ADD_TAGS : Or(e.ADD_TAGS) && (G === K && (G = Kr(G)), $(G, e.ADD_TAGS, X))), zr(e, "ADD_ATTR") && (typeof e.ADD_ATTR == "function" ? Y.attributeCheck = e.ADD_ATTR : Or(e.ADD_ATTR) && (q === ne && (q = Kr(q)), $(q, e.ADD_ATTR, X))), zr(e, "ADD_URI_SAFE_ATTR") && Or(e.ADD_URI_SAFE_ATTR) && $(ke, e.ADD_URI_SAFE_ATTR, X), zr(e, "FORBID_CONTENTS") && Or(e.FORBID_CONTENTS) && (Te === Ee && (Te = Kr(Te)), $(Te, e.FORBID_CONTENTS, X)), zr(e, "ADD_FORBID_CONTENTS") && Or(e.ADD_FORBID_CONTENTS) && (Te === Ee && (Te = Kr(Te)), $(Te, e.ADD_FORBID_CONTENTS, X)), Se && (G["#text"] = !0), de && $(G, [
6882
6882
  "html",
6883
6883
  "head",
6884
6884
  "body"
6885
- ]), W.table && ($(W, ["tbody"]), delete re.tbody), e.TRUSTED_TYPES_POLICY) {
6885
+ ]), G.table && ($(G, ["tbody"]), delete re.tbody), e.TRUSTED_TYPES_POLICY) {
6886
6886
  if (typeof e.TRUSTED_TYPES_POLICY.createHTML != "function") throw Hr("TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.");
6887
6887
  if (typeof e.TRUSTED_TYPES_POLICY.createScriptURL != "function") throw Hr("TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.");
6888
6888
  let t = S;
@@ -6961,7 +6961,7 @@ function Ei() {
6961
6961
  let t = v(e);
6962
6962
  if (t) for (let n = t.length - 1; n >= 0; --n) {
6963
6963
  let r = t[n], i = r && r.name;
6964
- if (!(typeof i != "string" || K[X(i)])) try {
6964
+ if (!(typeof i != "string" || q[X(i)])) try {
6965
6965
  e.removeAttribute(i);
6966
6966
  } catch {}
6967
6967
  }
@@ -7070,12 +7070,12 @@ function Ei() {
7070
7070
  if (mt(L.beforeSanitizeElements, e, null), e !== n && g(e) === null) return Ce && at(e), !0;
7071
7071
  if (dt(e)) return tt(e), !0;
7072
7072
  let r = X(b ? b(e) : e.nodeName);
7073
- if (W = _t(L.uponSanitizeElement, W, G, pe), mt(L.uponSanitizeElement, e, {
7073
+ if (G = _t(L.uponSanitizeElement, G, K, pe), mt(L.uponSanitizeElement, e, {
7074
7074
  tagName: r,
7075
- allowedTags: W
7075
+ allowedTags: G
7076
7076
  }), e !== n && g(e) === null) return Ce && at(e), !0;
7077
7077
  if (ht(e, r)) return tt(e), !0;
7078
- if (re[r] || !(Y.tagCheck instanceof Function && Y.tagCheck(r)) && !W[r]) {
7078
+ if (re[r] || !(Y.tagCheck instanceof Function && Y.tagCheck(r)) && !G[r]) {
7079
7079
  let t = gt(e, r, n);
7080
7080
  return t === !1 && mt(L.afterSanitizeElements, e, null), t;
7081
7081
  }
@@ -7087,11 +7087,11 @@ function Ei() {
7087
7087
  return mt(L.afterSanitizeElements, e, null), !1;
7088
7088
  }, yt = function(e, t, r) {
7089
7089
  if (ie[t] || ue && t === "patchsrc" || ue && t === "for" && e !== "label" && e !== "output" || ye && (t === "id" || t === "name") && (r in n || r in Ke)) return !1;
7090
- let i = K[t] || Y.attributeCheck instanceof Function && Y.attributeCheck(t, e);
7090
+ let i = q[t] || Y.attributeCheck instanceof Function && Y.attributeCheck(t, e);
7091
7091
  if (!(oe && Vr(ee, t)) && !(ae && Vr(V, t))) {
7092
7092
  if (!i) {
7093
7093
  if (!(xt(e) && (J.tagNameCheck instanceof RegExp && Vr(J.tagNameCheck, e) || J.tagNameCheck instanceof Function && J.tagNameCheck(e)) && (J.attributeNameCheck instanceof RegExp && Vr(J.attributeNameCheck, t) || J.attributeNameCheck instanceof Function && J.attributeNameCheck(t, e)) || t === "is" && J.allowCustomizedBuiltInElements && (J.tagNameCheck instanceof RegExp && Vr(J.tagNameCheck, r) || J.tagNameCheck instanceof Function && J.tagNameCheck(r)))) return !1;
7094
- } else if (!ke[t] && !Vr(U, Mr(r, ne, "")) && !((t === "src" || t === "xlink:href" || t === "href") && e !== "script" && Nr(r, "data:") === 0 && De[e]) && !(se && !Vr(te, Mr(r, ne, ""))) && r) return !1;
7094
+ } else if (!ke[t] && !Vr(W, Mr(r, te, "")) && !((t === "src" || t === "xlink:href" || t === "href") && e !== "script" && Nr(r, "data:") === 0 && De[e]) && !(se && !Vr(H, Mr(r, te, ""))) && r) return !1;
7095
7095
  }
7096
7096
  return !0;
7097
7097
  }, bt = $({}, [
@@ -7104,7 +7104,7 @@ function Ei() {
7104
7104
  "font-face-uri",
7105
7105
  "missing-glyph"
7106
7106
  ]), xt = function(e) {
7107
- return !bt[kr(e)] && Vr(H, e);
7107
+ return !bt[kr(e)] && Vr(U, e);
7108
7108
  }, St = function(e, t, n, r) {
7109
7109
  if (S && typeof u == "object" && typeof u.getAttributeType == "function" && !n) switch (u.getAttributeType(e, t)) {
7110
7110
  case "TrustedHTML": return O(r);
@@ -7121,12 +7121,12 @@ function Ei() {
7121
7121
  mt(L.beforeSanitizeAttributes, e, null);
7122
7122
  let t = e.attributes;
7123
7123
  if (!t || dt(e)) return;
7124
- K = _t(L.uponSanitizeAttribute, K, q, me);
7124
+ q = _t(L.uponSanitizeAttribute, q, ne, me);
7125
7125
  let n = {
7126
7126
  attrName: "",
7127
7127
  attrValue: "",
7128
7128
  keepAttr: !0,
7129
- allowedAttributes: K,
7129
+ allowedAttributes: q,
7130
7130
  forceKeepAttr: void 0
7131
7131
  }, r = t.length, i = X(e.nodeName);
7132
7132
  for (; r--;) {
@@ -7205,14 +7205,14 @@ function Ei() {
7205
7205
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, i = null, a = null, o = null, s = null;
7206
7206
  if (Fe = !e, Fe && (e = "<!-->"), typeof e != "string" && !pt(e) && (e = qr(e), typeof e != "string")) throw Hr("dirty is not a string, aborting");
7207
7207
  if (!t.isSupported) return e;
7208
- fe ? (W = pe, K = me) : Je(n), (L.uponSanitizeElement.length > 0 || L.uponSanitizeAttribute.length > 0) && (W = Kr(W)), L.uponSanitizeAttribute.length > 0 && (K = Kr(K)), t.removed = [];
7208
+ fe ? (G = pe, q = me) : Je(n), (L.uponSanitizeElement.length > 0 || L.uponSanitizeAttribute.length > 0) && (G = Kr(G)), L.uponSanitizeAttribute.length > 0 && (q = Kr(q)), t.removed = [];
7209
7209
  let c = Ce && typeof e != "string" && pt(e);
7210
7210
  if (c) {
7211
7211
  ot(e);
7212
7212
  let t = b ? b(e) : e.nodeName;
7213
7213
  if (typeof t == "string") {
7214
7214
  let n = X(t);
7215
- if (!W[n] || re[n]) throw nt(e), Hr("root node is forbidden and cannot be sanitized in-place");
7215
+ if (!G[n] || re[n]) throw nt(e), Hr("root node is forbidden and cannot be sanitized in-place");
7216
7216
  }
7217
7217
  if (dt(e)) throw nt(e), Hr("root node is clobbered and cannot be sanitized in-place");
7218
7218
  try {
@@ -7241,12 +7241,12 @@ function Ei() {
7241
7241
  if (ge) {
7242
7242
  if (le && ut(i), _e) for (s = P.call(i.ownerDocument); i.firstChild;) s.appendChild(i.firstChild);
7243
7243
  else s = i;
7244
- return (K.shadowroot || K.shadowrootmode) && (s = I.call(r, s, !0)), s;
7244
+ return (q.shadowroot || q.shadowrootmode) && (s = I.call(r, s, !0)), s;
7245
7245
  }
7246
7246
  let u = de ? i.outerHTML : i.innerHTML;
7247
- return de && W["!doctype"] && i.ownerDocument && i.ownerDocument.doctype && i.ownerDocument.doctype.name && Vr(hi, i.ownerDocument.doctype.name) && (u = "<!DOCTYPE " + i.ownerDocument.doctype.name + ">\n" + u), le && (u = lt(u)), S && ve ? O(u) : u;
7247
+ return de && G["!doctype"] && i.ownerDocument && i.ownerDocument.doctype && i.ownerDocument.doctype.name && Vr(hi, i.ownerDocument.doctype.name) && (u = "<!DOCTYPE " + i.ownerDocument.doctype.name + ">\n" + u), le && (u = lt(u)), S && ve ? O(u) : u;
7248
7248
  }, t.setConfig = function() {
7249
- Je(arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}), fe = !0, pe = W, me = K;
7249
+ Je(arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}), fe = !0, pe = G, me = q;
7250
7250
  }, t.clearConfig = function() {
7251
7251
  Ge = null, fe = !1, pe = null, me = null, S = w, C = "";
7252
7252
  }, t.isValidAttribute = function(e, t, n) {
@@ -7488,7 +7488,7 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
7488
7488
  scope: "number",
7489
7489
  begin: k,
7490
7490
  relevance: 0
7491
- }, te = {
7491
+ }, H = {
7492
7492
  scope: "regexp",
7493
7493
  begin: /\/(?=[^/\n]*\/)/,
7494
7494
  end: /\/[gimuy]*/,
@@ -7498,18 +7498,18 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
7498
7498
  relevance: 0,
7499
7499
  contains: [M]
7500
7500
  }]
7501
- }, ne = {
7501
+ }, te = {
7502
7502
  scope: "title",
7503
7503
  begin: T,
7504
7504
  relevance: 0
7505
- }, H = {
7505
+ }, U = {
7506
7506
  scope: "title",
7507
7507
  begin: E,
7508
7508
  relevance: 0
7509
- }, U = {
7509
+ }, W = {
7510
7510
  begin: "\\.\\s*" + E,
7511
7511
  relevance: 0
7512
- }, W = /* @__PURE__ */ Object.freeze({
7512
+ }, G = /* @__PURE__ */ Object.freeze({
7513
7513
  __proto__: null,
7514
7514
  APOS_STRING_MODE: N,
7515
7515
  BACKSLASH_ESCAPE: M,
@@ -7533,26 +7533,26 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
7533
7533
  HASH_COMMENT_MODE: z,
7534
7534
  IDENT_RE: T,
7535
7535
  MATCH_NOTHING_RE: w,
7536
- METHOD_GUARD: U,
7536
+ METHOD_GUARD: W,
7537
7537
  NUMBER_MODE: B,
7538
7538
  NUMBER_RE: D,
7539
7539
  PHRASAL_WORDS_MODE: F,
7540
7540
  QUOTE_STRING_MODE: P,
7541
- REGEXP_MODE: te,
7541
+ REGEXP_MODE: H,
7542
7542
  RE_STARTERS_RE: A,
7543
7543
  SHEBANG: j,
7544
- TITLE_MODE: ne,
7544
+ TITLE_MODE: te,
7545
7545
  UNDERSCORE_IDENT_RE: E,
7546
- UNDERSCORE_TITLE_MODE: H
7546
+ UNDERSCORE_TITLE_MODE: U
7547
7547
  });
7548
- function G(e, t) {
7548
+ function K(e, t) {
7549
7549
  e.input[e.index - 1] === "." && t.ignoreMatch();
7550
7550
  }
7551
- function K(e, t) {
7551
+ function q(e, t) {
7552
7552
  e.className !== void 0 && (e.scope = e.className, delete e.className);
7553
7553
  }
7554
- function q(e, t) {
7555
- t && e.beginKeywords && (e.begin = "\\b(" + e.beginKeywords.split(" ").join("|") + ")(?!\\.)(?=\\b|\\s)", e.__beforeBegin = G, e.keywords = e.keywords || e.beginKeywords, delete e.beginKeywords, e.relevance === void 0 && (e.relevance = 0));
7554
+ function ne(e, t) {
7555
+ t && e.beginKeywords && (e.begin = "\\b(" + e.beginKeywords.split(" ").join("|") + ")(?!\\.)(?=\\b|\\s)", e.__beforeBegin = K, e.keywords = e.keywords || e.beginKeywords, delete e.beginKeywords, e.relevance === void 0 && (e.relevance = 0));
7556
7556
  }
7557
7557
  function J(e, t) {
7558
7558
  Array.isArray(e.illegal) && (e.illegal = y(...e.illegal));
@@ -7701,12 +7701,12 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
7701
7701
  let a = n;
7702
7702
  if (n.isCompiled) return a;
7703
7703
  [
7704
- K,
7704
+ q,
7705
7705
  re,
7706
7706
  ye,
7707
7707
  Y
7708
7708
  ].forEach((e) => e(n, r)), e.compilerExtensions.forEach((e) => e(n, r)), n.__beforeBegin = null, [
7709
- q,
7709
+ ne,
7710
7710
  J,
7711
7711
  ie
7712
7712
  ].forEach((e) => e(n, r)), n.isCompiled = !0;
@@ -8102,8 +8102,8 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
8102
8102
  optional: g,
8103
8103
  anyNumberOfTimes: h
8104
8104
  };
8105
- for (let e in W) typeof W[e] == "object" && n(W[e]);
8106
- return Object.assign(e, W), e;
8105
+ for (let e in G) typeof G[e] == "object" && n(G[e]);
8106
+ return Object.assign(e, G), e;
8107
8107
  }, Ae = ke({});
8108
8108
  Ae.newInstance = () => ke({}), t.exports = Ae, Ae.HighlightJS = Ae, Ae.default = Ae;
8109
8109
  })), ki = /* @__PURE__ */ n(((e, t) => {
@@ -23784,7 +23784,7 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
23784
23784
  begin: /\/[^\s](?=[^/\n]*\/)/,
23785
23785
  end: /\//,
23786
23786
  contains: ee
23787
- }, te = (e) => {
23787
+ }, H = (e) => {
23788
23788
  let t = i(e, /\//), n = i(/\//, e);
23789
23789
  return {
23790
23790
  begin: t,
@@ -23795,16 +23795,16 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
23795
23795
  end: /$/
23796
23796
  }]
23797
23797
  };
23798
- }, ne = {
23798
+ }, te = {
23799
23799
  scope: "regexp",
23800
23800
  variants: [
23801
- te("###"),
23802
- te("##"),
23803
- te("#"),
23801
+ H("###"),
23802
+ H("##"),
23803
+ H("#"),
23804
23804
  V
23805
23805
  ]
23806
- }, H = { match: i(/`/, x, /`/) }, U = [
23807
- H,
23806
+ }, U = { match: i(/`/, x, /`/) }, W = [
23807
+ U,
23808
23808
  {
23809
23809
  className: "variable",
23810
23810
  match: /\$\d+/
@@ -23813,7 +23813,7 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
23813
23813
  className: "variable",
23814
23814
  match: `\\$${b}+`
23815
23815
  }
23816
- ], W = [
23816
+ ], G = [
23817
23817
  {
23818
23818
  match: /(@|#(un)?)available/,
23819
23819
  scope: "keyword",
@@ -23836,7 +23836,7 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
23836
23836
  scope: "meta",
23837
23837
  match: i(/@/, x)
23838
23838
  }
23839
- ], G = {
23839
+ ], K = {
23840
23840
  match: r(/\b[A-Z]/),
23841
23841
  relevance: 0,
23842
23842
  contains: [
@@ -23862,20 +23862,20 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
23862
23862
  relevance: 0
23863
23863
  }
23864
23864
  ]
23865
- }, K = {
23865
+ }, q = {
23866
23866
  begin: /</,
23867
23867
  end: />/,
23868
23868
  keywords: D,
23869
23869
  contains: [
23870
23870
  ...a,
23871
23871
  ...O,
23872
- ...W,
23872
+ ...G,
23873
23873
  A,
23874
- G
23874
+ K
23875
23875
  ]
23876
23876
  };
23877
- G.contains.push(K);
23878
- let q = {
23877
+ K.contains.push(q);
23878
+ let ne = {
23879
23879
  begin: /\(/,
23880
23880
  end: /\)/,
23881
23881
  relevance: 0,
@@ -23888,21 +23888,21 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
23888
23888
  relevance: 0
23889
23889
  },
23890
23890
  ...a,
23891
- ne,
23891
+ te,
23892
23892
  ...O,
23893
23893
  ...k,
23894
23894
  ...j,
23895
23895
  P,
23896
23896
  B,
23897
- ...U,
23898
23897
  ...W,
23899
- G
23898
+ ...G,
23899
+ K
23900
23900
  ]
23901
23901
  }, J = {
23902
23902
  begin: /</,
23903
23903
  end: />/,
23904
23904
  keywords: "repeat each",
23905
- contains: [...a, G]
23905
+ contains: [...a, K]
23906
23906
  }, re = {
23907
23907
  begin: /\(/,
23908
23908
  end: /\)/,
@@ -23925,9 +23925,9 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
23925
23925
  ...j,
23926
23926
  P,
23927
23927
  B,
23928
- ...W,
23929
- G,
23930
- q
23928
+ ...G,
23929
+ K,
23930
+ ne
23931
23931
  ],
23932
23932
  endsParent: !0,
23933
23933
  illegal: /["']/
@@ -23935,7 +23935,7 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
23935
23935
  match: [
23936
23936
  /(func|macro)/,
23937
23937
  /\s+/,
23938
- o(H.match, x, v)
23938
+ o(U.match, x, v)
23939
23939
  ],
23940
23940
  className: {
23941
23941
  1: "keyword",
@@ -23976,7 +23976,7 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
23976
23976
  1: "keyword",
23977
23977
  3: "title"
23978
23978
  },
23979
- contains: [G],
23979
+ contains: [K],
23980
23980
  keywords: [...p, ...f],
23981
23981
  end: /}/
23982
23982
  }, se = {
@@ -24038,7 +24038,7 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
24038
24038
  ...j,
24039
24039
  P,
24040
24040
  B,
24041
- ...U
24041
+ ...W
24042
24042
  ];
24043
24043
  t.contains = [...n, {
24044
24044
  begin: /\(/,
@@ -24064,16 +24064,16 @@ var Di = Ei(), Oi = /* @__PURE__ */ n(((e, t) => {
24064
24064
  contains: [...a],
24065
24065
  relevance: 0
24066
24066
  },
24067
- ne,
24067
+ te,
24068
24068
  ...O,
24069
24069
  ...k,
24070
24070
  ...j,
24071
24071
  P,
24072
24072
  B,
24073
- ...U,
24074
24073
  ...W,
24075
- G,
24076
- q
24074
+ ...G,
24075
+ K,
24076
+ ne
24077
24077
  ]
24078
24078
  };
24079
24079
  }
@@ -26057,71 +26057,159 @@ function lc(e) {
26057
26057
  });
26058
26058
  }
26059
26059
  //#endregion
26060
- //#region src/components/AiChat/AiChatResponse.vue?vue&type=script&setup=true&lang.ts
26061
- var uc = {
26060
+ //#region src/components/AiChat/AiChatThinking.vue?vue&type=script&setup=true&lang.ts
26061
+ var uc = { class: "AiChatThinking__list" }, dc = { class: "AiChatThinking__dot" }, fc = {
26062
+ key: 0,
26063
+ class: "AiChatThinking__check",
26064
+ viewBox: "0 0 24 24",
26065
+ width: "14",
26066
+ height: "14",
26067
+ fill: "currentColor"
26068
+ }, pc = {
26069
+ key: 1,
26070
+ class: "AiChatThinking__pulse"
26071
+ }, mc = { class: "AiChatThinking__body" }, hc = {
26072
+ key: 0,
26073
+ class: "AiChatThinking__text"
26074
+ }, gc = ["innerHTML"], _c = {
26075
+ key: 0,
26076
+ class: "AiChatThinking__tableWrap"
26077
+ }, vc = ["src", "alt"], yc = {
26078
+ key: 0,
26079
+ class: "AiChatThinking__placeholder"
26080
+ }, bc = /* @__PURE__ */ f({
26081
+ __name: "AiChatThinking",
26082
+ props: {
26083
+ steps: {},
26084
+ theme: {},
26085
+ speed: { default: 30 },
26086
+ baseHttp: { default: "" }
26087
+ },
26088
+ emits: ["complete"],
26089
+ setup(e, { emit: t }) {
26090
+ let n = e, i = t, o = y(!0), u = y([]), d = y(0), f = y([]), p = a(() => u.value.length > 0 && u.value.every((e) => e.done)), h = (e) => e === "text" || e === "markdown", C = (e) => e ? /^(https?:)?\/\//i.test(e) || e.startsWith("data:") || !n.baseHttp ? e : n.baseHttp.replace(/\/$/, "") + (e.startsWith("/") ? e : `/${e}`) : "", E = () => {
26091
+ f.value.forEach((e) => clearTimeout(e)), f.value = [];
26092
+ }, O = () => {
26093
+ o.value = !o.value;
26094
+ }, k = () => {
26095
+ E(), u.value = [], d.value = 0, A(0);
26096
+ }, A = (e) => {
26097
+ if (e >= n.steps.length) {
26098
+ i("complete");
26099
+ return;
26100
+ }
26101
+ d.value = e;
26102
+ let t = n.steps[e];
26103
+ u.value.push({
26104
+ ...t,
26105
+ visible: 0,
26106
+ shown: !1,
26107
+ done: !1
26108
+ });
26109
+ let r = u.value[e];
26110
+ h(r.type) ? j(e) : (r.shown = !0, f.value.push(setTimeout(() => {
26111
+ r.done = !0, A(e + 1);
26112
+ }, r.delay || 600)));
26113
+ }, j = (e) => {
26114
+ let t = u.value[e];
26115
+ if (!t) return;
26116
+ let r = t.content || "";
26117
+ t.visible < r.length ? (t.visible++, f.value.push(setTimeout(() => j(e), n.speed))) : (t.done = !0, f.value.push(setTimeout(() => A(e + 1), t.delay || 400)));
26118
+ };
26119
+ return g(k), T(() => n.steps, k, { deep: !0 }), _(E), (e, t) => (v(), c("div", { class: m(["AiChatThinking", `AiChatThinking--${n.theme}`]) }, [l("div", {
26120
+ class: "AiChatThinking__header",
26121
+ onClick: O
26122
+ }, [t[1] ||= l("span", { class: "AiChatThinking__label" }, "思考过程", -1), (v(), c("svg", {
26123
+ class: m(["AiChatThinking__arrow", { "is-open": o.value }]),
26124
+ viewBox: "0 0 24 24",
26125
+ width: "16",
26126
+ height: "16",
26127
+ fill: "currentColor"
26128
+ }, [...t[0] ||= [l("path", { d: "M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z" }, null, -1)]], 2))]), D(l("div", uc, [(v(!0), c(r, null, b(u.value, (e, n) => (v(), c("div", {
26129
+ key: n,
26130
+ class: m(["AiChatThinking__step", {
26131
+ "is-done": e.done,
26132
+ "is-active": n === d.value && !p.value
26133
+ }])
26134
+ }, [l("span", dc, [e.done ? (v(), c("svg", fc, [...t[2] ||= [l("path", { d: "M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" }, null, -1)]])) : (v(), c("span", pc))]), l("div", mc, [h(e.type) ? (v(), c(r, { key: 0 }, [e.type === "text" ? (v(), c("span", hc, x(e.content?.slice(0, e.visible)), 1)) : (v(), c("div", {
26135
+ key: 1,
26136
+ class: "AiChatThinking__markdown markdown-body",
26137
+ innerHTML: S(lc)(e.content?.slice(0, e.visible) || "")
26138
+ }, null, 8, gc))], 64)) : e.type === "table" ? (v(), c(r, { key: 1 }, [e.shown ? (v(), c("div", _c, [l("table", null, [l("thead", null, [l("tr", null, [(v(!0), c(r, null, b(e.columns, (e) => (v(), c("th", {
26139
+ key: e.key,
26140
+ class: m(`is-${e.align || "left"}`)
26141
+ }, x(e.title), 3))), 128))])]), l("tbody", null, [(v(!0), c(r, null, b(e.data, (t, n) => (v(), c("tr", { key: n }, [(v(!0), c(r, null, b(e.columns, (e) => (v(), c("td", {
26142
+ key: e.key,
26143
+ class: m(`is-${e.align || "left"}`)
26144
+ }, x(t[e.key]), 3))), 128))]))), 128))])])])) : s("", !0)], 64)) : e.type === "image" ? (v(), c(r, { key: 2 }, [e.shown ? (v(), c("img", {
26145
+ key: 0,
26146
+ src: C(e.url),
26147
+ alt: e.caption,
26148
+ class: "AiChatThinking__image",
26149
+ loading: "lazy"
26150
+ }, null, 8, vc)) : s("", !0)], 64)) : e.type === "echarts" ? (v(), c(r, { key: 3 }, [e.shown ? (v(), c("div", yc, "图表已生成")) : s("", !0)], 64)) : s("", !0)])], 2))), 128))], 512), [[w, o.value]])], 2));
26151
+ }
26152
+ }), xc = {
26062
26153
  key: 0,
26063
26154
  class: "block-text"
26064
- }, dc = {
26155
+ }, Sc = {
26065
26156
  key: 0,
26066
26157
  class: "block-title"
26067
- }, fc = ["innerHTML"], pc = {
26158
+ }, Cc = ["innerHTML"], wc = {
26068
26159
  key: 2,
26069
26160
  class: "plain-text"
26070
- }, mc = {
26161
+ }, Tc = {
26071
26162
  key: 1,
26072
- class: "block-thinking"
26073
- }, hc = ["onClick"], gc = ["innerHTML"], _c = {
26074
- key: 2,
26075
26163
  class: "block-table"
26076
- }, vc = {
26164
+ }, Ec = {
26077
26165
  key: 0,
26078
26166
  class: "block-title"
26079
- }, yc = { class: "table-wrap" }, bc = {
26080
- key: 3,
26167
+ }, Dc = { class: "table-wrap" }, Oc = {
26168
+ key: 2,
26081
26169
  class: "block-echarts"
26082
- }, xc = {
26170
+ }, kc = {
26083
26171
  key: 0,
26084
26172
  class: "block-title"
26085
- }, Sc = {
26086
- key: 4,
26173
+ }, Ac = {
26174
+ key: 3,
26087
26175
  class: "block-image"
26088
- }, Cc = {
26176
+ }, jc = {
26089
26177
  key: 0,
26090
26178
  class: "block-title"
26091
- }, wc = ["onClick"], Tc = ["src", "alt"], Ec = {
26179
+ }, Mc = ["onClick"], Nc = ["src", "alt"], Pc = {
26092
26180
  key: 0,
26093
26181
  class: "image-caption"
26094
- }, Dc = {
26095
- key: 5,
26182
+ }, Fc = {
26183
+ key: 4,
26096
26184
  class: "block-list"
26097
- }, Oc = {
26185
+ }, Ic = {
26098
26186
  key: 0,
26099
26187
  class: "block-title"
26100
- }, kc = {
26101
- key: 6,
26188
+ }, Lc = {
26189
+ key: 5,
26102
26190
  class: "block-file-list"
26103
- }, Ac = {
26191
+ }, Rc = {
26104
26192
  key: 0,
26105
26193
  class: "block-title"
26106
- }, jc = { class: "file-list" }, Mc = ["onClick"], Nc = { class: "file-list-name" }, Pc = {
26194
+ }, zc = { class: "file-list" }, Bc = ["onClick"], Vc = { class: "file-list-name" }, Hc = {
26107
26195
  key: 0,
26108
26196
  class: "file-list-size"
26109
- }, Fc = { class: "file-list-body" }, Ic = {
26197
+ }, Uc = { class: "file-list-body" }, Wc = {
26110
26198
  key: 0,
26111
26199
  class: "file-list-desc"
26112
- }, Lc = ["onClick"], Rc = {
26113
- key: 7,
26200
+ }, Gc = ["onClick"], Kc = {
26201
+ key: 6,
26114
26202
  class: "block-file"
26115
- }, zc = {
26203
+ }, qc = {
26116
26204
  key: 0,
26117
26205
  class: "block-title"
26118
- }, Bc = { class: "file-card" }, Vc = { class: "file-meta" }, Hc = { class: "file-name" }, Uc = {
26206
+ }, Jc = { class: "file-card" }, Yc = { class: "file-meta" }, Xc = { class: "file-name" }, Zc = {
26119
26207
  key: 0,
26120
26208
  class: "file-ext"
26121
- }, Wc = ["onClick"], Gc = ["src", "alt"], Kc = {
26209
+ }, Qc = ["onClick"], $c = ["src", "alt"], el = {
26122
26210
  key: 0,
26123
26211
  class: "preview-caption"
26124
- }, qc = /* @__PURE__ */ f({
26212
+ }, tl = /* @__PURE__ */ f({
26125
26213
  __name: "AiChatResponse",
26126
26214
  props: {
26127
26215
  message: {},
@@ -26133,21 +26221,31 @@ var uc = {
26133
26221
  baseHttp: { default: "" }
26134
26222
  },
26135
26223
  setup(e) {
26136
- let t = e, n = a(() => [...t.message.blocks || []].sort((e, t) => e.sort - t.sort)), o = (e) => e ? /^(https?:)?\/\//i.test(e) || e.startsWith("data:") || !t.baseHttp ? e : t.baseHttp.replace(/\/$/, "") + (e.startsWith("/") ? e : `/${e}`) : "", u = y(null), f = a(() => o(u.value?.url)), p = /* @__PURE__ */ new Map(), h = /* @__PURE__ */ new Map(), C = y(/* @__PURE__ */ new Set()), A = y(/* @__PURE__ */ new Set()), j = (e, t) => {
26137
- e && p.set(t, e);
26138
- }, M = (e) => {
26139
- u.value = e;
26140
- }, N = () => {
26141
- u.value = null;
26142
- }, P = (e) => {
26143
- C.value.has(e) ? C.value.delete(e) : C.value.add(e);
26144
- }, F = (e) => C.value.has(e), I = (e) => {
26145
- A.value.has(e) ? A.value.delete(e) : A.value.add(e);
26146
- }, L = (e) => A.value.has(e), R = (e, t) => {
26224
+ let t = e, n = a(() => [...t.message.blocks || []].sort((e, t) => e.sort - t.sort)), u = a(() => n.value.filter((e) => e.type === "thinking")), f = a(() => u.value.length > 0), p = a(() => {
26225
+ let e = u.value[0];
26226
+ return !e || !e.steps || !e.steps.length ? [] : e.steps;
26227
+ }), h = y(!1), C = a(() => !f.value || h.value), A = a(() => n.value.filter((e) => e.type !== "thinking")), j = (e) => e ? /^(https?:)?\/\//i.test(e) || e.startsWith("data:") || !t.baseHttp ? e : t.baseHttp.replace(/\/$/, "") + (e.startsWith("/") ? e : `/${e}`) : "", M = y(null), N = a(() => j(M.value?.url)), P = /* @__PURE__ */ new Map(), F = /* @__PURE__ */ new Map(), I = y(/* @__PURE__ */ new Set()), L = (e, t) => {
26228
+ e && P.set(t, e);
26229
+ }, R = (e) => {
26230
+ M.value = e;
26231
+ }, z = () => {
26232
+ M.value = null;
26233
+ }, B = (e) => {
26234
+ I.value.has(e) ? I.value.delete(e) : I.value.add(e);
26235
+ }, ee = (e) => I.value.has(e), V = async (e, t) => {
26147
26236
  if (!e) return;
26148
- let n = document.createElement("a");
26149
- n.href = e, n.download = t || "file", n.target = "_blank", document.body.appendChild(n), n.click(), document.body.removeChild(n);
26150
- }, z = (e, t) => {
26237
+ let n = t || "file";
26238
+ try {
26239
+ let t = await fetch(e);
26240
+ if (t.ok) {
26241
+ let e = await t.blob(), r = URL.createObjectURL(e), i = document.createElement("a");
26242
+ i.href = r, i.download = n, document.body.appendChild(i), i.click(), document.body.removeChild(i), URL.revokeObjectURL(r);
26243
+ return;
26244
+ }
26245
+ } catch {}
26246
+ let r = document.createElement("a");
26247
+ r.href = e, r.download = n, r.target = "_blank", document.body.appendChild(r), r.click(), document.body.removeChild(r);
26248
+ }, H = (e, t) => {
26151
26249
  let n = {
26152
26250
  ...e,
26153
26251
  ...t
@@ -26156,20 +26254,26 @@ var uc = {
26156
26254
  "legend",
26157
26255
  "grid",
26158
26256
  "tooltip",
26159
- "title"
26257
+ "title",
26258
+ "xAxis",
26259
+ "yAxis"
26160
26260
  ].forEach((r) => {
26161
26261
  (e[r] || t[r]) && (n[r] = {
26162
26262
  ...e[r],
26163
26263
  ...t[r]
26164
26264
  });
26265
+ }), ["xAxis", "yAxis"].forEach((e) => {
26266
+ n[e] && (Array.isArray(n[e]) ? n[e] : [n[e]]).forEach((e) => {
26267
+ e && typeof e == "object" && (e.splitLine = { show: !1 });
26268
+ });
26165
26269
  }), n;
26166
- }, B = () => {
26270
+ }, te = () => {
26167
26271
  n.value.forEach((e) => {
26168
26272
  if (e.type !== "echarts") return;
26169
- let n = p.get(e.sort);
26273
+ let n = P.get(e.sort);
26170
26274
  if (!n) return;
26171
- let r = h.get(e.sort);
26172
- r || (r = k.init(n, void 0, { renderer: "canvas" }), h.set(e.sort, r));
26275
+ let r = F.get(e.sort);
26276
+ r || (r = k.init(n, void 0, { renderer: "canvas" }), F.set(e.sort, r));
26173
26277
  let i = t.theme === "dark" ? {
26174
26278
  backgroundColor: "transparent",
26175
26279
  textStyle: { color: "#e5e7eb" },
@@ -26190,12 +26294,12 @@ var uc = {
26190
26294
  xAxis: {
26191
26295
  axisLine: { lineStyle: { color: "#4b5563" } },
26192
26296
  axisLabel: { color: "#9ca3af" },
26193
- splitLine: { lineStyle: { color: "#374151" } }
26297
+ splitLine: { show: !1 }
26194
26298
  },
26195
26299
  yAxis: {
26196
26300
  axisLine: { lineStyle: { color: "#4b5563" } },
26197
26301
  axisLabel: { color: "#9ca3af" },
26198
- splitLine: { lineStyle: { color: "#374151" } }
26302
+ splitLine: { show: !1 }
26199
26303
  }
26200
26304
  } : {
26201
26305
  backgroundColor: "transparent",
@@ -26210,150 +26314,154 @@ var uc = {
26210
26314
  bottom: 48,
26211
26315
  left: 56,
26212
26316
  containLabel: !1
26213
- }
26317
+ },
26318
+ xAxis: { splitLine: { show: !1 } },
26319
+ yAxis: { splitLine: { show: !1 } }
26214
26320
  };
26215
- r.setOption(z(i, e.option || {}), !0);
26321
+ r.setOption(H(i, e.option || {}), !0);
26216
26322
  });
26217
- }, ee = () => {
26218
- h.forEach((e) => e.dispose()), h.clear();
26323
+ }, U = () => {
26324
+ F.forEach((e) => e.dispose()), F.clear();
26219
26325
  };
26220
26326
  g(() => {
26221
- B(), window.addEventListener("resize", V);
26327
+ te(), window.addEventListener("resize", W);
26222
26328
  }), _(() => {
26223
- ee(), window.removeEventListener("resize", V);
26329
+ U(), window.removeEventListener("resize", W);
26224
26330
  });
26225
- let V = () => {
26226
- h.forEach((e) => e.resize());
26331
+ let W = () => {
26332
+ F.forEach((e) => e.resize());
26227
26333
  };
26228
26334
  return T(() => [t.message.blocks, t.theme], () => {
26229
- ee(), setTimeout(B, 0);
26230
- }, { deep: !0 }), (t, a) => (v(), c("div", { class: m(["AiChatResponse", `AiChatResponse--${e.theme}`]) }, [(v(!0), c(r, null, b(n.value, (e) => (v(), c(r, { key: e.sort }, [e.type === "markdown" || e.type === "text" ? (v(), c("div", uc, [e.title ? (v(), c("div", dc, x(e.title), 1)) : s("", !0), e.type === "markdown" && e.content ? (v(), c("div", {
26231
- key: 1,
26232
- class: "markdown-body",
26233
- innerHTML: S(lc)(e.content)
26234
- }, null, 8, fc)) : e.type === "text" && e.content ? (v(), c("p", pc, x(e.content), 1)) : s("", !0)])) : e.type === "thinking" ? (v(), c("div", mc, [l("div", {
26235
- class: "thinking-header",
26236
- onClick: (t) => P(e.sort)
26237
- }, [
26238
- a[1] ||= l("span", { class: "thinking-icon" }, "💡", -1),
26239
- a[2] ||= l("span", null, "思考过程", -1),
26240
- (v(), c("svg", {
26241
- class: m(["thinking-arrow", { "is-open": F(e.sort) }]),
26242
- viewBox: "0 0 24 24",
26243
- fill: "currentColor"
26244
- }, [...a[0] ||= [l("path", { d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z" }, null, -1)]], 2))
26245
- ], 8, hc), D(l("div", {
26246
- class: "thinking-body markdown-body",
26247
- innerHTML: S(lc)(e.content || "")
26248
- }, null, 8, gc), [[w, F(e.sort)]])])) : e.type === "table" ? (v(), c("div", _c, [e.title ? (v(), c("div", vc, x(e.title), 1)) : s("", !0), l("div", yc, [l("table", null, [l("thead", null, [l("tr", null, [(v(!0), c(r, null, b(e.columns, (e) => (v(), c("th", {
26249
- key: e.key,
26250
- class: m(`is-${e.align || "left"}`)
26251
- }, x(e.title), 3))), 128))])]), l("tbody", null, [(v(!0), c(r, null, b(e.data, (t, n) => (v(), c("tr", { key: n }, [(v(!0), c(r, null, b(e.columns, (e) => (v(), c("td", {
26252
- key: e.key,
26253
- class: m(`is-${e.align || "left"}`)
26254
- }, x(t[e.key]), 3))), 128))]))), 128))])])])])) : e.type === "echarts" ? (v(), c("div", bc, [e.title ? (v(), c("div", xc, x(e.title), 1)) : s("", !0), l("div", {
26255
- ref_for: !0,
26256
- ref: (t) => j(t, e.sort),
26257
- class: "echarts-container"
26258
- }, null, 512)])) : e.type === "image" ? (v(), c("div", Sc, [e.title ? (v(), c("div", Cc, x(e.title), 1)) : s("", !0), l("div", {
26259
- class: "image-card",
26260
- onClick: (t) => M(e)
26261
- }, [l("img", {
26262
- src: o(e.url),
26263
- alt: e.caption,
26264
- loading: "lazy"
26265
- }, null, 8, Tc), e.caption ? (v(), c("div", Ec, x(e.caption), 1)) : s("", !0)], 8, wc)])) : e.type === "list" ? (v(), c("div", Dc, [e.title ? (v(), c("div", Oc, x(e.title), 1)) : s("", !0), l("ul", null, [(v(!0), c(r, null, b(e.items, (e, t) => (v(), c("li", { key: t }, x(e), 1))), 128))])])) : e.type === "fileList" ? (v(), c("div", kc, [e.title ? (v(), c("div", Ac, x(e.title), 1)) : s("", !0), l("div", jc, [(v(!0), c(r, null, b(e.files, (e, t) => (v(), c("div", {
26266
- key: t,
26267
- class: "file-list-item"
26268
- }, [l("div", {
26269
- class: "file-list-header",
26270
- onClick: (e) => I(t)
26271
- }, [
26272
- a[4] ||= l("div", { class: "file-list-icon" }, [l("svg", {
26273
- viewBox: "0 0 24 24",
26274
- width: "16",
26275
- height: "16",
26276
- fill: "currentColor"
26277
- }, [l("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6zM6 20V4h7v5h5v11H6z" })])], -1),
26278
- l("div", Nc, x(e.name), 1),
26279
- e.size ? (v(), c("div", Pc, x(e.size), 1)) : s("", !0),
26280
- (v(), c("svg", {
26281
- class: m(["file-list-arrow", { "is-open": L(t) }]),
26282
- viewBox: "0 0 24 24",
26283
- fill: "currentColor"
26284
- }, [...a[3] ||= [l("path", { d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z" }, null, -1)]], 2))
26285
- ], 8, Mc), D(l("div", Fc, [e.description ? (v(), c("p", Ic, x(e.description), 1)) : s("", !0), l("button", {
26286
- class: "file-list-download",
26287
- onClick: (t) => R(o(e.url), e.name)
26288
- }, "下载", 8, Lc)], 512), [[w, L(t)]])]))), 128))])])) : e.type === "file" ? (v(), c("div", Rc, [e.title ? (v(), c("div", zc, x(e.title), 1)) : s("", !0), l("div", Bc, [
26289
- a[6] ||= l("div", { class: "file-icon" }, [l("svg", {
26290
- viewBox: "0 0 24 24",
26291
- width: "20",
26292
- height: "20",
26293
- fill: "currentColor"
26294
- }, [l("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6zM6 20V4h7v5h5v11H6z" })])], -1),
26295
- l("div", Vc, [l("div", Hc, x(e.name), 1), e.ext ? (v(), c("div", Uc, x(e.ext.toUpperCase()), 1)) : s("", !0)]),
26296
- l("button", {
26297
- class: "file-download",
26298
- title: "下载",
26299
- onClick: (t) => R(o(e.fileUrl), e.name)
26300
- }, [...a[5] ||= [l("svg", {
26301
- viewBox: "0 0 24 24",
26302
- fill: "currentColor"
26303
- }, [l("path", { d: "M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z" })], -1)]], 8, Wc)
26304
- ])])) : s("", !0)], 64))), 128)), d(i, { name: "fade" }, {
26305
- default: E(() => [u.value ? (v(), c("div", {
26335
+ h.value = !f.value, U(), setTimeout(te, 0);
26336
+ }, { deep: !0 }), T(C, (e) => {
26337
+ e && setTimeout(te, 0);
26338
+ }), (t, n) => (v(), c("div", { class: m(["AiChatResponse", `AiChatResponse--${e.theme}`]) }, [
26339
+ f.value ? (v(), o(bc, {
26306
26340
  key: 0,
26307
- class: "image-preview-overlay",
26308
- onClick: O(N, ["self"])
26341
+ steps: p.value,
26342
+ theme: e.theme,
26343
+ baseHttp: e.baseHttp,
26344
+ onComplete: n[0] ||= (e) => h.value = !0
26345
+ }, null, 8, [
26346
+ "steps",
26347
+ "theme",
26348
+ "baseHttp"
26349
+ ])) : s("", !0),
26350
+ C.value ? (v(!0), c(r, { key: 1 }, b(A.value, (e) => (v(), c(r, { key: e.sort }, [e.type === "markdown" || e.type === "text" ? (v(), c("div", xc, [e.title ? (v(), c("div", Sc, x(e.title), 1)) : s("", !0), e.type === "markdown" && e.content ? (v(), c("div", {
26351
+ key: 1,
26352
+ class: "markdown-body",
26353
+ innerHTML: S(lc)(e.content)
26354
+ }, null, 8, Cc)) : e.type === "text" && e.content ? (v(), c("p", wc, x(e.content), 1)) : s("", !0)])) : e.type === "table" ? (v(), c("div", Tc, [e.title ? (v(), c("div", Ec, x(e.title), 1)) : s("", !0), l("div", Dc, [l("table", null, [l("thead", null, [l("tr", null, [(v(!0), c(r, null, b(e.columns, (e) => (v(), c("th", {
26355
+ key: e.key,
26356
+ class: m(`is-${e.align || "left"}`)
26357
+ }, x(e.title), 3))), 128))])]), l("tbody", null, [(v(!0), c(r, null, b(e.data, (t, n) => (v(), c("tr", { key: n }, [(v(!0), c(r, null, b(e.columns, (e) => (v(), c("td", {
26358
+ key: e.key,
26359
+ class: m(`is-${e.align || "left"}`)
26360
+ }, x(t[e.key]), 3))), 128))]))), 128))])])])])) : e.type === "echarts" ? (v(), c("div", Oc, [e.title ? (v(), c("div", kc, x(e.title), 1)) : s("", !0), l("div", {
26361
+ ref_for: !0,
26362
+ ref: (t) => L(t, e.sort),
26363
+ class: "echarts-container"
26364
+ }, null, 512)])) : e.type === "image" ? (v(), c("div", Ac, [e.title ? (v(), c("div", jc, x(e.title), 1)) : s("", !0), l("div", {
26365
+ class: "image-card",
26366
+ onClick: (t) => R(e)
26367
+ }, [l("img", {
26368
+ src: j(e.url),
26369
+ alt: e.caption,
26370
+ loading: "lazy"
26371
+ }, null, 8, Nc), e.caption ? (v(), c("div", Pc, x(e.caption), 1)) : s("", !0)], 8, Mc)])) : e.type === "list" ? (v(), c("div", Fc, [e.title ? (v(), c("div", Ic, x(e.title), 1)) : s("", !0), l("ul", null, [(v(!0), c(r, null, b(e.items, (e, t) => (v(), c("li", { key: t }, x(e), 1))), 128))])])) : e.type === "fileList" ? (v(), c("div", Lc, [e.title ? (v(), c("div", Rc, x(e.title), 1)) : s("", !0), l("div", zc, [(v(!0), c(r, null, b(e.files, (e, t) => (v(), c("div", {
26372
+ key: t,
26373
+ class: "file-list-item"
26374
+ }, [l("div", {
26375
+ class: "file-list-header",
26376
+ onClick: (e) => B(t)
26309
26377
  }, [
26378
+ n[2] ||= l("div", { class: "file-list-icon" }, [l("svg", {
26379
+ viewBox: "0 0 24 24",
26380
+ width: "16",
26381
+ height: "16",
26382
+ fill: "currentColor"
26383
+ }, [l("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6zM6 20V4h7v5h5v11H6z" })])], -1),
26384
+ l("div", Vc, x(e.name), 1),
26385
+ e.size ? (v(), c("div", Hc, x(e.size), 1)) : s("", !0),
26386
+ (v(), c("svg", {
26387
+ class: m(["file-list-arrow", { "is-open": ee(t) }]),
26388
+ viewBox: "0 0 24 24",
26389
+ fill: "currentColor"
26390
+ }, [...n[1] ||= [l("path", { d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z" }, null, -1)]], 2))
26391
+ ], 8, Bc), D(l("div", Uc, [e.description ? (v(), c("p", Wc, x(e.description), 1)) : s("", !0), l("button", {
26392
+ class: "file-list-download",
26393
+ onClick: (t) => V(j(e.url), e.name)
26394
+ }, "下载", 8, Gc)], 512), [[w, ee(t)]])]))), 128))])])) : e.type === "file" ? (v(), c("div", Kc, [e.title ? (v(), c("div", qc, x(e.title), 1)) : s("", !0), l("div", Jc, [
26395
+ n[4] ||= l("div", { class: "file-icon" }, [l("svg", {
26396
+ viewBox: "0 0 24 24",
26397
+ width: "20",
26398
+ height: "20",
26399
+ fill: "currentColor"
26400
+ }, [l("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6zM6 20V4h7v5h5v11H6z" })])], -1),
26401
+ l("div", Yc, [l("div", Xc, x(e.name), 1), e.ext ? (v(), c("div", Zc, x(e.ext.toUpperCase()), 1)) : s("", !0)]),
26310
26402
  l("button", {
26311
- class: "preview-close",
26312
- onClick: N
26313
- }, "×"),
26314
- l("img", {
26315
- src: f.value,
26316
- alt: u.value.caption
26317
- }, null, 8, Gc),
26318
- u.value.caption ? (v(), c("div", Kc, x(u.value.caption), 1)) : s("", !0)
26319
- ])) : s("", !0)]),
26320
- _: 1
26321
- })], 2));
26322
- }
26323
- }), Jc = { categories: /* @__PURE__ */ JSON.parse("{\"knowledge\":{\"label\":\"查知识\",\"responses\":[{\"keywords\":[\"台风\",\"大风\",\"预警\"],\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"## 🌀 台风预警信息\\n\\n今年第 6 号台风 **“卡努”** 预计将于 48 小时内影响本市沿海区域。\\n\\n### 影响时段\\n| 阶段 | 时间 | 风力 | 降雨 |\\n|------|------|------|------|\\n| 外围影响 | 今晚~明天上午 | 东北风 6-7 级 | 阵雨 |\\n| 主体影响 | 明天下午~后天 | 偏东风 8-10 级 | 暴雨到大暴雨 |\\n| 减弱远离 | 大后天 | 东南风 5-6 级 | 小雨 |\\n\\n### 防御提示\\n1. 沿海景区、海上作业平台请于今天 18 时前撤离人员。\\n2. 加固户外广告牌、脚手架、农业大棚等易被大风吹动的搭建物。\\n3. 低洼地区居民请提前备好沙袋,注意防范城市内涝。\\n\\n> 市气象台将每 3 小时滚动发布台风路径及风雨预报。\"}]},{\"keywords\":[\"雷达\",\"云图\",\"卫星\",\"回波\"],\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"## 📡 雷达回波实况解读\\n\\n当前我市上游 150 km 范围内存在一条东北-西南向对流回波带,强度 35-50 dBZ,正以约 40 km/h 向东南方向移动。\\n\\n### 回波特征\\n- **回波顶高**:9-12 km,属于发展旺盛的对流单体。\\n- **垂直液态水含量**:最大 45 kg/m²,伴有短时强降水风险。\\n- **移动方向**:自西北向东南,预计 1.5 小时后影响市区。\\n\\n### 建议\\n1. 短时强降水可能引发道路积水,建议避开低洼路段。\\n2. 雷电活跃时段尽量减少户外活动。\\n3. 可通过实时雷达拼图持续关注回波移动。\"}]},{\"keywords\":[\"农业\",\"农事\",\"作物\",\"墒情\"],\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"## 🌾 农业气象服务建议\\n\\n### 当前农田墒情\\n| 区域 | 土壤相对湿度 | 评价 | 建议 |\\n|------|------------|------|------|\\n| 西海岸新区 | 78% | 适宜 | 可正常播种夏玉米 |\\n| 即墨区 | 65% | 略偏旱 | 灌溉 1 次,确保出苗 |\\n| 平度市 | 85% | 偏湿 | 注意清沟理墒,防渍害 |\\n\\n### 未来 7 天农事建议\\n1. **今明两天**有小雨,雨后趁墒开展夏玉米、大豆等作物播种。\\n2. **周三至周五**以多云为主,利于田间管理,可喷施除草剂。\\n3. 周末有阵雨,抓紧收获成熟瓜果蔬菜,避免田间腐烂。\"}]},{\"default\":true,\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"根据你提供的位置信息,我查询了当前及未来 24 小时气象概况 👇\\n\\n## 🌤️ 青岛市西海岸新区 · 气象概况\\n\\n### 当前实况\\n| 要素 | 数值 |\\n|------|------|\\n| 气温 | **26.3°C** |\\n| 相对湿度 | **78%** |\\n| 风向风力 | 东南风 **3~4 级** |\\n| 能见度 | **12 km** |\\n| 气压 | 1008 hPa |\\n\\n### 防御建议\\n1. **今夜至凌晨有小雨**,沿海路段能见度较低,出行请注意交通安全。\\n2. 明早气温降至 **20°C 左右**,体感偏凉,建议携带薄外套。\\n3. 明天白天转为多云,最高气温回升至 **28°C**,适宜户外活动。\\n\\n> 数据来源:气象大数据平台\"}]}]},\"data\":{\"label\":\"查数据\",\"responses\":[{\"keywords\":[\"台风\",\"路径\",\"风力\"],\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"#### 🌀 台风“卡努”未来 72 小时路径预报\"},{\"sort\":2,\"type\":\"table\",\"columns\":[{\"key\":\"time\",\"title\":\"时间\",\"align\":\"left\"},{\"key\":\"lon\",\"title\":\"经度\",\"align\":\"center\"},{\"key\":\"lat\",\"title\":\"纬度\",\"align\":\"center\"},{\"key\":\"level\",\"title\":\"强度等级\",\"align\":\"center\"},{\"key\":\"wind\",\"title\":\"近中心风力\",\"align\":\"center\"},{\"key\":\"dir\",\"title\":\"移向\",\"align\":\"center\"},{\"key\":\"speed\",\"title\":\"移速\",\"align\":\"right\"}],\"data\":[{\"time\":\"今天 20 时\",\"lon\":\"125.8°E\",\"lat\":\"28.4°N\",\"level\":\"强台风\",\"wind\":\"14 级\",\"dir\":\"西北\",\"speed\":\"12 km/h\"},{\"time\":\"明天 08 时\",\"lon\":\"124.9°E\",\"lat\":\"29.1°N\",\"level\":\"强台风\",\"wind\":\"15 级\",\"dir\":\"西北偏北\",\"speed\":\"10 km/h\"},{\"time\":\"明天 20 时\",\"lon\":\"123.7°E\",\"lat\":\"30.0°N\",\"level\":\"台风\",\"wind\":\"13 级\",\"dir\":\"北\",\"speed\":\"8 km/h\"},{\"time\":\"后天 08 时\",\"lon\":\"122.8°E\",\"lat\":\"31.2°N\",\"level\":\"强热带风暴\",\"wind\":\"11 级\",\"dir\":\"东北\",\"speed\":\"15 km/h\"}]},{\"sort\":3,\"type\":\"echarts\",\"title\":\"台风中心气压变化趋势\",\"option\":{\"grid\":{\"top\":40,\"right\":20,\"bottom\":30,\"left\":50},\"xAxis\":{\"type\":\"category\",\"data\":[\"今天\",\"明天\",\"后天\",\"大后天\"]},\"yAxis\":{\"type\":\"value\",\"name\":\"hPa\",\"min\":900},\"series\":[{\"type\":\"line\",\"data\":[955,940,965,985],\"smooth\":true,\"areaStyle\":{\"opacity\":0.2}}]}},{\"sort\":4,\"type\":\"image\",\"url\":\"https://picsum.photos/seed/typhoon_track/400/220\",\"caption\":\"台风路径概率预报图\"}]},{\"keywords\":[\"降水\",\"雨量\",\"降雨\",\"暴雨\"],\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"#### 🌧️ 未来 24 小时累计降水量预报\"},{\"sort\":2,\"type\":\"table\",\"columns\":[{\"key\":\"district\",\"title\":\"区县\",\"align\":\"left\"},{\"key\":\"h06\",\"title\":\"0-6h\",\"align\":\"right\"},{\"key\":\"h12\",\"title\":\"6-12h\",\"align\":\"right\"},{\"key\":\"h18\",\"title\":\"12-18h\",\"align\":\"right\"},{\"key\":\"h24\",\"title\":\"18-24h\",\"align\":\"right\"},{\"key\":\"total\",\"title\":\"过程累计\",\"align\":\"right\"}],\"data\":[{\"district\":\"市南区\",\"h06\":\"5 mm\",\"h12\":\"15 mm\",\"h18\":\"35 mm\",\"h24\":\"12 mm\",\"total\":\"67 mm\"},{\"district\":\"市北区\",\"h06\":\"3 mm\",\"h12\":\"12 mm\",\"h18\":\"28 mm\",\"h24\":\"10 mm\",\"total\":\"53 mm\"},{\"district\":\"李沧区\",\"h06\":\"4 mm\",\"h12\":\"18 mm\",\"h18\":\"42 mm\",\"h24\":\"15 mm\",\"total\":\"79 mm\"},{\"district\":\"崂山区\",\"h06\":\"8 mm\",\"h12\":\"25 mm\",\"h18\":\"55 mm\",\"h24\":\"20 mm\",\"total\":\"108 mm\"},{\"district\":\"城阳区\",\"h06\":\"6 mm\",\"h12\":\"20 mm\",\"h18\":\"38 mm\",\"h24\":\"14 mm\",\"total\":\"78 mm\"},{\"district\":\"西海岸新区\",\"h06\":\"10 mm\",\"h12\":\"30 mm\",\"h18\":\"60 mm\",\"h24\":\"22 mm\",\"total\":\"122 mm\"},{\"district\":\"即墨区\",\"h06\":\"7 mm\",\"h12\":\"22 mm\",\"h18\":\"45 mm\",\"h24\":\"16 mm\",\"total\":\"90 mm\"}]},{\"sort\":3,\"type\":\"echarts\",\"title\":\"各区县过程累计降水量\",\"option\":{\"grid\":{\"top\":40,\"right\":20,\"bottom\":50,\"left\":60},\"xAxis\":{\"type\":\"category\",\"data\":[\"市南\",\"市北\",\"李沧\",\"崂山\",\"城阳\",\"西海岸\",\"即墨\"],\"axisLabel\":{\"rotate\":30}},\"yAxis\":{\"type\":\"value\",\"name\":\"mm\"},\"series\":[{\"type\":\"bar\",\"data\":[67,53,79,108,78,122,90],\"itemStyle\":{\"color\":\"#22d3ee\"}}]}},{\"sort\":4,\"type\":\"image\",\"url\":\"https://picsum.photos/seed/rain_map/400/220\",\"caption\":\"24 小时降水预报图\"}]},{\"default\":true,\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"#### 🌦️ 青岛市未来 7 天天气预报\"},{\"sort\":2,\"type\":\"table\",\"columns\":[{\"key\":\"date\",\"title\":\"日期\",\"align\":\"left\"},{\"key\":\"weather\",\"title\":\"天气现象\",\"align\":\"left\"},{\"key\":\"max\",\"title\":\"最高温\",\"align\":\"right\"},{\"key\":\"min\",\"title\":\"最低温\",\"align\":\"right\"},{\"key\":\"wind\",\"title\":\"风向风力\",\"align\":\"left\"},{\"key\":\"rain\",\"title\":\"降水概率\",\"align\":\"right\"}],\"data\":[{\"date\":\"今天\",\"weather\":\"多云转小雨\",\"max\":\"28°C\",\"min\":\"21°C\",\"wind\":\"东南风 3-4 级\",\"rain\":\"60%\"},{\"date\":\"明天\",\"weather\":\"小雨转多云\",\"max\":\"26°C\",\"min\":\"19°C\",\"wind\":\"东北风 3 级\",\"rain\":\"40%\"},{\"date\":\"后天\",\"weather\":\"多云\",\"max\":\"29°C\",\"min\":\"20°C\",\"wind\":\"南风 2-3 级\",\"rain\":\"10%\"},{\"date\":\"周四\",\"weather\":\"晴\",\"max\":\"31°C\",\"min\":\"22°C\",\"wind\":\"南风 2 级\",\"rain\":\"0%\"},{\"date\":\"周五\",\"weather\":\"晴转多云\",\"max\":\"30°C\",\"min\":\"23°C\",\"wind\":\"东南风 3 级\",\"rain\":\"10%\"},{\"date\":\"周六\",\"weather\":\"多云转阴\",\"max\":\"28°C\",\"min\":\"22°C\",\"wind\":\"东风 3 级\",\"rain\":\"30%\"},{\"date\":\"周日\",\"weather\":\"阵雨\",\"max\":\"27°C\",\"min\":\"21°C\",\"wind\":\"东北风 3-4 级\",\"rain\":\"70%\"}]},{\"sort\":3,\"type\":\"echarts\",\"title\":\"未来 7 天气温趋势\",\"option\":{\"grid\":{\"top\":40,\"right\":20,\"bottom\":30,\"left\":40},\"legend\":{\"data\":[\"最高温\",\"最低温\"]},\"xAxis\":{\"type\":\"category\",\"data\":[\"今天\",\"明天\",\"后天\",\"周四\",\"周五\",\"周六\",\"周日\"]},\"yAxis\":{\"type\":\"value\",\"name\":\"°C\"},\"series\":[{\"name\":\"最高温\",\"type\":\"line\",\"data\":[28,26,29,31,30,28,27],\"smooth\":true,\"itemStyle\":{\"color\":\"#f59e0b\"}},{\"name\":\"最低温\",\"type\":\"line\",\"data\":[21,19,20,22,23,22,21],\"smooth\":true,\"itemStyle\":{\"color\":\"#22d3ee\"}}]}},{\"sort\":4,\"type\":\"image\",\"url\":\"https://picsum.photos/seed/weather_trend/400/220\",\"caption\":\"未来 7 天气温趋势图\"}]}]},\"material\":{\"label\":\"查材料\",\"responses\":[{\"keywords\":[\"台风\",\"灾害\",\"防御\"],\"blocks\":[{\"sort\":1,\"type\":\"text\",\"content\":\"已检索到与台风灾害防御相关的材料,共 3 份:\"},{\"sort\":2,\"type\":\"fileList\",\"files\":[{\"name\":\"青岛市台风灾害防御应急预案.pdf\",\"url\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"size\":\"4.2 MB\",\"ext\":\"pdf\",\"description\":\"本预案明确了台风预警分级、应急响应启动条件、各部门职责分工及人员转移安置要求。\"},{\"name\":\"台风风险隐患清单.xlsx\",\"url\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"size\":\"1.8 MB\",\"ext\":\"xlsx\",\"description\":\"全市低洼易涝点、地质灾害隐患点、海上作业平台等风险隐患台账。\"},{\"name\":\"人员转移安置方案.docx\",\"url\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"size\":\"2.5 MB\",\"ext\":\"docx\",\"description\":\"受台风影响区域人员转移路线图、安置点分布及物资保障方案。\"}]}]},{\"default\":true,\"blocks\":[{\"sort\":1,\"type\":\"text\",\"content\":\"已检索到气象灾害防御相关材料,共 3 份:\"},{\"sort\":2,\"type\":\"fileList\",\"files\":[{\"name\":\"青岛市气象灾害防御规划(2024-2028).pdf\",\"url\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"size\":\"5.8 MB\",\"ext\":\"pdf\",\"description\":\"依据《气象法》《气象灾害防御条例》编制,明确主要气象灾害风险和重点防御任务。\"},{\"name\":\"气象灾害防御工作手册.pdf\",\"url\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"size\":\"3.6 MB\",\"ext\":\"pdf\",\"description\":\"面向基层网格员的灾害防御操作指南,包含预警信息接收、传播和应急处置流程。\"},{\"name\":\"防灾减灾宣传材料.pptx\",\"url\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"size\":\"8.2 MB\",\"ext\":\"pptx\",\"description\":\"面向社区、学校的防灾减灾科普宣传课件。\"}]}]}]},\"smartMake\":{\"label\":\"智能制作\",\"responses\":[{\"keywords\":[\"预警\",\"通知\",\"发文\"],\"blocks\":[{\"sort\":1,\"type\":\"thinking\",\"content\":\"1. 识别用户需求:需要生成一份气象灾害预警通知公文。\\n2. 匹配模板:选择《气象灾害预警通知》公文模板。\\n3. 填充要素:当前预警类型为台风黄色预警,影响时段为 24-48 小时,重点关注沿海区域。\\n4. 生成落款:青岛市气象局,日期为今日。\\n5. 输出格式:Word 文档,便于后续编辑和正式发文。\"},{\"sort\":2,\"type\":\"file\",\"title\":\"\",\"name\":\"气象灾害预警通知.docx\",\"fileUrl\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"ext\":\"docx\"}]},{\"keywords\":[\"报告\",\"总结\",\"分析\"],\"blocks\":[{\"sort\":1,\"type\":\"thinking\",\"content\":\"1. 识别用户需求:需要生成气象服务总结报告。\\n2. 梳理素材:调用近期天气预报、服务产品、用户反馈等数据。\\n3. 构建框架:包含服务概况、重点过程、服务效益、存在问题及下一步计划。\\n4. 图表插入:自动插入降水预报准确率、服务覆盖人次等统计图表。\\n5. 输出格式:PDF 文档,便于归档和报送。\"},{\"sort\":2,\"type\":\"file\",\"title\":\"\",\"name\":\"气象服务总结报告.pdf\",\"fileUrl\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"ext\":\"pdf\"}]},{\"default\":true,\"blocks\":[{\"sort\":1,\"type\":\"thinking\",\"content\":\"1. 识别用户需求:需要基于自动站数据智能制作气象服务材料。\\n2. 数据获取:调用自动站接口,获取黄岛区共 17 个站点最新实况。\\n\\n| 站号 | 站名 | 观测时间 | 气温(°C) | 相对湿度(%) | 风向 | 风速(m/s) | 天气 |\\n|---|---|---|---|---|---|---|---|\\n| 54943 | 黄岛 | 8/7 10 | 33.3 | 65 | 东风 | 1.8 | 晴天 |\\n| D0002 | 黄岛金沙滩 | 8/7 10 | 33.7 | 60 | 北风 | 2.5 | 晴天 |\\n| D0008 | 黄岛琅琊 | 8/7 10 | 32.4 | 61 | 东风 | 1.7 | 晴天 |\\n| D0063 | 黄岛大涧山 | 8/7 10 | 34.6 | 58 | 东北风 | 2.4 | 晴天 |\\n| D0076 | 黄岛滨海杜鹃花区气象观测站 | 8/7 10 | 33.9 | 缺测 | 东风 | 1.3 | 晴天 |\\n\\n3. 数据解析:原始返回为 JSON 格式,已提取关键字段,JSON 结构示例:\\n```json\\n{\\n \\\"msg\\\": \\\"success\\\",\\n \\\"code\\\": 0,\\n \\\"dataType\\\": 14,\\n \\\"ds\\\": [\\n {\\n \\\"stationNumber\\\": \\\"54943\\\",\\n \\\"stationName\\\": \\\"黄岛\\\",\\n \\\"observationTime\\\": \\\"8/7 10\\\",\\n \\\"temperature\\\": \\\"33.3\\\",\\n \\\"relativeHumidity\\\": \\\"65\\\",\\n \\\"windDirectionTxt\\\": \\\"东风\\\",\\n \\\"windSpeed\\\": \\\"1.8\\\",\\n \\\"weatherinfo\\\": \\\"晴天\\\"\\n }\\n ]\\n}\\n```\\n\\n4. 生成服务材料:基于以上数据生成 Word 文档。\"},{\"sort\":2,\"type\":\"file\",\"title\":\"\",\"name\":\"智能制作成果.docx\",\"fileUrl\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"ext\":\"docx\"}]}]}}") }, Yc = { class: "AiChat__headerActions" }, Xc = ["title"], Zc = {
26403
+ class: "file-download",
26404
+ title: "下载",
26405
+ onClick: (t) => V(j(e.fileUrl), e.name)
26406
+ }, [...n[3] ||= [l("svg", {
26407
+ viewBox: "0 0 24 24",
26408
+ fill: "currentColor"
26409
+ }, [l("path", { d: "M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z" })], -1)]], 8, Qc)
26410
+ ])])) : s("", !0)], 64))), 128)) : s("", !0),
26411
+ d(i, { name: "fade" }, {
26412
+ default: E(() => [M.value ? (v(), c("div", {
26413
+ key: 0,
26414
+ class: "image-preview-overlay",
26415
+ onClick: O(z, ["self"])
26416
+ }, [
26417
+ l("button", {
26418
+ class: "preview-close",
26419
+ onClick: z
26420
+ }, "×"),
26421
+ l("img", {
26422
+ src: N.value,
26423
+ alt: M.value.caption
26424
+ }, null, 8, $c),
26425
+ M.value.caption ? (v(), c("div", el, x(M.value.caption), 1)) : s("", !0)
26426
+ ])) : s("", !0)]),
26427
+ _: 1
26428
+ })
26429
+ ], 2));
26430
+ }
26431
+ }), nl = { categories: /* @__PURE__ */ JSON.parse("{\"knowledge\":{\"label\":\"查知识\",\"responses\":[{\"keywords\":[\"台风\",\"大风\",\"预警\"],\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"## 🌀 台风预警信息\\n\\n今年第 6 号台风 **“卡努”** 预计将于 48 小时内影响本市沿海区域。\\n\\n### 影响时段\\n| 阶段 | 时间 | 风力 | 降雨 |\\n|------|------|------|------|\\n| 外围影响 | 今晚~明天上午 | 东北风 6-7 级 | 阵雨 |\\n| 主体影响 | 明天下午~后天 | 偏东风 8-10 级 | 暴雨到大暴雨 |\\n| 减弱远离 | 大后天 | 东南风 5-6 级 | 小雨 |\\n\\n### 防御提示\\n1. 沿海景区、海上作业平台请于今天 18 时前撤离人员。\\n2. 加固户外广告牌、脚手架、农业大棚等易被大风吹动的搭建物。\\n3. 低洼地区居民请提前备好沙袋,注意防范城市内涝。\\n\\n> 市气象台将每 3 小时滚动发布台风路径及风雨预报。\"}]},{\"keywords\":[\"雷达\",\"云图\",\"卫星\",\"回波\"],\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"## 📡 雷达回波实况解读\\n\\n当前我市上游 150 km 范围内存在一条东北-西南向对流回波带,强度 35-50 dBZ,正以约 40 km/h 向东南方向移动。\\n\\n### 回波特征\\n- **回波顶高**:9-12 km,属于发展旺盛的对流单体。\\n- **垂直液态水含量**:最大 45 kg/m²,伴有短时强降水风险。\\n- **移动方向**:自西北向东南,预计 1.5 小时后影响市区。\\n\\n### 建议\\n1. 短时强降水可能引发道路积水,建议避开低洼路段。\\n2. 雷电活跃时段尽量减少户外活动。\\n3. 可通过实时雷达拼图持续关注回波移动。\"}]},{\"keywords\":[\"农业\",\"农事\",\"作物\",\"墒情\"],\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"## 🌾 农业气象服务建议\\n\\n### 当前农田墒情\\n| 区域 | 土壤相对湿度 | 评价 | 建议 |\\n|------|------------|------|------|\\n| 西海岸新区 | 78% | 适宜 | 可正常播种夏玉米 |\\n| 即墨区 | 65% | 略偏旱 | 灌溉 1 次,确保出苗 |\\n| 平度市 | 85% | 偏湿 | 注意清沟理墒,防渍害 |\\n\\n### 未来 7 天农事建议\\n1. **今明两天**有小雨,雨后趁墒开展夏玉米、大豆等作物播种。\\n2. **周三至周五**以多云为主,利于田间管理,可喷施除草剂。\\n3. 周末有阵雨,抓紧收获成熟瓜果蔬菜,避免田间腐烂。\"}]},{\"default\":true,\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"根据你提供的位置信息,我查询了当前及未来 24 小时气象概况 👇\\n\\n## 🌤️ 青岛市西海岸新区 · 气象概况\\n\\n### 当前实况\\n| 要素 | 数值 |\\n|------|------|\\n| 气温 | **26.3°C** |\\n| 相对湿度 | **78%** |\\n| 风向风力 | 东南风 **3~4 级** |\\n| 能见度 | **12 km** |\\n| 气压 | 1008 hPa |\\n\\n### 防御建议\\n1. **今夜至凌晨有小雨**,沿海路段能见度较低,出行请注意交通安全。\\n2. 明早气温降至 **20°C 左右**,体感偏凉,建议携带薄外套。\\n3. 明天白天转为多云,最高气温回升至 **28°C**,适宜户外活动。\\n\\n> 数据来源:气象大数据平台\"}]}]},\"data\":{\"label\":\"查数据\",\"responses\":[{\"keywords\":[\"台风\",\"路径\",\"风力\"],\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"#### 🌀 台风“卡努”未来 72 小时路径预报\"},{\"sort\":2,\"type\":\"table\",\"columns\":[{\"key\":\"time\",\"title\":\"时间\",\"align\":\"left\"},{\"key\":\"lon\",\"title\":\"经度\",\"align\":\"center\"},{\"key\":\"lat\",\"title\":\"纬度\",\"align\":\"center\"},{\"key\":\"level\",\"title\":\"强度等级\",\"align\":\"center\"},{\"key\":\"wind\",\"title\":\"近中心风力\",\"align\":\"center\"},{\"key\":\"dir\",\"title\":\"移向\",\"align\":\"center\"},{\"key\":\"speed\",\"title\":\"移速\",\"align\":\"right\"}],\"data\":[{\"time\":\"今天 20 时\",\"lon\":\"125.8°E\",\"lat\":\"28.4°N\",\"level\":\"强台风\",\"wind\":\"14 级\",\"dir\":\"西北\",\"speed\":\"12 km/h\"},{\"time\":\"明天 08 时\",\"lon\":\"124.9°E\",\"lat\":\"29.1°N\",\"level\":\"强台风\",\"wind\":\"15 级\",\"dir\":\"西北偏北\",\"speed\":\"10 km/h\"},{\"time\":\"明天 20 时\",\"lon\":\"123.7°E\",\"lat\":\"30.0°N\",\"level\":\"台风\",\"wind\":\"13 级\",\"dir\":\"北\",\"speed\":\"8 km/h\"},{\"time\":\"后天 08 时\",\"lon\":\"122.8°E\",\"lat\":\"31.2°N\",\"level\":\"强热带风暴\",\"wind\":\"11 级\",\"dir\":\"东北\",\"speed\":\"15 km/h\"}]},{\"sort\":3,\"type\":\"echarts\",\"title\":\"台风中心气压变化趋势\",\"option\":{\"grid\":{\"top\":40,\"right\":20,\"bottom\":30,\"left\":50},\"xAxis\":{\"type\":\"category\",\"data\":[\"今天\",\"明天\",\"后天\",\"大后天\"]},\"yAxis\":{\"type\":\"value\",\"name\":\"hPa\",\"min\":900},\"series\":[{\"type\":\"line\",\"data\":[955,940,965,985],\"smooth\":true,\"areaStyle\":{\"opacity\":0.2}}]}},{\"sort\":4,\"type\":\"image\",\"url\":\"https://picsum.photos/seed/typhoon_track/400/220\",\"caption\":\"台风路径概率预报图\"}]},{\"keywords\":[\"降水\",\"雨量\",\"降雨\",\"暴雨\"],\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"#### 🌧️ 未来 24 小时累计降水量预报\"},{\"sort\":2,\"type\":\"table\",\"columns\":[{\"key\":\"district\",\"title\":\"区县\",\"align\":\"left\"},{\"key\":\"h06\",\"title\":\"0-6h\",\"align\":\"right\"},{\"key\":\"h12\",\"title\":\"6-12h\",\"align\":\"right\"},{\"key\":\"h18\",\"title\":\"12-18h\",\"align\":\"right\"},{\"key\":\"h24\",\"title\":\"18-24h\",\"align\":\"right\"},{\"key\":\"total\",\"title\":\"过程累计\",\"align\":\"right\"}],\"data\":[{\"district\":\"市南区\",\"h06\":\"5 mm\",\"h12\":\"15 mm\",\"h18\":\"35 mm\",\"h24\":\"12 mm\",\"total\":\"67 mm\"},{\"district\":\"市北区\",\"h06\":\"3 mm\",\"h12\":\"12 mm\",\"h18\":\"28 mm\",\"h24\":\"10 mm\",\"total\":\"53 mm\"},{\"district\":\"李沧区\",\"h06\":\"4 mm\",\"h12\":\"18 mm\",\"h18\":\"42 mm\",\"h24\":\"15 mm\",\"total\":\"79 mm\"},{\"district\":\"崂山区\",\"h06\":\"8 mm\",\"h12\":\"25 mm\",\"h18\":\"55 mm\",\"h24\":\"20 mm\",\"total\":\"108 mm\"},{\"district\":\"城阳区\",\"h06\":\"6 mm\",\"h12\":\"20 mm\",\"h18\":\"38 mm\",\"h24\":\"14 mm\",\"total\":\"78 mm\"},{\"district\":\"西海岸新区\",\"h06\":\"10 mm\",\"h12\":\"30 mm\",\"h18\":\"60 mm\",\"h24\":\"22 mm\",\"total\":\"122 mm\"},{\"district\":\"即墨区\",\"h06\":\"7 mm\",\"h12\":\"22 mm\",\"h18\":\"45 mm\",\"h24\":\"16 mm\",\"total\":\"90 mm\"}]},{\"sort\":3,\"type\":\"echarts\",\"title\":\"各区县过程累计降水量\",\"option\":{\"grid\":{\"top\":40,\"right\":20,\"bottom\":50,\"left\":60},\"xAxis\":{\"type\":\"category\",\"data\":[\"市南\",\"市北\",\"李沧\",\"崂山\",\"城阳\",\"西海岸\",\"即墨\"],\"axisLabel\":{\"rotate\":30}},\"yAxis\":{\"type\":\"value\",\"name\":\"mm\"},\"series\":[{\"type\":\"bar\",\"data\":[67,53,79,108,78,122,90],\"itemStyle\":{\"color\":\"#22d3ee\"}}]}},{\"sort\":4,\"type\":\"image\",\"url\":\"https://picsum.photos/seed/rain_map/400/220\",\"caption\":\"24 小时降水预报图\"}]},{\"default\":true,\"blocks\":[{\"sort\":1,\"type\":\"markdown\",\"content\":\"#### 🌦️ 青岛市未来 7 天天气预报\"},{\"sort\":2,\"type\":\"table\",\"columns\":[{\"key\":\"date\",\"title\":\"日期\",\"align\":\"left\"},{\"key\":\"weather\",\"title\":\"天气现象\",\"align\":\"left\"},{\"key\":\"max\",\"title\":\"最高温\",\"align\":\"right\"},{\"key\":\"min\",\"title\":\"最低温\",\"align\":\"right\"},{\"key\":\"wind\",\"title\":\"风向风力\",\"align\":\"left\"},{\"key\":\"rain\",\"title\":\"降水概率\",\"align\":\"right\"}],\"data\":[{\"date\":\"今天\",\"weather\":\"多云转小雨\",\"max\":\"28°C\",\"min\":\"21°C\",\"wind\":\"东南风 3-4 级\",\"rain\":\"60%\"},{\"date\":\"明天\",\"weather\":\"小雨转多云\",\"max\":\"26°C\",\"min\":\"19°C\",\"wind\":\"东北风 3 级\",\"rain\":\"40%\"},{\"date\":\"后天\",\"weather\":\"多云\",\"max\":\"29°C\",\"min\":\"20°C\",\"wind\":\"南风 2-3 级\",\"rain\":\"10%\"},{\"date\":\"周四\",\"weather\":\"晴\",\"max\":\"31°C\",\"min\":\"22°C\",\"wind\":\"南风 2 级\",\"rain\":\"0%\"},{\"date\":\"周五\",\"weather\":\"晴转多云\",\"max\":\"30°C\",\"min\":\"23°C\",\"wind\":\"东南风 3 级\",\"rain\":\"10%\"},{\"date\":\"周六\",\"weather\":\"多云转阴\",\"max\":\"28°C\",\"min\":\"22°C\",\"wind\":\"东风 3 级\",\"rain\":\"30%\"},{\"date\":\"周日\",\"weather\":\"阵雨\",\"max\":\"27°C\",\"min\":\"21°C\",\"wind\":\"东北风 3-4 级\",\"rain\":\"70%\"}]},{\"sort\":3,\"type\":\"echarts\",\"title\":\"未来 7 天气温趋势\",\"option\":{\"grid\":{\"top\":40,\"right\":20,\"bottom\":30,\"left\":40},\"legend\":{\"data\":[\"最高温\",\"最低温\"]},\"xAxis\":{\"type\":\"category\",\"data\":[\"今天\",\"明天\",\"后天\",\"周四\",\"周五\",\"周六\",\"周日\"]},\"yAxis\":{\"type\":\"value\",\"name\":\"°C\"},\"series\":[{\"name\":\"最高温\",\"type\":\"line\",\"data\":[28,26,29,31,30,28,27],\"smooth\":true,\"itemStyle\":{\"color\":\"#f59e0b\"}},{\"name\":\"最低温\",\"type\":\"line\",\"data\":[21,19,20,22,23,22,21],\"smooth\":true,\"itemStyle\":{\"color\":\"#22d3ee\"}}]}},{\"sort\":4,\"type\":\"image\",\"url\":\"https://picsum.photos/seed/weather_trend/400/220\",\"caption\":\"未来 7 天气温趋势图\"}]}]},\"material\":{\"label\":\"查材料\",\"responses\":[{\"keywords\":[\"海洋\",\"台风\",\"灾害\",\"防御\"],\"blocks\":[{\"sort\":1,\"type\":\"text\",\"content\":\"已检索到与台风灾害防御相关的材料,共 3 份:\"},{\"sort\":2,\"type\":\"fileList\",\"files\":[{\"name\":\"青岛市台风灾害防御应急预案.pdf\",\"url\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"size\":\"4.2 MB\",\"ext\":\"pdf\",\"description\":\"本预案明确了台风预警分级、应急响应启动条件、各部门职责分工及人员转移安置要求。\"},{\"name\":\"台风风险隐患清单.xlsx\",\"url\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"size\":\"1.8 MB\",\"ext\":\"xlsx\",\"description\":\"全市低洼易涝点、地质灾害隐患点、海上作业平台等风险隐患台账。\"},{\"name\":\"人员转移安置方案.docx\",\"url\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"size\":\"2.5 MB\",\"ext\":\"docx\",\"description\":\"受台风影响区域人员转移路线图、安置点分布及物资保障方案。\"}]}]},{\"default\":true,\"blocks\":[{\"sort\":1,\"type\":\"text\",\"content\":\"已检索到海洋气象预报相关材料,共 3 份:\"},{\"sort\":2,\"type\":\"fileList\",\"files\":[{\"name\":\"精细化海洋预报(20260531).doc\",\"url\":\"http://58.59.29.51:11014/productFilePath/seaService/2026/5/31/%E7%B2%BE%E7%BB%86%E5%8C%96%E6%B5%B7%E6%B4%8B%E9%A2%84%E6%8A%A5%EF%BC%8820260531%EF%BC%89.doc\",\"size\":\"5.8 MB\",\"ext\":\"doc\",\"description\":\"海洋气象预报\"},{\"name\":\"气象灾害防御工作手册.pdf\",\"url\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"size\":\"3.6 MB\",\"ext\":\"pdf\",\"description\":\"面向基层网格员的灾害防御操作指南,包含预警信息接收、传播和应急处置流程。\"},{\"name\":\"防灾减灾宣传材料.pptx\",\"url\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"size\":\"8.2 MB\",\"ext\":\"pptx\",\"description\":\"面向社区、学校的防灾减灾科普宣传课件。\"}]}]}]},\"smartMake\":{\"label\":\"智能制作\",\"responses\":[{\"keywords\":[\"预警\",\"通知\",\"发文\"],\"blocks\":[{\"sort\":1,\"type\":\"thinking\",\"steps\":[{\"type\":\"text\",\"content\":\"1. 识别用户需求:需要生成一份气象灾害预警通知公文。\"},{\"type\":\"text\",\"content\":\"2. 匹配模板:选择《气象灾害预警通知》公文模板。\"},{\"type\":\"text\",\"content\":\"3. 填充要素:当前预警类型为台风黄色预警,影响时段为 24-48 小时,重点关注沿海区域。\"},{\"type\":\"text\",\"content\":\"4. 生成落款:青岛市气象局,日期为今日。\"},{\"type\":\"text\",\"content\":\"5. 输出格式:Word 文档,便于后续编辑和正式发文。\"}]},{\"sort\":2,\"type\":\"file\",\"title\":\"\",\"name\":\"气象灾害预警通知.docx\",\"fileUrl\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"ext\":\"docx\"}]},{\"keywords\":[\"报告\",\"总结\",\"分析\"],\"blocks\":[{\"sort\":1,\"type\":\"thinking\",\"steps\":[{\"type\":\"text\",\"content\":\"1. 识别用户需求:需要生成气象服务总结报告。\"},{\"type\":\"text\",\"content\":\"2. 梳理素材:调用近期天气预报、服务产品、用户反馈等数据。\"},{\"type\":\"text\",\"content\":\"3. 构建框架:包含服务概况、重点过程、服务效益、存在问题及下一步计划。\"},{\"type\":\"text\",\"content\":\"4. 图表插入:自动插入降水预报准确率、服务覆盖人次等统计图表。\"},{\"type\":\"text\",\"content\":\"5. 输出格式:PDF 文档,便于归档和报送。\"}]},{\"sort\":2,\"type\":\"file\",\"title\":\"\",\"name\":\"气象服务总结报告.pdf\",\"fileUrl\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"ext\":\"pdf\"}]},{\"default\":true,\"blocks\":[{\"sort\":1,\"type\":\"thinking\",\"steps\":[{\"type\":\"text\",\"content\":\"1. 识别用户需求:需要基于自动站数据智能制作气象服务材料。\"},{\"type\":\"text\",\"content\":\"2. 数据获取:调用自动站接口,获取黄岛区共 17 个站点最新实况。\"},{\"type\":\"table\",\"columns\":[{\"key\":\"stationNumber\",\"title\":\"站号\",\"align\":\"center\"},{\"key\":\"stationName\",\"title\":\"站名\",\"align\":\"left\"},{\"key\":\"observationTime\",\"title\":\"观测时间\",\"align\":\"center\"},{\"key\":\"temperature\",\"title\":\"气温(°C)\",\"align\":\"right\"},{\"key\":\"relativeHumidity\",\"title\":\"相对湿度(%)\",\"align\":\"right\"},{\"key\":\"windDirectionTxt\",\"title\":\"风向\",\"align\":\"center\"},{\"key\":\"windSpeed\",\"title\":\"风速(m/s)\",\"align\":\"right\"},{\"key\":\"weatherinfo\",\"title\":\"天气\",\"align\":\"center\"}],\"data\":[{\"stationNumber\":\"54943\",\"stationName\":\"黄岛\",\"observationTime\":\"8/7 10\",\"temperature\":\"33.3\",\"relativeHumidity\":\"65\",\"windDirectionTxt\":\"东风\",\"windSpeed\":\"1.8\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0002\",\"stationName\":\"黄岛金沙滩\",\"observationTime\":\"8/7 10\",\"temperature\":\"33.7\",\"relativeHumidity\":\"60\",\"windDirectionTxt\":\"北风\",\"windSpeed\":\"2.5\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0008\",\"stationName\":\"黄岛琅琊\",\"observationTime\":\"8/7 10\",\"temperature\":\"32.4\",\"relativeHumidity\":\"61\",\"windDirectionTxt\":\"东风\",\"windSpeed\":\"1.7\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0063\",\"stationName\":\"黄岛大涧山\",\"observationTime\":\"8/7 10\",\"temperature\":\"34.6\",\"relativeHumidity\":\"58\",\"windDirectionTxt\":\"东北风\",\"windSpeed\":\"2.4\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0076\",\"stationName\":\"黄岛滨海杜鹃花区气象观测站\",\"observationTime\":\"8/7 10\",\"temperature\":\"33.9\",\"relativeHumidity\":\"缺测\",\"windDirectionTxt\":\"东风\",\"windSpeed\":\"1.3\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0167\",\"stationName\":\"黄岛隐珠气象观测站\",\"observationTime\":\"8/7 10\",\"temperature\":\"33.6\",\"relativeHumidity\":\"55\",\"windDirectionTxt\":\"西北风\",\"windSpeed\":\"3.0\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0189\",\"stationName\":\"黄岛竹岔岛\",\"observationTime\":\"8/7 10\",\"temperature\":\"30.8\",\"relativeHumidity\":\"74\",\"windDirectionTxt\":\"缺测\",\"windSpeed\":\"0.0\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0192\",\"stationName\":\"黄岛灵山岛\",\"observationTime\":\"8/7 10\",\"temperature\":\"29.5\",\"relativeHumidity\":\"62\",\"windDirectionTxt\":\"东北风\",\"windSpeed\":\"0.3\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0197\",\"stationName\":\"黄岛台子沟\",\"observationTime\":\"8/7 10\",\"temperature\":\"33.1\",\"relativeHumidity\":\"缺测\",\"windDirectionTxt\":\"东风\",\"windSpeed\":\"2.0\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0199\",\"stationName\":\"黄岛轮渡\",\"observationTime\":\"8/7 10\",\"temperature\":\"33.4\",\"relativeHumidity\":\"60\",\"windDirectionTxt\":\"西北风\",\"windSpeed\":\"0.9\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0200\",\"stationName\":\"黄岛董家口港\",\"observationTime\":\"8/7 10\",\"temperature\":\"30.4\",\"relativeHumidity\":\"62\",\"windDirectionTxt\":\"东南风\",\"windSpeed\":\"2.7\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0206\",\"stationName\":\"黄岛实验中学气象观测站\",\"observationTime\":\"8/7 10\",\"temperature\":\"34.3\",\"relativeHumidity\":\"54\",\"windDirectionTxt\":\"西南风\",\"windSpeed\":\"2.6\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0212\",\"stationName\":\"黄岛前湾港码头\",\"observationTime\":\"8/7 10\",\"temperature\":\"34.0\",\"relativeHumidity\":\"54\",\"windDirectionTxt\":\"东北风\",\"windSpeed\":\"3.4\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0231\",\"stationName\":\"黄岛泊里气象观测站\",\"observationTime\":\"8/7 10\",\"temperature\":\"34.0\",\"relativeHumidity\":\"55\",\"windDirectionTxt\":\"缺测\",\"windSpeed\":\"缺测\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0263\",\"stationName\":\"黄岛薛家岛气象观测站\",\"observationTime\":\"8/7 10\",\"temperature\":\"30.8\",\"relativeHumidity\":\"75\",\"windDirectionTxt\":\"东南风\",\"windSpeed\":\"3.2\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0267\",\"stationName\":\"黄岛区小珠山气象观测站\",\"observationTime\":\"8/7 10\",\"temperature\":\"34.4\",\"relativeHumidity\":\"缺测\",\"windDirectionTxt\":\"北风\",\"windSpeed\":\"3.1\",\"weatherinfo\":\"晴天\"},{\"stationNumber\":\"D0501\",\"stationName\":\"黄岛滨海气象观测站\",\"observationTime\":\"8/7 10\",\"temperature\":\"34.1\",\"relativeHumidity\":\"55\",\"windDirectionTxt\":\"北风\",\"windSpeed\":\"2.5\",\"weatherinfo\":\"晴天\"}]},{\"type\":\"text\",\"content\":\"3. 降水分析:获取黄岛区近 3 小时累计降水量。\"},{\"type\":\"table\",\"columns\":[{\"key\":\"stationName\",\"title\":\"站名\",\"align\":\"left\"},{\"key\":\"rainfall1h\",\"title\":\"1h降水(mm)\",\"align\":\"right\"},{\"key\":\"rainfall3h\",\"title\":\"3h降水(mm)\",\"align\":\"right\"},{\"key\":\"rainfall6h\",\"title\":\"6h降水(mm)\",\"align\":\"right\"},{\"key\":\"rainfall12h\",\"title\":\"12h降水(mm)\",\"align\":\"right\"}],\"data\":[{\"stationName\":\"黄岛\",\"rainfall1h\":\"0.0\",\"rainfall3h\":\"0.0\",\"rainfall6h\":\"0.2\",\"rainfall12h\":\"1.5\"},{\"stationName\":\"黄岛金沙滩\",\"rainfall1h\":\"0.0\",\"rainfall3h\":\"0.0\",\"rainfall6h\":\"0.0\",\"rainfall12h\":\"0.8\"},{\"stationName\":\"黄岛琅琊\",\"rainfall1h\":\"0.0\",\"rainfall3h\":\"0.1\",\"rainfall6h\":\"0.5\",\"rainfall12h\":\"2.1\"},{\"stationName\":\"黄岛大涧山\",\"rainfall1h\":\"0.0\",\"rainfall3h\":\"0.0\",\"rainfall6h\":\"0.3\",\"rainfall12h\":\"1.2\"},{\"stationName\":\"黄岛滨海杜鹃花区气象观测站\",\"rainfall1h\":\"0.0\",\"rainfall3h\":\"0.0\",\"rainfall6h\":\"0.1\",\"rainfall12h\":\"0.9\"},{\"stationName\":\"黄岛隐珠气象观测站\",\"rainfall1h\":\"0.0\",\"rainfall3h\":\"0.0\",\"rainfall6h\":\"0.4\",\"rainfall12h\":\"1.8\"},{\"stationName\":\"黄岛竹岔岛\",\"rainfall1h\":\"0.0\",\"rainfall3h\":\"0.2\",\"rainfall6h\":\"0.6\",\"rainfall12h\":\"2.4\"},{\"stationName\":\"黄岛灵山岛\",\"rainfall1h\":\"0.0\",\"rainfall3h\":\"0.0\",\"rainfall6h\":\"0.2\",\"rainfall12h\":\"1.0\"}]},{\"type\":\"text\",\"content\":\"4. 数据解析:原始返回为 JSON 格式,已提取关键字段。\"},{\"type\":\"markdown\",\"content\":\"JSON 结构示例:\\n```json\\n{\\n \\\"msg\\\": \\\"success\\\",\\n \\\"code\\\": 0,\\n \\\"dataType\\\": 14,\\n \\\"ds\\\": [\\n {\\n \\\"stationNumber\\\": \\\"54943\\\",\\n \\\"stationName\\\": \\\"黄岛\\\",\\n \\\"observationTime\\\": \\\"8/7 10\\\",\\n \\\"temperature\\\": \\\"33.3\\\",\\n \\\"relativeHumidity\\\": \\\"65\\\",\\n \\\"windDirectionTxt\\\": \\\"东风\\\",\\n \\\"windSpeed\\\": \\\"1.8\\\",\\n \\\"weatherinfo\\\": \\\"晴天\\\"\\n }\\n ]\\n}\\n```\"},{\"type\":\"text\",\"content\":\"5. 生成服务材料:基于以上数据生成 Word 文档。\"}]},{\"sort\":2,\"type\":\"file\",\"title\":\"\",\"name\":\"智能制作成果.docx\",\"fileUrl\":\"https://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf\",\"ext\":\"docx\"}]}]}}") }, rl = { class: "AiChat__headerActions" }, il = ["title"], al = {
26324
26432
  key: 0,
26325
26433
  class: "AiChat__message AiChat__message--user"
26326
- }, Qc = { class: "AiChat__content" }, $c = { class: "AiChat__bubble AiChat__bubble--user" }, el = { class: "AiChat__time" }, tl = {
26434
+ }, ol = { class: "AiChat__content" }, sl = { class: "AiChat__bubble AiChat__bubble--user" }, cl = { class: "AiChat__time" }, ll = {
26327
26435
  key: 1,
26328
26436
  class: "AiChat__message"
26329
- }, nl = { class: "AiChat__content" }, rl = { class: "AiChat__bubble" }, il = {
26437
+ }, ul = { class: "AiChat__content" }, dl = { class: "AiChat__bubble" }, fl = {
26330
26438
  key: 1,
26331
26439
  class: "AiChat__typing"
26332
- }, al = {
26440
+ }, pl = {
26333
26441
  key: 0,
26334
26442
  class: "AiChat__time"
26335
- }, ol = {
26443
+ }, ml = {
26336
26444
  key: 1,
26337
26445
  class: "AiChat__empty"
26338
- }, sl = {
26446
+ }, hl = {
26339
26447
  key: 2,
26340
26448
  class: "AiChat__contentWrapper"
26341
- }, cl = { class: "AiChat__headerActions" }, ll = {
26449
+ }, gl = { class: "AiChat__headerActions" }, _l = {
26342
26450
  key: 0,
26343
26451
  class: "AiChat__message AiChat__message--user"
26344
- }, ul = { class: "AiChat__content" }, dl = { class: "AiChat__bubble AiChat__bubble--user" }, fl = { class: "AiChat__time" }, pl = {
26452
+ }, vl = { class: "AiChat__content" }, yl = { class: "AiChat__bubble AiChat__bubble--user" }, bl = { class: "AiChat__time" }, xl = {
26345
26453
  key: 1,
26346
26454
  class: "AiChat__message"
26347
- }, ml = { class: "AiChat__content" }, hl = { class: "AiChat__bubble" }, gl = {
26455
+ }, Sl = { class: "AiChat__content" }, Cl = { class: "AiChat__bubble" }, wl = {
26348
26456
  key: 1,
26349
26457
  class: "AiChat__typing"
26350
- }, _l = {
26458
+ }, Tl = {
26351
26459
  key: 0,
26352
26460
  class: "AiChat__time"
26353
- }, vl = ["onClick"], yl = {
26461
+ }, El = ["onClick"], Dl = {
26354
26462
  key: 0,
26355
26463
  class: "AiChat__typeTabDivider"
26356
- }, bl = { class: "AiChat__inputBar" }, xl = { class: "AiChat__textareaWrap" }, Sl = ["placeholder"], Cl = ["disabled"], wl = /* @__PURE__ */ f({
26464
+ }, Ol = { class: "AiChat__inputBar" }, kl = { class: "AiChat__textareaWrap" }, Al = ["placeholder"], jl = ["disabled"], Ml = /* @__PURE__ */ f({
26357
26465
  __name: "AiChat",
26358
26466
  props: {
26359
26467
  baseHttp: { default: "" },
@@ -26399,19 +26507,19 @@ var uc = {
26399
26507
  width: typeof i.width == "number" ? `${i.width}px` : i.width,
26400
26508
  height: typeof i.height == "number" ? `${i.height}px` : i.height,
26401
26509
  transform: `translate3d(${_.value}px, ${w.value}px, 0)`
26402
- }), M = y(null), N = y(null), P = y(!1), F = y(""), I = y(i.defaultType), L = y(""), R = y(!1), z = null, B = a(() => !!M.value || !!N.value || P.value), ee = y(), V = y(), te = y(Jc), ne = a(() => {
26403
- let e = te.value.categories || {};
26510
+ }), M = y(null), N = y(null), P = y(!1), F = y(""), I = y(i.defaultType), L = y(""), R = y(!1), z = null, B = a(() => !!M.value || !!N.value || P.value), ee = y(), V = y(), H = y(nl), te = a(() => {
26511
+ let e = H.value.categories || {};
26404
26512
  return Object.keys(e).map((t) => ({
26405
26513
  value: t,
26406
26514
  label: e[t].label || t
26407
26515
  }));
26408
- }), H = a(() => i.placeholder || "请输入你的问题…");
26409
- T(ne, (e) => {
26516
+ }), U = a(() => i.placeholder || "请输入你的问题…");
26517
+ T(te, (e) => {
26410
26518
  e.length && !e.find((e) => e.value === I.value) && (I.value = e[0].value);
26411
26519
  }, { immediate: !0 }), T(I, () => {
26412
26520
  se();
26413
26521
  });
26414
- let U = async () => {
26522
+ let W = async () => {
26415
26523
  let e = F.value.trim();
26416
26524
  if (!(!e || P.value || R.value)) {
26417
26525
  M.value = {
@@ -26424,10 +26532,10 @@ var uc = {
26424
26532
  text: e,
26425
26533
  type: I.value
26426
26534
  });
26427
- i.stream && J(t.blocks) ? ie(t.blocks) : q(t);
26535
+ i.stream && J(t.blocks) ? ie(t.blocks) : ne(t);
26428
26536
  } else if (i.mock) {
26429
26537
  let t = oe(I.value, e);
26430
- i.stream && J(t) ? ie(t) : q({
26538
+ i.stream && J(t) ? ie(t) : ne({
26431
26539
  type: I.value,
26432
26540
  blocks: t
26433
26541
  });
@@ -26441,24 +26549,24 @@ var uc = {
26441
26549
  R.value || (P.value = !1), await ce();
26442
26550
  }
26443
26551
  }
26444
- }, W = (e) => {
26445
- e.key === "Enter" && !e.shiftKey && (e.preventDefault(), U());
26446
26552
  }, G = (e) => {
26553
+ e.key === "Enter" && !e.shiftKey && (e.preventDefault(), W());
26554
+ }, K = (e) => {
26447
26555
  I.value = e, d("changeType", e);
26448
- }, K = async () => {
26556
+ }, q = async () => {
26449
26557
  if (!i.mockData) {
26450
- te.value = Jc;
26558
+ H.value = nl;
26451
26559
  return;
26452
26560
  }
26453
26561
  if (typeof i.mockData == "string") try {
26454
- te.value = await yt(i.mockData.startsWith("http") ? i.mockData : `${i.baseHttp}${i.mockData}`, !0) || Jc;
26562
+ H.value = await yt(i.mockData.startsWith("http") ? i.mockData : `${i.baseHttp}${i.mockData}`, !0) || nl;
26455
26563
  } catch (e) {
26456
- d("error", e), te.value = Jc;
26564
+ d("error", e), H.value = nl;
26457
26565
  }
26458
- else te.value = i.mockData;
26566
+ else H.value = i.mockData;
26459
26567
  };
26460
- g(K), T(() => i.mockData, K);
26461
- let q = (e) => {
26568
+ g(q), T(() => i.mockData, q);
26569
+ let ne = (e) => {
26462
26570
  N.value = {
26463
26571
  role: "ai",
26464
26572
  type: e.type,
@@ -26468,7 +26576,7 @@ var uc = {
26468
26576
  }, J = (e) => !!e?.some((e) => e.type === "markdown" || e.type === "text"), re = (e) => e?.find((e) => e.type === "markdown" || e.type === "text")?.content || "", ie = (e) => {
26469
26577
  let t = re(e);
26470
26578
  if (!t) {
26471
- q({
26579
+ ne({
26472
26580
  type: I.value,
26473
26581
  blocks: e
26474
26582
  });
@@ -26477,7 +26585,7 @@ var uc = {
26477
26585
  ae(), R.value = !0, P.value = !0, L.value = "";
26478
26586
  let n = 0, r = () => {
26479
26587
  if (n >= t.length) {
26480
- R.value = !1, P.value = !1, q({
26588
+ R.value = !1, P.value = !1, ne({
26481
26589
  type: I.value,
26482
26590
  blocks: e
26483
26591
  });
@@ -26522,7 +26630,7 @@ var uc = {
26522
26630
  }, ae = () => {
26523
26631
  z &&= (clearTimeout(z), null);
26524
26632
  }, oe = (e, t) => {
26525
- let n = te.value.categories?.[e];
26633
+ let n = H.value.categories?.[e];
26526
26634
  if (!n) return [];
26527
26635
  for (let e of n.responses) if (e.keywords && e.keywords.some((e) => t.includes(e))) return e.blocks;
26528
26636
  let r = n.responses.find((e) => e.default);
@@ -26543,7 +26651,7 @@ var uc = {
26543
26651
  ue(), f.value = !1, d("close");
26544
26652
  };
26545
26653
  return t({
26546
- setResponse: q,
26654
+ setResponse: ne,
26547
26655
  setLoading: (e) => {
26548
26656
  P.value = e;
26549
26657
  },
@@ -26563,7 +26671,7 @@ var uc = {
26563
26671
  key: 0,
26564
26672
  class: "AiChat__header",
26565
26673
  onPointerdown: n[2] ||= O((...e) => S(k) && S(k)(...e), ["prevent"])
26566
- }, [n[12] ||= u("<div class=\"AiChat__title\"><svg viewBox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"currentColor\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z\"></path></svg><span>AI 智能助手</span><span class=\"AiChat__status\"><span class=\"AiChat__statusDot\"></span> 在线 </span></div>", 1), l("div", Yc, [l("button", {
26674
+ }, [n[12] ||= u("<div class=\"AiChat__title\"><svg viewBox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"currentColor\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z\"></path></svg><span>AI 智能助手</span><span class=\"AiChat__status\"><span class=\"AiChat__statusDot\"></span> 在线 </span></div>", 1), l("div", rl, [l("button", {
26567
26675
  class: "AiChat__headerBtn",
26568
26676
  title: f.value ? "退出全屏" : "全屏",
26569
26677
  onClick: A,
@@ -26573,7 +26681,7 @@ var uc = {
26573
26681
  width: "16",
26574
26682
  height: "16",
26575
26683
  fill: "currentColor"
26576
- }, [l("path", { d: "M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z" })], -1)]], 40, Xc), l("button", {
26684
+ }, [l("path", { d: "M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z" })], -1)]], 40, il), l("button", {
26577
26685
  class: "AiChat__headerBtn AiChat__headerBtn--close",
26578
26686
  onClick: de,
26579
26687
  onPointerdown: n[1] ||= O(() => {}, ["stop"]),
@@ -26584,17 +26692,17 @@ var uc = {
26584
26692
  ref_key: "bodyRef",
26585
26693
  ref: ee,
26586
26694
  class: "AiChat__body"
26587
- }, [M.value || N.value ? (v(), c(r, { key: 0 }, [M.value ? (v(), c("div", Zc, [n[13] ||= l("div", { class: "AiChat__avatar AiChat__avatar--user" }, [l("svg", {
26695
+ }, [M.value || N.value ? (v(), c(r, { key: 0 }, [M.value ? (v(), c("div", al, [n[13] ||= l("div", { class: "AiChat__avatar AiChat__avatar--user" }, [l("svg", {
26588
26696
  viewBox: "0 0 24 24",
26589
26697
  width: "16",
26590
26698
  height: "16",
26591
26699
  fill: "currentColor"
26592
- }, [l("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" })])], -1), l("div", Qc, [l("div", $c, x(M.value.content), 1), l("div", el, x(M.value.time), 1)])])) : s("", !0), N.value || P.value ? (v(), c("div", tl, [n[15] ||= l("div", { class: "AiChat__avatar AiChat__avatar--ai" }, [l("svg", {
26700
+ }, [l("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" })])], -1), l("div", ol, [l("div", sl, x(M.value.content), 1), l("div", cl, x(M.value.time), 1)])])) : s("", !0), N.value || P.value ? (v(), c("div", ll, [n[15] ||= l("div", { class: "AiChat__avatar AiChat__avatar--ai" }, [l("svg", {
26593
26701
  viewBox: "0 0 24 24",
26594
26702
  width: "16",
26595
26703
  height: "16",
26596
26704
  fill: "currentColor"
26597
- }, [l("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" })])], -1), l("div", nl, [l("div", rl, [N.value ? (v(), o(qc, {
26705
+ }, [l("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" })])], -1), l("div", ul, [l("div", dl, [N.value ? (v(), o(tl, {
26598
26706
  key: 0,
26599
26707
  message: N.value,
26600
26708
  theme: e.theme,
@@ -26605,11 +26713,11 @@ var uc = {
26605
26713
  "theme",
26606
26714
  "isFullscreen",
26607
26715
  "baseHttp"
26608
- ])) : P.value ? (v(), c("div", il, [...n[14] ||= [
26716
+ ])) : P.value ? (v(), c("div", fl, [...n[14] ||= [
26609
26717
  l("span", null, null, -1),
26610
26718
  l("span", null, null, -1),
26611
26719
  l("span", null, null, -1)
26612
- ]])) : s("", !0)]), N.value ? (v(), c("div", al, x(N.value.time), 1)) : s("", !0)])])) : s("", !0)], 64)) : (v(), c("div", ol, " 选择类型后输入问题,AI 将为你解答 "))], 512)) : B.value ? (v(), c("div", sl, [l("header", {
26720
+ ]])) : s("", !0)]), N.value ? (v(), c("div", pl, x(N.value.time), 1)) : s("", !0)])])) : s("", !0)], 64)) : (v(), c("div", ml, " 选择类型后输入问题,AI 将为你解答 "))], 512)) : B.value ? (v(), c("div", hl, [l("header", {
26613
26721
  class: "AiChat__contentHeader",
26614
26722
  onPointerdown: n[5] ||= O((...e) => S(k) && S(k)(...e), ["prevent"])
26615
26723
  }, [n[17] ||= l("div", { class: "AiChat__contentTitle" }, [l("svg", {
@@ -26617,7 +26725,7 @@ var uc = {
26617
26725
  width: "16",
26618
26726
  height: "16",
26619
26727
  fill: "currentColor"
26620
- }, [l("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" })]), l("span", null, "AI 智能助手")], -1), l("div", cl, [l("button", {
26728
+ }, [l("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" })]), l("span", null, "AI 智能助手")], -1), l("div", gl, [l("button", {
26621
26729
  class: "AiChat__headerBtn",
26622
26730
  title: "全屏",
26623
26731
  onClick: A,
@@ -26636,7 +26744,7 @@ var uc = {
26636
26744
  ref_key: "bodyRef",
26637
26745
  ref: ee,
26638
26746
  class: "AiChat__contentPanel"
26639
- }, [M.value || N.value ? (v(), c(r, { key: 0 }, [M.value ? (v(), c("div", ll, [l("div", ul, [l("div", dl, x(M.value.content), 1), l("div", fl, x(M.value.time), 1)])])) : s("", !0), N.value || P.value ? (v(), c("div", pl, [l("div", ml, [l("div", hl, [N.value ? (v(), o(qc, {
26747
+ }, [M.value || N.value ? (v(), c(r, { key: 0 }, [M.value ? (v(), c("div", _l, [l("div", vl, [l("div", yl, x(M.value.content), 1), l("div", bl, x(M.value.time), 1)])])) : s("", !0), N.value || P.value ? (v(), c("div", xl, [l("div", Sl, [l("div", Cl, [N.value ? (v(), o(tl, {
26640
26748
  key: 0,
26641
26749
  message: N.value,
26642
26750
  theme: e.theme,
@@ -26647,34 +26755,33 @@ var uc = {
26647
26755
  "theme",
26648
26756
  "isFullscreen",
26649
26757
  "baseHttp"
26650
- ])) : P.value ? (v(), c("div", gl, [...n[18] ||= [
26758
+ ])) : P.value ? (v(), c("div", wl, [...n[18] ||= [
26651
26759
  l("span", null, null, -1),
26652
26760
  l("span", null, null, -1),
26653
26761
  l("span", null, null, -1)
26654
- ]])) : s("", !0)]), N.value ? (v(), c("div", _l, x(N.value.time), 1)) : s("", !0)])])) : s("", !0)], 64)) : s("", !0)], 512)])) : s("", !0),
26762
+ ]])) : s("", !0)]), N.value ? (v(), c("div", Tl, x(N.value.time), 1)) : s("", !0)])])) : s("", !0)], 64)) : s("", !0)], 512)])) : s("", !0),
26655
26763
  l("div", {
26656
26764
  class: m(["AiChat__footer", { AiChat__inputPanel: !f.value }]),
26657
26765
  onPointerdown: n[10] ||= O((...e) => S(k) && S(k)(...e), ["prevent"])
26658
26766
  }, [l("div", {
26659
26767
  class: m(["AiChat__typeTabs", { "AiChat__typeTabs--fullscreen": f.value }]),
26660
26768
  onPointerdown: n[6] ||= O(() => {}, ["stop"])
26661
- }, [(v(!0), c(r, null, b(ne.value, (e, t) => (v(), c(r, { key: e.value }, [l("button", {
26769
+ }, [(v(!0), c(r, null, b(te.value, (e, t) => (v(), c(r, { key: e.value }, [l("button", {
26662
26770
  class: m(["AiChat__typeTab", { "AiChat__typeTab--active": I.value === e.value }]),
26663
- onClick: (t) => G(e.value)
26664
- }, x(e.label), 11, vl), t < ne.value.length - 1 ? (v(), c("span", yl)) : s("", !0)], 64))), 128))], 34), l("div", bl, [l("div", xl, [D(l("textarea", {
26771
+ onClick: (t) => K(e.value)
26772
+ }, x(e.label), 11, El), t < te.value.length - 1 ? (v(), c("span", Dl)) : s("", !0)], 64))), 128))], 34), l("div", Ol, [l("div", kl, [D(l("input", {
26665
26773
  ref_key: "textareaRef",
26666
26774
  ref: V,
26667
26775
  "onUpdate:modelValue": n[7] ||= (e) => F.value = e,
26668
26776
  class: "AiChat__textarea",
26669
- rows: "1",
26670
- placeholder: H.value,
26671
- onKeydown: W,
26777
+ placeholder: U.value,
26778
+ onKeydown: G,
26672
26779
  onInput: se,
26673
26780
  onPointerdown: n[8] ||= O(() => {}, ["stop"])
26674
- }, null, 40, Sl), [[C, F.value]])]), l("button", {
26781
+ }, null, 40, Al), [[C, F.value]])]), l("button", {
26675
26782
  class: "AiChat__send",
26676
26783
  disabled: !F.value.trim() || P.value,
26677
- onClick: U,
26784
+ onClick: W,
26678
26785
  onPointerdown: n[9] ||= O(() => {}, ["stop"]),
26679
26786
  title: "发送"
26680
26787
  }, [...n[19] ||= [l("svg", {
@@ -26682,9 +26789,9 @@ var uc = {
26682
26789
  width: "16",
26683
26790
  height: "16",
26684
26791
  fill: "currentColor"
26685
- }, [l("path", { d: "M2.01 21L23 12 2.01 3 2 10l15 2-15 2z" })], -1)]], 40, Cl)])], 34)
26792
+ }, [l("path", { d: "M2.01 21L23 12 2.01 3 2 10l15 2-15 2z" })], -1)]], 40, jl)])], 34)
26686
26793
  ], 6));
26687
26794
  }
26688
26795
  });
26689
26796
  //#endregion
26690
- export { bt as a, pt as i, xt as n, vt as o, yt as r, wl as t };
26797
+ export { bt as a, pt as i, xt as n, vt as o, yt as r, Ml as t };