@vtx/player 1.6.9 → 1.7.1
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/bill-player/index.js +1 -1
- package/lib/bill-player/index.js.map +1 -1
- package/lib/player/index.js +105 -62
- package/lib/player/index.js.map +1 -1
- package/lib/rsl/PlayerManager.d.ts +43 -0
- package/lib/rsl/PlayerManager.js +341 -0
- package/lib/rsl/PlayerManager.js.map +1 -0
- package/lib/utils/index.js +2 -8
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlayerManager.js","names":["_RSLPLAYERMESSAGE","RslPlayer","e","_option","_isPlay","_isFullScreen","_wasmInit","_callback","callback","_canvas","document","getElementById","canvasId","_ctx","getContext","_openLoopThreadTime","openLoopThreadTime","_openLoopThreadTimer","_fetchOption","fetchOption","_fetchRquestOption","Object","assign","method","cors","cache","_timer_rendering","_watermark","watermarkText","text","fontSize","fontFamily","color","watermarkStyle","_work","Worker","onmessage","_workMsgHandler","bind","_render","_renderMsgHandler","data","type","t","result","n","width","height","postMessage","params","url","imgData","_clearCanvas","putImageData","_renderWidget","value","buffer","_initWorker","openLoopThread","clearInterval","thiz","setInterval","terminate","undefined","Date","getFullYear","s","getMonth","i","getDay","a","getHours","r","getMinutes","o","getSeconds","_renderWaterMarkText","font","fillStyle","fillText","clearRect","Promise","createElement","download","_getTimes","href","body","appendChild","click","remove","stop","toDataURL","_downLoad","then","play"],"sources":["rsl/PlayerManager.js"],"sourcesContent":["const _RSLPLAYERMESSAGE = { 0: '视频流获取成功', 1: '视频第一帧解析成功', 2: '视频图片保存成功' };\nclass RslPlayer {\n constructor(e) {\n this._option = e;\n this._isPlay = false;\n this._isFullScreen = false;\n this._wasmInit = false;\n this._callback = e.callback || function () { };\n this._canvas = document.getElementById(e.canvasId);\n this._ctx = this._canvas.getContext('2d');\n this._openLoopThreadTime = e.openLoopThreadTime || 1e3 * 60 * 60;\n this._openLoopThreadTimer = null;\n this._fetchOption = e.fetchOption || {};\n this._fetchRquestOption = Object.assign({ method: 'post', cors: true, cache: 'no-cache' }, this._fetchOption);\n this._timer_rendering = null;\n // 水印 '192.168.9.199:28182@@@张三',水印内容,不设置此参数则不添加水印。多个水印用@@@分割.\n this._watermark = this._option.watermarkText\n ? Object.assign({ text: this._option.watermarkText }, { fontSize: '18px', fontFamily: '微软雅黑', color: '#c00' }, this._option.watermarkStyle)\n : null;\n // if (this._option.autoPlay) {\n // this.play();\n // }\n }\n _initWorker() {\n if (typeof this._work == 'undefined') {\n this._work = new Worker(`./resources/rsl/work.js`);\n this._work.onmessage = this._workMsgHandler.bind(this);\n }\n if (typeof this._render == 'undefined') {\n this._render = new Worker(`./resources/rsl/render.js`);\n this._render.onmessage = this._renderMsgHandler.bind(this);\n }\n }\n _renderMsgHandler({ data: { type: e, result: t } }) {\n let n = this;\n if (e === 'wasmInit') {\n let e = this._canvas.width;\n let t = this._canvas.height;\n n._wasmInit = true;\n n._render.postMessage({ type: 'setWH', params: { width: e, height: t } });\n if (this._isPlay) {\n n._work.postMessage({\n type: 'fetchStart',\n params: { url: n._option.url, fetchOption: n._fetchRquestOption },\n });\n }\n }\n else if (e === 'renderSuccess') {\n let { imgData: e } = t;\n if (n._canvas && n._ctx) {\n n._clearCanvas();\n n._ctx.putImageData(e, 0, 0);\n n._renderWidget();\n n._callback && n._callback('1', _RSLPLAYERMESSAGE['1']);\n }\n }\n }\n _workMsgHandler({ data: { type: e, result: t } }) {\n if (e === 'fetchSuccess') {\n this._render.postMessage({ type: 'renderStart', params: { value: t.value } }, [\n t.value.buffer,\n ]);\n }\n }\n play() {\n if (!this._isPlay) {\n this._isPlay = true;\n this._initWorker();\n this.openLoopThread();\n // 开启定时解码和渲染\n if (this._timer_rendering) {\n clearInterval(this._timer_rendering);\n }\n let thiz = this;\n this._timer_rendering = setInterval(() => {\n if (thiz._render) {\n thiz._render.postMessage({ type: 'decodeAndRendering', params: {} });\n }\n }, 40);\n }\n }\n openLoopThread() {\n let e = this;\n if (this._openLoopThreadTime) {\n if (this._openLoopThreadTimer) {\n clearInterval(e._openLoopThreadTimer);\n e._openLoopThreadTimer = null;\n }\n e._openLoopThreadTimer = setInterval(function () {\n if (typeof e._work != 'undefined') {\n e._work.postMessage({ type: 'fetchStop' });\n e._work.terminate();\n e._work = undefined;\n }\n if (typeof e._render != 'undefined') {\n e._render.terminate();\n e._render = undefined;\n }\n e._initWorker();\n }, e._openLoopThreadTime);\n }\n }\n _getTimes() {\n function e(e) {\n return e < 10 ? '0' + e : e;\n }\n let t = new Date();\n let n = t.getFullYear();\n let s = e(t.getMonth() + 1);\n let i = e(t.getDay());\n let a = e(t.getHours());\n let r = e(t.getMinutes());\n let o = e(t.getSeconds());\n return `${n}${s}${i}_${a}${r}${o}`;\n }\n _renderWidget() {\n if (this._watermark) {\n this._renderWaterMarkText();\n }\n }\n _renderWaterMarkText() {\n let e = this._canvas.width;\n this._ctx.font = '30px 微软雅黑';\n this._ctx.fillStyle = 'rgba(255,255,255,.1)';\n this._ctx.fillText('Hello', 10, 50, e);\n }\n stop() {\n let e = this;\n if (this._isPlay) {\n this._work.postMessage({ type: 'fetchStop' });\n this._isPlay = false;\n this._wasmInit = false;\n if (this._openLoopThreadTimer) {\n clearInterval(e._openLoopThreadTimer);\n e._openLoopThreadTimer = null;\n }\n this._work.terminate();\n this._render.terminate();\n this._work = undefined;\n this._render = undefined;\n // 停止定时解码和渲染\n if (this._timer_rendering) {\n clearInterval(this._timer_rendering);\n this._timer_rendering = null;\n }\n }\n }\n destroy() {\n let e = this;\n e._clearCanvas();\n e._work.postMessage({ type: 'fetchStop' });\n e._isPlay = false;\n e._wasmInit = false;\n if (e._openLoopThreadTimer) {\n clearInterval(e._openLoopThreadTimer);\n e._openLoopThreadTimer = null;\n }\n e._work.terminate();\n e._render.terminate();\n e._work = undefined;\n e._render = undefined;\n // 停止定时解码和渲染\n if (this._timer_rendering) {\n clearInterval(this._timer_rendering);\n this._timer_rendering = null;\n }\n }\n _clearCanvas() {\n let e = this;\n e._canvas.height = e._canvas.height;\n e._ctx.clearRect(0, 0, e._canvas.width, e._canvas.height);\n }\n _downLoad(s) {\n let i = this;\n return new Promise(function (t, n) {\n try {\n let e = document.createElement('a');\n e.download = i._getTimes();\n e.href = s;\n document.body.appendChild(e);\n e.click();\n e.remove();\n t();\n }\n catch (e) {\n n(e);\n }\n });\n }\n screenshot() {\n let e = this;\n this.stop();\n let t = this._canvas.toDataURL('image/png');\n this._downLoad(t).then(() => {\n e._callback && e._callback('2', _RSLPLAYERMESSAGE['2']);\n e.play();\n });\n }\n resize() {\n let e = this;\n let t = e._canvas.width;\n let n = e._canvas.height;\n e._render.postMessage({ type: 'setWH', params: { width: t, height: n } });\n e._clearCanvas();\n }\n}\nexport default RslPlayer;\n"],"mappings":"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"}
|
package/lib/utils/index.js
CHANGED
|
@@ -182,16 +182,10 @@ var getPlayerParams = function getPlayerParams(type, url, enableAgent, live) {
|
|
|
182
182
|
if (url.indexOf('h264') > -1 || url.indexOf('cloudFile') > -1) {
|
|
183
183
|
playerUrl = url;
|
|
184
184
|
playerType = 'h264';
|
|
185
|
-
}
|
|
185
|
+
} // rsl
|
|
186
186
|
|
|
187
|
-
if (playerType === 'mp4') {
|
|
188
|
-
return {
|
|
189
|
-
type: playerType,
|
|
190
|
-
url: url
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
187
|
|
|
194
|
-
if (playerType === 'iframe') {
|
|
188
|
+
if (playerType === 'mp4' || playerType === 'iframe' || playerType === 'rsl') {
|
|
195
189
|
return {
|
|
196
190
|
type: playerType,
|
|
197
191
|
url: url
|
package/lib/utils/index.js.map
CHANGED
|
@@ -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","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 (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 playerType = 'flv';\n playerUrl = `/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 if (playerType === 'mp4') {\n return {\n type: playerType,\n url,\n };\n }\n if (playerType === 'iframe') {\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":["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","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 (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 playerType = 'flv';\n playerUrl = `/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;;AACA;;;;;;;;;;;;;;;;AACA;AACO,IAAIA,UAAJ;;;AACP,CAAC,UAAUA,UAAV,EAAsB;EACnBA,UAAU,CAAC,SAAD,CAAV,GAAwB,qBAAxB;EACAA,UAAU,CAAC,QAAD,CAAV,GAAuB,qBAAvB;EACAA,UAAU,CAAC,KAAD,CAAV,GAAoB,iBAApB;AACH,CAJD,EAIGA,UAAU,0BAAKA,UAAU,GAAG,EAAlB,CAJb;AAKA;;;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,GAAM;EAC/B,IAAMC,EAAE,GAAG,SAALA,EAAK,GAAY;IACnB,OAAO,CAAE,CAAC,IAAIC,IAAI,CAACC,MAAL,EAAL,IAAsB,OAAvB,GAAkC,CAAnC,EAAsCC,QAAtC,CAA+C,EAA/C,EAAmDC,SAAnD,CAA6D,CAA7D,CAAP;EACH,CAFD;;EAGA,OAAOJ,EAAE,KAAKA,EAAE,EAAT,GAAc,GAAd,GAAoBA,EAAE,EAAtB,GAA2B,GAA3B,GAAiCA,EAAE,EAAnC,GAAwC,GAAxC,GAA8CA,EAAE,EAAhD,GAAqD,GAArD,GAA2DA,EAAE,EAA7D,GAAkEA,EAAE,EAApE,GAAyEA,EAAE,EAAlF;AACH,CALM;;;;AAMP,IAAMK,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAMC,WAAN,EAAsB;EACvC,IAAIC,GAAG,GAAGF,GAAV;;EACA,IAAIC,WAAJ,EAAiB;IACb,IAAME,OAAO,GAAG,aAAaC,QAAQ,CAACC,QAAT,CAAkBC,QAA/C;;IACA,IAAIN,GAAG,CAACO,UAAJ,CAAe,OAAf,CAAJ,EAA6B;MACzBP,GAAG,GAAGA,GAAG,CAACQ,OAAJ,CAAY,SAAZ,EAAuB,EAAvB,CAAN;;MACA,IAAIR,GAAG,CAACO,UAAJ,CAAe,QAAf,CAAJ,EAA8B;QAC1BP,GAAG,GAAGA,GAAG,CAACQ,OAAJ,CAAY,UAAZ,EAAwB,EAAxB,CAAN;MACH;;MACD,IAAMC,MAAM,GAAGT,GAAG,CAACF,SAAJ,CAAc,CAAd,EAAiBE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAjB,CAAf;MACA,IAAMC,IAAI,GAAGX,GAAG,CAACF,SAAJ,CAAcE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAd,CAAb;MACAR,GAAG,GAAG,eAAeO,MAAf,GAAwB,OAAxB,GAAkCE,IAAxC;IACH,CARD,MASK,IAAIX,GAAG,CAACO,UAAJ,CAAe,KAAf,CAAJ,EAA2B;MAC5BP,GAAG,GAAGA,GAAG,CAACQ,OAAJ,CAAY,OAAZ,EAAqB,EAArB,CAAN;;MACA,IAAIR,GAAG,CAACO,UAAJ,CAAe,MAAf,CAAJ,EAA4B;QACxBP,GAAG,GAAGA,GAAG,CAACQ,OAAJ,CAAY,QAAZ,EAAsB,EAAtB,CAAN;MACH;;MACD,IAAMC,OAAM,GAAGT,GAAG,CAACF,SAAJ,CAAc,CAAd,EAAiBE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAjB,CAAf;;MACA,IAAMC,KAAI,GAAGX,GAAG,CAACF,SAAJ,CAAcE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAd,CAAb;;MACA,IAAMJ,QAAQ,GAAGH,OAAO,GAAG,QAAH,GAAc,OAAtC;MACAD,GAAG,GAAGI,QAAQ,GAAGM,MAAM,CAACP,QAAP,CAAgBQ,IAA3B,GAAkC,YAAlC,GAAiDJ,OAAjD,GAA0D,OAA1D,GAAoEE,KAA1E;IACH;EACJ,CArBD,MAsBK;IACD,IAAMR,QAAO,GAAG,aAAaC,QAAQ,CAACC,QAAT,CAAkBC,QAA/C;;IACA,IAAIH,QAAJ,EAAa;MACT,IAAIH,GAAG,CAACO,UAAJ,CAAe,OAAf,CAAJ,EAA6B;QACzBP,GAAG,GAAGA,GAAG,CAACQ,OAAJ,CAAY,SAAZ,EAAuB,EAAvB,CAAN;;QACA,IAAMC,QAAM,GAAGT,GAAG,CAACF,SAAJ,CAAc,CAAd,EAAiBE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAjB,CAAf;;QACA,IAAMC,MAAI,GAAGX,GAAG,CAACF,SAAJ,CAAcE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAd,CAAb;;QACAR,GAAG,GAAG,eAAeO,QAAf,GAAwB,OAAxB,GAAkCE,MAAxC;MACH,CALD,MAMK,IAAIX,GAAG,CAACO,UAAJ,CAAe,KAAf,CAAJ,EAA2B;QAC5BP,GAAG,GAAGA,GAAG,CAACQ,OAAJ,CAAY,OAAZ,EAAqB,EAArB,CAAN;;QACA,IAAMC,QAAM,GAAGT,GAAG,CAACF,SAAJ,CAAc,CAAd,EAAiBE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAjB,CAAf;;QACA,IAAMC,MAAI,GAAGX,GAAG,CAACF,SAAJ,CAAcE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAd,CAAb;;QACAR,GAAG,GAAG,WAAWU,MAAM,CAACP,QAAP,CAAgBQ,IAA3B,GAAkC,YAAlC,GAAiDJ,QAAjD,GAA0D,OAA1D,GAAoEE,MAA1E;MACH,CALI,MAMA;QACDT,GAAG,GAAGF,GAAN;MACH;IACJ;EACJ;;EACD,OAAOE,GAAP;AACH,CA7CD;AA8CA;AACA;AACA;AACA;AACA;;;AACO,IAAMY,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAOf,GAAP,EAAYC,WAAZ,EAAyBe,IAAzB,EAAkC;EAC7D,IAAIC,SAAS,GAAGjB,GAAhB;EACA,IAAIkB,UAAU,GAAG,KAAjB;;EACA,IAAIH,IAAI,KAAK,IAAb,EAAmB;IACf,IAAIf,GAAG,CAACO,UAAJ,CAAe,MAAf,CAAJ,EAA4B;MACxB,OAAO;QACHQ,IAAI,EAAE,IADH;QAEHf,GAAG,EAAHA;MAFG,CAAP;IAIH;;IACD,OAAO;MACHe,IAAI,EAAE,IADH;MAEHf,GAAG,YAAKY,MAAM,CAACP,QAAP,CAAgBc,MAArB,SAA8BnB,GAA9B;IAFA,CAAP;EAIH;;EACD,IAAIA,GAAG,CAACO,UAAJ,CAAe,OAAf,KAA2BP,GAAG,CAACO,UAAJ,CAAe,QAAf,CAA/B,EAAyD;IACrD,IAAIQ,IAAI,KAAK,UAAb,EAAyB;MACrBG,UAAU,GAAG,UAAb;IACH,CAFD,MAGK;MACDA,UAAU,GAAG,OAAb;IACH;;IACD,IAAIF,IAAJ,EAAU;MACNC,SAAS,GAAGjB,GAAZ;IACH,CAFD,MAGK;MACDiB,SAAS,GAAGjB,GAAG,CAACoB,KAAJ,CAAU,GAAV,EAAe,CAAf,CAAZ;IACH;EACJ;;EACD,IAAIpB,GAAG,CAACO,UAAJ,CAAe,SAAf,CAAJ,EAA+B;IAC3BW,UAAU,GAAG,KAAb;IACAD,SAAS,iDAA0CI,cAAA,CAAOC,MAAP,CAActB,GAAd,CAA1C,CAAT;EACH;;EACD,IAAIA,GAAG,CAACU,OAAJ,CAAY,KAAZ,IAAqB,CAAC,CAA1B,EAA6B;IACzBO,SAAS,GAAGjB,GAAZ;IACAkB,UAAU,GAAG,KAAb;EACH;;EACD,IAAIlB,GAAG,CAACU,OAAJ,CAAY,MAAZ,IAAsB,CAAC,CAA3B,EAA8B;IAC1BO,SAAS,GAAGjB,GAAZ;IACAkB,UAAU,GAAG,KAAb;EACH,CAxC4D,CAyC7D;;;EACA,IAAIlB,GAAG,CAACU,OAAJ,CAAY,SAAZ,IAAyB,CAAC,CAA9B,EAAiC;IAC7BO,SAAS,GAAGjB,GAAZ;IACAkB,UAAU,GAAG,QAAb;EACH,CA7C4D,CA8C7D;;;EACA,IAAIlB,GAAG,CAACU,OAAJ,CAAY,SAAZ,IAAyB,CAAC,CAA9B,EAAiC;IAC7BO,SAAS,GAAGjB,GAAZ;IACAkB,UAAU,GAAG,SAAb;EACH;;EACD,IAAIlB,GAAG,CAACU,OAAJ,CAAY,QAAZ,IAAwB,CAAC,CAA7B,EAAgC;IAC5BO,SAAS,GAAGjB,GAAZ;IACAkB,UAAU,GAAG,QAAb;EACH;;EACD,IAAIlB,GAAG,CAACU,OAAJ,CAAY,MAAZ,IAAsB,CAAC,CAAvB,IAA4BV,GAAG,CAACU,OAAJ,CAAY,WAAZ,IAA2B,CAAC,CAA5D,EAA+D;IAC3DO,SAAS,GAAGjB,GAAZ;IACAkB,UAAU,GAAG,MAAb;EACH,CA1D4D,CA2D7D;;;EACA,IAAIA,UAAU,KAAK,KAAf,IAAwBA,UAAU,KAAK,QAAvC,IAAmDA,UAAU,KAAK,KAAtE,EAA6E;IACzE,OAAO;MACHH,IAAI,EAAEG,UADH;MAEHlB,GAAG,EAAHA;IAFG,CAAP;EAIH;;EACD,OAAO;IAAEA,GAAG,EAAED,YAAY,CAACkB,SAAD,EAAYhB,WAAZ,CAAnB;IAA6Cc,IAAI,EAAEG;EAAnD,CAAP;AACH,CAnEM;AAoEP;AACA;AACA;AACA;AACA;;;;;AACO,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAU;EACrC,IAAMC,MAAM,GAAGD,IAAI,CAACE,IAAL,CAAUC,GAAV,CAAc,UAACC,IAAD,EAAOC,CAAP,EAAa;IACtC,IAAMC,SAAS,GAAG,IAAAC,kBAAA,EAAOH,IAAI,CAACE,SAAZ,CAAlB;IACA,IAAME,OAAO,GAAG,IAAAD,kBAAA,EAAOH,IAAI,CAACI,OAAZ,CAAhB;IACA,IAAMC,YAAY,GAAG,IAAAF,kBAAA,EAAOC,OAAP,EAAgBE,IAAhB,CAAqB,IAAAH,kBAAA,EAAOD,SAAP,CAArB,EAAwC,SAAxC,CAArB;IACA,OAAO;MACHK,KAAK,EAAEN,CAAC,GAAG,CADR;MAEHO,UAAU,EAAEZ,IAAI,CAACY,UAFd;MAGHC,UAAU,EAAEb,IAAI,CAACa,UAHd;MAIHC,UAAU,EAAEd,IAAI,CAACc,UAJd;MAKHC,QAAQ,EAAEf,IAAI,CAACe,QALZ;MAMHC,UAAU,EAAEhB,IAAI,CAACgB,UANd;MAOHC,WAAW,EAAEjB,IAAI,CAACiB,WAPf;MAQHX,SAAS,EAAEA,SAAS,CAACY,MAAV,CAAiBlD,UAAU,CAACmD,MAA5B,CARR;MASHX,OAAO,EAAEA,OAAO,CAACU,MAAR,CAAelD,UAAU,CAACmD,MAA1B,CATN;MAUHC,IAAI,EAAEC,gBAAgB,CAACjB,IAAI,CAACgB,IAAN,CAVnB;MAWHE,QAAQ,EAAEC,eAAe,CAACd,YAAD,CAXtB;MAYHe,WAAW,EAAE,EAZV;MAaHhD,GAAG,EAAE4B,IAAI,CAACqB,WAAL,IAAoB,EAbtB;MAcHhD,WAAW,EAAEuB,IAAI,CAACvB,WAAL,IAAoB,KAd9B;MAeHiD,IAAI,EAAEtB,IAAI,CAACsB,IAfR;MAgBHC,MAAM,EAAE3B,IAAI,CAAC2B,MAhBV;MAiBHC,QAAQ,EAAE5B,IAAI,CAAC4B,QAjBZ;MAkBHC,UAAU,EAAE7B,IAAI,CAAC6B;IAlBd,CAAP;EAoBH,CAxBc,CAAf;EAyBA,OAAO5B,MAAP;AACH,CA3BM;AA4BP;AACA;AACA;AACA;AACA;;;;;AACO,IAAMoB,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACS,KAAD;EAAA,iBAAc,CAACA,KAAK,GAAG3D,IAAI,CAAC4D,GAAL,CAAS,IAAT,EAAe,CAAf,CAAT,EAA4BC,OAA5B,CAAoC,CAApC,CAAd;AAAA,CAAzB;AACP;AACA;AACA;AACA;AACA;;;;;AACO,IAAMT,eAAe,GAAG,SAAlBA,eAAkB,CAACU,KAAD,EAAW;EACtC,IAAMC,IAAI,GAAG/D,IAAI,CAACgE,KAAL,CAAWF,KAAK,GAAG,IAAnB,CAAb;EACA,IAAMG,MAAM,GAAGjE,IAAI,CAACgE,KAAL,CAAYF,KAAK,GAAG,IAAT,GAAiB,EAA5B,CAAf;EACA,IAAMI,MAAM,GAAGlE,IAAI,CAACgE,KAAL,CAAWF,KAAK,GAAG,EAAnB,CAAf;EACA,IAAMhC,MAAM,aAAMiC,IAAI,GAAG,CAAP,GAAWA,IAAI,GAAG,IAAlB,GAAyB,EAA/B,SAAoCE,MAAM,GAAG,CAAT,GAAaA,MAAM,GAAG,GAAtB,GAA4B,EAAhE,SAAqEC,MAAM,GAAG,CAAT,GAAaA,MAAM,GAAG,GAAtB,GAA4B,EAAjG,CAAZ;EACA,OAAOpC,MAAP;AACH,CANM;AAOP;AACA;AACA;AACA;AACA;;;;;AACO,IAAMqC,aAAa,GAAG,SAAhBA,aAAgB,CAACL,KAAD,EAAW;EACpC,IAAMC,IAAI,GAAG/D,IAAI,CAACgE,KAAL,CAAWF,KAAK,GAAG,IAAnB,CAAb;EACA,IAAMG,MAAM,GAAGjE,IAAI,CAACgE,KAAL,CAAYF,KAAK,GAAG,IAAT,GAAiB,EAA5B,CAAf;EACA,IAAMI,MAAM,GAAGlE,IAAI,CAACgE,KAAL,CAAWF,KAAK,GAAG,EAAnB,CAAf;EACA,IAAMhC,MAAM,aAAMiC,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoB,MAAMA,IAAhC,cAAwCE,MAAM,IAAI,EAAV,GAAeA,MAAf,GAAwB,MAAMA,MAAtE,cAAgFC,MAAM,IAAI,EAAV,GAAeA,MAAf,GAAwB,MAAMA,MAA9G,CAAZ;EACA,OAAOpC,MAAP;AACH,CANM;AAOP;AACA;AACA;AACA;AACA;;;;;AACO,IAAMsC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAU;EACrC,OAAO,IAAAjC,kBAAA,EAAOiC,IAAP,EAAatB,MAAb,CAAoBlD,UAAU,WAA9B,IAA0C,GAAjD;AACH,CAFM;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAMyE,YAAY,GAAG,SAAfA,YAAe,CAACC,QAAD,EAAWC,SAAX,EAAsBnC,OAAtB,EAAkC;EAC1D,sBAAqBkC,QAAQ,CAAC9C,KAAT,CAAe,GAAf,CAArB;EAAA;EAAA,IAAOpB,GAAP;EAAA,IAAYoE,KAAZ;;EACA,IAAMC,SAAS,GAAG,IAAIC,eAAJ,CAAoBF,KAApB,CAAlB;EACAC,SAAS,CAACE,GAAV,CAAc,WAAd,EAA2BR,eAAe,CAACI,SAAD,CAA1C;EACAE,SAAS,CAACE,GAAV,CAAc,SAAd,EAAyBR,eAAe,CAAC/B,OAAD,CAAxC;EACA,iBAAUhC,GAAV,cAAiBqE,SAAS,CAACxE,QAAV,EAAjB;AACH,CANM;AAOP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAM2E,WAAW,GAAG,SAAdA,WAAc,CAACC,GAAD,EAAsC;EAAA,IAAhCC,IAAgC,uEAAzB9D,MAAM,CAACP,QAAP,CAAgBqE,IAAS;EAC7D,IAAMC,QAAQ,GAAG,EAAjB;EACA,IAAMC,SAAS,GAAGF,IAAI,CAACG,KAAL,CAAW,uBAAX,KAAuC,EAAzD;;EACA,KAAK,IAAIhD,CAAC,GAAG,CAAR,EAAWiD,GAAG,GAAGF,SAAS,CAACG,MAAhC,EAAwClD,CAAC,GAAGiD,GAA5C,EAAiDjD,CAAC,EAAlD,EAAsD;IAClD,IAAMmD,CAAC,GAAGJ,SAAS,CAAC/C,CAAD,CAAT,CAAagD,KAAb,CAAmB,qBAAnB,CAAV;IACAF,QAAQ,CAACK,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiBA,CAAC,CAAC,CAAD,CAAlB;EACH;;EACD,IAAIP,GAAJ,EAAS;IACL,OAAOE,QAAQ,CAACF,GAAD,CAAf;EACH,CAFD,MAGK;IACD,OAAOE,QAAP;EACH;AACJ,CAbM;AAcP;AACA;AACA;AACA;;;;;AACO,SAASM,IAAT,GAAgB;EACnB,OAAO,uCAAuCzE,OAAvC,CAA+C,OAA/C,EAAwD,UAAU0E,CAAV,EAAa;IACxE,IAAMF,CAAC,GAAIrF,IAAI,CAACC,MAAL,KAAgB,EAAjB,GAAuB,CAAjC;IAAA,IAAoCuF,CAAC,GAAGD,CAAC,IAAI,GAAL,GAAWF,CAAX,GAAgBA,CAAC,GAAG,GAAL,GAAY,GAAnE;IACA,OAAOG,CAAC,CAACtF,QAAF,CAAW,EAAX,CAAP;EACH,CAHM,CAAP;AAIH;;AACM,SAASuF,MAAT,CAAgBzE,IAAhB,EAAsB;EACzB,IAAI,CAACA,IAAD,IAASA,IAAI,CAACoE,MAAL,KAAgB,CAA7B,EAAgC;IAC5B,MAAM,IAAIM,KAAJ,CAAU,+BAAV,CAAN;EACH;;EACD,IAAMC,IAAI,GAAGlF,QAAQ,CAACmF,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAb;EACA,IAAMC,MAAM,GAAGpF,QAAQ,CAACqF,aAAT,CAAuB,QAAvB,CAAf;EACAD,MAAM,CAACtF,GAAP,GAAaS,IAAb;EACA6E,MAAM,CAACzE,IAAP,GAAc,iBAAd;EACAuE,IAAI,CAACI,WAAL,CAAiBF,MAAjB;AACH;;AACM,SAASG,OAAT,CAAiBhF,IAAjB,EAAuB;EAC1B,IAAI,CAACA,IAAD,IAASA,IAAI,CAACoE,MAAL,KAAgB,CAA7B,EAAgC;IAC5B,MAAM,IAAIM,KAAJ,CAAU,+BAAV,CAAN;EACH;;EACD,IAAMC,IAAI,GAAGlF,QAAQ,CAACmF,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAb;EACA,IAAMK,IAAI,GAAGxF,QAAQ,CAACqF,aAAT,CAAuB,MAAvB,CAAb;EACAG,IAAI,CAAClB,IAAL,GAAY/D,IAAZ;EACAiF,IAAI,CAACC,GAAL,GAAW,YAAX;EACAD,IAAI,CAAC7E,IAAL,GAAY,UAAZ;EACAuE,IAAI,CAACI,WAAL,CAAiBE,IAAjB;AACH"}
|