trtc-sdk-v5 5.8.7-beta.12 → 5.8.7-beta.13
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/package.json +1 -1
- package/plugins/cdn-streaming/cdn-streaming.esm.js +1 -1
- package/plugins/cdn-streaming/cdn-streaming.iife.js +1 -1
- package/plugins/cdn-streaming/package.json +1 -1
- package/plugins/cross-room/package.json +1 -1
- package/plugins/device-detector/device-detector.esm.js +1 -1
- package/plugins/device-detector/device-detector.iife.js +1 -1
- package/plugins/device-detector/package.json +1 -1
- package/plugins/video-effect/basic-beauty/basic-beauty.esm.js +2 -2
- package/plugins/video-effect/basic-beauty/basic-beauty.iife.js +2 -2
- package/plugins/video-effect/basic-beauty/package.json +1 -1
- package/plugins/video-effect/beauty/package.json +1 -1
- package/plugins/video-effect/virtual-background/package.json +1 -1
- package/plugins/video-effect/watermark/package.json +1 -1
- package/trtc.esm.js +24 -24
- package/trtc.js +1 -1
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var le=Object.create;var z=Object.defineProperty,ce=Object.defineProperties,he=Object.getOwnPropertyDescriptor,pe=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,be=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable;var X=(c,e,r)=>e in c?z(c,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):c[e]=r,_=(c,e)=>{for(var r in e||(e={}))ee.call(e,r)&&X(c,r,e[r]);if(Q)for(var r of Q(e))Se.call(e,r)&&X(c,r,e[r]);return c},H=(c,e)=>ce(c,pe(e));var Te=(c,e)=>()=>(e||c((e={exports:{}}).exports,e),e.exports);var _e=(c,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ge(e))!ee.call(c,i)&&i!==r&&z(c,i,{get:()=>e[i],enumerable:!(o=he(e,i))||o.enumerable});return c};var Y=(c,e,r)=>(r=c!=null?le(be(c)):{},_e(e||!c||!c.__esModule?z(r,"default",{value:c,enumerable:!0}):r,c));var g=(c,e,r)=>(X(c,typeof e!="symbol"?e+"":e,r),r);var F=Te((re,$)=>{(function(c){"use strict";function e(t,h){var a=(t&65535)+(h&65535),b=(t>>16)+(h>>16)+(a>>16);return b<<16|a&65535}function r(t,h){return t<<h|t>>>32-h}function o(t,h,a,b,T,C){return e(r(e(e(h,t),e(b,C)),T),a)}function i(t,h,a,b,T,C,P){return o(h&a|~h&b,t,h,T,C,P)}function l(t,h,a,b,T,C,P){return o(h&b|a&~b,t,h,T,C,P)}function s(t,h,a,b,T,C,P){return o(h^a^b,t,h,T,C,P)}function p(t,h,a,b,T,C,P){return o(a^(h|~b),t,h,T,C,P)}function S(t,h){t[h>>5]|=128<<h%32,t[(h+64>>>9<<4)+14]=h;var a,b,T,C,P,n=1732584193,m=-271733879,d=-1732584194,u=271733878;for(a=0;a<t.length;a+=16)b=n,T=m,C=d,P=u,n=i(n,m,d,u,t[a],7,-680876936),u=i(u,n,m,d,t[a+1],12,-389564586),d=i(d,u,n,m,t[a+2],17,606105819),m=i(m,d,u,n,t[a+3],22,-1044525330),n=i(n,m,d,u,t[a+4],7,-176418897),u=i(u,n,m,d,t[a+5],12,1200080426),d=i(d,u,n,m,t[a+6],17,-1473231341),m=i(m,d,u,n,t[a+7],22,-45705983),n=i(n,m,d,u,t[a+8],7,1770035416),u=i(u,n,m,d,t[a+9],12,-1958414417),d=i(d,u,n,m,t[a+10],17,-42063),m=i(m,d,u,n,t[a+11],22,-1990404162),n=i(n,m,d,u,t[a+12],7,1804603682),u=i(u,n,m,d,t[a+13],12,-40341101),d=i(d,u,n,m,t[a+14],17,-1502002290),m=i(m,d,u,n,t[a+15],22,1236535329),n=l(n,m,d,u,t[a+1],5,-165796510),u=l(u,n,m,d,t[a+6],9,-1069501632),d=l(d,u,n,m,t[a+11],14,643717713),m=l(m,d,u,n,t[a],20,-373897302),n=l(n,m,d,u,t[a+5],5,-701558691),u=l(u,n,m,d,t[a+10],9,38016083),d=l(d,u,n,m,t[a+15],14,-660478335),m=l(m,d,u,n,t[a+4],20,-405537848),n=l(n,m,d,u,t[a+9],5,568446438),u=l(u,n,m,d,t[a+14],9,-1019803690),d=l(d,u,n,m,t[a+3],14,-187363961),m=l(m,d,u,n,t[a+8],20,1163531501),n=l(n,m,d,u,t[a+13],5,-1444681467),u=l(u,n,m,d,t[a+2],9,-51403784),d=l(d,u,n,m,t[a+7],14,1735328473),m=l(m,d,u,n,t[a+12],20,-1926607734),n=s(n,m,d,u,t[a+5],4,-378558),u=s(u,n,m,d,t[a+8],11,-2022574463),d=s(d,u,n,m,t[a+11],16,1839030562),m=s(m,d,u,n,t[a+14],23,-35309556),n=s(n,m,d,u,t[a+1],4,-1530992060),u=s(u,n,m,d,t[a+4],11,1272893353),d=s(d,u,n,m,t[a+7],16,-155497632),m=s(m,d,u,n,t[a+10],23,-1094730640),n=s(n,m,d,u,t[a+13],4,681279174),u=s(u,n,m,d,t[a],11,-358537222),d=s(d,u,n,m,t[a+3],16,-722521979),m=s(m,d,u,n,t[a+6],23,76029189),n=s(n,m,d,u,t[a+9],4,-640364487),u=s(u,n,m,d,t[a+12],11,-421815835),d=s(d,u,n,m,t[a+15],16,530742520),m=s(m,d,u,n,t[a+2],23,-995338651),n=p(n,m,d,u,t[a],6,-198630844),u=p(u,n,m,d,t[a+7],10,1126891415),d=p(d,u,n,m,t[a+14],15,-1416354905),m=p(m,d,u,n,t[a+5],21,-57434055),n=p(n,m,d,u,t[a+12],6,1700485571),u=p(u,n,m,d,t[a+3],10,-1894986606),d=p(d,u,n,m,t[a+10],15,-1051523),m=p(m,d,u,n,t[a+1],21,-2054922799),n=p(n,m,d,u,t[a+8],6,1873313359),u=p(u,n,m,d,t[a+15],10,-30611744),d=p(d,u,n,m,t[a+6],15,-1560198380),m=p(m,d,u,n,t[a+13],21,1309151649),n=p(n,m,d,u,t[a+4],6,-145523070),u=p(u,n,m,d,t[a+11],10,-1120210379),d=p(d,u,n,m,t[a+2],15,718787259),m=p(m,d,u,n,t[a+9],21,-343485551),n=e(n,b),m=e(m,T),d=e(d,C),u=e(u,P);return[n,m,d,u]}function D(t){var h,a="",b=t.length*32;for(h=0;h<b;h+=8)a+=String.fromCharCode(t[h>>5]>>>h%32&255);return a}function I(t){var h,a=[];for(a[(t.length>>2)-1]=void 0,h=0;h<a.length;h+=1)a[h]=0;var b=t.length*8;for(h=0;h<b;h+=8)a[h>>5]|=(t.charCodeAt(h/8)&255)<<h%32;return a}function E(t){return D(S(I(t),t.length*8))}function G(t,h){var a,b=I(t),T=[],C=[],P;for(T[15]=C[15]=void 0,b.length>16&&(b=S(b,t.length*8)),a=0;a<16;a+=1)T[a]=b[a]^909522486,C[a]=b[a]^1549556828;return P=S(T.concat(I(h)),512+h.length*8),D(S(C.concat(P),512+128))}function y(t){var h="0123456789abcdef",a="",b,T;for(T=0;T<t.length;T+=1)b=t.charCodeAt(T),a+=h.charAt(b>>>4&15)+h.charAt(b&15);return a}function N(t){return unescape(encodeURIComponent(t))}function U(t){return E(N(t))}function J(t){return y(U(t))}function B(t,h){return G(N(t),N(h))}function f(t,h){return y(B(t,h))}function V(t,h,a){return h?a?B(h,t):f(h,t):a?U(t):J(t)}typeof define=="function"&&define.amd?define(function(){return V}):typeof $=="object"&&$.exports?$.exports=V:c.md5=V})(re)});var te=Y(F(),1);var M=(i=>(i.PublishMainStreamToCDN="publish-main-stream-to-cdn",i.PublishSubStreamToCDN="publish-sub-stream-to-cdn",i.PublishMixStreamToCDN="publish-mix-stream-to-cdn",i.PublishMixStreamToRoom="publish-mix-stream-to-room",i))(M||{}),K=(r=>(r.Main="main",r.Sub="sub",r))(K||{});var W={IT_AUDIO_VIDEO:0,IT_PICTURE:2,IT_CANVAS:3,IT_PURE_AUDIO:4,IT_PURE_VIDEO:5};var O=class{constructor(e,r){g(this,"_core");g(this,"_room");g(this,"_log");g(this,"_params");g(this,"_publishGivenCDNData",null);this._core=e,this._room=e.room,this._log=r}get isPublishingGivenCDN(){return!!this._params}async startPublishGivenCDN(e){if(this._log.info(`[CDNStreaming] startPublishGivenCDN() current: ${JSON.stringify(this._params)}, params: ${JSON.stringify(e)}`),this.isPublishingGivenCDN){let{appId:r,bizId:o,url:i}=this._params||{};if(r===e.appId&&o===e.bizId&&i===e.url)return;await this.stopPublishGivenCDN()}this._params=e,this._publishGivenCDNData={pushRequestTime:Date.now(),pushAppId:e.appId,pushBizId:e.bizId,pushCdnUrl:e.url,pushStreamType:this.convertStreamType(e==null?void 0:e.publishMode),pushStreamId:e.streamId};try{let r=await this._room.sendStartPublishCDN(this._publishGivenCDNData,!1),{code:o,message:i}=r.data;if(o===0)this._log.info("[CDNStreaming] server success: start given cdn.");else throw this.resetGivenCDN(),this._log.error(`[CDNStreaming] server failed: start given cdn errCode: ${o} errMsg: ${i} options: ${JSON.stringify(e)}`),new Error(`[CDNStreaming] server failed: start given cdn errCode: ${o} errMsg: ${i}`)}catch(r){throw this.resetGivenCDN(),r}}async stopPublishGivenCDN(){if(this._log.info("[CDNStreaming] stopPublishGivenCDN"),!this.isPublishingGivenCDN||!this._publishGivenCDNData){this.resetGivenCDN();return}let{pushAppId:e,pushBizId:r,pushCdnUrl:o,pushStreamType:i,pushStreamId:l}=this._publishGivenCDNData,s={pushRequestTime:Date.now(),pushAppId:e,pushBizId:r,pushCdnUrl:o,pushStreamType:i,pushStreamId:l},p=await this._room.sendStopPublishCDN(s,!1),{code:S,message:D}=p.data;if(S===0)this._log.info("[CDNStreaming] server success: stop given cdn."),this.resetGivenCDN();else throw this._log.error(`[CDNStreaming] server failed: stop given cdn errCode: ${S} errMsg: ${D} data: ${JSON.stringify(s)}`),new Error(`[CDNStreaming] server failed: stop given cdn errCode: ${S} errMsg: ${D}`)}resetGivenCDN(){this._publishGivenCDNData=null,this._params=void 0}convertStreamType(e){return e==="publish-sub-stream-to-cdn"?"aux":"main"}};var x=class{constructor(e,r){g(this,"_core");g(this,"_room");g(this,"_log");g(this,"_config",null);g(this,"_data",null);g(this,"_givenCDNManager");this._core=e,this._room=e.room,this._log=r,this.reset()}get isMixing(){return!!this._data}get isStarted(){return!!this._config}get hasCustomCDN(){var e,r,o;return((e=this._config)==null?void 0:e.target.appId)&&((r=this._config)==null?void 0:r.target.bizId)&&((o=this._config)==null?void 0:o.target.url)}async startMixTranscode(e){if(this._log.info(`startMixTranscode: ${JSON.stringify(e)}`),this._config=e,this.installEvents(),!!this._core.room.isJoined)try{let r=this.getInputParam(e),o=this.getOutputParam(e),i=this.getOutputSessionId({config:e,roomId:this._room.roomId,userId:this._room.userId});this.isMixing&&this._data&&i!==this._data.outputSessionId&&(this._log.info("[CDNStreaming] streamId changed, auto stop mixing before start"),await this.doStopMixTranscode()),await this.doStartMixTranscode({outputSessionId:i,inputParam:r,outputParam:o});let{appId:l,bizId:s,url:p,streamId:S=""}=e.target;l&&s&&p&&(this._givenCDNManager||(this._givenCDNManager=new O(this._core,this._log)),await this._givenCDNManager.startPublishGivenCDN({publishMode:e.target.publishMode,appId:l,bizId:s,url:p,streamId:S}))}catch(r){throw this.reset(),r}}async doStartMixTranscode({outputSessionId:e,inputParam:r,outputParam:o}){let i={roomId:String(this._room.roomId),mcuRequestTime:Date.now(),outputSessionId:e,inputParam:r,outputParam:o};this._log.info(`[CDNStreaming] doStartMixTranscode: ${JSON.stringify(i)}`);let l=await this._room.sendStartMixTranscode(i),{code:s}=l.data,{message:p}=l.data;if(s===0)this._log.info("[CDNStreaming] server success: start mix"),this._data=i;else throw s===-102083&&(p=`Please enable relayed-push in ${this._core.constants.CLOUD_CONSOLE_URL} and try later, refer to ${this._core.constants.DOC_URL}tutorial-26-advanced-publish-cdn-stream.html`),this._log.error(`[CDNStreaming] server failed: start mix errCode: ${s} errMsg: ${p}`),new Error(`[CDNStreaming] server failed: start mix errCode: ${s} errMsg: ${p}`)}async stopMixTranscode(){this._log.info("[CDNStreaming] stopMixTranscode");try{this.isStarted&&this.isMixing&&(await this.doStopMixTranscode(),this._config&&this.hasCustomCDN&&this._givenCDNManager&&await this._givenCDNManager.stopPublishGivenCDN())}catch(e){throw e}this.reset()}async doStopMixTranscode(){let e={mcuRequestTime:Date.now(),outputSessionId:this._data.outputSessionId,streamType:this._data.outputParam.streamType};this._log.info(`[CDNStreaming] doStopMixTranscode: ${JSON.stringify(e)}`);let r=await this._room.sendStopMixTranscode(e),{code:o,message:i}=r.data;if(o===0)this._log.info("[CDNStreaming] server success: stop mix"),this.reset();else throw this._log.error(`[CDNStreaming] server failed: stop mix errCode: ${o} errMsg: ${i}`),new Error(`[CDNStreaming] server failed: stop mix errCode: ${o} errMsg: ${i}`)}reset(){this._config=null,this._data=null,this.uninstallEvents()}installEvents(){this._core.room.on("joined",this.handleRoomJoined,this),this._core.room.on("left",this.handleRoomLeft,this)}uninstallEvents(){this._core.room.off("joined",this.handleRoomJoined,this),this._core.room.off("left",this.handleRoomLeft,this)}async handleRoomJoined(){this._log.info(`[CDNStreaming] handleJoined: ${JSON.stringify(this._config)}`),this.isStarted&&this._config&&await this.startMixTranscode(this._config)}async handleRoomLeft(){this._log.info(`[CDNStreaming] handleRoomLeft: ${JSON.stringify(this._config)}`),this._data=null}getOutputSessionId({config:e,userId:r,roomId:o}){return this._core.utils.isString(e.target.streamId)&&e.target.streamId.length>0?e.target.streamId:(0,te.default)(`${o}_${r}_main`)}getStringRoomId(e,r){return e?String(e):r}getInputParam(e){let{mix:r={}}=e,{audioMixUserList:o=[],videoLayoutList:i=[]}=r,l=i.map(s=>({userId:s.fixedVideoUser.userId,roomId:this.getStringRoomId(s.fixedVideoUser.roomId,s.fixedVideoUser.strRoomId)||this._core.room.roomId,width:s.width||0,height:s.height||0,locationX:s.locationX||0,locationY:s.locationY||0,zOrder:s.zOrder||1,streamType:s.fixedVideoStreamType==="sub"?1:0,inputType:W.IT_PURE_VIDEO,renderMode:s.fillMode||0}));return o.forEach(s=>{let p=this._core.room.roomId;(s.roomId||s.strRoomId)&&(p=this.getStringRoomId(s.roomId,s.strRoomId));let S=l.findIndex(D=>D.userId===s.userId&&D.roomId===p);S!==-1?l[S].inputType=W.IT_AUDIO_VIDEO:l.push({userId:s.userId,roomId:s.roomId||s.strRoomId||this._core.room.roomId,inputType:W.IT_PURE_AUDIO})}),l}getOutputParam(e){let r=e.target.streamId||"",{encoding:o={},mix:i={}}=e;return{streamId:r,streamType:r.length>0?1:0,width:this._core.utils.isUndefined(o.videoWidth)?640:o.videoWidth,height:this._core.utils.isUndefined(o.videoHeight)?480:o.videoHeight,videoBps:o.videoBitrate||0,fps:o.videoFramerate||15,gop:o.videoGOP||2,audioSampleRate:o.audioSampleRate||48e3,audioBps:o.audioBitrate||64,audioChannels:o.audioChannels||1,backgroundColor:i.backgroundColor||0,backgroundImg:i.backgroundImage||"",extraInfo:"",videoCodec:2,audioCodec:0}}};var q=Y(F(),1);var L=class{constructor(e,r){g(this,"_room");g(this,"_core");g(this,"_log");g(this,"_paramsForTencentCDN");g(this,"_initParamsForTencentCDN",{isPublished:!1,isStarted:!1});this._core=e,this._room=e.room,this._log=r,this._paramsForTencentCDN=new Map([["publish-main-stream-to-cdn",this._initParamsForTencentCDN],["publish-sub-stream-to-cdn",this._initParamsForTencentCDN]])}installEvents(){this._core.innerEmitter.on("104",this.handlePublished,this),this._core.room.on("left",this.handleRoomLeft,this)}uninstallEvents(){this._core.innerEmitter.off("104",this.handlePublished,this),this._core.room.off("left",this.handleRoomLeft,this)}async handlePublished({track:e}){var i;if(e.room!==this._room||(this._log.info(`[CDNStreaming] handlePublished: mediaType ${e.mediaType}, roomID ${(i=e==null?void 0:e.room)==null?void 0:i.roomId}`),e.mediaType===1))return;let r=e.mediaType===4?"publish-main-stream-to-cdn":"publish-sub-stream-to-cdn",o=this._paramsForTencentCDN.get(r)||null;o!=null&&o.target&&o.isStarted&&await this.startPublishTencentCDN(o.target)}async handleRoomLeft(){this._log.info("[CDNStreaming] handleRoomLeft"),this.changeDataStatus("publish-main-stream-to-cdn",{isPublished:!1}),this.changeDataStatus("publish-sub-stream-to-cdn",{isPublished:!1})}isStreamPublished(e){return e==="publish-main-stream-to-cdn"&&!this._room.isMainStreamPublished?(this._log.info("[CDNStreaming] Main stream has not already published, will auto reStart after published."),!1):e==="publish-sub-stream-to-cdn"&&!this._room.isAuxStreamPublished?(this._log.info("[CDNStreaming] Sub has not already published, will auto reStart after published."),!1):!0}changeDataStatus(e,r){let o=this._paramsForTencentCDN.get(e),i=_(_({},o),r);this._paramsForTencentCDN.set(e,i)}async startPublishTencentCDN(e){if(this._log.info(`[CDNStreaming] startPublishTencentCDN ${JSON.stringify(e)}`),this.installEvents(),this.changeDataStatus(e.publishMode,{target:e,isStarted:!0}),!this.isStreamPublished(e.publishMode))return;let r=e.streamId||"",o=this.generatePublishCDNStreamId(r,e.publishMode),i=this.generatePublishCDNSessionId(e.publishMode),l=e.publishMode==="publish-sub-stream-to-cdn"?1:0,s={requestTime:Date.now(),sessionId:i,streamId:o,streamType:l};await this.doStartPublishTencentCDN(s,e.publishMode);let{appId:p,bizId:S,url:D}=e;if(p&&S&&D){let I=this._paramsForTencentCDN.get(e.publishMode)||this._initParamsForTencentCDN;I!=null&&I.givenCDNManager||(I.givenCDNManager=new O(this._core,this._log),this._paramsForTencentCDN.set(e.publishMode,I)),await I.givenCDNManager.startPublishGivenCDN({publishMode:e.publishMode,appId:p,bizId:S,url:D,streamId:o})}}async doStartPublishTencentCDN(e,r){this._log.info(`[CDNStreaming] doStartPublishTencentCDN: ${JSON.stringify(e)}`);let o=6,i=500,l=0;for(;;){let s=await this._room.sendStartPublishCDN(e,!0),{code:p}=s.data,{message:S}=s.data;if(p===0){this._log.info("[CDNStreaming] server success: start tencent cdn"),this.changeDataStatus(r,{isPublished:!0});break}else if(p===-10006&&l<o)this._log.warn(`[CDNStreaming] doStartPublishTencentCDN: retry...${l+1}/6, reason: ${S}`),l+=1,await new Promise(D=>setTimeout(D,i));else throw this.changeDataStatus(r,{isPublished:!1}),p===-102083&&(S=`Please enable relayed-push in ${this._core.constants.CLOUD_CONSOLE_URL} and try later, refer to ${this._core.constants.DOC_URL}tutorial-26-advanced-publish-cdn-stream.html`),this._log.error(`[CDNStreaming] server failed: start tencent cdn errCode: ${p} errMsg: ${S}`),new Error(`[CDNStreaming] server failed: start tencent cdn errCode: ${p} errMsg: ${S}`)}}async stopPublishTencentCDN(e){this._log.info(`[CDNStreaming] doStartPublishTencentCDN: ${JSON.stringify(e)}`);let r=this._paramsForTencentCDN.get(e)||this._initParamsForTencentCDN;if(r.isPublished){let{target:o}=r;o!=null&&o.bizId&&o.appId&&o.url&&(r!=null&&r.givenCDNManager)&&await(r==null?void 0:r.givenCDNManager.stopPublishGivenCDN()),await this.doStopPublishTencentCDN(e)}this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN)}async doStopPublishTencentCDN(e){let r={requestTime:Date.now(),sessionId:(0,q.default)(`${this._room.roomId}_${this._room.userId}_${this.convertPublishModeToStreamType(e)}`)};this._log.info(`[CDNStreaming] doStopPublishTencentCDN: ${JSON.stringify(r)}`);let o=await this._room.sendStopPublishCDN(r,!0),{code:i}=o.data,{message:l}=o.data;if(i===0)this._log.info("[CDNStreaming] server success: stop tencent cdn"),this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN),this.reset(e);else throw i===-102069&&(this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN),l=`can not stop in auto relayed-push mode ${l}`),this._log.error(`[CDNStreaming] server failed: stop tencent cdn errCode: ${i} errMsg: ${l}`),new Error(`[CDNStreaming] server failed: stop tencent cdn errCode: ${i} errMsg: ${l}`)}reset(e){this.uninstallEvents(),this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN)}generatePublishCDNStreamId(e,r){if(e===""){let o=`${this._room.roomId}_${this._room.userId}_${this.convertPublishModeToStreamType(r)}`;return/^[A-Za-z\d_-]*$/.test(o)||(o=(0,q.default)(o)),`${this._room.sdkAppId}_${o}`}return e}convertPublishModeToStreamType(e){return e==="publish-main-stream-to-cdn"?"main":"aux"}generatePublishCDNSessionId(e){return(0,q.default)(`${this._room.roomId}_${this._room.userId}_${this.convertPublishModeToStreamType(e)}`)}};var ae=Y(F(),1);var v=class{constructor(e,r){g(this,"_core");g(this,"_room");g(this,"_log");g(this,"_seq");g(this,"_taskId",null);g(this,"_startData",null);g(this,"_updateData",null);g(this,"_stopData",null);this._core=e,this._room=e.room,this._log=r,this._seq=0}async startPushStreamToRoom(e){var l,s;this._seq+=1,this._startData=_({roomid:String(this._room.roomId),roomType:this._room.useStringRoomId?1:0,sessionId:(0,ae.default)(`${this._room.roomId}_${this._room.userId}_start`),agentParam:{cdnRobotUserid:`mcu_robot_${this._room.roomId}_${this._room.userId}`}},this.getCommonParams(e)),this._log.info(`startPushStreamToRoom: ${JSON.stringify(this._startData)}`);let r=await this._room.sendStartPushStreamToRoom(this._startData),{code:o,message:i}=r.data;o===0?(this._taskId=(s=(l=r.data)==null?void 0:l.data)==null?void 0:s.taskId,this._taskId||this.reportServerError("startPushStreamToRoom",o,`can't resolve task id: ${JSON.stringify(r.data)}`),this._log.info("[CDNStreaming] server success: taskId",this._taskId)):this.reportServerError("startPushStreamToRoom",o,i)}async updatePushStreamToRoom(e){this._seq+=1,this._updateData=H(_({taskid:this._taskId},this.getCommonParams(e)),{enableNtpSync:!0}),this._log.info(`updatePushStreamToRoom: ${JSON.stringify(this._updateData)}`);let r=await this._room.sendUpdatePushStreamToRoom(this._updateData),{code:o,message:i}=r.data;o===0?this._log.info("server success: updatePushStreamToRoom"):this.reportServerError("updatePushStreamToRoom",o,i)}async stopPushStreamToRoom(){this._seq+=1,this._stopData={sdkappid:this._room.sdkAppId,taskid:this._taskId},this._log.info(`stopPushStreamToRoom: ${JSON.stringify(this._stopData)}`);let e=await this._room.sendStopPushStreamToRoom(this._stopData),{code:r,message:o}=e.data;r===0?this._log.info("server success: start mix"):this.reportServerError("stopPushStreamToRoom",r,o)}reportServerError(e,r,o){let i=`server failed: ${e} errCode: ${r} errMsg: ${o}`;throw this._log.error(i),new Error(i)}getPushRtcRoomParams(e){let{robotUser:r}=e.target;return r?[{roomid:String((r==null?void 0:r.roomId)||(r==null?void 0:r.strRoomId))||this._room.roomId,roomType:r!=null&&r.roomId?0:1,pushRobotUserid:r==null?void 0:r.userId}]:[]}getCommonParams(e){return{sdkappid:this._room.sdkAppId,transcode:!0,audioParam:this.getAudioParam(e),videoParam:this.getVideoParam(e),pushRtcRoomParams:this.getPushRtcRoomParams(e),sequenceNumber:this._seq}}getAudioParam(e){let{mix:r={},encoding:o={}}=e,i={audioSamplerate:o.audioSampleRate||48e3,audioBitrateKbps:o.audioBitrate||64,audioChannels:o.audioChannels||1},{audioMixUserList:l}=r;return{audioEncodeParam:i,mixAudioUsers:(l==null?void 0:l.map(s=>({roomid:String(s.roomId||s.strRoomId)||this._room.roomId,userid:s.userId,roomType:s.roomId?0:1})))||[]}}getVideoParam(e){let{mix:r={},encoding:o={}}=e,i={videoCodec:2,videoWidth:o.videoWidth||640,videoHeight:o.videoHeight||480,videoFramerate:o.videoFramerate||15,videoGop:o.videoGOP||2,videoBitrateKbps:o.videoBitrate||800},{videoLayoutList:l}=r;return{videoEncodeParam:i,layoutParams:(l==null?void 0:l.map(s=>({userMediaStream:{userInfo:{roomid:String(s.fixedVideoUser.roomId||s.fixedVideoUser.strRoomId)||this._room.roomId,userid:s.fixedVideoUser.userId,roomType:s.fixedVideoUser.roomId?0:1},streamType:s.fixedVideoStreamType==="sub"?1:0},imageWidth:s.width||0,imageHeight:s.height||0,locationX:s.locationX||0,locationY:s.locationY||0,imageZorder:s.zOrder||1,renderMode:s.fillMode||0})))||[],backgroundColor:r.backgroundColor||0,backgroundImageUrl:r.backgroundImage||""}}};var oe=c=>typeof c=="string";var R;function Ce(c,e,r,o){if(!/^[A-Za-z\d_-]*$/.test(c)){let{RtcError:l,ErrorCode:s,ErrorCodeDictionary:p}=R;throw new l({code:s.INVALID_PARAMETER,extraCode:p.INVALID_STREAM_ID,messageParams:{key:"streamId"}})}}function Ie(c,e,r,o){let{RtcError:i,ErrorCode:l,ErrorCodeDictionary:s}=R;if(oe(c))throw new i({code:l.INVALID_PARAMETER,extraCode:s.INVALID_ROOM_ID_INTEGER_STRING,fnName:r,messageParams:{key:"roomId"}});if(c===void 0)return;if(!(/^[1-9]\d*$/.test(String(c))&&c<4294967295))throw new i({code:l.INVALID_PARAMETER,extraCode:s.INVALID_ROOM_ID_INTEGER,fnName:r,messageParams:{key:"roomId"}})}function Pe(c,e,r,o){let{RtcError:i,ErrorCode:l,ErrorCodeDictionary:s}=R;if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(c))throw new i({code:l.INVALID_PARAMETER,extraCode:s.INVALID_ROOM_ID_STRING,fnName:r,messageParams:{key:"strRoomId"}})}var A={type:"number",notLessThanZero:!0},j={type:"object",properties:{userId:{required:!0,type:"string"},roomId:{type:["string","number"],validate:Ie},strRoomId:{type:"string",validate:Pe}}},ie={required:!0,properties:{publishMode:{required:!0,values:["publish-main-stream-to-cdn","publish-mix-stream-to-cdn","publish-sub-stream-to-cdn","publish-mix-stream-to-room"]},streamId:{required:!1,type:"string",validate:Ce},appId:{type:"number",allowEmpty:!1},bizId:{type:"number",allowEmpty:!1},url:{type:"string",allowEmpty:!1},robotUser:_({},j)},validate(c,e,r,o){let{publishMode:i,robotUser:l}=c;if(i==="publish-mix-stream-to-room"&&!l){let{RtcError:s,ErrorCode:p}=R;throw new s({code:p.INVALID_PARAMETER,message:"Invalid parameter target, the value of publishMode is PublishMixStreamToRoom, robotUser is required."})}}},se={required:!1,type:"object",properties:{videoWidth:A,videoHeight:A,videoBitrate:H(_({},A),{allowEmpty:!1}),videoFramerate:{type:"number",validate(c,e,r,o){if(c<=0||c>30){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mixConfig -> videoFramerate, the value must be between (0, 30]."})}}},videoGOP:{type:"number",validate(c,e,r,o){if(c<1||c>8){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mixConfig -> videoGOP, the value must be between [1, 8]."})}}},audioSampleRate:A,audioBitrate:{type:"number",validate(c,e,r,o){if(c<32||c>192){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mixConfig -> audioBitrate, the value must be between [32, 192]."})}}},audioChannels:{type:"number",values:[1,2]}}},ne={required:!1,type:"object",properties:{backgroundColor:{type:"number"},backgroundImage:{type:"string"},audioMixUserList:{type:"array",arrayItem:_({},j)},videoLayoutList:{type:"array",required:!0,arrayItem:{type:"object",properties:{fixedVideoUser:_({},j),fixedVideoStreamType:{type:"string",required:!0,values:["main","sub"]},fillMode:{type:"number",values:[0,1,2,4]},zOrder:{type:"number",required:!0,validate(c,e,r,o){if(c<1||c>15){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mix -> videoLayoutList -> zOrder, the value must be between [1, 15]."})}}},width:A,height:A,locationX:A,locationY:A}}}}};function me(c){return R=c.errorModule,{name:"CDNStreamingOptions",type:"object",required:!0,allowEmpty:!1,properties:{target:_({},ie),encoding:_({},se),mix:_({},ne)},validate(e,r,o,i){var S,D;let{publishMode:l}=e.target,{encoding:s,mix:p}=e;if(l==="publish-mix-stream-to-cdn"){let{RtcError:I,ErrorCode:E,ErrorCodeDictionary:G}=c.errorModule;if(!s)throw new I({code:E.INVALID_PARAMETER,extraCode:G.INVALID_PARAMETER_REQUIRED,fnName:o,messageParams:{key:"encoding"}});if(!p)throw new I({code:E.INVALID_PARAMETER,extraCode:G.INVALID_PARAMETER_REQUIRED,fnName:o,messageParams:{key:"mix"}});if(p&&p.videoLayoutList){let y=0,N=0,U=[];if(p.videoLayoutList.forEach((f,V)=>{U.push(f.fixedVideoUser.userId),f.width+f.locationX>y&&(y=f.width+f.locationX),f.height+f.locationY>N&&(N=f.height+f.locationY)}),U.indexOf(c.room.userId)<0)throw new I({code:E.INVALID_PARAMETER,message:"Invalid parameter mix -> videoLayoutList, the value must be include self."});let J=(S=s==null?void 0:s.videoWidth)!=null?S:640,B=(D=s==null?void 0:s.videoHeight)!=null?D:480;if(J<y||B<N)throw new I({code:E.INVALID_PARAMETER,message:"Invalid parameter encoding, the width and height of the mixed video must encompass all the mixed-in video streams."})}}}}}function de(c){return R=c.errorModule,{name:"CDNStreamingOptions",type:"object",required:!0,allowEmpty:!1,properties:{target:_({},ie),encoding:_({},se),mix:_({},ne)}}}function ue(c){return R=c.errorModule,{name:"CDNStreamingOptions",type:"object",required:!0,allowEmpty:!1,properties:{target:{required:!0,properties:{publishMode:{required:!0,values:["publish-main-stream-to-cdn","publish-mix-stream-to-cdn","publish-sub-stream-to-cdn","publish-mix-stream-to-room"]}}}}}}var k=0,w=class w{constructor(e){this.core=e;g(this,"_mixTranscodeManager");g(this,"_publishCDNManager");g(this,"_pushStreamToRoomManager");g(this,"_core");g(this,"_modeOptions");g(this,"seq");g(this,"_log");k=k+1,this.seq=k,this._log=e.log.createChild({id:`${this.getAlias()}${k}`}),this._log.info(`[CDNStreaming] created id=${this.getAlias()}${k}`),this._core=e,this._modeOptions=new Map,this._mixTranscodeManager=new x(e,this._log),this._publishCDNManager=new L(e,this._log),this._pushStreamToRoomManager=new v(e,this._log)}getName(){return w.Name}getAlias(){return"cdn"}getValidateRule(e){switch(e){case"start":return me(this._core);case"update":return de(this._core);case"stop":return ue(this._core)}}getGroup(e){return e.target.publishMode}async start(e){return this._modeOptions.set(e.target.publishMode,e),e.target.publishMode==="publish-mix-stream-to-room"?this._pushStreamToRoomManager.startPushStreamToRoom(e):await this.doStart(e)}async update(e){let r=this._modeOptions.get(e.target.publishMode);return this._core.utils.deepMerge(r,e),e.target.publishMode==="publish-mix-stream-to-room"?this._pushStreamToRoomManager.updatePushStreamToRoom(r):await this.doStart(r)}async stop(e){switch(e.target.publishMode){case"publish-mix-stream-to-cdn":{await this._mixTranscodeManager.stopMixTranscode();break}case"publish-main-stream-to-cdn":case"publish-sub-stream-to-cdn":{await this._publishCDNManager.stopPublishTencentCDN(e.target.publishMode);break}case"publish-mix-stream-to-room":{this._pushStreamToRoomManager.stopPushStreamToRoom();break}}this._modeOptions.delete(e.target.publishMode)}async doStart(e){switch(this._log.info(`[CDNStreaming] doStart: ${JSON.stringify(e)}`),e.target.publishMode){case"publish-mix-stream-to-cdn":{await this._mixTranscodeManager.startMixTranscode(e);break}case"publish-main-stream-to-cdn":case"publish-sub-stream-to-cdn":{await this._publishCDNManager.startPublishTencentCDN(e.target);break}}}};g(w,"TYPE",{PublishMode:{PublishMainStreamToCDN:"publish-main-stream-to-cdn",PublishSubStreamToCDN:"publish-sub-stream-to-cdn",PublishMixStreamToCDN:"publish-mix-stream-to-cdn",PublishMixStreamToRoom:"publish-mix-stream-to-room"}}),g(w,"Name","CDNStreaming");var Z=w;var lr=Z;export{Z as CDNStreaming,M as PublishMode,K as TRTCStreamType,lr as default};
|
|
1
|
+
var le=Object.create;var z=Object.defineProperty,ce=Object.defineProperties,he=Object.getOwnPropertyDescriptor,pe=Object.getOwnPropertyDescriptors,ge=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,be=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable;var X=(c,e,r)=>e in c?z(c,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):c[e]=r,_=(c,e)=>{for(var r in e||(e={}))ee.call(e,r)&&X(c,r,e[r]);if(Q)for(var r of Q(e))Se.call(e,r)&&X(c,r,e[r]);return c},H=(c,e)=>ce(c,pe(e));var Te=(c,e)=>()=>(e||c((e={exports:{}}).exports,e),e.exports);var _e=(c,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ge(e))!ee.call(c,i)&&i!==r&&z(c,i,{get:()=>e[i],enumerable:!(o=he(e,i))||o.enumerable});return c};var Y=(c,e,r)=>(r=c!=null?le(be(c)):{},_e(e||!c||!c.__esModule?z(r,"default",{value:c,enumerable:!0}):r,c));var g=(c,e,r)=>(X(c,typeof e!="symbol"?e+"":e,r),r);var F=Te((re,$)=>{(function(c){"use strict";function e(t,h){var a=(t&65535)+(h&65535),b=(t>>16)+(h>>16)+(a>>16);return b<<16|a&65535}function r(t,h){return t<<h|t>>>32-h}function o(t,h,a,b,T,C){return e(r(e(e(h,t),e(b,C)),T),a)}function i(t,h,a,b,T,C,f){return o(h&a|~h&b,t,h,T,C,f)}function l(t,h,a,b,T,C,f){return o(h&b|a&~b,t,h,T,C,f)}function s(t,h,a,b,T,C,f){return o(h^a^b,t,h,T,C,f)}function p(t,h,a,b,T,C,f){return o(a^(h|~b),t,h,T,C,f)}function S(t,h){t[h>>5]|=128<<h%32,t[(h+64>>>9<<4)+14]=h;var a,b,T,C,f,n=1732584193,m=-271733879,d=-1732584194,u=271733878;for(a=0;a<t.length;a+=16)b=n,T=m,C=d,f=u,n=i(n,m,d,u,t[a],7,-680876936),u=i(u,n,m,d,t[a+1],12,-389564586),d=i(d,u,n,m,t[a+2],17,606105819),m=i(m,d,u,n,t[a+3],22,-1044525330),n=i(n,m,d,u,t[a+4],7,-176418897),u=i(u,n,m,d,t[a+5],12,1200080426),d=i(d,u,n,m,t[a+6],17,-1473231341),m=i(m,d,u,n,t[a+7],22,-45705983),n=i(n,m,d,u,t[a+8],7,1770035416),u=i(u,n,m,d,t[a+9],12,-1958414417),d=i(d,u,n,m,t[a+10],17,-42063),m=i(m,d,u,n,t[a+11],22,-1990404162),n=i(n,m,d,u,t[a+12],7,1804603682),u=i(u,n,m,d,t[a+13],12,-40341101),d=i(d,u,n,m,t[a+14],17,-1502002290),m=i(m,d,u,n,t[a+15],22,1236535329),n=l(n,m,d,u,t[a+1],5,-165796510),u=l(u,n,m,d,t[a+6],9,-1069501632),d=l(d,u,n,m,t[a+11],14,643717713),m=l(m,d,u,n,t[a],20,-373897302),n=l(n,m,d,u,t[a+5],5,-701558691),u=l(u,n,m,d,t[a+10],9,38016083),d=l(d,u,n,m,t[a+15],14,-660478335),m=l(m,d,u,n,t[a+4],20,-405537848),n=l(n,m,d,u,t[a+9],5,568446438),u=l(u,n,m,d,t[a+14],9,-1019803690),d=l(d,u,n,m,t[a+3],14,-187363961),m=l(m,d,u,n,t[a+8],20,1163531501),n=l(n,m,d,u,t[a+13],5,-1444681467),u=l(u,n,m,d,t[a+2],9,-51403784),d=l(d,u,n,m,t[a+7],14,1735328473),m=l(m,d,u,n,t[a+12],20,-1926607734),n=s(n,m,d,u,t[a+5],4,-378558),u=s(u,n,m,d,t[a+8],11,-2022574463),d=s(d,u,n,m,t[a+11],16,1839030562),m=s(m,d,u,n,t[a+14],23,-35309556),n=s(n,m,d,u,t[a+1],4,-1530992060),u=s(u,n,m,d,t[a+4],11,1272893353),d=s(d,u,n,m,t[a+7],16,-155497632),m=s(m,d,u,n,t[a+10],23,-1094730640),n=s(n,m,d,u,t[a+13],4,681279174),u=s(u,n,m,d,t[a],11,-358537222),d=s(d,u,n,m,t[a+3],16,-722521979),m=s(m,d,u,n,t[a+6],23,76029189),n=s(n,m,d,u,t[a+9],4,-640364487),u=s(u,n,m,d,t[a+12],11,-421815835),d=s(d,u,n,m,t[a+15],16,530742520),m=s(m,d,u,n,t[a+2],23,-995338651),n=p(n,m,d,u,t[a],6,-198630844),u=p(u,n,m,d,t[a+7],10,1126891415),d=p(d,u,n,m,t[a+14],15,-1416354905),m=p(m,d,u,n,t[a+5],21,-57434055),n=p(n,m,d,u,t[a+12],6,1700485571),u=p(u,n,m,d,t[a+3],10,-1894986606),d=p(d,u,n,m,t[a+10],15,-1051523),m=p(m,d,u,n,t[a+1],21,-2054922799),n=p(n,m,d,u,t[a+8],6,1873313359),u=p(u,n,m,d,t[a+15],10,-30611744),d=p(d,u,n,m,t[a+6],15,-1560198380),m=p(m,d,u,n,t[a+13],21,1309151649),n=p(n,m,d,u,t[a+4],6,-145523070),u=p(u,n,m,d,t[a+11],10,-1120210379),d=p(d,u,n,m,t[a+2],15,718787259),m=p(m,d,u,n,t[a+9],21,-343485551),n=e(n,b),m=e(m,T),d=e(d,C),u=e(u,f);return[n,m,d,u]}function D(t){var h,a="",b=t.length*32;for(h=0;h<b;h+=8)a+=String.fromCharCode(t[h>>5]>>>h%32&255);return a}function I(t){var h,a=[];for(a[(t.length>>2)-1]=void 0,h=0;h<a.length;h+=1)a[h]=0;var b=t.length*8;for(h=0;h<b;h+=8)a[h>>5]|=(t.charCodeAt(h/8)&255)<<h%32;return a}function E(t){return D(S(I(t),t.length*8))}function G(t,h){var a,b=I(t),T=[],C=[],f;for(T[15]=C[15]=void 0,b.length>16&&(b=S(b,t.length*8)),a=0;a<16;a+=1)T[a]=b[a]^909522486,C[a]=b[a]^1549556828;return f=S(T.concat(I(h)),512+h.length*8),D(S(C.concat(f),512+128))}function y(t){var h="0123456789abcdef",a="",b,T;for(T=0;T<t.length;T+=1)b=t.charCodeAt(T),a+=h.charAt(b>>>4&15)+h.charAt(b&15);return a}function N(t){return unescape(encodeURIComponent(t))}function U(t){return E(N(t))}function J(t){return y(U(t))}function B(t,h){return G(N(t),N(h))}function P(t,h){return y(B(t,h))}function V(t,h,a){return h?a?B(h,t):P(h,t):a?U(t):J(t)}typeof define=="function"&&define.amd?define(function(){return V}):typeof $=="object"&&$.exports?$.exports=V:c.md5=V})(re)});var te=Y(F(),1);var M=(i=>(i.PublishMainStreamToCDN="publish-main-stream-to-cdn",i.PublishSubStreamToCDN="publish-sub-stream-to-cdn",i.PublishMixStreamToCDN="publish-mix-stream-to-cdn",i.PublishMixStreamToRoom="publish-mix-stream-to-room",i))(M||{}),K=(r=>(r.Main="main",r.Sub="sub",r))(K||{});var W={IT_AUDIO_VIDEO:0,IT_PICTURE:2,IT_CANVAS:3,IT_PURE_AUDIO:4,IT_PURE_VIDEO:5};var O=class{constructor(e,r){g(this,"_core");g(this,"_room");g(this,"_log");g(this,"_params");g(this,"_publishGivenCDNData",null);this._core=e,this._room=e.room,this._log=r}get isPublishingGivenCDN(){return!!this._params}async startPublishGivenCDN(e){if(this._log.info(`[CDNStreaming] startPublishGivenCDN() current: ${JSON.stringify(this._params)}, params: ${JSON.stringify(e)}`),this.isPublishingGivenCDN){let{appId:r,bizId:o,url:i}=this._params||{};if(r===e.appId&&o===e.bizId&&i===e.url)return;await this.stopPublishGivenCDN()}this._params=e,this._publishGivenCDNData={pushRequestTime:Date.now(),pushAppId:e.appId,pushBizId:e.bizId,pushCdnUrl:e.url,pushStreamType:this.convertStreamType(e==null?void 0:e.publishMode),pushStreamId:e.streamId};try{let r=await this._room.sendStartPublishCDN(this._publishGivenCDNData,!1),{code:o,message:i}=r.data;if(o===0)this._log.info("[CDNStreaming] server success: start given cdn.");else throw this.resetGivenCDN(),this._log.error(`[CDNStreaming] server failed: start given cdn errCode: ${o} errMsg: ${i} options: ${JSON.stringify(e)}`),new Error(`[CDNStreaming] server failed: start given cdn errCode: ${o} errMsg: ${i}`)}catch(r){throw this.resetGivenCDN(),r}}async stopPublishGivenCDN(){if(this._log.info("[CDNStreaming] stopPublishGivenCDN"),!this.isPublishingGivenCDN||!this._publishGivenCDNData){this.resetGivenCDN();return}let{pushAppId:e,pushBizId:r,pushCdnUrl:o,pushStreamType:i,pushStreamId:l}=this._publishGivenCDNData,s={pushRequestTime:Date.now(),pushAppId:e,pushBizId:r,pushCdnUrl:o,pushStreamType:i,pushStreamId:l},p=await this._room.sendStopPublishCDN(s,!1),{code:S,message:D}=p.data;if(S===0)this._log.info("[CDNStreaming] server success: stop given cdn."),this.resetGivenCDN();else throw this._log.error(`[CDNStreaming] server failed: stop given cdn errCode: ${S} errMsg: ${D} data: ${JSON.stringify(s)}`),new Error(`[CDNStreaming] server failed: stop given cdn errCode: ${S} errMsg: ${D}`)}resetGivenCDN(){this._publishGivenCDNData=null,this._params=void 0}convertStreamType(e){return e==="publish-sub-stream-to-cdn"?"aux":"main"}};var x=class{constructor(e,r){g(this,"_core");g(this,"_room");g(this,"_log");g(this,"_config",null);g(this,"_data",null);g(this,"_givenCDNManager");this._core=e,this._room=e.room,this._log=r,this.reset()}get isMixing(){return!!this._data}get isStarted(){return!!this._config}get hasCustomCDN(){var e,r,o;return((e=this._config)==null?void 0:e.target.appId)&&((r=this._config)==null?void 0:r.target.bizId)&&((o=this._config)==null?void 0:o.target.url)}async startMixTranscode(e){if(this._log.info(`startMixTranscode: ${JSON.stringify(e)}`),this._config=e,this.installEvents(),!!this._core.room.isJoined)try{let r=this.getInputParam(e),o=this.getOutputParam(e),i=this.getOutputSessionId({config:e,roomId:this._room.roomId,userId:this._room.userId});this.isMixing&&this._data&&i!==this._data.outputSessionId&&(this._log.info("[CDNStreaming] streamId changed, auto stop mixing before start"),await this.doStopMixTranscode()),await this.doStartMixTranscode({outputSessionId:i,inputParam:r,outputParam:o});let{appId:l,bizId:s,url:p,streamId:S=""}=e.target;l&&s&&p&&(this._givenCDNManager||(this._givenCDNManager=new O(this._core,this._log)),await this._givenCDNManager.startPublishGivenCDN({publishMode:e.target.publishMode,appId:l,bizId:s,url:p,streamId:S}))}catch(r){throw this.reset(),r}}async doStartMixTranscode({outputSessionId:e,inputParam:r,outputParam:o}){let i={roomId:String(this._room.roomId),mcuRequestTime:Date.now(),outputSessionId:e,inputParam:r,outputParam:o};this._log.info(`[CDNStreaming] doStartMixTranscode: ${JSON.stringify(i)}`);let l=await this._room.sendStartMixTranscode(i),{code:s}=l.data,{message:p}=l.data;if(s===0)this._log.info("[CDNStreaming] server success: start mix"),this._data=i;else throw s===-102083&&(p=`Please enable relayed-push in ${this._core.constants.CLOUD_CONSOLE_URL} and try later, refer to ${this._core.constants.DOC_URL}tutorial-26-advanced-publish-cdn-stream.html`),this._log.error(`[CDNStreaming] server failed: start mix errCode: ${s} errMsg: ${p}`),new Error(`[CDNStreaming] server failed: start mix errCode: ${s} errMsg: ${p}`)}async stopMixTranscode(){this._log.info("[CDNStreaming] stopMixTranscode");try{this.isStarted&&this.isMixing&&(await this.doStopMixTranscode(),this._config&&this.hasCustomCDN&&this._givenCDNManager&&await this._givenCDNManager.stopPublishGivenCDN())}catch(e){throw e}this.reset()}async doStopMixTranscode(){let e={mcuRequestTime:Date.now(),outputSessionId:this._data.outputSessionId,streamType:this._data.outputParam.streamType};this._log.info(`[CDNStreaming] doStopMixTranscode: ${JSON.stringify(e)}`);let r=await this._room.sendStopMixTranscode(e),{code:o,message:i}=r.data;if(o===0)this._log.info("[CDNStreaming] server success: stop mix"),this.reset();else throw this._log.error(`[CDNStreaming] server failed: stop mix errCode: ${o} errMsg: ${i}`),new Error(`[CDNStreaming] server failed: stop mix errCode: ${o} errMsg: ${i}`)}reset(){this._config=null,this._data=null,this.uninstallEvents()}installEvents(){this._core.room.on("joined",this.handleRoomJoined,this),this._core.room.on("left",this.handleRoomLeft,this)}uninstallEvents(){this._core.room.off("joined",this.handleRoomJoined,this),this._core.room.off("left",this.handleRoomLeft,this)}async handleRoomJoined(){this._log.info(`[CDNStreaming] handleJoined: ${JSON.stringify(this._config)}`),this.isStarted&&this._config&&await this.startMixTranscode(this._config)}async handleRoomLeft(){this._log.info(`[CDNStreaming] handleRoomLeft: ${JSON.stringify(this._config)}`),this._data=null}getOutputSessionId({config:e,userId:r,roomId:o}){return this._core.utils.isString(e.target.streamId)&&e.target.streamId.length>0?e.target.streamId:(0,te.default)(`${o}_${r}_main`)}getStringRoomId(e,r){return e?String(e):r}getInputParam(e){let{mix:r={}}=e,{audioMixUserList:o=[],videoLayoutList:i=[]}=r,l=i.map(s=>({userId:s.fixedVideoUser.userId,roomId:this.getStringRoomId(s.fixedVideoUser.roomId,s.fixedVideoUser.strRoomId)||this._core.room.roomId,width:s.width||0,height:s.height||0,locationX:s.locationX||0,locationY:s.locationY||0,zOrder:s.zOrder||1,streamType:s.fixedVideoStreamType==="sub"?1:0,inputType:W.IT_PURE_VIDEO,renderMode:s.fillMode||0}));return o.forEach(s=>{let p=this._core.room.roomId;(s.roomId||s.strRoomId)&&(p=this.getStringRoomId(s.roomId,s.strRoomId));let S=l.findIndex(D=>D.userId===s.userId&&D.roomId===p);S!==-1?l[S].inputType=W.IT_AUDIO_VIDEO:l.push({userId:s.userId,roomId:s.roomId||s.strRoomId||this._core.room.roomId,inputType:W.IT_PURE_AUDIO})}),l}getOutputParam(e){let r=e.target.streamId||"",{encoding:o={},mix:i={}}=e;return{streamId:r,streamType:r.length>0?1:0,width:this._core.utils.isUndefined(o.videoWidth)?640:o.videoWidth,height:this._core.utils.isUndefined(o.videoHeight)?480:o.videoHeight,videoBps:o.videoBitrate||0,fps:o.videoFramerate||15,gop:o.videoGOP||2,audioSampleRate:o.audioSampleRate||48e3,audioBps:o.audioBitrate||64,audioChannels:o.audioChannels||1,backgroundColor:i.backgroundColor||0,backgroundImg:i.backgroundImage||"",extraInfo:"",videoCodec:2,audioCodec:0}}};var q=Y(F(),1);var L=class{constructor(e,r){g(this,"_room");g(this,"_core");g(this,"_log");g(this,"_paramsForTencentCDN");g(this,"_initParamsForTencentCDN",{isPublished:!1,isStarted:!1});this._core=e,this._room=e.room,this._log=r,this._paramsForTencentCDN=new Map([["publish-main-stream-to-cdn",this._initParamsForTencentCDN],["publish-sub-stream-to-cdn",this._initParamsForTencentCDN]])}installEvents(){this._core.innerEmitter.on("104",this.handlePublished,this),this._core.room.on("left",this.handleRoomLeft,this)}uninstallEvents(){this._core.innerEmitter.off("104",this.handlePublished,this),this._core.room.off("left",this.handleRoomLeft,this)}async handlePublished({track:e}){var i;if(e.room!==this._room||(this._log.info(`[CDNStreaming] handlePublished: mediaType ${e.mediaType}, roomID ${(i=e==null?void 0:e.room)==null?void 0:i.roomId}`),e.mediaType===1))return;let r=e.mediaType===4?"publish-main-stream-to-cdn":"publish-sub-stream-to-cdn",o=this._paramsForTencentCDN.get(r)||null;o!=null&&o.target&&o.isStarted&&await this.startPublishTencentCDN(o.target)}async handleRoomLeft(){this._log.info("[CDNStreaming] handleRoomLeft"),this.changeDataStatus("publish-main-stream-to-cdn",{isPublished:!1}),this.changeDataStatus("publish-sub-stream-to-cdn",{isPublished:!1})}isStreamPublished(e){return e==="publish-main-stream-to-cdn"&&!this._room.isMainStreamPublished?(this._log.info("[CDNStreaming] Main stream has not already published, will auto reStart after published."),!1):e==="publish-sub-stream-to-cdn"&&!this._room.isAuxStreamPublished?(this._log.info("[CDNStreaming] Sub has not already published, will auto reStart after published."),!1):!0}changeDataStatus(e,r){let o=this._paramsForTencentCDN.get(e),i=_(_({},o),r);this._paramsForTencentCDN.set(e,i)}async startPublishTencentCDN(e){if(this._log.info(`[CDNStreaming] startPublishTencentCDN ${JSON.stringify(e)}`),this.installEvents(),this.changeDataStatus(e.publishMode,{target:e,isStarted:!0}),!this.isStreamPublished(e.publishMode))return;let r=e.streamId||"",o=this.generatePublishCDNStreamId(r,e.publishMode),i=this.generatePublishCDNSessionId(e.publishMode),l=e.publishMode==="publish-sub-stream-to-cdn"?1:0,s={requestTime:Date.now(),sessionId:i,streamId:o,streamType:l};await this.doStartPublishTencentCDN(s,e.publishMode);let{appId:p,bizId:S,url:D}=e;if(p&&S&&D){let I=this._paramsForTencentCDN.get(e.publishMode)||this._initParamsForTencentCDN;I!=null&&I.givenCDNManager||(I.givenCDNManager=new O(this._core,this._log),this._paramsForTencentCDN.set(e.publishMode,I)),await I.givenCDNManager.startPublishGivenCDN({publishMode:e.publishMode,appId:p,bizId:S,url:D,streamId:o})}}async doStartPublishTencentCDN(e,r){this._log.info(`[CDNStreaming] doStartPublishTencentCDN: ${JSON.stringify(e)}`);let o=6,i=500,l=0;for(;;){let s=await this._room.sendStartPublishCDN(e,!0),{code:p}=s.data,{message:S}=s.data;if(p===0){this._log.info("[CDNStreaming] server success: start tencent cdn"),this.changeDataStatus(r,{isPublished:!0});break}else if(p===-10006&&l<o)this._log.warn(`[CDNStreaming] doStartPublishTencentCDN: retry...${l+1}/6, reason: ${S}`),l+=1,await new Promise(D=>setTimeout(D,i));else throw this.changeDataStatus(r,{isPublished:!1}),p===-102083&&(S=`Please enable relayed-push in ${this._core.constants.CLOUD_CONSOLE_URL} and try later, refer to ${this._core.constants.DOC_URL}tutorial-26-advanced-publish-cdn-stream.html`),this._log.error(`[CDNStreaming] server failed: start tencent cdn errCode: ${p} errMsg: ${S}`),new Error(`[CDNStreaming] server failed: start tencent cdn errCode: ${p} errMsg: ${S}`)}}async stopPublishTencentCDN(e){this._log.info(`[CDNStreaming] doStartPublishTencentCDN: ${JSON.stringify(e)}`);let r=this._paramsForTencentCDN.get(e)||this._initParamsForTencentCDN;if(r.isPublished){let{target:o}=r;o!=null&&o.bizId&&o.appId&&o.url&&(r!=null&&r.givenCDNManager)&&await(r==null?void 0:r.givenCDNManager.stopPublishGivenCDN()),await this.doStopPublishTencentCDN(e)}this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN)}async doStopPublishTencentCDN(e){let r={requestTime:Date.now(),sessionId:(0,q.default)(`${this._room.roomId}_${this._room.userId}_${this.convertPublishModeToStreamType(e)}`)};this._log.info(`[CDNStreaming] doStopPublishTencentCDN: ${JSON.stringify(r)}`);let o=await this._room.sendStopPublishCDN(r,!0),{code:i}=o.data,{message:l}=o.data;if(i===0)this._log.info("[CDNStreaming] server success: stop tencent cdn"),this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN),this.reset(e);else throw i===-102069&&(this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN),l=`can not stop in auto relayed-push mode ${l}`),this._log.error(`[CDNStreaming] server failed: stop tencent cdn errCode: ${i} errMsg: ${l}`),new Error(`[CDNStreaming] server failed: stop tencent cdn errCode: ${i} errMsg: ${l}`)}reset(e){this.uninstallEvents(),this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN)}generatePublishCDNStreamId(e,r){if(e===""){let o=`${this._room.roomId}_${this._room.userId}_${this.convertPublishModeToStreamType(r)}`;return/^[A-Za-z\d_-]*$/.test(o)||(o=(0,q.default)(o)),`${this._room.sdkAppId}_${o}`}return e}convertPublishModeToStreamType(e){return e==="publish-main-stream-to-cdn"?"main":"aux"}generatePublishCDNSessionId(e){return(0,q.default)(`${this._room.roomId}_${this._room.userId}_${this.convertPublishModeToStreamType(e)}`)}};var ae=Y(F(),1);var v=class{constructor(e,r){g(this,"_core");g(this,"_room");g(this,"_log");g(this,"_seq");g(this,"_taskId",null);g(this,"_startData",null);g(this,"_updateData",null);g(this,"_stopData",null);this._core=e,this._room=e.room,this._log=r,this._seq=0}async startPushStreamToRoom(e){var l,s;this._seq+=1,this._startData=_({roomid:String(this._room.roomId),roomType:this._room.useStringRoomId?1:0,sessionId:(0,ae.default)(`${this._room.roomId}_${this._room.userId}_start`),agentParam:{cdnRobotUserid:`mcu_robot_${this._room.roomId}_${this._room.userId}`}},this.getCommonParams(e)),this._log.info(`startPushStreamToRoom: ${JSON.stringify(this._startData)}`);let r=await this._room.sendStartPushStreamToRoom(this._startData),{code:o,message:i}=r.data;o===0?(this._taskId=(s=(l=r.data)==null?void 0:l.data)==null?void 0:s.taskId,this._taskId||this.reportServerError("startPushStreamToRoom",o,`can't resolve task id: ${JSON.stringify(r.data)}`),this._log.info("[CDNStreaming] server success: taskId",this._taskId)):this.reportServerError("startPushStreamToRoom",o,i)}async updatePushStreamToRoom(e){this._seq+=1,this._updateData=H(_({taskid:this._taskId},this.getCommonParams(e)),{enableNtpSync:!0}),this._log.info(`updatePushStreamToRoom: ${JSON.stringify(this._updateData)}`);let r=await this._room.sendUpdatePushStreamToRoom(this._updateData),{code:o,message:i}=r.data;o===0?this._log.info("server success: updatePushStreamToRoom"):this.reportServerError("updatePushStreamToRoom",o,i)}async stopPushStreamToRoom(){this._seq+=1,this._stopData={sdkappid:this._room.sdkAppId,taskid:this._taskId},this._log.info(`stopPushStreamToRoom: ${JSON.stringify(this._stopData)}`);let e=await this._room.sendStopPushStreamToRoom(this._stopData),{code:r,message:o}=e.data;r===0?this._log.info("server success: start mix"):this.reportServerError("stopPushStreamToRoom",r,o)}reportServerError(e,r,o){let i=`server failed: ${e} errCode: ${r} errMsg: ${o}`;throw this._log.error(i),new Error(i)}getPushRtcRoomParams(e){let{robotUser:r}=e.target;return r?[{roomid:String((r==null?void 0:r.roomId)||(r==null?void 0:r.strRoomId))||this._room.roomId,roomType:r!=null&&r.roomId?0:1,pushRobotUserid:r==null?void 0:r.userId}]:[]}getCommonParams(e){return{sdkappid:this._room.sdkAppId,transcode:!0,audioParam:this.getAudioParam(e),videoParam:this.getVideoParam(e),pushRtcRoomParams:this.getPushRtcRoomParams(e),sequenceNumber:this._seq}}getAudioParam(e){let{mix:r={},encoding:o={}}=e,i={audioSamplerate:o.audioSampleRate||48e3,audioBitrateKbps:o.audioBitrate||64,audioChannels:o.audioChannels||1},{audioMixUserList:l}=r;return{audioEncodeParam:i,mixAudioUsers:(l==null?void 0:l.map(s=>({roomid:String(s.roomId||s.strRoomId)||this._room.roomId,userid:s.userId,roomType:s.roomId?0:1})))||[]}}getVideoParam(e){let{mix:r={},encoding:o={}}=e,i={videoCodec:2,videoWidth:o.videoWidth||640,videoHeight:o.videoHeight||480,videoFramerate:o.videoFramerate||15,videoGop:o.videoGOP||2,videoBitrateKbps:o.videoBitrate||800},{videoLayoutList:l}=r;return{videoEncodeParam:i,layoutParams:(l==null?void 0:l.map(s=>({userMediaStream:{userInfo:{roomid:String(s.fixedVideoUser.roomId||s.fixedVideoUser.strRoomId)||this._room.roomId,userid:s.fixedVideoUser.userId,roomType:s.fixedVideoUser.roomId?0:1},streamType:s.fixedVideoStreamType==="sub"?1:0},imageWidth:s.width||0,imageHeight:s.height||0,locationX:s.locationX||0,locationY:s.locationY||0,imageZorder:s.zOrder||1,renderMode:s.fillMode||0})))||[],backgroundColor:r.backgroundColor||0,backgroundImageUrl:r.backgroundImage||""}}};var oe=c=>typeof c=="string";var R;function Ce(c,e,r,o){if(!/^[A-Za-z\d_-]*$/.test(c)){let{RtcError:l,ErrorCode:s,ErrorCodeDictionary:p}=R;throw new l({code:s.INVALID_PARAMETER,extraCode:p.INVALID_STREAM_ID,messageParams:{key:"streamId"}})}}function Ie(c,e,r,o){let{RtcError:i,ErrorCode:l,ErrorCodeDictionary:s}=R;if(oe(c))throw new i({code:l.INVALID_PARAMETER,extraCode:s.INVALID_ROOM_ID_INTEGER_STRING,fnName:r,messageParams:{key:"roomId"}});if(c===void 0)return;if(!(/^[1-9]\d*$/.test(String(c))&&c<4294967295))throw new i({code:l.INVALID_PARAMETER,extraCode:s.INVALID_ROOM_ID_INTEGER,fnName:r,messageParams:{key:"roomId"}})}function fe(c,e,r,o){let{RtcError:i,ErrorCode:l,ErrorCodeDictionary:s}=R;if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(c))throw new i({code:l.INVALID_PARAMETER,extraCode:s.INVALID_ROOM_ID_STRING,fnName:r,messageParams:{key:"strRoomId"}})}var A={type:"number",notLessThanZero:!0},j={type:"object",properties:{userId:{required:!0,type:"string"},roomId:{type:["string","number"],validate:Ie},strRoomId:{type:"string",validate:fe}}},ie={required:!0,properties:{publishMode:{required:!0,values:["publish-main-stream-to-cdn","publish-mix-stream-to-cdn","publish-sub-stream-to-cdn","publish-mix-stream-to-room"]},streamId:{required:!1,type:"string",validate:Ce},appId:{type:"number",allowEmpty:!1},bizId:{type:"number",allowEmpty:!1},url:{type:"string",allowEmpty:!1},robotUser:_({},j)},validate(c,e,r,o){let{publishMode:i,robotUser:l}=c;if(i==="publish-mix-stream-to-room"&&!l){let{RtcError:s,ErrorCode:p}=R;throw new s({code:p.INVALID_PARAMETER,message:"Invalid parameter target, the value of publishMode is PublishMixStreamToRoom, robotUser is required."})}}},se={required:!1,type:"object",properties:{videoWidth:A,videoHeight:A,videoBitrate:H(_({},A),{allowEmpty:!1}),videoFramerate:{type:"number",validate(c,e,r,o){if(c<=0||c>30){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mixConfig -> videoFramerate, the value must be between (0, 30]."})}}},videoGOP:{type:"number",validate(c,e,r,o){if(c<1||c>8){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mixConfig -> videoGOP, the value must be between [1, 8]."})}}},audioSampleRate:A,audioBitrate:{type:"number",validate(c,e,r,o){if(c<32||c>192){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mixConfig -> audioBitrate, the value must be between [32, 192]."})}}},audioChannels:{type:"number",values:[1,2]}}},ne={required:!1,type:"object",properties:{backgroundColor:{type:"number"},backgroundImage:{type:"string"},audioMixUserList:{type:"array",arrayItem:_({},j)},videoLayoutList:{type:"array",required:!0,arrayItem:{type:"object",properties:{fixedVideoUser:_({},j),fixedVideoStreamType:{type:"string",required:!0,values:["main","sub"]},fillMode:{type:"number",values:[0,1,2,4]},zOrder:{type:"number",required:!0,validate(c,e,r,o){if(c<1||c>15){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mix -> videoLayoutList -> zOrder, the value must be between [1, 15]."})}}},width:A,height:A,locationX:A,locationY:A}}}}};function me(c){return R=c.errorModule,{name:"CDNStreamingOptions",type:"object",required:!0,allowEmpty:!1,properties:{target:_({},ie),encoding:_({},se),mix:_({},ne)},validate(e,r,o,i){var S,D;let{publishMode:l}=e.target,{encoding:s,mix:p}=e;if(l==="publish-mix-stream-to-cdn"){let{RtcError:I,ErrorCode:E,ErrorCodeDictionary:G}=c.errorModule;if(!s)throw new I({code:E.INVALID_PARAMETER,extraCode:G.INVALID_PARAMETER_REQUIRED,fnName:o,messageParams:{key:"encoding"}});if(!p)throw new I({code:E.INVALID_PARAMETER,extraCode:G.INVALID_PARAMETER_REQUIRED,fnName:o,messageParams:{key:"mix"}});if(p&&p.videoLayoutList){let y=0,N=0,U=[];if(p.videoLayoutList.forEach((P,V)=>{U.push(P.fixedVideoUser.userId),P.width+P.locationX>y&&(y=P.width+P.locationX),P.height+P.locationY>N&&(N=P.height+P.locationY)}),U.indexOf(c.room.userId)<0)throw new I({code:E.INVALID_PARAMETER,message:"Invalid parameter mix -> videoLayoutList, the value must be include self."});let J=(S=s==null?void 0:s.videoWidth)!=null?S:640,B=(D=s==null?void 0:s.videoHeight)!=null?D:480;if(J<y||B<N)throw new I({code:E.INVALID_PARAMETER,message:"Invalid parameter encoding, the width and height of the mixed video must encompass all the mixed-in video streams."})}}}}}function de(c){return R=c.errorModule,{name:"CDNStreamingOptions",type:"object",required:!0,allowEmpty:!1,properties:{target:_({},ie),encoding:_({},se),mix:_({},ne)}}}function ue(c){return R=c.errorModule,{name:"CDNStreamingOptions",type:"object",required:!0,allowEmpty:!1,properties:{target:{required:!0,properties:{publishMode:{required:!0,values:["publish-main-stream-to-cdn","publish-mix-stream-to-cdn","publish-sub-stream-to-cdn","publish-mix-stream-to-room"]}}}}}}var k=0,w=class w{constructor(e){this.core=e;g(this,"_mixTranscodeManager");g(this,"_publishCDNManager");g(this,"_pushStreamToRoomManager");g(this,"_core");g(this,"_modeOptions");g(this,"seq");g(this,"_log");k=k+1,this.seq=k,this._log=e.log.createChild({id:`${this.getAlias()}${k}`}),this._log.info(`[CDNStreaming] created id=${this.getAlias()}${k}`),this._core=e,this._modeOptions=new Map,this._mixTranscodeManager=new x(e,this._log),this._publishCDNManager=new L(e,this._log),this._pushStreamToRoomManager=new v(e,this._log)}getName(){return w.Name}getAlias(){return"cdn"}getValidateRule(e){switch(e){case"start":return me(this._core);case"update":return de(this._core);case"stop":return ue(this._core)}}getGroup(e){return e.target.publishMode}async start(e){return this._modeOptions.set(e.target.publishMode,e),e.target.publishMode==="publish-mix-stream-to-room"?this._pushStreamToRoomManager.startPushStreamToRoom(e):await this.doStart(e)}async update(e){let r=this._modeOptions.get(e.target.publishMode);return this._core.utils.deepMerge(r,e),e.target.publishMode==="publish-mix-stream-to-room"?this._pushStreamToRoomManager.updatePushStreamToRoom(r):await this.doStart(r)}async stop(e){switch(e.target.publishMode){case"publish-mix-stream-to-cdn":{await this._mixTranscodeManager.stopMixTranscode();break}case"publish-main-stream-to-cdn":case"publish-sub-stream-to-cdn":{await this._publishCDNManager.stopPublishTencentCDN(e.target.publishMode);break}case"publish-mix-stream-to-room":{this._pushStreamToRoomManager.stopPushStreamToRoom();break}}this._modeOptions.delete(e.target.publishMode)}async doStart(e){switch(this._log.info(`[CDNStreaming] doStart: ${JSON.stringify(e)}`),e.target.publishMode){case"publish-mix-stream-to-cdn":{await this._mixTranscodeManager.startMixTranscode(e);break}case"publish-main-stream-to-cdn":case"publish-sub-stream-to-cdn":{await this._publishCDNManager.startPublishTencentCDN(e.target);break}}}};g(w,"TYPE",{PublishMode:{PublishMainStreamToCDN:"publish-main-stream-to-cdn",PublishSubStreamToCDN:"publish-sub-stream-to-cdn",PublishMixStreamToCDN:"publish-mix-stream-to-cdn",PublishMixStreamToRoom:"publish-mix-stream-to-room"}}),g(w,"Name","CDNStreaming");var Z=w;var lr=Z;export{Z as CDNStreaming,M as PublishMode,K as TRTCStreamType,lr as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var CDNStreaming=(()=>{var ce=Object.create;var x=Object.defineProperty,he=Object.defineProperties,pe=Object.getOwnPropertyDescriptor,ge=Object.getOwnPropertyDescriptors,be=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,Se=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable;var Y=(c,e,r)=>e in c?x(c,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):c[e]=r,_=(c,e)=>{for(var r in e||(e={}))ee.call(e,r)&&Y(c,r,e[r]);if(Q)for(var r of Q(e))Te.call(e,r)&&Y(c,r,e[r]);return c},F=(c,e)=>he(c,ge(e));var _e=(c,e)=>()=>(e||c((e={exports:{}}).exports,e),e.exports),De=(c,e)=>{for(var r in e)x(c,r,{get:e[r],enumerable:!0})},re=(c,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of be(e))!ee.call(c,i)&&i!==r&&x(c,i,{get:()=>e[i],enumerable:!(o=pe(e,i))||o.enumerable});return c};var j=(c,e,r)=>(r=c!=null?ce(Se(c)):{},re(e||!c||!c.__esModule?x(r,"default",{value:c,enumerable:!0}):r,c)),Ce=c=>re(x({},"__esModule",{value:!0}),c);var g=(c,e,r)=>(Y(c,typeof e!="symbol"?e+"":e,r),r);var W=_e((te,K)=>{(function(c){"use strict";function e(t,h){var a=(t&65535)+(h&65535),b=(t>>16)+(h>>16)+(a>>16);return b<<16|a&65535}function r(t,h){return t<<h|t>>>32-h}function o(t,h,a,b,T,C){return e(r(e(e(h,t),e(b,C)),T),a)}function i(t,h,a,b,T,C,P){return o(h&a|~h&b,t,h,T,C,P)}function l(t,h,a,b,T,C,P){return o(h&b|a&~b,t,h,T,C,P)}function s(t,h,a,b,T,C,P){return o(h^a^b,t,h,T,C,P)}function p(t,h,a,b,T,C,P){return o(a^(h|~b),t,h,T,C,P)}function S(t,h){t[h>>5]|=128<<h%32,t[(h+64>>>9<<4)+14]=h;var a,b,T,C,P,n=1732584193,m=-271733879,d=-1732584194,u=271733878;for(a=0;a<t.length;a+=16)b=n,T=m,C=d,P=u,n=i(n,m,d,u,t[a],7,-680876936),u=i(u,n,m,d,t[a+1],12,-389564586),d=i(d,u,n,m,t[a+2],17,606105819),m=i(m,d,u,n,t[a+3],22,-1044525330),n=i(n,m,d,u,t[a+4],7,-176418897),u=i(u,n,m,d,t[a+5],12,1200080426),d=i(d,u,n,m,t[a+6],17,-1473231341),m=i(m,d,u,n,t[a+7],22,-45705983),n=i(n,m,d,u,t[a+8],7,1770035416),u=i(u,n,m,d,t[a+9],12,-1958414417),d=i(d,u,n,m,t[a+10],17,-42063),m=i(m,d,u,n,t[a+11],22,-1990404162),n=i(n,m,d,u,t[a+12],7,1804603682),u=i(u,n,m,d,t[a+13],12,-40341101),d=i(d,u,n,m,t[a+14],17,-1502002290),m=i(m,d,u,n,t[a+15],22,1236535329),n=l(n,m,d,u,t[a+1],5,-165796510),u=l(u,n,m,d,t[a+6],9,-1069501632),d=l(d,u,n,m,t[a+11],14,643717713),m=l(m,d,u,n,t[a],20,-373897302),n=l(n,m,d,u,t[a+5],5,-701558691),u=l(u,n,m,d,t[a+10],9,38016083),d=l(d,u,n,m,t[a+15],14,-660478335),m=l(m,d,u,n,t[a+4],20,-405537848),n=l(n,m,d,u,t[a+9],5,568446438),u=l(u,n,m,d,t[a+14],9,-1019803690),d=l(d,u,n,m,t[a+3],14,-187363961),m=l(m,d,u,n,t[a+8],20,1163531501),n=l(n,m,d,u,t[a+13],5,-1444681467),u=l(u,n,m,d,t[a+2],9,-51403784),d=l(d,u,n,m,t[a+7],14,1735328473),m=l(m,d,u,n,t[a+12],20,-1926607734),n=s(n,m,d,u,t[a+5],4,-378558),u=s(u,n,m,d,t[a+8],11,-2022574463),d=s(d,u,n,m,t[a+11],16,1839030562),m=s(m,d,u,n,t[a+14],23,-35309556),n=s(n,m,d,u,t[a+1],4,-1530992060),u=s(u,n,m,d,t[a+4],11,1272893353),d=s(d,u,n,m,t[a+7],16,-155497632),m=s(m,d,u,n,t[a+10],23,-1094730640),n=s(n,m,d,u,t[a+13],4,681279174),u=s(u,n,m,d,t[a],11,-358537222),d=s(d,u,n,m,t[a+3],16,-722521979),m=s(m,d,u,n,t[a+6],23,76029189),n=s(n,m,d,u,t[a+9],4,-640364487),u=s(u,n,m,d,t[a+12],11,-421815835),d=s(d,u,n,m,t[a+15],16,530742520),m=s(m,d,u,n,t[a+2],23,-995338651),n=p(n,m,d,u,t[a],6,-198630844),u=p(u,n,m,d,t[a+7],10,1126891415),d=p(d,u,n,m,t[a+14],15,-1416354905),m=p(m,d,u,n,t[a+5],21,-57434055),n=p(n,m,d,u,t[a+12],6,1700485571),u=p(u,n,m,d,t[a+3],10,-1894986606),d=p(d,u,n,m,t[a+10],15,-1051523),m=p(m,d,u,n,t[a+1],21,-2054922799),n=p(n,m,d,u,t[a+8],6,1873313359),u=p(u,n,m,d,t[a+15],10,-30611744),d=p(d,u,n,m,t[a+6],15,-1560198380),m=p(m,d,u,n,t[a+13],21,1309151649),n=p(n,m,d,u,t[a+4],6,-145523070),u=p(u,n,m,d,t[a+11],10,-1120210379),d=p(d,u,n,m,t[a+2],15,718787259),m=p(m,d,u,n,t[a+9],21,-343485551),n=e(n,b),m=e(m,T),d=e(d,C),u=e(u,P);return[n,m,d,u]}function D(t){var h,a="",b=t.length*32;for(h=0;h<b;h+=8)a+=String.fromCharCode(t[h>>5]>>>h%32&255);return a}function I(t){var h,a=[];for(a[(t.length>>2)-1]=void 0,h=0;h<a.length;h+=1)a[h]=0;var b=t.length*8;for(h=0;h<b;h+=8)a[h>>5]|=(t.charCodeAt(h/8)&255)<<h%32;return a}function y(t){return D(S(I(t),t.length*8))}function V(t,h){var a,b=I(t),T=[],C=[],P;for(T[15]=C[15]=void 0,b.length>16&&(b=S(b,t.length*8)),a=0;a<16;a+=1)T[a]=b[a]^909522486,C[a]=b[a]^1549556828;return P=S(T.concat(I(h)),512+h.length*8),D(S(C.concat(P),512+128))}function M(t){var h="0123456789abcdef",a="",b,T;for(T=0;T<t.length;T+=1)b=t.charCodeAt(T),a+=h.charAt(b>>>4&15)+h.charAt(b&15);return a}function N(t){return unescape(encodeURIComponent(t))}function U(t){return y(N(t))}function z(t){return M(U(t))}function H(t,h){return V(N(t),N(h))}function f(t,h){return M(H(t,h))}function $(t,h,a){return h?a?H(h,t):f(h,t):a?U(t):z(t)}typeof define=="function"&&define.amd?define(function(){return $}):typeof K=="object"&&K.exports?K.exports=$:c.md5=$})(te)});var Ne={};De(Ne,{CDNStreaming:()=>X,PublishMode:()=>O,TRTCStreamType:()=>L,default:()=>Ae});var ae=j(W(),1);var O=(i=>(i.PublishMainStreamToCDN="publish-main-stream-to-cdn",i.PublishSubStreamToCDN="publish-sub-stream-to-cdn",i.PublishMixStreamToCDN="publish-mix-stream-to-cdn",i.PublishMixStreamToRoom="publish-mix-stream-to-room",i))(O||{}),L=(r=>(r.Main="main",r.Sub="sub",r))(L||{});var q={IT_AUDIO_VIDEO:0,IT_PICTURE:2,IT_CANVAS:3,IT_PURE_AUDIO:4,IT_PURE_VIDEO:5};var E=class{constructor(e,r){g(this,"_core");g(this,"_room");g(this,"_log");g(this,"_params");g(this,"_publishGivenCDNData",null);this._core=e,this._room=e.room,this._log=r}get isPublishingGivenCDN(){return!!this._params}async startPublishGivenCDN(e){if(this._log.info(`[CDNStreaming] startPublishGivenCDN() current: ${JSON.stringify(this._params)}, params: ${JSON.stringify(e)}`),this.isPublishingGivenCDN){let{appId:r,bizId:o,url:i}=this._params||{};if(r===e.appId&&o===e.bizId&&i===e.url)return;await this.stopPublishGivenCDN()}this._params=e,this._publishGivenCDNData={pushRequestTime:Date.now(),pushAppId:e.appId,pushBizId:e.bizId,pushCdnUrl:e.url,pushStreamType:this.convertStreamType(e==null?void 0:e.publishMode),pushStreamId:e.streamId};try{let r=await this._room.sendStartPublishCDN(this._publishGivenCDNData,!1),{code:o,message:i}=r.data;if(o===0)this._log.info("[CDNStreaming] server success: start given cdn.");else throw this.resetGivenCDN(),this._log.error(`[CDNStreaming] server failed: start given cdn errCode: ${o} errMsg: ${i} options: ${JSON.stringify(e)}`),new Error(`[CDNStreaming] server failed: start given cdn errCode: ${o} errMsg: ${i}`)}catch(r){throw this.resetGivenCDN(),r}}async stopPublishGivenCDN(){if(this._log.info("[CDNStreaming] stopPublishGivenCDN"),!this.isPublishingGivenCDN||!this._publishGivenCDNData){this.resetGivenCDN();return}let{pushAppId:e,pushBizId:r,pushCdnUrl:o,pushStreamType:i,pushStreamId:l}=this._publishGivenCDNData,s={pushRequestTime:Date.now(),pushAppId:e,pushBizId:r,pushCdnUrl:o,pushStreamType:i,pushStreamId:l},p=await this._room.sendStopPublishCDN(s,!1),{code:S,message:D}=p.data;if(S===0)this._log.info("[CDNStreaming] server success: stop given cdn."),this.resetGivenCDN();else throw this._log.error(`[CDNStreaming] server failed: stop given cdn errCode: ${S} errMsg: ${D} data: ${JSON.stringify(s)}`),new Error(`[CDNStreaming] server failed: stop given cdn errCode: ${S} errMsg: ${D}`)}resetGivenCDN(){this._publishGivenCDNData=null,this._params=void 0}convertStreamType(e){return e==="publish-sub-stream-to-cdn"?"aux":"main"}};var v=class{constructor(e,r){g(this,"_core");g(this,"_room");g(this,"_log");g(this,"_config",null);g(this,"_data",null);g(this,"_givenCDNManager");this._core=e,this._room=e.room,this._log=r,this.reset()}get isMixing(){return!!this._data}get isStarted(){return!!this._config}get hasCustomCDN(){var e,r,o;return((e=this._config)==null?void 0:e.target.appId)&&((r=this._config)==null?void 0:r.target.bizId)&&((o=this._config)==null?void 0:o.target.url)}async startMixTranscode(e){if(this._log.info(`startMixTranscode: ${JSON.stringify(e)}`),this._config=e,this.installEvents(),!!this._core.room.isJoined)try{let r=this.getInputParam(e),o=this.getOutputParam(e),i=this.getOutputSessionId({config:e,roomId:this._room.roomId,userId:this._room.userId});this.isMixing&&this._data&&i!==this._data.outputSessionId&&(this._log.info("[CDNStreaming] streamId changed, auto stop mixing before start"),await this.doStopMixTranscode()),await this.doStartMixTranscode({outputSessionId:i,inputParam:r,outputParam:o});let{appId:l,bizId:s,url:p,streamId:S=""}=e.target;l&&s&&p&&(this._givenCDNManager||(this._givenCDNManager=new E(this._core,this._log)),await this._givenCDNManager.startPublishGivenCDN({publishMode:e.target.publishMode,appId:l,bizId:s,url:p,streamId:S}))}catch(r){throw this.reset(),r}}async doStartMixTranscode({outputSessionId:e,inputParam:r,outputParam:o}){let i={roomId:String(this._room.roomId),mcuRequestTime:Date.now(),outputSessionId:e,inputParam:r,outputParam:o};this._log.info(`[CDNStreaming] doStartMixTranscode: ${JSON.stringify(i)}`);let l=await this._room.sendStartMixTranscode(i),{code:s}=l.data,{message:p}=l.data;if(s===0)this._log.info("[CDNStreaming] server success: start mix"),this._data=i;else throw s===-102083&&(p=`Please enable relayed-push in ${this._core.constants.CLOUD_CONSOLE_URL} and try later, refer to ${this._core.constants.DOC_URL}tutorial-26-advanced-publish-cdn-stream.html`),this._log.error(`[CDNStreaming] server failed: start mix errCode: ${s} errMsg: ${p}`),new Error(`[CDNStreaming] server failed: start mix errCode: ${s} errMsg: ${p}`)}async stopMixTranscode(){this._log.info("[CDNStreaming] stopMixTranscode");try{this.isStarted&&this.isMixing&&(await this.doStopMixTranscode(),this._config&&this.hasCustomCDN&&this._givenCDNManager&&await this._givenCDNManager.stopPublishGivenCDN())}catch(e){throw e}this.reset()}async doStopMixTranscode(){let e={mcuRequestTime:Date.now(),outputSessionId:this._data.outputSessionId,streamType:this._data.outputParam.streamType};this._log.info(`[CDNStreaming] doStopMixTranscode: ${JSON.stringify(e)}`);let r=await this._room.sendStopMixTranscode(e),{code:o,message:i}=r.data;if(o===0)this._log.info("[CDNStreaming] server success: stop mix"),this.reset();else throw this._log.error(`[CDNStreaming] server failed: stop mix errCode: ${o} errMsg: ${i}`),new Error(`[CDNStreaming] server failed: stop mix errCode: ${o} errMsg: ${i}`)}reset(){this._config=null,this._data=null,this.uninstallEvents()}installEvents(){this._core.room.on("joined",this.handleRoomJoined,this),this._core.room.on("left",this.handleRoomLeft,this)}uninstallEvents(){this._core.room.off("joined",this.handleRoomJoined,this),this._core.room.off("left",this.handleRoomLeft,this)}async handleRoomJoined(){this._log.info(`[CDNStreaming] handleJoined: ${JSON.stringify(this._config)}`),this.isStarted&&this._config&&await this.startMixTranscode(this._config)}async handleRoomLeft(){this._log.info(`[CDNStreaming] handleRoomLeft: ${JSON.stringify(this._config)}`),this._data=null}getOutputSessionId({config:e,userId:r,roomId:o}){return this._core.utils.isString(e.target.streamId)&&e.target.streamId.length>0?e.target.streamId:(0,ae.default)(`${o}_${r}_main`)}getStringRoomId(e,r){return e?String(e):r}getInputParam(e){let{mix:r={}}=e,{audioMixUserList:o=[],videoLayoutList:i=[]}=r,l=i.map(s=>({userId:s.fixedVideoUser.userId,roomId:this.getStringRoomId(s.fixedVideoUser.roomId,s.fixedVideoUser.strRoomId)||this._core.room.roomId,width:s.width||0,height:s.height||0,locationX:s.locationX||0,locationY:s.locationY||0,zOrder:s.zOrder||1,streamType:s.fixedVideoStreamType==="sub"?1:0,inputType:q.IT_PURE_VIDEO,renderMode:s.fillMode||0}));return o.forEach(s=>{let p=this._core.room.roomId;(s.roomId||s.strRoomId)&&(p=this.getStringRoomId(s.roomId,s.strRoomId));let S=l.findIndex(D=>D.userId===s.userId&&D.roomId===p);S!==-1?l[S].inputType=q.IT_AUDIO_VIDEO:l.push({userId:s.userId,roomId:s.roomId||s.strRoomId||this._core.room.roomId,inputType:q.IT_PURE_AUDIO})}),l}getOutputParam(e){let r=e.target.streamId||"",{encoding:o={},mix:i={}}=e;return{streamId:r,streamType:r.length>0?1:0,width:this._core.utils.isUndefined(o.videoWidth)?640:o.videoWidth,height:this._core.utils.isUndefined(o.videoHeight)?480:o.videoHeight,videoBps:o.videoBitrate||0,fps:o.videoFramerate||15,gop:o.videoGOP||2,audioSampleRate:o.audioSampleRate||48e3,audioBps:o.audioBitrate||64,audioChannels:o.audioChannels||1,backgroundColor:i.backgroundColor||0,backgroundImg:i.backgroundImage||"",extraInfo:"",videoCodec:2,audioCodec:0}}};var J=j(W(),1);var k=class{constructor(e,r){g(this,"_room");g(this,"_core");g(this,"_log");g(this,"_paramsForTencentCDN");g(this,"_initParamsForTencentCDN",{isPublished:!1,isStarted:!1});this._core=e,this._room=e.room,this._log=r,this._paramsForTencentCDN=new Map([["publish-main-stream-to-cdn",this._initParamsForTencentCDN],["publish-sub-stream-to-cdn",this._initParamsForTencentCDN]])}installEvents(){this._core.innerEmitter.on("104",this.handlePublished,this),this._core.room.on("left",this.handleRoomLeft,this)}uninstallEvents(){this._core.innerEmitter.off("104",this.handlePublished,this),this._core.room.off("left",this.handleRoomLeft,this)}async handlePublished({track:e}){var i;if(e.room!==this._room||(this._log.info(`[CDNStreaming] handlePublished: mediaType ${e.mediaType}, roomID ${(i=e==null?void 0:e.room)==null?void 0:i.roomId}`),e.mediaType===1))return;let r=e.mediaType===4?"publish-main-stream-to-cdn":"publish-sub-stream-to-cdn",o=this._paramsForTencentCDN.get(r)||null;o!=null&&o.target&&o.isStarted&&await this.startPublishTencentCDN(o.target)}async handleRoomLeft(){this._log.info("[CDNStreaming] handleRoomLeft"),this.changeDataStatus("publish-main-stream-to-cdn",{isPublished:!1}),this.changeDataStatus("publish-sub-stream-to-cdn",{isPublished:!1})}isStreamPublished(e){return e==="publish-main-stream-to-cdn"&&!this._room.isMainStreamPublished?(this._log.info("[CDNStreaming] Main stream has not already published, will auto reStart after published."),!1):e==="publish-sub-stream-to-cdn"&&!this._room.isAuxStreamPublished?(this._log.info("[CDNStreaming] Sub has not already published, will auto reStart after published."),!1):!0}changeDataStatus(e,r){let o=this._paramsForTencentCDN.get(e),i=_(_({},o),r);this._paramsForTencentCDN.set(e,i)}async startPublishTencentCDN(e){if(this._log.info(`[CDNStreaming] startPublishTencentCDN ${JSON.stringify(e)}`),this.installEvents(),this.changeDataStatus(e.publishMode,{target:e,isStarted:!0}),!this.isStreamPublished(e.publishMode))return;let r=e.streamId||"",o=this.generatePublishCDNStreamId(r,e.publishMode),i=this.generatePublishCDNSessionId(e.publishMode),l=e.publishMode==="publish-sub-stream-to-cdn"?1:0,s={requestTime:Date.now(),sessionId:i,streamId:o,streamType:l};await this.doStartPublishTencentCDN(s,e.publishMode);let{appId:p,bizId:S,url:D}=e;if(p&&S&&D){let I=this._paramsForTencentCDN.get(e.publishMode)||this._initParamsForTencentCDN;I!=null&&I.givenCDNManager||(I.givenCDNManager=new E(this._core,this._log),this._paramsForTencentCDN.set(e.publishMode,I)),await I.givenCDNManager.startPublishGivenCDN({publishMode:e.publishMode,appId:p,bizId:S,url:D,streamId:o})}}async doStartPublishTencentCDN(e,r){this._log.info(`[CDNStreaming] doStartPublishTencentCDN: ${JSON.stringify(e)}`);let o=6,i=500,l=0;for(;;){let s=await this._room.sendStartPublishCDN(e,!0),{code:p}=s.data,{message:S}=s.data;if(p===0){this._log.info("[CDNStreaming] server success: start tencent cdn"),this.changeDataStatus(r,{isPublished:!0});break}else if(p===-10006&&l<o)this._log.warn(`[CDNStreaming] doStartPublishTencentCDN: retry...${l+1}/6, reason: ${S}`),l+=1,await new Promise(D=>setTimeout(D,i));else throw this.changeDataStatus(r,{isPublished:!1}),p===-102083&&(S=`Please enable relayed-push in ${this._core.constants.CLOUD_CONSOLE_URL} and try later, refer to ${this._core.constants.DOC_URL}tutorial-26-advanced-publish-cdn-stream.html`),this._log.error(`[CDNStreaming] server failed: start tencent cdn errCode: ${p} errMsg: ${S}`),new Error(`[CDNStreaming] server failed: start tencent cdn errCode: ${p} errMsg: ${S}`)}}async stopPublishTencentCDN(e){this._log.info(`[CDNStreaming] doStartPublishTencentCDN: ${JSON.stringify(e)}`);let r=this._paramsForTencentCDN.get(e)||this._initParamsForTencentCDN;if(r.isPublished){let{target:o}=r;o!=null&&o.bizId&&o.appId&&o.url&&(r!=null&&r.givenCDNManager)&&await(r==null?void 0:r.givenCDNManager.stopPublishGivenCDN()),await this.doStopPublishTencentCDN(e)}this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN)}async doStopPublishTencentCDN(e){let r={requestTime:Date.now(),sessionId:(0,J.default)(`${this._room.roomId}_${this._room.userId}_${this.convertPublishModeToStreamType(e)}`)};this._log.info(`[CDNStreaming] doStopPublishTencentCDN: ${JSON.stringify(r)}`);let o=await this._room.sendStopPublishCDN(r,!0),{code:i}=o.data,{message:l}=o.data;if(i===0)this._log.info("[CDNStreaming] server success: stop tencent cdn"),this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN),this.reset(e);else throw i===-102069&&(this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN),l=`can not stop in auto relayed-push mode ${l}`),this._log.error(`[CDNStreaming] server failed: stop tencent cdn errCode: ${i} errMsg: ${l}`),new Error(`[CDNStreaming] server failed: stop tencent cdn errCode: ${i} errMsg: ${l}`)}reset(e){this.uninstallEvents(),this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN)}generatePublishCDNStreamId(e,r){if(e===""){let o=`${this._room.roomId}_${this._room.userId}_${this.convertPublishModeToStreamType(r)}`;return/^[A-Za-z\d_-]*$/.test(o)||(o=(0,J.default)(o)),`${this._room.sdkAppId}_${o}`}return e}convertPublishModeToStreamType(e){return e==="publish-main-stream-to-cdn"?"main":"aux"}generatePublishCDNSessionId(e){return(0,J.default)(`${this._room.roomId}_${this._room.userId}_${this.convertPublishModeToStreamType(e)}`)}};var oe=j(W(),1);var w=class{constructor(e,r){g(this,"_core");g(this,"_room");g(this,"_log");g(this,"_seq");g(this,"_taskId",null);g(this,"_startData",null);g(this,"_updateData",null);g(this,"_stopData",null);this._core=e,this._room=e.room,this._log=r,this._seq=0}async startPushStreamToRoom(e){var l,s;this._seq+=1,this._startData=_({roomid:String(this._room.roomId),roomType:this._room.useStringRoomId?1:0,sessionId:(0,oe.default)(`${this._room.roomId}_${this._room.userId}_start`),agentParam:{cdnRobotUserid:`mcu_robot_${this._room.roomId}_${this._room.userId}`}},this.getCommonParams(e)),this._log.info(`startPushStreamToRoom: ${JSON.stringify(this._startData)}`);let r=await this._room.sendStartPushStreamToRoom(this._startData),{code:o,message:i}=r.data;o===0?(this._taskId=(s=(l=r.data)==null?void 0:l.data)==null?void 0:s.taskId,this._taskId||this.reportServerError("startPushStreamToRoom",o,`can't resolve task id: ${JSON.stringify(r.data)}`),this._log.info("[CDNStreaming] server success: taskId",this._taskId)):this.reportServerError("startPushStreamToRoom",o,i)}async updatePushStreamToRoom(e){this._seq+=1,this._updateData=F(_({taskid:this._taskId},this.getCommonParams(e)),{enableNtpSync:!0}),this._log.info(`updatePushStreamToRoom: ${JSON.stringify(this._updateData)}`);let r=await this._room.sendUpdatePushStreamToRoom(this._updateData),{code:o,message:i}=r.data;o===0?this._log.info("server success: updatePushStreamToRoom"):this.reportServerError("updatePushStreamToRoom",o,i)}async stopPushStreamToRoom(){this._seq+=1,this._stopData={sdkappid:this._room.sdkAppId,taskid:this._taskId},this._log.info(`stopPushStreamToRoom: ${JSON.stringify(this._stopData)}`);let e=await this._room.sendStopPushStreamToRoom(this._stopData),{code:r,message:o}=e.data;r===0?this._log.info("server success: start mix"):this.reportServerError("stopPushStreamToRoom",r,o)}reportServerError(e,r,o){let i=`server failed: ${e} errCode: ${r} errMsg: ${o}`;throw this._log.error(i),new Error(i)}getPushRtcRoomParams(e){let{robotUser:r}=e.target;return r?[{roomid:String((r==null?void 0:r.roomId)||(r==null?void 0:r.strRoomId))||this._room.roomId,roomType:r!=null&&r.roomId?0:1,pushRobotUserid:r==null?void 0:r.userId}]:[]}getCommonParams(e){return{sdkappid:this._room.sdkAppId,transcode:!0,audioParam:this.getAudioParam(e),videoParam:this.getVideoParam(e),pushRtcRoomParams:this.getPushRtcRoomParams(e),sequenceNumber:this._seq}}getAudioParam(e){let{mix:r={},encoding:o={}}=e,i={audioSamplerate:o.audioSampleRate||48e3,audioBitrateKbps:o.audioBitrate||64,audioChannels:o.audioChannels||1},{audioMixUserList:l}=r;return{audioEncodeParam:i,mixAudioUsers:(l==null?void 0:l.map(s=>({roomid:String(s.roomId||s.strRoomId)||this._room.roomId,userid:s.userId,roomType:s.roomId?0:1})))||[]}}getVideoParam(e){let{mix:r={},encoding:o={}}=e,i={videoCodec:2,videoWidth:o.videoWidth||640,videoHeight:o.videoHeight||480,videoFramerate:o.videoFramerate||15,videoGop:o.videoGOP||2,videoBitrateKbps:o.videoBitrate||800},{videoLayoutList:l}=r;return{videoEncodeParam:i,layoutParams:(l==null?void 0:l.map(s=>({userMediaStream:{userInfo:{roomid:String(s.fixedVideoUser.roomId||s.fixedVideoUser.strRoomId)||this._room.roomId,userid:s.fixedVideoUser.userId,roomType:s.fixedVideoUser.roomId?0:1},streamType:s.fixedVideoStreamType==="sub"?1:0},imageWidth:s.width||0,imageHeight:s.height||0,locationX:s.locationX||0,locationY:s.locationY||0,imageZorder:s.zOrder||1,renderMode:s.fillMode||0})))||[],backgroundColor:r.backgroundColor||0,backgroundImageUrl:r.backgroundImage||""}}};var ie=c=>typeof c=="string";var R;function Pe(c,e,r,o){if(!/^[A-Za-z\d_-]*$/.test(c)){let{RtcError:l,ErrorCode:s,ErrorCodeDictionary:p}=R;throw new l({code:s.INVALID_PARAMETER,extraCode:p.INVALID_STREAM_ID,messageParams:{key:"streamId"}})}}function fe(c,e,r,o){let{RtcError:i,ErrorCode:l,ErrorCodeDictionary:s}=R;if(ie(c))throw new i({code:l.INVALID_PARAMETER,extraCode:s.INVALID_ROOM_ID_INTEGER_STRING,fnName:r,messageParams:{key:"roomId"}});if(c===void 0)return;if(!(/^[1-9]\d*$/.test(String(c))&&c<4294967295))throw new i({code:l.INVALID_PARAMETER,extraCode:s.INVALID_ROOM_ID_INTEGER,fnName:r,messageParams:{key:"roomId"}})}function Re(c,e,r,o){let{RtcError:i,ErrorCode:l,ErrorCodeDictionary:s}=R;if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(c))throw new i({code:l.INVALID_PARAMETER,extraCode:s.INVALID_ROOM_ID_STRING,fnName:r,messageParams:{key:"strRoomId"}})}var A={type:"number",notLessThanZero:!0},Z={type:"object",properties:{userId:{required:!0,type:"string"},roomId:{type:["string","number"],validate:fe},strRoomId:{type:"string",validate:Re}}},se={required:!0,properties:{publishMode:{required:!0,values:["publish-main-stream-to-cdn","publish-mix-stream-to-cdn","publish-sub-stream-to-cdn","publish-mix-stream-to-room"]},streamId:{required:!1,type:"string",validate:Pe},appId:{type:"number",allowEmpty:!1},bizId:{type:"number",allowEmpty:!1},url:{type:"string",allowEmpty:!1},robotUser:_({},Z)},validate(c,e,r,o){let{publishMode:i,robotUser:l}=c;if(i==="publish-mix-stream-to-room"&&!l){let{RtcError:s,ErrorCode:p}=R;throw new s({code:p.INVALID_PARAMETER,message:"Invalid parameter target, the value of publishMode is PublishMixStreamToRoom, robotUser is required."})}}},ne={required:!1,type:"object",properties:{videoWidth:A,videoHeight:A,videoBitrate:F(_({},A),{allowEmpty:!1}),videoFramerate:{type:"number",validate(c,e,r,o){if(c<=0||c>30){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mixConfig -> videoFramerate, the value must be between (0, 30]."})}}},videoGOP:{type:"number",validate(c,e,r,o){if(c<1||c>8){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mixConfig -> videoGOP, the value must be between [1, 8]."})}}},audioSampleRate:A,audioBitrate:{type:"number",validate(c,e,r,o){if(c<32||c>192){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mixConfig -> audioBitrate, the value must be between [32, 192]."})}}},audioChannels:{type:"number",values:[1,2]}}},me={required:!1,type:"object",properties:{backgroundColor:{type:"number"},backgroundImage:{type:"string"},audioMixUserList:{type:"array",arrayItem:_({},Z)},videoLayoutList:{type:"array",required:!0,arrayItem:{type:"object",properties:{fixedVideoUser:_({},Z),fixedVideoStreamType:{type:"string",required:!0,values:["main","sub"]},fillMode:{type:"number",values:[0,1,2,4]},zOrder:{type:"number",required:!0,validate(c,e,r,o){if(c<1||c>15){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mix -> videoLayoutList -> zOrder, the value must be between [1, 15]."})}}},width:A,height:A,locationX:A,locationY:A}}}}};function de(c){return R=c.errorModule,{name:"CDNStreamingOptions",type:"object",required:!0,allowEmpty:!1,properties:{target:_({},se),encoding:_({},ne),mix:_({},me)},validate(e,r,o,i){var S,D;let{publishMode:l}=e.target,{encoding:s,mix:p}=e;if(l==="publish-mix-stream-to-cdn"){let{RtcError:I,ErrorCode:y,ErrorCodeDictionary:V}=c.errorModule;if(!s)throw new I({code:y.INVALID_PARAMETER,extraCode:V.INVALID_PARAMETER_REQUIRED,fnName:o,messageParams:{key:"encoding"}});if(!p)throw new I({code:y.INVALID_PARAMETER,extraCode:V.INVALID_PARAMETER_REQUIRED,fnName:o,messageParams:{key:"mix"}});if(p&&p.videoLayoutList){let M=0,N=0,U=[];if(p.videoLayoutList.forEach((f,$)=>{U.push(f.fixedVideoUser.userId),f.width+f.locationX>M&&(M=f.width+f.locationX),f.height+f.locationY>N&&(N=f.height+f.locationY)}),U.indexOf(c.room.userId)<0)throw new I({code:y.INVALID_PARAMETER,message:"Invalid parameter mix -> videoLayoutList, the value must be include self."});let z=(S=s==null?void 0:s.videoWidth)!=null?S:640,H=(D=s==null?void 0:s.videoHeight)!=null?D:480;if(z<M||H<N)throw new I({code:y.INVALID_PARAMETER,message:"Invalid parameter encoding, the width and height of the mixed video must encompass all the mixed-in video streams."})}}}}}function ue(c){return R=c.errorModule,{name:"CDNStreamingOptions",type:"object",required:!0,allowEmpty:!1,properties:{target:_({},se),encoding:_({},ne),mix:_({},me)}}}function le(c){return R=c.errorModule,{name:"CDNStreamingOptions",type:"object",required:!0,allowEmpty:!1,properties:{target:{required:!0,properties:{publishMode:{required:!0,values:["publish-main-stream-to-cdn","publish-mix-stream-to-cdn","publish-sub-stream-to-cdn","publish-mix-stream-to-room"]}}}}}}var G=0,B=class B{constructor(e){this.core=e;g(this,"_mixTranscodeManager");g(this,"_publishCDNManager");g(this,"_pushStreamToRoomManager");g(this,"_core");g(this,"_modeOptions");g(this,"seq");g(this,"_log");G=G+1,this.seq=G,this._log=e.log.createChild({id:`${this.getAlias()}${G}`}),this._log.info(`[CDNStreaming] created id=${this.getAlias()}${G}`),this._core=e,this._modeOptions=new Map,this._mixTranscodeManager=new v(e,this._log),this._publishCDNManager=new k(e,this._log),this._pushStreamToRoomManager=new w(e,this._log)}getName(){return B.Name}getAlias(){return"cdn"}getValidateRule(e){switch(e){case"start":return de(this._core);case"update":return ue(this._core);case"stop":return le(this._core)}}getGroup(e){return e.target.publishMode}async start(e){return this._modeOptions.set(e.target.publishMode,e),e.target.publishMode==="publish-mix-stream-to-room"?this._pushStreamToRoomManager.startPushStreamToRoom(e):await this.doStart(e)}async update(e){let r=this._modeOptions.get(e.target.publishMode);return this._core.utils.deepMerge(r,e),e.target.publishMode==="publish-mix-stream-to-room"?this._pushStreamToRoomManager.updatePushStreamToRoom(r):await this.doStart(r)}async stop(e){switch(e.target.publishMode){case"publish-mix-stream-to-cdn":{await this._mixTranscodeManager.stopMixTranscode();break}case"publish-main-stream-to-cdn":case"publish-sub-stream-to-cdn":{await this._publishCDNManager.stopPublishTencentCDN(e.target.publishMode);break}case"publish-mix-stream-to-room":{this._pushStreamToRoomManager.stopPushStreamToRoom();break}}this._modeOptions.delete(e.target.publishMode)}async doStart(e){switch(this._log.info(`[CDNStreaming] doStart: ${JSON.stringify(e)}`),e.target.publishMode){case"publish-mix-stream-to-cdn":{await this._mixTranscodeManager.startMixTranscode(e);break}case"publish-main-stream-to-cdn":case"publish-sub-stream-to-cdn":{await this._publishCDNManager.startPublishTencentCDN(e.target);break}}}};g(B,"TYPE",{PublishMode:{PublishMainStreamToCDN:"publish-main-stream-to-cdn",PublishSubStreamToCDN:"publish-sub-stream-to-cdn",PublishMixStreamToCDN:"publish-mix-stream-to-cdn",PublishMixStreamToRoom:"publish-mix-stream-to-room"}}),g(B,"Name","CDNStreaming");var X=B;var Ae=X;return Ce(Ne);})().default;
|
|
1
|
+
"use strict";var CDNStreaming=(()=>{var ce=Object.create;var x=Object.defineProperty,he=Object.defineProperties,pe=Object.getOwnPropertyDescriptor,ge=Object.getOwnPropertyDescriptors,be=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,Se=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable;var Y=(c,e,r)=>e in c?x(c,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):c[e]=r,_=(c,e)=>{for(var r in e||(e={}))ee.call(e,r)&&Y(c,r,e[r]);if(Q)for(var r of Q(e))Te.call(e,r)&&Y(c,r,e[r]);return c},F=(c,e)=>he(c,ge(e));var _e=(c,e)=>()=>(e||c((e={exports:{}}).exports,e),e.exports),De=(c,e)=>{for(var r in e)x(c,r,{get:e[r],enumerable:!0})},re=(c,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of be(e))!ee.call(c,i)&&i!==r&&x(c,i,{get:()=>e[i],enumerable:!(o=pe(e,i))||o.enumerable});return c};var j=(c,e,r)=>(r=c!=null?ce(Se(c)):{},re(e||!c||!c.__esModule?x(r,"default",{value:c,enumerable:!0}):r,c)),Ce=c=>re(x({},"__esModule",{value:!0}),c);var g=(c,e,r)=>(Y(c,typeof e!="symbol"?e+"":e,r),r);var W=_e((te,K)=>{(function(c){"use strict";function e(t,h){var a=(t&65535)+(h&65535),b=(t>>16)+(h>>16)+(a>>16);return b<<16|a&65535}function r(t,h){return t<<h|t>>>32-h}function o(t,h,a,b,T,C){return e(r(e(e(h,t),e(b,C)),T),a)}function i(t,h,a,b,T,C,f){return o(h&a|~h&b,t,h,T,C,f)}function l(t,h,a,b,T,C,f){return o(h&b|a&~b,t,h,T,C,f)}function s(t,h,a,b,T,C,f){return o(h^a^b,t,h,T,C,f)}function p(t,h,a,b,T,C,f){return o(a^(h|~b),t,h,T,C,f)}function S(t,h){t[h>>5]|=128<<h%32,t[(h+64>>>9<<4)+14]=h;var a,b,T,C,f,n=1732584193,m=-271733879,d=-1732584194,u=271733878;for(a=0;a<t.length;a+=16)b=n,T=m,C=d,f=u,n=i(n,m,d,u,t[a],7,-680876936),u=i(u,n,m,d,t[a+1],12,-389564586),d=i(d,u,n,m,t[a+2],17,606105819),m=i(m,d,u,n,t[a+3],22,-1044525330),n=i(n,m,d,u,t[a+4],7,-176418897),u=i(u,n,m,d,t[a+5],12,1200080426),d=i(d,u,n,m,t[a+6],17,-1473231341),m=i(m,d,u,n,t[a+7],22,-45705983),n=i(n,m,d,u,t[a+8],7,1770035416),u=i(u,n,m,d,t[a+9],12,-1958414417),d=i(d,u,n,m,t[a+10],17,-42063),m=i(m,d,u,n,t[a+11],22,-1990404162),n=i(n,m,d,u,t[a+12],7,1804603682),u=i(u,n,m,d,t[a+13],12,-40341101),d=i(d,u,n,m,t[a+14],17,-1502002290),m=i(m,d,u,n,t[a+15],22,1236535329),n=l(n,m,d,u,t[a+1],5,-165796510),u=l(u,n,m,d,t[a+6],9,-1069501632),d=l(d,u,n,m,t[a+11],14,643717713),m=l(m,d,u,n,t[a],20,-373897302),n=l(n,m,d,u,t[a+5],5,-701558691),u=l(u,n,m,d,t[a+10],9,38016083),d=l(d,u,n,m,t[a+15],14,-660478335),m=l(m,d,u,n,t[a+4],20,-405537848),n=l(n,m,d,u,t[a+9],5,568446438),u=l(u,n,m,d,t[a+14],9,-1019803690),d=l(d,u,n,m,t[a+3],14,-187363961),m=l(m,d,u,n,t[a+8],20,1163531501),n=l(n,m,d,u,t[a+13],5,-1444681467),u=l(u,n,m,d,t[a+2],9,-51403784),d=l(d,u,n,m,t[a+7],14,1735328473),m=l(m,d,u,n,t[a+12],20,-1926607734),n=s(n,m,d,u,t[a+5],4,-378558),u=s(u,n,m,d,t[a+8],11,-2022574463),d=s(d,u,n,m,t[a+11],16,1839030562),m=s(m,d,u,n,t[a+14],23,-35309556),n=s(n,m,d,u,t[a+1],4,-1530992060),u=s(u,n,m,d,t[a+4],11,1272893353),d=s(d,u,n,m,t[a+7],16,-155497632),m=s(m,d,u,n,t[a+10],23,-1094730640),n=s(n,m,d,u,t[a+13],4,681279174),u=s(u,n,m,d,t[a],11,-358537222),d=s(d,u,n,m,t[a+3],16,-722521979),m=s(m,d,u,n,t[a+6],23,76029189),n=s(n,m,d,u,t[a+9],4,-640364487),u=s(u,n,m,d,t[a+12],11,-421815835),d=s(d,u,n,m,t[a+15],16,530742520),m=s(m,d,u,n,t[a+2],23,-995338651),n=p(n,m,d,u,t[a],6,-198630844),u=p(u,n,m,d,t[a+7],10,1126891415),d=p(d,u,n,m,t[a+14],15,-1416354905),m=p(m,d,u,n,t[a+5],21,-57434055),n=p(n,m,d,u,t[a+12],6,1700485571),u=p(u,n,m,d,t[a+3],10,-1894986606),d=p(d,u,n,m,t[a+10],15,-1051523),m=p(m,d,u,n,t[a+1],21,-2054922799),n=p(n,m,d,u,t[a+8],6,1873313359),u=p(u,n,m,d,t[a+15],10,-30611744),d=p(d,u,n,m,t[a+6],15,-1560198380),m=p(m,d,u,n,t[a+13],21,1309151649),n=p(n,m,d,u,t[a+4],6,-145523070),u=p(u,n,m,d,t[a+11],10,-1120210379),d=p(d,u,n,m,t[a+2],15,718787259),m=p(m,d,u,n,t[a+9],21,-343485551),n=e(n,b),m=e(m,T),d=e(d,C),u=e(u,f);return[n,m,d,u]}function D(t){var h,a="",b=t.length*32;for(h=0;h<b;h+=8)a+=String.fromCharCode(t[h>>5]>>>h%32&255);return a}function I(t){var h,a=[];for(a[(t.length>>2)-1]=void 0,h=0;h<a.length;h+=1)a[h]=0;var b=t.length*8;for(h=0;h<b;h+=8)a[h>>5]|=(t.charCodeAt(h/8)&255)<<h%32;return a}function y(t){return D(S(I(t),t.length*8))}function V(t,h){var a,b=I(t),T=[],C=[],f;for(T[15]=C[15]=void 0,b.length>16&&(b=S(b,t.length*8)),a=0;a<16;a+=1)T[a]=b[a]^909522486,C[a]=b[a]^1549556828;return f=S(T.concat(I(h)),512+h.length*8),D(S(C.concat(f),512+128))}function M(t){var h="0123456789abcdef",a="",b,T;for(T=0;T<t.length;T+=1)b=t.charCodeAt(T),a+=h.charAt(b>>>4&15)+h.charAt(b&15);return a}function N(t){return unescape(encodeURIComponent(t))}function U(t){return y(N(t))}function z(t){return M(U(t))}function H(t,h){return V(N(t),N(h))}function P(t,h){return M(H(t,h))}function $(t,h,a){return h?a?H(h,t):P(h,t):a?U(t):z(t)}typeof define=="function"&&define.amd?define(function(){return $}):typeof K=="object"&&K.exports?K.exports=$:c.md5=$})(te)});var Ne={};De(Ne,{CDNStreaming:()=>X,PublishMode:()=>O,TRTCStreamType:()=>L,default:()=>Ae});var ae=j(W(),1);var O=(i=>(i.PublishMainStreamToCDN="publish-main-stream-to-cdn",i.PublishSubStreamToCDN="publish-sub-stream-to-cdn",i.PublishMixStreamToCDN="publish-mix-stream-to-cdn",i.PublishMixStreamToRoom="publish-mix-stream-to-room",i))(O||{}),L=(r=>(r.Main="main",r.Sub="sub",r))(L||{});var q={IT_AUDIO_VIDEO:0,IT_PICTURE:2,IT_CANVAS:3,IT_PURE_AUDIO:4,IT_PURE_VIDEO:5};var E=class{constructor(e,r){g(this,"_core");g(this,"_room");g(this,"_log");g(this,"_params");g(this,"_publishGivenCDNData",null);this._core=e,this._room=e.room,this._log=r}get isPublishingGivenCDN(){return!!this._params}async startPublishGivenCDN(e){if(this._log.info(`[CDNStreaming] startPublishGivenCDN() current: ${JSON.stringify(this._params)}, params: ${JSON.stringify(e)}`),this.isPublishingGivenCDN){let{appId:r,bizId:o,url:i}=this._params||{};if(r===e.appId&&o===e.bizId&&i===e.url)return;await this.stopPublishGivenCDN()}this._params=e,this._publishGivenCDNData={pushRequestTime:Date.now(),pushAppId:e.appId,pushBizId:e.bizId,pushCdnUrl:e.url,pushStreamType:this.convertStreamType(e==null?void 0:e.publishMode),pushStreamId:e.streamId};try{let r=await this._room.sendStartPublishCDN(this._publishGivenCDNData,!1),{code:o,message:i}=r.data;if(o===0)this._log.info("[CDNStreaming] server success: start given cdn.");else throw this.resetGivenCDN(),this._log.error(`[CDNStreaming] server failed: start given cdn errCode: ${o} errMsg: ${i} options: ${JSON.stringify(e)}`),new Error(`[CDNStreaming] server failed: start given cdn errCode: ${o} errMsg: ${i}`)}catch(r){throw this.resetGivenCDN(),r}}async stopPublishGivenCDN(){if(this._log.info("[CDNStreaming] stopPublishGivenCDN"),!this.isPublishingGivenCDN||!this._publishGivenCDNData){this.resetGivenCDN();return}let{pushAppId:e,pushBizId:r,pushCdnUrl:o,pushStreamType:i,pushStreamId:l}=this._publishGivenCDNData,s={pushRequestTime:Date.now(),pushAppId:e,pushBizId:r,pushCdnUrl:o,pushStreamType:i,pushStreamId:l},p=await this._room.sendStopPublishCDN(s,!1),{code:S,message:D}=p.data;if(S===0)this._log.info("[CDNStreaming] server success: stop given cdn."),this.resetGivenCDN();else throw this._log.error(`[CDNStreaming] server failed: stop given cdn errCode: ${S} errMsg: ${D} data: ${JSON.stringify(s)}`),new Error(`[CDNStreaming] server failed: stop given cdn errCode: ${S} errMsg: ${D}`)}resetGivenCDN(){this._publishGivenCDNData=null,this._params=void 0}convertStreamType(e){return e==="publish-sub-stream-to-cdn"?"aux":"main"}};var v=class{constructor(e,r){g(this,"_core");g(this,"_room");g(this,"_log");g(this,"_config",null);g(this,"_data",null);g(this,"_givenCDNManager");this._core=e,this._room=e.room,this._log=r,this.reset()}get isMixing(){return!!this._data}get isStarted(){return!!this._config}get hasCustomCDN(){var e,r,o;return((e=this._config)==null?void 0:e.target.appId)&&((r=this._config)==null?void 0:r.target.bizId)&&((o=this._config)==null?void 0:o.target.url)}async startMixTranscode(e){if(this._log.info(`startMixTranscode: ${JSON.stringify(e)}`),this._config=e,this.installEvents(),!!this._core.room.isJoined)try{let r=this.getInputParam(e),o=this.getOutputParam(e),i=this.getOutputSessionId({config:e,roomId:this._room.roomId,userId:this._room.userId});this.isMixing&&this._data&&i!==this._data.outputSessionId&&(this._log.info("[CDNStreaming] streamId changed, auto stop mixing before start"),await this.doStopMixTranscode()),await this.doStartMixTranscode({outputSessionId:i,inputParam:r,outputParam:o});let{appId:l,bizId:s,url:p,streamId:S=""}=e.target;l&&s&&p&&(this._givenCDNManager||(this._givenCDNManager=new E(this._core,this._log)),await this._givenCDNManager.startPublishGivenCDN({publishMode:e.target.publishMode,appId:l,bizId:s,url:p,streamId:S}))}catch(r){throw this.reset(),r}}async doStartMixTranscode({outputSessionId:e,inputParam:r,outputParam:o}){let i={roomId:String(this._room.roomId),mcuRequestTime:Date.now(),outputSessionId:e,inputParam:r,outputParam:o};this._log.info(`[CDNStreaming] doStartMixTranscode: ${JSON.stringify(i)}`);let l=await this._room.sendStartMixTranscode(i),{code:s}=l.data,{message:p}=l.data;if(s===0)this._log.info("[CDNStreaming] server success: start mix"),this._data=i;else throw s===-102083&&(p=`Please enable relayed-push in ${this._core.constants.CLOUD_CONSOLE_URL} and try later, refer to ${this._core.constants.DOC_URL}tutorial-26-advanced-publish-cdn-stream.html`),this._log.error(`[CDNStreaming] server failed: start mix errCode: ${s} errMsg: ${p}`),new Error(`[CDNStreaming] server failed: start mix errCode: ${s} errMsg: ${p}`)}async stopMixTranscode(){this._log.info("[CDNStreaming] stopMixTranscode");try{this.isStarted&&this.isMixing&&(await this.doStopMixTranscode(),this._config&&this.hasCustomCDN&&this._givenCDNManager&&await this._givenCDNManager.stopPublishGivenCDN())}catch(e){throw e}this.reset()}async doStopMixTranscode(){let e={mcuRequestTime:Date.now(),outputSessionId:this._data.outputSessionId,streamType:this._data.outputParam.streamType};this._log.info(`[CDNStreaming] doStopMixTranscode: ${JSON.stringify(e)}`);let r=await this._room.sendStopMixTranscode(e),{code:o,message:i}=r.data;if(o===0)this._log.info("[CDNStreaming] server success: stop mix"),this.reset();else throw this._log.error(`[CDNStreaming] server failed: stop mix errCode: ${o} errMsg: ${i}`),new Error(`[CDNStreaming] server failed: stop mix errCode: ${o} errMsg: ${i}`)}reset(){this._config=null,this._data=null,this.uninstallEvents()}installEvents(){this._core.room.on("joined",this.handleRoomJoined,this),this._core.room.on("left",this.handleRoomLeft,this)}uninstallEvents(){this._core.room.off("joined",this.handleRoomJoined,this),this._core.room.off("left",this.handleRoomLeft,this)}async handleRoomJoined(){this._log.info(`[CDNStreaming] handleJoined: ${JSON.stringify(this._config)}`),this.isStarted&&this._config&&await this.startMixTranscode(this._config)}async handleRoomLeft(){this._log.info(`[CDNStreaming] handleRoomLeft: ${JSON.stringify(this._config)}`),this._data=null}getOutputSessionId({config:e,userId:r,roomId:o}){return this._core.utils.isString(e.target.streamId)&&e.target.streamId.length>0?e.target.streamId:(0,ae.default)(`${o}_${r}_main`)}getStringRoomId(e,r){return e?String(e):r}getInputParam(e){let{mix:r={}}=e,{audioMixUserList:o=[],videoLayoutList:i=[]}=r,l=i.map(s=>({userId:s.fixedVideoUser.userId,roomId:this.getStringRoomId(s.fixedVideoUser.roomId,s.fixedVideoUser.strRoomId)||this._core.room.roomId,width:s.width||0,height:s.height||0,locationX:s.locationX||0,locationY:s.locationY||0,zOrder:s.zOrder||1,streamType:s.fixedVideoStreamType==="sub"?1:0,inputType:q.IT_PURE_VIDEO,renderMode:s.fillMode||0}));return o.forEach(s=>{let p=this._core.room.roomId;(s.roomId||s.strRoomId)&&(p=this.getStringRoomId(s.roomId,s.strRoomId));let S=l.findIndex(D=>D.userId===s.userId&&D.roomId===p);S!==-1?l[S].inputType=q.IT_AUDIO_VIDEO:l.push({userId:s.userId,roomId:s.roomId||s.strRoomId||this._core.room.roomId,inputType:q.IT_PURE_AUDIO})}),l}getOutputParam(e){let r=e.target.streamId||"",{encoding:o={},mix:i={}}=e;return{streamId:r,streamType:r.length>0?1:0,width:this._core.utils.isUndefined(o.videoWidth)?640:o.videoWidth,height:this._core.utils.isUndefined(o.videoHeight)?480:o.videoHeight,videoBps:o.videoBitrate||0,fps:o.videoFramerate||15,gop:o.videoGOP||2,audioSampleRate:o.audioSampleRate||48e3,audioBps:o.audioBitrate||64,audioChannels:o.audioChannels||1,backgroundColor:i.backgroundColor||0,backgroundImg:i.backgroundImage||"",extraInfo:"",videoCodec:2,audioCodec:0}}};var J=j(W(),1);var k=class{constructor(e,r){g(this,"_room");g(this,"_core");g(this,"_log");g(this,"_paramsForTencentCDN");g(this,"_initParamsForTencentCDN",{isPublished:!1,isStarted:!1});this._core=e,this._room=e.room,this._log=r,this._paramsForTencentCDN=new Map([["publish-main-stream-to-cdn",this._initParamsForTencentCDN],["publish-sub-stream-to-cdn",this._initParamsForTencentCDN]])}installEvents(){this._core.innerEmitter.on("104",this.handlePublished,this),this._core.room.on("left",this.handleRoomLeft,this)}uninstallEvents(){this._core.innerEmitter.off("104",this.handlePublished,this),this._core.room.off("left",this.handleRoomLeft,this)}async handlePublished({track:e}){var i;if(e.room!==this._room||(this._log.info(`[CDNStreaming] handlePublished: mediaType ${e.mediaType}, roomID ${(i=e==null?void 0:e.room)==null?void 0:i.roomId}`),e.mediaType===1))return;let r=e.mediaType===4?"publish-main-stream-to-cdn":"publish-sub-stream-to-cdn",o=this._paramsForTencentCDN.get(r)||null;o!=null&&o.target&&o.isStarted&&await this.startPublishTencentCDN(o.target)}async handleRoomLeft(){this._log.info("[CDNStreaming] handleRoomLeft"),this.changeDataStatus("publish-main-stream-to-cdn",{isPublished:!1}),this.changeDataStatus("publish-sub-stream-to-cdn",{isPublished:!1})}isStreamPublished(e){return e==="publish-main-stream-to-cdn"&&!this._room.isMainStreamPublished?(this._log.info("[CDNStreaming] Main stream has not already published, will auto reStart after published."),!1):e==="publish-sub-stream-to-cdn"&&!this._room.isAuxStreamPublished?(this._log.info("[CDNStreaming] Sub has not already published, will auto reStart after published."),!1):!0}changeDataStatus(e,r){let o=this._paramsForTencentCDN.get(e),i=_(_({},o),r);this._paramsForTencentCDN.set(e,i)}async startPublishTencentCDN(e){if(this._log.info(`[CDNStreaming] startPublishTencentCDN ${JSON.stringify(e)}`),this.installEvents(),this.changeDataStatus(e.publishMode,{target:e,isStarted:!0}),!this.isStreamPublished(e.publishMode))return;let r=e.streamId||"",o=this.generatePublishCDNStreamId(r,e.publishMode),i=this.generatePublishCDNSessionId(e.publishMode),l=e.publishMode==="publish-sub-stream-to-cdn"?1:0,s={requestTime:Date.now(),sessionId:i,streamId:o,streamType:l};await this.doStartPublishTencentCDN(s,e.publishMode);let{appId:p,bizId:S,url:D}=e;if(p&&S&&D){let I=this._paramsForTencentCDN.get(e.publishMode)||this._initParamsForTencentCDN;I!=null&&I.givenCDNManager||(I.givenCDNManager=new E(this._core,this._log),this._paramsForTencentCDN.set(e.publishMode,I)),await I.givenCDNManager.startPublishGivenCDN({publishMode:e.publishMode,appId:p,bizId:S,url:D,streamId:o})}}async doStartPublishTencentCDN(e,r){this._log.info(`[CDNStreaming] doStartPublishTencentCDN: ${JSON.stringify(e)}`);let o=6,i=500,l=0;for(;;){let s=await this._room.sendStartPublishCDN(e,!0),{code:p}=s.data,{message:S}=s.data;if(p===0){this._log.info("[CDNStreaming] server success: start tencent cdn"),this.changeDataStatus(r,{isPublished:!0});break}else if(p===-10006&&l<o)this._log.warn(`[CDNStreaming] doStartPublishTencentCDN: retry...${l+1}/6, reason: ${S}`),l+=1,await new Promise(D=>setTimeout(D,i));else throw this.changeDataStatus(r,{isPublished:!1}),p===-102083&&(S=`Please enable relayed-push in ${this._core.constants.CLOUD_CONSOLE_URL} and try later, refer to ${this._core.constants.DOC_URL}tutorial-26-advanced-publish-cdn-stream.html`),this._log.error(`[CDNStreaming] server failed: start tencent cdn errCode: ${p} errMsg: ${S}`),new Error(`[CDNStreaming] server failed: start tencent cdn errCode: ${p} errMsg: ${S}`)}}async stopPublishTencentCDN(e){this._log.info(`[CDNStreaming] doStartPublishTencentCDN: ${JSON.stringify(e)}`);let r=this._paramsForTencentCDN.get(e)||this._initParamsForTencentCDN;if(r.isPublished){let{target:o}=r;o!=null&&o.bizId&&o.appId&&o.url&&(r!=null&&r.givenCDNManager)&&await(r==null?void 0:r.givenCDNManager.stopPublishGivenCDN()),await this.doStopPublishTencentCDN(e)}this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN)}async doStopPublishTencentCDN(e){let r={requestTime:Date.now(),sessionId:(0,J.default)(`${this._room.roomId}_${this._room.userId}_${this.convertPublishModeToStreamType(e)}`)};this._log.info(`[CDNStreaming] doStopPublishTencentCDN: ${JSON.stringify(r)}`);let o=await this._room.sendStopPublishCDN(r,!0),{code:i}=o.data,{message:l}=o.data;if(i===0)this._log.info("[CDNStreaming] server success: stop tencent cdn"),this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN),this.reset(e);else throw i===-102069&&(this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN),l=`can not stop in auto relayed-push mode ${l}`),this._log.error(`[CDNStreaming] server failed: stop tencent cdn errCode: ${i} errMsg: ${l}`),new Error(`[CDNStreaming] server failed: stop tencent cdn errCode: ${i} errMsg: ${l}`)}reset(e){this.uninstallEvents(),this._paramsForTencentCDN.set(e,this._initParamsForTencentCDN)}generatePublishCDNStreamId(e,r){if(e===""){let o=`${this._room.roomId}_${this._room.userId}_${this.convertPublishModeToStreamType(r)}`;return/^[A-Za-z\d_-]*$/.test(o)||(o=(0,J.default)(o)),`${this._room.sdkAppId}_${o}`}return e}convertPublishModeToStreamType(e){return e==="publish-main-stream-to-cdn"?"main":"aux"}generatePublishCDNSessionId(e){return(0,J.default)(`${this._room.roomId}_${this._room.userId}_${this.convertPublishModeToStreamType(e)}`)}};var oe=j(W(),1);var w=class{constructor(e,r){g(this,"_core");g(this,"_room");g(this,"_log");g(this,"_seq");g(this,"_taskId",null);g(this,"_startData",null);g(this,"_updateData",null);g(this,"_stopData",null);this._core=e,this._room=e.room,this._log=r,this._seq=0}async startPushStreamToRoom(e){var l,s;this._seq+=1,this._startData=_({roomid:String(this._room.roomId),roomType:this._room.useStringRoomId?1:0,sessionId:(0,oe.default)(`${this._room.roomId}_${this._room.userId}_start`),agentParam:{cdnRobotUserid:`mcu_robot_${this._room.roomId}_${this._room.userId}`}},this.getCommonParams(e)),this._log.info(`startPushStreamToRoom: ${JSON.stringify(this._startData)}`);let r=await this._room.sendStartPushStreamToRoom(this._startData),{code:o,message:i}=r.data;o===0?(this._taskId=(s=(l=r.data)==null?void 0:l.data)==null?void 0:s.taskId,this._taskId||this.reportServerError("startPushStreamToRoom",o,`can't resolve task id: ${JSON.stringify(r.data)}`),this._log.info("[CDNStreaming] server success: taskId",this._taskId)):this.reportServerError("startPushStreamToRoom",o,i)}async updatePushStreamToRoom(e){this._seq+=1,this._updateData=F(_({taskid:this._taskId},this.getCommonParams(e)),{enableNtpSync:!0}),this._log.info(`updatePushStreamToRoom: ${JSON.stringify(this._updateData)}`);let r=await this._room.sendUpdatePushStreamToRoom(this._updateData),{code:o,message:i}=r.data;o===0?this._log.info("server success: updatePushStreamToRoom"):this.reportServerError("updatePushStreamToRoom",o,i)}async stopPushStreamToRoom(){this._seq+=1,this._stopData={sdkappid:this._room.sdkAppId,taskid:this._taskId},this._log.info(`stopPushStreamToRoom: ${JSON.stringify(this._stopData)}`);let e=await this._room.sendStopPushStreamToRoom(this._stopData),{code:r,message:o}=e.data;r===0?this._log.info("server success: start mix"):this.reportServerError("stopPushStreamToRoom",r,o)}reportServerError(e,r,o){let i=`server failed: ${e} errCode: ${r} errMsg: ${o}`;throw this._log.error(i),new Error(i)}getPushRtcRoomParams(e){let{robotUser:r}=e.target;return r?[{roomid:String((r==null?void 0:r.roomId)||(r==null?void 0:r.strRoomId))||this._room.roomId,roomType:r!=null&&r.roomId?0:1,pushRobotUserid:r==null?void 0:r.userId}]:[]}getCommonParams(e){return{sdkappid:this._room.sdkAppId,transcode:!0,audioParam:this.getAudioParam(e),videoParam:this.getVideoParam(e),pushRtcRoomParams:this.getPushRtcRoomParams(e),sequenceNumber:this._seq}}getAudioParam(e){let{mix:r={},encoding:o={}}=e,i={audioSamplerate:o.audioSampleRate||48e3,audioBitrateKbps:o.audioBitrate||64,audioChannels:o.audioChannels||1},{audioMixUserList:l}=r;return{audioEncodeParam:i,mixAudioUsers:(l==null?void 0:l.map(s=>({roomid:String(s.roomId||s.strRoomId)||this._room.roomId,userid:s.userId,roomType:s.roomId?0:1})))||[]}}getVideoParam(e){let{mix:r={},encoding:o={}}=e,i={videoCodec:2,videoWidth:o.videoWidth||640,videoHeight:o.videoHeight||480,videoFramerate:o.videoFramerate||15,videoGop:o.videoGOP||2,videoBitrateKbps:o.videoBitrate||800},{videoLayoutList:l}=r;return{videoEncodeParam:i,layoutParams:(l==null?void 0:l.map(s=>({userMediaStream:{userInfo:{roomid:String(s.fixedVideoUser.roomId||s.fixedVideoUser.strRoomId)||this._room.roomId,userid:s.fixedVideoUser.userId,roomType:s.fixedVideoUser.roomId?0:1},streamType:s.fixedVideoStreamType==="sub"?1:0},imageWidth:s.width||0,imageHeight:s.height||0,locationX:s.locationX||0,locationY:s.locationY||0,imageZorder:s.zOrder||1,renderMode:s.fillMode||0})))||[],backgroundColor:r.backgroundColor||0,backgroundImageUrl:r.backgroundImage||""}}};var ie=c=>typeof c=="string";var R;function fe(c,e,r,o){if(!/^[A-Za-z\d_-]*$/.test(c)){let{RtcError:l,ErrorCode:s,ErrorCodeDictionary:p}=R;throw new l({code:s.INVALID_PARAMETER,extraCode:p.INVALID_STREAM_ID,messageParams:{key:"streamId"}})}}function Pe(c,e,r,o){let{RtcError:i,ErrorCode:l,ErrorCodeDictionary:s}=R;if(ie(c))throw new i({code:l.INVALID_PARAMETER,extraCode:s.INVALID_ROOM_ID_INTEGER_STRING,fnName:r,messageParams:{key:"roomId"}});if(c===void 0)return;if(!(/^[1-9]\d*$/.test(String(c))&&c<4294967295))throw new i({code:l.INVALID_PARAMETER,extraCode:s.INVALID_ROOM_ID_INTEGER,fnName:r,messageParams:{key:"roomId"}})}function Re(c,e,r,o){let{RtcError:i,ErrorCode:l,ErrorCodeDictionary:s}=R;if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(c))throw new i({code:l.INVALID_PARAMETER,extraCode:s.INVALID_ROOM_ID_STRING,fnName:r,messageParams:{key:"strRoomId"}})}var A={type:"number",notLessThanZero:!0},Z={type:"object",properties:{userId:{required:!0,type:"string"},roomId:{type:["string","number"],validate:Pe},strRoomId:{type:"string",validate:Re}}},se={required:!0,properties:{publishMode:{required:!0,values:["publish-main-stream-to-cdn","publish-mix-stream-to-cdn","publish-sub-stream-to-cdn","publish-mix-stream-to-room"]},streamId:{required:!1,type:"string",validate:fe},appId:{type:"number",allowEmpty:!1},bizId:{type:"number",allowEmpty:!1},url:{type:"string",allowEmpty:!1},robotUser:_({},Z)},validate(c,e,r,o){let{publishMode:i,robotUser:l}=c;if(i==="publish-mix-stream-to-room"&&!l){let{RtcError:s,ErrorCode:p}=R;throw new s({code:p.INVALID_PARAMETER,message:"Invalid parameter target, the value of publishMode is PublishMixStreamToRoom, robotUser is required."})}}},ne={required:!1,type:"object",properties:{videoWidth:A,videoHeight:A,videoBitrate:F(_({},A),{allowEmpty:!1}),videoFramerate:{type:"number",validate(c,e,r,o){if(c<=0||c>30){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mixConfig -> videoFramerate, the value must be between (0, 30]."})}}},videoGOP:{type:"number",validate(c,e,r,o){if(c<1||c>8){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mixConfig -> videoGOP, the value must be between [1, 8]."})}}},audioSampleRate:A,audioBitrate:{type:"number",validate(c,e,r,o){if(c<32||c>192){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mixConfig -> audioBitrate, the value must be between [32, 192]."})}}},audioChannels:{type:"number",values:[1,2]}}},me={required:!1,type:"object",properties:{backgroundColor:{type:"number"},backgroundImage:{type:"string"},audioMixUserList:{type:"array",arrayItem:_({},Z)},videoLayoutList:{type:"array",required:!0,arrayItem:{type:"object",properties:{fixedVideoUser:_({},Z),fixedVideoStreamType:{type:"string",required:!0,values:["main","sub"]},fillMode:{type:"number",values:[0,1,2,4]},zOrder:{type:"number",required:!0,validate(c,e,r,o){if(c<1||c>15){let{RtcError:i,ErrorCode:l}=R;throw new i({code:l.INVALID_PARAMETER,message:"Invalid parameter mix -> videoLayoutList -> zOrder, the value must be between [1, 15]."})}}},width:A,height:A,locationX:A,locationY:A}}}}};function de(c){return R=c.errorModule,{name:"CDNStreamingOptions",type:"object",required:!0,allowEmpty:!1,properties:{target:_({},se),encoding:_({},ne),mix:_({},me)},validate(e,r,o,i){var S,D;let{publishMode:l}=e.target,{encoding:s,mix:p}=e;if(l==="publish-mix-stream-to-cdn"){let{RtcError:I,ErrorCode:y,ErrorCodeDictionary:V}=c.errorModule;if(!s)throw new I({code:y.INVALID_PARAMETER,extraCode:V.INVALID_PARAMETER_REQUIRED,fnName:o,messageParams:{key:"encoding"}});if(!p)throw new I({code:y.INVALID_PARAMETER,extraCode:V.INVALID_PARAMETER_REQUIRED,fnName:o,messageParams:{key:"mix"}});if(p&&p.videoLayoutList){let M=0,N=0,U=[];if(p.videoLayoutList.forEach((P,$)=>{U.push(P.fixedVideoUser.userId),P.width+P.locationX>M&&(M=P.width+P.locationX),P.height+P.locationY>N&&(N=P.height+P.locationY)}),U.indexOf(c.room.userId)<0)throw new I({code:y.INVALID_PARAMETER,message:"Invalid parameter mix -> videoLayoutList, the value must be include self."});let z=(S=s==null?void 0:s.videoWidth)!=null?S:640,H=(D=s==null?void 0:s.videoHeight)!=null?D:480;if(z<M||H<N)throw new I({code:y.INVALID_PARAMETER,message:"Invalid parameter encoding, the width and height of the mixed video must encompass all the mixed-in video streams."})}}}}}function ue(c){return R=c.errorModule,{name:"CDNStreamingOptions",type:"object",required:!0,allowEmpty:!1,properties:{target:_({},se),encoding:_({},ne),mix:_({},me)}}}function le(c){return R=c.errorModule,{name:"CDNStreamingOptions",type:"object",required:!0,allowEmpty:!1,properties:{target:{required:!0,properties:{publishMode:{required:!0,values:["publish-main-stream-to-cdn","publish-mix-stream-to-cdn","publish-sub-stream-to-cdn","publish-mix-stream-to-room"]}}}}}}var G=0,B=class B{constructor(e){this.core=e;g(this,"_mixTranscodeManager");g(this,"_publishCDNManager");g(this,"_pushStreamToRoomManager");g(this,"_core");g(this,"_modeOptions");g(this,"seq");g(this,"_log");G=G+1,this.seq=G,this._log=e.log.createChild({id:`${this.getAlias()}${G}`}),this._log.info(`[CDNStreaming] created id=${this.getAlias()}${G}`),this._core=e,this._modeOptions=new Map,this._mixTranscodeManager=new v(e,this._log),this._publishCDNManager=new k(e,this._log),this._pushStreamToRoomManager=new w(e,this._log)}getName(){return B.Name}getAlias(){return"cdn"}getValidateRule(e){switch(e){case"start":return de(this._core);case"update":return ue(this._core);case"stop":return le(this._core)}}getGroup(e){return e.target.publishMode}async start(e){return this._modeOptions.set(e.target.publishMode,e),e.target.publishMode==="publish-mix-stream-to-room"?this._pushStreamToRoomManager.startPushStreamToRoom(e):await this.doStart(e)}async update(e){let r=this._modeOptions.get(e.target.publishMode);return this._core.utils.deepMerge(r,e),e.target.publishMode==="publish-mix-stream-to-room"?this._pushStreamToRoomManager.updatePushStreamToRoom(r):await this.doStart(r)}async stop(e){switch(e.target.publishMode){case"publish-mix-stream-to-cdn":{await this._mixTranscodeManager.stopMixTranscode();break}case"publish-main-stream-to-cdn":case"publish-sub-stream-to-cdn":{await this._publishCDNManager.stopPublishTencentCDN(e.target.publishMode);break}case"publish-mix-stream-to-room":{this._pushStreamToRoomManager.stopPushStreamToRoom();break}}this._modeOptions.delete(e.target.publishMode)}async doStart(e){switch(this._log.info(`[CDNStreaming] doStart: ${JSON.stringify(e)}`),e.target.publishMode){case"publish-mix-stream-to-cdn":{await this._mixTranscodeManager.startMixTranscode(e);break}case"publish-main-stream-to-cdn":case"publish-sub-stream-to-cdn":{await this._publishCDNManager.startPublishTencentCDN(e.target);break}}}};g(B,"TYPE",{PublishMode:{PublishMainStreamToCDN:"publish-main-stream-to-cdn",PublishSubStreamToCDN:"publish-sub-stream-to-cdn",PublishMixStreamToCDN:"publish-mix-stream-to-cdn",PublishMixStreamToRoom:"publish-mix-stream-to-room"}}),g(B,"Name","CDNStreaming");var X=B;var Ae=X;return Ce(Ne);})().default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var ws=Object.create;var ct=Object.defineProperty,xs=Object.defineProperties,ys=Object.getOwnPropertyDescriptor,Ts=Object.getOwnPropertyDescriptors,Us=Object.getOwnPropertyNames,Mi=Object.getOwnPropertySymbols,Rs=Object.getPrototypeOf,wi=Object.prototype.hasOwnProperty,Ds=Object.prototype.propertyIsEnumerable;var qt=(t,e,i)=>e in t?ct(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,j=(t,e)=>{for(var i in e||(e={}))wi.call(e,i)&&qt(t,i,e[i]);if(Mi)for(var i of Mi(e))Ds.call(e,i)&&qt(t,i,e[i]);return t},H=(t,e)=>xs(t,Ts(e));var a=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var bs=(t,e,i,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let V of Us(e))!wi.call(t,V)&&V!==i&&ct(t,V,{get:()=>e[V],enumerable:!(r=ys(e,V))||r.enumerable});return t};var ks=(t,e,i)=>(i=t!=null?ws(Rs(t)):{},bs(e||!t||!t.__esModule?ct(i,"default",{value:t,enumerable:!0}):i,t));var h=(t,e,i)=>(qt(t,typeof e!="symbol"?e+"":e,i),i);var v=a((lt,xi)=>{"use strict";var se=function(t){return t&&t.Math===Math&&t};xi.exports=se(typeof globalThis=="object"&&globalThis)||se(typeof window=="object"&&window)||se(typeof self=="object"&&self)||se(typeof global=="object"&&global)||se(typeof lt=="object"&<)||function(){return this}()||Function("return this")()});var D=a((Aq,yi)=>{"use strict";yi.exports=function(t){try{return!!t()}catch(e){return!0}}});var N=a((nq,Ti)=>{"use strict";var Bs=D();Ti.exports=!Bs(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var pt=a((aq,Ui)=>{"use strict";var Ns=D();Ui.exports=!Ns(function(){var t=function(){}.bind();return typeof t!="function"||t.hasOwnProperty("prototype")})});var xe=a((qq,Ri)=>{"use strict";var Os=pt(),we=Function.prototype.call;Ri.exports=Os?we.bind(we):function(){return we.apply(we,arguments)}});var Bi=a(ki=>{"use strict";var Di={}.propertyIsEnumerable,bi=Object.getOwnPropertyDescriptor,Qs=bi&&!Di.call({1:2},1);ki.f=Qs?function(e){var i=bi(this,e);return!!i&&i.enumerable}:Di});var dt=a((lq,Ni)=>{"use strict";Ni.exports=function(t,e){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:e}}});var R=a((pq,Fi)=>{"use strict";var Oi=pt(),Qi=Function.prototype,ht=Qi.call,Fs=Oi&&Qi.bind.bind(ht,ht);Fi.exports=Oi?Fs:function(t){return function(){return ht.apply(t,arguments)}}});var Gi=a((dq,Ki)=>{"use strict";var Li=R(),Ls=Li({}.toString),Ks=Li("".slice);Ki.exports=function(t){return Ks(Ls(t),8,-1)}});var Pi=a((hq,Yi)=>{"use strict";var Gs=R(),Ys=D(),Ps=Gi(),ut=Object,Zs=Gs("".split);Yi.exports=Ys(function(){return!ut("z").propertyIsEnumerable(0)})?function(t){return Ps(t)==="String"?Zs(t,""):ut(t)}:ut});var gt=a((uq,Zi)=>{"use strict";Zi.exports=function(t){return t==null}});var mt=a((gq,Wi)=>{"use strict";var Ws=gt(),Js=TypeError;Wi.exports=function(t){if(Ws(t))throw new Js("Can't call method on "+t);return t}});var ye=a((mq,Ji)=>{"use strict";var zs=Pi(),js=mt();Ji.exports=function(t){return zs(js(t))}});var y=a((fq,zi)=>{"use strict";var ft=typeof document=="object"&&document.all;zi.exports=typeof ft=="undefined"&&ft!==void 0?function(t){return typeof t=="function"||t===ft}:function(t){return typeof t=="function"}});var X=a((Eq,ji)=>{"use strict";var Hs=y();ji.exports=function(t){return typeof t=="object"?t!==null:Hs(t)}});var St=a((Sq,Hi)=>{"use strict";var Et=v(),Xs=y(),_s=function(t){return Xs(t)?t:void 0};Hi.exports=function(t,e){return arguments.length<2?_s(Et[t]):Et[t]&&Et[t][e]}});var _i=a((Iq,Xi)=>{"use strict";var $s=R();Xi.exports=$s({}.isPrototypeOf)});var ir=a((Cq,tr)=>{"use strict";var eA=v(),$i=eA.navigator,er=$i&&$i.userAgent;tr.exports=er?String(er):""});var ar=a((vq,nr)=>{"use strict";var Ar=v(),It=ir(),rr=Ar.process,Vr=Ar.Deno,or=rr&&rr.versions||Vr&&Vr.version,sr=or&&or.v8,T,Te;sr&&(T=sr.split("."),Te=T[0]>0&&T[0]<4?1:+(T[0]+T[1]));!Te&&It&&(T=It.match(/Edge\/(\d+)/),(!T||T[1]>=74)&&(T=It.match(/Chrome\/(\d+)/),T&&(Te=+T[1])));nr.exports=Te});var Ct=a((Mq,cr)=>{"use strict";var qr=ar(),tA=D(),iA=v(),rA=iA.String;cr.exports=!!Object.getOwnPropertySymbols&&!tA(function(){var t=Symbol("symbol detection");return!rA(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&qr&&qr<41})});var vt=a((wq,lr)=>{"use strict";var VA=Ct();lr.exports=VA&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Mt=a((xq,pr)=>{"use strict";var oA=St(),sA=y(),AA=_i(),nA=vt(),aA=Object;pr.exports=nA?function(t){return typeof t=="symbol"}:function(t){var e=oA("Symbol");return sA(e)&&AA(e.prototype,aA(t))}});var hr=a((yq,dr)=>{"use strict";var qA=String;dr.exports=function(t){try{return qA(t)}catch(e){return"Object"}}});var gr=a((Tq,ur)=>{"use strict";var cA=y(),lA=hr(),pA=TypeError;ur.exports=function(t){if(cA(t))return t;throw new pA(lA(t)+" is not a function")}});var fr=a((Uq,mr)=>{"use strict";var dA=gr(),hA=gt();mr.exports=function(t,e){var i=t[e];return hA(i)?void 0:dA(i)}});var Sr=a((Rq,Er)=>{"use strict";var wt=xe(),xt=y(),yt=X(),uA=TypeError;Er.exports=function(t,e){var i,r;if(e==="string"&&xt(i=t.toString)&&!yt(r=wt(i,t))||xt(i=t.valueOf)&&!yt(r=wt(i,t))||e!=="string"&&xt(i=t.toString)&&!yt(r=wt(i,t)))return r;throw new uA("Can't convert object to primitive value")}});var Cr=a((Dq,Ir)=>{"use strict";Ir.exports=!1});var Ue=a((bq,Mr)=>{"use strict";var vr=v(),gA=Object.defineProperty;Mr.exports=function(t,e){try{gA(vr,t,{value:e,configurable:!0,writable:!0})}catch(i){vr[t]=e}return e}});var Re=a((kq,yr)=>{"use strict";var mA=Cr(),fA=v(),EA=Ue(),wr="__core-js_shared__",xr=yr.exports=fA[wr]||EA(wr,{});(xr.versions||(xr.versions=[])).push({version:"3.38.1",mode:mA?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Tt=a((Bq,Ur)=>{"use strict";var Tr=Re();Ur.exports=function(t,e){return Tr[t]||(Tr[t]=e||{})}});var Dr=a((Nq,Rr)=>{"use strict";var SA=mt(),IA=Object;Rr.exports=function(t){return IA(SA(t))}});var O=a((Oq,br)=>{"use strict";var CA=R(),vA=Dr(),MA=CA({}.hasOwnProperty);br.exports=Object.hasOwn||function(e,i){return MA(vA(e),i)}});var Ut=a((Qq,kr)=>{"use strict";var wA=R(),xA=0,yA=Math.random(),TA=wA(1 .toString);kr.exports=function(t){return"Symbol("+(t===void 0?"":t)+")_"+TA(++xA+yA,36)}});var Or=a((Fq,Nr)=>{"use strict";var UA=v(),RA=Tt(),Br=O(),DA=Ut(),bA=Ct(),kA=vt(),_=UA.Symbol,Rt=RA("wks"),BA=kA?_.for||_:_&&_.withoutSetter||DA;Nr.exports=function(t){return Br(Rt,t)||(Rt[t]=bA&&Br(_,t)?_[t]:BA("Symbol."+t)),Rt[t]}});var Kr=a((Lq,Lr)=>{"use strict";var NA=xe(),Qr=X(),Fr=Mt(),OA=fr(),QA=Sr(),FA=Or(),LA=TypeError,KA=FA("toPrimitive");Lr.exports=function(t,e){if(!Qr(t)||Fr(t))return t;var i=OA(t,KA),r;if(i){if(e===void 0&&(e="default"),r=NA(i,t,e),!Qr(r)||Fr(r))return r;throw new LA("Can't convert object to primitive value")}return e===void 0&&(e="number"),QA(t,e)}});var Dt=a((Kq,Gr)=>{"use strict";var GA=Kr(),YA=Mt();Gr.exports=function(t){var e=GA(t,"string");return YA(e)?e:e+""}});var Zr=a((Gq,Pr)=>{"use strict";var PA=v(),Yr=X(),bt=PA.document,ZA=Yr(bt)&&Yr(bt.createElement);Pr.exports=function(t){return ZA?bt.createElement(t):{}}});var kt=a((Yq,Wr)=>{"use strict";var WA=N(),JA=D(),zA=Zr();Wr.exports=!WA&&!JA(function(){return Object.defineProperty(zA("div"),"a",{get:function(){return 7}}).a!==7})});var Bt=a(zr=>{"use strict";var jA=N(),HA=xe(),XA=Bi(),_A=dt(),$A=ye(),en=Dt(),tn=O(),rn=kt(),Jr=Object.getOwnPropertyDescriptor;zr.f=jA?Jr:function(e,i){if(e=$A(e),i=en(i),rn)try{return Jr(e,i)}catch(r){}if(tn(e,i))return _A(!HA(XA.f,e,i),e[i])}});var Hr=a((Zq,jr)=>{"use strict";var Vn=N(),on=D();jr.exports=Vn&&on(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var Nt=a((Wq,Xr)=>{"use strict";var sn=X(),An=String,nn=TypeError;Xr.exports=function(t){if(sn(t))return t;throw new nn(An(t)+" is not an object")}});var be=a($r=>{"use strict";var an=N(),qn=kt(),cn=Hr(),De=Nt(),_r=Dt(),ln=TypeError,Ot=Object.defineProperty,pn=Object.getOwnPropertyDescriptor,Qt="enumerable",Ft="configurable",Lt="writable";$r.f=an?cn?function(e,i,r){if(De(e),i=_r(i),De(r),typeof e=="function"&&i==="prototype"&&"value"in r&&Lt in r&&!r[Lt]){var V=pn(e,i);V&&V[Lt]&&(e[i]=r.value,r={configurable:Ft in r?r[Ft]:V[Ft],enumerable:Qt in r?r[Qt]:V[Qt],writable:!1})}return Ot(e,i,r)}:Ot:function(e,i,r){if(De(e),i=_r(i),De(r),qn)try{return Ot(e,i,r)}catch(V){}if("get"in r||"set"in r)throw new ln("Accessors not supported");return"value"in r&&(e[i]=r.value),e}});var Kt=a((zq,eV)=>{"use strict";var dn=N(),hn=be(),un=dt();eV.exports=dn?function(t,e,i){return hn.f(t,e,un(1,i))}:function(t,e,i){return t[e]=i,t}});var rV=a((jq,iV)=>{"use strict";var Gt=N(),gn=O(),tV=Function.prototype,mn=Gt&&Object.getOwnPropertyDescriptor,Yt=gn(tV,"name"),fn=Yt&&function(){}.name==="something",En=Yt&&(!Gt||Gt&&mn(tV,"name").configurable);iV.exports={EXISTS:Yt,PROPER:fn,CONFIGURABLE:En}});var oV=a((Hq,VV)=>{"use strict";var Sn=R(),In=y(),Pt=Re(),Cn=Sn(Function.toString);In(Pt.inspectSource)||(Pt.inspectSource=function(t){return Cn(t)});VV.exports=Pt.inspectSource});var nV=a((Xq,AV)=>{"use strict";var vn=v(),Mn=y(),sV=vn.WeakMap;AV.exports=Mn(sV)&&/native code/.test(String(sV))});var cV=a((_q,qV)=>{"use strict";var wn=Tt(),xn=Ut(),aV=wn("keys");qV.exports=function(t){return aV[t]||(aV[t]=xn(t))}});var Zt=a(($q,lV)=>{"use strict";lV.exports={}});var uV=a((ec,hV)=>{"use strict";var yn=nV(),dV=v(),Tn=X(),Un=Kt(),Wt=O(),Jt=Re(),Rn=cV(),Dn=Zt(),pV="Object already initialized",zt=dV.TypeError,bn=dV.WeakMap,ke,Ae,Be,kn=function(t){return Be(t)?Ae(t):ke(t,{})},Bn=function(t){return function(e){var i;if(!Tn(e)||(i=Ae(e)).type!==t)throw new zt("Incompatible receiver, "+t+" required");return i}};yn||Jt.state?(U=Jt.state||(Jt.state=new bn),U.get=U.get,U.has=U.has,U.set=U.set,ke=function(t,e){if(U.has(t))throw new zt(pV);return e.facade=t,U.set(t,e),e},Ae=function(t){return U.get(t)||{}},Be=function(t){return U.has(t)}):(K=Rn("state"),Dn[K]=!0,ke=function(t,e){if(Wt(t,K))throw new zt(pV);return e.facade=t,Un(t,K,e),e},Ae=function(t){return Wt(t,K)?t[K]:{}},Be=function(t){return Wt(t,K)});var U,K;hV.exports={set:ke,get:Ae,has:Be,enforce:kn,getterFor:Bn}});var EV=a((tc,fV)=>{"use strict";var Ht=R(),Nn=D(),On=y(),Ne=O(),jt=N(),Qn=rV().CONFIGURABLE,Fn=oV(),mV=uV(),Ln=mV.enforce,Kn=mV.get,gV=String,Oe=Object.defineProperty,Gn=Ht("".slice),Yn=Ht("".replace),Pn=Ht([].join),Zn=jt&&!Nn(function(){return Oe(function(){},"length",{value:8}).length!==8}),Wn=String(String).split("String"),Jn=fV.exports=function(t,e,i){Gn(gV(e),0,7)==="Symbol("&&(e="["+Yn(gV(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),i&&i.getter&&(e="get "+e),i&&i.setter&&(e="set "+e),(!Ne(t,"name")||Qn&&t.name!==e)&&(jt?Oe(t,"name",{value:e,configurable:!0}):t.name=e),Zn&&i&&Ne(i,"arity")&&t.length!==i.arity&&Oe(t,"length",{value:i.arity});try{i&&Ne(i,"constructor")&&i.constructor?jt&&Oe(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(V){}var r=Ln(t);return Ne(r,"source")||(r.source=Pn(Wn,typeof e=="string"?e:"")),t};Function.prototype.toString=Jn(function(){return On(this)&&Kn(this).source||Fn(this)},"toString")});var IV=a((ic,SV)=>{"use strict";var zn=y(),jn=be(),Hn=EV(),Xn=Ue();SV.exports=function(t,e,i,r){r||(r={});var V=r.enumerable,o=r.name!==void 0?r.name:e;if(zn(i)&&Hn(i,o,r),r.global)V?t[e]=i:Xn(e,i);else{try{r.unsafe?t[e]&&(V=!0):delete t[e]}catch(s){}V?t[e]=i:jn.f(t,e,{value:i,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return t}});var vV=a((rc,CV)=>{"use strict";var _n=Math.ceil,$n=Math.floor;CV.exports=Math.trunc||function(e){var i=+e;return(i>0?$n:_n)(i)}});var Xt=a((Vc,MV)=>{"use strict";var ea=vV();MV.exports=function(t){var e=+t;return e!==e||e===0?0:ea(e)}});var xV=a((oc,wV)=>{"use strict";var ta=Xt(),ia=Math.max,ra=Math.min;wV.exports=function(t,e){var i=ta(t);return i<0?ia(i+e,0):ra(i,e)}});var TV=a((sc,yV)=>{"use strict";var Va=Xt(),oa=Math.min;yV.exports=function(t){var e=Va(t);return e>0?oa(e,9007199254740991):0}});var RV=a((Ac,UV)=>{"use strict";var sa=TV();UV.exports=function(t){return sa(t.length)}});var kV=a((nc,bV)=>{"use strict";var Aa=ye(),na=xV(),aa=RV(),DV=function(t){return function(e,i,r){var V=Aa(e),o=aa(V);if(o===0)return!t&&-1;var s=na(r,o),A;if(t&&i!==i){for(;o>s;)if(A=V[s++],A!==A)return!0}else for(;o>s;s++)if((t||s in V)&&V[s]===i)return t||s||0;return!t&&-1}};bV.exports={includes:DV(!0),indexOf:DV(!1)}});var OV=a((ac,NV)=>{"use strict";var qa=R(),_t=O(),ca=ye(),la=kV().indexOf,pa=Zt(),BV=qa([].push);NV.exports=function(t,e){var i=ca(t),r=0,V=[],o;for(o in i)!_t(pa,o)&&_t(i,o)&&BV(V,o);for(;e.length>r;)_t(i,o=e[r++])&&(~la(V,o)||BV(V,o));return V}});var FV=a((qc,QV)=>{"use strict";QV.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var KV=a(LV=>{"use strict";var da=OV(),ha=FV(),ua=ha.concat("length","prototype");LV.f=Object.getOwnPropertyNames||function(e){return da(e,ua)}});var YV=a(GV=>{"use strict";GV.f=Object.getOwnPropertySymbols});var ZV=a((pc,PV)=>{"use strict";var ga=St(),ma=R(),fa=KV(),Ea=YV(),Sa=Nt(),Ia=ma([].concat);PV.exports=ga("Reflect","ownKeys")||function(e){var i=fa.f(Sa(e)),r=Ea.f;return r?Ia(i,r(e)):i}});var zV=a((dc,JV)=>{"use strict";var WV=O(),Ca=ZV(),va=Bt(),Ma=be();JV.exports=function(t,e,i){for(var r=Ca(e),V=Ma.f,o=va.f,s=0;s<r.length;s++){var A=r[s];!WV(t,A)&&!(i&&WV(i,A))&&V(t,A,o(e,A))}}});var HV=a((hc,jV)=>{"use strict";var wa=D(),xa=y(),ya=/#|\.prototype\./,ne=function(t,e){var i=Ua[Ta(t)];return i===Da?!0:i===Ra?!1:xa(e)?wa(e):!!e},Ta=ne.normalize=function(t){return String(t).replace(ya,".").toLowerCase()},Ua=ne.data={},Ra=ne.NATIVE="N",Da=ne.POLYFILL="P";jV.exports=ne});var _V=a((uc,XV)=>{"use strict";var Qe=v(),ba=Bt().f,ka=Kt(),Ba=IV(),Na=Ue(),Oa=zV(),Qa=HV();XV.exports=function(t,e){var i=t.target,r=t.global,V=t.stat,o,s,A,n,d,l;if(r?s=Qe:V?s=Qe[i]||Na(i,{}):s=Qe[i]&&Qe[i].prototype,s)for(A in e){if(d=e[A],t.dontCallGetSet?(l=ba(s,A),n=l&&l.value):n=s[A],o=Qa(r?A:i+(V?".":"#")+A,t.forced),!o&&n!==void 0){if(typeof d==typeof n)continue;Oa(d,n)}(t.sham||n&&n.sham)&&ka(d,"sham",!0),Ba(s,A,d,t)}}});var $V=a(()=>{"use strict";var Fa=_V(),$t=v();Fa({global:!0,forced:$t.globalThis!==$t},{globalThis:$t})});var to=a((fc,eo)=>{"use strict";$V();eo.exports=v()});var cd=ks(to(),1);function io(t){return{name:"DeviceDetectorOptions",type:"object",required:!1,allowEmpty:!1,properties:{networkDetect:{required:!1,type:"object",properties:{sdkAppId:{required:!0,type:"number"},userId:{required:!0,type:"string"},userSig:{required:!0,type:"string"},downlinkUserId:{required:!1,type:"string"},downlinkUserSig:{required:!1,type:"string"},roomId:{required:!1,type:"number"}},async validate(e,i,r,V){let{RtcError:o,ErrorCode:s,ErrorCodeDictionary:A}=t.errorModule;if(!e)return;let{sdkAppId:n,userId:d,userSig:l,downlinkUserId:u,downlinkUserSig:g,roomId:p}=e;p=p||8080;let w=t.TRTC.create(),B=t.TRTC.create();await w.enterRoom({roomId:p,sdkAppId:n,userId:d,userSig:l}),await w.exitRoom(),w.destroy(),u&&g&&(await B.enterRoom({roomId:p,sdkAppId:n,userId:u,userSig:g}),await B.exitRoom(),B.destroy())}},cameraDetect:{required:!1,type:"object",properties:{mirror:{required:!1,type:"boolean"}}}}}}function ei(t){return{name:"StopDeviceDetectorOptions",required:!1}}var Fe=globalThis,Ke=Fe.ShadowRoot&&(Fe.ShadyCSS===void 0||Fe.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Vo=Symbol(),ro=new WeakMap,Le=class{constructor(e,i,r){if(this._$cssResult$=!0,r!==Vo)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=i}get styleSheet(){let e=this.o,i=this.t;if(Ke&&e===void 0){let r=i!==void 0&&i.length===1;r&&(e=ro.get(i)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&ro.set(i,e))}return e}toString(){return this.cssText}},oo=t=>new Le(typeof t=="string"?t:t+"",void 0,Vo);var ti=(t,e)=>{if(Ke)t.adoptedStyleSheets=e.map(i=>i instanceof CSSStyleSheet?i:i.styleSheet);else for(let i of e){let r=document.createElement("style"),V=Fe.litNonce;V!==void 0&&r.setAttribute("nonce",V),r.textContent=i.cssText,t.appendChild(r)}},Ge=Ke?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let i="";for(let r of e.cssRules)i+=r.cssText;return oo(i)})(t):t;var{is:La,defineProperty:Ka,getOwnPropertyDescriptor:Ga,getOwnPropertyNames:Ya,getOwnPropertySymbols:Pa,getPrototypeOf:Za}=Object,Q=globalThis,so=Q.trustedTypes,Wa=so?so.emptyScript:"",ii=Q.reactiveElementPolyfillSupport,ae=(t,e)=>t,ri={toAttribute(t,e){switch(e){case Boolean:t=t?Wa:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=t!==null;break;case Number:i=t===null?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(r){i=null}}return i}},co=(t,e)=>!La(t,e),Ao={attribute:!0,type:String,converter:ri,reflect:!1,hasChanged:co},no,ao;(no=Symbol.metadata)!=null||(Symbol.metadata=Symbol("metadata")),(ao=Q.litPropertyMetadata)!=null||(Q.litPropertyMetadata=new WeakMap);var b=class extends HTMLElement{static addInitializer(e){var i;this._$Ei(),((i=this.l)!=null?i:this.l=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,i=Ao){if(i.state&&(i.attribute=!1),this._$Ei(),this.elementProperties.set(e,i),!i.noAccessor){let r=Symbol(),V=this.getPropertyDescriptor(e,r,i);V!==void 0&&Ka(this.prototype,e,V)}}static getPropertyDescriptor(e,i,r){var s;let{get:V,set:o}=(s=Ga(this.prototype,e))!=null?s:{get(){return this[i]},set(A){this[i]=A}};return{get(){return V==null?void 0:V.call(this)},set(A){let n=V==null?void 0:V.call(this);o.call(this,A),this.requestUpdate(e,n,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){var i;return(i=this.elementProperties.get(e))!=null?i:Ao}static _$Ei(){if(this.hasOwnProperty(ae("elementProperties")))return;let e=Za(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(ae("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(ae("properties"))){let i=this.properties,r=[...Ya(i),...Pa(i)];for(let V of r)this.createProperty(V,i[V])}let e=this[Symbol.metadata];if(e!==null){let i=litPropertyMetadata.get(e);if(i!==void 0)for(let[r,V]of i)this.elementProperties.set(r,V)}this._$Eh=new Map;for(let[i,r]of this.elementProperties){let V=this._$Eu(i,r);V!==void 0&&this._$Eh.set(V,i)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let i=[];if(Array.isArray(e)){let r=new Set(e.flat(1/0).reverse());for(let V of r)i.unshift(Ge(V))}else e!==void 0&&i.push(Ge(e));return i}static _$Eu(e,i){let r=i.attribute;return r===!1?void 0:typeof r=="string"?r:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(i=>this.enableUpdating=i),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(i=>i(this))}addController(e){var i,r;((i=this._$EO)!=null?i:this._$EO=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&((r=e.hostConnected)==null||r.call(e))}removeController(e){var i;(i=this._$EO)==null||i.delete(e)}_$E_(){let e=new Map,i=this.constructor.elementProperties;for(let r of i.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){var i;let e=(i=this.shadowRoot)!=null?i:this.attachShadow(this.constructor.shadowRootOptions);return ti(e,this.constructor.elementStyles),e}connectedCallback(){var e,i;(e=this.renderRoot)!=null||(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(i=this._$EO)==null||i.forEach(r=>{var V;return(V=r.hostConnected)==null?void 0:V.call(r)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$EO)==null||e.forEach(i=>{var r;return(r=i.hostDisconnected)==null?void 0:r.call(i)})}attributeChangedCallback(e,i,r){this._$AK(e,r)}_$EC(e,i){var o;let r=this.constructor.elementProperties.get(e),V=this.constructor._$Eu(e,r);if(V!==void 0&&r.reflect===!0){let s=(((o=r.converter)==null?void 0:o.toAttribute)!==void 0?r.converter:ri).toAttribute(i,r.type);this._$Em=e,s==null?this.removeAttribute(V):this.setAttribute(V,s),this._$Em=null}}_$AK(e,i){var o;let r=this.constructor,V=r._$Eh.get(e);if(V!==void 0&&this._$Em!==V){let s=r.getPropertyOptions(V),A=typeof s.converter=="function"?{fromAttribute:s.converter}:((o=s.converter)==null?void 0:o.fromAttribute)!==void 0?s.converter:ri;this._$Em=V,this[V]=A.fromAttribute(i,s.type),this._$Em=null}}requestUpdate(e,i,r){var V;if(e!==void 0){if(r!=null||(r=this.constructor.getPropertyOptions(e)),!((V=r.hasChanged)!=null?V:co)(this[e],i))return;this.P(e,i,r)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(e,i,r){var V;this._$AL.has(e)||this._$AL.set(e,i),r.reflect===!0&&this._$Em!==e&&((V=this._$Ej)!=null?V:this._$Ej=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(i){Promise.reject(i)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r,V;if(!this.isUpdatePending)return;if(!this.hasUpdated){if((r=this.renderRoot)!=null||(this.renderRoot=this.createRenderRoot()),this._$Ep){for(let[s,A]of this._$Ep)this[s]=A;this._$Ep=void 0}let o=this.constructor.elementProperties;if(o.size>0)for(let[s,A]of o)A.wrapped!==!0||this._$AL.has(s)||this[s]===void 0||this.P(s,this[s],A)}let e=!1,i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),(V=this._$EO)==null||V.forEach(o=>{var s;return(s=o.hostUpdate)==null?void 0:s.call(o)}),this.update(i)):this._$EU()}catch(o){throw e=!1,this._$EU(),o}e&&this._$AE(i)}willUpdate(e){}_$AE(e){var i;(i=this._$EO)==null||i.forEach(r=>{var V;return(V=r.hostUpdated)==null?void 0:V.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&(this._$Ej=this._$Ej.forEach(i=>this._$EC(i,this[i]))),this._$EU()}updated(e){}firstUpdated(e){}},qo;b.elementStyles=[],b.shadowRootOptions={mode:"open"},b[ae("elementProperties")]=new Map,b[ae("finalized")]=new Map,ii==null||ii({ReactiveElement:b}),((qo=Q.reactiveElementVersions)!=null?qo:Q.reactiveElementVersions=[]).push("2.0.4");var ce=globalThis,Ye=ce.trustedTypes,lo=Ye?Ye.createPolicy("lit-html",{createHTML:t=>t}):void 0,Eo="$lit$",F=`lit$${Math.random().toFixed(9).slice(2)}$`,So="?"+F,Ja=`<${So}>`,P=document,le=()=>P.createComment(""),pe=t=>t===null||typeof t!="object"&&typeof t!="function",ci=Array.isArray,za=t=>ci(t)||typeof(t==null?void 0:t[Symbol.iterator])=="function",Vi=`[
|
|
2
2
|
\f\r]`,qe=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,po=/-->/g,ho=/>/g,G=RegExp(`>|${Vi}(?:([^\\s"'>=/]+)(${Vi}*=${Vi}*(?:[^
|
|
3
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),uo=/'/g,go=/"/g,Io=/^(?:script|style|textarea|title)$/i,li=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),c=li(1),Uc=li(2),Rc=li(3),Z=Symbol.for("lit-noChange"),S=Symbol.for("lit-nothing"),mo=new WeakMap,Y=P.createTreeWalker(P,129);function Co(t,e){if(!ci(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return lo!==void 0?lo.createHTML(e):e}var ja=(t,e)=>{let i=t.length-1,r=[],V,o=e===2?"<svg>":e===3?"<math>":"",s=qe;for(let A=0;A<i;A++){let n=t[A],d,l,u=-1,g=0;for(;g<n.length&&(s.lastIndex=g,l=s.exec(n),l!==null);)g=s.lastIndex,s===qe?l[1]==="!--"?s=po:l[1]!==void 0?s=ho:l[2]!==void 0?(Io.test(l[2])&&(V=RegExp("</"+l[2],"g")),s=G):l[3]!==void 0&&(s=G):s===G?l[0]===">"?(s=V!=null?V:qe,u=-1):l[1]===void 0?u=-2:(u=s.lastIndex-l[2].length,d=l[1],s=l[3]===void 0?G:l[3]==='"'?go:uo):s===go||s===uo?s=G:s===po||s===ho?s=qe:(s=G,V=void 0);let p=s===G&&t[A+1].startsWith("/>")?" ":"";o+=s===qe?n+Ja:u>=0?(r.push(d),n.slice(0,u)+Eo+n.slice(u)+F+p):n+F+(u===-2?A:p)}return[Co(t,o+(t[i]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),r]},de=class t{constructor({strings:e,_$litType$:i},r){let V;this.parts=[];let o=0,s=0,A=e.length-1,n=this.parts,[d,l]=ja(e,i);if(this.el=t.createElement(d,r),Y.currentNode=this.el.content,i===2||i===3){let u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(V=Y.nextNode())!==null&&n.length<A;){if(V.nodeType===1){if(V.hasAttributes())for(let u of V.getAttributeNames())if(u.endsWith(Eo)){let g=l[s++],p=V.getAttribute(u).split(F),w=/([.?@])?(.*)/.exec(g);n.push({type:1,index:o,name:w[2],strings:p,ctor:w[1]==="."?Ai:w[1]==="?"?ni:w[1]==="@"?ai:ee}),V.removeAttribute(u)}else u.startsWith(F)&&(n.push({type:6,index:o}),V.removeAttribute(u));if(Io.test(V.tagName)){let u=V.textContent.split(F),g=u.length-1;if(g>0){V.textContent=Ye?Ye.emptyScript:"";for(let p=0;p<g;p++)V.append(u[p],le()),Y.nextNode(),n.push({type:2,index:++o});V.append(u[g],le())}}}else if(V.nodeType===8)if(V.data===So)n.push({type:2,index:o});else{let u=-1;for(;(u=V.data.indexOf(F,u+1))!==-1;)n.push({type:7,index:o}),u+=F.length-1}o++}}static createElement(e,i){let r=P.createElement("template");return r.innerHTML=e,r}};function $(t,e,i=t,r){var s,A,n;if(e===Z)return e;let V=r!==void 0?(s=i.
|
|
3
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),uo=/'/g,go=/"/g,Io=/^(?:script|style|textarea|title)$/i,li=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),c=li(1),Uc=li(2),Rc=li(3),Z=Symbol.for("lit-noChange"),S=Symbol.for("lit-nothing"),mo=new WeakMap,Y=P.createTreeWalker(P,129);function Co(t,e){if(!ci(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return lo!==void 0?lo.createHTML(e):e}var ja=(t,e)=>{let i=t.length-1,r=[],V,o=e===2?"<svg>":e===3?"<math>":"",s=qe;for(let A=0;A<i;A++){let n=t[A],d,l,u=-1,g=0;for(;g<n.length&&(s.lastIndex=g,l=s.exec(n),l!==null);)g=s.lastIndex,s===qe?l[1]==="!--"?s=po:l[1]!==void 0?s=ho:l[2]!==void 0?(Io.test(l[2])&&(V=RegExp("</"+l[2],"g")),s=G):l[3]!==void 0&&(s=G):s===G?l[0]===">"?(s=V!=null?V:qe,u=-1):l[1]===void 0?u=-2:(u=s.lastIndex-l[2].length,d=l[1],s=l[3]===void 0?G:l[3]==='"'?go:uo):s===go||s===uo?s=G:s===po||s===ho?s=qe:(s=G,V=void 0);let p=s===G&&t[A+1].startsWith("/>")?" ":"";o+=s===qe?n+Ja:u>=0?(r.push(d),n.slice(0,u)+Eo+n.slice(u)+F+p):n+F+(u===-2?A:p)}return[Co(t,o+(t[i]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),r]},de=class t{constructor({strings:e,_$litType$:i},r){let V;this.parts=[];let o=0,s=0,A=e.length-1,n=this.parts,[d,l]=ja(e,i);if(this.el=t.createElement(d,r),Y.currentNode=this.el.content,i===2||i===3){let u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(V=Y.nextNode())!==null&&n.length<A;){if(V.nodeType===1){if(V.hasAttributes())for(let u of V.getAttributeNames())if(u.endsWith(Eo)){let g=l[s++],p=V.getAttribute(u).split(F),w=/([.?@])?(.*)/.exec(g);n.push({type:1,index:o,name:w[2],strings:p,ctor:w[1]==="."?Ai:w[1]==="?"?ni:w[1]==="@"?ai:ee}),V.removeAttribute(u)}else u.startsWith(F)&&(n.push({type:6,index:o}),V.removeAttribute(u));if(Io.test(V.tagName)){let u=V.textContent.split(F),g=u.length-1;if(g>0){V.textContent=Ye?Ye.emptyScript:"";for(let p=0;p<g;p++)V.append(u[p],le()),Y.nextNode(),n.push({type:2,index:++o});V.append(u[g],le())}}}else if(V.nodeType===8)if(V.data===So)n.push({type:2,index:o});else{let u=-1;for(;(u=V.data.indexOf(F,u+1))!==-1;)n.push({type:7,index:o}),u+=F.length-1}o++}}static createElement(e,i){let r=P.createElement("template");return r.innerHTML=e,r}};function $(t,e,i=t,r){var s,A,n;if(e===Z)return e;let V=r!==void 0?(s=i._$Co)==null?void 0:s[r]:i._$Cl,o=pe(e)?void 0:e._$litDirective$;return(V==null?void 0:V.constructor)!==o&&((A=V==null?void 0:V._$AO)==null||A.call(V,!1),o===void 0?V=void 0:(V=new o(t),V._$AT(t,i,r)),r!==void 0?((n=i._$Co)!=null?n:i._$Co=[])[r]=V:i._$Cl=V),V!==void 0&&(e=$(t,V._$AS(t,e.values),V,r)),e}var si=class{constructor(e,i){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){var d;let{el:{content:i},parts:r}=this._$AD,V=((d=e==null?void 0:e.creationScope)!=null?d:P).importNode(i,!0);Y.currentNode=V;let o=Y.nextNode(),s=0,A=0,n=r[0];for(;n!==void 0;){if(s===n.index){let l;n.type===2?l=new he(o,o.nextSibling,this,e):n.type===1?l=new n.ctor(o,n.name,n.strings,this,e):n.type===6&&(l=new qi(o,this,e)),this._$AV.push(l),n=r[++A]}s!==(n==null?void 0:n.index)&&(o=Y.nextNode(),s++)}return Y.currentNode=P,V}p(e){let i=0;for(let r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(e,r,i),i+=r.strings.length-2):r._$AI(e[i])),i++}},he=class t{get _$AU(){var e,i;return(i=(e=this._$AM)==null?void 0:e._$AU)!=null?i:this._$Cv}constructor(e,i,r,V){var o;this.type=2,this._$AH=S,this._$AN=void 0,this._$AA=e,this._$AB=i,this._$AM=r,this.options=V,this._$Cv=(o=V==null?void 0:V.isConnected)!=null?o:!0}get parentNode(){let e=this._$AA.parentNode,i=this._$AM;return i!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=i.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,i=this){e=$(this,e,i),pe(e)?e===S||e==null||e===""?(this._$AH!==S&&this._$AR(),this._$AH=S):e!==this._$AH&&e!==Z&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):za(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==S&&pe(this._$AH)?this._$AA.nextSibling.data=e:this.T(P.createTextNode(e)),this._$AH=e}$(e){var o;let{values:i,_$litType$:r}=e,V=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=de.createElement(Co(r.h,r.h[0]),this.options)),r);if(((o=this._$AH)==null?void 0:o._$AD)===V)this._$AH.p(i);else{let s=new si(V,this),A=s.u(this.options);s.p(i),this.T(A),this._$AH=s}}_$AC(e){let i=mo.get(e.strings);return i===void 0&&mo.set(e.strings,i=new de(e)),i}k(e){ci(this._$AH)||(this._$AH=[],this._$AR());let i=this._$AH,r,V=0;for(let o of e)V===i.length?i.push(r=new t(this.O(le()),this.O(le()),this,this.options)):r=i[V],r._$AI(o),V++;V<i.length&&(this._$AR(r&&r._$AB.nextSibling,V),i.length=V)}_$AR(e=this._$AA.nextSibling,i){var r;for((r=this._$AP)==null?void 0:r.call(this,!1,!0,i);e&&e!==this._$AB;){let V=e.nextSibling;e.remove(),e=V}}setConnected(e){var i;this._$AM===void 0&&(this._$Cv=e,(i=this._$AP)==null||i.call(this,e))}},ee=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,i,r,V,o){this.type=1,this._$AH=S,this._$AN=void 0,this.element=e,this.name=i,this._$AM=V,this.options=o,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=S}_$AI(e,i=this,r,V){let o=this.strings,s=!1;if(o===void 0)e=$(this,e,i,0),s=!pe(e)||e!==this._$AH&&e!==Z,s&&(this._$AH=e);else{let A=e,n,d;for(e=o[0],n=0;n<o.length-1;n++)d=$(this,A[r+n],i,n),d===Z&&(d=this._$AH[n]),s||(s=!pe(d)||d!==this._$AH[n]),d===S?e=S:e!==S&&(e+=(d!=null?d:"")+o[n+1]),this._$AH[n]=d}s&&!V&&this.j(e)}j(e){e===S?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e!=null?e:"")}},Ai=class extends ee{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===S?void 0:e}},ni=class extends ee{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==S)}},ai=class extends ee{constructor(e,i,r,V,o){super(e,i,r,V,o),this.type=5}_$AI(e,i=this){var s;if((e=(s=$(this,e,i,0))!=null?s:S)===Z)return;let r=this._$AH,V=e===S&&r!==S||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,o=e!==S&&(r===S||V);V&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var i,r;typeof this._$AH=="function"?this._$AH.call((r=(i=this.options)==null?void 0:i.host)!=null?r:this.element,e):this._$AH.handleEvent(e)}},qi=class{constructor(e,i,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=i,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){$(this,e)}};var oi=ce.litHtmlPolyfillSupport,fo;oi==null||oi(de,he),((fo=ce.litHtmlVersions)!=null?fo:ce.litHtmlVersions=[]).push("3.2.1");var vo=(t,e,i)=>{var o,s;let r=(o=i==null?void 0:i.renderBefore)!=null?o:e,V=r._$litPart$;if(V===void 0){let A=(s=i==null?void 0:i.renderBefore)!=null?s:null;r._$litPart$=V=new he(e.insertBefore(le(),A),A,void 0,i!=null?i:{})}return V._$AI(t),V};var f=class extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var i,r;let e=super.createRenderRoot();return(r=(i=this.renderOptions).renderBefore)!=null||(i.renderBefore=e.firstChild),e}update(e){let i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=vo(i,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)==null||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)==null||e.setConnected(!1)}render(){return Z}},Mo;f._$litElement$=!0,f.finalized=!0,(Mo=globalThis.litElementHydrateSupport)==null||Mo.call(globalThis,{LitElement:f});var pi=globalThis.litElementPolyfillSupport;pi==null||pi({LitElement:f});var wo;((wo=globalThis.litElementVersions)!=null?wo:globalThis.litElementVersions=[]).push("4.1.1");var ue=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(this.createTemplate()),this.buttonEle=this.shadowRoot.querySelector("button")}createTemplate(){let e=document.createElement("template");return e.innerHTML=`
|
|
4
4
|
<style>
|
|
5
5
|
.button {
|
|
6
6
|
padding: 6px 16px;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";var DeviceDetector=(()=>{var xs=Object.create;var se=Object.defineProperty,ys=Object.defineProperties,Ts=Object.getOwnPropertyDescriptor,Us=Object.getOwnPropertyDescriptors,Rs=Object.getOwnPropertyNames,Mi=Object.getOwnPropertySymbols,Ds=Object.getPrototypeOf,wi=Object.prototype.hasOwnProperty,bs=Object.prototype.propertyIsEnumerable;var lt=(t,e,i)=>e in t?se(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,j=(t,e)=>{for(var i in e||(e={}))wi.call(e,i)&<(t,i,e[i]);if(Mi)for(var i of Mi(e))bs.call(e,i)&<(t,i,e[i]);return t},H=(t,e)=>ys(t,Us(e));var a=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ks=(t,e)=>{for(var i in e)se(t,i,{get:e[i],enumerable:!0})},xi=(t,e,i,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let V of Rs(e))!wi.call(t,V)&&V!==i&&se(t,V,{get:()=>e[V],enumerable:!(r=Ts(e,V))||r.enumerable});return t};var Bs=(t,e,i)=>(i=t!=null?xs(Ds(t)):{},xi(e||!t||!t.__esModule?se(i,"default",{value:t,enumerable:!0}):i,t)),Ns=t=>xi(se({},"__esModule",{value:!0}),t);var h=(t,e,i)=>(lt(t,typeof e!="symbol"?e+"":e,i),i);var v=a((pt,yi)=>{"use strict";var Ae=function(t){return t&&t.Math===Math&&t};yi.exports=Ae(typeof globalThis=="object"&&globalThis)||Ae(typeof window=="object"&&window)||Ae(typeof self=="object"&&self)||Ae(typeof global=="object"&&global)||Ae(typeof pt=="object"&&pt)||function(){return this}()||Function("return this")()});var D=a((cq,Ti)=>{"use strict";Ti.exports=function(t){try{return!!t()}catch(e){return!0}}});var N=a((lq,Ui)=>{"use strict";var Os=D();Ui.exports=!Os(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var dt=a((pq,Ri)=>{"use strict";var Qs=D();Ri.exports=!Qs(function(){var t=function(){}.bind();return typeof t!="function"||t.hasOwnProperty("prototype")})});var ye=a((dq,Di)=>{"use strict";var Fs=dt(),xe=Function.prototype.call;Di.exports=Fs?xe.bind(xe):function(){return xe.apply(xe,arguments)}});var Ni=a(Bi=>{"use strict";var bi={}.propertyIsEnumerable,ki=Object.getOwnPropertyDescriptor,Ls=ki&&!bi.call({1:2},1);Bi.f=Ls?function(e){var i=ki(this,e);return!!i&&i.enumerable}:bi});var ht=a((uq,Oi)=>{"use strict";Oi.exports=function(t,e){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:e}}});var R=a((gq,Li)=>{"use strict";var Qi=dt(),Fi=Function.prototype,ut=Fi.call,Ks=Qi&&Fi.bind.bind(ut,ut);Li.exports=Qi?Ks:function(t){return function(){return ut.apply(t,arguments)}}});var Yi=a((mq,Gi)=>{"use strict";var Ki=R(),Gs=Ki({}.toString),Ys=Ki("".slice);Gi.exports=function(t){return Ys(Gs(t),8,-1)}});var Zi=a((fq,Pi)=>{"use strict";var Ps=R(),Zs=D(),Ws=Yi(),gt=Object,Js=Ps("".split);Pi.exports=Zs(function(){return!gt("z").propertyIsEnumerable(0)})?function(t){return Ws(t)==="String"?Js(t,""):gt(t)}:gt});var mt=a((Eq,Wi)=>{"use strict";Wi.exports=function(t){return t==null}});var ft=a((Sq,Ji)=>{"use strict";var zs=mt(),js=TypeError;Ji.exports=function(t){if(zs(t))throw new js("Can't call method on "+t);return t}});var Te=a((Iq,zi)=>{"use strict";var Hs=Zi(),Xs=ft();zi.exports=function(t){return Hs(Xs(t))}});var y=a((Cq,ji)=>{"use strict";var Et=typeof document=="object"&&document.all;ji.exports=typeof Et=="undefined"&&Et!==void 0?function(t){return typeof t=="function"||t===Et}:function(t){return typeof t=="function"}});var X=a((vq,Hi)=>{"use strict";var _s=y();Hi.exports=function(t){return typeof t=="object"?t!==null:_s(t)}});var It=a((Mq,Xi)=>{"use strict";var St=v(),$s=y(),eA=function(t){return $s(t)?t:void 0};Xi.exports=function(t,e){return arguments.length<2?eA(St[t]):St[t]&&St[t][e]}});var $i=a((wq,_i)=>{"use strict";var tA=R();_i.exports=tA({}.isPrototypeOf)});var rr=a((xq,ir)=>{"use strict";var iA=v(),er=iA.navigator,tr=er&&er.userAgent;ir.exports=tr?String(tr):""});var qr=a((yq,ar)=>{"use strict";var nr=v(),Ct=rr(),Vr=nr.process,or=nr.Deno,sr=Vr&&Vr.versions||or&&or.version,Ar=sr&&sr.v8,T,Ue;Ar&&(T=Ar.split("."),Ue=T[0]>0&&T[0]<4?1:+(T[0]+T[1]));!Ue&&Ct&&(T=Ct.match(/Edge\/(\d+)/),(!T||T[1]>=74)&&(T=Ct.match(/Chrome\/(\d+)/),T&&(Ue=+T[1])));ar.exports=Ue});var vt=a((Tq,lr)=>{"use strict";var cr=qr(),rA=D(),VA=v(),oA=VA.String;lr.exports=!!Object.getOwnPropertySymbols&&!rA(function(){var t=Symbol("symbol detection");return!oA(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&cr&&cr<41})});var Mt=a((Uq,pr)=>{"use strict";var sA=vt();pr.exports=sA&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var wt=a((Rq,dr)=>{"use strict";var AA=It(),nA=y(),aA=$i(),qA=Mt(),cA=Object;dr.exports=qA?function(t){return typeof t=="symbol"}:function(t){var e=AA("Symbol");return nA(e)&&aA(e.prototype,cA(t))}});var ur=a((Dq,hr)=>{"use strict";var lA=String;hr.exports=function(t){try{return lA(t)}catch(e){return"Object"}}});var mr=a((bq,gr)=>{"use strict";var pA=y(),dA=ur(),hA=TypeError;gr.exports=function(t){if(pA(t))return t;throw new hA(dA(t)+" is not a function")}});var Er=a((kq,fr)=>{"use strict";var uA=mr(),gA=mt();fr.exports=function(t,e){var i=t[e];return gA(i)?void 0:uA(i)}});var Ir=a((Bq,Sr)=>{"use strict";var xt=ye(),yt=y(),Tt=X(),mA=TypeError;Sr.exports=function(t,e){var i,r;if(e==="string"&&yt(i=t.toString)&&!Tt(r=xt(i,t))||yt(i=t.valueOf)&&!Tt(r=xt(i,t))||e!=="string"&&yt(i=t.toString)&&!Tt(r=xt(i,t)))return r;throw new mA("Can't convert object to primitive value")}});var vr=a((Nq,Cr)=>{"use strict";Cr.exports=!1});var Re=a((Oq,wr)=>{"use strict";var Mr=v(),fA=Object.defineProperty;wr.exports=function(t,e){try{fA(Mr,t,{value:e,configurable:!0,writable:!0})}catch(i){Mr[t]=e}return e}});var De=a((Qq,Tr)=>{"use strict";var EA=vr(),SA=v(),IA=Re(),xr="__core-js_shared__",yr=Tr.exports=SA[xr]||IA(xr,{});(yr.versions||(yr.versions=[])).push({version:"3.38.1",mode:EA?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Ut=a((Fq,Rr)=>{"use strict";var Ur=De();Rr.exports=function(t,e){return Ur[t]||(Ur[t]=e||{})}});var br=a((Lq,Dr)=>{"use strict";var CA=ft(),vA=Object;Dr.exports=function(t){return vA(CA(t))}});var O=a((Kq,kr)=>{"use strict";var MA=R(),wA=br(),xA=MA({}.hasOwnProperty);kr.exports=Object.hasOwn||function(e,i){return xA(wA(e),i)}});var Rt=a((Gq,Br)=>{"use strict";var yA=R(),TA=0,UA=Math.random(),RA=yA(1 .toString);Br.exports=function(t){return"Symbol("+(t===void 0?"":t)+")_"+RA(++TA+UA,36)}});var Qr=a((Yq,Or)=>{"use strict";var DA=v(),bA=Ut(),Nr=O(),kA=Rt(),BA=vt(),NA=Mt(),_=DA.Symbol,Dt=bA("wks"),OA=NA?_.for||_:_&&_.withoutSetter||kA;Or.exports=function(t){return Nr(Dt,t)||(Dt[t]=BA&&Nr(_,t)?_[t]:OA("Symbol."+t)),Dt[t]}});var Gr=a((Pq,Kr)=>{"use strict";var QA=ye(),Fr=X(),Lr=wt(),FA=Er(),LA=Ir(),KA=Qr(),GA=TypeError,YA=KA("toPrimitive");Kr.exports=function(t,e){if(!Fr(t)||Lr(t))return t;var i=FA(t,YA),r;if(i){if(e===void 0&&(e="default"),r=QA(i,t,e),!Fr(r)||Lr(r))return r;throw new GA("Can't convert object to primitive value")}return e===void 0&&(e="number"),LA(t,e)}});var bt=a((Zq,Yr)=>{"use strict";var PA=Gr(),ZA=wt();Yr.exports=function(t){var e=PA(t,"string");return ZA(e)?e:e+""}});var Wr=a((Wq,Zr)=>{"use strict";var WA=v(),Pr=X(),kt=WA.document,JA=Pr(kt)&&Pr(kt.createElement);Zr.exports=function(t){return JA?kt.createElement(t):{}}});var Bt=a((Jq,Jr)=>{"use strict";var zA=N(),jA=D(),HA=Wr();Jr.exports=!zA&&!jA(function(){return Object.defineProperty(HA("div"),"a",{get:function(){return 7}}).a!==7})});var Nt=a(jr=>{"use strict";var XA=N(),_A=ye(),$A=Ni(),en=ht(),tn=Te(),rn=bt(),Vn=O(),on=Bt(),zr=Object.getOwnPropertyDescriptor;jr.f=XA?zr:function(e,i){if(e=tn(e),i=rn(i),on)try{return zr(e,i)}catch(r){}if(Vn(e,i))return en(!_A($A.f,e,i),e[i])}});var Xr=a((jq,Hr)=>{"use strict";var sn=N(),An=D();Hr.exports=sn&&An(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var Ot=a((Hq,_r)=>{"use strict";var nn=X(),an=String,qn=TypeError;_r.exports=function(t){if(nn(t))return t;throw new qn(an(t)+" is not an object")}});var ke=a(eV=>{"use strict";var cn=N(),ln=Bt(),pn=Xr(),be=Ot(),$r=bt(),dn=TypeError,Qt=Object.defineProperty,hn=Object.getOwnPropertyDescriptor,Ft="enumerable",Lt="configurable",Kt="writable";eV.f=cn?pn?function(e,i,r){if(be(e),i=$r(i),be(r),typeof e=="function"&&i==="prototype"&&"value"in r&&Kt in r&&!r[Kt]){var V=hn(e,i);V&&V[Kt]&&(e[i]=r.value,r={configurable:Lt in r?r[Lt]:V[Lt],enumerable:Ft in r?r[Ft]:V[Ft],writable:!1})}return Qt(e,i,r)}:Qt:function(e,i,r){if(be(e),i=$r(i),be(r),ln)try{return Qt(e,i,r)}catch(V){}if("get"in r||"set"in r)throw new dn("Accessors not supported");return"value"in r&&(e[i]=r.value),e}});var Gt=a((_q,tV)=>{"use strict";var un=N(),gn=ke(),mn=ht();tV.exports=un?function(t,e,i){return gn.f(t,e,mn(1,i))}:function(t,e,i){return t[e]=i,t}});var VV=a(($q,rV)=>{"use strict";var Yt=N(),fn=O(),iV=Function.prototype,En=Yt&&Object.getOwnPropertyDescriptor,Pt=fn(iV,"name"),Sn=Pt&&function(){}.name==="something",In=Pt&&(!Yt||Yt&&En(iV,"name").configurable);rV.exports={EXISTS:Pt,PROPER:Sn,CONFIGURABLE:In}});var sV=a((ec,oV)=>{"use strict";var Cn=R(),vn=y(),Zt=De(),Mn=Cn(Function.toString);vn(Zt.inspectSource)||(Zt.inspectSource=function(t){return Mn(t)});oV.exports=Zt.inspectSource});var aV=a((tc,nV)=>{"use strict";var wn=v(),xn=y(),AV=wn.WeakMap;nV.exports=xn(AV)&&/native code/.test(String(AV))});var lV=a((ic,cV)=>{"use strict";var yn=Ut(),Tn=Rt(),qV=yn("keys");cV.exports=function(t){return qV[t]||(qV[t]=Tn(t))}});var Wt=a((rc,pV)=>{"use strict";pV.exports={}});var gV=a((Vc,uV)=>{"use strict";var Un=aV(),hV=v(),Rn=X(),Dn=Gt(),Jt=O(),zt=De(),bn=lV(),kn=Wt(),dV="Object already initialized",jt=hV.TypeError,Bn=hV.WeakMap,Be,ne,Ne,Nn=function(t){return Ne(t)?ne(t):Be(t,{})},On=function(t){return function(e){var i;if(!Rn(e)||(i=ne(e)).type!==t)throw new jt("Incompatible receiver, "+t+" required");return i}};Un||zt.state?(U=zt.state||(zt.state=new Bn),U.get=U.get,U.has=U.has,U.set=U.set,Be=function(t,e){if(U.has(t))throw new jt(dV);return e.facade=t,U.set(t,e),e},ne=function(t){return U.get(t)||{}},Ne=function(t){return U.has(t)}):(K=bn("state"),kn[K]=!0,Be=function(t,e){if(Jt(t,K))throw new jt(dV);return e.facade=t,Dn(t,K,e),e},ne=function(t){return Jt(t,K)?t[K]:{}},Ne=function(t){return Jt(t,K)});var U,K;uV.exports={set:Be,get:ne,has:Ne,enforce:Nn,getterFor:On}});var SV=a((oc,EV)=>{"use strict";var Xt=R(),Qn=D(),Fn=y(),Oe=O(),Ht=N(),Ln=VV().CONFIGURABLE,Kn=sV(),fV=gV(),Gn=fV.enforce,Yn=fV.get,mV=String,Qe=Object.defineProperty,Pn=Xt("".slice),Zn=Xt("".replace),Wn=Xt([].join),Jn=Ht&&!Qn(function(){return Qe(function(){},"length",{value:8}).length!==8}),zn=String(String).split("String"),jn=EV.exports=function(t,e,i){Pn(mV(e),0,7)==="Symbol("&&(e="["+Zn(mV(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),i&&i.getter&&(e="get "+e),i&&i.setter&&(e="set "+e),(!Oe(t,"name")||Ln&&t.name!==e)&&(Ht?Qe(t,"name",{value:e,configurable:!0}):t.name=e),Jn&&i&&Oe(i,"arity")&&t.length!==i.arity&&Qe(t,"length",{value:i.arity});try{i&&Oe(i,"constructor")&&i.constructor?Ht&&Qe(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(V){}var r=Gn(t);return Oe(r,"source")||(r.source=Wn(zn,typeof e=="string"?e:"")),t};Function.prototype.toString=jn(function(){return Fn(this)&&Yn(this).source||Kn(this)},"toString")});var CV=a((sc,IV)=>{"use strict";var Hn=y(),Xn=ke(),_n=SV(),$n=Re();IV.exports=function(t,e,i,r){r||(r={});var V=r.enumerable,o=r.name!==void 0?r.name:e;if(Hn(i)&&_n(i,o,r),r.global)V?t[e]=i:$n(e,i);else{try{r.unsafe?t[e]&&(V=!0):delete t[e]}catch(s){}V?t[e]=i:Xn.f(t,e,{value:i,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return t}});var MV=a((Ac,vV)=>{"use strict";var ea=Math.ceil,ta=Math.floor;vV.exports=Math.trunc||function(e){var i=+e;return(i>0?ta:ea)(i)}});var _t=a((nc,wV)=>{"use strict";var ia=MV();wV.exports=function(t){var e=+t;return e!==e||e===0?0:ia(e)}});var yV=a((ac,xV)=>{"use strict";var ra=_t(),Va=Math.max,oa=Math.min;xV.exports=function(t,e){var i=ra(t);return i<0?Va(i+e,0):oa(i,e)}});var UV=a((qc,TV)=>{"use strict";var sa=_t(),Aa=Math.min;TV.exports=function(t){var e=sa(t);return e>0?Aa(e,9007199254740991):0}});var DV=a((cc,RV)=>{"use strict";var na=UV();RV.exports=function(t){return na(t.length)}});var BV=a((lc,kV)=>{"use strict";var aa=Te(),qa=yV(),ca=DV(),bV=function(t){return function(e,i,r){var V=aa(e),o=ca(V);if(o===0)return!t&&-1;var s=qa(r,o),A;if(t&&i!==i){for(;o>s;)if(A=V[s++],A!==A)return!0}else for(;o>s;s++)if((t||s in V)&&V[s]===i)return t||s||0;return!t&&-1}};kV.exports={includes:bV(!0),indexOf:bV(!1)}});var QV=a((pc,OV)=>{"use strict";var la=R(),$t=O(),pa=Te(),da=BV().indexOf,ha=Wt(),NV=la([].push);OV.exports=function(t,e){var i=pa(t),r=0,V=[],o;for(o in i)!$t(ha,o)&&$t(i,o)&&NV(V,o);for(;e.length>r;)$t(i,o=e[r++])&&(~da(V,o)||NV(V,o));return V}});var LV=a((dc,FV)=>{"use strict";FV.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var GV=a(KV=>{"use strict";var ua=QV(),ga=LV(),ma=ga.concat("length","prototype");KV.f=Object.getOwnPropertyNames||function(e){return ua(e,ma)}});var PV=a(YV=>{"use strict";YV.f=Object.getOwnPropertySymbols});var WV=a((gc,ZV)=>{"use strict";var fa=It(),Ea=R(),Sa=GV(),Ia=PV(),Ca=Ot(),va=Ea([].concat);ZV.exports=fa("Reflect","ownKeys")||function(e){var i=Sa.f(Ca(e)),r=Ia.f;return r?va(i,r(e)):i}});var jV=a((mc,zV)=>{"use strict";var JV=O(),Ma=WV(),wa=Nt(),xa=ke();zV.exports=function(t,e,i){for(var r=Ma(e),V=xa.f,o=wa.f,s=0;s<r.length;s++){var A=r[s];!JV(t,A)&&!(i&&JV(i,A))&&V(t,A,o(e,A))}}});var XV=a((fc,HV)=>{"use strict";var ya=D(),Ta=y(),Ua=/#|\.prototype\./,ae=function(t,e){var i=Da[Ra(t)];return i===ka?!0:i===ba?!1:Ta(e)?ya(e):!!e},Ra=ae.normalize=function(t){return String(t).replace(Ua,".").toLowerCase()},Da=ae.data={},ba=ae.NATIVE="N",ka=ae.POLYFILL="P";HV.exports=ae});var $V=a((Ec,_V)=>{"use strict";var Fe=v(),Ba=Nt().f,Na=Gt(),Oa=CV(),Qa=Re(),Fa=jV(),La=XV();_V.exports=function(t,e){var i=t.target,r=t.global,V=t.stat,o,s,A,n,d,l;if(r?s=Fe:V?s=Fe[i]||Qa(i,{}):s=Fe[i]&&Fe[i].prototype,s)for(A in e){if(d=e[A],t.dontCallGetSet?(l=Ba(s,A),n=l&&l.value):n=s[A],o=La(r?A:i+(V?".":"#")+A,t.forced),!o&&n!==void 0){if(typeof d==typeof n)continue;Fa(d,n)}(t.sham||n&&n.sham)&&Na(d,"sham",!0),Oa(s,A,d,t)}}});var eo=a(()=>{"use strict";var Ka=$V(),ei=v();Ka({global:!0,forced:ei.globalThis!==ei},{globalThis:ei})});var io=a((Cc,to)=>{"use strict";eo();to.exports=v()});var aq={};ks(aq,{DeviceDetector:()=>qt,default:()=>nq});var hd=Bs(io(),1);function ro(t){return{name:"DeviceDetectorOptions",type:"object",required:!1,allowEmpty:!1,properties:{networkDetect:{required:!1,type:"object",properties:{sdkAppId:{required:!0,type:"number"},userId:{required:!0,type:"string"},userSig:{required:!0,type:"string"},downlinkUserId:{required:!1,type:"string"},downlinkUserSig:{required:!1,type:"string"},roomId:{required:!1,type:"number"}},async validate(e,i,r,V){let{RtcError:o,ErrorCode:s,ErrorCodeDictionary:A}=t.errorModule;if(!e)return;let{sdkAppId:n,userId:d,userSig:l,downlinkUserId:u,downlinkUserSig:g,roomId:p}=e;p=p||8080;let w=t.TRTC.create(),B=t.TRTC.create();await w.enterRoom({roomId:p,sdkAppId:n,userId:d,userSig:l}),await w.exitRoom(),w.destroy(),u&&g&&(await B.enterRoom({roomId:p,sdkAppId:n,userId:u,userSig:g}),await B.exitRoom(),B.destroy())}},cameraDetect:{required:!1,type:"object",properties:{mirror:{required:!1,type:"boolean"}}}}}}function ti(t){return{name:"StopDeviceDetectorOptions",required:!1}}var Le=globalThis,Ge=Le.ShadowRoot&&(Le.ShadyCSS===void 0||Le.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,oo=Symbol(),Vo=new WeakMap,Ke=class{constructor(e,i,r){if(this._$cssResult$=!0,r!==oo)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=i}get styleSheet(){let e=this.o,i=this.t;if(Ge&&e===void 0){let r=i!==void 0&&i.length===1;r&&(e=Vo.get(i)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&Vo.set(i,e))}return e}toString(){return this.cssText}},so=t=>new Ke(typeof t=="string"?t:t+"",void 0,oo);var ii=(t,e)=>{if(Ge)t.adoptedStyleSheets=e.map(i=>i instanceof CSSStyleSheet?i:i.styleSheet);else for(let i of e){let r=document.createElement("style"),V=Le.litNonce;V!==void 0&&r.setAttribute("nonce",V),r.textContent=i.cssText,t.appendChild(r)}},Ye=Ge?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let i="";for(let r of e.cssRules)i+=r.cssText;return so(i)})(t):t;var{is:Ga,defineProperty:Ya,getOwnPropertyDescriptor:Pa,getOwnPropertyNames:Za,getOwnPropertySymbols:Wa,getPrototypeOf:Ja}=Object,Q=globalThis,Ao=Q.trustedTypes,za=Ao?Ao.emptyScript:"",ri=Q.reactiveElementPolyfillSupport,qe=(t,e)=>t,Vi={toAttribute(t,e){switch(e){case Boolean:t=t?za:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=t!==null;break;case Number:i=t===null?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(r){i=null}}return i}},lo=(t,e)=>!Ga(t,e),no={attribute:!0,type:String,converter:Vi,reflect:!1,hasChanged:lo},ao,qo;(ao=Symbol.metadata)!=null||(Symbol.metadata=Symbol("metadata")),(qo=Q.litPropertyMetadata)!=null||(Q.litPropertyMetadata=new WeakMap);var b=class extends HTMLElement{static addInitializer(e){var i;this._$Ei(),((i=this.l)!=null?i:this.l=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,i=no){if(i.state&&(i.attribute=!1),this._$Ei(),this.elementProperties.set(e,i),!i.noAccessor){let r=Symbol(),V=this.getPropertyDescriptor(e,r,i);V!==void 0&&Ya(this.prototype,e,V)}}static getPropertyDescriptor(e,i,r){var s;let{get:V,set:o}=(s=Pa(this.prototype,e))!=null?s:{get(){return this[i]},set(A){this[i]=A}};return{get(){return V==null?void 0:V.call(this)},set(A){let n=V==null?void 0:V.call(this);o.call(this,A),this.requestUpdate(e,n,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){var i;return(i=this.elementProperties.get(e))!=null?i:no}static _$Ei(){if(this.hasOwnProperty(qe("elementProperties")))return;let e=Ja(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(qe("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(qe("properties"))){let i=this.properties,r=[...Za(i),...Wa(i)];for(let V of r)this.createProperty(V,i[V])}let e=this[Symbol.metadata];if(e!==null){let i=litPropertyMetadata.get(e);if(i!==void 0)for(let[r,V]of i)this.elementProperties.set(r,V)}this._$Eh=new Map;for(let[i,r]of this.elementProperties){let V=this._$Eu(i,r);V!==void 0&&this._$Eh.set(V,i)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let i=[];if(Array.isArray(e)){let r=new Set(e.flat(1/0).reverse());for(let V of r)i.unshift(Ye(V))}else e!==void 0&&i.push(Ye(e));return i}static _$Eu(e,i){let r=i.attribute;return r===!1?void 0:typeof r=="string"?r:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(i=>this.enableUpdating=i),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(i=>i(this))}addController(e){var i,r;((i=this._$EO)!=null?i:this._$EO=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&((r=e.hostConnected)==null||r.call(e))}removeController(e){var i;(i=this._$EO)==null||i.delete(e)}_$E_(){let e=new Map,i=this.constructor.elementProperties;for(let r of i.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){var i;let e=(i=this.shadowRoot)!=null?i:this.attachShadow(this.constructor.shadowRootOptions);return ii(e,this.constructor.elementStyles),e}connectedCallback(){var e,i;(e=this.renderRoot)!=null||(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(i=this._$EO)==null||i.forEach(r=>{var V;return(V=r.hostConnected)==null?void 0:V.call(r)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$EO)==null||e.forEach(i=>{var r;return(r=i.hostDisconnected)==null?void 0:r.call(i)})}attributeChangedCallback(e,i,r){this._$AK(e,r)}_$EC(e,i){var o;let r=this.constructor.elementProperties.get(e),V=this.constructor._$Eu(e,r);if(V!==void 0&&r.reflect===!0){let s=(((o=r.converter)==null?void 0:o.toAttribute)!==void 0?r.converter:Vi).toAttribute(i,r.type);this._$Em=e,s==null?this.removeAttribute(V):this.setAttribute(V,s),this._$Em=null}}_$AK(e,i){var o;let r=this.constructor,V=r._$Eh.get(e);if(V!==void 0&&this._$Em!==V){let s=r.getPropertyOptions(V),A=typeof s.converter=="function"?{fromAttribute:s.converter}:((o=s.converter)==null?void 0:o.fromAttribute)!==void 0?s.converter:Vi;this._$Em=V,this[V]=A.fromAttribute(i,s.type),this._$Em=null}}requestUpdate(e,i,r){var V;if(e!==void 0){if(r!=null||(r=this.constructor.getPropertyOptions(e)),!((V=r.hasChanged)!=null?V:lo)(this[e],i))return;this.P(e,i,r)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(e,i,r){var V;this._$AL.has(e)||this._$AL.set(e,i),r.reflect===!0&&this._$Em!==e&&((V=this._$Ej)!=null?V:this._$Ej=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(i){Promise.reject(i)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r,V;if(!this.isUpdatePending)return;if(!this.hasUpdated){if((r=this.renderRoot)!=null||(this.renderRoot=this.createRenderRoot()),this._$Ep){for(let[s,A]of this._$Ep)this[s]=A;this._$Ep=void 0}let o=this.constructor.elementProperties;if(o.size>0)for(let[s,A]of o)A.wrapped!==!0||this._$AL.has(s)||this[s]===void 0||this.P(s,this[s],A)}let e=!1,i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),(V=this._$EO)==null||V.forEach(o=>{var s;return(s=o.hostUpdate)==null?void 0:s.call(o)}),this.update(i)):this._$EU()}catch(o){throw e=!1,this._$EU(),o}e&&this._$AE(i)}willUpdate(e){}_$AE(e){var i;(i=this._$EO)==null||i.forEach(r=>{var V;return(V=r.hostUpdated)==null?void 0:V.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&(this._$Ej=this._$Ej.forEach(i=>this._$EC(i,this[i]))),this._$EU()}updated(e){}firstUpdated(e){}},co;b.elementStyles=[],b.shadowRootOptions={mode:"open"},b[qe("elementProperties")]=new Map,b[qe("finalized")]=new Map,ri==null||ri({ReactiveElement:b}),((co=Q.reactiveElementVersions)!=null?co:Q.reactiveElementVersions=[]).push("2.0.4");var le=globalThis,Pe=le.trustedTypes,po=Pe?Pe.createPolicy("lit-html",{createHTML:t=>t}):void 0,So="$lit$",F=`lit$${Math.random().toFixed(9).slice(2)}$`,Io="?"+F,ja=`<${Io}>`,P=document,pe=()=>P.createComment(""),de=t=>t===null||typeof t!="object"&&typeof t!="function",li=Array.isArray,Ha=t=>li(t)||typeof(t==null?void 0:t[Symbol.iterator])=="function",oi=`[
|
|
2
2
|
\f\r]`,ce=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ho=/-->/g,uo=/>/g,G=RegExp(`>|${oi}(?:([^\\s"'>=/]+)(${oi}*=${oi}*(?:[^
|
|
3
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),go=/'/g,mo=/"/g,Co=/^(?:script|style|textarea|title)$/i,pi=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),c=pi(1),kc=pi(2),Bc=pi(3),Z=Symbol.for("lit-noChange"),S=Symbol.for("lit-nothing"),fo=new WeakMap,Y=P.createTreeWalker(P,129);function vo(t,e){if(!li(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return po!==void 0?po.createHTML(e):e}var Xa=(t,e)=>{let i=t.length-1,r=[],V,o=e===2?"<svg>":e===3?"<math>":"",s=ce;for(let A=0;A<i;A++){let n=t[A],d,l,u=-1,g=0;for(;g<n.length&&(s.lastIndex=g,l=s.exec(n),l!==null);)g=s.lastIndex,s===ce?l[1]==="!--"?s=ho:l[1]!==void 0?s=uo:l[2]!==void 0?(Co.test(l[2])&&(V=RegExp("</"+l[2],"g")),s=G):l[3]!==void 0&&(s=G):s===G?l[0]===">"?(s=V!=null?V:ce,u=-1):l[1]===void 0?u=-2:(u=s.lastIndex-l[2].length,d=l[1],s=l[3]===void 0?G:l[3]==='"'?mo:go):s===mo||s===go?s=G:s===ho||s===uo?s=ce:(s=G,V=void 0);let p=s===G&&t[A+1].startsWith("/>")?" ":"";o+=s===ce?n+ja:u>=0?(r.push(d),n.slice(0,u)+So+n.slice(u)+F+p):n+F+(u===-2?A:p)}return[vo(t,o+(t[i]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),r]},he=class t{constructor({strings:e,_$litType$:i},r){let V;this.parts=[];let o=0,s=0,A=e.length-1,n=this.parts,[d,l]=Xa(e,i);if(this.el=t.createElement(d,r),Y.currentNode=this.el.content,i===2||i===3){let u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(V=Y.nextNode())!==null&&n.length<A;){if(V.nodeType===1){if(V.hasAttributes())for(let u of V.getAttributeNames())if(u.endsWith(So)){let g=l[s++],p=V.getAttribute(u).split(F),w=/([.?@])?(.*)/.exec(g);n.push({type:1,index:o,name:w[2],strings:p,ctor:w[1]==="."?ni:w[1]==="?"?ai:w[1]==="@"?qi:ee}),V.removeAttribute(u)}else u.startsWith(F)&&(n.push({type:6,index:o}),V.removeAttribute(u));if(Co.test(V.tagName)){let u=V.textContent.split(F),g=u.length-1;if(g>0){V.textContent=Pe?Pe.emptyScript:"";for(let p=0;p<g;p++)V.append(u[p],pe()),Y.nextNode(),n.push({type:2,index:++o});V.append(u[g],pe())}}}else if(V.nodeType===8)if(V.data===Io)n.push({type:2,index:o});else{let u=-1;for(;(u=V.data.indexOf(F,u+1))!==-1;)n.push({type:7,index:o}),u+=F.length-1}o++}}static createElement(e,i){let r=P.createElement("template");return r.innerHTML=e,r}};function $(t,e,i=t,r){var s,A,n;if(e===Z)return e;let V=r!==void 0?(s=i.
|
|
3
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),go=/'/g,mo=/"/g,Co=/^(?:script|style|textarea|title)$/i,pi=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),c=pi(1),kc=pi(2),Bc=pi(3),Z=Symbol.for("lit-noChange"),S=Symbol.for("lit-nothing"),fo=new WeakMap,Y=P.createTreeWalker(P,129);function vo(t,e){if(!li(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return po!==void 0?po.createHTML(e):e}var Xa=(t,e)=>{let i=t.length-1,r=[],V,o=e===2?"<svg>":e===3?"<math>":"",s=ce;for(let A=0;A<i;A++){let n=t[A],d,l,u=-1,g=0;for(;g<n.length&&(s.lastIndex=g,l=s.exec(n),l!==null);)g=s.lastIndex,s===ce?l[1]==="!--"?s=ho:l[1]!==void 0?s=uo:l[2]!==void 0?(Co.test(l[2])&&(V=RegExp("</"+l[2],"g")),s=G):l[3]!==void 0&&(s=G):s===G?l[0]===">"?(s=V!=null?V:ce,u=-1):l[1]===void 0?u=-2:(u=s.lastIndex-l[2].length,d=l[1],s=l[3]===void 0?G:l[3]==='"'?mo:go):s===mo||s===go?s=G:s===ho||s===uo?s=ce:(s=G,V=void 0);let p=s===G&&t[A+1].startsWith("/>")?" ":"";o+=s===ce?n+ja:u>=0?(r.push(d),n.slice(0,u)+So+n.slice(u)+F+p):n+F+(u===-2?A:p)}return[vo(t,o+(t[i]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),r]},he=class t{constructor({strings:e,_$litType$:i},r){let V;this.parts=[];let o=0,s=0,A=e.length-1,n=this.parts,[d,l]=Xa(e,i);if(this.el=t.createElement(d,r),Y.currentNode=this.el.content,i===2||i===3){let u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(V=Y.nextNode())!==null&&n.length<A;){if(V.nodeType===1){if(V.hasAttributes())for(let u of V.getAttributeNames())if(u.endsWith(So)){let g=l[s++],p=V.getAttribute(u).split(F),w=/([.?@])?(.*)/.exec(g);n.push({type:1,index:o,name:w[2],strings:p,ctor:w[1]==="."?ni:w[1]==="?"?ai:w[1]==="@"?qi:ee}),V.removeAttribute(u)}else u.startsWith(F)&&(n.push({type:6,index:o}),V.removeAttribute(u));if(Co.test(V.tagName)){let u=V.textContent.split(F),g=u.length-1;if(g>0){V.textContent=Pe?Pe.emptyScript:"";for(let p=0;p<g;p++)V.append(u[p],pe()),Y.nextNode(),n.push({type:2,index:++o});V.append(u[g],pe())}}}else if(V.nodeType===8)if(V.data===Io)n.push({type:2,index:o});else{let u=-1;for(;(u=V.data.indexOf(F,u+1))!==-1;)n.push({type:7,index:o}),u+=F.length-1}o++}}static createElement(e,i){let r=P.createElement("template");return r.innerHTML=e,r}};function $(t,e,i=t,r){var s,A,n;if(e===Z)return e;let V=r!==void 0?(s=i._$Co)==null?void 0:s[r]:i._$Cl,o=de(e)?void 0:e._$litDirective$;return(V==null?void 0:V.constructor)!==o&&((A=V==null?void 0:V._$AO)==null||A.call(V,!1),o===void 0?V=void 0:(V=new o(t),V._$AT(t,i,r)),r!==void 0?((n=i._$Co)!=null?n:i._$Co=[])[r]=V:i._$Cl=V),V!==void 0&&(e=$(t,V._$AS(t,e.values),V,r)),e}var Ai=class{constructor(e,i){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){var d;let{el:{content:i},parts:r}=this._$AD,V=((d=e==null?void 0:e.creationScope)!=null?d:P).importNode(i,!0);Y.currentNode=V;let o=Y.nextNode(),s=0,A=0,n=r[0];for(;n!==void 0;){if(s===n.index){let l;n.type===2?l=new ue(o,o.nextSibling,this,e):n.type===1?l=new n.ctor(o,n.name,n.strings,this,e):n.type===6&&(l=new ci(o,this,e)),this._$AV.push(l),n=r[++A]}s!==(n==null?void 0:n.index)&&(o=Y.nextNode(),s++)}return Y.currentNode=P,V}p(e){let i=0;for(let r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(e,r,i),i+=r.strings.length-2):r._$AI(e[i])),i++}},ue=class t{get _$AU(){var e,i;return(i=(e=this._$AM)==null?void 0:e._$AU)!=null?i:this._$Cv}constructor(e,i,r,V){var o;this.type=2,this._$AH=S,this._$AN=void 0,this._$AA=e,this._$AB=i,this._$AM=r,this.options=V,this._$Cv=(o=V==null?void 0:V.isConnected)!=null?o:!0}get parentNode(){let e=this._$AA.parentNode,i=this._$AM;return i!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=i.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,i=this){e=$(this,e,i),de(e)?e===S||e==null||e===""?(this._$AH!==S&&this._$AR(),this._$AH=S):e!==this._$AH&&e!==Z&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Ha(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==S&&de(this._$AH)?this._$AA.nextSibling.data=e:this.T(P.createTextNode(e)),this._$AH=e}$(e){var o;let{values:i,_$litType$:r}=e,V=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=he.createElement(vo(r.h,r.h[0]),this.options)),r);if(((o=this._$AH)==null?void 0:o._$AD)===V)this._$AH.p(i);else{let s=new Ai(V,this),A=s.u(this.options);s.p(i),this.T(A),this._$AH=s}}_$AC(e){let i=fo.get(e.strings);return i===void 0&&fo.set(e.strings,i=new he(e)),i}k(e){li(this._$AH)||(this._$AH=[],this._$AR());let i=this._$AH,r,V=0;for(let o of e)V===i.length?i.push(r=new t(this.O(pe()),this.O(pe()),this,this.options)):r=i[V],r._$AI(o),V++;V<i.length&&(this._$AR(r&&r._$AB.nextSibling,V),i.length=V)}_$AR(e=this._$AA.nextSibling,i){var r;for((r=this._$AP)==null?void 0:r.call(this,!1,!0,i);e&&e!==this._$AB;){let V=e.nextSibling;e.remove(),e=V}}setConnected(e){var i;this._$AM===void 0&&(this._$Cv=e,(i=this._$AP)==null||i.call(this,e))}},ee=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,i,r,V,o){this.type=1,this._$AH=S,this._$AN=void 0,this.element=e,this.name=i,this._$AM=V,this.options=o,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=S}_$AI(e,i=this,r,V){let o=this.strings,s=!1;if(o===void 0)e=$(this,e,i,0),s=!de(e)||e!==this._$AH&&e!==Z,s&&(this._$AH=e);else{let A=e,n,d;for(e=o[0],n=0;n<o.length-1;n++)d=$(this,A[r+n],i,n),d===Z&&(d=this._$AH[n]),s||(s=!de(d)||d!==this._$AH[n]),d===S?e=S:e!==S&&(e+=(d!=null?d:"")+o[n+1]),this._$AH[n]=d}s&&!V&&this.j(e)}j(e){e===S?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e!=null?e:"")}},ni=class extends ee{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===S?void 0:e}},ai=class extends ee{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==S)}},qi=class extends ee{constructor(e,i,r,V,o){super(e,i,r,V,o),this.type=5}_$AI(e,i=this){var s;if((e=(s=$(this,e,i,0))!=null?s:S)===Z)return;let r=this._$AH,V=e===S&&r!==S||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,o=e!==S&&(r===S||V);V&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var i,r;typeof this._$AH=="function"?this._$AH.call((r=(i=this.options)==null?void 0:i.host)!=null?r:this.element,e):this._$AH.handleEvent(e)}},ci=class{constructor(e,i,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=i,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){$(this,e)}};var si=le.litHtmlPolyfillSupport,Eo;si==null||si(he,ue),((Eo=le.litHtmlVersions)!=null?Eo:le.litHtmlVersions=[]).push("3.2.1");var Mo=(t,e,i)=>{var o,s;let r=(o=i==null?void 0:i.renderBefore)!=null?o:e,V=r._$litPart$;if(V===void 0){let A=(s=i==null?void 0:i.renderBefore)!=null?s:null;r._$litPart$=V=new ue(e.insertBefore(pe(),A),A,void 0,i!=null?i:{})}return V._$AI(t),V};var f=class extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var i,r;let e=super.createRenderRoot();return(r=(i=this.renderOptions).renderBefore)!=null||(i.renderBefore=e.firstChild),e}update(e){let i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Mo(i,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)==null||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)==null||e.setConnected(!1)}render(){return Z}},wo;f._$litElement$=!0,f.finalized=!0,(wo=globalThis.litElementHydrateSupport)==null||wo.call(globalThis,{LitElement:f});var di=globalThis.litElementPolyfillSupport;di==null||di({LitElement:f});var xo;((xo=globalThis.litElementVersions)!=null?xo:globalThis.litElementVersions=[]).push("4.1.1");var ge=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(this.createTemplate()),this.buttonEle=this.shadowRoot.querySelector("button")}createTemplate(){let e=document.createElement("template");return e.innerHTML=`
|
|
4
4
|
<style>
|
|
5
5
|
.button {
|
|
6
6
|
padding: 6px 16px;
|