@vtx/player 1.7.12 → 1.7.14

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 (144) hide show
  1. package/README.md +2 -2
  2. package/lib/api/fetch.js +62 -91
  3. package/lib/api/fetch.js.map +1 -1
  4. package/lib/api/index.js +18 -63
  5. package/lib/api/index.js.map +1 -1
  6. package/lib/api/types.d.ts +6 -6
  7. package/lib/bd/PlayerManager.js +38 -68
  8. package/lib/bd/PlayerManager.js.map +1 -1
  9. package/lib/bill-player/index.d.ts +1 -1
  10. package/lib/bill-player/index.js +66 -121
  11. package/lib/bill-player/index.js.map +1 -1
  12. package/lib/bill-player/style/css.js +0 -9
  13. package/lib/bill-player/style/css.js.map +1 -1
  14. package/lib/bill-player/style/index.js +0 -9
  15. package/lib/bill-player/style/index.js.map +1 -1
  16. package/lib/bill-player/style/index.less +297 -297
  17. package/lib/components/set-tag-video/index.js +6 -34
  18. package/lib/components/set-tag-video/index.js.map +1 -1
  19. package/lib/components/set-tag-video/style/css.js.map +1 -1
  20. package/lib/components/set-tag-video/style/index.js.map +1 -1
  21. package/lib/components/set-tag-video/style/index.less +125 -125
  22. package/lib/components/split-screen/index.d.ts +1 -1
  23. package/lib/components/split-screen/index.js +3 -14
  24. package/lib/components/split-screen/index.js.map +1 -1
  25. package/lib/components/split-screen/style/css.js.map +1 -1
  26. package/lib/components/split-screen/style/index.js.map +1 -1
  27. package/lib/components/tag-video/index.js +10 -38
  28. package/lib/components/tag-video/index.js.map +1 -1
  29. package/lib/components/tag-video/style/css.js.map +1 -1
  30. package/lib/components/tag-video/style/index.js.map +1 -1
  31. package/lib/components/tag-video/style/index.less +69 -69
  32. package/lib/components/video-scale/index.d.ts +1 -1
  33. package/lib/components/video-scale/index.js +2 -9
  34. package/lib/components/video-scale/index.js.map +1 -1
  35. package/lib/components/video-scale/style/css.js.map +1 -1
  36. package/lib/components/video-scale/style/index.js.map +1 -1
  37. package/lib/context/index.js +0 -4
  38. package/lib/context/index.js.map +1 -1
  39. package/lib/controls/index.d.ts +11 -11
  40. package/lib/controls/index.js +46 -108
  41. package/lib/controls/index.js.map +1 -1
  42. package/lib/controls/style/css.js +0 -5
  43. package/lib/controls/style/css.js.map +1 -1
  44. package/lib/controls/style/index.js +0 -5
  45. package/lib/controls/style/index.js.map +1 -1
  46. package/lib/controls/style/index.less +188 -188
  47. package/lib/h264/PlayerManager.js +18 -27
  48. package/lib/h264/PlayerManager.js.map +1 -1
  49. package/lib/history-control/index.d.ts +2 -2
  50. package/lib/history-control/index.js +61 -121
  51. package/lib/history-control/index.js.map +1 -1
  52. package/lib/history-control/style/css.js +0 -6
  53. package/lib/history-control/style/css.js.map +1 -1
  54. package/lib/history-control/style/index.js +0 -6
  55. package/lib/history-control/style/index.js.map +1 -1
  56. package/lib/history-control/style/index.less +252 -252
  57. package/lib/history-control-v2/components/grid-item/index.js +38 -77
  58. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  59. package/lib/history-control-v2/components/panel/index.js +44 -114
  60. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  61. package/lib/history-control-v2/context.js +0 -2
  62. package/lib/history-control-v2/context.js.map +1 -1
  63. package/lib/history-control-v2/index.d.ts +4 -4
  64. package/lib/history-control-v2/index.js +97 -166
  65. package/lib/history-control-v2/index.js.map +1 -1
  66. package/lib/history-control-v2/style/css.js +0 -10
  67. package/lib/history-control-v2/style/css.js.map +1 -1
  68. package/lib/history-control-v2/style/index.js +0 -10
  69. package/lib/history-control-v2/style/index.js.map +1 -1
  70. package/lib/history-control-v2/style/index.less +437 -437
  71. package/lib/history-control-v2/utils.js +1 -21
  72. package/lib/history-control-v2/utils.js.map +1 -1
  73. package/lib/history-player/index.d.ts +1 -1
  74. package/lib/history-player/index.js +146 -205
  75. package/lib/history-player/index.js.map +1 -1
  76. package/lib/history-player/style/css.js +0 -3
  77. package/lib/history-player/style/css.js.map +1 -1
  78. package/lib/history-player/style/index.js +0 -3
  79. package/lib/history-player/style/index.js.map +1 -1
  80. package/lib/history-player/style/index.less +102 -102
  81. package/lib/hooks/useSettings.js +1 -6
  82. package/lib/hooks/useSettings.js.map +1 -1
  83. package/lib/icc/PlayerManager.js +26 -57
  84. package/lib/icc/PlayerManager.js.map +1 -1
  85. package/lib/icc/api.d.ts +0 -68
  86. package/lib/icc/api.js +2 -16
  87. package/lib/icc/api.js.map +1 -1
  88. package/lib/icons/index.d.ts +36 -36
  89. package/lib/icons/index.js +23 -171
  90. package/lib/icons/index.js.map +1 -1
  91. package/lib/icons/index.less +32 -32
  92. package/lib/index.js +0 -10
  93. package/lib/index.js.map +1 -1
  94. package/lib/live-channel-player/index.d.ts +1 -1
  95. package/lib/live-channel-player/index.js +32 -67
  96. package/lib/live-channel-player/index.js.map +1 -1
  97. package/lib/live-channel-player/style/css.js +0 -1
  98. package/lib/live-channel-player/style/css.js.map +1 -1
  99. package/lib/live-channel-player/style/index.js +0 -1
  100. package/lib/live-channel-player/style/index.js.map +1 -1
  101. package/lib/live-control/index.d.ts +2 -2
  102. package/lib/live-control/index.js +36 -86
  103. package/lib/live-control/index.js.map +1 -1
  104. package/lib/live-control/style/css.js +0 -4
  105. package/lib/live-control/style/css.js.map +1 -1
  106. package/lib/live-control/style/index.js +0 -4
  107. package/lib/live-control/style/index.js.map +1 -1
  108. package/lib/live-control/style/index.less +99 -99
  109. package/lib/live-control-v2/index.d.ts +3 -3
  110. package/lib/live-control-v2/index.js +109 -141
  111. package/lib/live-control-v2/index.js.map +1 -1
  112. package/lib/live-control-v2/style/css.js +0 -7
  113. package/lib/live-control-v2/style/css.js.map +1 -1
  114. package/lib/live-control-v2/style/index.js +0 -7
  115. package/lib/live-control-v2/style/index.js.map +1 -1
  116. package/lib/live-control-v2/style/index.less +192 -192
  117. package/lib/live-player/index.d.ts +2 -0
  118. package/lib/live-player/index.js +96 -136
  119. package/lib/live-player/index.js.map +1 -1
  120. package/lib/live-player/style/css.js +0 -2
  121. package/lib/live-player/style/css.js.map +1 -1
  122. package/lib/live-player/style/index.js +0 -2
  123. package/lib/live-player/style/index.js.map +1 -1
  124. package/lib/live-player/style/index.less +75 -75
  125. package/lib/player/index.d.ts +1 -1
  126. package/lib/player/index.js +79 -244
  127. package/lib/player/index.js.map +1 -1
  128. package/lib/rsl/PlayerManager.js +18 -64
  129. package/lib/rsl/PlayerManager.js.map +1 -1
  130. package/lib/typings/@vtx/utils/index.d.ts +28 -28
  131. package/lib/typings/h5player.d.ts +146 -146
  132. package/lib/typings/webrtcplayer.d.ts +56 -56
  133. package/lib/typings/wsplayer.d.ts +99 -99
  134. package/lib/utils/index.d.ts +1 -1
  135. package/lib/utils/index.js +12 -91
  136. package/lib/utils/index.js.map +1 -1
  137. package/lib/vite-env.d.ts +1 -1
  138. package/lib/vtxHls/PlayerManager.js +6 -20
  139. package/lib/vtxHls/PlayerManager.js.map +1 -1
  140. package/lib/vtxHls/WhepManager.js +9 -72
  141. package/lib/vtxHls/WhepManager.js.map +1 -1
  142. package/lib/webrtc/PlayerManager.js +28 -41
  143. package/lib/webrtc/PlayerManager.js.map +1 -1
  144. package/package.json +125 -125
@@ -1,99 +1,99 @@
1
-
2
- export declare class Wsplayer {
3
- constructor();
4
-
5
- /**
6
- * 播放实时预览视频
7
- * @param opt.channelList: {Array<Object>} 必填,通道列表
8
- * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2
9
- * @param opt.windowIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放
10
- */
11
- // channelList: [{
12
- // id: channelCode, // {String} 通道编码 -- 用于预览,必填
13
- // isOnline: true, // {Boolean} 是否在线,非在线无法播放 -- 用于预览,必填
14
- // deviceCode: deviceCode, // {String} 设备编码 -- 用于对讲,对讲必填,无对讲功能可不填
15
- // deviceType: deviceType, // {String} 设备类型 -- 用于对讲,对讲必填,无对讲功能可不填
16
- // channelSeq: channelSeq, // {String|Number} 通道序号 -- 用于对讲,对讲必填,无对讲功能可不填
17
- // cameraType: cameraType, // {String|Number} 摄像头类型 -- 用于云台,云台必填,无云台功能可不填
18
- // capability: capability, // {String} 能力集 -- 用于云台,选填
19
- // }]
20
- playRealVideo(opts: {
21
- channelList: object[];
22
- streamType?: string | number;
23
- windowIndex?: number
24
- }): void
25
-
26
- /**
27
- * 播放录像回放
28
- * @param opt.channelList {Array<Object>} 通道集合 必填
29
- * @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒
30
- * @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒
31
- * @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像
32
- * @param opt.streamType {String|Number} 码流类型 可选
33
- * @param opt.recordType {String|Number} 录像类型 可选
34
- */
35
- // channelList: [{
36
- // id: channelCode, // {String} 通道编码 -- 用于回放,必填
37
- // }]
38
- playRecordVideo(opts: {
39
- channelList: object[];
40
- startTime: string | number;
41
- endTime: string | number;
42
- recordSource: string | number;
43
- streamType?: string | number;
44
- recordType?: string | number
45
- }): void;
46
-
47
- /**
48
- * 录像暂停
49
- * 只有正在播放的录像调用才有效
50
- */
51
- pause(): void;
52
-
53
- /**
54
- * 录像暂停后播放
55
- * 只有暂停后的录像调用才有效
56
- */
57
- play(): void;
58
-
59
- /**
60
- * 设置播放速度
61
- * @param speed 倍速
62
- */
63
- playSpeed(speed: 0.125 | 0.25 | 0.5 | 1 | 2 | 4 | 8): void;
64
-
65
- /**
66
- * 关闭窗口
67
- * @param index 窗口索引
68
- */
69
- close(index?: number): void;
70
-
71
- /**
72
- * 设置全屏
73
- */
74
- setFullScreen(): void;
75
-
76
- /**
77
- * 设置窗口自适应还是拉伸
78
- * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸
79
- */
80
- setPlayerAdapter(playerAdapter: 'selfAdaption' | 'stretching' ): void;
81
-
82
- /**
83
- * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数
84
- * @param {number} number
85
- */
86
- setPlayerNum(num: 1 | 4 | 9 | 16 | 25): void;
87
-
88
- /**
89
- * 设置选中的播放器的索引
90
- * @param {number} index
91
- */
92
- setSelectIndex(index: number);
93
-
94
- /**
95
- * 录像跳转播放
96
- * @param {string} time HH:mm:ss格式
97
- */
98
- jumpPlayByTime(time: string);
99
- }
1
+
2
+ export declare class Wsplayer {
3
+ constructor();
4
+
5
+ /**
6
+ * 播放实时预览视频
7
+ * @param opt.channelList: {Array<Object>} 必填,通道列表
8
+ * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2
9
+ * @param opt.windowIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放
10
+ */
11
+ // channelList: [{
12
+ // id: channelCode, // {String} 通道编码 -- 用于预览,必填
13
+ // isOnline: true, // {Boolean} 是否在线,非在线无法播放 -- 用于预览,必填
14
+ // deviceCode: deviceCode, // {String} 设备编码 -- 用于对讲,对讲必填,无对讲功能可不填
15
+ // deviceType: deviceType, // {String} 设备类型 -- 用于对讲,对讲必填,无对讲功能可不填
16
+ // channelSeq: channelSeq, // {String|Number} 通道序号 -- 用于对讲,对讲必填,无对讲功能可不填
17
+ // cameraType: cameraType, // {String|Number} 摄像头类型 -- 用于云台,云台必填,无云台功能可不填
18
+ // capability: capability, // {String} 能力集 -- 用于云台,选填
19
+ // }]
20
+ playRealVideo(opts: {
21
+ channelList: object[];
22
+ streamType?: string | number;
23
+ windowIndex?: number
24
+ }): void
25
+
26
+ /**
27
+ * 播放录像回放
28
+ * @param opt.channelList {Array<Object>} 通道集合 必填
29
+ * @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒
30
+ * @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒
31
+ * @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像
32
+ * @param opt.streamType {String|Number} 码流类型 可选
33
+ * @param opt.recordType {String|Number} 录像类型 可选
34
+ */
35
+ // channelList: [{
36
+ // id: channelCode, // {String} 通道编码 -- 用于回放,必填
37
+ // }]
38
+ playRecordVideo(opts: {
39
+ channelList: object[];
40
+ startTime: string | number;
41
+ endTime: string | number;
42
+ recordSource: string | number;
43
+ streamType?: string | number;
44
+ recordType?: string | number
45
+ }): void;
46
+
47
+ /**
48
+ * 录像暂停
49
+ * 只有正在播放的录像调用才有效
50
+ */
51
+ pause(): void;
52
+
53
+ /**
54
+ * 录像暂停后播放
55
+ * 只有暂停后的录像调用才有效
56
+ */
57
+ play(): void;
58
+
59
+ /**
60
+ * 设置播放速度
61
+ * @param speed 倍速
62
+ */
63
+ playSpeed(speed: 0.125 | 0.25 | 0.5 | 1 | 2 | 4 | 8): void;
64
+
65
+ /**
66
+ * 关闭窗口
67
+ * @param index 窗口索引
68
+ */
69
+ close(index?: number): void;
70
+
71
+ /**
72
+ * 设置全屏
73
+ */
74
+ setFullScreen(): void;
75
+
76
+ /**
77
+ * 设置窗口自适应还是拉伸
78
+ * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸
79
+ */
80
+ setPlayerAdapter(playerAdapter: 'selfAdaption' | 'stretching' ): void;
81
+
82
+ /**
83
+ * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数
84
+ * @param {number} number
85
+ */
86
+ setPlayerNum(num: 1 | 4 | 9 | 16 | 25): void;
87
+
88
+ /**
89
+ * 设置选中的播放器的索引
90
+ * @param {number} index
91
+ */
92
+ setSelectIndex(index: number);
93
+
94
+ /**
95
+ * 录像跳转播放
96
+ * @param {string} time HH:mm:ss格式
97
+ */
98
+ jumpPlayByTime(time: string);
99
+ }
@@ -10,7 +10,7 @@ export declare enum TimeFormat {
10
10
  }
11
11
  /** 生成随机ID */
12
12
  export declare const guidGenerator: () => string;
13
- declare type PlayerParams = {
13
+ type PlayerParams = {
14
14
  /** 视频流地址 */
15
15
  url: string;
16
16
  /** 视频流格式 */
@@ -9,103 +9,71 @@ exports.guidGenerator = void 0;
9
9
  exports.loadCss = loadCss;
10
10
  exports.loadJs = loadJs;
11
11
  exports.secondsToTime = exports.secondsToString = void 0;
12
-
13
12
  var _jsBase = require("js-base64");
14
-
15
13
  var _moment = _interopRequireDefault(require("moment"));
16
-
17
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18
-
19
15
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
20
-
21
16
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
-
23
17
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
-
25
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
26
-
27
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
28
-
18
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
19
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
29
20
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
30
-
31
21
  /** 时间格式枚举 */
32
22
  var TimeFormat;
33
23
  exports.TimeFormat = TimeFormat;
34
-
35
24
  (function (TimeFormat) {
36
25
  TimeFormat["default"] = "YYYY-MM-DDTHH:mm:ss";
37
26
  TimeFormat["params"] = "YYYY-MM-DD HH:mm:ss";
38
27
  TimeFormat["url"] = "YYYYMMDDTHHmmss";
39
28
  })(TimeFormat || (exports.TimeFormat = TimeFormat = {}));
40
29
  /** 生成随机ID */
41
-
42
-
43
30
  var guidGenerator = function guidGenerator() {
44
31
  var S4 = function S4() {
45
32
  return ((1 + Math.random()) * 0x10000 | 0).toString(16).substring(1);
46
33
  };
47
-
48
34
  return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();
49
35
  };
50
-
51
36
  exports.guidGenerator = guidGenerator;
52
-
53
37
  var initProtocol = function initProtocol(url, enableAgent) {
54
38
  var src = url;
55
-
56
39
  if (enableAgent) {
57
40
  var isHttps = 'https:' === document.location.protocol;
58
-
59
41
  if (url.startsWith('http:')) {
60
42
  url = url.replace('http://', '');
61
-
62
43
  if (url.startsWith('https:')) {
63
44
  url = url.replace('https://', '');
64
45
  }
65
-
66
46
  var ipPort = url.substring(0, url.indexOf('/'));
67
47
  var path = url.substring(url.indexOf('/'));
68
48
  src = '/visProxy/' + ipPort + '/play' + path;
69
49
  } else if (url.startsWith('ws:')) {
70
50
  url = url.replace('ws://', '');
71
-
72
51
  if (url.startsWith('wss:')) {
73
52
  url = url.replace('wss://', '');
74
53
  }
75
-
76
54
  var _ipPort = url.substring(0, url.indexOf('/'));
77
-
78
55
  var _path = url.substring(url.indexOf('/'));
79
-
80
56
  var protocol = isHttps ? 'wss://' : 'ws://';
81
57
  src = protocol + window.location.host + '/visProxy/' + _ipPort + '/play' + _path;
82
58
  }
83
59
  } else {
84
60
  var _isHttps = 'https:' === document.location.protocol;
85
-
86
61
  if (_isHttps) {
87
62
  if (url.startsWith('http:')) {
88
63
  url = url.replace('http://', '');
89
-
90
64
  var _ipPort2 = url.substring(0, url.indexOf('/'));
91
-
92
65
  var _path2 = url.substring(url.indexOf('/'));
93
-
94
66
  src = '/visProxy/' + _ipPort2 + '/play' + _path2;
95
67
  } else if (url.startsWith('ws:')) {
96
68
  url = url.replace('ws://', '');
97
-
98
69
  var _ipPort3 = url.substring(0, url.indexOf('/'));
99
-
100
70
  var _path3 = url.substring(url.indexOf('/'));
101
-
102
71
  src = 'wss://' + window.location.host + '/visProxy/' + _ipPort3 + '/play' + _path3;
103
72
  } else {
104
73
  src = url;
105
74
  }
106
75
  }
107
76
  }
108
-
109
77
  return src;
110
78
  };
111
79
  /**
@@ -113,12 +81,9 @@ var initProtocol = function initProtocol(url, enableAgent) {
113
81
  * @param url
114
82
  * @returns
115
83
  */
116
-
117
-
118
84
  var getPlayerParams = function getPlayerParams(type, url, enableAgent, live) {
119
85
  var playerUrl = url;
120
86
  var playerType = 'mp4';
121
-
122
87
  if (type === 'bd') {
123
88
  if (url.startsWith('http')) {
124
89
  return {
@@ -126,13 +91,11 @@ var getPlayerParams = function getPlayerParams(type, url, enableAgent, live) {
126
91
  url: url
127
92
  };
128
93
  }
129
-
130
94
  return {
131
95
  type: 'bd',
132
96
  url: "".concat(window.location.origin).concat(url)
133
97
  };
134
98
  }
135
-
136
99
  if (type === 'vtx_ws') {
137
100
  return {
138
101
  type: 'vtx_ws',
@@ -144,60 +107,50 @@ var getPlayerParams = function getPlayerParams(type, url, enableAgent, live) {
144
107
  } else {
145
108
  playerType = 'hk_ws';
146
109
  }
147
-
148
110
  if (live) {
149
111
  playerUrl = url;
150
112
  } else {
151
113
  playerUrl = url.split('?')[0];
152
114
  }
153
115
  }
154
-
155
116
  if (url.startsWith('rtsp://')) {
156
117
  var baseUrlPrefix = process.env.PREFIX ? "".concat(process.env.PREFIX) : '';
157
118
  playerType = 'flv';
158
119
  playerUrl = baseUrlPrefix + "/cloud/vic/convert/flv/live.flv?url=".concat(_jsBase.Base64.encode(url));
159
120
  }
160
-
161
121
  if (url.indexOf('flv') > -1) {
162
122
  playerUrl = url;
163
123
  playerType = 'flv';
164
124
  }
165
-
166
125
  if (url.indexOf('m3u8') > -1) {
167
126
  playerUrl = url;
168
127
  playerType = 'hls';
169
- } // 特殊类型
170
-
171
-
128
+ }
129
+ // 特殊类型
172
130
  if (url.indexOf('vtxm3u8') > -1) {
173
131
  playerUrl = url;
174
132
  playerType = 'vtxhls';
175
- } // 特殊类型
176
-
177
-
133
+ }
134
+ // 特殊类型
178
135
  if (url.indexOf('vtxwhep') > -1) {
179
136
  playerUrl = url;
180
137
  playerType = 'vtxwhep';
181
138
  }
182
-
183
139
  if (url.indexOf('webrtc') > -1) {
184
140
  playerUrl = url;
185
141
  playerType = 'webrtc';
186
142
  }
187
-
188
143
  if (url.indexOf('h264') > -1 || url.indexOf('cloudFile') > -1) {
189
144
  playerUrl = url;
190
145
  playerType = 'h264';
191
- } // rsl
192
-
193
-
146
+ }
147
+ // rsl
194
148
  if (playerType === 'mp4' || playerType === 'iframe' || playerType === 'rsl') {
195
149
  return {
196
150
  type: playerType,
197
151
  url: url
198
152
  };
199
153
  }
200
-
201
154
  return {
202
155
  url: initProtocol(playerUrl, enableAgent),
203
156
  type: playerType
@@ -208,10 +161,7 @@ var getPlayerParams = function getPlayerParams(type, url, enableAgent, live) {
208
161
  * @param data
209
162
  * @returns
210
163
  */
211
-
212
-
213
164
  exports.getPlayerParams = getPlayerParams;
214
-
215
165
  var getUrlTableData = function getUrlTableData(data) {
216
166
  var result = data.list.map(function (item, i) {
217
167
  var beginTime = (0, _moment["default"])(item.beginTime);
@@ -245,10 +195,7 @@ var getUrlTableData = function getUrlTableData(data) {
245
195
  * @param bytes
246
196
  * @returns
247
197
  */
248
-
249
-
250
198
  exports.getUrlTableData = getUrlTableData;
251
-
252
199
  var bytesToMegaBytes = function bytesToMegaBytes(bytes) {
253
200
  return "".concat((bytes / Math.pow(1024, 2)).toFixed(2), "MB");
254
201
  };
@@ -257,10 +204,7 @@ var bytesToMegaBytes = function bytesToMegaBytes(bytes) {
257
204
  * @param total
258
205
  * @returns
259
206
  */
260
-
261
-
262
207
  exports.bytesToMegaBytes = bytesToMegaBytes;
263
-
264
208
  var secondsToString = function secondsToString(total) {
265
209
  var hour = Math.floor(total / 3600);
266
210
  var minute = Math.floor(total % 3600 / 60);
@@ -273,10 +217,7 @@ var secondsToString = function secondsToString(total) {
273
217
  * @param total
274
218
  * @returns
275
219
  */
276
-
277
-
278
220
  exports.secondsToString = secondsToString;
279
-
280
221
  var secondsToTime = function secondsToTime(total) {
281
222
  var hour = Math.floor(total / 3600);
282
223
  var minute = Math.floor(total % 3600 / 60);
@@ -289,10 +230,7 @@ var secondsToTime = function secondsToTime(total) {
289
230
  * @param time 时间
290
231
  * @returns
291
232
  */
292
-
293
-
294
233
  exports.secondsToTime = secondsToTime;
295
-
296
234
  var getHKTimeString = function getHKTimeString(time) {
297
235
  return (0, _moment["default"])(time).format(TimeFormat["default"]) + 'Z';
298
236
  };
@@ -303,16 +241,12 @@ var getHKTimeString = function getHKTimeString(time) {
303
241
  * @param endTime 结束时间
304
242
  * @returns
305
243
  */
306
-
307
-
308
244
  exports.getHKTimeString = getHKTimeString;
309
-
310
245
  var getHKListUrl = function getHKListUrl(totalUrl, startTime, endTime) {
311
246
  var _totalUrl$split = totalUrl.split('?'),
312
- _totalUrl$split2 = _slicedToArray(_totalUrl$split, 2),
313
- url = _totalUrl$split2[0],
314
- query = _totalUrl$split2[1];
315
-
247
+ _totalUrl$split2 = _slicedToArray(_totalUrl$split, 2),
248
+ url = _totalUrl$split2[0],
249
+ query = _totalUrl$split2[1];
316
250
  var urlParams = new URLSearchParams(query);
317
251
  urlParams.set('beginTime', getHKTimeString(startTime));
318
252
  urlParams.set('endTime', getHKTimeString(endTime));
@@ -337,27 +271,21 @@ var getHKListUrl = function getHKListUrl(totalUrl, startTime, endTime) {
337
271
  // urlParams.set('endTime', moment(endTime).format(TimeFormat.url));
338
272
  // return `${url}?${urlParams.toString()}`;
339
273
  // };
340
-
341
274
  /**
342
275
  * 获取地址栏中的参数信息
343
276
  * @param key 字段key
344
277
  * @param href 链接
345
278
  * @returns 字段值
346
279
  */
347
-
348
-
349
280
  exports.getHKListUrl = getHKListUrl;
350
-
351
281
  var getUrlParam = function getUrlParam(key) {
352
282
  var href = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.href;
353
283
  var paramObj = {};
354
284
  var matchList = href.match(/([^\?&]+)=([^\?&#]+)/g) || [];
355
-
356
285
  for (var i = 0, len = matchList.length; i < len; i++) {
357
286
  var r = matchList[i].match(/([^\?&]+)=([^\?&]+)/);
358
287
  paramObj[r[1]] = r[2];
359
288
  }
360
-
361
289
  if (key) {
362
290
  return paramObj[key];
363
291
  } else {
@@ -368,35 +296,28 @@ var getUrlParam = function getUrlParam(key) {
368
296
  *
369
297
  * @returns 返回UUID
370
298
  */
371
-
372
-
373
299
  exports.getUrlParam = getUrlParam;
374
-
375
300
  function guid() {
376
301
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
377
302
  var r = Math.random() * 16 | 0,
378
- v = c == 'x' ? r : r & 0x3 | 0x8;
303
+ v = c == 'x' ? r : r & 0x3 | 0x8;
379
304
  return v.toString(16);
380
305
  });
381
306
  }
382
-
383
307
  function loadJs(path) {
384
308
  if (!path || path.length === 0) {
385
309
  throw new Error('argument "path" is required !');
386
310
  }
387
-
388
311
  var head = document.getElementsByTagName('head')[0];
389
312
  var script = document.createElement('script');
390
313
  script.src = path;
391
314
  script.type = 'text/javascript';
392
315
  head.appendChild(script);
393
316
  }
394
-
395
317
  function loadCss(path) {
396
318
  if (!path || path.length === 0) {
397
319
  throw new Error('argument "path" is required !');
398
320
  }
399
-
400
321
  var head = document.getElementsByTagName('head')[0];
401
322
  var link = document.createElement('link');
402
323
  link.href = path;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["TimeFormat","guidGenerator","S4","Math","random","toString","substring","initProtocol","url","enableAgent","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","type","live","playerUrl","playerType","origin","split","baseUrlPrefix","process","env","PREFIX","Base64","encode","getUrlTableData","data","result","list","map","item","i","beginTime","moment","endTime","totalSeconds","diff","index","deviceName","deviceCode","devicePort","deviceIp","streamType","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","code","hkType","deviceId","channelNum","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","startTime","query","urlParams","URLSearchParams","set","getUrlParam","key","href","paramObj","matchList","match","len","length","r","guid","c","v","loadJs","Error","head","getElementsByTagName","script","createElement","appendChild","loadCss","link","rel"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url, enableAgent) => {\n let src = url;\n if (enableAgent) {\n const isHttps = 'https:' === document.location.protocol;\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n if (url.startsWith('https:')) {\n url = url.replace('https://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith('ws:')) {\n url = url.replace('ws://', '');\n if (url.startsWith('wss:')) {\n url = url.replace('wss://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n const protocol = isHttps ? 'wss://' : 'ws://';\n src = protocol + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n else {\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith('ws:')) {\n url = url.replace('ws://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n else {\n src = url;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (type, url, enableAgent, live) => {\n let playerUrl = url;\n let playerType = 'mp4';\n if (type === 'bd') {\n if (url.startsWith('http')) {\n return {\n type: 'bd',\n url,\n };\n }\n return {\n type: 'bd',\n url: `${window.location.origin}${url}`,\n };\n }\n if (type === 'vtx_ws') {\n return {\n type: 'vtx_ws',\n url,\n };\n }\n else if (url.startsWith('ws://') || url.startsWith('wss://')) {\n if (type === 'hkcar_ws') {\n playerType = 'hkcar_ws';\n }\n else {\n playerType = 'hk_ws';\n }\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n const baseUrlPrefix = process.env.PREFIX ? `${process.env.PREFIX}` : '';\n playerType = 'flv';\n playerUrl = baseUrlPrefix + `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n }\n if (url.indexOf('flv') > -1) {\n playerUrl = url;\n playerType = 'flv';\n }\n if (url.indexOf('m3u8') > -1) {\n playerUrl = url;\n playerType = 'hls';\n }\n // 特殊类型\n if (url.indexOf('vtxm3u8') > -1) {\n playerUrl = url;\n playerType = 'vtxhls';\n }\n // 特殊类型\n if (url.indexOf('vtxwhep') > -1) {\n playerUrl = url;\n playerType = 'vtxwhep';\n }\n if (url.indexOf('webrtc') > -1) {\n playerUrl = url;\n playerType = 'webrtc';\n }\n if (url.indexOf('h264') > -1 || url.indexOf('cloudFile') > -1) {\n playerUrl = url;\n playerType = 'h264';\n }\n // rsl\n if (playerType === 'mp4' || playerType === 'iframe' || playerType === 'rsl') {\n return {\n type: playerType,\n url,\n };\n }\n return { url: initProtocol(playerUrl, enableAgent), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n deviceName: data.deviceName,\n deviceCode: data.deviceCode,\n devicePort: data.devicePort,\n deviceIp: data.deviceIp,\n streamType: data.streamType,\n channelName: data.channelName,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || '',\n enableAgent: data.enableAgent || false,\n code: item.code,\n hkType: data.hkType,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nexport const bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nexport const secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\n// export const getFlvListUrl = (\n// totalUrl: string,\n// startTime: moment.MomentInput,\n// endTime: moment.MomentInput\n// ) => {\n// const [url, query] = totalUrl.split('?');\n// const urlParams = new URLSearchParams(query);\n// urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n// urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n// return `${url}?${urlParams.toString()}`;\n// };\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n/**\n *\n * @returns 返回UUID\n */\nexport function guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\nexport function loadJs(path) {\n if (!path || path.length === 0) {\n throw new Error('argument \"path\" is required !');\n }\n const head = document.getElementsByTagName('head')[0];\n const script = document.createElement('script');\n script.src = path;\n script.type = 'text/javascript';\n head.appendChild(script);\n}\nexport function loadCss(path) {\n if (!path || path.length === 0) {\n throw new Error('argument \"path\" is required !');\n }\n const head = document.getElementsByTagName('head')[0];\n const link = document.createElement('link');\n link.href = path;\n link.rel = 'stylesheet';\n link.type = 'text/css';\n head.appendChild(link);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_jsBase","require","_moment","_interopRequireDefault","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","TimeFormat","exports","guidGenerator","S4","Math","random","substring","initProtocol","url","enableAgent","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","type","live","playerUrl","playerType","concat","origin","split","baseUrlPrefix","process","env","PREFIX","Base64","encode","getUrlTableData","data","result","list","map","item","beginTime","moment","endTime","totalSeconds","diff","index","deviceName","deviceCode","devicePort","deviceIp","streamType","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","code","hkType","deviceId","channelNum","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","startTime","_totalUrl$split","_totalUrl$split2","query","urlParams","URLSearchParams","set","getUrlParam","key","href","arguments","undefined","paramObj","matchList","match","r","guid","c","v","loadJs","Error","head","getElementsByTagName","script","createElement","appendChild","loadCss","link","rel"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url, enableAgent) => {\n let src = url;\n if (enableAgent) {\n const isHttps = 'https:' === document.location.protocol;\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n if (url.startsWith('https:')) {\n url = url.replace('https://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith('ws:')) {\n url = url.replace('ws://', '');\n if (url.startsWith('wss:')) {\n url = url.replace('wss://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n const protocol = isHttps ? 'wss://' : 'ws://';\n src = protocol + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n else {\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith('ws:')) {\n url = url.replace('ws://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n else {\n src = url;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (type, url, enableAgent, live) => {\n let playerUrl = url;\n let playerType = 'mp4';\n if (type === 'bd') {\n if (url.startsWith('http')) {\n return {\n type: 'bd',\n url,\n };\n }\n return {\n type: 'bd',\n url: `${window.location.origin}${url}`,\n };\n }\n if (type === 'vtx_ws') {\n return {\n type: 'vtx_ws',\n url,\n };\n }\n else if (url.startsWith('ws://') || url.startsWith('wss://')) {\n if (type === 'hkcar_ws') {\n playerType = 'hkcar_ws';\n }\n else {\n playerType = 'hk_ws';\n }\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n const baseUrlPrefix = process.env.PREFIX ? `${process.env.PREFIX}` : '';\n playerType = 'flv';\n playerUrl = baseUrlPrefix + `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n }\n if (url.indexOf('flv') > -1) {\n playerUrl = url;\n playerType = 'flv';\n }\n if (url.indexOf('m3u8') > -1) {\n playerUrl = url;\n playerType = 'hls';\n }\n // 特殊类型\n if (url.indexOf('vtxm3u8') > -1) {\n playerUrl = url;\n playerType = 'vtxhls';\n }\n // 特殊类型\n if (url.indexOf('vtxwhep') > -1) {\n playerUrl = url;\n playerType = 'vtxwhep';\n }\n if (url.indexOf('webrtc') > -1) {\n playerUrl = url;\n playerType = 'webrtc';\n }\n if (url.indexOf('h264') > -1 || url.indexOf('cloudFile') > -1) {\n playerUrl = url;\n playerType = 'h264';\n }\n // rsl\n if (playerType === 'mp4' || playerType === 'iframe' || playerType === 'rsl') {\n return {\n type: playerType,\n url,\n };\n }\n return { url: initProtocol(playerUrl, enableAgent), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n deviceName: data.deviceName,\n deviceCode: data.deviceCode,\n devicePort: data.devicePort,\n deviceIp: data.deviceIp,\n streamType: data.streamType,\n channelName: data.channelName,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || '',\n enableAgent: data.enableAgent || false,\n code: item.code,\n hkType: data.hkType,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nexport const bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nexport const secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\n// export const getFlvListUrl = (\n// totalUrl: string,\n// startTime: moment.MomentInput,\n// endTime: moment.MomentInput\n// ) => {\n// const [url, query] = totalUrl.split('?');\n// const urlParams = new URLSearchParams(query);\n// urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n// urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n// return `${url}?${urlParams.toString()}`;\n// };\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n/**\n *\n * @returns 返回UUID\n */\nexport function guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\nexport function loadJs(path) {\n if (!path || path.length === 0) {\n throw new Error('argument \"path\" is required !');\n }\n const head = document.getElementsByTagName('head')[0];\n const script = document.createElement('script');\n script.src = path;\n script.type = 'text/javascript';\n head.appendChild(script);\n}\nexport function loadCss(path) {\n if (!path || path.length === 0) {\n throw new Error('argument \"path\" is required !');\n }\n const head = document.getElementsByTagName('head')[0];\n const link = document.createElement('link');\n link.href = path;\n link.rel = 'stylesheet';\n link.type = 'text/css';\n head.appendChild(link);\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA4B,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,eAAAC,GAAA,EAAAC,CAAA,WAAAC,eAAA,CAAAF,GAAA,KAAAG,qBAAA,CAAAH,GAAA,EAAAC,CAAA,KAAAG,2BAAA,CAAAJ,GAAA,EAAAC,CAAA,KAAAI,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAC,IAAA,CAAAP,CAAA,EAAAQ,KAAA,aAAAL,CAAA,iBAAAH,CAAA,CAAAS,WAAA,EAAAN,CAAA,GAAAH,CAAA,CAAAS,WAAA,CAAAC,IAAA,MAAAP,CAAA,cAAAA,CAAA,mBAAAQ,KAAA,CAAAC,IAAA,CAAAZ,CAAA,OAAAG,CAAA,+DAAAU,IAAA,CAAAV,CAAA,UAAAD,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAAT,GAAA,EAAAqB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAArB,GAAA,CAAAsB,MAAA,EAAAD,GAAA,GAAArB,GAAA,CAAAsB,MAAA,WAAArB,CAAA,MAAAsB,IAAA,OAAAL,KAAA,CAAAG,GAAA,GAAApB,CAAA,GAAAoB,GAAA,EAAApB,CAAA,IAAAsB,IAAA,CAAAtB,CAAA,IAAAD,GAAA,CAAAC,CAAA,UAAAsB,IAAA;AAAA,SAAApB,sBAAAH,GAAA,EAAAC,CAAA,QAAAuB,EAAA,WAAAxB,GAAA,gCAAAyB,MAAA,IAAAzB,GAAA,CAAAyB,MAAA,CAAAC,QAAA,KAAA1B,GAAA,4BAAAwB,EAAA,QAAAG,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,IAAA,OAAAC,EAAA,OAAAC,EAAA,iBAAAJ,EAAA,IAAAL,EAAA,GAAAA,EAAA,CAAAV,IAAA,CAAAd,GAAA,GAAAkC,IAAA,QAAAjC,CAAA,QAAAU,MAAA,CAAAa,EAAA,MAAAA,EAAA,UAAAQ,EAAA,uBAAAA,EAAA,IAAAL,EAAA,GAAAE,EAAA,CAAAf,IAAA,CAAAU,EAAA,GAAAW,IAAA,MAAAJ,IAAA,CAAAK,IAAA,CAAAT,EAAA,CAAAU,KAAA,GAAAN,IAAA,CAAAT,MAAA,KAAArB,CAAA,GAAA+B,EAAA,iBAAAM,GAAA,IAAAL,EAAA,OAAAL,EAAA,GAAAU,GAAA,yBAAAN,EAAA,YAAAR,EAAA,eAAAM,EAAA,GAAAN,EAAA,cAAAb,MAAA,CAAAmB,EAAA,MAAAA,EAAA,2BAAAG,EAAA,QAAAL,EAAA,aAAAG,IAAA;AAAA,SAAA7B,gBAAAF,GAAA,QAAAkB,KAAA,CAAAqB,OAAA,CAAAvC,GAAA,UAAAA,GAAA;AAC5B;AACO,IAAIwC,UAAU;AAACC,OAAA,CAAAD,UAAA,GAAAA,UAAA;AACtB,CAAC,UAAUA,UAAU,EAAE;EACnBA,UAAU,CAAC,SAAS,CAAC,GAAG,qBAAqB;EAC7CA,UAAU,CAAC,QAAQ,CAAC,GAAG,qBAAqB;EAC5CA,UAAU,CAAC,KAAK,CAAC,GAAG,iBAAiB;AACzC,CAAC,EAAEA,UAAU,KAAAC,OAAA,CAAAD,UAAA,GAAKA,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;AACnC;AACO,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAS;EAC/B,IAAMC,EAAE,GAAG,SAALA,EAAEA,CAAA,EAAe;IACnB,OAAO,CAAE,CAAC,CAAC,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC,IAAI,OAAO,GAAI,CAAC,EAAEhC,QAAQ,CAAC,EAAE,CAAC,CAACiC,SAAS,CAAC,CAAC,CAAC;EAC1E,CAAC;EACD,OAAOH,EAAE,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,GAAG,GAAG,GAAGA,EAAE,CAAC,CAAC,GAAG,GAAG,GAAGA,EAAE,CAAC,CAAC,GAAG,GAAG,GAAGA,EAAE,CAAC,CAAC,GAAG,GAAG,GAAGA,EAAE,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC;AACxF,CAAC;AAACF,OAAA,CAAAC,aAAA,GAAAA,aAAA;AACF,IAAMK,YAAY,GAAG,SAAfA,YAAYA,CAAIC,GAAG,EAAEC,WAAW,EAAK;EACvC,IAAIC,GAAG,GAAGF,GAAG;EACb,IAAIC,WAAW,EAAE;IACb,IAAME,OAAO,GAAG,QAAQ,KAAKC,QAAQ,CAACC,QAAQ,CAACC,QAAQ;IACvD,IAAIN,GAAG,CAACO,UAAU,CAAC,OAAO,CAAC,EAAE;MACzBP,GAAG,GAAGA,GAAG,CAACQ,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;MAChC,IAAIR,GAAG,CAACO,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC1BP,GAAG,GAAGA,GAAG,CAACQ,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;MACrC;MACA,IAAMC,MAAM,GAAGT,GAAG,CAACF,SAAS,CAAC,CAAC,EAAEE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;MACjD,IAAMC,IAAI,GAAGX,GAAG,CAACF,SAAS,CAACE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;MAC5CR,GAAG,GAAG,YAAY,GAAGO,MAAM,GAAG,OAAO,GAAGE,IAAI;IAChD,CAAC,MACI,IAAIX,GAAG,CAACO,UAAU,CAAC,KAAK,CAAC,EAAE;MAC5BP,GAAG,GAAGA,GAAG,CAACQ,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;MAC9B,IAAIR,GAAG,CAACO,UAAU,CAAC,MAAM,CAAC,EAAE;QACxBP,GAAG,GAAGA,GAAG,CAACQ,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;MACnC;MACA,IAAMC,OAAM,GAAGT,GAAG,CAACF,SAAS,CAAC,CAAC,EAAEE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;MACjD,IAAMC,KAAI,GAAGX,GAAG,CAACF,SAAS,CAACE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;MAC5C,IAAMJ,QAAQ,GAAGH,OAAO,GAAG,QAAQ,GAAG,OAAO;MAC7CD,GAAG,GAAGI,QAAQ,GAAGM,MAAM,CAACP,QAAQ,CAACQ,IAAI,GAAG,YAAY,GAAGJ,OAAM,GAAG,OAAO,GAAGE,KAAI;IAClF;EACJ,CAAC,MACI;IACD,IAAMR,QAAO,GAAG,QAAQ,KAAKC,QAAQ,CAACC,QAAQ,CAACC,QAAQ;IACvD,IAAIH,QAAO,EAAE;MACT,IAAIH,GAAG,CAACO,UAAU,CAAC,OAAO,CAAC,EAAE;QACzBP,GAAG,GAAGA,GAAG,CAACQ,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QAChC,IAAMC,QAAM,GAAGT,GAAG,CAACF,SAAS,CAAC,CAAC,EAAEE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,IAAMC,MAAI,GAAGX,GAAG,CAACF,SAAS,CAACE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5CR,GAAG,GAAG,YAAY,GAAGO,QAAM,GAAG,OAAO,GAAGE,MAAI;MAChD,CAAC,MACI,IAAIX,GAAG,CAACO,UAAU,CAAC,KAAK,CAAC,EAAE;QAC5BP,GAAG,GAAGA,GAAG,CAACQ,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9B,IAAMC,QAAM,GAAGT,GAAG,CAACF,SAAS,CAAC,CAAC,EAAEE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,IAAMC,MAAI,GAAGX,GAAG,CAACF,SAAS,CAACE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5CR,GAAG,GAAG,QAAQ,GAAGU,MAAM,CAACP,QAAQ,CAACQ,IAAI,GAAG,YAAY,GAAGJ,QAAM,GAAG,OAAO,GAAGE,MAAI;MAClF,CAAC,MACI;QACDT,GAAG,GAAGF,GAAG;MACb;IACJ;EACJ;EACA,OAAOE,GAAG;AACd,CAAC;AACD;AACA;AACA;AACA;AACA;AACO,IAAMY,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAI,EAAEf,GAAG,EAAEC,WAAW,EAAEe,IAAI,EAAK;EAC7D,IAAIC,SAAS,GAAGjB,GAAG;EACnB,IAAIkB,UAAU,GAAG,KAAK;EACtB,IAAIH,IAAI,KAAK,IAAI,EAAE;IACf,IAAIf,GAAG,CAACO,UAAU,CAAC,MAAM,CAAC,EAAE;MACxB,OAAO;QACHQ,IAAI,EAAE,IAAI;QACVf,GAAG,EAAHA;MACJ,CAAC;IACL;IACA,OAAO;MACHe,IAAI,EAAE,IAAI;MACVf,GAAG,KAAAmB,MAAA,CAAKP,MAAM,CAACP,QAAQ,CAACe,MAAM,EAAAD,MAAA,CAAGnB,GAAG;IACxC,CAAC;EACL;EACA,IAAIe,IAAI,KAAK,QAAQ,EAAE;IACnB,OAAO;MACHA,IAAI,EAAE,QAAQ;MACdf,GAAG,EAAHA;IACJ,CAAC;EACL,CAAC,MACI,IAAIA,GAAG,CAACO,UAAU,CAAC,OAAO,CAAC,IAAIP,GAAG,CAACO,UAAU,CAAC,QAAQ,CAAC,EAAE;IAC1D,IAAIQ,IAAI,KAAK,UAAU,EAAE;MACrBG,UAAU,GAAG,UAAU;IAC3B,CAAC,MACI;MACDA,UAAU,GAAG,OAAO;IACxB;IACA,IAAIF,IAAI,EAAE;MACNC,SAAS,GAAGjB,GAAG;IACnB,CAAC,MACI;MACDiB,SAAS,GAAGjB,GAAG,CAACqB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC;EACJ;EACA,IAAIrB,GAAG,CAACO,UAAU,CAAC,SAAS,CAAC,EAAE;IAC3B,IAAMe,aAAa,GAAGC,OAAO,CAACC,GAAG,CAACC,MAAM,MAAAN,MAAA,CAAMI,OAAO,CAACC,GAAG,CAACC,MAAM,IAAK,EAAE;IACvEP,UAAU,GAAG,KAAK;IAClBD,SAAS,GAAGK,aAAa,0CAAAH,MAAA,CAA0CO,cAAM,CAACC,MAAM,CAAC3B,GAAG,CAAC,CAAE;EAC3F;EACA,IAAIA,GAAG,CAACU,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;IACzBO,SAAS,GAAGjB,GAAG;IACfkB,UAAU,GAAG,KAAK;EACtB;EACA,IAAIlB,GAAG,CAACU,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;IAC1BO,SAAS,GAAGjB,GAAG;IACfkB,UAAU,GAAG,KAAK;EACtB;EACA;EACA,IAAIlB,GAAG,CAACU,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;IAC7BO,SAAS,GAAGjB,GAAG;IACfkB,UAAU,GAAG,QAAQ;EACzB;EACA;EACA,IAAIlB,GAAG,CAACU,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;IAC7BO,SAAS,GAAGjB,GAAG;IACfkB,UAAU,GAAG,SAAS;EAC1B;EACA,IAAIlB,GAAG,CAACU,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;IAC5BO,SAAS,GAAGjB,GAAG;IACfkB,UAAU,GAAG,QAAQ;EACzB;EACA,IAAIlB,GAAG,CAACU,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAIV,GAAG,CAACU,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;IAC3DO,SAAS,GAAGjB,GAAG;IACfkB,UAAU,GAAG,MAAM;EACvB;EACA;EACA,IAAIA,UAAU,KAAK,KAAK,IAAIA,UAAU,KAAK,QAAQ,IAAIA,UAAU,KAAK,KAAK,EAAE;IACzE,OAAO;MACHH,IAAI,EAAEG,UAAU;MAChBlB,GAAG,EAAHA;IACJ,CAAC;EACL;EACA,OAAO;IAAEA,GAAG,EAAED,YAAY,CAACkB,SAAS,EAAEhB,WAAW,CAAC;IAAEc,IAAI,EAAEG;EAAW,CAAC;AAC1E,CAAC;AACD;AACA;AACA;AACA;AACA;AAJAzB,OAAA,CAAAqB,eAAA,GAAAA,eAAA;AAKO,IAAMc,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAI,EAAK;EACrC,IAAMC,MAAM,GAAGD,IAAI,CAACE,IAAI,CAACC,GAAG,CAAC,UAACC,IAAI,EAAEhF,CAAC,EAAK;IACtC,IAAMiF,SAAS,GAAG,IAAAC,kBAAM,EAACF,IAAI,CAACC,SAAS,CAAC;IACxC,IAAME,OAAO,GAAG,IAAAD,kBAAM,EAACF,IAAI,CAACG,OAAO,CAAC;IACpC,IAAMC,YAAY,GAAG,IAAAF,kBAAM,EAACC,OAAO,CAAC,CAACE,IAAI,CAAC,IAAAH,kBAAM,EAACD,SAAS,CAAC,EAAE,SAAS,CAAC;IACvE,OAAO;MACHK,KAAK,EAAEtF,CAAC,GAAG,CAAC;MACZuF,UAAU,EAAEX,IAAI,CAACW,UAAU;MAC3BC,UAAU,EAAEZ,IAAI,CAACY,UAAU;MAC3BC,UAAU,EAAEb,IAAI,CAACa,UAAU;MAC3BC,QAAQ,EAAEd,IAAI,CAACc,QAAQ;MACvBC,UAAU,EAAEf,IAAI,CAACe,UAAU;MAC3BC,WAAW,EAAEhB,IAAI,CAACgB,WAAW;MAC7BX,SAAS,EAAEA,SAAS,CAACY,MAAM,CAACtD,UAAU,CAACuD,MAAM,CAAC;MAC9CX,OAAO,EAAEA,OAAO,CAACU,MAAM,CAACtD,UAAU,CAACuD,MAAM,CAAC;MAC1CC,IAAI,EAAEC,gBAAgB,CAAChB,IAAI,CAACe,IAAI,CAAC;MACjCE,QAAQ,EAAEC,eAAe,CAACd,YAAY,CAAC;MACvCe,WAAW,EAAE,EAAE;MACfpD,GAAG,EAAEiC,IAAI,CAACoB,WAAW,IAAI,EAAE;MAC3BpD,WAAW,EAAE4B,IAAI,CAAC5B,WAAW,IAAI,KAAK;MACtCqD,IAAI,EAAErB,IAAI,CAACqB,IAAI;MACfC,MAAM,EAAE1B,IAAI,CAAC0B,MAAM;MACnBC,QAAQ,EAAE3B,IAAI,CAAC2B,QAAQ;MACvBC,UAAU,EAAE5B,IAAI,CAAC4B;IACrB,CAAC;EACL,CAAC,CAAC;EACF,OAAO3B,MAAM;AACjB,CAAC;AACD;AACA;AACA;AACA;AACA;AAJArC,OAAA,CAAAmC,eAAA,GAAAA,eAAA;AAKO,IAAMqB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIS,KAAK;EAAA,UAAAvC,MAAA,CAAQ,CAACuC,KAAK,GAAG9D,IAAI,CAAC+D,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAEC,OAAO,CAAC,CAAC,CAAC;AAAA,CAAI;AACxF;AACA;AACA;AACA;AACA;AAJAnE,OAAA,CAAAwD,gBAAA,GAAAA,gBAAA;AAKO,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAIU,KAAK,EAAK;EACtC,IAAMC,IAAI,GAAGlE,IAAI,CAACmE,KAAK,CAACF,KAAK,GAAG,IAAI,CAAC;EACrC,IAAMG,MAAM,GAAGpE,IAAI,CAACmE,KAAK,CAAEF,KAAK,GAAG,IAAI,GAAI,EAAE,CAAC;EAC9C,IAAMI,MAAM,GAAGrE,IAAI,CAACmE,KAAK,CAACF,KAAK,GAAG,EAAE,CAAC;EACrC,IAAM/B,MAAM,MAAAX,MAAA,CAAM2C,IAAI,GAAG,CAAC,GAAGA,IAAI,GAAG,IAAI,GAAG,EAAE,EAAA3C,MAAA,CAAG6C,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,GAAG,GAAG,EAAE,EAAA7C,MAAA,CAAG8C,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,GAAG,GAAG,EAAE,CAAE;EACjH,OAAOnC,MAAM;AACjB,CAAC;AACD;AACA;AACA;AACA;AACA;AAJArC,OAAA,CAAA0D,eAAA,GAAAA,eAAA;AAKO,IAAMe,aAAa,GAAG,SAAhBA,aAAaA,CAAIL,KAAK,EAAK;EACpC,IAAMC,IAAI,GAAGlE,IAAI,CAACmE,KAAK,CAACF,KAAK,GAAG,IAAI,CAAC;EACrC,IAAMG,MAAM,GAAGpE,IAAI,CAACmE,KAAK,CAAEF,KAAK,GAAG,IAAI,GAAI,EAAE,CAAC;EAC9C,IAAMI,MAAM,GAAGrE,IAAI,CAACmE,KAAK,CAACF,KAAK,GAAG,EAAE,CAAC;EACrC,IAAM/B,MAAM,MAAAX,MAAA,CAAM2C,IAAI,IAAI,EAAE,GAAGA,IAAI,GAAG,GAAG,GAAGA,IAAI,OAAA3C,MAAA,CAAI6C,MAAM,IAAI,EAAE,GAAGA,MAAM,GAAG,GAAG,GAAGA,MAAM,OAAA7C,MAAA,CAAI8C,MAAM,IAAI,EAAE,GAAGA,MAAM,GAAG,GAAG,GAAGA,MAAM,CAAE;EAClI,OAAOnC,MAAM;AACjB,CAAC;AACD;AACA;AACA;AACA;AACA;AAJArC,OAAA,CAAAyE,aAAA,GAAAA,aAAA;AAKO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAI,EAAK;EACrC,OAAO,IAAAjC,kBAAM,EAACiC,IAAI,CAAC,CAACtB,MAAM,CAACtD,UAAU,WAAQ,CAAC,GAAG,GAAG;AACxD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AANAC,OAAA,CAAA0E,eAAA,GAAAA,eAAA;AAOO,IAAME,YAAY,GAAG,SAAfA,YAAYA,CAAIC,QAAQ,EAAEC,SAAS,EAAEnC,OAAO,EAAK;EAC1D,IAAAoC,eAAA,GAAqBF,QAAQ,CAACjD,KAAK,CAAC,GAAG,CAAC;IAAAoD,gBAAA,GAAA1H,cAAA,CAAAyH,eAAA;IAAjCxE,GAAG,GAAAyE,gBAAA;IAAEC,KAAK,GAAAD,gBAAA;EACjB,IAAME,SAAS,GAAG,IAAIC,eAAe,CAACF,KAAK,CAAC;EAC5CC,SAAS,CAACE,GAAG,CAAC,WAAW,EAAEV,eAAe,CAACI,SAAS,CAAC,CAAC;EACtDI,SAAS,CAACE,GAAG,CAAC,SAAS,EAAEV,eAAe,CAAC/B,OAAO,CAAC,CAAC;EAClD,UAAAjB,MAAA,CAAUnB,GAAG,OAAAmB,MAAA,CAAIwD,SAAS,CAAC9G,QAAQ,CAAC,CAAC;AACzC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA4B,OAAA,CAAA4E,YAAA,GAAAA,YAAA;AAMO,IAAMS,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAAG,EAAkC;EAAA,IAAhCC,IAAI,GAAAC,SAAA,CAAA3G,MAAA,QAAA2G,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAGrE,MAAM,CAACP,QAAQ,CAAC2E,IAAI;EACxD,IAAMG,QAAQ,GAAG,CAAC,CAAC;EACnB,IAAMC,SAAS,GAAGJ,IAAI,CAACK,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE;EAC3D,KAAK,IAAIpI,CAAC,GAAG,CAAC,EAAEoB,GAAG,GAAG+G,SAAS,CAAC9G,MAAM,EAAErB,CAAC,GAAGoB,GAAG,EAAEpB,CAAC,EAAE,EAAE;IAClD,IAAMqI,CAAC,GAAGF,SAAS,CAACnI,CAAC,CAAC,CAACoI,KAAK,CAAC,qBAAqB,CAAC;IACnDF,QAAQ,CAACG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC;EACzB;EACA,IAAIP,GAAG,EAAE;IACL,OAAOI,QAAQ,CAACJ,GAAG,CAAC;EACxB,CAAC,MACI;IACD,OAAOI,QAAQ;EACnB;AACJ,CAAC;AACD;AACA;AACA;AACA;AAHA1F,OAAA,CAAAqF,WAAA,GAAAA,WAAA;AAIO,SAASS,IAAIA,CAAA,EAAG;EACnB,OAAO,sCAAsC,CAAC/E,OAAO,CAAC,OAAO,EAAE,UAAUgF,CAAC,EAAE;IACxE,IAAMF,CAAC,GAAI1F,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAI,CAAC;MAAE4F,CAAC,GAAGD,CAAC,IAAI,GAAG,GAAGF,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAI,GAAG;IACtE,OAAOG,CAAC,CAAC5H,QAAQ,CAAC,EAAE,CAAC;EACzB,CAAC,CAAC;AACN;AACO,SAAS6H,MAAMA,CAAC/E,IAAI,EAAE;EACzB,IAAI,CAACA,IAAI,IAAIA,IAAI,CAACrC,MAAM,KAAK,CAAC,EAAE;IAC5B,MAAM,IAAIqH,KAAK,CAAC,+BAA+B,CAAC;EACpD;EACA,IAAMC,IAAI,GAAGxF,QAAQ,CAACyF,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACrD,IAAMC,MAAM,GAAG1F,QAAQ,CAAC2F,aAAa,CAAC,QAAQ,CAAC;EAC/CD,MAAM,CAAC5F,GAAG,GAAGS,IAAI;EACjBmF,MAAM,CAAC/E,IAAI,GAAG,iBAAiB;EAC/B6E,IAAI,CAACI,WAAW,CAACF,MAAM,CAAC;AAC5B;AACO,SAASG,OAAOA,CAACtF,IAAI,EAAE;EAC1B,IAAI,CAACA,IAAI,IAAIA,IAAI,CAACrC,MAAM,KAAK,CAAC,EAAE;IAC5B,MAAM,IAAIqH,KAAK,CAAC,+BAA+B,CAAC;EACpD;EACA,IAAMC,IAAI,GAAGxF,QAAQ,CAACyF,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACrD,IAAMK,IAAI,GAAG9F,QAAQ,CAAC2F,aAAa,CAAC,MAAM,CAAC;EAC3CG,IAAI,CAAClB,IAAI,GAAGrE,IAAI;EAChBuF,IAAI,CAACC,GAAG,GAAG,YAAY;EACvBD,IAAI,CAACnF,IAAI,GAAG,UAAU;EACtB6E,IAAI,CAACI,WAAW,CAACE,IAAI,CAAC;AAC1B"}