@vtx/player 1.12.2 → 1.12.3

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 (49) hide show
  1. package/lib/bill-player/index.js +35 -27
  2. package/lib/bill-player/index.js.map +1 -1
  3. package/lib/history-control/index.d.ts +1 -1
  4. package/lib/history-control/index.js +10 -4
  5. package/lib/history-control/index.js.map +1 -1
  6. package/lib/history-control-v2/components/grid-item/index.d.ts +5 -4
  7. package/lib/history-control-v2/components/grid-item/index.js +9 -1
  8. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  9. package/lib/history-control-v2/components/panel/VideoTable.js +1 -0
  10. package/lib/history-control-v2/components/panel/VideoTable.js.map +1 -1
  11. package/lib/history-control-v2/components/panel/index.js +119 -52
  12. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  13. package/lib/history-control-v2/utils.d.ts +2 -0
  14. package/lib/history-control-v2/utils.js +18 -8
  15. package/lib/history-control-v2/utils.js.map +1 -1
  16. package/lib/live-control/index.d.ts +3 -1
  17. package/lib/live-control/index.js +25 -15
  18. package/lib/live-control/index.js.map +1 -1
  19. package/lib/live-control-v2/index.d.ts +2 -2
  20. package/lib/live-control-v2/index.js +78 -49
  21. package/lib/live-control-v2/index.js.map +1 -1
  22. package/lib/player/BdPlayer.d.ts +0 -1
  23. package/lib/player/FlvPlayer.d.ts +0 -1
  24. package/lib/player/H264Player.d.ts +0 -1
  25. package/lib/player/HkcarwsPlayer.d.ts +0 -1
  26. package/lib/player/HkwsPlayer.d.ts +0 -1
  27. package/lib/player/HkwsPlayer.js +1 -0
  28. package/lib/player/HkwsPlayer.js.map +1 -1
  29. package/lib/player/HlsPlayer.d.ts +0 -1
  30. package/lib/player/IccwsPlayer.d.ts +0 -1
  31. package/lib/player/IframePlayer.d.ts +0 -1
  32. package/lib/player/Mp4Player.d.ts +0 -1
  33. package/lib/player/RslPlayer.d.ts +0 -1
  34. package/lib/player/VtxHlsPlayer.d.ts +0 -1
  35. package/lib/player/VtxwhepPlayer.d.ts +0 -1
  36. package/lib/player/VtxwsPlayer.d.ts +0 -1
  37. package/lib/player/Web34Player.d.ts +0 -4
  38. package/lib/player/Web34Player.js +3 -6
  39. package/lib/player/Web34Player.js.map +1 -1
  40. package/lib/player/WebrtcPlayer.d.ts +0 -1
  41. package/lib/player/WfsPlayer.d.ts +0 -1
  42. package/lib/player/YsyPlayer.d.ts +0 -4
  43. package/lib/player/YsyPlayer.js +4 -4
  44. package/lib/player/YsyPlayer.js.map +1 -1
  45. package/lib/player/indexOld.d.ts +0 -1
  46. package/lib/utils/web34-iframe.d.ts +23 -0
  47. package/lib/utils/web34-iframe.js +61 -0
  48. package/lib/utils/web34-iframe.js.map +1 -0
  49. package/package.json +1 -1
@@ -28,6 +28,29 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
28
28
  function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
29
29
  function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
30
30
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
31
+ var isSameDayRecord = function isSameDayRecord(record) {
32
+ var beginTime = (0, _utils2.parseHistoryTime)(record.beginTime);
33
+ var endTime = (0, _utils2.parseHistoryTime)(record.endTime);
34
+ return beginTime.isValid() && endTime.isValid() && beginTime.isSame(endTime, 'day');
35
+ };
36
+ var normalizeHistoryItem = function normalizeHistoryItem(item, channel) {
37
+ var _a, _b, _c, _d, _e, _f, _g;
38
+ /**
39
+ * 优化第一条数据的开始时间不要早于请求的开始时间
40
+ * 最后一条的结束时间不要晚于请求的结束时间
41
+ */
42
+ if ((_a = item.list) === null || _a === void 0 ? void 0 : _a.length) {
43
+ if ((0, _moment["default"])((_c = (_b = item.list) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.beginTime).diff((0, _moment["default"])(channel.beginTime), 'seconds') < 0) {
44
+ item.list[0].beginTime = channel.beginTime;
45
+ }
46
+ if ((0, _moment["default"])((_e = (_d = item.list) === null || _d === void 0 ? void 0 : _d[item.list.length - 1]) === null || _e === void 0 ? void 0 : _e.endTime).diff((0, _moment["default"])(channel.endTime), 'seconds') > 0) {
47
+ item.list[item.list.length - 1].endTime = channel.endTime;
48
+ }
49
+ }
50
+ item.list = (_g = (_f = item.list) === null || _f === void 0 ? void 0 : _f.filter) === null || _g === void 0 ? void 0 : _g.call(_f, function (record) {
51
+ return !!record.beginTime && !!record.endTime && isSameDayRecord(record);
52
+ });
53
+ };
31
54
  var HistoryControlV2Panel = exports.HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
32
55
  var _a, _b, _c, _d;
33
56
  var _useContext = (0, _react.useContext)(_context.historyControlV2Context),
@@ -97,7 +120,7 @@ var HistoryControlV2Panel = exports.HistoryControlV2Panel = /*#__PURE__*/(0, _re
97
120
  res.filter(function (item, index) {
98
121
  return index < 25;
99
122
  }).map(function (item) {
100
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
123
+ var _a, _b, _c, _d, _e, _f, _g, _h;
101
124
  if (item.player === 'icc_ws') {
102
125
  var channelIndex = newChannels.findIndex(function (v) {
103
126
  return !v.url;
@@ -116,43 +139,24 @@ var HistoryControlV2Panel = exports.HistoryControlV2Panel = /*#__PURE__*/(0, _re
116
139
  });
117
140
  return;
118
141
  }
119
- /**
120
- * 优化第一条数据的开始时间不要早于请求的开始时间
121
- * 最后一条的结束时间不要晚于请求的结束时间
122
- */
123
- if ((_a = item.list) === null || _a === void 0 ? void 0 : _a.length) {
124
- if ((0, _moment["default"])((_c = (_b = item.list) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.beginTime).diff((0, _moment["default"])(channel.beginTime), 'seconds') < 0) {
125
- item.list[0].beginTime = channel.beginTime;
126
- }
127
- if ((0, _moment["default"])((_e = (_d = item.list) === null || _d === void 0 ? void 0 : _d[item.list.length - 1]) === null || _e === void 0 ? void 0 : _e.endTime).diff((0, _moment["default"])(channel.endTime), 'seconds') > 0) {
128
- item.list[item.list.length - 1].endTime = channel.endTime;
129
- }
130
- }
142
+ normalizeHistoryItem(item, channel);
131
143
  var result = newChannels.find(function (citem) {
132
144
  return citem.deviceId === item.deviceId && citem.channelNum === item.channelNum;
133
145
  });
134
146
  if (result) {
135
147
  var isClose = newChannels[result.channelIndex].index === -1 && newChannels[result.channelIndex].tagId === '';
136
- // 过滤跨天的数据
137
- item.list = (_g = (_f = item.list) === null || _f === void 0 ? void 0 : _f.filter) === null || _g === void 0 ? void 0 : _g.call(_f, function (e) {
138
- return e.beginTime.slice(0, 10) === e.endTime.slice(0, 10);
139
- });
140
148
  var data = (0, _utils2.getChannelData)(item, channel);
141
149
  newChannels[result.channelIndex] = Object.assign(Object.assign(Object.assign({}, newChannels[result.channelIndex]), {
142
150
  // 如果当前既没有播放列表 又没有播放标签 再 开始以第一个播放
143
151
  index: isClose ? 0 : newChannels[result.channelIndex].index,
144
- startTime: isClose ? ((_j = (_h = item.list) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.beginTime) || channel.beginTime : (_k = newChannels[result.channelIndex].startTime) !== null && _k !== void 0 ? _k : channel.beginTime,
145
- endTime: isClose ? ((_m = (_l = item.list) === null || _l === void 0 ? void 0 : _l[0]) === null || _m === void 0 ? void 0 : _m.beginTime) || channel.beginTime : (_o = newChannels[result.channelIndex].endTime) !== null && _o !== void 0 ? _o : channel.endTime
152
+ startTime: isClose ? ((_b = (_a = item.list) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.beginTime) || channel.beginTime : (_c = newChannels[result.channelIndex].startTime) !== null && _c !== void 0 ? _c : channel.beginTime,
153
+ endTime: isClose ? ((_e = (_d = item.list) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.beginTime) || channel.beginTime : (_f = newChannels[result.channelIndex].endTime) !== null && _f !== void 0 ? _f : channel.endTime
146
154
  }), data);
147
155
  } else {
148
- var _channelIndex = (_q = (_p = newChannels.filter(function (item) {
156
+ var _channelIndex = (_h = (_g = newChannels.filter(function (item) {
149
157
  return item.channelNum === '';
150
- })) === null || _p === void 0 ? void 0 : _p[0]) === null || _q === void 0 ? void 0 : _q.channelIndex;
158
+ })) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.channelIndex;
151
159
  if (typeof _channelIndex == 'number') {
152
- // 过滤跨天的数据
153
- item.list = (_s = (_r = item.list) === null || _r === void 0 ? void 0 : _r.filter) === null || _s === void 0 ? void 0 : _s.call(_r, function (e) {
154
- return e.beginTime.slice(0, 10) === e.endTime.slice(0, 10);
155
- });
156
160
  var _data = (0, _utils2.getChannelData)(item, channel);
157
161
  if (['HK_CAR_CLOUD_V2'].includes(_data.hkType) || _data.singleUrl) {
158
162
  fetchArr.push(GetHKV2Url({
@@ -233,6 +237,17 @@ var HistoryControlV2Panel = exports.HistoryControlV2Panel = /*#__PURE__*/(0, _re
233
237
  }).then(function (data) {
234
238
  deal(data, 'vtx_ws');
235
239
  });
240
+ } else if (['DHICC'].includes(record.hkType)) {
241
+ GetHKV2Url({
242
+ code: record.code,
243
+ beginTime: record.beginTime,
244
+ endTime: record.endTime,
245
+ deviceId: record.deviceId,
246
+ channelNum: record.channelNum,
247
+ tenantId: (0, _utils3.getVtxToken)('tenantId')
248
+ }).then(function (data) {
249
+ deal(data.playbackUrl, 'vtx_ws');
250
+ });
236
251
  } else {
237
252
  deal();
238
253
  }
@@ -287,7 +302,7 @@ var HistoryControlV2Panel = exports.HistoryControlV2Panel = /*#__PURE__*/(0, _re
287
302
  children: [(0, _jsxRuntime.jsx)("div", Object.assign({
288
303
  className: "time-panel"
289
304
  }, {
290
- children: (((_a = realChannels[activeIndex]) === null || _a === void 0 ? void 0 : _a.player) === 'vtx_ws' ? ['ISC', 'ICM'].includes((_b = realChannels[activeIndex]) === null || _b === void 0 ? void 0 : _b.hkType) : true) && (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
305
+ children: (((_a = realChannels[activeIndex]) === null || _a === void 0 ? void 0 : _a.player) === 'vtx_ws' ? ['ISC', 'ICM', 'DHICC'].includes((_b = realChannels[activeIndex]) === null || _b === void 0 ? void 0 : _b.hkType) : true) && (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
291
306
  children: [(0, _jsxRuntime.jsxs)("div", Object.assign({
292
307
  className: "segments",
293
308
  ref: segmentsRef
@@ -296,11 +311,12 @@ var HistoryControlV2Panel = exports.HistoryControlV2Panel = /*#__PURE__*/(0, _re
296
311
  getRef: getRef,
297
312
  history: channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData,
298
313
  channelName: channels === null || channels === void 0 ? void 0 : channels[activeIndex].channelName,
299
- onClick: function onClick(index, startTime, endTime) {
314
+ onClick: function onClick(index, startTime, endTime, playbackUrl, code) {
300
315
  var _a, _b;
301
316
  var newChannels = _toConsumableArray(channels);
302
317
  var originalUrl = (_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData) === null || _a === void 0 ? void 0 : _a.originalUrl;
303
318
  var player = channels[activeIndex].player;
319
+ var hkType = channels[activeIndex].hkType;
304
320
  var sT = (0, _moment["default"])(startTime).format(_utils.TimeFormat.params); // 当前点击的时间
305
321
  var eT = (0, _moment["default"])(endTime).format(_utils.TimeFormat.params); // 分段的结束时间
306
322
  newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), {
@@ -311,7 +327,51 @@ var HistoryControlV2Panel = exports.HistoryControlV2Panel = /*#__PURE__*/(0, _re
311
327
  tagId: ''
312
328
  });
313
329
  if (player === 'vtx_ws') {
314
- var rtspUrl = (0, _utils2.getVtxWsUrl)(originalUrl, sT, eT);
330
+ var baseUrl = playbackUrl || originalUrl;
331
+ if (!baseUrl) {
332
+ setChannels(newChannels);
333
+ return;
334
+ }
335
+ if (['DHICC'].includes(hkType)) {
336
+ var _ref = newChannels[activeIndex] || {},
337
+ deviceId = _ref.deviceId,
338
+ channelNum = _ref.channelNum,
339
+ _index = _ref.index,
340
+ tableList = _ref.tableList;
341
+ GetHKV2Url({
342
+ beginTime: sT,
343
+ endTime: eT,
344
+ deviceId: deviceId,
345
+ channelNum: channelNum,
346
+ tenantId: (0, _utils3.getVtxToken)('tenantId'),
347
+ code: code
348
+ }).then(function (data) {
349
+ var idx = _index; //列表下标
350
+ tableList === null || tableList === void 0 ? void 0 : tableList.forEach(function (ele) {
351
+ if ((0, _moment["default"])(sT).valueOf() >= (0, _moment["default"])(ele.beginTime).valueOf() && (0, _moment["default"])(eT).valueOf() <= (0, _moment["default"])(ele.endTime).valueOf()) {
352
+ idx = ele.index - 1;
353
+ }
354
+ });
355
+ if (data) {
356
+ var list = (0, _cloneDeep["default"])(newChannels);
357
+ list[activeIndex] = Object.assign(Object.assign({}, list[activeIndex]), {
358
+ startTime: sT,
359
+ url: data.playbackUrl,
360
+ channelIndex: idx
361
+ });
362
+ setChannels(list);
363
+ }
364
+ });
365
+ return;
366
+ }
367
+ if (!['ISC', 'ICM'].includes(hkType)) {
368
+ newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), {
369
+ url: baseUrl
370
+ });
371
+ setChannels(newChannels);
372
+ return;
373
+ }
374
+ var rtspUrl = (0, _utils2.getVtxWsUrl)(baseUrl, sT, eT);
315
375
  GetVtxWsUrl({
316
376
  rtspUrl: rtspUrl,
317
377
  token: (0, _utils3.getVtxToken)('token')
@@ -329,20 +389,21 @@ var HistoryControlV2Panel = exports.HistoryControlV2Panel = /*#__PURE__*/(0, _re
329
389
  (_b = currentPlayer === null || currentPlayer === void 0 ? void 0 : currentPlayer.playBackByTime) === null || _b === void 0 ? void 0 : _b.call(currentPlayer, sT, eT);
330
390
  setChannels(newChannels);
331
391
  } else if (player !== 'bd' && player !== 'hk_ws') {
332
- var _ref = newChannels === null || newChannels === void 0 ? void 0 : newChannels[activeIndex],
333
- deviceId = _ref.deviceId,
334
- channelNum = _ref.channelNum,
335
- _index = _ref.index,
336
- tableList = _ref.tableList;
392
+ var _ref2 = newChannels[activeIndex] || {},
393
+ _deviceId = _ref2.deviceId,
394
+ _channelNum = _ref2.channelNum,
395
+ _index2 = _ref2.index,
396
+ _tableList = _ref2.tableList;
337
397
  GetHKV2Url({
338
398
  beginTime: sT,
339
399
  endTime: eT,
340
- deviceId: deviceId,
341
- channelNum: channelNum,
342
- tenantId: (0, _utils3.getVtxToken)('tenantId')
400
+ deviceId: _deviceId,
401
+ channelNum: _channelNum,
402
+ tenantId: (0, _utils3.getVtxToken)('tenantId'),
403
+ code: code
343
404
  }).then(function (data) {
344
- var idx = _index; //列表下标
345
- tableList === null || tableList === void 0 ? void 0 : tableList.forEach(function (ele) {
405
+ var idx = _index2; //列表下标
406
+ _tableList === null || _tableList === void 0 ? void 0 : _tableList.forEach(function (ele) {
346
407
  if ((0, _moment["default"])(sT).valueOf() >= (0, _moment["default"])(ele.beginTime).valueOf() && (0, _moment["default"])(eT).valueOf() <= (0, _moment["default"])(ele.endTime).valueOf()) {
347
408
  idx = ele.index - 1;
348
409
  }
@@ -469,12 +530,12 @@ var TimeLine = function TimeLine() {
469
530
  }));
470
531
  };
471
532
  var ONEDAY_MILL = 24 * 60 * 60 * 1000;
472
- var TimeVerticalLine = function TimeVerticalLine(_ref2) {
473
- var getRef = _ref2.getRef,
474
- history = _ref2.history,
475
- _onClick = _ref2.onClick,
476
- seekTo = _ref2.seekTo,
477
- channelName = _ref2.channelName;
533
+ var TimeVerticalLine = function TimeVerticalLine(_ref3) {
534
+ var getRef = _ref3.getRef,
535
+ history = _ref3.history,
536
+ _onClick = _ref3.onClick,
537
+ seekTo = _ref3.seekTo,
538
+ channelName = _ref3.channelName;
478
539
  var _a;
479
540
  var mouse = (0, _ahooks.useMouse)(getRef());
480
541
  var elementX = mouse.elementX,
@@ -488,16 +549,20 @@ var TimeVerticalLine = function TimeVerticalLine(_ref2) {
488
549
  var flag = false,
489
550
  playStart = -1,
490
551
  playEnd = -1,
491
- index = -1;
552
+ index = -1,
553
+ code = '',
554
+ playbackUrl;
492
555
  var now = (0, _moment["default"])(time).valueOf();
493
556
  for (var i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {
494
- var begin = (0, _moment["default"])(history.list[i].beginTime).valueOf(),
495
- end = (0, _moment["default"])(history.list[i].endTime).valueOf();
557
+ var record = history.list[i];
558
+ var begin = (0, _utils2.parseHistoryTime)(record.beginTime).valueOf(),
559
+ end = (0, _utils2.parseHistoryTime)(record.endTime).valueOf();
496
560
  if (now >= begin && now <= end) {
497
561
  index = i;
498
- // url = history.list[i].playbackUrl;
562
+ playbackUrl = record.playbackUrl || record.url;
499
563
  playStart = now;
500
564
  playEnd = end;
565
+ code = record.code;
501
566
  flag = true;
502
567
  break;
503
568
  }
@@ -511,7 +576,7 @@ var TimeVerticalLine = function TimeVerticalLine(_ref2) {
511
576
  left: elementX
512
577
  },
513
578
  onClick: function onClick() {
514
- _onClick(index, playStart, playEnd);
579
+ _onClick(index, playStart, playEnd, playbackUrl, code);
515
580
  seekTo && seekTo(time);
516
581
  }
517
582
  })
@@ -521,7 +586,7 @@ var TimeVerticalLine = function TimeVerticalLine(_ref2) {
521
586
  left: elementX
522
587
  },
523
588
  onClick: function onClick() {
524
- _onClick(index, playStart, playEnd);
589
+ _onClick(index, playStart, playEnd, playbackUrl, code);
525
590
  seekTo && seekTo(time);
526
591
  }
527
592
  }) : (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
@@ -535,8 +600,10 @@ var getSegments = function getSegments(props) {
535
600
  var endTime = (0, _moment["default"])(end);
536
601
  var total = endTime.diff(startTime, 'seconds'); // 总时间
537
602
  var result = list === null || list === void 0 ? void 0 : list.map(function (i, index) {
538
- var itemStart = (0, _moment["default"])(i.beginTime).diff(startTime, 'seconds') > 0 ? (0, _moment["default"])(i.beginTime) : startTime;
539
- var itemEnd = (0, _moment["default"])(i.endTime);
603
+ var beginTime = (0, _utils2.parseHistoryTime)(i.beginTime);
604
+ var endTime = (0, _utils2.parseHistoryTime)(i.endTime);
605
+ var itemStart = beginTime.diff(startTime, 'seconds') > 0 ? beginTime : startTime;
606
+ var itemEnd = endTime;
540
607
  var itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间
541
608
  var width = itemTotal / total * 100; // 分段时间占总时间百分比
542
609
  var left = itemStart.diff(startTime, 'seconds') / total * 100; // 分段其实时间
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_reactCollapsed","_interopRequireDefault","_api","_icons","_locales","_utils","_context","_collapse","_utils2","_utils3","_ahooks","_message","_tooltip","_cloneDeep","_moment","_VideoTable","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","n","HistoryControlV2Panel","exports","forwardRef","props","ref","_a","_b","_c","_d","_useContext","useContext","historyControlV2Context","channels","setChannels","setLoading","activeIndex","setActiveIndex","timeLinePosition","messages","getLocaleMessages","realChannels","filter","item","channelNum","segmentsRef","useRef","getRef","current","onVideoClose","_props$bottomDefaultE","bottomDefaultExpand","getPlayer","_useCollapse","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","_useRequest","useRequest","getHistoryUrls","manual","runAsync","_useRequest2","getPlaybackUrlSingle","GetHKV2Url","_useRequest3","getPlaybackUrlVtxWs","GetVtxWsUrl","loadData","channel","deviceChannels","JSON","stringify","protocol","beginTime","endTime","token","getVtxToken","then","res","message","info","historyControl","maxChannels","newIds","map","concat","deviceId","newChannels","index","includes","Object","assign","channelIndex","DEFAULT_PLAY_PARAMS","fetchArr","fetchIndexArr","_e","_f","_g","_h","_j","_k","_l","_m","_o","_p","_q","_r","_s","player","findIndex","v","url","startTime","streamType","deviceCode","deviceIp","devicePort","list","moment","diff","result","find","citem","isClose","tagId","data","getChannelData","hkType","singleUrl","push","code","tenantId","error","noExtraPlayPosition","Promise","all","forEach","playbackUrl","console","noVideo","useImperativeHandle","load","onPlay","useMemoizedFn","active","record","deal","realUrl","originalUrl","rtspUrl","getVtxWsUrl","getVtxWSTimeString","playBackByTime","_jsx","_Fragment","children","_jsxs","className","src","collapseBtnImg","alt","style","transform","TimeVerticalLine","history","segmentData","channelName","onClick","sT","format","TimeFormat","params","eT","currentPlayer","_ref","tableList","idx","ele","valueOf","cloneDeep","seekTo","getSegments","TimePositionIcon","left","TimeLine","display","formatMessage","videoChannelCount","count","Tooltip","title","flex","overflow","width","VideoTable","currentIndex","getActivePlayer","activeChannel","getSplitLines","step","i","element","ONEDAY_MILL","_ref2","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","time","start","flag","playStart","playEnd","now","begin","end","_props$list","total","itemStart","itemEnd","itemTotal","displayName","_default","memo"],"sources":["history-control-v2/components/panel/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, memo, useContext, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrls, getPlaybackUrlSingle, getPlaybackUrlVtxWs } from '../../../api';\nimport { TimePositionIcon } from '../../../icons';\nimport { formatMessage, getLocaleMessages } from '../../../locales';\nimport { TimeFormat, getVtxWSTimeString } from '../../../utils';\nimport { historyControlV2Context } from '../../context';\nimport collapseBtnImg from '../../images/collapse.png';\nimport { DEFAULT_PLAY_PARAMS, getChannelData, getVtxWsUrl } from '../../utils';\nimport { getVtxToken } from '@vtx/utils';\nimport { useMemoizedFn, useMouse, useRequest } from 'ahooks';\nimport message from 'antd/lib/message';\nimport Tooltip from 'antd/lib/tooltip';\nimport cloneDeep from 'lodash/cloneDeep';\nimport moment from 'moment';\nimport VideoTable from './VideoTable';\nexport const HistoryControlV2Panel = forwardRef((props, ref) => {\n var _a, _b, _c, _d;\n const { channels, setChannels, setLoading, activeIndex, setActiveIndex, timeLinePosition } = useContext(historyControlV2Context);\n const messages = getLocaleMessages();\n const realChannels = channels.filter((item) => item.channelNum !== '');\n const segmentsRef = useRef(null);\n const getRef = () => {\n return segmentsRef.current;\n };\n const { onVideoClose, bottomDefaultExpand = true, getPlayer } = props;\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: bottomDefaultExpand, // 默认展开\n });\n const { runAsync } = useRequest(getHistoryUrls, {\n manual: true,\n });\n const { runAsync: GetHKV2Url } = useRequest(getPlaybackUrlSingle, {\n manual: true,\n });\n const { runAsync: GetVtxWsUrl } = useRequest(getPlaybackUrlVtxWs, {\n manual: true,\n });\n const loadData = (channel) => {\n setLoading(true);\n runAsync({\n deviceChannels: JSON.stringify(channel.deviceChannels),\n protocol: channel.protocol,\n beginTime: channel.beginTime,\n endTime: channel.endTime,\n token: getVtxToken('token'),\n }).then((res) => {\n setLoading(false);\n if (Array.isArray(res)) {\n if (res.length > 25) {\n message.info(messages.historyControl.maxChannels);\n }\n const newIds = [...res].map((item) => {\n return `${item.deviceId}${item.channelNum}`;\n });\n const newChannels = [...channels];\n channels.map((item, index) => {\n if (!newIds.includes(`${item.deviceId}${item.channelNum}`)) {\n newChannels[index] = Object.assign(Object.assign({ channelIndex: index }, DEFAULT_PLAY_PARAMS), item);\n }\n });\n const fetchArr = [], fetchIndexArr = [];\n res.filter((item, index) => index < 25).map((item) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;\n if (item.player === 'icc_ws') {\n const channelIndex = newChannels.findIndex((v) => !v.url);\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), { url: 'icc_ws', startTime: channel.beginTime, endTime: channel.endTime, streamType: item.streamType, deviceCode: item.deviceCode, deviceId: item.deviceId, deviceIp: item.deviceIp, devicePort: item.devicePort, channelNum: item.channelNum, player: 'icc_ws' });\n return;\n }\n /**\n * 优化第一条数据的开始时间不要早于请求的开始时间\n * 最后一条的结束时间不要晚于请求的结束时间\n */\n if ((_a = item.list) === null || _a === void 0 ? void 0 : _a.length) {\n if (moment((_c = (_b = item.list) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.beginTime).diff(moment(channel.beginTime), 'seconds') < 0) {\n item.list[0].beginTime = channel.beginTime;\n }\n if (moment((_e = (_d = item.list) === null || _d === void 0 ? void 0 : _d[item.list.length - 1]) === null || _e === void 0 ? void 0 : _e.endTime).diff(moment(channel.endTime), 'seconds') > 0) {\n item.list[item.list.length - 1].endTime = channel.endTime;\n }\n }\n const result = newChannels.find((citem) => citem.deviceId === item.deviceId && citem.channelNum === item.channelNum);\n if (result) {\n const isClose = newChannels[result.channelIndex].index === -1 &&\n newChannels[result.channelIndex].tagId === '';\n // 过滤跨天的数据\n item.list = (_g = (_f = item.list) === null || _f === void 0 ? void 0 : _f.filter) === null || _g === void 0 ? void 0 : _g.call(_f, (e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n newChannels[result.channelIndex] = Object.assign(Object.assign(Object.assign({}, newChannels[result.channelIndex]), { \n // 如果当前既没有播放列表 又没有播放标签 再 开始以第一个播放\n index: isClose ? 0 : newChannels[result.channelIndex].index, startTime: isClose\n ? ((_j = (_h = item.list) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.beginTime) || channel.beginTime\n : (_k = newChannels[result.channelIndex].startTime) !== null && _k !== void 0 ? _k : channel.beginTime, endTime: isClose\n ? ((_m = (_l = item.list) === null || _l === void 0 ? void 0 : _l[0]) === null || _m === void 0 ? void 0 : _m.beginTime) || channel.beginTime\n : (_o = newChannels[result.channelIndex].endTime) !== null && _o !== void 0 ? _o : channel.endTime }), data);\n }\n else {\n const channelIndex = (_q = (_p = newChannels.filter((item) => item.channelNum === '')) === null || _p === void 0 ? void 0 : _p[0]) === null || _q === void 0 ? void 0 : _q.channelIndex;\n if (typeof channelIndex == 'number') {\n // 过滤跨天的数据\n item.list = (_s = (_r = item.list) === null || _r === void 0 ? void 0 : _r.filter) === null || _s === void 0 ? void 0 : _s.call(_r, (e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n if (['HK_CAR_CLOUD_V2'].includes(data.hkType) || data.singleUrl) {\n fetchArr.push(GetHKV2Url({\n code: data.code,\n beginTime: data.startTime,\n endTime: data.endTime,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n tenantId: getVtxToken('tenantId'),\n }));\n fetchIndexArr.push(channelIndex);\n }\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), data);\n }\n else {\n message.error(messages.historyControl.noExtraPlayPosition);\n }\n }\n });\n if (fetchArr === null || fetchArr === void 0 ? void 0 : fetchArr.length) {\n Promise.all(fetchArr)\n .then((data) => {\n data.forEach((e, index) => {\n newChannels[fetchIndexArr[index]] = Object.assign(Object.assign({}, newChannels[fetchIndexArr[index]]), { url: e.playbackUrl, player: (e === null || e === void 0 ? void 0 : e.player) || '' });\n });\n setChannels(newChannels);\n })\n .catch((error) => {\n console.error('Promise.all 失败:', error); // 添加错误处理\n // 查看具体是哪个请求失败了\n });\n }\n else {\n setChannels(newChannels);\n }\n }\n else {\n message.info(messages.historyControl.noVideo);\n }\n setLoading(false);\n });\n };\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n loadData(channel);\n },\n };\n });\n const onPlay = useMemoizedFn((active, record, index) => {\n var _a;\n if (active) {\n const newChannels = [...channels];\n newChannels[activeIndex].index = -1;\n newChannels[activeIndex].startTime = '';\n newChannels[activeIndex].endTime = '';\n setActiveIndex(activeIndex - 1 > 0 ? activeIndex - 1 : 0);\n setChannels(newChannels);\n onVideoClose && onVideoClose(newChannels[activeIndex]);\n }\n else {\n // eslint-disable-next-line no-inner-declarations\n function deal(url, player) {\n const realUrl = url || record.url;\n const newChannels = [...channels];\n newChannels[activeIndex].channelIndex = index;\n newChannels[activeIndex].startTime = record.beginTime;\n newChannels[activeIndex].endTime = record.endTime;\n newChannels[activeIndex].tagId = '';\n newChannels[activeIndex].url = realUrl;\n newChannels[activeIndex].originalUrl =\n record.originalUrl || newChannels[activeIndex].originalUrl;\n newChannels[activeIndex].player = player || record.player;\n setChannels(newChannels);\n }\n // vtx_ws单独调用接口播放\n if (record.player === 'vtx_ws') {\n if (['ISC', 'ICM'].includes(record.hkType)) {\n const rtspUrl = getVtxWsUrl(record.originalUrl || record.url, getVtxWSTimeString(record.beginTime), getVtxWSTimeString(record.endTime));\n GetVtxWsUrl({\n rtspUrl,\n token: getVtxToken('token'),\n }).then((data) => {\n deal(data, 'vtx_ws');\n });\n }\n else {\n deal();\n }\n }\n else if (['bd'].includes(record.hkType) ||\n ['hk_ws', 'web3.4', 'web3.0'].includes(record.player)) {\n if (['web3.4', 'web3.0'].includes(record.player)) {\n const player = getPlayer === null || getPlayer === void 0 ? void 0 : getPlayer(activeIndex);\n (_a = player === null || player === void 0 ? void 0 : player.playBackByTime) === null || _a === void 0 ? void 0 : _a.call(player, record.beginTime, record.endTime);\n const newChannels = [...channels];\n newChannels[activeIndex].channelIndex = index;\n newChannels[activeIndex].index = index;\n newChannels[activeIndex].startTime = record.beginTime;\n newChannels[activeIndex].endTime = record.endTime;\n newChannels[activeIndex].tagId = '';\n setChannels(newChannels);\n return;\n }\n deal();\n }\n else {\n GetHKV2Url({\n code: record.code,\n beginTime: record.beginTime,\n endTime: record.endTime,\n deviceId: record.deviceId,\n channelNum: record.channelNum,\n tenantId: getVtxToken('tenantId'),\n }).then((data) => {\n deal(data === null || data === void 0 ? void 0 : data.playbackUrl, (data === null || data === void 0 ? void 0 : data.player) || '');\n });\n }\n }\n });\n return (_jsx(_Fragment, { children: Array.isArray(realChannels) && (realChannels === null || realChannels === void 0 ? void 0 : realChannels.length) > 0 ? (_jsxs(\"div\", Object.assign({ className: \"collapse-controls\" }, { children: [_jsx(\"div\", Object.assign({ className: \"action-bar\" }, getToggleProps({}), { children: _jsx(\"img\", { src: collapseBtnImg, alt: \"\", style: { transform: `rotate(${isExpanded ? 180 : 0}deg)` } }) })), _jsx(\"section\", Object.assign({ className: \"collapse-panel-container\" }, getCollapseProps(), { children: _jsxs(\"div\", Object.assign({ className: \"panels\" }, { children: [_jsx(\"div\", Object.assign({ className: \"time-panel\" }, { children: (((_a = realChannels[activeIndex]) === null || _a === void 0 ? void 0 : _a.player) === 'vtx_ws'\n ? ['ISC', 'ICM'].includes((_b = realChannels[activeIndex]) === null || _b === void 0 ? void 0 : _b.hkType)\n : true) && (_jsxs(_Fragment, { children: [_jsxs(\"div\", Object.assign({ className: \"segments\", ref: segmentsRef }, { children: [_jsx(TimeVerticalLine, { getRef: getRef, history: channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData, channelName: channels === null || channels === void 0 ? void 0 : channels[activeIndex].channelName, onClick: (index, startTime, endTime) => {\n var _a, _b;\n const newChannels = [...channels];\n const originalUrl = (_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData) === null || _a === void 0 ? void 0 : _a.originalUrl;\n const player = channels[activeIndex].player;\n const sT = moment(startTime).format(TimeFormat.params); // 当前点击的时间\n const eT = moment(endTime).format(TimeFormat.params); // 分段的结束时间\n newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), { channelIndex: index, index, startTime: sT, endTime: eT, tagId: '' });\n if (player === 'vtx_ws') {\n const rtspUrl = getVtxWsUrl(originalUrl, sT, eT);\n GetVtxWsUrl({\n rtspUrl,\n token: getVtxToken('token'),\n }).then((data) => {\n if (data) {\n newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), { startTime: sT, url: data });\n setChannels(newChannels);\n }\n });\n }\n else if (['web3.4', 'web3.0'].includes(player)) {\n const currentPlayer = getPlayer === null || getPlayer === void 0 ? void 0 : getPlayer(activeIndex);\n (_b = currentPlayer === null || currentPlayer === void 0 ? void 0 : currentPlayer.playBackByTime) === null || _b === void 0 ? void 0 : _b.call(currentPlayer, sT, eT);\n setChannels(newChannels);\n }\n else if (player !== 'bd' &&\n player !== 'hk_ws') {\n const { deviceId, channelNum, index, tableList, } = newChannels === null || newChannels === void 0 ? void 0 : newChannels[activeIndex];\n GetHKV2Url({\n beginTime: sT,\n endTime: eT,\n deviceId,\n channelNum,\n tenantId: getVtxToken('tenantId'),\n }).then((data) => {\n let idx = index; //列表下标\n tableList === null || tableList === void 0 ? void 0 : tableList.forEach((ele) => {\n if (moment(sT).valueOf() >=\n moment(ele.beginTime).valueOf() &&\n moment(eT).valueOf() <=\n moment(ele.endTime).valueOf()) {\n idx = ele.index - 1;\n }\n });\n if (data) {\n const list = cloneDeep(newChannels);\n list[activeIndex] = Object.assign(Object.assign({}, list[activeIndex]), { startTime: sT, url: data.playbackUrl, channelIndex: idx });\n setChannels(list);\n }\n });\n }\n else {\n setChannels(newChannels);\n }\n }, seekTo: () => {\n //\n } }), getSegments(channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData)] })), _jsxs(_Fragment, { children: [timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: {\n left: `${timeLinePosition}%`,\n } })), _jsx(TimeLine, {})] })] })) })), _jsxs(\"div\", Object.assign({ style: { display: 'flex' } }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left\" }, { children: [_jsx(\"div\", Object.assign({ className: \"panels-left-title\" }, { children: formatMessage(messages.historyControl.videoChannelCount, {\n count: realChannels === null || realChannels === void 0 ? void 0 : realChannels.length,\n }) })), _jsx(\"div\", Object.assign({ className: \"panels-left-wrap\" }, { children: realChannels.map((item, index) => {\n return (_jsx(\"div\", Object.assign({ className: `${activeIndex == index\n ? 'panels-left-content-active'\n : ''} panels-left-content`, onClick: () => {\n setActiveIndex(item.channelIndex);\n // icc_ws直接播放\n if (item.player === 'icc_ws') {\n //\n }\n } }, { children: _jsx(Tooltip, Object.assign({ title: `${item.channelName}` }, { children: `${item.channelName}` })) }), `${item.deviceId}${item.channelNum}`));\n }) }))] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\", style: { flex: 1, overflow: 'hidden', width: `100%` } }, { children: _jsx(VideoTable, { tableList: (channels === null || channels === void 0 ? void 0 : channels[activeIndex].tableList) || [], currentIndex: (_c = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _c === void 0 ? void 0 : _c.channelIndex, getActivePlayer: () => getPlayer === null || getPlayer === void 0 ? void 0 : getPlayer(activeIndex), activeChannel: channels === null || channels === void 0 ? void 0 : channels[activeIndex], hkType: (_d = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _d === void 0 ? void 0 : _d.hkType, onPlay: onPlay }) }))] }))] })) }))] }))) : null }));\n});\nconst TimeLine = () => {\n const getSplitLines = () => {\n const result = [];\n const step = 100 / 24;\n for (let i = 0; i < 25; i++) {\n const element = (_jsx(\"div\", Object.assign({ className: \"line\", style: { left: `${step * i}%` } }, { children: _jsx(\"div\", Object.assign({ className: \"number\" }, { children: i >= 10 ? i : '0' + i })) }), i));\n result.push(element);\n }\n return result;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"time-axis\" }, { children: [_jsx(\"div\", { className: \"axis\" }), _jsx(\"div\", Object.assign({ className: \"split-lines\" }, { children: getSplitLines() }))] })));\n};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, onClick, seekTo, channelName, }) => {\n var _a;\n const mouse = useMouse(getRef());\n const { elementX, elementY, elementW, elementH } = mouse;\n const visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;\n // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。\n const percent = elementX / elementW;\n const time = moment(moment(history.start).valueOf() + percent * ONEDAY_MILL).format(TimeFormat.params);\n let flag = false, playStart = -1, playEnd = -1, index = -1;\n const now = moment(time).valueOf();\n for (let i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {\n const begin = moment(history.list[i].beginTime).valueOf(), end = moment(history.list[i].endTime).valueOf();\n if (now >= begin && now <= end) {\n index = i;\n // url = history.list[i].playbackUrl;\n playStart = now;\n playEnd = end;\n flag = true;\n break;\n }\n }\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: `${channelName || ''} ${time}` }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => {\n onClick(index, playStart, playEnd);\n seekTo && seekTo(time);\n } }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => {\n onClick(index, playStart, playEnd);\n seekTo && seekTo(time);\n } }))) : (_jsx(_Fragment, {}));\n};\nconst getSegments = (props) => {\n const { list = [], start, end } = props;\n const startTime = moment(start);\n const endTime = moment(end);\n const total = endTime.diff(startTime, 'seconds'); // 总时间\n const result = list === null || list === void 0 ? void 0 : list.map((i, index) => {\n const itemStart = moment(i.beginTime).diff(startTime, 'seconds') > 0 ? moment(i.beginTime) : startTime;\n const itemEnd = moment(i.endTime);\n const itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间\n const width = (itemTotal / total) * 100; // 分段时间占总时间百分比\n const left = (itemStart.diff(startTime, 'seconds') / total) * 100; // 分段其实时间\n return (_jsx(\"div\", { className: \"segment\", style: { width: `${width}%`, left: `${left < 0 ? 0 : left}%` } }, `${i.beginTime}_${index}`));\n });\n return result;\n};\nHistoryControlV2Panel.displayName = 'HistoryControlV2Panel';\nexport default memo(HistoryControlV2Panel);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_reactCollapsed","_interopRequireDefault","_api","_icons","_locales","_utils","_context","_collapse","_utils2","_utils3","_ahooks","_message","_tooltip","_cloneDeep","_moment","_VideoTable","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","n","isSameDayRecord","record","beginTime","parseHistoryTime","endTime","isValid","isSame","normalizeHistoryItem","item","channel","_a","_b","_c","_d","_e","_f","_g","list","moment","diff","filter","HistoryControlV2Panel","exports","forwardRef","props","ref","_useContext","useContext","historyControlV2Context","channels","setChannels","setLoading","activeIndex","setActiveIndex","timeLinePosition","messages","getLocaleMessages","realChannels","channelNum","segmentsRef","useRef","getRef","current","onVideoClose","_props$bottomDefaultE","bottomDefaultExpand","getPlayer","_useCollapse","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","_useRequest","useRequest","getHistoryUrls","manual","runAsync","_useRequest2","getPlaybackUrlSingle","GetHKV2Url","_useRequest3","getPlaybackUrlVtxWs","GetVtxWsUrl","loadData","deviceChannels","JSON","stringify","protocol","token","getVtxToken","then","res","message","info","historyControl","maxChannels","newIds","map","concat","deviceId","newChannels","index","includes","Object","assign","channelIndex","DEFAULT_PLAY_PARAMS","fetchArr","fetchIndexArr","_h","player","findIndex","v","url","startTime","streamType","deviceCode","deviceIp","devicePort","result","find","citem","isClose","tagId","data","getChannelData","hkType","singleUrl","push","code","tenantId","error","noExtraPlayPosition","Promise","all","forEach","playbackUrl","console","noVideo","useImperativeHandle","load","onPlay","useMemoizedFn","active","deal","realUrl","originalUrl","rtspUrl","getVtxWsUrl","getVtxWSTimeString","playBackByTime","_jsx","_Fragment","children","_jsxs","className","src","collapseBtnImg","alt","style","transform","TimeVerticalLine","history","segmentData","channelName","onClick","sT","format","TimeFormat","params","eT","baseUrl","_ref","tableList","idx","ele","valueOf","cloneDeep","currentPlayer","_ref2","seekTo","getSegments","TimePositionIcon","left","TimeLine","display","formatMessage","videoChannelCount","count","Tooltip","title","flex","overflow","width","VideoTable","currentIndex","getActivePlayer","activeChannel","getSplitLines","step","i","element","ONEDAY_MILL","_ref3","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","time","start","flag","playStart","playEnd","now","begin","end","_props$list","total","itemStart","itemEnd","itemTotal","displayName","_default","memo"],"sources":["history-control-v2/components/panel/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, memo, useContext, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrls, getPlaybackUrlSingle, getPlaybackUrlVtxWs } from '../../../api';\nimport { TimePositionIcon } from '../../../icons';\nimport { formatMessage, getLocaleMessages } from '../../../locales';\nimport { TimeFormat, getVtxWSTimeString } from '../../../utils';\nimport { historyControlV2Context } from '../../context';\nimport collapseBtnImg from '../../images/collapse.png';\nimport { DEFAULT_PLAY_PARAMS, getChannelData, getVtxWsUrl, parseHistoryTime } from '../../utils';\nimport { getVtxToken } from '@vtx/utils';\nimport { useMemoizedFn, useMouse, useRequest } from 'ahooks';\nimport message from 'antd/lib/message';\nimport Tooltip from 'antd/lib/tooltip';\nimport cloneDeep from 'lodash/cloneDeep';\nimport moment from 'moment';\nimport VideoTable from './VideoTable';\nconst isSameDayRecord = (record) => {\n const beginTime = parseHistoryTime(record.beginTime);\n const endTime = parseHistoryTime(record.endTime);\n return beginTime.isValid() && endTime.isValid() && beginTime.isSame(endTime, 'day');\n};\nconst normalizeHistoryItem = (item, channel) => {\n var _a, _b, _c, _d, _e, _f, _g;\n /**\n * 优化第一条数据的开始时间不要早于请求的开始时间\n * 最后一条的结束时间不要晚于请求的结束时间\n */\n if ((_a = item.list) === null || _a === void 0 ? void 0 : _a.length) {\n if (moment((_c = (_b = item.list) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.beginTime).diff(moment(channel.beginTime), 'seconds') < 0) {\n item.list[0].beginTime = channel.beginTime;\n }\n if (moment((_e = (_d = item.list) === null || _d === void 0 ? void 0 : _d[item.list.length - 1]) === null || _e === void 0 ? void 0 : _e.endTime).diff(moment(channel.endTime), 'seconds') > 0) {\n item.list[item.list.length - 1].endTime = channel.endTime;\n }\n }\n item.list = (_g = (_f = item.list) === null || _f === void 0 ? void 0 : _f.filter) === null || _g === void 0 ? void 0 : _g.call(_f, (record) => !!record.beginTime && !!record.endTime && isSameDayRecord(record));\n};\nexport const HistoryControlV2Panel = forwardRef((props, ref) => {\n var _a, _b, _c, _d;\n const { channels, setChannels, setLoading, activeIndex, setActiveIndex, timeLinePosition } = useContext(historyControlV2Context);\n const messages = getLocaleMessages();\n const realChannels = channels.filter((item) => item.channelNum !== '');\n const segmentsRef = useRef(null);\n const getRef = () => {\n return segmentsRef.current;\n };\n const { onVideoClose, bottomDefaultExpand = true, getPlayer } = props;\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: bottomDefaultExpand, // 默认展开\n });\n const { runAsync } = useRequest(getHistoryUrls, {\n manual: true,\n });\n const { runAsync: GetHKV2Url } = useRequest(getPlaybackUrlSingle, {\n manual: true,\n });\n const { runAsync: GetVtxWsUrl } = useRequest(getPlaybackUrlVtxWs, {\n manual: true,\n });\n const loadData = (channel) => {\n setLoading(true);\n runAsync({\n deviceChannels: JSON.stringify(channel.deviceChannels),\n protocol: channel.protocol,\n beginTime: channel.beginTime,\n endTime: channel.endTime,\n token: getVtxToken('token'),\n }).then((res) => {\n setLoading(false);\n if (Array.isArray(res)) {\n if (res.length > 25) {\n message.info(messages.historyControl.maxChannels);\n }\n const newIds = [...res].map((item) => {\n return `${item.deviceId}${item.channelNum}`;\n });\n const newChannels = [...channels];\n channels.map((item, index) => {\n if (!newIds.includes(`${item.deviceId}${item.channelNum}`)) {\n newChannels[index] = Object.assign(Object.assign({ channelIndex: index }, DEFAULT_PLAY_PARAMS), item);\n }\n });\n const fetchArr = [], fetchIndexArr = [];\n res.filter((item, index) => index < 25).map((item) => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (item.player === 'icc_ws') {\n const channelIndex = newChannels.findIndex((v) => !v.url);\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), { url: 'icc_ws', startTime: channel.beginTime, endTime: channel.endTime, streamType: item.streamType, deviceCode: item.deviceCode, deviceId: item.deviceId, deviceIp: item.deviceIp, devicePort: item.devicePort, channelNum: item.channelNum, player: 'icc_ws' });\n return;\n }\n normalizeHistoryItem(item, channel);\n const result = newChannels.find((citem) => citem.deviceId === item.deviceId && citem.channelNum === item.channelNum);\n if (result) {\n const isClose = newChannels[result.channelIndex].index === -1 &&\n newChannels[result.channelIndex].tagId === '';\n const data = getChannelData(item, channel);\n newChannels[result.channelIndex] = Object.assign(Object.assign(Object.assign({}, newChannels[result.channelIndex]), { \n // 如果当前既没有播放列表 又没有播放标签 再 开始以第一个播放\n index: isClose ? 0 : newChannels[result.channelIndex].index, startTime: isClose\n ? ((_b = (_a = item.list) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.beginTime) || channel.beginTime\n : (_c = newChannels[result.channelIndex].startTime) !== null && _c !== void 0 ? _c : channel.beginTime, endTime: isClose\n ? ((_e = (_d = item.list) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.beginTime) || channel.beginTime\n : (_f = newChannels[result.channelIndex].endTime) !== null && _f !== void 0 ? _f : channel.endTime }), data);\n }\n else {\n const channelIndex = (_h = (_g = newChannels.filter((item) => item.channelNum === '')) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.channelIndex;\n if (typeof channelIndex == 'number') {\n const data = getChannelData(item, channel);\n if (['HK_CAR_CLOUD_V2'].includes(data.hkType) || data.singleUrl) {\n fetchArr.push(GetHKV2Url({\n code: data.code,\n beginTime: data.startTime,\n endTime: data.endTime,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n tenantId: getVtxToken('tenantId'),\n }));\n fetchIndexArr.push(channelIndex);\n }\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), data);\n }\n else {\n message.error(messages.historyControl.noExtraPlayPosition);\n }\n }\n });\n if (fetchArr === null || fetchArr === void 0 ? void 0 : fetchArr.length) {\n Promise.all(fetchArr)\n .then((data) => {\n data.forEach((e, index) => {\n newChannels[fetchIndexArr[index]] = Object.assign(Object.assign({}, newChannels[fetchIndexArr[index]]), { url: e.playbackUrl, player: (e === null || e === void 0 ? void 0 : e.player) || '' });\n });\n setChannels(newChannels);\n })\n .catch((error) => {\n console.error('Promise.all 失败:', error); // 添加错误处理\n // 查看具体是哪个请求失败了\n });\n }\n else {\n setChannels(newChannels);\n }\n }\n else {\n message.info(messages.historyControl.noVideo);\n }\n setLoading(false);\n });\n };\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n loadData(channel);\n },\n };\n });\n const onPlay = useMemoizedFn((active, record, index) => {\n var _a;\n if (active) {\n const newChannels = [...channels];\n newChannels[activeIndex].index = -1;\n newChannels[activeIndex].startTime = '';\n newChannels[activeIndex].endTime = '';\n setActiveIndex(activeIndex - 1 > 0 ? activeIndex - 1 : 0);\n setChannels(newChannels);\n onVideoClose && onVideoClose(newChannels[activeIndex]);\n }\n else {\n // eslint-disable-next-line no-inner-declarations\n function deal(url, player) {\n const realUrl = url || record.url;\n const newChannels = [...channels];\n newChannels[activeIndex].channelIndex = index;\n newChannels[activeIndex].startTime = record.beginTime;\n newChannels[activeIndex].endTime = record.endTime;\n newChannels[activeIndex].tagId = '';\n newChannels[activeIndex].url = realUrl;\n newChannels[activeIndex].originalUrl =\n record.originalUrl || newChannels[activeIndex].originalUrl;\n newChannels[activeIndex].player = player || record.player;\n setChannels(newChannels);\n }\n // vtx_ws单独调用接口播放\n if (record.player === 'vtx_ws') {\n if (['ISC', 'ICM'].includes(record.hkType)) {\n const rtspUrl = getVtxWsUrl(record.originalUrl || record.url, getVtxWSTimeString(record.beginTime), getVtxWSTimeString(record.endTime));\n GetVtxWsUrl({\n rtspUrl,\n token: getVtxToken('token'),\n }).then((data) => {\n deal(data, 'vtx_ws');\n });\n }\n else if (['DHICC'].includes(record.hkType)) {\n GetHKV2Url({\n code: record.code,\n beginTime: record.beginTime,\n endTime: record.endTime,\n deviceId: record.deviceId,\n channelNum: record.channelNum,\n tenantId: getVtxToken('tenantId'),\n }).then((data) => {\n deal(data.playbackUrl, 'vtx_ws');\n });\n }\n else {\n deal();\n }\n }\n else if (['bd'].includes(record.hkType) ||\n ['hk_ws', 'web3.4', 'web3.0'].includes(record.player)) {\n if (['web3.4', 'web3.0'].includes(record.player)) {\n const player = getPlayer === null || getPlayer === void 0 ? void 0 : getPlayer(activeIndex);\n (_a = player === null || player === void 0 ? void 0 : player.playBackByTime) === null || _a === void 0 ? void 0 : _a.call(player, record.beginTime, record.endTime);\n const newChannels = [...channels];\n newChannels[activeIndex].channelIndex = index;\n newChannels[activeIndex].index = index;\n newChannels[activeIndex].startTime = record.beginTime;\n newChannels[activeIndex].endTime = record.endTime;\n newChannels[activeIndex].tagId = '';\n setChannels(newChannels);\n return;\n }\n deal();\n }\n else {\n GetHKV2Url({\n code: record.code,\n beginTime: record.beginTime,\n endTime: record.endTime,\n deviceId: record.deviceId,\n channelNum: record.channelNum,\n tenantId: getVtxToken('tenantId'),\n }).then((data) => {\n deal(data === null || data === void 0 ? void 0 : data.playbackUrl, (data === null || data === void 0 ? void 0 : data.player) || '');\n });\n }\n }\n });\n return (_jsx(_Fragment, { children: Array.isArray(realChannels) && (realChannels === null || realChannels === void 0 ? void 0 : realChannels.length) > 0 ? (_jsxs(\"div\", Object.assign({ className: \"collapse-controls\" }, { children: [_jsx(\"div\", Object.assign({ className: \"action-bar\" }, getToggleProps({}), { children: _jsx(\"img\", { src: collapseBtnImg, alt: \"\", style: { transform: `rotate(${isExpanded ? 180 : 0}deg)` } }) })), _jsx(\"section\", Object.assign({ className: \"collapse-panel-container\" }, getCollapseProps(), { children: _jsxs(\"div\", Object.assign({ className: \"panels\" }, { children: [_jsx(\"div\", Object.assign({ className: \"time-panel\" }, { children: (((_a = realChannels[activeIndex]) === null || _a === void 0 ? void 0 : _a.player) === 'vtx_ws'\n ? ['ISC', 'ICM', 'DHICC'].includes((_b = realChannels[activeIndex]) === null || _b === void 0 ? void 0 : _b.hkType)\n : true) && (_jsxs(_Fragment, { children: [_jsxs(\"div\", Object.assign({ className: \"segments\", ref: segmentsRef }, { children: [_jsx(TimeVerticalLine, { getRef: getRef, history: channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData, channelName: channels === null || channels === void 0 ? void 0 : channels[activeIndex].channelName, onClick: (index, startTime, endTime, playbackUrl, code) => {\n var _a, _b;\n const newChannels = [...channels];\n const originalUrl = (_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData) === null || _a === void 0 ? void 0 : _a.originalUrl;\n const player = channels[activeIndex].player;\n const hkType = channels[activeIndex].hkType;\n const sT = moment(startTime).format(TimeFormat.params); // 当前点击的时间\n const eT = moment(endTime).format(TimeFormat.params); // 分段的结束时间\n newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), { channelIndex: index, index, startTime: sT, endTime: eT, tagId: '' });\n if (player === 'vtx_ws') {\n const baseUrl = playbackUrl || originalUrl;\n if (!baseUrl) {\n setChannels(newChannels);\n return;\n }\n if (['DHICC'].includes(hkType)) {\n const { deviceId, channelNum, index, tableList, } = newChannels[activeIndex] || {};\n GetHKV2Url({\n beginTime: sT,\n endTime: eT,\n deviceId,\n channelNum,\n tenantId: getVtxToken('tenantId'),\n code,\n }).then((data) => {\n let idx = index; //列表下标\n tableList === null || tableList === void 0 ? void 0 : tableList.forEach((ele) => {\n if (moment(sT).valueOf() >=\n moment(ele.beginTime).valueOf() &&\n moment(eT).valueOf() <=\n moment(ele.endTime).valueOf()) {\n idx = ele.index - 1;\n }\n });\n if (data) {\n const list = cloneDeep(newChannels);\n list[activeIndex] = Object.assign(Object.assign({}, list[activeIndex]), { startTime: sT, url: data.playbackUrl, channelIndex: idx });\n setChannels(list);\n }\n });\n return;\n }\n if (!['ISC', 'ICM'].includes(hkType)) {\n newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), { url: baseUrl });\n setChannels(newChannels);\n return;\n }\n const rtspUrl = getVtxWsUrl(baseUrl, sT, eT);\n GetVtxWsUrl({\n rtspUrl,\n token: getVtxToken('token'),\n }).then((data) => {\n if (data) {\n newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), { startTime: sT, url: data });\n setChannels(newChannels);\n }\n });\n }\n else if (['web3.4', 'web3.0'].includes(player)) {\n const currentPlayer = getPlayer === null || getPlayer === void 0 ? void 0 : getPlayer(activeIndex);\n (_b = currentPlayer === null || currentPlayer === void 0 ? void 0 : currentPlayer.playBackByTime) === null || _b === void 0 ? void 0 : _b.call(currentPlayer, sT, eT);\n setChannels(newChannels);\n }\n else if (player !== 'bd' &&\n player !== 'hk_ws') {\n const { deviceId, channelNum, index, tableList, } = newChannels[activeIndex] || {};\n GetHKV2Url({\n beginTime: sT,\n endTime: eT,\n deviceId,\n channelNum,\n tenantId: getVtxToken('tenantId'),\n code,\n }).then((data) => {\n let idx = index; //列表下标\n tableList === null || tableList === void 0 ? void 0 : tableList.forEach((ele) => {\n if (moment(sT).valueOf() >=\n moment(ele.beginTime).valueOf() &&\n moment(eT).valueOf() <=\n moment(ele.endTime).valueOf()) {\n idx = ele.index - 1;\n }\n });\n if (data) {\n const list = cloneDeep(newChannels);\n list[activeIndex] = Object.assign(Object.assign({}, list[activeIndex]), { startTime: sT, url: data.playbackUrl, channelIndex: idx });\n setChannels(list);\n }\n });\n }\n else {\n setChannels(newChannels);\n }\n }, seekTo: () => {\n //\n } }), getSegments(channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData)] })), _jsxs(_Fragment, { children: [timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: {\n left: `${timeLinePosition}%`,\n } })), _jsx(TimeLine, {})] })] })) })), _jsxs(\"div\", Object.assign({ style: { display: 'flex' } }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left\" }, { children: [_jsx(\"div\", Object.assign({ className: \"panels-left-title\" }, { children: formatMessage(messages.historyControl.videoChannelCount, {\n count: realChannels === null || realChannels === void 0 ? void 0 : realChannels.length,\n }) })), _jsx(\"div\", Object.assign({ className: \"panels-left-wrap\" }, { children: realChannels.map((item, index) => {\n return (_jsx(\"div\", Object.assign({ className: `${activeIndex == index\n ? 'panels-left-content-active'\n : ''} panels-left-content`, onClick: () => {\n setActiveIndex(item.channelIndex);\n // icc_ws直接播放\n if (item.player === 'icc_ws') {\n //\n }\n } }, { children: _jsx(Tooltip, Object.assign({ title: `${item.channelName}` }, { children: `${item.channelName}` })) }), `${item.deviceId}${item.channelNum}`));\n }) }))] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\", style: { flex: 1, overflow: 'hidden', width: `100%` } }, { children: _jsx(VideoTable, { tableList: (channels === null || channels === void 0 ? void 0 : channels[activeIndex].tableList) || [], currentIndex: (_c = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _c === void 0 ? void 0 : _c.channelIndex, getActivePlayer: () => getPlayer === null || getPlayer === void 0 ? void 0 : getPlayer(activeIndex), activeChannel: channels === null || channels === void 0 ? void 0 : channels[activeIndex], hkType: (_d = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _d === void 0 ? void 0 : _d.hkType, onPlay: onPlay }) }))] }))] })) }))] }))) : null }));\n});\nconst TimeLine = () => {\n const getSplitLines = () => {\n const result = [];\n const step = 100 / 24;\n for (let i = 0; i < 25; i++) {\n const element = (_jsx(\"div\", Object.assign({ className: \"line\", style: { left: `${step * i}%` } }, { children: _jsx(\"div\", Object.assign({ className: \"number\" }, { children: i >= 10 ? i : '0' + i })) }), i));\n result.push(element);\n }\n return result;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"time-axis\" }, { children: [_jsx(\"div\", { className: \"axis\" }), _jsx(\"div\", Object.assign({ className: \"split-lines\" }, { children: getSplitLines() }))] })));\n};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, onClick, seekTo, channelName, }) => {\n var _a;\n const mouse = useMouse(getRef());\n const { elementX, elementY, elementW, elementH } = mouse;\n const visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;\n // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。\n const percent = elementX / elementW;\n const time = moment(moment(history.start).valueOf() + percent * ONEDAY_MILL).format(TimeFormat.params);\n let flag = false, playStart = -1, playEnd = -1, index = -1, code = '', playbackUrl;\n const now = moment(time).valueOf();\n for (let i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {\n const record = history.list[i];\n const begin = parseHistoryTime(record.beginTime).valueOf(), end = parseHistoryTime(record.endTime).valueOf();\n if (now >= begin && now <= end) {\n index = i;\n playbackUrl = record.playbackUrl || record.url;\n playStart = now;\n playEnd = end;\n code = record.code;\n flag = true;\n break;\n }\n }\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: `${channelName || ''} ${time}` }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => {\n onClick(index, playStart, playEnd, playbackUrl, code);\n seekTo && seekTo(time);\n } }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => {\n onClick(index, playStart, playEnd, playbackUrl, code);\n seekTo && seekTo(time);\n } }))) : (_jsx(_Fragment, {}));\n};\nconst getSegments = (props) => {\n const { list = [], start, end } = props;\n const startTime = moment(start);\n const endTime = moment(end);\n const total = endTime.diff(startTime, 'seconds'); // 总时间\n const result = list === null || list === void 0 ? void 0 : list.map((i, index) => {\n const beginTime = parseHistoryTime(i.beginTime);\n const endTime = parseHistoryTime(i.endTime);\n const itemStart = beginTime.diff(startTime, 'seconds') > 0 ? beginTime : startTime;\n const itemEnd = endTime;\n const itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间\n const width = (itemTotal / total) * 100; // 分段时间占总时间百分比\n const left = (itemStart.diff(startTime, 'seconds') / total) * 100; // 分段其实时间\n return (_jsx(\"div\", { className: \"segment\", style: { width: `${width}%`, left: `${left < 0 ? 0 : left}%` } }, `${i.beginTime}_${index}`));\n });\n return result;\n};\nHistoryControlV2Panel.displayName = 'HistoryControlV2Panel';\nexport default memo(HistoryControlV2Panel);\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,IAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAN,sBAAA,CAAAH,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AACA,IAAAa,QAAA,GAAAV,sBAAA,CAAAH,OAAA;AACA,IAAAc,QAAA,GAAAX,sBAAA,CAAAH,OAAA;AACA,IAAAe,UAAA,GAAAZ,sBAAA,CAAAH,OAAA;AACA,IAAAgB,OAAA,GAAAb,sBAAA,CAAAH,OAAA;AACA,IAAAiB,WAAA,GAAAd,sBAAA,CAAAH,OAAA;AAAsC,SAAAG,uBAAAe,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAE,mBAAAC,CAAA,WAAAC,kBAAA,CAAAD,CAAA,KAAAE,gBAAA,CAAAF,CAAA,KAAAG,2BAAA,CAAAH,CAAA,KAAAI,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAH,CAAA,EAAAM,CAAA,QAAAN,CAAA,2BAAAA,CAAA,SAAAO,iBAAA,CAAAP,CAAA,EAAAM,CAAA,OAAAE,CAAA,MAAAC,QAAA,CAAAC,IAAA,CAAAV,CAAA,EAAAW,KAAA,6BAAAH,CAAA,IAAAR,CAAA,CAAAY,WAAA,KAAAJ,CAAA,GAAAR,CAAA,CAAAY,WAAA,CAAAC,IAAA,aAAAL,CAAA,cAAAA,CAAA,GAAAM,KAAA,CAAAC,IAAA,CAAAf,CAAA,oBAAAQ,CAAA,+CAAAQ,IAAA,CAAAR,CAAA,IAAAD,iBAAA,CAAAP,CAAA,EAAAM,CAAA;AAAA,SAAAJ,iBAAAF,CAAA,8BAAAiB,MAAA,YAAAjB,CAAA,CAAAiB,MAAA,CAAAC,QAAA,aAAAlB,CAAA,uBAAAc,KAAA,CAAAC,IAAA,CAAAf,CAAA;AAAA,SAAAC,mBAAAD,CAAA,QAAAc,KAAA,CAAAK,OAAA,CAAAnB,CAAA,UAAAO,iBAAA,CAAAP,CAAA;AAAA,SAAAO,kBAAAP,CAAA,EAAAM,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAN,CAAA,CAAAoB,MAAA,MAAAd,CAAA,GAAAN,CAAA,CAAAoB,MAAA,YAAAvB,CAAA,MAAAwB,CAAA,GAAAP,KAAA,CAAAR,CAAA,GAAAT,CAAA,GAAAS,CAAA,EAAAT,CAAA,IAAAwB,CAAA,CAAAxB,CAAA,IAAAG,CAAA,CAAAH,CAAA,UAAAwB,CAAA;AACtC,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,MAAM,EAAK;EAChC,IAAMC,SAAS,GAAG,IAAAC,wBAAgB,EAACF,MAAM,CAACC,SAAS,CAAC;EACpD,IAAME,OAAO,GAAG,IAAAD,wBAAgB,EAACF,MAAM,CAACG,OAAO,CAAC;EAChD,OAAOF,SAAS,CAACG,OAAO,CAAC,CAAC,IAAID,OAAO,CAACC,OAAO,CAAC,CAAC,IAAIH,SAAS,CAACI,MAAM,CAACF,OAAO,EAAE,KAAK,CAAC;AACvF,CAAC;AACD,IAAMG,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,IAAI,EAAEC,OAAO,EAAK;EAC5C,IAAIC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE;EAC9B;AACJ;AACA;AACA;EACI,IAAI,CAACN,EAAE,GAAGF,IAAI,CAACS,IAAI,MAAM,IAAI,IAAIP,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACZ,MAAM,EAAE;IACjE,IAAI,IAAAoB,kBAAM,EAAC,CAACN,EAAE,GAAG,CAACD,EAAE,GAAGH,IAAI,CAACS,IAAI,MAAM,IAAI,IAAIN,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAIC,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACV,SAAS,CAAC,CAACiB,IAAI,CAAC,IAAAD,kBAAM,EAACT,OAAO,CAACP,SAAS,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE;MAC7KM,IAAI,CAACS,IAAI,CAAC,CAAC,CAAC,CAACf,SAAS,GAAGO,OAAO,CAACP,SAAS;IAC9C;IACA,IAAI,IAAAgB,kBAAM,EAAC,CAACJ,EAAE,GAAG,CAACD,EAAE,GAAGL,IAAI,CAACS,IAAI,MAAM,IAAI,IAAIJ,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACL,IAAI,CAACS,IAAI,CAACnB,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,IAAIgB,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACV,OAAO,CAAC,CAACe,IAAI,CAAC,IAAAD,kBAAM,EAACT,OAAO,CAACL,OAAO,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE;MAC5LI,IAAI,CAACS,IAAI,CAACT,IAAI,CAACS,IAAI,CAACnB,MAAM,GAAG,CAAC,CAAC,CAACM,OAAO,GAAGK,OAAO,CAACL,OAAO;IAC7D;EACJ;EACAI,IAAI,CAACS,IAAI,GAAG,CAACD,EAAE,GAAG,CAACD,EAAE,GAAGP,IAAI,CAACS,IAAI,MAAM,IAAI,IAAIF,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACK,MAAM,MAAM,IAAI,IAAIJ,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAC5B,IAAI,CAAC2B,EAAE,EAAE,UAACd,MAAM;IAAA,OAAK,CAAC,CAACA,MAAM,CAACC,SAAS,IAAI,CAAC,CAACD,MAAM,CAACG,OAAO,IAAIJ,eAAe,CAACC,MAAM,CAAC;EAAA,EAAC;AACtN,CAAC;AACM,IAAMoB,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,gBAAG,IAAAE,iBAAU,EAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;EAC5D,IAAIf,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE;EAClB,IAAAa,WAAA,GAA6F,IAAAC,iBAAU,EAACC,gCAAuB,CAAC;IAAxHC,QAAQ,GAAAH,WAAA,CAARG,QAAQ;IAAEC,WAAW,GAAAJ,WAAA,CAAXI,WAAW;IAAEC,UAAU,GAAAL,WAAA,CAAVK,UAAU;IAAEC,WAAW,GAAAN,WAAA,CAAXM,WAAW;IAAEC,cAAc,GAAAP,WAAA,CAAdO,cAAc;IAAEC,gBAAgB,GAAAR,WAAA,CAAhBQ,gBAAgB;EACxF,IAAMC,QAAQ,GAAG,IAAAC,0BAAiB,EAAC,CAAC;EACpC,IAAMC,YAAY,GAAGR,QAAQ,CAACT,MAAM,CAAC,UAACZ,IAAI;IAAA,OAAKA,IAAI,CAAC8B,UAAU,KAAK,EAAE;EAAA,EAAC;EACtE,IAAMC,WAAW,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EAChC,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAA,EAAS;IACjB,OAAOF,WAAW,CAACG,OAAO;EAC9B,CAAC;EACD,IAAQC,YAAY,GAA4CnB,KAAK,CAA7DmB,YAAY;IAAAC,qBAAA,GAA4CpB,KAAK,CAA/CqB,mBAAmB;IAAnBA,mBAAmB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAEE,SAAS,GAAKtB,KAAK,CAAnBsB,SAAS;EAC3D,IAAAC,YAAA,GAAyD,IAAAC,0BAAW,EAAC;MACjEC,eAAe,EAAEJ,mBAAmB,CAAE;IAC1C,CAAC,CAAC;IAFMK,gBAAgB,GAAAH,YAAA,CAAhBG,gBAAgB;IAAEC,cAAc,GAAAJ,YAAA,CAAdI,cAAc;IAAEC,UAAU,GAAAL,YAAA,CAAVK,UAAU;EAGpD,IAAAC,WAAA,GAAqB,IAAAC,kBAAU,EAACC,mBAAc,EAAE;MAC5CC,MAAM,EAAE;IACZ,CAAC,CAAC;IAFMC,QAAQ,GAAAJ,WAAA,CAARI,QAAQ;EAGhB,IAAAC,YAAA,GAAiC,IAAAJ,kBAAU,EAACK,yBAAoB,EAAE;MAC9DH,MAAM,EAAE;IACZ,CAAC,CAAC;IAFgBI,UAAU,GAAAF,YAAA,CAApBD,QAAQ;EAGhB,IAAAI,YAAA,GAAkC,IAAAP,kBAAU,EAACQ,wBAAmB,EAAE;MAC9DN,MAAM,EAAE;IACZ,CAAC,CAAC;IAFgBO,WAAW,GAAAF,YAAA,CAArBJ,QAAQ;EAGhB,IAAMO,QAAQ,GAAG,SAAXA,QAAQA,CAAIvD,OAAO,EAAK;IAC1BsB,UAAU,CAAC,IAAI,CAAC;IAChB0B,QAAQ,CAAC;MACLQ,cAAc,EAAEC,IAAI,CAACC,SAAS,CAAC1D,OAAO,CAACwD,cAAc,CAAC;MACtDG,QAAQ,EAAE3D,OAAO,CAAC2D,QAAQ;MAC1BlE,SAAS,EAAEO,OAAO,CAACP,SAAS;MAC5BE,OAAO,EAAEK,OAAO,CAACL,OAAO;MACxBiE,KAAK,EAAE,IAAAC,mBAAW,EAAC,OAAO;IAC9B,CAAC,CAAC,CAACC,IAAI,CAAC,UAACC,GAAG,EAAK;MACbzC,UAAU,CAAC,KAAK,CAAC;MACjB,IAAIvC,KAAK,CAACK,OAAO,CAAC2E,GAAG,CAAC,EAAE;QACpB,IAAIA,GAAG,CAAC1E,MAAM,GAAG,EAAE,EAAE;UACjB2E,mBAAO,CAACC,IAAI,CAACvC,QAAQ,CAACwC,cAAc,CAACC,WAAW,CAAC;QACrD;QACA,IAAMC,MAAM,GAAGpG,kBAAA,CAAI+F,GAAG,EAAEM,GAAG,CAAC,UAACtE,IAAI,EAAK;UAClC,UAAAuE,MAAA,CAAUvE,IAAI,CAACwE,QAAQ,EAAAD,MAAA,CAAGvE,IAAI,CAAC8B,UAAU;QAC7C,CAAC,CAAC;QACF,IAAM2C,WAAW,GAAAxG,kBAAA,CAAOoD,QAAQ,CAAC;QACjCA,QAAQ,CAACiD,GAAG,CAAC,UAACtE,IAAI,EAAE0E,KAAK,EAAK;UAC1B,IAAI,CAACL,MAAM,CAACM,QAAQ,IAAAJ,MAAA,CAAIvE,IAAI,CAACwE,QAAQ,EAAAD,MAAA,CAAGvE,IAAI,CAAC8B,UAAU,CAAE,CAAC,EAAE;YACxD2C,WAAW,CAACC,KAAK,CAAC,GAAGE,MAAM,CAACC,MAAM,CAACD,MAAM,CAACC,MAAM,CAAC;cAAEC,YAAY,EAAEJ;YAAM,CAAC,EAAEK,2BAAmB,CAAC,EAAE/E,IAAI,CAAC;UACzG;QACJ,CAAC,CAAC;QACF,IAAMgF,QAAQ,GAAG,EAAE;UAAEC,aAAa,GAAG,EAAE;QACvCjB,GAAG,CAACpD,MAAM,CAAC,UAACZ,IAAI,EAAE0E,KAAK;UAAA,OAAKA,KAAK,GAAG,EAAE;QAAA,EAAC,CAACJ,GAAG,CAAC,UAACtE,IAAI,EAAK;UAClD,IAAIE,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAE0E,EAAE;UAClC,IAAIlF,IAAI,CAACmF,MAAM,KAAK,QAAQ,EAAE;YAC1B,IAAML,YAAY,GAAGL,WAAW,CAACW,SAAS,CAAC,UAACC,CAAC;cAAA,OAAK,CAACA,CAAC,CAACC,GAAG;YAAA,EAAC;YACzDb,WAAW,CAACK,YAAY,CAAC,GAAGF,MAAM,CAACC,MAAM,CAACD,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEJ,WAAW,CAACK,YAAY,CAAC,CAAC,EAAE;cAAEQ,GAAG,EAAE,QAAQ;cAAEC,SAAS,EAAEtF,OAAO,CAACP,SAAS;cAAEE,OAAO,EAAEK,OAAO,CAACL,OAAO;cAAE4F,UAAU,EAAExF,IAAI,CAACwF,UAAU;cAAEC,UAAU,EAAEzF,IAAI,CAACyF,UAAU;cAAEjB,QAAQ,EAAExE,IAAI,CAACwE,QAAQ;cAAEkB,QAAQ,EAAE1F,IAAI,CAAC0F,QAAQ;cAAEC,UAAU,EAAE3F,IAAI,CAAC2F,UAAU;cAAE7D,UAAU,EAAE9B,IAAI,CAAC8B,UAAU;cAAEqD,MAAM,EAAE;YAAS,CAAC,CAAC;YAC1V;UACJ;UACApF,oBAAoB,CAACC,IAAI,EAAEC,OAAO,CAAC;UACnC,IAAM2F,MAAM,GAAGnB,WAAW,CAACoB,IAAI,CAAC,UAACC,KAAK;YAAA,OAAKA,KAAK,CAACtB,QAAQ,KAAKxE,IAAI,CAACwE,QAAQ,IAAIsB,KAAK,CAAChE,UAAU,KAAK9B,IAAI,CAAC8B,UAAU;UAAA,EAAC;UACpH,IAAI8D,MAAM,EAAE;YACR,IAAMG,OAAO,GAAGtB,WAAW,CAACmB,MAAM,CAACd,YAAY,CAAC,CAACJ,KAAK,KAAK,CAAC,CAAC,IACzDD,WAAW,CAACmB,MAAM,CAACd,YAAY,CAAC,CAACkB,KAAK,KAAK,EAAE;YACjD,IAAMC,IAAI,GAAG,IAAAC,sBAAc,EAAClG,IAAI,EAAEC,OAAO,CAAC;YAC1CwE,WAAW,CAACmB,MAAM,CAACd,YAAY,CAAC,GAAGF,MAAM,CAACC,MAAM,CAACD,MAAM,CAACC,MAAM,CAACD,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEJ,WAAW,CAACmB,MAAM,CAACd,YAAY,CAAC,CAAC,EAAE;cAChH;cACAJ,KAAK,EAAEqB,OAAO,GAAG,CAAC,GAAGtB,WAAW,CAACmB,MAAM,CAACd,YAAY,CAAC,CAACJ,KAAK;cAAEa,SAAS,EAAEQ,OAAO,GACzE,CAAC,CAAC5F,EAAE,GAAG,CAACD,EAAE,GAAGF,IAAI,CAACS,IAAI,MAAM,IAAI,IAAIP,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAIC,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACT,SAAS,KAAKO,OAAO,CAACP,SAAS,GAC3I,CAACU,EAAE,GAAGqE,WAAW,CAACmB,MAAM,CAACd,YAAY,CAAC,CAACS,SAAS,MAAM,IAAI,IAAInF,EAAE,KAAK,KAAK,CAAC,GAAGA,EAAE,GAAGH,OAAO,CAACP,SAAS;cAAEE,OAAO,EAAEmG,OAAO,GACtH,CAAC,CAACzF,EAAE,GAAG,CAACD,EAAE,GAAGL,IAAI,CAACS,IAAI,MAAM,IAAI,IAAIJ,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAIC,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACZ,SAAS,KAAKO,OAAO,CAACP,SAAS,GAC3I,CAACa,EAAE,GAAGkE,WAAW,CAACmB,MAAM,CAACd,YAAY,CAAC,CAAClF,OAAO,MAAM,IAAI,IAAIW,EAAE,KAAK,KAAK,CAAC,GAAGA,EAAE,GAAGN,OAAO,CAACL;YAAQ,CAAC,CAAC,EAAEqG,IAAI,CAAC;UACxH,CAAC,MACI;YACD,IAAMnB,aAAY,GAAG,CAACI,EAAE,GAAG,CAAC1E,EAAE,GAAGiE,WAAW,CAAC7D,MAAM,CAAC,UAACZ,IAAI;cAAA,OAAKA,IAAI,CAAC8B,UAAU,KAAK,EAAE;YAAA,EAAC,MAAM,IAAI,IAAItB,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI0E,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACJ,YAAY;YACvL,IAAI,OAAOA,aAAY,IAAI,QAAQ,EAAE;cACjC,IAAMmB,KAAI,GAAG,IAAAC,sBAAc,EAAClG,IAAI,EAAEC,OAAO,CAAC;cAC1C,IAAI,CAAC,iBAAiB,CAAC,CAAC0E,QAAQ,CAACsB,KAAI,CAACE,MAAM,CAAC,IAAIF,KAAI,CAACG,SAAS,EAAE;gBAC7DpB,QAAQ,CAACqB,IAAI,CAACjD,UAAU,CAAC;kBACrBkD,IAAI,EAAEL,KAAI,CAACK,IAAI;kBACf5G,SAAS,EAAEuG,KAAI,CAACV,SAAS;kBACzB3F,OAAO,EAAEqG,KAAI,CAACrG,OAAO;kBACrB4E,QAAQ,EAAEyB,KAAI,CAACzB,QAAQ;kBACvB1C,UAAU,EAAEmE,KAAI,CAACnE,UAAU;kBAC3ByE,QAAQ,EAAE,IAAAzC,mBAAW,EAAC,UAAU;gBACpC,CAAC,CAAC,CAAC;gBACHmB,aAAa,CAACoB,IAAI,CAACvB,aAAY,CAAC;cACpC;cACAL,WAAW,CAACK,aAAY,CAAC,GAAGF,MAAM,CAACC,MAAM,CAACD,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEJ,WAAW,CAACK,aAAY,CAAC,CAAC,EAAEmB,KAAI,CAAC;YACjG,CAAC,MACI;cACDhC,mBAAO,CAACuC,KAAK,CAAC7E,QAAQ,CAACwC,cAAc,CAACsC,mBAAmB,CAAC;YAC9D;UACJ;QACJ,CAAC,CAAC;QACF,IAAIzB,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAAC1F,MAAM,EAAE;UACrEoH,OAAO,CAACC,GAAG,CAAC3B,QAAQ,CAAC,CAChBjB,IAAI,CAAC,UAACkC,IAAI,EAAK;YAChBA,IAAI,CAACW,OAAO,CAAC,UAAC7I,CAAC,EAAE2G,KAAK,EAAK;cACvBD,WAAW,CAACQ,aAAa,CAACP,KAAK,CAAC,CAAC,GAAGE,MAAM,CAACC,MAAM,CAACD,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEJ,WAAW,CAACQ,aAAa,CAACP,KAAK,CAAC,CAAC,CAAC,EAAE;gBAAEY,GAAG,EAAEvH,CAAC,CAAC8I,WAAW;gBAAE1B,MAAM,EAAE,CAACpH,CAAC,KAAK,IAAI,IAAIA,CAAC,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACoH,MAAM,KAAK;cAAG,CAAC,CAAC;YACnM,CAAC,CAAC;YACF7D,WAAW,CAACmD,WAAW,CAAC;UAC5B,CAAC,CAAC,SACQ,CAAC,UAAC+B,KAAK,EAAK;YAClBM,OAAO,CAACN,KAAK,CAAC,iBAAiB,EAAEA,KAAK,CAAC,CAAC,CAAC;YACzC;UACJ,CAAC,CAAC;QACN,CAAC,MACI;UACDlF,WAAW,CAACmD,WAAW,CAAC;QAC5B;MACJ,CAAC,MACI;QACDR,mBAAO,CAACC,IAAI,CAACvC,QAAQ,CAACwC,cAAc,CAAC4C,OAAO,CAAC;MACjD;MACAxF,UAAU,CAAC,KAAK,CAAC;IACrB,CAAC,CAAC;EACN,CAAC;EACD,IAAAyF,0BAAmB,EAAC/F,GAAG,EAAE,YAAM;IAC3B,OAAO;MACHgG,IAAI,EAAE,SAANA,IAAIA,CAAGhH,OAAO,EAAK;QACfuD,QAAQ,CAACvD,OAAO,CAAC;MACrB;IACJ,CAAC;EACL,CAAC,CAAC;EACF,IAAMiH,MAAM,GAAG,IAAAC,qBAAa,EAAC,UAACC,MAAM,EAAE3H,MAAM,EAAEiF,KAAK,EAAK;IACpD,IAAIxE,EAAE;IACN,IAAIkH,MAAM,EAAE;MACR,IAAM3C,WAAW,GAAAxG,kBAAA,CAAOoD,QAAQ,CAAC;MACjCoD,WAAW,CAACjD,WAAW,CAAC,CAACkD,KAAK,GAAG,CAAC,CAAC;MACnCD,WAAW,CAACjD,WAAW,CAAC,CAAC+D,SAAS,GAAG,EAAE;MACvCd,WAAW,CAACjD,WAAW,CAAC,CAAC5B,OAAO,GAAG,EAAE;MACrC6B,cAAc,CAACD,WAAW,GAAG,CAAC,GAAG,CAAC,GAAGA,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;MACzDF,WAAW,CAACmD,WAAW,CAAC;MACxBtC,YAAY,IAAIA,YAAY,CAACsC,WAAW,CAACjD,WAAW,CAAC,CAAC;IAC1D,CAAC,MACI;MACD;MAAA,IACS6F,IAAI,GAAb,SAASA,IAAIA,CAAC/B,GAAG,EAAEH,MAAM,EAAE;QACvB,IAAMmC,OAAO,GAAGhC,GAAG,IAAI7F,MAAM,CAAC6F,GAAG;QACjC,IAAMb,WAAW,GAAAxG,kBAAA,CAAOoD,QAAQ,CAAC;QACjCoD,WAAW,CAACjD,WAAW,CAAC,CAACsD,YAAY,GAAGJ,KAAK;QAC7CD,WAAW,CAACjD,WAAW,CAAC,CAAC+D,SAAS,GAAG9F,MAAM,CAACC,SAAS;QACrD+E,WAAW,CAACjD,WAAW,CAAC,CAAC5B,OAAO,GAAGH,MAAM,CAACG,OAAO;QACjD6E,WAAW,CAACjD,WAAW,CAAC,CAACwE,KAAK,GAAG,EAAE;QACnCvB,WAAW,CAACjD,WAAW,CAAC,CAAC8D,GAAG,GAAGgC,OAAO;QACtC7C,WAAW,CAACjD,WAAW,CAAC,CAAC+F,WAAW,GAChC9H,MAAM,CAAC8H,WAAW,IAAI9C,WAAW,CAACjD,WAAW,CAAC,CAAC+F,WAAW;QAC9D9C,WAAW,CAACjD,WAAW,CAAC,CAAC2D,MAAM,GAAGA,MAAM,IAAI1F,MAAM,CAAC0F,MAAM;QACzD7D,WAAW,CAACmD,WAAW,CAAC;MAC5B,CAAC,EACD;MACA,IAAIhF,MAAM,CAAC0F,MAAM,KAAK,QAAQ,EAAE;QAC5B,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAACR,QAAQ,CAAClF,MAAM,CAAC0G,MAAM,CAAC,EAAE;UACxC,IAAMqB,OAAO,GAAG,IAAAC,mBAAW,EAAChI,MAAM,CAAC8H,WAAW,IAAI9H,MAAM,CAAC6F,GAAG,EAAE,IAAAoC,yBAAkB,EAACjI,MAAM,CAACC,SAAS,CAAC,EAAE,IAAAgI,yBAAkB,EAACjI,MAAM,CAACG,OAAO,CAAC,CAAC;UACvI2D,WAAW,CAAC;YACRiE,OAAO,EAAPA,OAAO;YACP3D,KAAK,EAAE,IAAAC,mBAAW,EAAC,OAAO;UAC9B,CAAC,CAAC,CAACC,IAAI,CAAC,UAACkC,IAAI,EAAK;YACdoB,IAAI,CAACpB,IAAI,EAAE,QAAQ,CAAC;UACxB,CAAC,CAAC;QACN,CAAC,MACI,IAAI,CAAC,OAAO,CAAC,CAACtB,QAAQ,CAAClF,MAAM,CAAC0G,MAAM,CAAC,EAAE;UACxC/C,UAAU,CAAC;YACPkD,IAAI,EAAE7G,MAAM,CAAC6G,IAAI;YACjB5G,SAAS,EAAED,MAAM,CAACC,SAAS;YAC3BE,OAAO,EAAEH,MAAM,CAACG,OAAO;YACvB4E,QAAQ,EAAE/E,MAAM,CAAC+E,QAAQ;YACzB1C,UAAU,EAAErC,MAAM,CAACqC,UAAU;YAC7ByE,QAAQ,EAAE,IAAAzC,mBAAW,EAAC,UAAU;UACpC,CAAC,CAAC,CAACC,IAAI,CAAC,UAACkC,IAAI,EAAK;YACdoB,IAAI,CAACpB,IAAI,CAACY,WAAW,EAAE,QAAQ,CAAC;UACpC,CAAC,CAAC;QACN,CAAC,MACI;UACDQ,IAAI,CAAC,CAAC;QACV;MACJ,CAAC,MACI,IAAI,CAAC,IAAI,CAAC,CAAC1C,QAAQ,CAAClF,MAAM,CAAC0G,MAAM,CAAC,IACnC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAACxB,QAAQ,CAAClF,MAAM,CAAC0F,MAAM,CAAC,EAAE;QACvD,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAACR,QAAQ,CAAClF,MAAM,CAAC0F,MAAM,CAAC,EAAE;UAC9C,IAAMA,MAAM,GAAG7C,SAAS,KAAK,IAAI,IAAIA,SAAS,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,SAAS,CAACd,WAAW,CAAC;UAC3F,CAACtB,EAAE,GAAGiF,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACwC,cAAc,MAAM,IAAI,IAAIzH,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACtB,IAAI,CAACuG,MAAM,EAAE1F,MAAM,CAACC,SAAS,EAAED,MAAM,CAACG,OAAO,CAAC;UACnK,IAAM6E,YAAW,GAAAxG,kBAAA,CAAOoD,QAAQ,CAAC;UACjCoD,YAAW,CAACjD,WAAW,CAAC,CAACsD,YAAY,GAAGJ,KAAK;UAC7CD,YAAW,CAACjD,WAAW,CAAC,CAACkD,KAAK,GAAGA,KAAK;UACtCD,YAAW,CAACjD,WAAW,CAAC,CAAC+D,SAAS,GAAG9F,MAAM,CAACC,SAAS;UACrD+E,YAAW,CAACjD,WAAW,CAAC,CAAC5B,OAAO,GAAGH,MAAM,CAACG,OAAO;UACjD6E,YAAW,CAACjD,WAAW,CAAC,CAACwE,KAAK,GAAG,EAAE;UACnC1E,WAAW,CAACmD,YAAW,CAAC;UACxB;QACJ;QACA4C,IAAI,CAAC,CAAC;MACV,CAAC,MACI;QACDjE,UAAU,CAAC;UACPkD,IAAI,EAAE7G,MAAM,CAAC6G,IAAI;UACjB5G,SAAS,EAAED,MAAM,CAACC,SAAS;UAC3BE,OAAO,EAAEH,MAAM,CAACG,OAAO;UACvB4E,QAAQ,EAAE/E,MAAM,CAAC+E,QAAQ;UACzB1C,UAAU,EAAErC,MAAM,CAACqC,UAAU;UAC7ByE,QAAQ,EAAE,IAAAzC,mBAAW,EAAC,UAAU;QACpC,CAAC,CAAC,CAACC,IAAI,CAAC,UAACkC,IAAI,EAAK;UACdoB,IAAI,CAACpB,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACY,WAAW,EAAE,CAACZ,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACd,MAAM,KAAK,EAAE,CAAC;QACvI,CAAC,CAAC;MACN;IACJ;EACJ,CAAC,CAAC;EACF,OAAQ,IAAAyC,eAAI,EAACC,oBAAS,EAAE;IAAEC,QAAQ,EAAE9I,KAAK,CAACK,OAAO,CAACwC,YAAY,CAAC,IAAI,CAACA,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAACvC,MAAM,IAAI,CAAC,GAAI,IAAAyI,gBAAK,EAAC,KAAK,EAAEnD,MAAM,CAACC,MAAM,CAAC;MAAEmD,SAAS,EAAE;IAAoB,CAAC,EAAE;MAAEF,QAAQ,EAAE,CAAC,IAAAF,eAAI,EAAC,KAAK,EAAEhD,MAAM,CAACC,MAAM,CAAC;QAAEmD,SAAS,EAAE;MAAa,CAAC,EAAErF,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;QAAEmF,QAAQ,EAAE,IAAAF,eAAI,EAAC,KAAK,EAAE;UAAEK,GAAG,EAAEC,oBAAc;UAAEC,GAAG,EAAE,EAAE;UAAEC,KAAK,EAAE;YAAEC,SAAS,YAAA9D,MAAA,CAAY3B,UAAU,GAAG,GAAG,GAAG,CAAC;UAAO;QAAE,CAAC;MAAE,CAAC,CAAC,CAAC,EAAE,IAAAgF,eAAI,EAAC,SAAS,EAAEhD,MAAM,CAACC,MAAM,CAAC;QAAEmD,SAAS,EAAE;MAA2B,CAAC,EAAEtF,gBAAgB,CAAC,CAAC,EAAE;QAAEoF,QAAQ,EAAE,IAAAC,gBAAK,EAAC,KAAK,EAAEnD,MAAM,CAACC,MAAM,CAAC;UAAEmD,SAAS,EAAE;QAAS,CAAC,EAAE;UAAEF,QAAQ,EAAE,CAAC,IAAAF,eAAI,EAAC,KAAK,EAAEhD,MAAM,CAACC,MAAM,CAAC;YAAEmD,SAAS,EAAE;UAAa,CAAC,EAAE;YAAEF,QAAQ,EAAE,CAAC,CAAC,CAAC5H,EAAE,GAAG2B,YAAY,CAACL,WAAW,CAAC,MAAM,IAAI,IAAItB,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACiF,MAAM,MAAM,QAAQ,GACxtB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAACR,QAAQ,CAAC,CAACxE,EAAE,GAAG0B,YAAY,CAACL,WAAW,CAAC,MAAM,IAAI,IAAIrB,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACgG,MAAM,CAAC,GACjH,IAAI,KAAM,IAAA4B,gBAAK,EAACF,oBAAS,EAAE;cAAEC,QAAQ,EAAE,CAAC,IAAAC,gBAAK,EAAC,KAAK,EAAEnD,MAAM,CAACC,MAAM,CAAC;gBAAEmD,SAAS,EAAE,UAAU;gBAAE/G,GAAG,EAAEc;cAAY,CAAC,EAAE;gBAAE+F,QAAQ,EAAE,CAAC,IAAAF,eAAI,EAACU,gBAAgB,EAAE;kBAAErG,MAAM,EAAEA,MAAM;kBAAEsG,OAAO,EAAElH,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACG,WAAW,CAAC,CAACgH,WAAW;kBAAEC,WAAW,EAAEpH,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACG,WAAW,CAAC,CAACiH,WAAW;kBAAEC,OAAO,EAAE,SAATA,OAAOA,CAAGhE,KAAK,EAAEa,SAAS,EAAE3F,OAAO,EAAEiH,WAAW,EAAEP,IAAI,EAAK;oBACnZ,IAAIpG,EAAE,EAAEC,EAAE;oBACV,IAAMsE,WAAW,GAAAxG,kBAAA,CAAOoD,QAAQ,CAAC;oBACjC,IAAMkG,WAAW,GAAG,CAACrH,EAAE,GAAGmB,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACG,WAAW,CAAC,CAACgH,WAAW,MAAM,IAAI,IAAItI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACqH,WAAW;oBACpK,IAAMpC,MAAM,GAAG9D,QAAQ,CAACG,WAAW,CAAC,CAAC2D,MAAM;oBAC3C,IAAMgB,MAAM,GAAG9E,QAAQ,CAACG,WAAW,CAAC,CAAC2E,MAAM;oBAC3C,IAAMwC,EAAE,GAAG,IAAAjI,kBAAM,EAAC6E,SAAS,CAAC,CAACqD,MAAM,CAACC,iBAAU,CAACC,MAAM,CAAC,CAAC,CAAC;oBACxD,IAAMC,EAAE,GAAG,IAAArI,kBAAM,EAACd,OAAO,CAAC,CAACgJ,MAAM,CAACC,iBAAU,CAACC,MAAM,CAAC,CAAC,CAAC;oBACtDrE,WAAW,CAACjD,WAAW,CAAC,GAAGoD,MAAM,CAACC,MAAM,CAACD,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEJ,WAAW,CAACjD,WAAW,CAAC,CAAC,EAAE;sBAAEsD,YAAY,EAAEJ,KAAK;sBAAEA,KAAK,EAALA,KAAK;sBAAEa,SAAS,EAAEoD,EAAE;sBAAE/I,OAAO,EAAEmJ,EAAE;sBAAE/C,KAAK,EAAE;oBAAG,CAAC,CAAC;oBAC5J,IAAIb,MAAM,KAAK,QAAQ,EAAE;sBACrB,IAAM6D,OAAO,GAAGnC,WAAW,IAAIU,WAAW;sBAC1C,IAAI,CAACyB,OAAO,EAAE;wBACV1H,WAAW,CAACmD,WAAW,CAAC;wBACxB;sBACJ;sBACA,IAAI,CAAC,OAAO,CAAC,CAACE,QAAQ,CAACwB,MAAM,CAAC,EAAE;wBAC5B,IAAA8C,IAAA,GAAoDxE,WAAW,CAACjD,WAAW,CAAC,IAAI,CAAC,CAAC;0BAA1EgD,QAAQ,GAAAyE,IAAA,CAARzE,QAAQ;0BAAE1C,UAAU,GAAAmH,IAAA,CAAVnH,UAAU;0BAAE4C,MAAK,GAAAuE,IAAA,CAALvE,KAAK;0BAAEwE,SAAS,GAAAD,IAAA,CAATC,SAAS;wBAC9C9F,UAAU,CAAC;0BACP1D,SAAS,EAAEiJ,EAAE;0BACb/I,OAAO,EAAEmJ,EAAE;0BACXvE,QAAQ,EAARA,QAAQ;0BACR1C,UAAU,EAAVA,UAAU;0BACVyE,QAAQ,EAAE,IAAAzC,mBAAW,EAAC,UAAU,CAAC;0BACjCwC,IAAI,EAAJA;wBACJ,CAAC,CAAC,CAACvC,IAAI,CAAC,UAACkC,IAAI,EAAK;0BACd,IAAIkD,GAAG,GAAGzE,MAAK,CAAC,CAAC;0BACjBwE,SAAS,KAAK,IAAI,IAAIA,SAAS,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,SAAS,CAACtC,OAAO,CAAC,UAACwC,GAAG,EAAK;4BAC7E,IAAI,IAAA1I,kBAAM,EAACiI,EAAE,CAAC,CAACU,OAAO,CAAC,CAAC,IACpB,IAAA3I,kBAAM,EAAC0I,GAAG,CAAC1J,SAAS,CAAC,CAAC2J,OAAO,CAAC,CAAC,IAC/B,IAAA3I,kBAAM,EAACqI,EAAE,CAAC,CAACM,OAAO,CAAC,CAAC,IAChB,IAAA3I,kBAAM,EAAC0I,GAAG,CAACxJ,OAAO,CAAC,CAACyJ,OAAO,CAAC,CAAC,EAAE;8BACnCF,GAAG,GAAGC,GAAG,CAAC1E,KAAK,GAAG,CAAC;4BACvB;0BACJ,CAAC,CAAC;0BACF,IAAIuB,IAAI,EAAE;4BACN,IAAMxF,IAAI,GAAG,IAAA6I,qBAAS,EAAC7E,WAAW,CAAC;4BACnChE,IAAI,CAACe,WAAW,CAAC,GAAGoD,MAAM,CAACC,MAAM,CAACD,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEpE,IAAI,CAACe,WAAW,CAAC,CAAC,EAAE;8BAAE+D,SAAS,EAAEoD,EAAE;8BAAErD,GAAG,EAAEW,IAAI,CAACY,WAAW;8BAAE/B,YAAY,EAAEqE;4BAAI,CAAC,CAAC;4BACpI7H,WAAW,CAACb,IAAI,CAAC;0BACrB;wBACJ,CAAC,CAAC;wBACF;sBACJ;sBACA,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAACkE,QAAQ,CAACwB,MAAM,CAAC,EAAE;wBAClC1B,WAAW,CAACjD,WAAW,CAAC,GAAGoD,MAAM,CAACC,MAAM,CAACD,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEJ,WAAW,CAACjD,WAAW,CAAC,CAAC,EAAE;0BAAE8D,GAAG,EAAE0D;wBAAQ,CAAC,CAAC;wBACvG1H,WAAW,CAACmD,WAAW,CAAC;wBACxB;sBACJ;sBACA,IAAM+C,OAAO,GAAG,IAAAC,mBAAW,EAACuB,OAAO,EAAEL,EAAE,EAAEI,EAAE,CAAC;sBAC5CxF,WAAW,CAAC;wBACRiE,OAAO,EAAPA,OAAO;wBACP3D,KAAK,EAAE,IAAAC,mBAAW,EAAC,OAAO;sBAC9B,CAAC,CAAC,CAACC,IAAI,CAAC,UAACkC,IAAI,EAAK;wBACd,IAAIA,IAAI,EAAE;0BACNxB,WAAW,CAACjD,WAAW,CAAC,GAAGoD,MAAM,CAACC,MAAM,CAACD,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEJ,WAAW,CAACjD,WAAW,CAAC,CAAC,EAAE;4BAAE+D,SAAS,EAAEoD,EAAE;4BAAErD,GAAG,EAAEW;0BAAK,CAAC,CAAC;0BACnH3E,WAAW,CAACmD,WAAW,CAAC;wBAC5B;sBACJ,CAAC,CAAC;oBACN,CAAC,MACI,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAACE,QAAQ,CAACQ,MAAM,CAAC,EAAE;sBAC5C,IAAMoE,aAAa,GAAGjH,SAAS,KAAK,IAAI,IAAIA,SAAS,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,SAAS,CAACd,WAAW,CAAC;sBAClG,CAACrB,EAAE,GAAGoJ,aAAa,KAAK,IAAI,IAAIA,aAAa,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,aAAa,CAAC5B,cAAc,MAAM,IAAI,IAAIxH,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACvB,IAAI,CAAC2K,aAAa,EAAEZ,EAAE,EAAEI,EAAE,CAAC;sBACrKzH,WAAW,CAACmD,WAAW,CAAC;oBAC5B,CAAC,MACI,IAAIU,MAAM,KAAK,IAAI,IACpBA,MAAM,KAAK,OAAO,EAAE;sBACpB,IAAAqE,KAAA,GAAoD/E,WAAW,CAACjD,WAAW,CAAC,IAAI,CAAC,CAAC;wBAA1EgD,SAAQ,GAAAgF,KAAA,CAARhF,QAAQ;wBAAE1C,WAAU,GAAA0H,KAAA,CAAV1H,UAAU;wBAAE4C,OAAK,GAAA8E,KAAA,CAAL9E,KAAK;wBAAEwE,UAAS,GAAAM,KAAA,CAATN,SAAS;sBAC9C9F,UAAU,CAAC;wBACP1D,SAAS,EAAEiJ,EAAE;wBACb/I,OAAO,EAAEmJ,EAAE;wBACXvE,QAAQ,EAARA,SAAQ;wBACR1C,UAAU,EAAVA,WAAU;wBACVyE,QAAQ,EAAE,IAAAzC,mBAAW,EAAC,UAAU,CAAC;wBACjCwC,IAAI,EAAJA;sBACJ,CAAC,CAAC,CAACvC,IAAI,CAAC,UAACkC,IAAI,EAAK;wBACd,IAAIkD,GAAG,GAAGzE,OAAK,CAAC,CAAC;wBACjBwE,UAAS,KAAK,IAAI,IAAIA,UAAS,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,UAAS,CAACtC,OAAO,CAAC,UAACwC,GAAG,EAAK;0BAC7E,IAAI,IAAA1I,kBAAM,EAACiI,EAAE,CAAC,CAACU,OAAO,CAAC,CAAC,IACpB,IAAA3I,kBAAM,EAAC0I,GAAG,CAAC1J,SAAS,CAAC,CAAC2J,OAAO,CAAC,CAAC,IAC/B,IAAA3I,kBAAM,EAACqI,EAAE,CAAC,CAACM,OAAO,CAAC,CAAC,IAChB,IAAA3I,kBAAM,EAAC0I,GAAG,CAACxJ,OAAO,CAAC,CAACyJ,OAAO,CAAC,CAAC,EAAE;4BACnCF,GAAG,GAAGC,GAAG,CAAC1E,KAAK,GAAG,CAAC;0BACvB;wBACJ,CAAC,CAAC;wBACF,IAAIuB,IAAI,EAAE;0BACN,IAAMxF,IAAI,GAAG,IAAA6I,qBAAS,EAAC7E,WAAW,CAAC;0BACnChE,IAAI,CAACe,WAAW,CAAC,GAAGoD,MAAM,CAACC,MAAM,CAACD,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEpE,IAAI,CAACe,WAAW,CAAC,CAAC,EAAE;4BAAE+D,SAAS,EAAEoD,EAAE;4BAAErD,GAAG,EAAEW,IAAI,CAACY,WAAW;4BAAE/B,YAAY,EAAEqE;0BAAI,CAAC,CAAC;0BACpI7H,WAAW,CAACb,IAAI,CAAC;wBACrB;sBACJ,CAAC,CAAC;oBACN,CAAC,MACI;sBACDa,WAAW,CAACmD,WAAW,CAAC;oBAC5B;kBACJ,CAAC;kBAAEgF,MAAM,EAAE,SAARA,MAAMA,CAAA,EAAQ;oBACb;kBAAA;gBACF,CAAC,CAAC,EAAEC,WAAW,CAACrI,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACG,WAAW,CAAC,CAACgH,WAAW,CAAC;cAAE,CAAC,CAAC,CAAC,EAAE,IAAAT,gBAAK,EAACF,oBAAS,EAAE;gBAAEC,QAAQ,EAAE,CAACpG,gBAAgB,IAAI,CAAC,IAAK,IAAAkG,eAAI,EAAC+B,uBAAgB,EAAE;kBAAE3B,SAAS,EAAE,gBAAgB;kBAAEI,KAAK,EAAE;oBAChOwB,IAAI,KAAArF,MAAA,CAAK7C,gBAAgB;kBAC7B;gBAAE,CAAC,CAAE,EAAE,IAAAkG,eAAI,EAACiC,QAAQ,EAAE,CAAC,CAAC,CAAC;cAAE,CAAC,CAAC;YAAE,CAAC;UAAG,CAAC,CAAC,CAAC,EAAE,IAAA9B,gBAAK,EAAC,KAAK,EAAEnD,MAAM,CAACC,MAAM,CAAC;YAAEuD,KAAK,EAAE;cAAE0B,OAAO,EAAE;YAAO;UAAE,CAAC,EAAE;YAAEhC,QAAQ,EAAE,CAAC,IAAAC,gBAAK,EAAC,KAAK,EAAEnD,MAAM,CAACC,MAAM,CAAC;cAAEmD,SAAS,EAAE;YAAc,CAAC,EAAE;cAAEF,QAAQ,EAAE,CAAC,IAAAF,eAAI,EAAC,KAAK,EAAEhD,MAAM,CAACC,MAAM,CAAC;gBAAEmD,SAAS,EAAE;cAAoB,CAAC,EAAE;gBAAEF,QAAQ,EAAE,IAAAiC,sBAAa,EAACpI,QAAQ,CAACwC,cAAc,CAAC6F,iBAAiB,EAAE;kBACzTC,KAAK,EAAEpI,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAACvC;gBACpF,CAAC;cAAE,CAAC,CAAC,CAAC,EAAE,IAAAsI,eAAI,EAAC,KAAK,EAAEhD,MAAM,CAACC,MAAM,CAAC;gBAAEmD,SAAS,EAAE;cAAmB,CAAC,EAAE;gBAAEF,QAAQ,EAAEjG,YAAY,CAACyC,GAAG,CAAC,UAACtE,IAAI,EAAE0E,KAAK,EAAK;kBAC/G,OAAQ,IAAAkD,eAAI,EAAC,KAAK,EAAEhD,MAAM,CAACC,MAAM,CAAC;oBAAEmD,SAAS,KAAAzD,MAAA,CAAK/C,WAAW,IAAIkD,KAAK,GAC5D,4BAA4B,GAC5B,EAAE,yBAAsB;oBAAEgE,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAQ;sBAC3CjH,cAAc,CAACzB,IAAI,CAAC8E,YAAY,CAAC;sBACjC;sBACA,IAAI9E,IAAI,CAACmF,MAAM,KAAK,QAAQ,EAAE;wBAC1B;sBAAA;oBAER;kBAAE,CAAC,EAAE;oBAAE2C,QAAQ,EAAE,IAAAF,eAAI,EAACsC,mBAAO,EAAEtF,MAAM,CAACC,MAAM,CAAC;sBAAEsF,KAAK,KAAA5F,MAAA,CAAKvE,IAAI,CAACyI,WAAW;oBAAG,CAAC,EAAE;sBAAEX,QAAQ,KAAAvD,MAAA,CAAKvE,IAAI,CAACyI,WAAW;oBAAG,CAAC,CAAC;kBAAE,CAAC,CAAC,KAAAlE,MAAA,CAAKvE,IAAI,CAACwE,QAAQ,EAAAD,MAAA,CAAGvE,IAAI,CAAC8B,UAAU,CAAE,CAAC;gBACtK,CAAC;cAAE,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,EAAE,IAAA8F,eAAI,EAAC,KAAK,EAAEhD,MAAM,CAACC,MAAM,CAAC;cAAEmD,SAAS,EAAE,YAAY;cAAEI,KAAK,EAAE;gBAAEgC,IAAI,EAAE,CAAC;gBAAEC,QAAQ,EAAE,QAAQ;gBAAEC,KAAK;cAAS;YAAE,CAAC,EAAE;cAAExC,QAAQ,EAAE,IAAAF,eAAI,EAAC2C,sBAAU,EAAE;gBAAErB,SAAS,EAAE,CAAC7H,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACG,WAAW,CAAC,CAAC0H,SAAS,KAAK,EAAE;gBAAEsB,YAAY,EAAE,CAACpK,EAAE,GAAGiB,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACG,WAAW,CAAC,MAAM,IAAI,IAAIpB,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAC0E,YAAY;gBAAE2F,eAAe,EAAE,SAAjBA,eAAeA,CAAA;kBAAA,OAAQnI,SAAS,KAAK,IAAI,IAAIA,SAAS,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,SAAS,CAACd,WAAW,CAAC;gBAAA;gBAAEkJ,aAAa,EAAErJ,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACG,WAAW,CAAC;gBAAE2E,MAAM,EAAE,CAAC9F,EAAE,GAAGgB,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACG,WAAW,CAAC,MAAM,IAAI,IAAInB,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAC8F,MAAM;gBAAEe,MAAM,EAAEA;cAAO,CAAC;YAAE,CAAC,CAAC,CAAC;UAAE,CAAC,CAAC,CAAC;QAAE,CAAC,CAAC;MAAE,CAAC,CAAC,CAAC;IAAE,CAAC,CAAC,CAAC,GAAI;EAAK,CAAC,CAAC;AACl0B,CAAC,CAAC;AACF,IAAM2C,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAAS;EACnB,IAAMc,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAS;IACxB,IAAM/E,MAAM,GAAG,EAAE;IACjB,IAAMgF,IAAI,GAAG,GAAG,GAAG,EAAE;IACrB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,EAAE,EAAEA,CAAC,EAAE,EAAE;MACzB,IAAMC,OAAO,GAAI,IAAAlD,eAAI,EAAC,KAAK,EAAEhD,MAAM,CAACC,MAAM,CAAC;QAAEmD,SAAS,EAAE,MAAM;QAAEI,KAAK,EAAE;UAAEwB,IAAI,KAAArF,MAAA,CAAKqG,IAAI,GAAGC,CAAC;QAAI;MAAE,CAAC,EAAE;QAAE/C,QAAQ,EAAE,IAAAF,eAAI,EAAC,KAAK,EAAEhD,MAAM,CAACC,MAAM,CAAC;UAAEmD,SAAS,EAAE;QAAS,CAAC,EAAE;UAAEF,QAAQ,EAAE+C,CAAC,IAAI,EAAE,GAAGA,CAAC,GAAG,GAAG,GAAGA;QAAE,CAAC,CAAC;MAAE,CAAC,CAAC,EAAEA,CAAC,CAAE;MAC/MjF,MAAM,CAACS,IAAI,CAACyE,OAAO,CAAC;IACxB;IACA,OAAOlF,MAAM;EACjB,CAAC;EACD,OAAQ,IAAAmC,gBAAK,EAAC,KAAK,EAAEnD,MAAM,CAACC,MAAM,CAAC;IAAEmD,SAAS,EAAE;EAAY,CAAC,EAAE;IAAEF,QAAQ,EAAE,CAAC,IAAAF,eAAI,EAAC,KAAK,EAAE;MAAEI,SAAS,EAAE;IAAO,CAAC,CAAC,EAAE,IAAAJ,eAAI,EAAC,KAAK,EAAEhD,MAAM,CAACC,MAAM,CAAC;MAAEmD,SAAS,EAAE;IAAc,CAAC,EAAE;MAAEF,QAAQ,EAAE6C,aAAa,CAAC;IAAE,CAAC,CAAC,CAAC;EAAE,CAAC,CAAC,CAAC;AAChN,CAAC;AACD,IAAMI,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;AACvC,IAAMzC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA0C,KAAA,EAA2D;EAAA,IAArD/I,MAAM,GAAA+I,KAAA,CAAN/I,MAAM;IAAEsG,OAAO,GAAAyC,KAAA,CAAPzC,OAAO;IAAEG,QAAO,GAAAsC,KAAA,CAAPtC,OAAO;IAAEe,MAAM,GAAAuB,KAAA,CAANvB,MAAM;IAAEhB,WAAW,GAAAuC,KAAA,CAAXvC,WAAW;EACrE,IAAIvI,EAAE;EACN,IAAM+K,KAAK,GAAG,IAAAC,gBAAQ,EAACjJ,MAAM,CAAC,CAAC,CAAC;EAChC,IAAQkJ,QAAQ,GAAmCF,KAAK,CAAhDE,QAAQ;IAAEC,QAAQ,GAAyBH,KAAK,CAAtCG,QAAQ;IAAEC,QAAQ,GAAeJ,KAAK,CAA5BI,QAAQ;IAAEC,QAAQ,GAAKL,KAAK,CAAlBK,QAAQ;EAC9C,IAAMC,OAAO,GAAGJ,QAAQ,IAAI,CAAC,IAAIC,QAAQ,IAAI,CAAC,IAAID,QAAQ,IAAIE,QAAQ,IAAID,QAAQ,IAAIE,QAAQ;EAC9F;EACA,IAAME,OAAO,GAAGL,QAAQ,GAAGE,QAAQ;EACnC,IAAMI,IAAI,GAAG,IAAA/K,kBAAM,EAAC,IAAAA,kBAAM,EAAC6H,OAAO,CAACmD,KAAK,CAAC,CAACrC,OAAO,CAAC,CAAC,GAAGmC,OAAO,GAAGT,WAAW,CAAC,CAACnC,MAAM,CAACC,iBAAU,CAACC,MAAM,CAAC;EACtG,IAAI6C,IAAI,GAAG,KAAK;IAAEC,SAAS,GAAG,CAAC,CAAC;IAAEC,OAAO,GAAG,CAAC,CAAC;IAAEnH,KAAK,GAAG,CAAC,CAAC;IAAE4B,IAAI,GAAG,EAAE;IAAEO,WAAW;EAClF,IAAMiF,GAAG,GAAG,IAAApL,kBAAM,EAAC+K,IAAI,CAAC,CAACpC,OAAO,CAAC,CAAC;EAClC,KAAK,IAAIwB,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,CAAC3K,EAAE,GAAGqI,OAAO,CAAC9H,IAAI,MAAM,IAAI,IAAIP,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACZ,MAAM,CAAC,EAAEuL,CAAC,EAAE,EAAE;IAC3F,IAAMpL,MAAM,GAAG8I,OAAO,CAAC9H,IAAI,CAACoK,CAAC,CAAC;IAC9B,IAAMkB,KAAK,GAAG,IAAApM,wBAAgB,EAACF,MAAM,CAACC,SAAS,CAAC,CAAC2J,OAAO,CAAC,CAAC;MAAE2C,GAAG,GAAG,IAAArM,wBAAgB,EAACF,MAAM,CAACG,OAAO,CAAC,CAACyJ,OAAO,CAAC,CAAC;IAC5G,IAAIyC,GAAG,IAAIC,KAAK,IAAID,GAAG,IAAIE,GAAG,EAAE;MAC5BtH,KAAK,GAAGmG,CAAC;MACThE,WAAW,GAAGpH,MAAM,CAACoH,WAAW,IAAIpH,MAAM,CAAC6F,GAAG;MAC9CsG,SAAS,GAAGE,GAAG;MACfD,OAAO,GAAGG,GAAG;MACb1F,IAAI,GAAG7G,MAAM,CAAC6G,IAAI;MAClBqF,IAAI,GAAG,IAAI;MACX;IACJ;EACJ;EACA,OAAOJ,OAAO,GAAII,IAAI,GAAI,IAAA/D,eAAI,EAACsC,mBAAO,EAAEtF,MAAM,CAACC,MAAM,CAAC;IAAEsF,KAAK,KAAA5F,MAAA,CAAKkE,WAAW,IAAI,EAAE,QAAAlE,MAAA,CAAKkH,IAAI;EAAG,CAAC,EAAE;IAAE3D,QAAQ,EAAE,IAAAF,eAAI,EAAC,KAAK,EAAE;MAAEI,SAAS,EAAE,UAAU;MAAEI,KAAK,EAAE;QAAEwB,IAAI,EAAEuB;MAAS,CAAC;MAAEzC,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAQ;QACjLA,QAAO,CAAChE,KAAK,EAAEkH,SAAS,EAAEC,OAAO,EAAEhF,WAAW,EAAEP,IAAI,CAAC;QACrDmD,MAAM,IAAIA,MAAM,CAACgC,IAAI,CAAC;MAC1B;IAAE,CAAC;EAAE,CAAC,CAAC,CAAC,GAAK,IAAA7D,eAAI,EAAC,KAAK,EAAE;IAAEI,SAAS,EAAE,UAAU;IAAEI,KAAK,EAAE;MAAEwB,IAAI,EAAEuB;IAAS,CAAC;IAAEzC,OAAO,EAAE,SAATA,OAAOA,CAAA,EAAQ;MAC5FA,QAAO,CAAChE,KAAK,EAAEkH,SAAS,EAAEC,OAAO,EAAEhF,WAAW,EAAEP,IAAI,CAAC;MACrDmD,MAAM,IAAIA,MAAM,CAACgC,IAAI,CAAC;IAC1B;EAAE,CAAC,CAAE,GAAK,IAAA7D,eAAI,EAACC,oBAAS,EAAE,CAAC,CAAC,CAAE;AACtC,CAAC;AACD,IAAM6B,WAAW,GAAG,SAAdA,WAAWA,CAAI1I,KAAK,EAAK;EAC3B,IAAAiL,WAAA,GAAkCjL,KAAK,CAA/BP,IAAI;IAAJA,IAAI,GAAAwL,WAAA,cAAG,EAAE,GAAAA,WAAA;IAAEP,KAAK,GAAU1K,KAAK,CAApB0K,KAAK;IAAEM,GAAG,GAAKhL,KAAK,CAAbgL,GAAG;EAC7B,IAAMzG,SAAS,GAAG,IAAA7E,kBAAM,EAACgL,KAAK,CAAC;EAC/B,IAAM9L,OAAO,GAAG,IAAAc,kBAAM,EAACsL,GAAG,CAAC;EAC3B,IAAME,KAAK,GAAGtM,OAAO,CAACe,IAAI,CAAC4E,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;EAClD,IAAMK,MAAM,GAAGnF,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAAC6D,GAAG,CAAC,UAACuG,CAAC,EAAEnG,KAAK,EAAK;IAC9E,IAAMhF,SAAS,GAAG,IAAAC,wBAAgB,EAACkL,CAAC,CAACnL,SAAS,CAAC;IAC/C,IAAME,OAAO,GAAG,IAAAD,wBAAgB,EAACkL,CAAC,CAACjL,OAAO,CAAC;IAC3C,IAAMuM,SAAS,GAAGzM,SAAS,CAACiB,IAAI,CAAC4E,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG7F,SAAS,GAAG6F,SAAS;IAClF,IAAM6G,OAAO,GAAGxM,OAAO;IACvB,IAAMyM,SAAS,GAAGD,OAAO,CAACzL,IAAI,CAACwL,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACtD,IAAM7B,KAAK,GAAI+B,SAAS,GAAGH,KAAK,GAAI,GAAG,CAAC,CAAC;IACzC,IAAMtC,IAAI,GAAIuC,SAAS,CAACxL,IAAI,CAAC4E,SAAS,EAAE,SAAS,CAAC,GAAG2G,KAAK,GAAI,GAAG,CAAC,CAAC;IACnE,OAAQ,IAAAtE,eAAI,EAAC,KAAK,EAAE;MAAEI,SAAS,EAAE,SAAS;MAAEI,KAAK,EAAE;QAAEkC,KAAK,KAAA/F,MAAA,CAAK+F,KAAK,MAAG;QAAEV,IAAI,KAAArF,MAAA,CAAKqF,IAAI,GAAG,CAAC,GAAG,CAAC,GAAGA,IAAI;MAAI;IAAE,CAAC,KAAArF,MAAA,CAAKsG,CAAC,CAACnL,SAAS,OAAA6E,MAAA,CAAIG,KAAK,CAAE,CAAC;EAC5I,CAAC,CAAC;EACF,OAAOkB,MAAM;AACjB,CAAC;AACD/E,qBAAqB,CAACyL,WAAW,GAAG,uBAAuB;AAAC,IAAAC,QAAA,GAAAzL,OAAA,2BAC7C,IAAA0L,WAAI,EAAC3L,qBAAqB,CAAC","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  import { GetHistoryUrlResp } from '../api/types';
2
+ import moment from 'moment';
2
3
  import { IChannel, IUrlsTableItemType } from './interface';
4
+ export declare const parseHistoryTime: (time?: string | number) => moment.Moment;
3
5
  /** 默认播放器参数 */
4
6
  export declare const DEFAULT_PLAY_PARAMS: IChannel;
5
7
  export declare const DEFAULT_GRID = 1;