@vtx/player 1.10.9 → 1.10.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/fetch.js +71 -68
- package/lib/api/fetch.js.map +1 -1
- package/lib/api/index.js +51 -33
- package/lib/api/index.js.map +1 -1
- package/lib/api/types.d.ts +5 -5
- package/lib/api/types.js +1 -0
- package/lib/api/types.js.map +1 -1
- package/lib/bd/PlayerManager.js +7 -8
- package/lib/bd/PlayerManager.js.map +1 -1
- package/lib/bill-player/index.d.ts +1 -1
- package/lib/bill-player/index.js +11 -9
- package/lib/bill-player/index.js.map +1 -1
- package/lib/components/download-tag/index.js +13 -13
- package/lib/components/download-tag/index.js.map +1 -1
- package/lib/components/set-tag-video/index.js +8 -7
- package/lib/components/set-tag-video/index.js.map +1 -1
- package/lib/components/split-screen/index.d.ts +1 -1
- package/lib/components/split-screen/index.js +5 -3
- package/lib/components/split-screen/index.js.map +1 -1
- package/lib/components/tag-video/index.js +11 -10
- package/lib/components/tag-video/index.js.map +1 -1
- package/lib/components/video-scale/index.d.ts +1 -1
- package/lib/components/video-scale/index.js +3 -2
- package/lib/components/video-scale/index.js.map +1 -1
- package/lib/config.js +3 -2
- package/lib/config.js.map +1 -1
- package/lib/context/index.js +5 -3
- package/lib/context/index.js.map +1 -1
- package/lib/controls/index.d.ts +11 -11
- package/lib/controls/index.js +22 -14
- package/lib/controls/index.js.map +1 -1
- package/lib/h264/PlayerManager.js +7 -8
- package/lib/h264/PlayerManager.js.map +1 -1
- package/lib/history-control/index.d.ts +2 -2
- package/lib/history-control/index.js +10 -8
- package/lib/history-control/index.js.map +1 -1
- package/lib/history-control-v2/components/grid-item/index.js +11 -10
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
- package/lib/history-control-v2/components/panel/VideoTable.d.ts +1 -1
- package/lib/history-control-v2/components/panel/VideoTable.js +54 -50
- package/lib/history-control-v2/components/panel/VideoTable.js.map +1 -1
- package/lib/history-control-v2/components/panel/index.js +36 -21
- package/lib/history-control-v2/components/panel/index.js.map +1 -1
- package/lib/history-control-v2/context.js +2 -1
- package/lib/history-control-v2/context.js.map +1 -1
- package/lib/history-control-v2/index.d.ts +4 -4
- package/lib/history-control-v2/index.js +78 -73
- package/lib/history-control-v2/index.js.map +1 -1
- package/lib/history-control-v2/utils.js +20 -13
- package/lib/history-control-v2/utils.js.map +1 -1
- package/lib/history-player/index.d.ts +1 -1
- package/lib/history-player/index.js +177 -173
- package/lib/history-player/index.js.map +1 -1
- package/lib/hooks/useSettings.js +2 -1
- package/lib/hooks/useSettings.js.map +1 -1
- package/lib/icc/PlayerManager.js +8 -9
- package/lib/icc/PlayerManager.js.map +1 -1
- package/lib/icc/api.d.ts +68 -0
- package/lib/icc/api.js +3 -2
- package/lib/icc/api.js.map +1 -1
- package/lib/icons/index.d.ts +37 -37
- package/lib/icons/index.js +103 -65
- package/lib/icons/index.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/live-channel-player/index.d.ts +1 -1
- package/lib/live-channel-player/index.js +32 -28
- package/lib/live-channel-player/index.js.map +1 -1
- package/lib/live-control/index.d.ts +2 -2
- package/lib/live-control/index.js +13 -12
- package/lib/live-control/index.js.map +1 -1
- package/lib/live-control-v2/index.d.ts +3 -3
- package/lib/live-control-v2/index.js +20 -18
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-player/index.js +129 -126
- package/lib/live-player/index.js.map +1 -1
- package/lib/mpegts/PlayerManager.js +7 -8
- package/lib/mpegts/PlayerManager.js.map +1 -1
- package/lib/player/BdPlayer.d.ts +1 -1
- package/lib/player/BdPlayer.js +29 -26
- package/lib/player/BdPlayer.js.map +1 -1
- package/lib/player/FlvPlayer.d.ts +1 -1
- package/lib/player/FlvPlayer.js +20 -17
- package/lib/player/FlvPlayer.js.map +1 -1
- package/lib/player/H264Player.d.ts +1 -1
- package/lib/player/H264Player.js +20 -17
- package/lib/player/H264Player.js.map +1 -1
- package/lib/player/HkcarwsPlayer.d.ts +1 -1
- package/lib/player/HkcarwsPlayer.js +25 -22
- package/lib/player/HkcarwsPlayer.js.map +1 -1
- package/lib/player/HkwsPlayer.d.ts +1 -1
- package/lib/player/HkwsPlayer.js +25 -22
- package/lib/player/HkwsPlayer.js.map +1 -1
- package/lib/player/HlsPlayer.d.ts +1 -1
- package/lib/player/HlsPlayer.js +20 -17
- package/lib/player/HlsPlayer.js.map +1 -1
- package/lib/player/IccwsPlayer.d.ts +1 -1
- package/lib/player/IccwsPlayer.js +22 -19
- package/lib/player/IccwsPlayer.js.map +1 -1
- package/lib/player/IframePlayer.d.ts +3 -1
- package/lib/player/IframePlayer.js +46 -34
- package/lib/player/IframePlayer.js.map +1 -1
- package/lib/player/Mp4Player.d.ts +1 -1
- package/lib/player/Mp4Player.js +20 -17
- package/lib/player/Mp4Player.js.map +1 -1
- package/lib/player/RslPlayer.d.ts +1 -1
- package/lib/player/RslPlayer.js +20 -17
- package/lib/player/RslPlayer.js.map +1 -1
- package/lib/player/VtxHlsPlayer.d.ts +1 -1
- package/lib/player/VtxHlsPlayer.js +20 -17
- package/lib/player/VtxHlsPlayer.js.map +1 -1
- package/lib/player/VtxwhepPlayer.d.ts +1 -1
- package/lib/player/VtxwhepPlayer.js +20 -17
- package/lib/player/VtxwhepPlayer.js.map +1 -1
- package/lib/player/VtxwsPlayer.d.ts +1 -1
- package/lib/player/VtxwsPlayer.js +22 -19
- package/lib/player/VtxwsPlayer.js.map +1 -1
- package/lib/player/WebrtcPlayer.d.ts +1 -1
- package/lib/player/WebrtcPlayer.js +20 -17
- package/lib/player/WebrtcPlayer.js.map +1 -1
- package/lib/player/WfsPlayer.d.ts +1 -1
- package/lib/player/WfsPlayer.js +20 -17
- package/lib/player/WfsPlayer.js.map +1 -1
- package/lib/player/index.js +1 -1
- package/lib/player/index.js.map +1 -1
- package/lib/player/indexOld.d.ts +1 -1
- package/lib/player/indexOld.js +101 -98
- package/lib/player/indexOld.js.map +1 -1
- package/lib/rsl/PlayerManager.d.ts +1 -1
- package/lib/rsl/PlayerManager.js +7 -8
- package/lib/rsl/PlayerManager.js.map +1 -1
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +27 -16
- package/lib/utils/index.js.map +1 -1
- package/lib/vtxHls/PlayerManager.js +7 -8
- package/lib/vtxHls/PlayerManager.js.map +1 -1
- package/lib/vtxHls/WhepManager.js +10 -11
- package/lib/vtxHls/WhepManager.js.map +1 -1
- package/lib/webrtc/PlayerManager.js +7 -8
- package/lib/webrtc/PlayerManager.js.map +1 -1
- package/lib/wfs/PlayerManager.js +7 -8
- package/lib/wfs/PlayerManager.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_splitScreen","_interopRequireDefault","_videoScale","_controls","_icons","_livePlayer","_icons2","_utils","_ahooks","_space","_moment","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","t","toString","call","slice","constructor","name","test","length","n","l","i","u","f","o","next","Object","done","push","value","DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","fill","channelNum","channelId","LiveControlV2","forwardRef","props","ref","_props$height","height","_props$width","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","_props$gridChange","gridChange","onScreenshot","scale","defaultGrid","_useSetState","useSetState","expand","grid","activeIndex","channels","_useSetState2","state","setState","dragRef","useRef","playRefs","wrapRef","latestGrid","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","newChannels","getActiveIndex","multiLoad","init","arguments","undefined","adapt","getGrid","Number","channelLength","filter","v","map","item","_a","_b","_loop","_i","isRepeat","find","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","values","forEach","player","saveRecordFetch","handleExpand","resizeAll","updateScale","timer","setTimeout","resize","clearTimeout","closeVideo","currChannels","getGridItems","items","_loop2","element","_jsx","GridItem","active","onClick","onClose","moment","format","_index","el","parentNode","previousElementSibling","findParent","className","indexOf","_jsxs","assign","style","children","concat","onDragStart","target","onDragOver","indexDraging","indexTarget","insertBefore","nextSibling","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","_useState","useState","_useState2","actData","setActData","loading","getPreviewUrl","then","res","deviceName","channelName","_useSetState3","_useSetState4","_useSetState4$","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","draggable","url","_Fragment","PlayerHeader","VtxLivePlayer","beenHasVideo","deviceIp","devicePort","captureName","deviceId","enableAgent","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getVtxToken","ptzType","reload","currentIndex","currentChannels","grids","len","_default","exports"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState, } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { getVtxToken } from '@vtx/utils';\nimport { useFullscreen, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nconst DEFAULT_GRID = 4;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(25).fill({ channelNum: '', channelId: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onVideoCloseAll, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, scale, defaultGrid, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: defaultGrid || DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: scale || '100%',\n });\n const dragRef = useRef(null);\n const playRefs = useRef({});\n const wrapRef = useRef(null);\n const latestGrid = useRef(defaultGrid || DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\n // const timer = setTimeout(() => {\n // setState({\n // channels: channelRef.current,\n // });\n // clearTimeout(timer);\n // }, 0);\n // }\n // }, polling);\n useImperativeHandle(ref, () => {\n return {\n setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '', channelId: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n const channelLength = channelRef.current.filter((v) => v.channelNum || v.channelId).length +\n channels.length;\n adapt && (grid = getGrid(channelLength));\n newChannels = [...new Array(grid)].map((item, index) => {\n var _a, _b;\n if (((_a = channelRef.current[index]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n ((_b = channelRef.current[index]) === null || _b === void 0 ? void 0 : _b.channelId)) {\n return channelRef.current[index];\n }\n return { channelNum: '', channelId: '' };\n });\n for (let i = 0; i < channels.length; i++) {\n const isRepeat = newChannels.find((item) => {\n var _a, _b;\n return (item === null || item === void 0 ? void 0 : item.channelNum) === ((_a = channels[i]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n (item === null || item === void 0 ? void 0 : item.channelId) === ((_b = channels[i]) === null || _b === void 0 ? void 0 : _b.channelId);\n });\n // 如果之前在播放,则不需重复打开新窗口\n if (!isRepeat) {\n const index = getActiveIndex(newChannels, grid, activeIndex);\n // 如果相等,说明没有空闲窗口\n // if (index === activeIndex) {\n // break;\n // }\n if (activeIndex === grid)\n break;\n newChannels[index] = channels[i] || { channelNum: '', channelId: '' };\n activeIndex = index + 1;\n }\n }\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels, activeIndex });\n },\n unLoad: (channelId) => {\n const index = channelRef.current.findIndex((c) => c.channelId === channelId);\n if (~index) {\n // 卸载通道\n const newChannels = [...channelRef.current];\n newChannels[index] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll,\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum || !!c.channelId));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n Object.values(playRefs.current).forEach((player) => {\n player && player.saveRecordFetch();\n });\n setState({\n activeIndex: DEFAULT_ACTIVE,\n });\n channelRef.current = DEFAULT_CHANNELS;\n updateChannels(DEFAULT_CHANNELS);\n onVideoCloseAll && onVideoCloseAll();\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const updateGrid = (grid) => {\n let newChannels = [...channelRef.current];\n if (grid > newChannels.length) {\n newChannels = DEFAULT_CHANNELS.slice(0, grid).map((item, index) => {\n return newChannels[index] ? newChannels[index] : item;\n });\n }\n else {\n newChannels = newChannels.slice(0, grid);\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels });\n // 重置视频大小\n resizeAll();\n };\n const updateScale = (scale) => {\n setState({ scale });\n // 重置视频大小\n resizeAll();\n };\n // 重置所有视频大小\n const resizeAll = () => {\n const timer = setTimeout(() => {\n Object.values(playRefs.current).forEach((player) => {\n player && player.resize();\n });\n clearTimeout(timer);\n }, 100);\n };\n const updateChannels = (channels) => {\n channelRef.current = channels;\n setState({ channels });\n };\n // 关闭视频\n const closeVideo = (i) => {\n const currChannels = [...channelRef.current];\n const newChannels = [...channelRef.current];\n newChannels[i] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n onVideoClose && onVideoClose(currChannels[i], newChannels);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(latestGrid.current); i++) {\n const element = (_jsx(GridItem, { ref: (ref) => {\n playRefs.current[i] = ref;\n }, active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: channelRef.current[i] || { channelNum: '', channelId: '' }, onClose: () => {\n var _a;\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n (_a = playRefs.current[i]) === null || _a === void 0 ? void 0 : _a.saveRecordFetch(moment().format('YYYY-MM-DD HH:mm:ss'));\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n function _index(el) {\n let index = 0;\n if (!el || !el.parentNode) {\n return -1;\n }\n // previousElementSibling:上一个兄弟元素\n while (el && (el = el.previousElementSibling)) {\n index++;\n }\n return index;\n }\n function findParent(el, className) {\n if (el.className &&\n typeof el.className == 'string' &&\n el.className.indexOf(className) > -1) {\n return el;\n }\n return findParent(el.parentNode, className);\n }\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}`, onDragStart: (e) => {\n dragRef.current = e.target;\n }, onDragOver: (e) => {\n if (!e.target) {\n return;\n }\n let target = e.target;\n if (target == null) {\n return;\n }\n target = findParent(target, 'grid-item-container');\n const indexDraging = _index(dragRef.current), indexTarget = _index(target);\n try {\n if (indexDraging < indexTarget) {\n // 目标比元素大,插到其后面\n // extSibling下一个兄弟元素\n target.parentNode.insertBefore(dragRef.current, target.nextSibling);\n }\n else if (indexDraging > indexTarget) {\n // 目标比元素小,插到其前面\n target.parentNode.insertBefore(dragRef.current, target);\n }\n resizeAll();\n }\n catch (e) {\n //\n }\n } }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), gridChange ? (_jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))) : (_jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] }))), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => updateScale(scale) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = forwardRef((props, ref) => {\n const { active, onClick, channel, onClose, onScreenshot, scale } = props;\n const empty = !channel.channelNum && !channel.channelId;\n const [actData, setActData] = useState({});\n const loading = false;\n useEffect(() => {\n if ((channel === null || channel === void 0 ? void 0 : channel.channelNum) || channel.channelId) {\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n }\n else {\n setActData({});\n }\n }, [channel === null || channel === void 0 ? void 0 : channel.channelNum, channel === null || channel === void 0 ? void 0 : channel.channelId]);\n const name = `${actData === null || actData === void 0 ? void 0 : actData.deviceName}-${actData === null || actData === void 0 ? void 0 : actData.channelName}`;\n const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n const handlePtzType = (type) => {\n const types = {\n 1: 'all',\n 2: 'onlyFocus',\n 3: 'onlyRotate',\n 4: 'none',\n };\n return types[type];\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef, draggable: true }, { children: (actData === null || actData === void 0 ? void 0 : actData.url) && (_jsxs(_Fragment, { children: [!empty && _jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(VtxLivePlayer, { ref: ref, empty: empty, beenHasVideo: actData.beenHasVideo, url: actData.url, type: actData === null || actData === void 0 ? void 0 : actData.player, deviceIp: actData.deviceIp, devicePort: actData.devicePort, captureName: name, deviceId: actData.deviceId, channelId: channel.channelId, channelNum: actData.channelNum, enableAgent: actData.enableAgent, deviceCode: actData.deviceCode, streamType: actData.streamType, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: actData.channelNum,\n deviceId: actData.deviceId,\n tenantId: getVtxToken('tenantId'),\n },\n type: handlePtzType((actData === null || actData === void 0 ? void 0 : actData.ptzType) || 4),\n }, reload: () => {\n setActData({ url: '' });\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n }, onClose: onClose }) })) }))] })) })));\n});\nGridItem.displayName = 'grid-item';\n/**\n * 获取当前激活的网格\n * @param channels 现有通道数组\n * @param grid 当前网格状态\n * @param currentIndex 当前索引\n * @returns\n */\nconst getActiveIndex = (channels, grid, currentIndex) => {\n const currentChannels = channels.slice(0, Number(grid));\n for (let i = currentIndex; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n return currentIndex;\n};\nconst grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];\n/**\n * 获取布局\n * @param len 通道数量\n */\nconst getGrid = (len) => {\n let grid;\n for (let i = 0; i < grids.length; i++) {\n if (grids[i] - len >= 0) {\n grid = grids[i];\n break;\n }\n }\n return grid > 25 ? 25 : grid;\n};\nexport default LiveControlV2;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_splitScreen","_interopRequireDefault","_videoScale","_controls","_icons","_livePlayer","_icons2","_utils","_ahooks","_space","_moment","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","i","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","Object","prototype","toString","call","slice","constructor","name","test","len","length","arr2","_i","_arr","_n","_d","_s","_e","next","done","push","value","err","DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","fill","channelNum","channelId","LiveControlV2","forwardRef","props","ref","_props$height","height","_props$width","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","_props$gridChange","gridChange","onScreenshot","scale","defaultGrid","_useSetState","useSetState","expand","grid","activeIndex","channels","_useSetState2","state","setState","dragRef","useRef","playRefs","wrapRef","latestGrid","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","newChannels","getActiveIndex","multiLoad","init","arguments","undefined","adapt","getGrid","Number","channelLength","filter","v","map","item","_a","_b","_loop","isRepeat","find","_ret","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","values","forEach","player","saveRecordFetch","handleExpand","resizeAll","updateScale","timer","setTimeout","resize","clearTimeout","closeVideo","currChannels","getGridItems","items","_loop2","element","_jsx","GridItem","active","onClick","onClose","moment","format","_index","el","parentNode","previousElementSibling","findParent","className","indexOf","_jsxs","assign","style","children","concat","onDragStart","e","target","onDragOver","indexDraging","indexTarget","insertBefore","nextSibling","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","_useState","useState","_useState2","actData","setActData","loading","getPreviewUrl","then","res","deviceName","channelName","_useSetState3","_useSetState4","_useSetState4$","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","draggable","url","_Fragment","PlayerHeader","VtxLivePlayer","beenHasVideo","deviceIp","devicePort","captureName","deviceId","enableAgent","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getVtxToken","ptzType","reload","currentIndex","currentChannels","grids","_default","exports"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState, } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { getVtxToken } from '@vtx/utils';\nimport { useFullscreen, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nconst DEFAULT_GRID = 4;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(25).fill({ channelNum: '', channelId: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onVideoCloseAll, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, scale, defaultGrid, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: defaultGrid || DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: scale || '100%',\n });\n const dragRef = useRef(null);\n const playRefs = useRef({});\n const wrapRef = useRef(null);\n const latestGrid = useRef(defaultGrid || DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\n // const timer = setTimeout(() => {\n // setState({\n // channels: channelRef.current,\n // });\n // clearTimeout(timer);\n // }, 0);\n // }\n // }, polling);\n useImperativeHandle(ref, () => {\n return {\n setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '', channelId: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n const channelLength = channelRef.current.filter((v) => v.channelNum || v.channelId).length +\n channels.length;\n adapt && (grid = getGrid(channelLength));\n newChannels = [...new Array(grid)].map((item, index) => {\n var _a, _b;\n if (((_a = channelRef.current[index]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n ((_b = channelRef.current[index]) === null || _b === void 0 ? void 0 : _b.channelId)) {\n return channelRef.current[index];\n }\n return { channelNum: '', channelId: '' };\n });\n for (let i = 0; i < channels.length; i++) {\n const isRepeat = newChannels.find((item) => {\n var _a, _b;\n return (item === null || item === void 0 ? void 0 : item.channelNum) === ((_a = channels[i]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n (item === null || item === void 0 ? void 0 : item.channelId) === ((_b = channels[i]) === null || _b === void 0 ? void 0 : _b.channelId);\n });\n // 如果之前在播放,则不需重复打开新窗口\n if (!isRepeat) {\n const index = getActiveIndex(newChannels, grid, activeIndex);\n // 如果相等,说明没有空闲窗口\n // if (index === activeIndex) {\n // break;\n // }\n if (activeIndex === grid)\n break;\n newChannels[index] = channels[i] || { channelNum: '', channelId: '' };\n activeIndex = index + 1;\n }\n }\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels, activeIndex });\n },\n unLoad: (channelId) => {\n const index = channelRef.current.findIndex((c) => c.channelId === channelId);\n if (~index) {\n // 卸载通道\n const newChannels = [...channelRef.current];\n newChannels[index] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll,\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum || !!c.channelId));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n Object.values(playRefs.current).forEach((player) => {\n player && player.saveRecordFetch();\n });\n setState({\n activeIndex: DEFAULT_ACTIVE,\n });\n channelRef.current = DEFAULT_CHANNELS;\n updateChannels(DEFAULT_CHANNELS);\n onVideoCloseAll && onVideoCloseAll();\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const updateGrid = (grid) => {\n let newChannels = [...channelRef.current];\n if (grid > newChannels.length) {\n newChannels = DEFAULT_CHANNELS.slice(0, grid).map((item, index) => {\n return newChannels[index] ? newChannels[index] : item;\n });\n }\n else {\n newChannels = newChannels.slice(0, grid);\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels });\n // 重置视频大小\n resizeAll();\n };\n const updateScale = (scale) => {\n setState({ scale });\n // 重置视频大小\n resizeAll();\n };\n // 重置所有视频大小\n const resizeAll = () => {\n const timer = setTimeout(() => {\n Object.values(playRefs.current).forEach((player) => {\n player && player.resize();\n });\n clearTimeout(timer);\n }, 100);\n };\n const updateChannels = (channels) => {\n channelRef.current = channels;\n setState({ channels });\n };\n // 关闭视频\n const closeVideo = (i) => {\n const currChannels = [...channelRef.current];\n const newChannels = [...channelRef.current];\n newChannels[i] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n onVideoClose && onVideoClose(currChannels[i], newChannels);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(latestGrid.current); i++) {\n const element = (_jsx(GridItem, { ref: (ref) => {\n playRefs.current[i] = ref;\n }, active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: channelRef.current[i] || { channelNum: '', channelId: '' }, onClose: () => {\n var _a;\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n (_a = playRefs.current[i]) === null || _a === void 0 ? void 0 : _a.saveRecordFetch(moment().format('YYYY-MM-DD HH:mm:ss'));\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n function _index(el) {\n let index = 0;\n if (!el || !el.parentNode) {\n return -1;\n }\n // previousElementSibling:上一个兄弟元素\n while (el && (el = el.previousElementSibling)) {\n index++;\n }\n return index;\n }\n function findParent(el, className) {\n if (el.className &&\n typeof el.className == 'string' &&\n el.className.indexOf(className) > -1) {\n return el;\n }\n return findParent(el.parentNode, className);\n }\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}`, onDragStart: (e) => {\n dragRef.current = e.target;\n }, onDragOver: (e) => {\n if (!e.target) {\n return;\n }\n let target = e.target;\n if (target == null) {\n return;\n }\n target = findParent(target, 'grid-item-container');\n const indexDraging = _index(dragRef.current), indexTarget = _index(target);\n try {\n if (indexDraging < indexTarget) {\n // 目标比元素大,插到其后面\n // extSibling下一个兄弟元素\n target.parentNode.insertBefore(dragRef.current, target.nextSibling);\n }\n else if (indexDraging > indexTarget) {\n // 目标比元素小,插到其前面\n target.parentNode.insertBefore(dragRef.current, target);\n }\n resizeAll();\n }\n catch (e) {\n //\n }\n } }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), gridChange ? (_jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))) : (_jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] }))), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => updateScale(scale) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = forwardRef((props, ref) => {\n const { active, onClick, channel, onClose, onScreenshot, scale } = props;\n const empty = !channel.channelNum && !channel.channelId;\n const [actData, setActData] = useState({});\n const loading = false;\n useEffect(() => {\n if ((channel === null || channel === void 0 ? void 0 : channel.channelNum) || channel.channelId) {\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n }\n else {\n setActData({});\n }\n }, [channel === null || channel === void 0 ? void 0 : channel.channelNum, channel === null || channel === void 0 ? void 0 : channel.channelId]);\n const name = `${actData === null || actData === void 0 ? void 0 : actData.deviceName}-${actData === null || actData === void 0 ? void 0 : actData.channelName}`;\n const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n const handlePtzType = (type) => {\n const types = {\n 1: 'all',\n 2: 'onlyFocus',\n 3: 'onlyRotate',\n 4: 'none',\n };\n return types[type];\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef, draggable: true }, { children: (actData === null || actData === void 0 ? void 0 : actData.url) && (_jsxs(_Fragment, { children: [!empty && _jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(VtxLivePlayer, { ref: ref, empty: empty, beenHasVideo: actData.beenHasVideo, url: actData.url, type: actData === null || actData === void 0 ? void 0 : actData.player, deviceIp: actData.deviceIp, devicePort: actData.devicePort, captureName: name, deviceId: actData.deviceId, channelId: channel.channelId, channelNum: actData.channelNum, enableAgent: actData.enableAgent, deviceCode: actData.deviceCode, streamType: actData.streamType, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: actData.channelNum,\n deviceId: actData.deviceId,\n tenantId: getVtxToken('tenantId'),\n },\n type: handlePtzType((actData === null || actData === void 0 ? void 0 : actData.ptzType) || 4),\n }, reload: () => {\n setActData({ url: '' });\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n }, onClose: onClose }) })) }))] })) })));\n});\nGridItem.displayName = 'grid-item';\n/**\n * 获取当前激活的网格\n * @param channels 现有通道数组\n * @param grid 当前网格状态\n * @param currentIndex 当前索引\n * @returns\n */\nconst getActiveIndex = (channels, grid, currentIndex) => {\n const currentChannels = channels.slice(0, Number(grid));\n for (let i = currentIndex; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n return currentIndex;\n};\nconst grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];\n/**\n * 获取布局\n * @param len 通道数量\n */\nconst getGrid = (len) => {\n let grid;\n for (let i = 0; i < grids.length; i++) {\n if (grids[i] - len >= 0) {\n grid = grids[i];\n break;\n }\n }\n return grid > 25 ? 25 : grid;\n};\nexport default LiveControlV2;\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAR,sBAAA,CAAAJ,OAAA;AACA,IAAAa,OAAA,GAAAT,sBAAA,CAAAJ,OAAA;AAA4B,SAAAI,uBAAAU,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,mBAAAC,GAAA,WAAAC,kBAAA,CAAAD,GAAA,KAAAE,gBAAA,CAAAF,GAAA,KAAAG,2BAAA,CAAAH,GAAA,KAAAI,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAH,iBAAAI,IAAA,eAAAC,MAAA,oBAAAD,IAAA,CAAAC,MAAA,CAAAC,QAAA,aAAAF,IAAA,+BAAAG,KAAA,CAAAC,IAAA,CAAAJ,IAAA;AAAA,SAAAL,mBAAAD,GAAA,QAAAS,KAAA,CAAAE,OAAA,CAAAX,GAAA,UAAAY,iBAAA,CAAAZ,GAAA;AAAA,SAAAa,eAAAb,GAAA,EAAAc,CAAA,WAAAC,eAAA,CAAAf,GAAA,KAAAgB,qBAAA,CAAAhB,GAAA,EAAAc,CAAA,KAAAX,2BAAA,CAAAH,GAAA,EAAAc,CAAA,KAAAG,gBAAA;AAAA,SAAAA,iBAAA,cAAAZ,SAAA;AAAA,SAAAF,4BAAAe,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAN,iBAAA,CAAAM,CAAA,EAAAC,MAAA,OAAAC,CAAA,GAAAC,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAC,IAAA,CAAAN,CAAA,EAAAO,KAAA,aAAAL,CAAA,iBAAAF,CAAA,CAAAQ,WAAA,EAAAN,CAAA,GAAAF,CAAA,CAAAQ,WAAA,CAAAC,IAAA,MAAAP,CAAA,cAAAA,CAAA,mBAAAX,KAAA,CAAAC,IAAA,CAAAQ,CAAA,OAAAE,CAAA,+DAAAQ,IAAA,CAAAR,CAAA,UAAAR,iBAAA,CAAAM,CAAA,EAAAC,MAAA;AAAA,SAAAP,kBAAAZ,GAAA,EAAA6B,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAA7B,GAAA,CAAA8B,MAAA,EAAAD,GAAA,GAAA7B,GAAA,CAAA8B,MAAA,WAAAhB,CAAA,MAAAiB,IAAA,OAAAtB,KAAA,CAAAoB,GAAA,GAAAf,CAAA,GAAAe,GAAA,EAAAf,CAAA,MAAAiB,IAAA,CAAAjB,CAAA,IAAAd,GAAA,CAAAc,CAAA,YAAAiB,IAAA;AAAA,SAAAf,sBAAAhB,GAAA,EAAAc,CAAA,QAAAkB,EAAA,GAAAhC,GAAA,yBAAAO,MAAA,oBAAAP,GAAA,CAAAO,MAAA,CAAAC,QAAA,KAAAR,GAAA,oBAAAgC,EAAA,sBAAAC,IAAA,WAAAC,EAAA,aAAAC,EAAA,cAAAC,EAAA,EAAAC,EAAA,aAAAL,EAAA,GAAAA,EAAA,CAAAR,IAAA,CAAAxB,GAAA,KAAAkC,EAAA,IAAAE,EAAA,GAAAJ,EAAA,CAAAM,IAAA,IAAAC,IAAA,GAAAL,EAAA,WAAAD,IAAA,CAAAO,IAAA,CAAAJ,EAAA,CAAAK,KAAA,OAAA3B,CAAA,IAAAmB,IAAA,CAAAH,MAAA,KAAAhB,CAAA,oBAAA4B,GAAA,IAAAP,EAAA,SAAAE,EAAA,GAAAK,GAAA,yBAAAR,EAAA,IAAAF,EAAA,oBAAAA,EAAA,8BAAAG,EAAA,QAAAE,EAAA,aAAAJ,IAAA;AAAA,SAAAlB,gBAAAf,GAAA,QAAAS,KAAA,CAAAE,OAAA,CAAAX,GAAA,UAAAA,GAAA;AAC5B,IAAM2C,YAAY,GAAG,CAAC;AACtB,IAAMC,cAAc,GAAG,CAAC;AACxB,IAAMC,gBAAgB,GAAGpC,KAAK,CAAC,EAAE,CAAC,CAACqC,IAAI,CAAC;EAAEC,UAAU,EAAE,EAAE;EAAEC,SAAS,EAAE;AAAG,CAAC,CAAC;AAC1E;AACA;AACA;AACA,IAAMC,aAAa,gBAAG,IAAAC,iBAAU,EAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;EAC7C,IAAAC,aAAA,GAA2MF,KAAK,CAAxMG,MAAM;IAANA,MAAM,GAAAD,aAAA,cAAG,MAAM,GAAAA,aAAA;IAAAE,YAAA,GAAoLJ,KAAK,CAAvLK,KAAK;IAALA,KAAK,GAAAD,YAAA,cAAG,MAAM,GAAAA,YAAA;IAAEE,cAAc,GAAoJN,KAAK,CAAvKM,cAAc;IAAEC,sBAAsB,GAA4HP,KAAK,CAAvJO,sBAAsB;IAAEC,YAAY,GAA8GR,KAAK,CAA/HQ,YAAY;IAAEC,eAAe,GAA6FT,KAAK,CAAjHS,eAAe;IAAEC,sBAAsB,GAAqEV,KAAK,CAAhGU,sBAAsB;IAAEC,QAAQ,GAA2DX,KAAK,CAAxEW,QAAQ;IAAAC,iBAAA,GAA2DZ,KAAK,CAA9Da,UAAU;IAAVA,UAAU,GAAAD,iBAAA,cAAG,IAAI,GAAAA,iBAAA;IAAEE,YAAY,GAA0Bd,KAAK,CAA3Cc,YAAY;IAAEC,KAAK,GAAmBf,KAAK,CAA7Be,KAAK;IAAEC,WAAW,GAAMhB,KAAK,CAAtBgB,WAAW;EACrM,IAAAC,YAAA,GAA0B,IAAAC,mBAAW,EAAC;MAClCC,MAAM,EAAE,IAAI;MACZC,IAAI,EAAEJ,WAAW,IAAIxB,YAAY;MACjC6B,WAAW,EAAE5B,cAAc;MAC3B6B,QAAQ,EAAE5B,gBAAgB;MAC1BqB,KAAK,EAAEA,KAAK,IAAI;IACpB,CAAC,CAAC;IAAAQ,aAAA,GAAA7D,cAAA,CAAAuD,YAAA;IANKO,KAAK,GAAAD,aAAA;IAAEE,QAAQ,GAAAF,aAAA;EAOtB,IAAMG,OAAO,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EAC5B,IAAMC,QAAQ,GAAG,IAAAD,aAAM,EAAC,CAAC,CAAC,CAAC;EAC3B,IAAME,OAAO,GAAG,IAAAF,aAAM,EAAC,IAAI,CAAC;EAC5B,IAAMG,UAAU,GAAG,IAAAH,aAAM,EAACX,WAAW,IAAIxB,YAAY,CAAC;EACtD,IAAAuC,cAAA,GAA6C,IAAAC,qBAAa,EAACH,OAAO,CAAC;IAAAI,eAAA,GAAAvE,cAAA,CAAAqE,cAAA;IAA5DG,YAAY,GAAAD,eAAA;IAAIE,gBAAgB,GAAAF,eAAA,IAAhBE,gBAAgB;EACvC,IAAMC,UAAU,GAAG,IAAAT,aAAM,EAACjC,gBAAgB,CAAC;EAC3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAA2C,0BAAmB,EAACpC,GAAG,EAAE,YAAM;IAC3B,OAAO;MACHqC,OAAO,EAAE,SAAAA,QAAClB,IAAI,EAAK;QACfmB,UAAU,CAACnB,IAAI,CAAC;MACpB,CAAC;MACDoB,IAAI,EAAE,SAAAA,KAACC,OAAO,EAAK;QACf,IAAMC,KAAK,GAAGN,UAAU,CAACO,OAAO,CAACC,SAAS,CAAC,UAACC,CAAC;UAAA,OAAKA,CAAC,CAAChD,SAAS,IAAI4C,OAAO,CAAC5C,SAAS,IAAIgD,CAAC,CAAChD,SAAS,KAAK4C,OAAO,CAAC5C,SAAS;QAAA,EAAC;QACxH,IAAI,CAAC6C,KAAK,EAAE;UACRjB,QAAQ,CAAC;YAAEJ,WAAW,EAAEqB;UAAM,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,MACI;UACD;UACA,IAAMI,WAAW,GAAAlG,kBAAA,CAAOwF,UAAU,CAACO,OAAO,CAAC;UAC3CG,WAAW,CAACtB,KAAK,CAACH,WAAW,CAAC,GAAGoB,OAAO;UACxC,IAAMpB,WAAW,GAAG0B,cAAc,CAACD,WAAW,EAAEhB,UAAU,CAACa,OAAO,EAAEnB,KAAK,CAACH,WAAW,CAAC;UACtFe,UAAU,CAACO,OAAO,GAAGG,WAAW;UAChCrB,QAAQ,CAAC;YAAEH,QAAQ,EAAEwB,WAAW;YAAEzB,WAAW,EAAXA;UAAY,CAAC,CAAC;QACpD;MACJ,CAAC;MACD2B,SAAS,EAAE,SAAAA,UAAC1B,QAAQ,EAAiC;QAAA,IAA/B2B,IAAI,GAAAC,SAAA,CAAAvE,MAAA,QAAAuE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;QAAA,IAAEE,KAAK,GAAAF,SAAA,CAAAvE,MAAA,QAAAuE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,KAAK;QAC5C,IAAI9B,IAAI,GAAGU,UAAU,CAACa,OAAO;QAC7B,IAAIG,WAAW,GAAG,EAAE;UAAEzB,WAAW,GAAGG,KAAK,CAACH,WAAW;QACrD;QACA,IAAI4B,IAAI,EAAE;UACNG,KAAK,KAAKhC,IAAI,GAAGiC,OAAO,CAAC/B,QAAQ,CAAC3C,MAAM,CAAC,CAAC;UAC1C,KAAK,IAAIhB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2F,MAAM,CAAClC,IAAI,CAAC,EAAEzD,CAAC,EAAE,EAAE;YACnCmF,WAAW,CAACzD,IAAI,CAACiC,QAAQ,CAAC3D,CAAC,CAAC,GAAG2D,QAAQ,CAAC3D,CAAC,CAAC,GAAG;cAAEiC,UAAU,EAAE,EAAE;cAAEC,SAAS,EAAE;YAAG,CAAC,CAAC;UACnF;QACJ,CAAC,MACI;UACD;UACA,IAAM0D,aAAa,GAAGnB,UAAU,CAACO,OAAO,CAACa,MAAM,CAAC,UAACC,CAAC;YAAA,OAAKA,CAAC,CAAC7D,UAAU,IAAI6D,CAAC,CAAC5D,SAAS;UAAA,EAAC,CAAClB,MAAM,GACtF2C,QAAQ,CAAC3C,MAAM;UACnByE,KAAK,KAAKhC,IAAI,GAAGiC,OAAO,CAACE,aAAa,CAAC,CAAC;UACxCT,WAAW,GAAGlG,kBAAA,CAAI,IAAIU,KAAK,CAAC8D,IAAI,CAAC,EAAEsC,GAAG,CAAC,UAACC,IAAI,EAAEjB,KAAK,EAAK;YACpD,IAAIkB,EAAE,EAAEC,EAAE;YACV,IAAI,CAAC,CAACD,EAAE,GAAGxB,UAAU,CAACO,OAAO,CAACD,KAAK,CAAC,MAAM,IAAI,IAAIkB,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAChE,UAAU,MACnF,CAACiE,EAAE,GAAGzB,UAAU,CAACO,OAAO,CAACD,KAAK,CAAC,MAAM,IAAI,IAAImB,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAChE,SAAS,CAAC,EAAE;cACtF,OAAOuC,UAAU,CAACO,OAAO,CAACD,KAAK,CAAC;YACpC;YACA,OAAO;cAAE9C,UAAU,EAAE,EAAE;cAAEC,SAAS,EAAE;YAAG,CAAC;UAC5C,CAAC,CAAC;UAAC,IAAAiE,KAAA,YAAAA,MACMnG,GAAC;YACN,IAAMoG,QAAQ,GAAGjB,WAAW,CAACkB,IAAI,CAAC,UAACL,IAAI,EAAK;cACxC,IAAIC,EAAE,EAAEC,EAAE;cACV,OAAO,CAACF,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAAC/D,UAAU,OAAO,CAACgE,EAAE,GAAGtC,QAAQ,CAAC3D,GAAC,CAAC,MAAM,IAAI,IAAIiG,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAChE,UAAU,CAAC,IAC5I,CAAC+D,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAAC9D,SAAS,OAAO,CAACgE,EAAE,GAAGvC,QAAQ,CAAC3D,GAAC,CAAC,MAAM,IAAI,IAAIkG,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAAChE,SAAS,CAAC;YAC/I,CAAC,CAAC;YACF;YACA,IAAI,CAACkE,QAAQ,EAAE;cACX,IAAMrB,KAAK,GAAGK,cAAc,CAACD,WAAW,EAAE1B,IAAI,EAAEC,WAAW,CAAC;cAC5D;cACA;cACA;cACA;cACA,IAAIA,WAAW,KAAKD,IAAI,EACpB;cACJ0B,WAAW,CAACJ,KAAK,CAAC,GAAGpB,QAAQ,CAAC3D,GAAC,CAAC,IAAI;gBAAEiC,UAAU,EAAE,EAAE;gBAAEC,SAAS,EAAE;cAAG,CAAC;cACrEwB,WAAW,GAAGqB,KAAK,GAAG,CAAC;YAC3B;UAAC;UAjBL,KAAK,IAAI/E,GAAC,GAAG,CAAC,EAAEA,GAAC,GAAG2D,QAAQ,CAAC3C,MAAM,EAAEhB,GAAC,EAAE,EAAE;YAAA,IAAAsG,IAAA,GAAAH,KAAA,CAAjCnG,GAAC;YAAA,IAAAsG,IAAA,cAcE;UAIZ;QACJ;QACAnC,UAAU,CAACa,OAAO,GAAGvB,IAAI;QACzBgB,UAAU,CAACO,OAAO,GAAGG,WAAW;QAChCrB,QAAQ,CAAC;UAAEL,IAAI,EAAJA,IAAI;UAAEE,QAAQ,EAAEwB,WAAW;UAAEzB,WAAW,EAAXA;QAAY,CAAC,CAAC;MAC1D,CAAC;MACD6C,MAAM,EAAE,SAAAA,OAACrE,SAAS,EAAK;QACnB,IAAM6C,KAAK,GAAGN,UAAU,CAACO,OAAO,CAACC,SAAS,CAAC,UAACC,CAAC;UAAA,OAAKA,CAAC,CAAChD,SAAS,KAAKA,SAAS;QAAA,EAAC;QAC5E,IAAI,CAAC6C,KAAK,EAAE;UACR;UACA,IAAMI,WAAW,GAAAlG,kBAAA,CAAOwF,UAAU,CAACO,OAAO,CAAC;UAC3CG,WAAW,CAACJ,KAAK,CAAC,GAAG;YAAE9C,UAAU,EAAE,EAAE;YAAEC,SAAS,EAAE;UAAG,CAAC;UACtDsE,cAAc,CAACrB,WAAW,CAAC;QAC/B;MACJ,CAAC;MACDsB,SAAS,EAAEC;IACf,CAAC;EACL,CAAC,CAAC;EACF,IAAAC,gBAAS,EAAC,YAAM;IACZ,IAAI/D,sBAAsB,EAAE;MACxBA,sBAAsB,CAACiB,KAAK,CAACF,QAAQ,CAACkC,MAAM,CAAC,UAACX,CAAC;QAAA,OAAK,CAAC,CAACA,CAAC,CAACjD,UAAU,IAAI,CAAC,CAACiD,CAAC,CAAChD,SAAS;MAAA,EAAC,CAAC;IACzF;EACJ,CAAC,EAAE,CAAC2B,KAAK,CAACF,QAAQ,CAAC,CAAC;EACpB,IAAM+C,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;IACzBnG,MAAM,CAACqG,MAAM,CAAC3C,QAAQ,CAACe,OAAO,CAAC,CAAC6B,OAAO,CAAC,UAACC,MAAM,EAAK;MAChDA,MAAM,IAAIA,MAAM,CAACC,eAAe,CAAC,CAAC;IACtC,CAAC,CAAC;IACFjD,QAAQ,CAAC;MACLJ,WAAW,EAAE5B;IACjB,CAAC,CAAC;IACF2C,UAAU,CAACO,OAAO,GAAGjD,gBAAgB;IACrCyE,cAAc,CAACzE,gBAAgB,CAAC;IAChCe,eAAe,IAAIA,eAAe,CAAC,CAAC;EACxC,CAAC;EACD,IAAMkE,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;IACvBrE,cAAc,IAAIA,cAAc,CAAC,CAACkB,KAAK,CAACL,MAAM,CAAC;IAC/CM,QAAQ,CAAC;MAAEN,MAAM,EAAE,CAACK,KAAK,CAACL;IAAO,CAAC,CAAC;EACvC,CAAC;EACD,IAAMoB,UAAU,GAAG,SAAbA,UAAUA,CAAInB,IAAI,EAAK;IACzB,IAAI0B,WAAW,GAAAlG,kBAAA,CAAOwF,UAAU,CAACO,OAAO,CAAC;IACzC,IAAIvB,IAAI,GAAG0B,WAAW,CAACnE,MAAM,EAAE;MAC3BmE,WAAW,GAAGpD,gBAAgB,CAACpB,KAAK,CAAC,CAAC,EAAE8C,IAAI,CAAC,CAACsC,GAAG,CAAC,UAACC,IAAI,EAAEjB,KAAK,EAAK;QAC/D,OAAOI,WAAW,CAACJ,KAAK,CAAC,GAAGI,WAAW,CAACJ,KAAK,CAAC,GAAGiB,IAAI;MACzD,CAAC,CAAC;IACN,CAAC,MACI;MACDb,WAAW,GAAGA,WAAW,CAACxE,KAAK,CAAC,CAAC,EAAE8C,IAAI,CAAC;IAC5C;IACAU,UAAU,CAACa,OAAO,GAAGvB,IAAI;IACzBgB,UAAU,CAACO,OAAO,GAAGG,WAAW;IAChCrB,QAAQ,CAAC;MAAEL,IAAI,EAAJA,IAAI;MAAEE,QAAQ,EAAEwB;IAAY,CAAC,CAAC;IACzC;IACA8B,SAAS,CAAC,CAAC;EACf,CAAC;EACD,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAI9D,KAAK,EAAK;IAC3BU,QAAQ,CAAC;MAAEV,KAAK,EAALA;IAAM,CAAC,CAAC;IACnB;IACA6D,SAAS,CAAC,CAAC;EACf,CAAC;EACD;EACA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAA,EAAS;IACpB,IAAME,KAAK,GAAGC,UAAU,CAAC,YAAM;MAC3B7G,MAAM,CAACqG,MAAM,CAAC3C,QAAQ,CAACe,OAAO,CAAC,CAAC6B,OAAO,CAAC,UAACC,MAAM,EAAK;QAChDA,MAAM,IAAIA,MAAM,CAACO,MAAM,CAAC,CAAC;MAC7B,CAAC,CAAC;MACFC,YAAY,CAACH,KAAK,CAAC;IACvB,CAAC,EAAE,GAAG,CAAC;EACX,CAAC;EACD,IAAMX,cAAc,GAAG,SAAjBA,cAAcA,CAAI7C,QAAQ,EAAK;IACjCc,UAAU,CAACO,OAAO,GAAGrB,QAAQ;IAC7BG,QAAQ,CAAC;MAAEH,QAAQ,EAARA;IAAS,CAAC,CAAC;EAC1B,CAAC;EACD;EACA,IAAM4D,UAAU,GAAG,SAAbA,UAAUA,CAAIvH,CAAC,EAAK;IACtB,IAAMwH,YAAY,GAAAvI,kBAAA,CAAOwF,UAAU,CAACO,OAAO,CAAC;IAC5C,IAAMG,WAAW,GAAAlG,kBAAA,CAAOwF,UAAU,CAACO,OAAO,CAAC;IAC3CG,WAAW,CAACnF,CAAC,CAAC,GAAG;MAAEiC,UAAU,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAG,CAAC;IAClDsE,cAAc,CAACrB,WAAW,CAAC;IAC3BtC,YAAY,IAAIA,YAAY,CAAC2E,YAAY,CAACxH,CAAC,CAAC,EAAEmF,WAAW,CAAC;EAC9D,CAAC;EACD,IAAMsC,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;IACvB,IAAMC,KAAK,GAAG,EAAE;IAAC,IAAAC,MAAA,YAAAA,OACR3H,CAAC;MACN,IAAM4H,OAAO,GAAI,IAAAC,eAAI,EAACC,QAAQ,EAAE;QAAExF,GAAG,EAAE,SAAAA,IAACA,IAAG,EAAK;UACxC2B,QAAQ,CAACe,OAAO,CAAChF,CAAC,CAAC,GAAGsC,IAAG;QAC7B,CAAC;QAAEyF,MAAM,EAAElE,KAAK,CAACH,WAAW,KAAK1D,CAAC;QAAEgI,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAMlE,QAAQ,CAAC;YAAEJ,WAAW,EAAE1D;UAAE,CAAC,CAAC;QAAA;QAAE8E,OAAO,EAAEL,UAAU,CAACO,OAAO,CAAChF,CAAC,CAAC,IAAI;UAAEiC,UAAU,EAAE,EAAE;UAAEC,SAAS,EAAE;QAAG,CAAC;QAAE+F,OAAO,EAAE,SAAAA,QAAA,EAAM;UACjK,IAAIhC,EAAE;UACN;UACA,IAAIlD,sBAAsB,EAAE;YACxBA,sBAAsB,CAAC;cAAA,OAAMwE,UAAU,CAACvH,CAAC,CAAC;YAAA,EAAC;YAC3C;UACJ;UACA,CAACiG,EAAE,GAAGhC,QAAQ,CAACe,OAAO,CAAChF,CAAC,CAAC,MAAM,IAAI,IAAIiG,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,CAACc,eAAe,CAAC,IAAAmB,kBAAM,EAAC,CAAC,CAACC,MAAM,CAAC,qBAAqB,CAAC,CAAC;UAC1HZ,UAAU,CAACvH,CAAC,CAAC;QACjB,CAAC;QAAEoD,KAAK,EAAES,KAAK,CAACT,KAAK;QAAED,YAAY,EAAEA;MAAa,CAAC,EAAEnD,CAAC,CAAE;MAC5D0H,KAAK,CAAChG,IAAI,CAACkG,OAAO,CAAC;IAAC;IAbxB,KAAK,IAAI5H,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG2F,MAAM,CAACxB,UAAU,CAACa,OAAO,CAAC,EAAEhF,CAAC,EAAE,EAAE;MAAA2H,MAAA,CAA5C3H,CAAC;IAcV;IACA,OAAO0H,KAAK;EAChB,CAAC;EACD,SAASU,MAAMA,CAACC,EAAE,EAAE;IAChB,IAAItD,KAAK,GAAG,CAAC;IACb,IAAI,CAACsD,EAAE,IAAI,CAACA,EAAE,CAACC,UAAU,EAAE;MACvB,OAAO,CAAC,CAAC;IACb;IACA;IACA,OAAOD,EAAE,KAAKA,EAAE,GAAGA,EAAE,CAACE,sBAAsB,CAAC,EAAE;MAC3CxD,KAAK,EAAE;IACX;IACA,OAAOA,KAAK;EAChB;EACA,SAASyD,UAAUA,CAACH,EAAE,EAAEI,SAAS,EAAE;IAC/B,IAAIJ,EAAE,CAACI,SAAS,IACZ,OAAOJ,EAAE,CAACI,SAAS,IAAI,QAAQ,IAC/BJ,EAAE,CAACI,SAAS,CAACC,OAAO,CAACD,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;MACtC,OAAOJ,EAAE;IACb;IACA,OAAOG,UAAU,CAACH,EAAE,CAACC,UAAU,EAAEG,SAAS,CAAC;EAC/C;EACA,OAAQ,IAAAE,gBAAK,EAAC,KAAK,EAAEpI,MAAM,CAACqI,MAAM,CAAC;IAAEH,SAAS,EAAE,qBAAqB;IAAEnG,GAAG,EAAE4B,OAAO;IAAE2E,KAAK,EAAE;MAAErG,MAAM,EAANA,MAAM;MAAEE,KAAK,EAALA;IAAM;EAAE,CAAC,EAAE;IAAEoG,QAAQ,EAAE,CAAC,IAAAjB,eAAI,EAAC,KAAK,EAAEtH,MAAM,CAACqI,MAAM,CAAC;MAAEH,SAAS,4BAAAM,MAAA,CAA4BlF,KAAK,CAACJ,IAAI,CAAE;MAAEuF,WAAW,EAAE,SAAAA,YAACC,CAAC,EAAK;QACjNlF,OAAO,CAACiB,OAAO,GAAGiE,CAAC,CAACC,MAAM;MAC9B,CAAC;MAAEC,UAAU,EAAE,SAAAA,WAACF,CAAC,EAAK;QAClB,IAAI,CAACA,CAAC,CAACC,MAAM,EAAE;UACX;QACJ;QACA,IAAIA,MAAM,GAAGD,CAAC,CAACC,MAAM;QACrB,IAAIA,MAAM,IAAI,IAAI,EAAE;UAChB;QACJ;QACAA,MAAM,GAAGV,UAAU,CAACU,MAAM,EAAE,qBAAqB,CAAC;QAClD,IAAME,YAAY,GAAGhB,MAAM,CAACrE,OAAO,CAACiB,OAAO,CAAC;UAAEqE,WAAW,GAAGjB,MAAM,CAACc,MAAM,CAAC;QAC1E,IAAI;UACA,IAAIE,YAAY,GAAGC,WAAW,EAAE;YAC5B;YACA;YACAH,MAAM,CAACZ,UAAU,CAACgB,YAAY,CAACvF,OAAO,CAACiB,OAAO,EAAEkE,MAAM,CAACK,WAAW,CAAC;UACvE,CAAC,MACI,IAAIH,YAAY,GAAGC,WAAW,EAAE;YACjC;YACAH,MAAM,CAACZ,UAAU,CAACgB,YAAY,CAACvF,OAAO,CAACiB,OAAO,EAAEkE,MAAM,CAAC;UAC3D;UACAjC,SAAS,CAAC,CAAC;QACf,CAAC,CACD,OAAOgC,CAAC,EAAE;UACN;QAAA;MAER;IAAE,CAAC,EAAE;MAAEH,QAAQ,EAAErB,YAAY,CAAC;IAAE,CAAC,CAAC,CAAC,EAAE,IAAAkB,gBAAK,EAAC,KAAK,EAAEpI,MAAM,CAACqI,MAAM,CAAC;MAAEH,SAAS,EAAE;IAAkB,CAAC,EAAE;MAAEK,QAAQ,EAAE,CAAC,IAAAH,gBAAK,EAACa,iBAAK,EAAEjJ,MAAM,CAACqI,MAAM,CAAC;QAAEH,SAAS,EAAE,MAAM;QAAEgB,IAAI,EAAE,EAAE;QAAEC,KAAK,EAAE;MAAS,CAAC,EAAE;QAAEZ,QAAQ,EAAE,CAACnG,cAAc,IAAK,IAAAkF,eAAI,EAAC,KAAK,EAAEtH,MAAM,CAACqI,MAAM,CAAC;UAAEZ,OAAO,EAAEhB,YAAY;UAAE6B,KAAK,EAAE;YAAEc,OAAO,EAAE;UAAO;QAAE,CAAC,EAAE;UAAEb,QAAQ,EAAEjF,KAAK,CAACL,MAAM,GAAG,IAAAqE,eAAI,EAAC+B,eAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,IAAA/B,eAAI,EAACgC,iBAAU,EAAE,CAAC,CAAC;QAAE,CAAC,CAAC,CAAE,EAAE7G,QAAQ,GAAGA,QAAQ,GAAG,IAAI;MAAE,CAAC,CAAC,CAAC,EAAE,IAAA2F,gBAAK,EAACa,iBAAK,EAAEjJ,MAAM,CAACqI,MAAM,CAAC;QAAEH,SAAS,EAAE,OAAO;QAAEgB,IAAI,EAAE,EAAE;QAAEC,KAAK,EAAE;MAAS,CAAC,EAAE;QAAEZ,QAAQ,EAAE,CAAC,IAAAjB,eAAI,EAACiC,mBAAY,EAAE;UAAE9B,OAAO,EAAEtB;QAAe,CAAC,CAAC,EAAE,IAAAmB,eAAI,EAAC,KAAK,EAAE;UAAEY,SAAS,EAAE;QAAa,CAAC,CAAC,EAAEvF,UAAU,GAAI,IAAA2E,eAAI,EAACkC,uBAAW,EAAExJ,MAAM,CAACqI,MAAM,CAAC;UAAEnF,IAAI,EAAEI,KAAK,CAACJ,IAAI;UAAEkB,OAAO,EAAE,SAAAA,QAAClB,IAAI;YAAA,OAAKmB,UAAU,CAACnB,IAAI,CAAC;UAAA;QAAC,CAAC,EAAE;UAAEqF,QAAQ,EAAE,IAAAH,gBAAK,EAAC,KAAK,EAAEpI,MAAM,CAACqI,MAAM,CAAC;YAAEH,SAAS,EAAE;UAAsB,CAAC,EAAE;YAAEK,QAAQ,EAAE,CAAC,IAAAjB,eAAI,EAACmC,eAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAAnC,eAAI,EAACoC,oBAAY,EAAE;cAAExB,SAAS,EAAE;YAAa,CAAC,CAAC,EAAE,IAAAZ,eAAI,EAACqC,kBAAU,EAAE;cAAEzB,SAAS,EAAE;YAAa,CAAC,CAAC;UAAE,CAAC,CAAC;QAAE,CAAC,CAAC,CAAC,GAAK,IAAAE,gBAAK,EAAC,KAAK,EAAEpI,MAAM,CAACqI,MAAM,CAAC;UAAEH,SAAS,EAAE;QAAsB,CAAC,EAAE;UAAEK,QAAQ,EAAE,CAAC,IAAAjB,eAAI,EAACmC,eAAQ,EAAE;YAAEG,QAAQ,EAAE,CAACjH;UAAW,CAAC,CAAC,EAAE,IAAA2E,eAAI,EAACoC,oBAAY,EAAE;YAAExB,SAAS,EAAE;UAAQ,CAAC,CAAC;QAAE,CAAC,CAAC,CAAE,EAAE,IAAAZ,eAAI,EAACuC,sBAAU,EAAE7J,MAAM,CAACqI,MAAM,CAAC;UAAExF,KAAK,EAAES,KAAK,CAACT,KAAK;UAAEiH,QAAQ,EAAE,SAAAA,SAACjH,KAAK;YAAA,OAAK8D,WAAW,CAAC9D,KAAK,CAAC;UAAA;QAAC,CAAC,EAAE;UAAE0F,QAAQ,EAAE,IAAAH,gBAAK,EAAC,KAAK,EAAEpI,MAAM,CAACqI,MAAM,CAAC;YAAEH,SAAS,EAAE;UAAsB,CAAC,EAAE;YAAEK,QAAQ,EAAE,CAAC,IAAAjB,eAAI,EAACyC,0BAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,IAAAzC,eAAI,EAACoC,oBAAY,EAAE;cAAExB,SAAS,EAAE;YAAa,CAAC,CAAC,EAAE,IAAAZ,eAAI,EAACqC,kBAAU,EAAE;cAAEzB,SAAS,EAAE;YAAa,CAAC,CAAC;UAAE,CAAC,CAAC;QAAE,CAAC,CAAC,CAAC,EAAElE,YAAY,GAAI,IAAAsD,eAAI,EAAC0C,yBAAkB,EAAE;UAAEvC,OAAO,EAAExD;QAAiB,CAAC,CAAC,GAAK,IAAAqD,eAAI,EAAC2C,qBAAc,EAAE;UAAExC,OAAO,EAAExD;QAAiB,CAAC,CAAE;MAAE,CAAC,CAAC,CAAC;IAAE,CAAC,CAAC,CAAC;EAAE,CAAC,CAAC,CAAC;AAC9hD,CAAC,CAAC;AACFrC,aAAa,CAACsI,WAAW,GAAG,eAAe;AAC3C,IAAM3C,QAAQ,gBAAG,IAAA1F,iBAAU,EAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;EACxC,IAAQyF,MAAM,GAAqD1F,KAAK,CAAhE0F,MAAM;IAAEC,OAAO,GAA4C3F,KAAK,CAAxD2F,OAAO;IAAElD,OAAO,GAAmCzC,KAAK,CAA/CyC,OAAO;IAAEmD,OAAO,GAA0B5F,KAAK,CAAtC4F,OAAO;IAAE9E,YAAY,GAAYd,KAAK,CAA7Bc,YAAY;IAAEC,KAAK,GAAKf,KAAK,CAAfe,KAAK;EAC9D,IAAMsH,KAAK,GAAG,CAAC5F,OAAO,CAAC7C,UAAU,IAAI,CAAC6C,OAAO,CAAC5C,SAAS;EACvD,IAAAyI,SAAA,GAA8B,IAAAC,eAAQ,EAAC,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAA9K,cAAA,CAAA4K,SAAA;IAAnCG,OAAO,GAAAD,UAAA;IAAEE,UAAU,GAAAF,UAAA;EAC1B,IAAMG,OAAO,GAAG,KAAK;EACrB,IAAArE,gBAAS,EAAC,YAAM;IACZ,IAAI,CAAC7B,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAAC7C,UAAU,KAAK6C,OAAO,CAAC5C,SAAS,EAAE;MAC7F,IAAA+I,kBAAa,EAACnG,OAAO,CAAC,CAACoG,IAAI,CAAC,UAACC,GAAG,EAAK;QACjCJ,UAAU,CAACI,GAAG,CAAC;MACnB,CAAC,CAAC;IACN,CAAC,MACI;MACDJ,UAAU,CAAC,CAAC,CAAC,CAAC;IAClB;EACJ,CAAC,EAAE,CAACjG,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAAC7C,UAAU,EAAE6C,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAAC5C,SAAS,CAAC,CAAC;EAC/I,IAAMrB,IAAI,MAAAkI,MAAA,CAAM+B,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACM,UAAU,OAAArC,MAAA,CAAI+B,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACO,WAAW,CAAE;EAC/J,IAAAC,aAAA,GAAsC,IAAA/H,mBAAW,EAAC;MAC9Cb,KAAK,EAAE,MAAM;MACbF,MAAM,EAAE;IACZ,CAAC,CAAC;IAAA+I,aAAA,GAAAxL,cAAA,CAAAuL,aAAA;IAAAE,cAAA,GAAAD,aAAA;IAHO7I,KAAK,GAAA8I,cAAA,CAAL9I,KAAK;IAAEF,MAAM,GAAAgJ,cAAA,CAANhJ,MAAM;IAAIsB,QAAQ,GAAAyH,aAAA;EAIlC,IAAME,WAAW,GAAG,IAAAzH,aAAM,EAAC,IAAI,CAAC;EAChC,IAAM0H,YAAY,GAAG,IAAAC,eAAO,EAACF,WAAW,CAAC;EACzC,IAAA9E,gBAAS,EAAC,YAAM;IACZ,IAAI,CAAC+E,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAAChJ,KAAK,MAAMgJ,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAAClJ,MAAM,CAAC,EAAE;MACvK,QAAQY,KAAK;QACT,KAAK,MAAM;UACPU,QAAQ,CAAC;YACLpB,KAAK,EAAE,MAAM;YACbF,MAAM,EAAEkJ,YAAY,CAAClJ,MAAM,GAAG;UAClC,CAAC,CAAC;UACF;QACJ,KAAK,KAAK;UACN,IAAIkJ,YAAY,CAAChJ,KAAK,GAAG,CAAC,GAAG,CAACgJ,YAAY,CAAClJ,MAAM,GAAG,EAAE,IAAI,CAAC,EAAE;YACzDsB,QAAQ,CAAC;cACLpB,KAAK,EAAE,MAAM;cACbF,MAAM,EAAGkJ,YAAY,CAAChJ,KAAK,GAAG,CAAC,GAAI;YACvC,CAAC,CAAC;UACN,CAAC,MACI;YACDoB,QAAQ,CAAC;cACLpB,KAAK,EAAG,CAACgJ,YAAY,CAAClJ,MAAM,GAAG,EAAE,IAAI,CAAC,GAAI,CAAC;cAC3CA,MAAM,EAAE;YACZ,CAAC,CAAC;UACN;UACA;QACJ,KAAK,MAAM;UACP,IAAIkJ,YAAY,CAAChJ,KAAK,GAAG,EAAE,GAAG,CAACgJ,YAAY,CAAClJ,MAAM,GAAG,EAAE,IAAI,CAAC,EAAE;YAC1DsB,QAAQ,CAAC;cACLpB,KAAK,EAAE,MAAM;cACbF,MAAM,EAAGkJ,YAAY,CAAChJ,KAAK,GAAG,EAAE,GAAI;YACxC,CAAC,CAAC;UACN,CAAC,MACI;YACDoB,QAAQ,CAAC;cACLpB,KAAK,EAAG,CAACgJ,YAAY,CAAClJ,MAAM,GAAG,EAAE,IAAI,CAAC,GAAI,EAAE;cAC5CA,MAAM,EAAE;YACZ,CAAC,CAAC;UACN;UACA;MACR;IACJ;EACJ,CAAC,EAAE,CAACkJ,YAAY,EAAEtI,KAAK,CAAC,CAAC;EACzB,IAAMwI,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,IAAI,EAAK;IAC5B,IAAMC,KAAK,GAAG;MACV,CAAC,EAAE,KAAK;MACR,CAAC,EAAE,WAAW;MACd,CAAC,EAAE,YAAY;MACf,CAAC,EAAE;IACP,CAAC;IACD,OAAOA,KAAK,CAACD,IAAI,CAAC;EACtB,CAAC;EACD,OAAQ,IAAAhE,eAAI,EAAC,KAAK,EAAEtH,MAAM,CAACqI,MAAM,CAAC;IAAEH,SAAS,yBAAAM,MAAA,CAAyBhB,MAAM,GAAG,QAAQ,GAAG,EAAE,OAAAgB,MAAA,CAAIiC,OAAO,GAAG,EAAE,GAAG,UAAU,CAAE;IAAEhD,OAAO,EAAEA,OAAO;IAAE1F,GAAG,EAAEmJ,WAAW;IAAEM,SAAS,EAAE;EAAK,CAAC,EAAE;IAAEjD,QAAQ,EAAE,CAACgC,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACkB,GAAG,KAAM,IAAArD,gBAAK,EAACsD,oBAAS,EAAE;MAAEnD,QAAQ,EAAE,CAAC,CAAC4B,KAAK,IAAI,IAAA7C,eAAI,EAACqE,sBAAY,EAAE;QAAErL,IAAI,EAAEA,IAAI;QAAEoH,OAAO,EAAEA;MAAQ,CAAC,CAAC,EAAE,IAAAJ,eAAI,EAAC,KAAK,EAAEtH,MAAM,CAACqI,MAAM,CAAC;QAAEH,SAAS,EAAE;MAAU,CAAC,EAAE;QAAEK,QAAQ,EAAE,IAAAjB,eAAI,EAAC,KAAK,EAAEtH,MAAM,CAACqI,MAAM,CAAC;UAAEC,KAAK,EAAE;YAAEnG,KAAK,EAALA,KAAK;YAAEF,MAAM,EAANA;UAAO;QAAE,CAAC,EAAE;UAAEsG,QAAQ,EAAE,IAAAjB,eAAI,EAACsE,sBAAa,EAAE;YAAE7J,GAAG,EAAEA,GAAG;YAAEoI,KAAK,EAAEA,KAAK;YAAE0B,YAAY,EAAEtB,OAAO,CAACsB,YAAY;YAAEJ,GAAG,EAAElB,OAAO,CAACkB,GAAG;YAAEH,IAAI,EAAEf,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAAChE,MAAM;YAAEuF,QAAQ,EAAEvB,OAAO,CAACuB,QAAQ;YAAEC,UAAU,EAAExB,OAAO,CAACwB,UAAU;YAAEC,WAAW,EAAE1L,IAAI;YAAE2L,QAAQ,EAAE1B,OAAO,CAAC0B,QAAQ;YAAEtK,SAAS,EAAE4C,OAAO,CAAC5C,SAAS;YAAED,UAAU,EAAE6I,OAAO,CAAC7I,UAAU;YAAEwK,WAAW,EAAE3B,OAAO,CAAC2B,WAAW;YAAEC,UAAU,EAAE5B,OAAO,CAAC4B,UAAU;YAAEC,UAAU,EAAE7B,OAAO,CAAC6B,UAAU;YAAEC,QAAQ,EAAE9H,OAAO,CAAC8H,QAAQ;YAAEC,IAAI,EAAE/H,OAAO,CAAC+H,IAAI;YAAEC,UAAU,EAAE3J,YAAY;YAAE4J,WAAW,EAAE;cACx9BC,KAAK,EAAE;gBACH/K,UAAU,EAAE6I,OAAO,CAAC7I,UAAU;gBAC9BuK,QAAQ,EAAE1B,OAAO,CAAC0B,QAAQ;gBAC1BS,QAAQ,EAAE,IAAAC,kBAAW,EAAC,UAAU;cACpC,CAAC;cACDrB,IAAI,EAAED,aAAa,CAAC,CAACd,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,OAAO,CAACqC,OAAO,KAAK,CAAC;YAChG,CAAC;YAAEC,MAAM,EAAE,SAAAA,OAAA,EAAM;cACbrC,UAAU,CAAC;gBAAEiB,GAAG,EAAE;cAAG,CAAC,CAAC;cACvB,IAAAf,kBAAa,EAACnG,OAAO,CAAC,CAACoG,IAAI,CAAC,UAACC,GAAG,EAAK;gBACjCJ,UAAU,CAACI,GAAG,CAAC;cACnB,CAAC,CAAC;YACN,CAAC;YAAElD,OAAO,EAAEA;UAAQ,CAAC;QAAE,CAAC,CAAC;MAAE,CAAC,CAAC,CAAC;IAAE,CAAC;EAAG,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AACFH,QAAQ,CAAC2C,WAAW,GAAG,WAAW;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMrF,cAAc,GAAG,SAAjBA,cAAcA,CAAIzB,QAAQ,EAAEF,IAAI,EAAE4J,YAAY,EAAK;EACrD,IAAMC,eAAe,GAAG3J,QAAQ,CAAChD,KAAK,CAAC,CAAC,EAAEgF,MAAM,CAAClC,IAAI,CAAC,CAAC;EACvD,KAAK,IAAIzD,CAAC,GAAGqN,YAAY,EAAErN,CAAC,GAAGsN,eAAe,CAACtM,MAAM,EAAEhB,CAAC,EAAE,EAAE;IACxD,IAAI,CAACsN,eAAe,CAACtN,CAAC,CAAC,CAACiC,UAAU,IAAI,CAACqL,eAAe,CAACtN,CAAC,CAAC,CAACkC,SAAS,EAC/D,OAAOlC,CAAC;EAChB;EACA,KAAK,IAAIA,GAAC,GAAG,CAAC,EAAEA,GAAC,GAAGqN,YAAY,EAAErN,GAAC,EAAE,EAAE;IACnC,IAAI,CAACsN,eAAe,CAACtN,GAAC,CAAC,CAACiC,UAAU,IAAI,CAACqL,eAAe,CAACtN,GAAC,CAAC,CAACkC,SAAS,EAC/D,OAAOlC,GAAC;EAChB;EACA,OAAOqN,YAAY;AACvB,CAAC;AACD,IAAME,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACjD;AACA;AACA;AACA;AACA,IAAM7H,OAAO,GAAG,SAAVA,OAAOA,CAAI3E,GAAG,EAAK;EACrB,IAAI0C,IAAI;EACR,KAAK,IAAIzD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGuN,KAAK,CAACvM,MAAM,EAAEhB,CAAC,EAAE,EAAE;IACnC,IAAIuN,KAAK,CAACvN,CAAC,CAAC,GAAGe,GAAG,IAAI,CAAC,EAAE;MACrB0C,IAAI,GAAG8J,KAAK,CAACvN,CAAC,CAAC;MACf;IACJ;EACJ;EACA,OAAOyD,IAAI,GAAG,EAAE,GAAG,EAAE,GAAGA,IAAI;AAChC,CAAC;AAAC,IAAA+J,QAAA,GACarL,aAAa;AAAAsL,OAAA,cAAAD,QAAA","ignoreList":[]}
|
package/lib/live-player/index.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
7
8
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
9
|
var _react = require("react");
|
|
9
10
|
var _api = require("../api");
|
|
@@ -15,15 +16,13 @@ var _utils = require("../utils");
|
|
|
15
16
|
var _ahooks = require("ahooks");
|
|
16
17
|
var _space = _interopRequireDefault(require("antd/lib/space"));
|
|
17
18
|
var _moment = _interopRequireDefault(require("moment"));
|
|
18
|
-
function _interopRequireDefault(
|
|
19
|
-
function
|
|
20
|
-
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
|
|
21
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
19
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
20
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
22
21
|
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."); }
|
|
23
|
-
function _unsupportedIterableToArray(
|
|
24
|
-
function _arrayLikeToArray(
|
|
25
|
-
function _iterableToArrayLimit(
|
|
26
|
-
function _arrayWithHoles(
|
|
22
|
+
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); }
|
|
23
|
+
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; }
|
|
24
|
+
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; }
|
|
25
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
27
26
|
var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
|
|
28
27
|
function adopt(value) {
|
|
29
28
|
return value instanceof P ? value : new P(function (resolve) {
|
|
@@ -126,129 +125,132 @@ var LivePlayer = function LivePlayer(props, selfRef) {
|
|
|
126
125
|
var transType = type || playerParams.type;
|
|
127
126
|
var player = null;
|
|
128
127
|
(function () {
|
|
129
|
-
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator
|
|
130
|
-
var token, PLAYER
|
|
131
|
-
return _regenerator
|
|
132
|
-
while (1)
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
case 3:
|
|
151
|
-
PLAYER = _index.FlvPlayer;
|
|
152
|
-
return _context.a(3, 19);
|
|
153
|
-
case 4:
|
|
154
|
-
PLAYER = _index.HlsPlayer;
|
|
155
|
-
return _context.a(3, 19);
|
|
156
|
-
case 5:
|
|
157
|
-
PLAYER = _index.VtxHlsPlayer;
|
|
158
|
-
return _context.a(3, 19);
|
|
159
|
-
case 6:
|
|
160
|
-
PLAYER = _index.VtxwhepPlayer;
|
|
161
|
-
return _context.a(3, 19);
|
|
162
|
-
case 7:
|
|
163
|
-
PLAYER = _index.HkwsPlayer;
|
|
164
|
-
return _context.a(3, 19);
|
|
165
|
-
case 8:
|
|
166
|
-
PLAYER = _index.HkcarwsPlayer;
|
|
167
|
-
return _context.a(3, 19);
|
|
168
|
-
case 9:
|
|
169
|
-
PLAYER = _index.VtxwsPlayer;
|
|
170
|
-
return _context.a(3, 19);
|
|
171
|
-
case 10:
|
|
172
|
-
PLAYER = _index.IccwsPlayer;
|
|
173
|
-
return _context.a(3, 19);
|
|
174
|
-
case 11:
|
|
175
|
-
PLAYER = _index.WebrtcPlayer;
|
|
176
|
-
return _context.a(3, 19);
|
|
177
|
-
case 12:
|
|
178
|
-
PLAYER = _index.WfsPlayer;
|
|
179
|
-
return _context.a(3, 19);
|
|
180
|
-
case 13:
|
|
181
|
-
PLAYER = _index.H264Player;
|
|
182
|
-
return _context.a(3, 19);
|
|
183
|
-
case 14:
|
|
184
|
-
PLAYER = _index.BdPlayer;
|
|
185
|
-
return _context.a(3, 19);
|
|
186
|
-
case 15:
|
|
187
|
-
PLAYER = _index.Mp4Player;
|
|
188
|
-
return _context.a(3, 19);
|
|
189
|
-
case 16:
|
|
190
|
-
PLAYER = _index.IframePlayer;
|
|
191
|
-
return _context.a(3, 19);
|
|
192
|
-
case 17:
|
|
193
|
-
PLAYER = _index.RslPlayer;
|
|
194
|
-
return _context.a(3, 19);
|
|
195
|
-
case 18:
|
|
196
|
-
return _context.a(3, 19);
|
|
197
|
-
case 19:
|
|
198
|
-
if (!PLAYER) {
|
|
199
|
-
_context.n = 21;
|
|
128
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
129
|
+
var token, PLAYER;
|
|
130
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
131
|
+
while (1) {
|
|
132
|
+
switch (_context.prev = _context.next) {
|
|
133
|
+
case 0:
|
|
134
|
+
if (!(type === 'icc_ws')) {
|
|
135
|
+
_context.next = 5;
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
_context.next = 3;
|
|
139
|
+
return _api2["default"].getToken({
|
|
140
|
+
deviceId: deviceId
|
|
141
|
+
});
|
|
142
|
+
case 3:
|
|
143
|
+
token = _context.sent;
|
|
144
|
+
localStorage.setItem('accessToken', token);
|
|
145
|
+
case 5:
|
|
146
|
+
PLAYER = null;
|
|
147
|
+
_context.t0 = transType;
|
|
148
|
+
_context.next = _context.t0 === 'flv' ? 9 : _context.t0 === 'hls' ? 11 : _context.t0 === 'vtxhls' ? 13 : _context.t0 === 'vtxwhep' ? 15 : _context.t0 === 'hk_ws' ? 17 : _context.t0 === 'hkcar_ws' ? 19 : _context.t0 === 'vtx_ws' ? 21 : _context.t0 === 'icc_ws' ? 23 : _context.t0 === 'webrtc' ? 25 : _context.t0 === 'wfs' ? 27 : _context.t0 === 'h264' ? 29 : _context.t0 === 'bd' ? 31 : _context.t0 === 'mp4' ? 33 : _context.t0 === 'iframe' ? 35 : _context.t0 === 'rsl' ? 37 : 39;
|
|
200
149
|
break;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
150
|
+
case 9:
|
|
151
|
+
PLAYER = _index.FlvPlayer;
|
|
152
|
+
return _context.abrupt("break", 40);
|
|
153
|
+
case 11:
|
|
154
|
+
PLAYER = _index.HlsPlayer;
|
|
155
|
+
return _context.abrupt("break", 40);
|
|
156
|
+
case 13:
|
|
157
|
+
PLAYER = _index.VtxHlsPlayer;
|
|
158
|
+
return _context.abrupt("break", 40);
|
|
159
|
+
case 15:
|
|
160
|
+
PLAYER = _index.VtxwhepPlayer;
|
|
161
|
+
return _context.abrupt("break", 40);
|
|
162
|
+
case 17:
|
|
163
|
+
PLAYER = _index.HkwsPlayer;
|
|
164
|
+
return _context.abrupt("break", 40);
|
|
165
|
+
case 19:
|
|
166
|
+
PLAYER = _index.HkcarwsPlayer;
|
|
167
|
+
return _context.abrupt("break", 40);
|
|
168
|
+
case 21:
|
|
169
|
+
PLAYER = _index.VtxwsPlayer;
|
|
170
|
+
return _context.abrupt("break", 40);
|
|
171
|
+
case 23:
|
|
172
|
+
PLAYER = _index.IccwsPlayer;
|
|
173
|
+
return _context.abrupt("break", 40);
|
|
174
|
+
case 25:
|
|
175
|
+
PLAYER = _index.WebrtcPlayer;
|
|
176
|
+
return _context.abrupt("break", 40);
|
|
177
|
+
case 27:
|
|
178
|
+
PLAYER = _index.WfsPlayer;
|
|
179
|
+
return _context.abrupt("break", 40);
|
|
180
|
+
case 29:
|
|
181
|
+
PLAYER = _index.H264Player;
|
|
182
|
+
return _context.abrupt("break", 40);
|
|
183
|
+
case 31:
|
|
184
|
+
PLAYER = _index.BdPlayer;
|
|
185
|
+
return _context.abrupt("break", 40);
|
|
186
|
+
case 33:
|
|
187
|
+
PLAYER = _index.Mp4Player;
|
|
188
|
+
return _context.abrupt("break", 40);
|
|
189
|
+
case 35:
|
|
190
|
+
PLAYER = _index.IframePlayer;
|
|
191
|
+
return _context.abrupt("break", 40);
|
|
192
|
+
case 37:
|
|
193
|
+
PLAYER = _index.RslPlayer;
|
|
194
|
+
return _context.abrupt("break", 40);
|
|
195
|
+
case 39:
|
|
196
|
+
return _context.abrupt("break", 40);
|
|
197
|
+
case 40:
|
|
198
|
+
if (!PLAYER) {
|
|
199
|
+
_context.next = 47;
|
|
200
|
+
break;
|
|
225
201
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
202
|
+
_context.next = 43;
|
|
203
|
+
return new PLAYER({
|
|
204
|
+
url: url,
|
|
205
|
+
deviceIp: deviceIp,
|
|
206
|
+
deviceId: deviceId,
|
|
207
|
+
devicePort: devicePort,
|
|
208
|
+
userName: userName,
|
|
209
|
+
password: password,
|
|
210
|
+
streamType: streamType,
|
|
211
|
+
deviceCode: deviceCode,
|
|
212
|
+
channelNum: channelNum,
|
|
213
|
+
enableAgent: enableAgent,
|
|
214
|
+
container: container,
|
|
215
|
+
type: type,
|
|
216
|
+
reload: function reload() {
|
|
217
|
+
if (typeof _reload === 'function') {
|
|
218
|
+
_reload();
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
onClose: function onClose() {
|
|
222
|
+
if (typeof _onClose === 'function') {
|
|
223
|
+
_onClose();
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
case 43:
|
|
228
|
+
player = _context.sent;
|
|
229
|
+
playerRef.current = player;
|
|
236
230
|
setState({
|
|
237
|
-
|
|
231
|
+
loading: true,
|
|
238
232
|
error: false
|
|
239
233
|
});
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
234
|
+
player && player.play().then(function () {
|
|
235
|
+
saveRecordFetch();
|
|
236
|
+
setState({
|
|
237
|
+
play: true,
|
|
238
|
+
error: false
|
|
239
|
+
});
|
|
240
|
+
})["catch"](function () {
|
|
241
|
+
return setState({
|
|
242
|
+
error: true
|
|
243
|
+
});
|
|
244
|
+
})["finally"](function () {
|
|
245
|
+
setState({
|
|
246
|
+
loading: false
|
|
247
|
+
});
|
|
248
|
+
loaded && loaded();
|
|
247
249
|
});
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
250
|
+
case 47:
|
|
251
|
+
case "end":
|
|
252
|
+
return _context.stop();
|
|
253
|
+
}
|
|
252
254
|
}
|
|
253
255
|
}, _callee);
|
|
254
256
|
}));
|
|
@@ -352,5 +354,6 @@ var LivePlayer = function LivePlayer(props, selfRef) {
|
|
|
352
354
|
})) : null;
|
|
353
355
|
};
|
|
354
356
|
// LivePlayer.displayName = 'live-player';
|
|
355
|
-
var _default =
|
|
357
|
+
var _default = /*#__PURE__*/(0, _react.forwardRef)(LivePlayer);
|
|
358
|
+
exports["default"] = _default;
|
|
356
359
|
//# sourceMappingURL=index.js.map
|