trtc-sdk-v5 5.15.0-beta.8 → 5.15.0-wasm.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/assets/av_processing.wasm +0 -0
  2. package/assets/debug-dialog.js +2 -2
  3. package/assets/worker.js +17 -0
  4. package/index.d.ts +20 -1
  5. package/package.json +4 -6
  6. package/plugins/cdn-streaming/package.json +1 -1
  7. package/plugins/chorus/package.json +1 -1
  8. package/plugins/cross-room/package.json +1 -1
  9. package/plugins/custom-encryption/package.json +1 -1
  10. package/plugins/device-detector/package.json +1 -1
  11. package/plugins/lebplayer/lebplayer.esm.d.ts +260 -0
  12. package/plugins/lebplayer/lebplayer.esm.js +1 -0
  13. package/plugins/lebplayer/lebplayer.umd.js +1 -0
  14. package/plugins/lebplayer/package.json +29 -0
  15. package/plugins/small-stream-auto-switcher/package.json +1 -1
  16. package/plugins/video-decoder/package.json +1 -1
  17. package/plugins/video-decoder/video-decoder.esm.js +1 -1
  18. package/plugins/video-decoder/video-decoder.umd.js +1 -1
  19. package/plugins/video-effect/basic-beauty/package.json +1 -1
  20. package/plugins/video-effect/beauty/package.json +1 -1
  21. package/plugins/video-effect/face-detection/face-detection.esm.d.ts +22 -0
  22. package/plugins/video-effect/face-detection/face-detection.esm.js +1 -0
  23. package/plugins/video-effect/face-detection/face-detection.umd.js +1 -0
  24. package/plugins/video-effect/face-detection/package.json +29 -0
  25. package/plugins/video-effect/video-mixer/package.json +1 -1
  26. package/plugins/video-effect/video-mixer/video-mixer.esm.d.ts +2 -0
  27. package/plugins/video-effect/video-mixer/video-mixer.esm.js +1 -1
  28. package/plugins/video-effect/video-mixer/video-mixer.umd.js +1 -1
  29. package/plugins/video-effect/virtual-background/package.json +1 -1
  30. package/plugins/video-effect/virtual-background/virtual-background.esm.js +1 -1
  31. package/plugins/video-effect/virtual-background/virtual-background.umd.js +1 -1
  32. package/plugins/video-effect/watermark/package.json +1 -1
  33. package/plugins/voice-changer/package.json +1 -1
  34. package/trtc.esm.js +71 -43
  35. package/trtc.js +1 -1
@@ -0,0 +1,17 @@
1
+ var Yu=Object.create;var pr=Object.defineProperty,Ku=Object.defineProperties,as=Object.getOwnPropertyDescriptor,Ju=Object.getOwnPropertyDescriptors,Xu=Object.getOwnPropertyNames,mr=Object.getOwnPropertySymbols,Qu=Object.getPrototypeOf,_n=Object.prototype.hasOwnProperty,us=Object.prototype.propertyIsEnumerable;var fn=(n,t,e)=>t in n?pr(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,Mt=(n,t)=>{for(var e in t||(t={}))_n.call(t,e)&&fn(n,e,t[e]);if(mr)for(var e of mr(t))us.call(t,e)&&fn(n,e,t[e]);return n},cs=(n,t)=>Ku(n,Ju(t));var ls=(n,t)=>{var e={};for(var r in n)_n.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&mr)for(var r of mr(n))t.indexOf(r)<0&&us.call(n,r)&&(e[r]=n[r]);return e};var zu=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports);var Zu=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Xu(t))!_n.call(n,i)&&i!==e&&pr(n,i,{get:()=>t[i],enumerable:!(r=as(t,i))||r.enumerable});return n};var fr=(n,t,e)=>(e=n!=null?Yu(Qu(n)):{},Zu(t||!n||!n.__esModule?pr(e,"default",{value:n,enumerable:!0}):e,n));var le=(n,t,e,r)=>{for(var i=r>1?void 0:r?as(t,e):t,o=n.length-1,u;o>=0;o--)(u=n[o])&&(i=(r?u(t,e,i):u(i))||i);return r&&i&&pr(t,e,i),i};var d=(n,t,e)=>fn(n,typeof t!="symbol"?t+"":t,e);var qt=zu((jm,bi)=>{"use strict";var Qc=Object.prototype.hasOwnProperty,pe="~";function Ht(){}Object.create&&(Ht.prototype=Object.create(null),new Ht().__proto__||(pe=!1));function zc(n,t,e){this.fn=n,this.context=t,this.once=e||!1}function ao(n,t,e,r,i){if(typeof e!="function")throw new TypeError("The listener must be a function");var o=new zc(e,r||n,i),u=pe?pe+t:t;return n._events[u]?n._events[u].fn?n._events[u]=[n._events[u],o]:n._events[u].push(o):(n._events[u]=o,n._eventsCount++),n}function Mr(n,t){--n._eventsCount===0?n._events=new Ht:delete n._events[t]}function ue(){this._events=new Ht,this._eventsCount=0}ue.prototype.eventNames=function(){var t=[],e,r;if(this._eventsCount===0)return t;for(r in e=this._events)Qc.call(e,r)&&t.push(pe?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};ue.prototype.listeners=function(t){var e=pe?pe+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,u=new Array(o);i<o;i++)u[i]=r[i].fn;return u};ue.prototype.listenerCount=function(t){var e=pe?pe+t:t,r=this._events[e];return r?r.fn?1:r.length:0};ue.prototype.emit=function(t,e,r,i,o,u){var p=pe?pe+t:t;if(!this._events[p])return!1;var l=this._events[p],m=arguments.length,h,f;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),m){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,r),!0;case 4:return l.fn.call(l.context,e,r,i),!0;case 5:return l.fn.call(l.context,e,r,i,o),!0;case 6:return l.fn.call(l.context,e,r,i,o,u),!0}for(f=1,h=new Array(m-1);f<m;f++)h[f-1]=arguments[f];l.fn.apply(l.context,h)}else{var g=l.length,A;for(f=0;f<g;f++)switch(l[f].once&&this.removeListener(t,l[f].fn,void 0,!0),m){case 1:l[f].fn.call(l[f].context);break;case 2:l[f].fn.call(l[f].context,e);break;case 3:l[f].fn.call(l[f].context,e,r);break;case 4:l[f].fn.call(l[f].context,e,r,i);break;default:if(!h)for(A=1,h=new Array(m-1);A<m;A++)h[A-1]=arguments[A];l[f].fn.apply(l[f].context,h)}}return!0};ue.prototype.on=function(t,e,r){return ao(this,t,e,r,!1)};ue.prototype.once=function(t,e,r){return ao(this,t,e,r,!0)};ue.prototype.removeListener=function(t,e,r,i){var o=pe?pe+t:t;if(!this._events[o])return this;if(!e)return Mr(this,o),this;var u=this._events[o];if(u.fn)u.fn===e&&(!i||u.once)&&(!r||u.context===r)&&Mr(this,o);else{for(var p=0,l=[],m=u.length;p<m;p++)(u[p].fn!==e||i&&!u[p].once||r&&u[p].context!==r)&&l.push(u[p]);l.length?this._events[o]=l.length===1?l[0]:l:Mr(this,o)}return this};ue.prototype.removeAllListeners=function(t){var e;return t?(e=pe?pe+t:t,this._events[e]&&Mr(this,e)):(this._events=new Ht,this._eventsCount=0),this};ue.prototype.off=ue.prototype.removeListener;ue.prototype.addListener=ue.prototype.on;ue.prefixed=pe;ue.EventEmitter=ue;typeof bi!="undefined"&&(bi.exports=ue)});function $(...n){}var ec=n=>n();function bn(){this.dispose()}var tc=()=>typeof __FASTRX_DEVTOOLS__!="undefined",rc=1,Ne=class extends Function{toString(){return`${this.name}(${this.args.length?[...this.args].join(", "):""})`}subscribe(t){let e=new hn(t,this,this.streamId++);return ee.subscribe({id:this.id,end:!1},{nodeId:e.sourceId,streamId:e.id}),this(e),e}},ht=class{constructor(){this.defers=new Set,this.disposed=!1}next(t){}complete(){this.dispose()}error(t){this.dispose()}get bindDispose(){return()=>this.dispose()}dispose(){this.disposed=!0,this.complete=$,this.error=$,this.next=$,this.dispose=$,this.subscribe=$,this.doDefer()}subscribe(t){return t instanceof Ne?t.subscribe(this):t(this),this}get bindSubscribe(){return t=>this.subscribe(t)}doDefer(){this.defers.forEach(ec),this.defers.clear()}defer(t){this.defers.add(t)}removeDefer(t){this.defers.delete(t)}reset(){this.disposed=!1,delete this.complete,delete this.next,delete this.dispose,delete this.next,delete this.subscribe}resetNext(){delete this.next}resetComplete(){delete this.complete}resetError(){delete this.error}},N=class extends ht{constructor(t){super(),this.sink=t,t.defer(this.bindDispose)}next(t){this.sink.next(t)}complete(){this.sink.complete()}error(t){this.sink.error(t)}},_r=class extends ht{constructor(t,e=$,r=$,i=$){if(super(),this._next=e,this._error=r,this._complete=i,this.then=$,t instanceof Ne){let o={toString:()=>"subscribe",id:0,source:t};this.defer(()=>{ee.defer(o,0)}),ee.create(o),ee.pipe(o),this.sourceId=o.id,this.subscribe(t),ee.subscribe({id:o.id,end:!0}),e==$?this._next=u=>ee.next(o,0,u):this.next=u=>{ee.next(o,0,u),e(u)},i==$?this._complete=()=>ee.complete(o,0):this.complete=()=>{this.dispose(),ee.complete(o,0),i()},r==$?this._error=u=>ee.complete(o,0,u):this.error=u=>{this.dispose(),ee.complete(o,0,u),r(u)}}else this.subscribe(t)}next(t){this._next(t)}complete(){this.dispose(),this._complete()}error(t){this.dispose(),this._error(t)}};function H(n,...t){return t.reduce((e,r)=>r(e),n)}function de(n,t,e){if(tc()){let r=Object.defineProperties(Object.setPrototypeOf(n,Ne.prototype),{streamId:{value:0,writable:!0,configurable:!0},name:{value:t,writable:!0,configurable:!0},args:{value:e,writable:!0,configurable:!0},id:{value:0,writable:!0,configurable:!0}});ee.create(r);for(let i=0;i<e.length;i++){let o=e[i];typeof o=="function"&&o instanceof Ne&&ee.addSource(r,o)}return r}return n}function L(n,t){return function(...e){return r=>{if(r instanceof Ne){let i=de(o=>{let u=new n(o,...e);u.sourceId=i.id,u.subscribe(r)},t,arguments);return i.source=r,ee.pipe(i),i}else return i=>r(new n(i,...e))}}}function Ge(n,t){window.postMessage({source:"fastrx-devtools-backend",payload:{event:n,payload:t}})}var hn=class extends N{constructor(t,e,r){super(t),this.source=e,this.id=r,this.sourceId=t.sourceId,this.defer(()=>{ee.defer(this.source,this.id)})}next(t){ee.next(this.source,this.id,t),this.sink.next(t)}complete(){ee.complete(this.source,this.id),this.sink.complete()}error(t){ee.complete(this.source,this.id,t),this.sink.error(t)}},ee={addSource(n,t){Ge("addSource",{id:n.id,name:n.toString(),source:{id:t.id,name:t.toString()}})},next(n,t,e){Ge("next",{id:n.id,streamId:t,data:e&&e.toString()})},subscribe({id:n,end:t},e){Ge("subscribe",{id:n,end:t,sink:{nodeId:e&&e.nodeId,streamId:e&&e.streamId}})},complete(n,t,e){Ge("complete",{id:n.id,streamId:t,err:e?e.toString():null})},defer(n,t){Ge("defer",{id:n.id,streamId:t})},pipe(n){Ge("pipe",{name:n.toString(),id:n.id,source:{id:n.source.id,name:n.source.toString()}})},update(n){Ge("update",{id:n.id,name:n.toString()})},create(n){n.id||(n.id=rc++),Ge("create",{name:n.toString(),id:n.id})}},hr=class extends Error{constructor(t){super(`timeout after ${t}ms`),this.timeout=t}};var gn=class extends ht{constructor(t){super(),this.source=t,this.sinks=new Set}add(t){t.defer(()=>this.remove(t)),this.sinks.add(t).size===1&&(this.reset(),this.subscribe(this.source))}remove(t){this.sinks.delete(t),this.sinks.size===0&&this.dispose()}next(t){this.sinks.forEach(e=>e.next(t))}complete(){this.sinks.forEach(t=>t.complete()),this.sinks.clear()}error(t){this.sinks.forEach(e=>e.error(t)),this.sinks.clear()}};function We(){return n=>{let t=new gn(n);if(n instanceof Ne){let e=de(r=>{t.add(r)},"share",arguments);return t.sourceId=e.id,e.source=n,ee.pipe(e),e}return de(t.add.bind(t),"share",arguments)}}function ds(...n){return de(t=>{let e=new N(t),r=n.length;e.complete=()=>{--r===0&&t.complete()},n.forEach(e.bindSubscribe)},"merge",arguments)}function nc(...n){return de(t=>{let e=n.length,r=e,i=e,o=new Array(e),u=()=>{--i===0&&t.complete()},p=(l,m)=>{let h=new N(t);h.next=f=>{r--,h.next=g=>{o[m]=g,r===0&&t.next(o)},h.next(f)},h.complete=u,h.subscribe(l)};n.forEach(p)},"combineLatest",arguments)}function ms(...n){return de(t=>{let e=n.length,r=e,i=new Array(e),o=()=>{--r===0&&t.complete()},u=(p,l)=>{let m=new N(t),h=[];i[l]=h,m.next=f=>{h.push(f),i.every(g=>g.length)&&t.next(i.map(g=>g.shift()))},m.complete=o,m.subscribe(p)};n.forEach(u)},"zip",arguments)}var En=class extends N{constructor(t,...e){super(t);let r=new N(this.sink);r.next=i=>this.buffer=i,r.complete=$,r.subscribe(nc(...e))}next(t){this.buffer&&this.sink.next([t,...this.buffer])}},Cl=L(En,"withLatestFrom"),Tn=class extends N{constructor(t,e,r){super(t),this.bufferSize=e,this.startBufferEvery=r,this.buffer=[],this.count=0,this.startBufferEvery&&(this.buffers=[[]])}next(t){this.startBufferEvery?(this.count++===this.startBufferEvery&&(this.buffers.push([]),this.count=1),this.buffers.forEach(e=>{e.push(t)}),this.buffers[0].length===this.bufferSize&&this.sink.next(this.buffers.shift())):(this.buffer.push(t),this.buffer.length===this.bufferSize&&(this.sink.next(this.buffer),this.buffer=[]))}complete(){this.buffer.length?this.sink.next(this.buffer):this.buffers.length&&this.buffers.forEach(t=>this.sink.next(t)),super.complete()}},wl=L(Tn,"bufferCount"),In=class extends N{constructor(t,e){super(t),this.buffer=[];let r=new N(t);r.next=i=>{t.next(this.buffer),this.buffer=[]},r.complete=$,r.subscribe(e)}next(t){this.buffer.push(t)}complete(){this.buffer.length&&this.sink.next(this.buffer),super.complete()}},Ll=L(In,"buffer");function ze(n){let t=arguments,e=We()(de(r=>{e.next=i=>r.next(i),e.complete=()=>r.complete(),e.error=i=>r.error(i),n&&r.subscribe(n)},"subject",t));return e.next=$,e.complete=$,e.error=$,e}var br={promise:n=>{Promise.resolve().then(n)},setImmediate:typeof setImmediate!="undefined"?n=>setImmediate(n):null,setTimeout:n=>setTimeout(n,0)},ic=()=>typeof Promise!="undefined"?br.promise:br.setImmediate?br.setImmediate:br.setTimeout,Vl=ic();function bt(n){return de(t=>{let e=0,r=setInterval(()=>t.next(e++),n);return t.defer(()=>{clearInterval(r)}),"interval"},"interval",arguments)}function ps(n,t){return de(e=>{let r=0,i=setTimeout(()=>{if(e.removeDefer(o),e.next(r++),t){let u=setInterval(()=>e.next(r++),t);e.defer(()=>{clearInterval(u)})}else e.complete()},n),o=()=>clearTimeout(i);e.defer(o)},"timer",arguments)}function Sn(n,t){return e=>{let r=i=>e.next(i);e.defer(()=>t(r)),n(r)}}function Se(n,t){if("on"in n&&"off"in n)return de(Sn(e=>n.on(t,e),e=>n.off(t,e)),"fromEvent",arguments);if("addListener"in n&&"removeListener"in n)return de(Sn(e=>n.addListener(t,e),e=>n.removeListener(t,e)),"fromEvent",arguments);if("addEventListener"in n)return de(Sn(e=>n.addEventListener(t,e),e=>n.removeEventListener(t,e)),"fromEvent",arguments);throw"target is not a EventDispachter"}var yn=class extends N{constructor(t,e,r){super(t),this.f=e;let i=()=>{this.sink.next(this.acc),this.sink.complete()};typeof r=="undefined"?this.next=o=>{this.acc=o,this.complete=i,this.resetNext()}:(this.acc=r,this.complete=i)}next(t){this.acc=this.f(this.acc,t)}},sc=L(yn,"reduce");var An=class extends N{constructor(t,e,r){super(t),this.filter=e,this.thisArg=r}next(t){this.filter.call(this.thisArg,t)&&this.sink.next(t)}},gt=L(An,"filter"),Rn=class extends N{next(t){}},$l=L(Rn,"ignoreElements"),Un=class extends N{constructor(t,e){super(t),this.count=e}next(t){this.sink.next(t),--this.count===0&&(this.doDefer(),this.complete())}},Er=L(Un,"take"),On=class extends N{constructor(t,e){super(t);let r=new N(t);r.next=()=>{r.doDefer(),t.complete()},r.complete=bn,r.subscribe(e)}},Oe=L(On,"takeUntil"),xn=class extends N{constructor(t,e){super(t),this.f=e}next(t){this.f(t)?this.sink.next(t):(this.doDefer(),this.complete())}},Fn=L(xn,"takeWhile");var Pn=class extends N{constructor(t,e){super(t),this.count=e}next(t){--this.count===0&&(this.next=super.next)}},Yl=L(Pn,"skip"),vn=class extends N{constructor(t,e){super(t),t.next=$;let r=new N(t);r.next=()=>{r.doDefer(),t.resetNext()},r.complete=bn,r.subscribe(e)}},Kl=L(vn,"skipUntil"),Dn=class extends N{constructor(t,e){super(t),this.f=e}next(t){this.f(t)||(this.next=super.next,this.next(t))}},fs=L(Dn,"skipWhile"),oc={leading:!0,trailing:!1},Nn=class extends N{constructor(t,e,r){super(t),this.durationSelector=e,this.trailing=r}cacheValue(t){this.last=t,this.disposed&&this.throttle(t)}send(t){this.sink.next(t),this.throttle(t)}throttle(t){this.reset(),this.subscribe(this.durationSelector(t))}next(){this.complete()}complete(){this.dispose(),this.trailing&&this.send(this.last)}},Cn=class extends N{constructor(t,e,r=oc){super(t),this.durationSelector=e,this.config=r,this._throttle=new Nn(this.sink,this.durationSelector,this.config.trailing),this._throttle.dispose()}next(t){this._throttle.disposed&&this.config.leading?this._throttle.send(t):this._throttle.cacheValue(t)}complete(){this._throttle.throttle=$,this._throttle.complete(),super.complete()}},_s=L(Cn,"throttle");var wn=class extends N{next(){this.complete()}complete(){this.dispose(),this.sink.next(this.last)}},gr=class extends N{constructor(t,e){super(t),this.durationSelector=e,this._debounce=new wn(this.sink),this._debounce.dispose()}next(t){this._debounce.dispose(),this._debounce.reset(),this._debounce.last=t,this._debounce.subscribe(this.durationSelector(t))}complete(){this._debounce.complete(),super.complete()}},hs=L(gr,"debounce"),bs=n=>L(gr,"debounceTime")(t=>ps(n)),Ln=class extends N{constructor(t,e,r){super(t),this.count=e,this.defaultValue=r}next(t){this.count--===0&&(this.defaultValue=t,this.doDefer(),this.complete())}complete(){if(this.defaultValue===void 0){this.error(new Error("not enough elements in sequence"));return}else this.sink.next(this.defaultValue);super.complete()}},Jl=L(Ln,"elementAt");var Mn=class extends N{constructor(t,e){super(t),this.f=e,this.i=0}next(t){this.f(t)?(this.sink.next(this.i++),this.doDefer(),this.complete()):++this.i}},Xl=L(Mn,"findIndex"),kn=class extends N{constructor(t,e,r){super(t),this.f=e,this.defaultValue=r,this.index=0}next(t){(!this.f||this.f(t,this.index++))&&(this.defaultValue=t,this.doDefer(),this.complete())}complete(){if(this.defaultValue===void 0){this.error(new Error("no elements in sequence"));return}else this.sink.next(this.defaultValue);super.complete()}},Ql=L(kn,"first"),Bn=class extends N{constructor(t,e,r){super(t),this.f=e,this.defaultValue=r,this.index=0}next(t){(!this.f||this.f(t,this.index++))&&(this.defaultValue=t)}complete(){if(this.defaultValue===void 0){this.error(new Error("no elements in sequence"));return}else this.sink.next(this.defaultValue);super.complete()}},zl=L(Bn,"last"),Vn=class extends N{constructor(t,e){super(t),this.predicate=e,this.index=0}next(t){this.predicate(t,this.index++)?this.result=!0:(this.result=!1,this.doDefer(),this.complete())}complete(){if(this.result===void 0){this.error(new Error("no elements in sequence"));return}else this.sink.next(this.result);super.complete()}},Zl=L(Vn,"every");var Hn=class extends N{constructor(t,e,r){super(t),this.f=e,typeof r=="undefined"?this.next=i=>{this.acc=i,this.resetNext(),this.sink.next(this.acc)}:this.acc=r}next(t){this.sink.next(this.acc=this.f(this.acc,t))}},nd=L(Hn,"scan"),qn=class extends N{constructor(){super(...arguments),this.hasLast=!1}next(t){this.hasLast?this.sink.next([this.last,t]):this.hasLast=!0,this.last=t}},id=L(qn,"pairwise"),Tr=class extends N{constructor(t,e,r){super(t),this.mapper=e,this.thisArg=r}next(t){super.next(this.mapper.call(this.thisArg,t))}},tt=L(Tr,"map"),Zn=n=>L(Tr,"mapTo")(t=>n),Ze=class extends N{constructor(t,e,r){super(t),this.data=e,this.context=r}next(t){let e=this.context.combineResults;e?this.sink.next(e(this.data,t)):this.sink.next(t)}tryComplete(){this.context.resetComplete(),this.dispose()}},et=class n extends N{constructor(t,e,r){super(t),this.makeSource=e,this.combineResults=r,this.index=0}subInner(t,e){let r=this.currentSink=new e(this.sink,t,this);this.complete===n.prototype.complete&&(this.complete=this.tryComplete),r.complete=r.tryComplete,r.subscribe(this.makeSource(t,this.index++))}complete(){this.sink.complete()}tryComplete(){this.currentSink.resetComplete(),this.dispose()}},Ir=class extends Ze{},Sr=class extends et{next(t){this.subInner(t,Ir),this.next=e=>{this.currentSink.dispose(),this.subInner(e,Ir)}}},ei=L(Sr,"switchMap");function Ur(n){return(t,e)=>n(()=>t,e)}var kt=Ur(L(Sr,"switchMapTo")),Gn=class extends Ze{tryComplete(){this.dispose(),this.context.sources.length?this.context.subNext():(this.context.resetNext(),this.context.resetComplete())}},yr=class extends et{constructor(){super(...arguments),this.sources=[],this.next2=this.sources.push.bind(this.sources)}next(t){this.next2(t),this.subNext()}subNext(){this.next=this.next2,this.subInner(this.sources.shift(),Gn),this.disposed&&this.sources.length===0&&this.currentSink.resetComplete()}tryComplete(){this.sources.length===0&&this.currentSink.resetComplete(),this.dispose()}},sd=L(yr,"concatMap"),od=Ur(L(yr,"concatMapTo")),Wn=class extends Ze{tryComplete(){this.context.inners.delete(this),super.dispose(),this.context.inners.size===0&&this.context.resetComplete()}},Ar=class extends et{constructor(){super(...arguments),this.inners=new Set}next(t){this.subInner(t,Wn),this.inners.add(this.currentSink)}tryComplete(){this.inners.size===1?this.inners.forEach(t=>t.resetComplete()):this.dispose()}},ad=L(Ar,"mergeMap"),ud=Ur(L(Ar,"mergeMapTo")),jn=class extends Ze{dispose(){this.context.resetNext(),super.dispose()}},Rr=class extends et{next(t){this.next=$,this.subInner(t,jn)}},cd=L(Rr,"exhaustMap"),ld=Ur(L(Rr,"exhaustMapTo")),$n=class extends N{constructor(t,e){super(t),this.f=e,this.groups=new Map}next(t){let e=this.f(t),r=this.groups.get(e);typeof r=="undefined"&&(r=ze(),r.key=e,this.groups.set(e,r),super.next(r)),r.next(t)}complete(){this.groups.forEach(t=>t.complete()),super.complete()}error(t){this.groups.forEach(e=>e.error(t)),super.error(t)}},dd=L($n,"groupBy"),Yn=class extends N{constructor(){super(...arguments),this.start=new Date}next(t){this.sink.next({value:t,interval:Number(new Date)-Number(this.start)}),this.start=new Date}},md=L(Yn,"timeInterval"),Kn=class extends N{constructor(t,e){super(t),this.miniseconds=e,this.buffer=[],this.id=setInterval(()=>{this.sink.next(this.buffer.concat()),this.buffer.length=0},this.miniseconds)}next(t){this.buffer.push(t)}complete(){this.sink.next(this.buffer),super.complete()}dispose(){clearInterval(this.id),super.dispose()}},pd=L(Kn,"bufferTime"),Jn=class extends N{constructor(t,e){super(t),this.buffer=[],this.delayTime=e}dispose(){clearTimeout(this.timeoutId),super.dispose()}delay(t){this.timeoutId=setTimeout(()=>{let e=this.buffer.shift();if(e){let{time:r,data:i}=e;super.next(i),this.buffer.length&&this.delay(Number(this.buffer[0].time)-Number(r))}},t)}next(t){this.buffer.length||this.delay(this.delayTime),this.buffer.push({time:new Date,data:t})}complete(){this.timeoutId=setTimeout(()=>super.complete(),this.delayTime)}},fd=L(Jn,"delay"),Xn=class extends N{constructor(t,e){super(t),this.selector=e}error(t){this.dispose(),this.selector(t)(this.sink)}},_d=L(Xn,"catchError"),Qn=class extends Ze{tryComplete(){let t=this.context.inners.delete(this);super.dispose(),t&&this.context.checkComplete()}next(t){this.sink.next(t),this.context.expandValue(t)}},zn=class extends et{constructor(t,e){super(t,e),this.project=e,this.inners=new Set,this.sourceCompleted=!1}next(t){this.sink.next(t),this.expandValue(t)}expandValue(t){let e=new Qn(this.sink,t,this);this.currentSink=e,this.complete=this.tryComplete,e.complete=e.tryComplete,this.inners.add(e),e.subscribe(this.makeSource(t,this.index++))}complete(){this.sourceCompleted=!0,this.checkComplete()}checkComplete(){this.sourceCompleted&&this.inners.size===0&&(this.resetComplete(),super.complete())}tryComplete(){this.sourceCompleted=!0,this.checkComplete()}},hd=L(zn,"expand");var X=(n=$,t=$,e=$)=>r=>new _r(r,n,t,e),ti=class extends N{constructor(t,e){super(t),e instanceof Function?this.next=r=>{e(r),t.next(r)}:(e.next&&(this.next=r=>{e.next(r),t.next(r)}),e.complete&&(this.complete=()=>{e.complete(),t.complete()}),e.error&&(this.error=r=>{e.error(r),t.error(r)}))}},Or=L(ti,"tap"),ri=class extends N{constructor(t,e){super(t),this.timeout=e,this.id=setTimeout(()=>this.error(new hr(this.timeout)),this.timeout)}next(t){super.next(t),clearTimeout(this.id),this.next=super.next}dispose(){clearTimeout(this.id),super.dispose()}},Ed=L(ri,"timeout");var rt="5.0.0";var gs=typeof importScripts!="undefined",xr=typeof registerProcessor!="undefined";var ni="";var ac="web.sdk.qcloud.com";var uc=`https://${ac}/trtc/webrtc/doc`,Pd=`${uc}/zh-cn/`;var Es="https://yun.tim.qq.com",Ts="https://apisgp.my-imcloud.com";var Is={LOG:"jssdk_log",EVENT:"jssdk_event",KEY_POINT:"jssdk_new_endreport",KV_STAT:"jssdk_key_metrics_report"};var Be=(u=>(u[u.TRACE=0]="TRACE",u[u.DEBUG=1]="DEBUG",u[u.INFO=2]="INFO",u[u.WARN=3]="WARN",u[u.ERROR=4]="ERROR",u[u.NONE=5]="NONE",u))(Be||{}),Ss=18e3;var vd=7*24*3600*1e3;var ys={"120p":{width:160,height:120,frameRate:15,bitrate:200},"120p_2":{width:160,height:120,frameRate:15,bitrate:100},"180p":{width:320,height:180,frameRate:15,bitrate:350},"180p_2":{width:320,height:180,frameRate:15,bitrate:150},"240p":{width:320,height:240,frameRate:15,bitrate:400},"240p_2":{width:320,height:240,frameRate:15,bitrate:200},"360p":{width:640,height:360,frameRate:15,bitrate:800},"360p_2":{width:640,height:360,frameRate:15,bitrate:400},"480p":{width:640,height:480,frameRate:15,bitrate:900},"480p_2":{width:640,height:480,frameRate:15,bitrate:500},"720p":{width:1280,height:720,frameRate:15,bitrate:1500},"1080p":{width:1920,height:1080,frameRate:15,bitrate:2e3},"1440p":{width:2560,height:1440,frameRate:30,bitrate:4860},"4K":{width:3840,height:2160,frameRate:30,bitrate:9e3}},Dd=ys["480p_2"],Nd=ys["120p_2"];var Bt={CANVAS:"canvas",AUDIO:"audio",VIDEO:"video",SCREEN:"screen",SMALL:"small",BIG:"big",AUXILIARY:"auxiliary",SMALL_VIDEO:"smallVideo",FACING_MODE_USER:"user",FACING_MODE_ENVIRONMENT:"environment",MUTE:"mute",UNMUTE:"unmute",ENDED:"ended",PLAYING:"playing",PAUSE:"pause",ERROR:"error",LOADSTART:"loadstart",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",AUDIO_INPUT:"audioinput",VIDEO_INPUT:"videoinput",DETAIL:"detail",TEXT:"text",MAIN:"main",BACKUP:"backup",BANNED:"banned",KICK:"kick",USER_TIME_OUT:"user_time_out",ROOM_DISBAND:"room_disband",SEI_MESSAGE:"sei-message",ADD:"add",REMOVE:"remove",REPLACE:"replace",TRACK:"track",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",TRANSCEIVER_DIRECTION_SENDONLY:"sendonly",TRANSCEIVER_DIRECTION_RECVONLY:"recvonly",ENTER_PICTURE_IN_PICTURE:"enterpictureinpicture",LEAVE_PICTURE_IN_PICTURE:"leavepictureinpicture",RESIZE:"resize",TIME_UPDATE:"timeupdate"};var Et=1,Pr=2,vr=4,Tt=8,It=64,St=16;var Cd=Bt.MAIN,wd=Bt.AUXILIARY;var As=30;var Ld=Bt.BIG,Md=Bt.SMALL,kd=10*1e3;var Bd=Object.keys(Be),Rs=["normal leave","timeout leave","kick","role change"];var Vd=10*1e3;var lc=function(n,t,e,r){function i(o){return o instanceof e?o:new e(function(u){u(o)})}return new(e||(e=Promise))(function(o,u){function p(h){try{m(r.next(h))}catch(f){u(f)}}function l(h){try{m(r.throw(h))}catch(f){u(f)}}function m(h){h.done?o(h.value):i(h.value).then(p,l)}m((r=r.apply(n,t||[])).next())})},ii=Symbol(32),si=Symbol(16),oi=Symbol(8),me=class{constructor(t){this.g=t,this.consumed=0,t&&(this.need=t.next().value)}setG(t){this.g=t,this.demand(t.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(t,e){return e&&this.consume(),this.need=t,this.flush()}read(t){return lc(this,void 0,void 0,function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise((e,r)=>{var i;this.reject=r,this.resolve=u=>{delete this.lastReadPromise,delete this.resolve,delete this.need,e(u)},this.demand(t,!0)||(i=this.pull)===null||i===void 0||i.call(this,t)})})}readU32(){return this.read(ii)}readU16(){return this.read(si)}readU8(){return this.read(oi)}close(){var t;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),(t=this.reject)===null||t===void 0||t.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let t=null,e=this.buffer.subarray(this.consumed),r=0,i=o=>e.length<(r=o);if(typeof this.need=="number"){if(i(this.need))return;t=e.subarray(0,r)}else if(this.need===ii){if(i(4))return;t=e[0]<<24|e[1]<<16|e[2]<<8|e[3]}else if(this.need===si){if(i(2))return;t=e[0]<<8|e[1]}else if(this.need===oi){if(i(1))return;t=e[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(e.subarray(0,r)),t=this.need}else if(this.g){this.g.throw(new Error("Unsupported type"));return}}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(e.subarray(0,r)),t=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(t).value,!0):this.resolve&&this.resolve(t),t}write(t){if(t instanceof Uint8Array?this.malloc(t.length).set(t):"buffer"in t?this.malloc(t.byteLength).set(new Uint8Array(t.buffer,t.byteOffset,t.byteLength)):this.malloc(t.byteLength).set(new Uint8Array(t)),this.g||this.resolve)this.flush();else return new Promise(e=>this.pull=e)}writeU32(t){this.malloc(4).set([t>>24&255,t>>16&255,t>>8&255,t&255]),this.flush()}writeU16(t){this.malloc(2).set([t>>8&255,t&255]),this.flush()}writeU8(t){this.malloc(1)[0]=t,this.flush()}malloc(t){if(this.buffer){let e=this.buffer.length,r=e+t;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{let i=new Uint8Array(r);i.set(this.buffer),this.buffer=i}return this.buffer.subarray(e,r)}else return this.buffer=new Uint8Array(t),this.buffer}};me.U32=ii;me.U16=si;me.U8=oi;var dc=128,mc=127,Yd=~mc,Kd=Math.pow(2,31);function ai(n){let t=new me;for(;n>=128;)t.malloc(1)[0]=n&255|dc,n>>>=7;return t.malloc(1)[0]=n&255,t.buffer||new Uint8Array(0)}function Dr(n,t=0){let e=new me,r=t<<3;switch(typeof n){case"boolean":let i=e.malloc(2);i[0]=r,i[1]=n?1:0;break;case"number":e.malloc(1)[0]=r,e.write(ai(n));break;case"string":e.malloc(1)[0]=r|2;let o=new TextEncoder().encode(n);e.write(ai(o.length));let u=e.malloc(o.length);for(let l=0;l<o.length;l++)u[l]=o[l];break;case"object":let p=new me;if(Array.isArray(n))for(let l=0;l<n.length;l++){let m=Dr(n[l],l+1);m&&p.write(m)}else{let l=1;for(let m in n){let h=Dr(n[m],l++);h&&p.write(h)}}t===0?p.buffer&&e.write(p.buffer):(e.malloc(1)[0]=r|2,p.buffer&&(e.write(ai(p.buffer.length)),e.write(p.buffer)))}return e.buffer||new Uint8Array(0)}var Vt=class{constructor(){d(this,"buffer");this.buffer=[]}get data(){return this.buffer}get length(){return this.buffer.length}writeInt32(t){this.buffer.push(t>>>24&255),this.buffer.push(t>>>16&255),this.buffer.push(t>>>8&255),this.buffer.push(t&255)}writeInt16(t){this.buffer.push(t>>>8&255),this.buffer.push(t&255)}writeByte(t){this.buffer.push(t&255)}writeBytes(t){for(let e=0;e<t.length;e++)this.buffer.push(t[e])}};function ui(n,t,e){n[e]=t>>>24&255,n[e+1]=t>>>16&255,n[e+2]=t>>>8&255,n[e+3]=t&255}function ae(n,t){return n[t]<<24|n[t+1]<<16|n[t+2]<<8|n[t+3]}function ci(n,t){return n[t]}function yt(n,t,e){return new TextDecoder().decode(pc(n,t,e))}function pc(n,t,e){return n.slice(t,t+e)}var li=0,Nr=2654435769,Cr=16,mi=4,At=2,Rt=7;function fc(n,t,e,r="AVQualityReportSvc.C2S",i=2e3,o=2,u=30){return{version:i,encryption:o,d2:"",d2Len:0,uinType:u,uin:"",uinLen:0,reqHead:{seqNumber:e,appId:n,appidAtThird:new Uint8Array(0),a2:"",a2Len:0,serviceCmd:r,serviceCmdLen:0,cookie:"",cookieLen:0,imei:"",imeiLen:0,ksid:"",ksidLen:0,clientVersionInfo:"",clientVersionInfoLen:0},busiBuff:t}}function Us(n,t){let e=new Vt,r=fc(t,n,li);li=li+1&2147483647,e.writeInt32(0),e.writeInt32(r.version),e.writeByte(r.encryption);let i=new TextEncoder().encode(r.d2);e.writeInt32(i.length+4),i&&e.writeBytes(i),e.writeByte(r.uinType);let o=new TextEncoder().encode(r.uin);e.writeInt32(o.length+4),o.length&&e.writeBytes(o);let u=new Vt;u.writeInt32(0),u.writeInt32(r.reqHead.seqNumber),u.writeInt32(r.reqHead.appId),u.writeByte(r.reqHead.appId>>>24&255),u.writeByte(r.reqHead.appId>>>16&255),u.writeByte(r.reqHead.appId>>>8&255),u.writeByte(r.reqHead.appId&255);for(let G=4;G<16;G++)u.writeByte(0);let p=new TextEncoder().encode(r.reqHead.a2);u.writeInt32(p.length+4),p.length&&u.writeBytes(p);let l=new TextEncoder().encode(r.reqHead.serviceCmd);u.writeInt32(l.length+4),l.length&&u.writeBytes(l);let m=new TextEncoder().encode(r.reqHead.cookie);u.writeInt32(m.length+4),m.length&&u.writeBytes(m);let h=new TextEncoder().encode(r.reqHead.imei);u.writeInt32(h.length+4),h.length&&u.writeBytes(h);let f=new TextEncoder().encode(r.reqHead.ksid);u.writeInt32(f.length+4),f.length&&u.writeBytes(f);let g=new TextEncoder().encode(r.reqHead.clientVersionInfo);u.writeInt16(g.length+2),g.length&&u.writeBytes(g);let A=u.length;u.data[0]=A>>>24&255,u.data[1]=A>>>16&255,u.data[2]=A>>>8&255,u.data[3]=A&255,Ft(n)&&(n=new TextEncoder().encode(n)),u.writeInt32(n.length+4),n.length&&u.writeBytes(n);let R=new Uint8Array(u.data),w=null;r.encryption===1?w=new TextEncoder().encode(r.uin):r.encryption===2&&(w=new Uint8Array(16)),w&&(R=_c(R,w)),e.writeBytes(R);let U=new Uint8Array(e.data),D=U.length;return U[0]=D>>>24&255,U[1]=D>>>16&255,U[2]=D>>>8&255,U[3]=D&255,U}function _c(n,t){let e=n.length,i=(e+1+At+Rt)%8;i&&(i=8-i);let o=e+1+At+Rt+i,u=new Uint8Array(o),p=0,l=new Uint8Array(8),m=new Uint8Array(8),h=new Uint8Array(8),f=0;l[0]=Math.floor(Math.random()*256)&248|i,f=1;for(let A=0;A<i;A++)l[f]=Math.floor(Math.random()*256)&255,f+=1;for(let A=0;A<At;)if(f<8&&(l[f]=Math.floor(Math.random()*256)&255,f+=1,A+=1),f===8){di(l,t,m,h,u,p),p+=8,f=0;for(let R=0;R<8;R++)h[R]=u[p-8+R]}let g=0;for(;g<e;)if(f<8&&(l[f]=n[g],f+=1,g+=1),f===8){di(l,t,m,h,u,p),p+=8,f=0;for(let A=0;A<8;A++)h[A]=u[p-8+A]}for(let A=0;A<Rt;)if(f<8&&(l[f]=0,f+=1,A+=1),f===8){di(l,t,m,h,u,p),p+=8,f=0;for(let R=0;R<8;R++)h[R]=u[p-8+R]}return u}function di(n,t,e,r,i,o){for(let u=0;u<8;u++)n[u]^=r[u];hc(n,t,i,o);for(let u=0;u<8;u++)i[o+u]^=e[u];for(let u=0;u<8;u++)e[u]=n[u]}function hc(n,t,e,r){let i=ae(n,0),o=ae(n,4),u=[];for(let l=0;l<4;l++)u[l]=ae(t,l*4);let p=0;for(let l=0;l<Cr;l++)p+=Nr,p=p>>>0,i+=(o<<4)+u[0]^o+p^(o>>>5)+u[1],i=i>>>0,o+=(i<<4)+u[2]^i+p^(i>>>5)+u[3],o=o>>>0;ui(e,i,r),ui(e,o,r+4)}var bc=0;var pi=function(){return Date.now()+bc},Os=function(){let n=new Date;return n.setTime(pi()),n.toLocaleString()},xs=function(n){let t=String(n.getMilliseconds());return"padStart"in String.prototype&&(t=t.toString().padStart(3,"0")),`${n.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1")}:${t}`};function Ps(n){let t=gc(n);return t==null?void 0:t.busiBuff}function gc(n){try{let t={},e=0;t.totalLength=ae(n,e),e+=4,t.version=ae(n,e),e+=4,t.encryption=ci(n,e),e+=1,t.uinType=ci(n,e),e+=1,t.uinLength=ae(n,e),e+=4,t.uin=t.uinLength>4?yt(n,e,t.uinLength-4):"",e+=t.uinLength-4;let r=n.slice(e);if(t.encryption===2){let i=new Uint8Array(16).fill(0);n=Ec(r,i),t.decrypted=!0,e=0}else n=r,e=0;return t.rspHeadLength=ae(n,e),e+=4,t.seqNo=ae(n,e),e+=4,t.retCode=ae(n,e),e+=4,t.retStrLength=ae(n,e),e+=4,t.retStr=t.retStrLength?yt(n,e,t.retStrLength-4):"",e+=t.retStrLength-4,t.serviceCmdLength=ae(n,e),e+=4,t.serviceCmd=t.serviceCmdLength?yt(n,e,t.serviceCmdLength-4):"",e+=t.serviceCmdLength-4,t.cookieLength=ae(n,e),e+=4,t.cookie=t.cookieLength?yt(n,e,t.cookieLength-4):"",e+=t.cookieLength-4,t.flag=ae(n,e),e+=4,t.busiBuffLength=ae(n,e),e+=4,t.busiBuff=t.busiBuffLength?yt(n,e,t.busiBuffLength-4):"",e+=t.busiBuffLength-4,t}catch(t){}}function vs(n,t){let e=n[0]<<24|n[1]<<16|n[2]<<8|n[3],r=n[4]<<24|n[5]<<16|n[6]<<8|n[7];e=e>>>0,r=r>>>0;let i=Nr*Cr>>>0;for(let o=0;o<Cr;o++)r-=(e<<mi)+t[2]^e+i^(e>>>5)+t[3],r=r>>>0,e-=(r<<mi)+t[0]^r+i^(r>>>5)+t[1],e=e>>>0,i-=Nr,i=i>>>0;return new Uint8Array([e>>>24&255,e>>>16&255,e>>>8&255,e&255,r>>>24&255,r>>>16&255,r>>>8&255,r&255])}function Ec(n,t){let e=0,r=new Uint8Array(8).fill(0),i=new Uint8Array(n.slice(0,8)),o=vs(i,t),u=o[0]&7,p=n.length-1-u-At-Rt,l=new Uint8Array(p),m=0,h=r,f=n.slice(0,8);e=8;let g=1;g+=u;for(let R=1;R<=At;)if(g<8)g++,R++;else if(g===8){let w=fi(n,e,h,f,o,t);h=w.ivPreCrypt,f=w.ivCurCrypt,o=w.debiBuf,e=w.bufPos,g=0}let A=p;for(;A>0;)if(g<8)l[m++]=o[g]^h[g],g++,A--;else if(g===8){let R=fi(n,e,h,f,o,t);h=R.ivPreCrypt,f=R.ivCurCrypt,o=R.debiBuf,e=R.bufPos,g=0}for(let R=1;R<=Rt;)if(g<8)o[g]^h[g],g++,R++;else if(g===8){if(e>=n.length)break;let w=fi(n,e,h,f,o,t);if(!w.success)break;h=w.ivPreCrypt,f=w.ivCurCrypt,o=w.debiBuf,e=w.bufPos,g=0}return l}function fi(n,t,e,r,i,o){if(t+8>n.length)return{success:!1};let u=new Uint8Array(r),p=n.slice(t,t+8),l=new Uint8Array(8);for(let h=0;h<8;h++)l[h]=i[h]^p[h];let m=vs(l,o);return{success:!0,ivPreCrypt:u,ivCurCrypt:p,debiBuf:m,bufPos:t+8}}var Ds=typeof TextDecoder!="undefined"?new TextDecoder:void 0;function Ns({url:n,body:t,method:e="POST",timeout:r,priority:i}){return new Promise((o,u)=>{if("fetch"in window)return fetch(n,{method:e,body:t,priority:i}).then(l=>l.clone().json().then(m=>({data:m}),()=>l.arrayBuffer().then(m=>({data:Ps(new Uint8Array(m))||(Ds?Ds.decode(m):m)})))).then(o,u);let p=new XMLHttpRequest;p.onreadystatechange=()=>{if(p.readyState===4)if(p.status>=200&&p.status<300)try{let l=JSON.parse(p.response);o({data:l})}catch(l){o({data:p.response})}else u({status:p.status,statusText:p.statusText||"request failed!"})},p.timeout=r||5e3,p.open(e,n,!0),p.send(t)})}var Tc=Object.prototype.hasOwnProperty;var Ut=n=>typeof n=="function",it=n=>typeof n=="undefined";var Cs=n=>typeof n=="boolean";var Ic=function(n){if(!n||typeof n!="object"||Object.prototype.toString.call(n)!="[object Object]")return!1;let t=Object.getPrototypeOf(n);if(t===null)return!0;let e=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof e=="function"&&e instanceof e&&Function.prototype.toString.call(e)===Function.prototype.toString.call(Object)};function ws(n){if(n==null)return!0;if(typeof n=="boolean")return!1;if(typeof n=="number")return n===0;if(typeof n=="string"||typeof n=="function"||Array.isArray(n))return n.length===0;if(n instanceof Error)return n.message==="";if(Ic(n))switch(Object.prototype.toString.call(n)){case"[object File]":case"[object Map]":case"[object Set]":return n.size===0;case"[object Object]":{for(let t in n)if(Tc.call(n,t))return!1;return!0}}return!1}var Sc=0,yc=1,Ls=2;function Ac({retryFunction:n,settings:t,onError:e,onRetrying:r,onRetryFailed:i,onRetrySuccess:o,context:u}){return function(...p){let{retries:l=5,timeout:m=1e3}=t,h=0,f=-1,g=Sc,A=async(R,w)=>{let U=u||this;try{let D=await n.apply(U,p);h>0&&o&&o.call(this,h),h=0,R(D)}catch(D){let G=()=>{clearTimeout(f),h=0,g=Ls,w(D)},ye=()=>{g!==Ls&&h<(Ut(l)?l():l)?(h++,g=yc,Ut(r)&&r.call(this,h,G),f=window.setTimeout(()=>{f=-1,A(R,w)},Ut(m)?m(h):m)):(G(),Ut(i)&&i.call(this,D))};Ut(e)?e.call(this,{error:D,retry:ye,reject:w,retryFuncArgs:p,retriedCount:h}):ye()}};return new Promise(A)}}var Ms=Ac;var st=class n{constructor(t){d(this,"_parentPath");d(this,"userId");d(this,"remoteUserId");d(this,"id");d(this,"sdkAppId");d(this,"type");d(this,"isLocal");this.id=t.id,this.userId=t.userId,this.sdkAppId=t.sdkAppId,this.remoteUserId=t.remoteUserId,this.isLocal=Cs(t.isLocal)?t.isLocal:!0,this.type=this.isLocal?"":t.type}getFullId(){return this._parentPath&&this.id?`${this._parentPath}-${this.id}`:this._parentPath?this._parentPath:this.id}createChild(t){let e=new n({id:t.id,userId:it(t.userId)?this.userId:t.userId,sdkAppId:it(t.sdkAppId)?this.sdkAppId:t.sdkAppId,type:it(t.type)?this.type:t.type,isLocal:it(t.isLocal)?this.isLocal:t.isLocal,remoteUserId:it(t.remoteUserId)?this.remoteUserId:t.remoteUserId});return e.bindParent(this),e}bindParent(t){let e=t.getFullId();this._parentPath!==e&&(this.debug(`bind logger parent: ${t.id}`),this._parentPath=e,this.userId=t.userId||this.userId,this.sdkAppId=t.sdkAppId||this.sdkAppId)}setUserId(t){this.userId=t}setSdkAppId(t){this.sdkAppId=t}log(t,e){let r=this.isLocal?this.userId:this.remoteUserId,i=this.getFullId();e.unshift(`[${this.isLocal?"\u2191":"\u2193"}${this.type&&this.type!=="main"?"*":""}${i}${r?`|${r}`:""}]`),nt.log(t,e,it(this.userId)||ws(this.userId),this.userId,this.sdkAppId)}info(...t){this.log(2,t)}debug(...t){this.log(1,t)}warn(...t){this.log(3,t)}error(...t){this.log(4,t)}};var Ce=typeof navigator=="undefined"?"":navigator.userAgent,M=n=>new RegExp(n,"i").test(Ce),te=n=>{if(M(n)){let t=new RegExp(`${n}\\/([\\d.]+)`),e=Ce.match(t);if(e&&e[1])return e[1]}return""},wr=n=>{if(M(n)){let t=new RegExp(`${n}\\/(\\d+)`),e=Ce.match(t);if(e&&e[1])return parseFloat(e[1])}return NaN},ks=/AppleWebKit\/([\d.]+)/i.exec(Ce),Rc=ks?parseFloat(ks[1]):NaN,Fs=M("iPad"),Hs=typeof navigator!="undefined"&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&M("Macintosh"),qs=M("iPhone")&&!Fs,Uc=M("iPod"),Lr=qs||Fs||Uc||Hs;var Ot=M("Android"),Gs=function(){if(Ot){let n=Ce.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(n){let t=n[1]&&parseFloat(n[1]),e=n[2]&&parseFloat(n[2]);if(t&&e)return parseFloat(`${n[1]}.${n[2]}`);if(t)return t}}return NaN}(),Tm=Ot&&M("webkit")&&Gs<2.3,Im=Ot&&Gs<5&&Rc<537,Oc=M("Firefox"),xc=te("Firefox"),Sm=wr("Firefox"),Ws=M("Edge"),Pc=te("Edge"),js=M("Edg"),vc=te("Edg"),ym=wr("Edg"),$s=M("SogouMobileBrowser"),Dc=te("SogouMobileBrowser"),Ys=M("MetaSr\\s"),Nc=te("MetaSr\\s"),ot=M("TBS"),Cc=te("TBS"),Ks=M("XWEB"),wc=te("XWEB"),Am=M("MSIE\\s8\\.0"),Lc=M("MSIE\\/\\d+"),Rm=function(){if(Lc){let n=/MSIE\s(\d+)\.\d/.exec(Ce),t=n&&parseFloat(n[1]);return!t&&/Trident\/7.0/i.test(Ce)&&/rv:11.0/.test(Ce)&&(t=11),t}return NaN}(),Mc=M("(micromessenger|webbrowser)"),kc=te("MicroMessenger"),_i=!ot&&M("MQQBrowser")&&M("COVC"),hi=!ot&&M("MQQBrowser")&&!M("COVC"),Bs=hi||_i?te("MQQBrowser"):"",Js=!ot&&M(" QQBrowser"),Bc=te(" QQBrowser"),Xs=!ot&&M("QQBrowserLite"),Vc=te("QQBrowserLite"),Qs=!ot&&M("MQBHD"),Fc=te("MQBHD"),Um=M("Windows"),Om=!Lr&&M("MAC OS X"),xm=!Ot&&M("Linux"),Pm=M("CrOS"),vm=M("MicroMessenger"),Dm=M("UCBrowser"),Nm=M("Electron"),zs=M("MiuiBrowser"),Hc=te("MiuiBrowser"),Zs=M("HuaweiBrowser"),Cm=M("Huawei")||M("HUAWEI"),wm=M("Honor")||M("HONOR"),qc=te("HuaweiBrowser"),eo=M("SamsungBrowser"),Gc=te("SamsungBrowser"),to=M("HeyTapBrowser"),Wc=te("HeyTapBrowser"),ro=M("VivoBrowser"),jc=te("VivoBrowser"),Lm=M("OpenHarmony"),Mm=te("OpenHarmony"),$c=()=>wr("Chrome"),Vs=M("CriOS"),no=M("Chrome"),Yc=!Ws&&!Ys&&!$s&&!ot&&!Ks&&!js&&!Js&&!zs&&!Zs&&!eo&&!to&&!ro&&no,io=M("HeadlessChrome"),km=$c(),Kc=te("Chrome"),Bm=wr("Electron"),Jc=!no&&!hi&&!_i&&!Xs&&!Qs&&M("Safari");var so=te("Version"),Vm=/Android.*(wv|.0.0.0)/.test(Ce),oo=(()=>{if(Hs)return so;if(Lr){let n=Ce.match(/OS (\d+)_(\d+)/i);if(n&&n[1]){let t=n[1];return n[2]&&(t+=`.${n[2]}`),t}}return""})();var Fm=Number(oo.split(".")[0]);var Hm=(()=>{let n=Number(oo.split(".")[0]);return n===14||n===13})();var qm=typeof location=="undefined"?!1:location.protocol==="file:"||location.hostname==="localhost"||location.hostname==="127.0.0.1";var Gm=Xc();function Xc(){let n=new Map([[Oc,["Firefox",xc]],[js,["Edg",vc]],[Yc,["Chrome",Kc]],[Vs,["ChiOS",te("CriOS")]],[Jc&&!Vs,["Safari",so]],[ot,["TBS",Cc]],[Ks,["XWEB",wc]],[Mc&&qs,["WeChat",kc]],[Js,["QQ(Win)",Bc]],[hi,["QQ(Mobile)",Bs]],[_i,["QQ(Mobile X5)",Bs]],[Xs,["QQ(Mac)",Vc]],[Qs,["QQ(iPad)",Fc]],[zs,["MI",Hc]],[Zs,["HW",qc]],[eo,["Samsung",Gc]],[to,["OPPO",Wc]],[ro,["VIVO",jc]],[Ws,["EDGE",Pc]],[$s,["SogouMobile",Dc]],[Ys,["Sogou",Nc]]]),t="unknown",e="unknown";return n.has(!0)&&([t,e]=n.get(!0)),{name:t,version:e}}var uo=fr(qt(),1),Zc=new uo.default,we=Zc;var kr=(v=>(v.ROOM_DESTROY="1",v.JOIN_START="21",v.JOIN_SCHEDULE_SUCCESS="22",v.JOIN_SIGNAL_CONNECTION_START="23",v.JOIN_SIGNAL_CONNECTION_END="24",v.JOIN_SEND_CMD="25",v.JOIN_RECEIVED_CMD_RES="26",v.JOIN_SUCCESS="27",v.JOIN_FAILED="28",v.LEAVE_START="51",v.LEAVE_SEND_CMD="52",v.LEAVE_SUCCESS="53",v.PUBLISH_START="61",v.SEND_FIRST_VIDEO_FRAME="62",v.PUBLISH_FAILED="63",v.SUBSCRIBE_START="81",v.SUBSCRIBE_SUCCESS="82",v.SUBSCRIBE_FAILED="84",v.UNSUBSCRIBE_SUCCESS="83",v.LOCAL_TRACK_CAPTURE_START="101",v.LOCAL_TRACK_CAPTURE_SUCCESS="102",v.LOCAL_TRACK_CAPTURE_FAILED="103",v.LOCAL_TRACK_PUBLISHED="104",v.LOCAL_TRACK_UNPUBLISHED="105",v.LOCAL_TRACK_REPLACED="106",v.SWITCH_DEVICE_SUCCESS="107",v.TRACK_MUTED="108",v.TRACK_UNMUTED="109",v.REMOTE_TRACK_SUBSCRIBED="110",v.REMOTE_TRACK_UNSUBSCRIBED="111",v.LOCAL_TRACK_RECAPTURE="112",v.LOCAL_AUDIO_STARTED="113",v.LOCAL_AUDIO_STOPPED="114",v.REMOTE_AUDIO_STARTED="115",v.REMOTE_AUDIO_STOPPED="116",v.PLAY_TRACK_START="151",v.PLAYER_STATE_CHANGED="152",v.VIDEO_LOADED_DATA="153",v.AUTOPLAY_DIALOG_CLICK_CONFIRM="154",v.AUDIO_CONTEXT_LONG_SUSPENDED="155",v.REMOTE_VIDEO_PLAY_START="156",v.REMOTE_VIDEO_PLAY_FINISH="157",v.SIGNAL_CONNECTION_STATE_CHANGED="201",v.PEER_CONNECTION_STATE_CHANGED="202",v.SINGLE_CONNECTION_STAT="203",v.SPC_RECONNECTED="204",v.HEARTBEAT_REPORT="251",v.RECEIVED_PUBLISHED_USER_LIST="252",v.REMOTE_PUBLISH_STATE_CHANGED="253",v.AUDIO_LEVEL_INTERVAL="260",v.NETWORK_QUALITY="261",v.VIDEO_CODEC_IMPLEMENTATION_CHANGED="262",v.QUALITY_LIMITATION_CHANGED="263",v.LOG="264",v.AUDIO_PROCESSOR_DEBUG="265",v.SSO_SWITCH="266",v.SEI_MESSAGE="267",v.USER_PAUSE_IN_PIP="268",v.USER_RESUME_IN_PIP="269",v.ENTER_PICTURE_IN_PICTURE="270",v.LEAVE_PICTURE_IN_PICTURE="271",v.SWITCH_ROOM_START="401",v.SWITCH_ROOM_SUCCESS="407",v.SWITCH_ROOM_FAILED="408",v))(kr||{});var at=kr;var gi=class{constructor(){d(this,"enable",!1);d(this,"ssoFailCount",0);we.on("22",({schedule:t})=>{var e;(e=t==null?void 0:t.config)!=null&&e.sso&&we.emit("266",{enable:!0})}),we.on("266",({enable:t})=>{this.enable=t})}handleUploadFailed(){this.ssoFailCount++,this.ssoFailCount>3&&we.emit("266",{enable:!1})}},Ei=new gi;var el="%cTRTC%c%s",tl="padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;",rl="display: inline",Br=class Br{constructor(){d(this,"_isEnableUploadLog",!0);d(this,"_localJoinedUser",new Map);d(this,"_queue",[]);d(this,"_timeoutId",-1);d(this,"_logLevel",1);d(this,"_logLevelToUpload",2);!gs&&!xr&&(this.checkURLParam(),this.installEvents())}get isAbleToUpload(){return this._isEnableUploadLog&&this._timeoutId!==-1}installEvents(){we.on(at.JOIN_SCHEDULE_SUCCESS,({schedule:t})=>{var e;(e=t==null?void 0:t.config)!=null&&e.logLevelToUpload&&Be[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)}),we.on(at.JOIN_START,({params:t})=>{this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()}),we.on(at.LEAVE_SUCCESS,({room:t})=>{this.deleteJoinedUser(t.userId)})}startUpload(){this._timeoutId===-1&&this.uploadInterval()}addJoinedUser(t){this._localJoinedUser.set(t.userId,t),this.startUpload()}deleteJoinedUser(t){this._localJoinedUser.delete(t)}uploadInterval(){this.upload().catch(()=>{}),this._timeoutId=window.setTimeout(()=>this.uploadInterval(),5e3)}getLogsToUpload(){let t={map:new Map,splicedQueue:[]};if(this._queue[0].forAllJoinedClients&&this._localJoinedUser.size===0)return t;let e=0;for(;e<this._queue.length&&e!==50;e++){let r=this._queue[e];if(r.forAllJoinedClients)this._localJoinedUser.forEach(({userId:i,sdkAppId:o})=>{t.map.has(i)?t.map.get(i).logs.push(r):t.map.set(i,{userId:i,sdkAppId:o,logs:[r]})});else if(Ft(r.userId)&&lo(r.sdkAppId)){let{userId:i,sdkAppId:o}=r;t.map.has(i)?t.map.get(i).logs.push(r):t.map.set(i,{userId:i,sdkAppId:o,logs:[r]})}}return t.map.size>0&&(t.splicedQueue=this._queue.splice(0,e)),t}async upload(){if(this._queue.length===0||!this._isEnableUploadLog)return;let{map:t,splicedQueue:e}=this.getLogsToUpload();if(t.size===0)return;try{let i=[...t.values()];for(let o=0;o<i.length;o++){let{userId:u,sdkAppId:p,logs:l}=i[o],m={timestamp:Os(),sdkAppId:String(p),userId:u,version:rt,log:l.map(g=>g.log).join(`
2
+ `)},h=JSON.stringify(m),f=Ei.enable?mo(m,2002,p):h;await this.uploadLogWithRetry(f,p,f instanceof Uint8Array,h),l.forEach(g=>g.uploaded=!0)}}catch(i){}let r=e.filter(i=>!i.uploaded);r.length>0&&(this._queue=r.concat(this._queue))}uploadLogWithRetry(t,e,r,i){return Ms({retryFunction:()=>Ns({url:co(e,Is.LOG),body:t,timeout:5e3,priority:"low"}).then(o=>{r&&o.data!=="ok"&&(Ei.handleUploadFailed(),this.uploadLogWithRetry(i,e,!1,i))}),settings:{retries:3,timeout:2e3},onError:({retry:o})=>{o()}})()}getPrefix(t){let e=new Date;return e.setTime(pi()),`[${xs(e)}] <${Be[t]}>`}getLogLevel(){return this._logLevel}setLogLevel(t){Gt(Be[t])||(this._logLevel!==t&&this.info("setLogLevel",t),this._logLevel=t)}enableUploadLog(){this._isEnableUploadLog=!0}disableUploadLog(){this.warn("disableUploadLog"),this._isEnableUploadLog=!1}logChunkToString(t){if(Ft(t))return t;try{return t instanceof Error?t.toString():JSON.stringify(t)}catch(e){return""}}addLogToQueue(t,e,r=!0,i,o){let u={log:e.reduce((p,l)=>`${p} ${this.logChunkToString(l)}`.trim(),""),level:t,userId:i,sdkAppId:o,forAllJoinedClients:r};we.emit(at.LOG,{log:u}),this._isEnableUploadLog&&t>=this._logLevelToUpload&&this._queue.push(u)}log(t,e,r=!0,i,o){var p;if(e.unshift(this.getPrefix(t)),this.addLogToQueue(t,e,r,i,o),t<this._logLevel)return;let u=((p=Be[t])==null?void 0:p.toLowerCase())||"info";Br.PRINT_LOG_TAG?console[u](el,tl,rl,...e):console[u](...e)}debug(...t){this.log(1,t)}info(...t){this.log(2,t)}warn(...t){this.log(3,t)}error(...t){this.log(4,t)}createLogger(t){if(t.parent instanceof st){let e=t,{parent:r}=e,i=ls(e,["parent"]),o=new st(i);return o.bindParent(r),o}return new st(t)}checkURLParam(){let e=new URLSearchParams(location.search).get("logLevelToUpload"),r=e?Number(e):-1;Be[r]&&(this._logLevelToUpload=r)}getQueue(){return this._queue}};d(Br,"PRINT_LOG_TAG",!(Lr||Ot||io));var Ti=Br,nt=new Ti;var nl=n=>Number(n)<14e8,co=function(n,t){let e;ni?e=ni:e=nl(n)?Ts:Es;let r=Math.floor(Math.random()*2**31);return`${e}/v5/AVQualityReportSvc/C2S?random=${r}&sdkappid=${n}&cmdtype=${t}`};var Ip=typeof window!="undefined"&&typeof window.glog=="function"?window.glog:()=>{};var Gt=n=>typeof n=="undefined",Ft=n=>typeof n=="string",lo=n=>typeof n=="number";var Sp=typeof HTMLMediaElement!="undefined"&&"setSinkId"in HTMLMediaElement.prototype;var{toString:yp}=Object.prototype;function Ii(n,t){return{userId:t,hasAudio:!!(n&Tt),hasVideo:!!(n&Et),hasAuxiliary:!!(n&vr),hasSmall:!!(n&Pr),audioMuted:!!(n&It),videoMuted:!!(n&St),audioAvailable:!!(n&Tt)&&!(n&It),videoAvailable:!!(n&Et)&&!(n&St)}}function il(n,t,e,r){let i={data:n,random:Math.floor(Math.random()*2147483648),sdkAppId:e};return Gt(r)||(i=cs(Mt({},i),{gzip:+r})),{uint32_sdkappid:0,uint64_from_uin:0,uint32_timestamp:0,uint32_seq:0,msg_common_info:{msg_device_info:{enum_device_type:0,str_device_brand:"",str_device_model:"",str_device_board:"",str_device_cpu_abi:""},msg_system_info:{enum_os_type:0,str_os_version:"",msg_network_info:0},msg_network_info:{enum_network_type:0}},msg_report_content:{uint32_type:t,bytes_report_data:JSON.stringify(i)}}}function mo(n,t,e,r){try{let i=il(n,t,e,r),o=Dr(i);return Us(o,e)}catch(i){return JSON.stringify(n)}}function Wt(n,t=!1){let e=Object.defineProperties(ze(),{postMessage:{value:n.postMessage.bind(n)},port:{get(){return n},set(i){n.onmessage=$,n.onmessageerror=$,n=i,r()}}});function r(){n.onmessage=i=>{i.data?i.ports.length||t?e.next(i):e.next(i.data):(e.complete(),n.close())},n.onmessageerror=i=>{e.error(i),n.close()}}return r(),e}var Si=class extends N{constructor(t,e){super(t);let r=new N(t);r.next=$,e(r)}},Ve=L(Si,"takeUntilComplete");var ne={useWt:!0,useAINS:!0,useHardDecoder:"prefer-software",useHardEncoder:"prefer-software",unreliable:!1,debug:!1,assetsPath:"",enableUpload:!0},sl="__INLINE__WORKER__",ol="__INLINE__WASM__",{debug:Vr}=console;ne.debug||(console.debug=()=>{});var Mp=!sl.startsWith("__"),kp=!ol.startsWith("__");var po=H(bt(250),tt(()=>performance.now()),We()),xe=n=>t=>{let e=0,r=performance.now();H(po,tt(i=>(i-r)/n>>0),gt(i=>i!=e?(e=i,!0):!1))(t)},je=n=>t=>{let e=performance.now();H(po,fs(r=>r-e<n),Er(1))(t)};function $e(n,t,e){let r=t.aborted?Promise.reject(t.reason):new Promise((i,o)=>{t.addEventListener("abort",()=>o(t.reason),{once:!0}),typeof n=="function"?n(i,o):n.then(i,o)});return e?r.catch(e):r}var al=new Intl.DateTimeFormat("zh-CN",{dateStyle:"short",timeStyle:"medium"}),ut=()=>al.format(new Date),ie=(O=>(O[O.JOIN_ROOM=0]="JOIN_ROOM",O[O.LEAVE_ROOM=1]="LEAVE_ROOM",O[O.PUBLISH=2]="PUBLISH",O[O.UNPUBLISH=3]="UNPUBLISH",O[O.SUBSCRIBE=4]="SUBSCRIBE",O[O.UNSUBSCRIBE=5]="UNSUBSCRIBE",O[O.GET_WHOLE_LIST=6]="GET_WHOLE_LIST",O[O.QUALITY_REPORT=7]="QUALITY_REPORT",O[O.MUTE=8]="MUTE",O[O.UNMUTE=9]="UNMUTE",O[O.CONFIG=10]="CONFIG",O[O.REQUEST_PLI=11]="REQUEST_PLI",O[O.HEARTBEAT=12]="HEARTBEAT",O[O.START_PUSH_CDN=13]="START_PUSH_CDN",O[O.STOP_PUSH_CDN=14]="STOP_PUSH_CDN",O[O.START_MCU_MIX=15]="START_MCU_MIX",O[O.STOP_MCU_MIX=16]="STOP_MCU_MIX",O[O.UDPATE_TRACK=17]="UDPATE_TRACK",O[O.START_PUSHING=18]="START_PUSHING",O[O.STOP_PUSHING=19]="STOP_PUSHING",O[O.SWITCH_ROLE=20]="SWITCH_ROLE",O[O.WHOLE_LIST_UPDATE=255]="WHOLE_LIST_UPDATE",O[O.PEER_JOINED=256]="PEER_JOINED",O[O.PEER_LEFT=257]="PEER_LEFT",O[O.PEER_UDPATED_TRACK=258]="PEER_UDPATED_TRACK",O[O.SELECT_ABILITY=259]="SELECT_ABILITY",O[O.PEER_REQUEST_PLI=260]="PEER_REQUEST_PLI",O[O.AUDIO_DATA=4095]="AUDIO_DATA",O[O.VIDEO_DATA=4096]="VIDEO_DATA",O[O.SCREEN_DATA=4097]="SCREEN_DATA",O[O.NACK=4098]="NACK",O[O.ACK=4099]="ACK",O[O.REQUEST_RTT=4100]="REQUEST_RTT",O[O.RESPONSE_RTT=4101]="RESPONSE_RTT",O[O.PIP_DATA=4102]="PIP_DATA",O[O.LAYER_DATA=4103]="LAYER_DATA",O[O.MAX_FORCE=65535]="MAX_FORCE",O))(ie||{});function yi(n,t,e){let r=t>65535?1:0;return e.setUint8(0,0<<4|r),e.setUint16(1,n),r?e.setUint32(3,t):e.setUint16(3,t),r?7:5}function jt(n,t){let e=n>=255&&n<4095;e&&(t+=4);let i=(t>65535?1:0)?7:5,o=new DataView(new ArrayBuffer(i+t));yi(n,t,o),e&&(o.setUint32(i,0),i+=4),o=new DataView(o.buffer,i),i=0;let u=g=>{o.setUint8(i,g),i++},p=g=>{o.setUint16(i,g),i+=2},l=(g,A=!1)=>{o.setUint32(i,g,A),i+=4},m=g=>{o.setBigUint64(i,g),i+=8},h=g=>{let A=new Uint8Array(o.buffer,o.byteOffset+i,g);return i+=g,A};return{write8:u,write32:l,write16:p,write64:m,writeData:g=>h(g.length).set(g),dv:o,next:h}}function Fr(n,t,e){let r=JSON.stringify(t),{writeData:i,dv:o}=jt(n,r.length+16);switch(i(e.split("").map(u=>u.charCodeAt(0))),i(r.split("").map(u=>u.charCodeAt(0))),n){case 11:case 12:case 7:console.debug("send",ie[n],e,t,o.buffer);break;default:n<255&&console.log(ut(),"send",ie[n],e,t,o.buffer)}return o.buffer}var fo=fr(qt()),ge=class extends fo.EventEmitter{constructor(e){super();this.io=e}get statReportReq(){return this.io.statReportReq.stat}get qualityReport(){return this.io.qualityReportReq.report}get appId(){return this.io.joinReq.sdkAppID}get roomId(){return this.io.joinReq.roomid}get userId(){return this.io.joinRes.openid}get userMap_(){return this.io.userManager.remotePublishedUserMap}send(e,r){return this.io.sendReq(e,r)}post(e,r){return this.io.postReq(e,r)}postMessage(e,r){this.io.postMessage({cmd:e,payload:r})}createResposeOb(e){return Se(this.io,ie[e])}glog(e){self.postMessage({type:"glog",payload:e})}};var $t=class{constructor(){d(this,"arguments");d(this,"environment");d(this,"preInit");d(this,"preRun");d(this,"postRun");d(this,"onAbort");d(this,"preinitializedWebGLContext");d(this,"noInitialRun");d(this,"noExitRuntime");d(this,"logReadFiles");d(this,"filePackagePrefixURL");d(this,"wasmBinary");d(this,"HEAP");d(this,"IHEAP");d(this,"FHEAP");d(this,"HEAP8");d(this,"HEAP16");d(this,"HEAP32");d(this,"HEAPU8");d(this,"HEAPU16");d(this,"HEAPU32");d(this,"HEAPF32");d(this,"HEAPF64");d(this,"TOTAL_STACK");d(this,"TOTAL_MEMORY");d(this,"FAST_MEMORY");d(this,"preloadedImages");d(this,"preloadedAudios");d(this,"_GetEncodedFrame");d(this,"_ReceivedAudioPacket");d(this,"_CreateUdtPacketizer");d(this,"_PacketizeVideoUdt");d(this,"udtver",3)}onRuntimeInitialized(){}print(t){console.debug(t)}printErr(t){console.debug(t)}},ce=new $t,B=class{constructor(t,e){this.size=t;d(this,"point");this.point=ce._malloc(t),e&&this.set(e)}set(t){t.length>this.size&&this.grow(t.length),ce.HEAPU8.set(t,this.point)}setUint32(t,e){new DataView(ce.HEAPU8.buffer).setUint32(this.point+t,e)}setBigUint64(t,e){new DataView(ce.HEAPU8.buffer).setBigUint64(this.point+t,e)}getBigUint64(t){return new DataView(ce.HEAPU8.buffer).getBigUint64(this.point+t)}getUint32(t){return ce.HEAPU8[this.point+t]|ce.HEAPU8[this.point+t+1]<<8|ce.HEAPU8[this.point+t+2]<<16|ce.HEAPU8[this.point+t+3]<<24}getInt8(t){return ce.HEAPU8[this.point+t]}uint8Array(t=NaN){return new Uint8Array(ce.HEAPU8.buffer,this.point,t>=0?t:this.size)}uint8Slice(t=NaN){return ce.HEAPU8.slice(this.point,this.point+(t>=0?t:this.size))}fill(t=0,e=this.point,r=this.point+this.size){ce.HEAPU8.fill(t,e,r)}free(){ce._free(this.point)}grow(t){t>this.size&&(this.free(),this.size=t,this.point=ce._malloc(t))}};d(B,"global");var V=ce;var Hr=class{constructor(t){d(this,"lastReceiveTime",-1);d(this,"blocking",!1);d(this,"blockCnt",0);d(this,"blockTime",0);d(this,"received",ze());let e=je(t);H(this.received,hs(()=>(this.blockDone(),this.lastReceiveTime=Date.now(),e)),X(()=>{this.blocking=!0},$,()=>{this.blockDone()}))}blockDone(){this.blocking&&(this.blockCnt++,this.blockTime+=Date.now()-this.lastReceiveTime,this.blocking=!1)}clear(){this.blockCnt=0,this.blockTime=0}},jr=class jr{constructor(t=2){d(this,"videoStatus",{uint32_video_stream_type:2,uint32_video_codec_fps:0,uint32_video_capture_fps:0,uint32_video_receive_fps:0,uint32_video_width:0,uint32_video_height:0,uint32_video_codec_type:0,uint32_video_gop:0,uint32_video_rps_open:0,uint32_video_rps_interval:0,uint32_video_codec_bitrate:0,uint32_video_total_bitrate:0,uint32_video_fec_ratio:0,uint32_video_fec_recover:0,uint32_video_arq_request:0,uint32_video_arq_recover:0,uint32_video_arq_packets:0,uint32_video_receive:0,uint32_video_origin_lost:0,uint32_video_final_lost:0,uint32_video_block_cnt:0,uint32_video_cache_ms:0,uint32_video_total_frame:0,uint32_video_decode_frame:0,uint32_video_block_time:0,uint32_video_quality:0,uint32_video_jitter_fps:0});d(this,"videoPort");d(this,"control");d(this,"lastReceiveTime",-1);d(this,"vBlock",new Hr(500));d(this,"ssrc",jr.g_ssrc++);d(this,"framesFromStartPull",0);this.videoStatus.uint32_video_stream_type=t}getVideoStatus(){let t=Mt({},this.videoStatus);return t.uint32_video_block_cnt=this.vBlock.blockCnt,t.uint32_video_block_time=this.vBlock.blockTime,t.uint32_video_codec_bitrate>>=1,t.uint32_video_total_bitrate>>=1,t.uint32_video_receive_fps>>=1,t.uint32_video_capture_fps>>=1,t.uint32_video_codec_fps>>=1,this.videoStatus.uint32_video_codec_bitrate=0,this.videoStatus.uint32_video_total_bitrate=0,this.videoStatus.uint32_video_receive_fps=0,this.videoStatus.uint32_video_capture_fps=0,this.videoStatus.uint32_video_codec_fps=0,this.vBlock.clear(),t}demuxPacket(t){let e=t.length,{ssrc:r,videoStatus:i,vBlock:o}=this;i.uint32_video_receive++;let u=Date.now();i.uint32_video_total_bitrate+=e<<3,B.global.set(t);let p=V._ReceivedVideoPacket(B.global.point,e,u/1e3,u%1e3,r);p==0&&(this.lastReceiveTime>0&&u-this.lastReceiveTime>500&&console.debug("demuxPacket",u-this.lastReceiveTime),this.lastReceiveTime=u),o.received.next(p)}gotVideoFrame(t){var r;this.videoStatus.uint32_video_total_frame++,this.videoStatus.uint32_video_codec_bitrate+=t.length<<3,this.videoStatus.uint32_video_receive_fps++,this.videoStatus.uint32_video_capture_fps++;let e=t.slice();(r=this.videoPort)==null||r.postMessage({data:e,packetsReceived:this.videoStatus.uint32_video_receive},[e.buffer])}};d(jr,"g_ssrc",1);var qr=jr,Gr=class{constructor(t,e){this.writer=t;this.ssrc=e;d(this,"buffer",new B(960));d(this,"timestamp",0);V._AddAudioChannel(e,e)}feed(){this.writer.write(new AudioData({format:"s16",numberOfChannels:1,numberOfFrames:480,sampleRate:48e3,timestamp:this.timestamp+=1e4,data:this.buffer.uint8Array()}))}close(){V._DelAudioChannel(this.ssrc),this.buffer.free()}},Wr=class{constructor(t,e){this.io=e;d(this,"userId");d(this,"tinyId");d(this,"role");d(this,"terminalType");d(this,"lastCapNtpMs",-1);d(this,"startTimestamp",Date.now());d(this,"alastReceivedTimestamp",-1);d(this,"lengthPoint",new B(4));d(this,"audioPuller");d(this,"mainPuller",new qr(2));d(this,"screenPuller",new qr(7));d(this,"aBlock",new Hr(250));d(this,"events",[]);d(this,"msg_audio_status",{uint32_audio_format:0,uint32_audio_sample_rate:0,uint32_audio_codec_bitrate:0,uint32_audio_total_bitrate:0,uint32_audio_aec:0,uint32_audio_fec_ratio:0,uint32_audio_fec_recover:0,uint32_audio_arq_request:0,uint32_audio_arq_recover:0,uint32_audio_arq_packets:0,uint32_audio_receive:0,uint32_audio_origin_lost:0,uint32_audio_final_lost:0,uint32_audio_cache_ms:0,uint32_audio_capture_state:0,uint32_audio_filtered_max_cache_ms:0,uint32_audio_filtered_avg_cache_ms:0,uint32_audio_target_max_cache_ms:0,uint32_audio_target_avg_cache_ms:0,uint32_audio_delay_peak_count:0,uint32_audio_speed_percent:0,uint32_audio_quality:0,uint32_audio_block_time:0,uint32_audio_block_cnt:0,uint32_audio_level:0});d(this,"subscribe",0);d(this,"removing",!1);d(this,"isKeyPoint");Object.defineProperties(this,Object.getOwnPropertyDescriptors(t))}remove(){var t;this.lengthPoint.free(),(t=this.audioPuller)==null||t.close()}toDownStreamInfo(t,e){let r=[this.mainPuller.getVideoStatus()];r[0].uint32_video_stream_type=this.subscribe&8?3:2,this.screenPuller.videoPort&&r.push(this.screenPuller.getVideoStatus());let i=Mt({},this.msg_audio_status);return i.uint32_audio_codec_bitrate>>=1,i.uint32_audio_total_bitrate>>=1,i.uint32_audio_block_cnt=this.aBlock.blockCnt,i.uint32_audio_block_time=this.aBlock.blockTime,e&&console.log(new Date().toLocaleString(),t.userId,r.map(o=>({t:o.uint32_video_stream_type,r_fps:o.uint32_video_receive_fps,c_fps:o.uint32_video_codec_fps,c_bps:o.uint32_video_codec_bitrate})),i.uint32_audio_codec_bitrate),this.msg_audio_status.uint32_audio_total_bitrate=0,this.msg_audio_status.uint32_audio_codec_bitrate=0,this.aBlock.clear(),{msg_user_info:{str_identifier:this.userId,uint64_tinyid:Number(this.tinyId)},msg_audio_status:i,msg_video_status:r,msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0,uint32_jitter:0}}}getNextVideoFrame(t){this.lengthPoint.setUint32(0,B.global.size),this.isKeyPoint||(this.isKeyPoint=new B(1));let e=V._GetEncodedFrame(B.global.point,this.lengthPoint.point,this.isKeyPoint.point,t.ssrc),r=this.lengthPoint.getUint32(0);if(e==-1||r==0)return 10;let i=B.global.uint8Array(r);return t.videoStatus.uint32_video_total_frame||console.timeEnd(`${this.userId}${t==this.mainPuller?"big":"aux"}`),t.gotVideoFrame(i),e}startPullOnlyAudio(t,e,r){this.io.log_.info("start pull only audio",t),V._AddAudioChannel(t.ssrc,t.ssrc)}startPull(t,e,r){this.io.log_.info("start pull",t,r);let i=t===this.mainPuller;if(t.videoPort){t.framesFromStartPull=0,t.videoPort.port=e.port;return}let o=i?[2,1]:[7];t.videoPort=e,console.time(`${this.userId}${r.mediaType&2?"aux":"big"}`),H(e,X(({width:h,height:f})=>{t.videoStatus.uint32_video_width=h,t.videoStatus.uint32_video_height=f,t.videoStatus.uint32_video_decode_frame++,t.videoStatus.uint32_video_codec_fps++}));let u=h=>{delete t.videoPort,h?this.io.log_.error("stop pull",h):this.io.log_.info("stop pull",t),V._DelVideoChannel(t.ssrc),t.vBlock.received.complete(),i&&this.aBlock.received.complete()};V._AddVideoChannel(t.ssrc,t.ssrc);let p=0,l=0,m=()=>{Date.now()-l>2e3&&(l=Date.now(),this.io.sendReq(11,r))};H(this.io.wh.interval10ms,gt(h=>(p<=0&&(p=this.getNextVideoFrame(t),p>500&&(p=20)),p-=10,ne.useWt&&(h&1)==0&&!o.every(f=>{let g=V._CheckMissingPacket(B.global.point,B.global.size,f,t.ssrc,this.io.rtt);return g>0&&(B.global.setBigUint64(5,BigInt(this.tinyId)),this.io.send(B.global.uint8Array(g))),g>=0}))),Ve(e),X(m,u,u)),m(),H(xe(5e3),Ve(e),X(m))}};var ul=1e8;function cl(){let n=new B(500,[0]);return V._GetAudioEnergy(n.point,100),n}var xt=class xt extends ge{constructor(){super(...arguments);d(this,"audioReceivedBuff",new B(2048));d(this,"levelsMap",new Map);d(this,"timestampBuff",new B(12))}decodeAudio(e,r){H(this.createResposeOb(4095),Ve(r),X(({data:i})=>{let u=new DataView(i.buffer,i.byteOffset,i.byteLength).getBigUint64(9).toString();this.userMap_.has(u)&&(this.statReportReq.msg_net_stat_report.uint32_down_real_pkg++,this.statReportReq.msg_net_stat_report.uint32_down_recv_br+=i.byteLength,this.demuxPacket(i,this.userMap_.get(u),e&&r))})),e&&H(r,X(({timestamp:i,rtpTimestamp:o,seqNum:u,ssrc:p,data:l})=>{this.audioReceivedBuff.set(l),V._ReceivedRawAudioPacket(this.audioReceivedBuff.point,l.byteLength,i,o,u,p)}))}pullAudio({tinyId:e,writable:r}){let i=this.userMap_.get(e);i&&(i.audioPuller=new Gr(r.getWriter(),i.mainPuller.ssrc))}getAudioEnergy(e,r){xt.energys||(xt.energys=cl());let{energys:i}=xt;H(xe(e),Ve(r),X(()=>{let o=i.getInt8(0);for(let u=1;u<5*o;u+=5)this.levelsMap.set(i.getUint32(u),i.getInt8(u+4));if(this.userMap_.size>0){let u=[...this.userMap_.values()];r.postMessage(u.map(p=>{let l=Math.min(100,(this.levelsMap.get(p.mainPuller.ssrc)||0)*2);return p.msg_audio_status.uint32_audio_level=l*ul/100>>0,{userId:p.userId,volume:l}}))}else r.postMessage([])}))}demuxPacket(e,r,i){let{aBlock:o,msg_audio_status:u}=r;o.received.next(!0),u.uint32_audio_total_bitrate+=e.byteLength<<3,u.uint32_audio_codec_bitrate=u.uint32_audio_total_bitrate-31,this.audioReceivedBuff.set(e);let p=Date.now(),l=p/1e3,m=p%1e3;if(i){let h=V._ParseUdtAudioPacket(this.audioReceivedBuff.point,e.length,this.timestampBuff.point,this.timestampBuff.point+4,this.timestampBuff.point+8,this.audioReceivedBuff.point,r.mainPuller.ssrc);if(h>0){let f=this.audioReceivedBuff.getUint32(0),g=V.HEAPU8.slice(f,f+h);i.postMessage({timestamp:this.timestampBuff.getUint32(0),rtpTimestamp:this.timestampBuff.getUint32(4),seqNum:this.timestampBuff.getUint32(8),data:g,ssrc:r.mainPuller.ssrc,userId:r.userId},[g.buffer])}}else V._ReceivedAudioUdtPacket(this.audioReceivedBuff.point,e.length,l,m,r.mainPuller.ssrc)}};d(xt,"energys");var Yt=xt;var ho=fr(qt(),1),_o=Symbol("instance"),Pf=Symbol("abortCtrl"),Kr=Symbol("cacheResult"),Kt=class{constructor(t,e,r){this.oldState=t,this.newState=e,this.action=r,this.aborted=!1}abort(t){this.aborted=!0,Xt.call(t,this.oldState,new Error(`action '${this.action}' aborted`))}toString(){return`${this.action}ing`}},ct=class extends Error{constructor(t,e,r){super(e),this.state=t,this.message=e,this.cause=r}};function ll(n){return typeof n=="object"&&n&&"then"in n}var Jt=new Map;function fe(n,t,e={}){return(r,i,o)=>{let u=e.action||i;if(!e.context){let l=Jt.get(r)||[];Jt.has(r)||Jt.set(r,l),l.push({from:n,to:t,action:u})}let p=o.value;o.value=function(...l){let m=this;if(e.context&&(m=Z.get(typeof e.context=="function"?e.context.call(this,...l):e.context)),m.state===t)return e.sync?m[Kr]:Promise.resolve(m[Kr]);m.state instanceof Kt&&m.state.action==e.abortAction&&m.state.abort(m);let h=null;Array.isArray(n)?n.length==0?m.state instanceof Kt&&m.state.abort(m):(typeof m.state!="string"||!n.includes(m.state))&&(h=new ct(m._state,`${m.name} ${u} to ${t} failed: current state ${m._state} not from ${n.join("|")}`)):n!==m.state&&(h=new ct(m._state,`${m.name} ${u} to ${t} failed: current state ${m._state} not from ${n}`));let f=U=>{if(e.fail&&e.fail.call(this,U),e.sync){if(e.ignoreError)return U;throw U}else return e.ignoreError?Promise.resolve(U):Promise.reject(U)};if(h)return f(h);let g=m.state,A=new Kt(g,t,u);Xt.call(m,A);let R=U=>{var D;return m[Kr]=U,A.aborted||(Xt.call(m,t),(D=e.success)===null||D===void 0||D.call(this,m[Kr])),U},w=U=>(Xt.call(m,g,U),f(U));try{let U=p.apply(this,l);return ll(U)?U.then(R).catch(w):e.sync?R(U):Promise.resolve(R(U))}catch(U){return w(new ct(m._state,`${m.name} ${u} from ${n} to ${t} failed: ${U}`,U instanceof Error?U:new Error(String(U))))}}}}var dl=typeof window!="undefined"&&window.__AFSM__?(e,r)=>{window.dispatchEvent(new CustomEvent(e,{detail:r}))}:typeof importScripts!="undefined"?(e,r)=>{postMessage({type:e,payload:r})}:()=>{};function Xt(n,t){let e=this._state;this._state=n;let r=n.toString();n&&this.emit(r,e),this.emit(Z.STATECHANGED,n,e,t),this.updateDevTools({value:n,old:e,err:t instanceof Error?t.message:String(t)})}var Z=class n extends ho.default{constructor(t,e,r){super(),this.name=t,this.groupName=e,this._state=n.INIT,t||(t=Date.now().toString(36)),r?Object.setPrototypeOf(this,r):r=Object.getPrototypeOf(this),e||(this.groupName=this.constructor.name);let i=r[_o];i?this.name=i.name+"-"+i.count++:r[_o]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let t=Object.getPrototypeOf(this),e=Jt.get(t)||[],r=new Set,i=[],o=[],u=new Set,p=Object.getPrototypeOf(t);Jt.has(p)&&(p.stateDiagram.forEach(m=>r.add(m)),p.allStates.forEach(m=>u.add(m))),e.forEach(({from:m,to:h,action:f})=>{typeof m=="string"?i.push({from:m,to:h,action:f}):m.length?m.forEach(g=>{i.push({from:g,to:h,action:f})}):o.push({to:h,action:f})}),i.forEach(({from:m,to:h,action:f})=>{u.add(m),u.add(h),u.add(f+"ing"),r.add(`${m} --> ${f}ing : ${f}`),r.add(`${f}ing --> ${h} : ${f} \u{1F7E2}`),r.add(`${f}ing --> ${m} : ${f} \u{1F534}`)}),o.forEach(({to:m,action:h})=>{r.add(`${h}ing --> ${m} : ${h} \u{1F7E2}`),u.forEach(f=>{f!==m&&r.add(`${f} --> ${h}ing : ${h}`)})});let l=[...r];return Object.defineProperties(t,{stateDiagram:{value:l},allStates:{value:u}}),l}static get(t){let e;return typeof t=="string"?(e=n.instances.get(t),e||n.instances.set(t,e=new n(t,void 0,Object.create(n.prototype)))):(e=n.instances2.get(t),e||n.instances2.set(t,e=new n(t.constructor.name,void 0,Object.create(n.prototype)))),e}static getState(t){var e;return(e=n.get(t))===null||e===void 0?void 0:e.state}updateDevTools(t={}){dl(n.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(t){Xt.call(this,t)}};Z.STATECHANGED="stateChanged";Z.UPDATEAFSM="updateAFSM";Z.INIT="[*]";Z.ON="on";Z.OFF="off";Z.instances=new Map;Z.instances2=new WeakMap;var Ye=class extends Z{constructor(e){super(e.params.userId,"WebSocket");this.connectFSM=e;d(this,"ws")}connect(){this.connectFSM.log_.info("connect to",this.connectFSM.wsUrl);let e=new WebSocket(this.connectFSM.wsUrl);return console.time("WebSocket connect"),e.binaryType="arraybuffer",$e((r,i)=>{e.onerror=o=>{e.onmessage=null,this.connectFSM.log_.error("websocket onerror",o),i(o.type)},e.onclose=o=>{e.onmessage=null,i(o),this.connectFSM.log_.info("websocket onclose",o),this.disconnect(o.reason,o.code)},e.onopen=o=>{console.timeEnd("WebSocket connect"),this.connectFSM.log_.info("websocket onopen")},e.onmessage=o=>{try{let u=JSON.parse(String(o.data));if(this.connectFSM.log_.info("websocket verify",u),u.err!==0)throw u.err;this.connectFSM.verify(u.verify,u.rebuild),this.ws=e,r(e);let p=this.connectFSM.createOputReceiver("w");e.onmessage=l=>p.write(l.data)}catch(u){i(u)}}},this.connectFSM.abortCtrl.signal)}disconnect(e="",r=0){return r===0&&this.ws&&(this.ws.onmessage=null,this.ws.close(1e3,e)),this.connectFSM.log_.warn("websocket disconnected :",r,e),this.connectFSM.disconnect(e)}close(){this.ws&&(this.ws.onmessage=null,this.ws.close(1e3,"close"))}sendReq(e,r,i){this.send(Fr(e,r,i||this.connectFSM.generateUUID()))}send(e){var r;this.state=="CONNECTED"&&((r=this.ws)==null||r.send(e))}};le([fe(["DISCONNECTED",Z.INIT],"CONNECTED")],Ye.prototype,"connect",1),le([fe("CONNECTED","DISCONNECTED",{sync:!0,ignoreError:!0})],Ye.prototype,"disconnect",1),le([fe([],Z.INIT,{sync:!0})],Ye.prototype,"close",1);var Yf=new Uint32Array([Date.now()]),ml=H(bt(20),tt(()=>performance.now()),We()),Ri=class{constructor(t){this.wt=t;d(this,"chunk",new Map);d(this,"timestamp",performance.now());d(this,"groupId");d(this,"resentCount",0);this.groupId=t.groupid,t.groupid=t.groupid+1&127,t.sentCache.has(this.groupId)&&t.sentCache.get(this.groupId).chunk.clear(),t.sentCache.set(this.groupId,this),H(ml,Fn(()=>this.chunk.size>0&&this.resentCount<20),Oe(Se(t,"DISCONNECTED")),X(e=>{e-this.timestamp>2*t.connectFSM.rtt+10&&(this.chunk.forEach((r,i)=>this.wt.send(r.buffer)),console.debug("resent",this.groupId,this.chunk.size,"after",e-this.timestamp,"ms",++this.resentCount),this.timestamp=e)},console.error,()=>{this.wt.sentCache.delete(this.groupId)}))}ack(t){this.chunk.delete(t)}},Ke=class extends Z{constructor(e){super(e.params.userId,"WebTransport");this.connectFSM=e;d(this,"wt");d(this,"writer");d(this,"dw");d(this,"sentCache",new Map);d(this,"groupid",0);d(this,"mtu",1e3)}async connect(){this.connectFSM.log_.info("connect to",this.connectFSM.wtUrl);let e=new WebTransport(this.connectFSM.wtUrl);console.time("WebTransport connect"),e.ready.then(()=>console.timeEnd("WebTransport connect"));let r=this.connectFSM.abortCtrl.signal,{value:i,stream:o}=await Promise.race([(async()=>{await $e(e.ready,r);let p=await $e(e.createBidirectionalStream(),r),l=p.readable.getReader();return this.writer=p.writable.getWriter(),this.dw=e.datagrams.writable.getWriter(),$e(l.read(),r).then(({value:m})=>(l.releaseLock(),{value:m,stream:p}))})(),new Promise((p,l)=>setTimeout(()=>l(new Error("WebTransport connect timeout")),1e3))]),u=JSON.parse(String.fromCharCode(...i));if(this.connectFSM.log_.info("WebTransport connect result:",u),u.err!==0)throw u.err;this.connectFSM.verify(u.verify,u.rebuild),this.wt=e,H(Se(this.connectFSM,ie[4099]),Oe(Se(this,"DISCONNECTED")),X(({data:p})=>{let l=p[0]&127,m=this.sentCache.get(l);m&&m.ack(p[1])})),Promise.race([e.datagrams.readable.pipeTo(new WritableStream(this.connectFSM.createOputReceiver("d"))),o.readable.pipeTo(new WritableStream(this.connectFSM.createOputReceiver("s"))),e.closed]).then(()=>this.disconnect(),this.disconnect.bind(this))}disconnect(e=""){var r;return(r=this.wt)==null||r.close(),this.connectFSM.disconnect(e)}close(){var e;return(e=this.wt)==null?void 0:e.close()}async sendReq(e,r,i){if(i||(i=this.connectFSM.generateUUID()),!this.wt)return new Error("WebTransport not connected");if(!ne.unreliable){let A=Fr(e,r,i);return this.writer.write(A).then(()=>!0).catch(this.catchError)}let o=e>=255&&e<4095,u=JSON.stringify(r),p=0,l=u.length+(o?20:16),h=(l>65535?1:0)?7:5,f=Math.ceil(l/this.mtu),g=new Ri(this);console.debug("WebTransport send:",o?"ack":"",ie[e],i,"chunks:",f,g.groupId);for(let A=0;A<f;A++){let R=l-A*this.mtu,w=Math.min(this.mtu,R),U=new Uint8Array(h+4+w),D=yi(e,U.length-h,new DataView(U.buffer));if(U[0]|=2,U.set([1,2,(A==f-1?128:0)|g.groupId,A],D),D+=4,A==0){o&&(U.set([0,0,0,0],D),D+=4);for(let G=0;G<16;G++)U[D++]=i.charCodeAt(G)}for(let G=0;D<U.length;G++)U[D++]=u.charCodeAt(p++);g.chunk.set(A,U),this.send(U.buffer)}}async send(e){if(!(!this.wt||!this.dw)){if(e instanceof ArrayBuffer){if(!e.byteLength)throw bo}else{if(!e.length)throw bo;e=e.slice(0)}return this.dw.write(e).catch(this.catchError)}}catchError(e){}};le([fe(["DISCONNECTED",Z.INIT],"CONNECTED")],Ke.prototype,"connect",1),le([fe("CONNECTED","DISCONNECTED",{sync:!0,ignoreError:!0})],Ke.prototype,"disconnect",1),le([fe([],Z.INIT,{sync:!0})],Ke.prototype,"close",1);var bo=new Error("WebTransport send empty datagram");var go=fr(qt(),1);var Jr=class extends go.EventEmitter{constructor(e,r,i="userId"){super();this.mySelfId=e;this._log=r;this.key=i;d(this,"userMap",new Map);d(this,"remotePublishedUserMap",new Map)}get hasRobotUser(){return!![...this.remotePublishedUserMap.values()].find(e=>e.isRobot)}getPublishedUser(e){return this.remotePublishedUserMap.get(e)}addUser(e){let r=e[this.key],{userId:i,tinyId:o,role:u}=e;if(this.userMap.has(r))return;let p={userId:i,tinyId:o,role:u===20?"anchor":"audience"};this.userMap.set(r,p),this.emit("1",p)}deleteUser(e,r){let i=this.userMap.get(e);if(!i)return;let o=`peer leave [${e}]`;Gt(r)||(o+=`:${Rs[r]}`),this._log.info(o);let u=this.remotePublishedUserMap.get(e);if(u){let p=u.muteState;u.flag=0,this.emit("5",u.userId),this.deleteRemotePublishedUser(e),this.emit("6",{prevMuteState:p,muteState:u.muteState,flag:0})}this.userMap.delete(e),this.emit("2",{userId:i.userId,reason:r})}setUserList(e){this.userMap.forEach(r=>{e.findIndex(i=>i[this.key]===r[this.key])<0&&this.deleteUser(r[this.key],0)}),e.forEach(r=>{!this.userMap.has(r[this.key])&&r[this.key]!==this.mySelfId&&this.addUser(r)})}addRemotePublishedUser(e){this.remotePublishedUserMap.has(e[this.key])||this.remotePublishedUserMap.set(e[this.key],e)}deleteRemotePublishedUser(e){this.remotePublishedUserMap.has(e)&&this.remotePublishedUserMap.delete(e)}setRemotePublishedUserList(e){this.remotePublishedUserMap.forEach(r=>{let i=r[this.key];if(e.findIndex(o=>o[this.key]===r[this.key])<0){this._log.info(`remote [${i}] unpublish`);let o=r.muteState;r.flag=0,this.emit("5",r.userId),this.deleteRemotePublishedUser(i),this.emit("6",{prevMuteState:o,muteState:r.muteState,flag:0})}}),e.forEach(r=>{var h;let i=r[this.key];if(i===this.mySelfId){this.emit("7",r);return}let{flag:o,userId:u,tinyId:p}=r,l=Ii(o,u),m=(h=this.remotePublishedUserMap.get(i))==null?void 0:h.muteState;if(m){let f=this.remotePublishedUserMap.get(i);f&&f.flag!==o&&(f.flag=o,this._log.info(`remote publish updated: ${JSON.stringify(f.muteState)}`),this.emit("6",{prevMuteState:m,muteState:l,flag:o}))}else this._log.info(`remote publish. state: ${JSON.stringify(l)}`),this.addUser({userId:u,tinyId:p,role:20}),this.emit("3",r),this.emit("6",{prevMuteState:Ii(0,u),muteState:l,flag:o})})}clear(){this.userMap.clear(),this.remotePublishedUserMap.clear()}};function Eo(n,t=1,e=1){return n<=1?e:Eo(n-1,e,t+e)}function hl(n){return n>8?30*1e3:Eo(n)*1e3}function bl(n,t){return{userId:t,hasAudio:!!(n&Tt),hasVideo:!!(n&Et),hasAuxiliary:!!(n&vr),hasSmall:!!(n&Pr),audioMuted:!!(n&It),videoMuted:!!(n&St),audioAvailable:!!(n&Tt)&&!(n&It),videoAvailable:!!(n&Et)&&!(n&St)}}var Ui=class{constructor(t){this.connect=t;d(this,"publishReq");d(this,"recovering",!1);d(this,"pingCount",0)}async recoverLocal(){return this.recovering=!0,this.publishReq?this.connect._sendReq(2,this.publishReq).then(t=>{this.connect.log_.info("republish",t)}):!1}recoverRemote(t){this.recovering=!1,t.forEach((e,r)=>{this.connect.sendSubscribe(e)})}onSendReq(t,e){switch(t){case 2:this.publishReq?this.publishReq.mediaType|=e.mediaType:this.publishReq=e;break;case 3:this.publishReq=void 0;break;case 8:this.publishReq&&(this.publishReq.mediaType&=~e.mediaType);break;case 9:this.publishReq&&(this.publishReq.mediaType|=e.mediaType);break;case 12:this.connect.updateDevTools({note:`ping${this.pingCount++}`});break}}},Ee=class Ee extends Z{constructor(e,r,i){super(i.joinReq.roomid,"Connection");this.id=e;this.port=r;d(this,"signalInfo_");d(this,"reqUser_");d(this,"joinReq");d(this,"frameWorkType");d(this,"userManager");d(this,"joinRes");d(this,"statReportReq");d(this,"qualityReportReq");d(this,"wFSM");d(this,"rtt",50);d(this,"recovery",new Ui(this));d(this,"reqPromise",new Map);d(this,"rebuild");d(this,"osName");d(this,"browserInfo");d(this,"tinyId_",new B(32));d(this,"tinyId");d(this,"domains");d(this,"log_");d(this,"params");d(this,"proxy_ws");d(this,"proxy_wt");d(this,"proxy_cloud");d(this,"proxy_unified");d(this,"env");d(this,"wh");d(this,"abortCtrl",new AbortController);d(this,"firstReceiveUserlist");d(this,"connectParams");d(this,"selectDomain",0);d(this,"selectCloudDomain",0);d(this,"abort",this.abortCtrl.abort.bind(this.abortCtrl));d(this,"reconnectedOB",Se(this,"RECONNECTED"));d(this,"reconnectOB",e=>{this.reconnect().then(()=>{this.postMessage({cmd:"signal-connection-state-changed",payload:{prevState:"RECONNECTING",state:"CONNECTED"}}),this.rejoinRoom()},r=>{e.next(r),this.selectDomain=1-this.selectDomain})});console.log(this),Object.assign(this,i),this.connectParams=new URLSearchParams({sdkAppid:this.params.sdkAppId.toString(),userSig:this.params.userSig,identifier:this.params.userId}),this.tinyId&&this.connectParams.append("tinyId",this.tinyId),this.log_=nt.createLogger({id:`wc${e}`,userId:this.params.userId,sdkAppId:this.params.sdkAppId}),this.proxy_unified?ne.useWt=!1:(this.proxy_ws||this.proxy_wt)&&(ne.useWt=!!this.proxy_wt),ne.useWt?this.wFSM=new Ke(this):this.wFSM=new Ye(this),this.userManager=new Jr("",this.log_,"tinyId");let o=u=>this.userManager.on(u,p=>this.postMessage({cmd:u,payload:p}));this.userManager.on("3",({flag:u,userId:p,tinyId:l})=>{let m={flag:u,userId:p,tinyId:l,get muteState(){return bl(this.flag,this.userId)},subscribe:0,removing:!1};this.log_.debug("create user",m),this.postMessage({cmd:"3",payload:m}),this.userManager.addRemotePublishedUser(new Wr(m,this))}),o("6"),o("5"),o("1"),o("2"),o("7"),this.statReportReq={tinyid:"",stat:{msg_audio_stat_report:{msg_audio_enc_stat:{uint32_audio_enc_br:0,uint32_audio_frame_interval:0},msg_audio_send_stat:{uint32_audio_send_br:0,uint32_audio_fec_br:0,uint32_audio_arq_br:0}},rpt_msg_video_stat_report:[{uint32_video_type:2,msg_video_enc_stat:{uint32_video_enc_fps:0,uint32_video_enc_br:0,uint32_video_encrd:1},msg_video_send_stat:{uint32_video_send_br:0,uint32_video_fec_br:0,uint32_video_arq_br:0}}],msg_net_stat_report:{uint32_total_send_br:0,uint32_rtt:0,uint32_down_expect_pkg:0,uint32_down_real_pkg:0,uint32_down_recv_br:0},msg_rtt_info_req:{uint64_last_server_timestamp_ms:0,uint32_delay_since_last_server_timestamp_ms:0,uint64_client_timestamp_ms:0},msg_system_load_report:{uint32_total_cpu_rate:0},msg_down_bandwidth_est:{uint32_bandwidth_br:0,uint32_avg_bandwidth_br:0,uint32_jitter:0,uint32_jitter_in_frm:0},msg_play_report:{uint32_video_jitter_receive_fps_ratio:0}}},this.qualityReportReq={tinyid:"",report:{str_sdk_version:this.joinReq.jsSdkVersion,uint32_groupid:0,uint64_datetime:Date.now(),msg_user_info:{str_identifier:"",uint64_tinyid:0},msg_device_info:{uint32_terminal_type:this.joinReq.AbilityOption.GeneralLimit.uint32_terminal_type,str_device_name:this.browserInfo.browserName,str_os_version:this.osName,uint32_net_type:this.joinReq.AbilityOption.GeneralLimit.uint32_net_type,uint32_app_cpu:0,uint32_system_cpu:0,uint32_app_memory:0,uint32_background:0,uint32_headset:0},msg_up_stream_info:{msg_audio_status:{uint32_audio_format:11,uint32_audio_sample_rate:48e3,uint32_audio_codec_bitrate:0,uint32_audio_receive:0},msg_video_status:[{uint32_video_stream_type:2,uint32_video_decode_frame:0,uint32_video_total_frame:0,uint32_video_capture_fps:0,uint32_video_codec_fps:0,uint32_video_enc_fps:0,uint32_video_codec_bitrate:0,uint32_video_total_bitrate:0}],msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0,uint32_jitter:0},msg_qos:[]},msg_down_stream_info:[],msg_event_msg:[],str_acc_ip:"",str_client_ip:"",str_groupid:""}}}get aborted(){return this.abortCtrl.signal.aborted}get wtDomain(){return this.env?`${this.env}.rtc.qq.com:8080`:this.proxy_wt?this.proxy_wt:this.domains.length?`${this.domains[this.selectDomain]}:80`:"wasm.rtc.qq.com:80"}get wsDomain(){return this.env?`${this.env}.rtc.qq.com:8687`:this.proxy_cloud.length?this.proxy_cloud[this.selectCloudDomain].replace("wss://",""):this.proxy_ws?this.proxy_ws:this.domains.length?this.domains[this.selectDomain]:"wasm.rtc.qq.com"}get wtUrl(){return`https://${this.wtDomain}/v1/wt?${this.connectParams}`}get wsUrl(){var r;let e=((r=this.domains)==null?void 0:r[this.selectDomain])||"wasm.rtc.qq.com";return`wss://${this.wsDomain}/v1/ws?${this.connectParams}&realHost=${e}`}async connect(){let e=this.wFSM.connect(),r=(i,o=!1)=>u=>{if(this.aborted||typeof u=="number")throw u;return this.selectDomain=i,this.wFSM=o?new Ke(this):new Ye(this),console.warn(u),console.warn("downgrade to",o?"WebTransport":"WebSocket",this.selectDomain?"\u5907\u7528\u57DF\u540D":"\u4E3B\u57DF\u540D"),this.wFSM.connect()};return ne.useWt&&(this.proxy_ws||!this.proxy_wt)&&(e=e.catch(r(0))),!this.proxy_wt&&!this.proxy_ws&&(e=e.catch(r(1,ne.useWt)),ne.useWt&&(e=e.catch(r(1)))),e}async joinRoom(){let{dataport:e,stunport:r,relayip:i,socketid:o,checkSigSeq:u}=this.signalInfo_,p=await this.sendReq(0,Object.assign(this.joinReq,{dataport:e,stunport:r,relayip:i,socketid:o,checkSigSeq:u}));if(p.err===0)this.setJoinRes(p.data);else throw p.err;return p}async leaveRoom(){return await this.sendReq(1,{}),this.close()}async rejoinRoom(){if(!this.rebuild){let e=await this.sendReq(0,this.joinReq);if(e.err===0)this.setJoinRes(e.data);else return}return this.recovery.recoverLocal()}async reconnect(){return this.postMessage({cmd:"signal-connection-state-changed",payload:{prevState:"DISCONNECTED",state:"RECONNECTING"}}),this.wFSM.connect()}retry(e=0){if(console.log(ut(),"retry",e),e>As){this.close();return}let r=je(hl(e));H(e?ms(r,this.reconnectOB):this.reconnectOB,Er(1),Oe(this.reconnectedOB),X(i=>{typeof i!="number"&&this.state==="DISCONNECTED"&&this.retry(e+1)}))}disconnect(e){this.log_.warn("connection lost:",e),this.postMessage({cmd:"signal-connection-state-changed",payload:{prevState:"CONNECTED",state:"DISCONNECTED"}}),this.retry()}close(){this.userManager.clear(),this.port.postMessage(null),this.port.close(),this.wFSM.close()}postMessage(e,r){this.port.postMessage(e,r)}verify(e,r){this.signalInfo_=e,this.rebuild=r,this.reqUser_={openid:e.openid,tinyid:e.tinyid}}async _sendReq(e,r){r.tinyid||(r.reqUser=this.reqUser_);let i=this.generateUUID();return await this.wFSM.sendReq(e,r,i),$e((o,u)=>this.reqPromise.set(i,{resolve:o,reject:u,startTime:Date.now()}),this.abortCtrl.signal,o=>(console.log("abort",ie[e]),{err:o}))}postReq(e,r){return this.wFSM.sendReq(e,r,this.generateUUID())}async sendReq(e,r){return this.recovery.onSendReq(e,r),this._sendReq(e,r)}send(e){return this.wFSM.send(e)}setJoinRes(e){this.joinRes=e,this.userManager.mySelfId=e.tinyid,this.statReportReq.tinyid=e.tinyid,this.qualityReportReq.tinyid=e.tinyid,this.qualityReportReq.report.str_acc_ip=e.relayip,this.qualityReportReq.report.str_client_ip=e.clientip,this.qualityReportReq.report.msg_user_info.str_identifier=e.openid,this.qualityReportReq.report.msg_user_info.uint64_tinyid=Number(e.tinyid),this.tinyId_.set([...e.tinyid].map(r=>r.charCodeAt(0)).concat(0)),[1,2,3,7].forEach(r=>{V._CreateUdtPacketizer(e.roomid,this.tinyId_.point,e.locationid,r,V.udtver,this.id)}),this.wFSM.sendReq(6,{})}onReceive(e,r,i){let o="",u=0,p=new DataView(i.buffer,i.byteOffset);r<255&&(u=p.getUint32(0),i=i.subarray(4)),r<4095&&(o=String.fromCharCode(...i.subarray(0,16)),i=i.subarray(16));let l=i;if(!o)p=new DataView(i.buffer,i.byteOffset,i.byteLength);else{let h="";for(let f=0,g=i.length,A=32768;f<g;f+=A)h+=String.fromCharCode.apply(null,i.subarray(f,Math.min(f+A,g)));if(u)l=h;else try{l=JSON.parse(h)}catch(f){l=h}}let m=ie[r];switch(r){case 259:this.joinRes&&this.wFSM.sendReq(r,{tinyid:this.joinRes.tinyid}),console.debug(e,"receive:",m,o,l);break;case 256:l.userlist.forEach(U=>{if(this.userManager.addUser({userId:U.userid,tinyId:U.srctinyid,role:U.role}),this.joinRes&&U.srctinyid!=this.joinRes.tinyid&&this.userManager.userMap.has(U.srctinyid)){let D=this.userManager.userMap.get(U.srctinyid);this.sendSubscribe(D)}}),this.log_.info(e,"receive:",m,o,l),this.wFSM.sendReq(r,{count:this.userManager.userMap.size});break;case 257:this.userManager.deleteUser(l.userlist.srctinyid),this.log_.info(e,"receive:",m,o,l),this.wFSM.sendReq(r,{count:this.userManager.userMap.size});break;case 6:this.userManager.setUserList(l.userlist.map(U=>({userId:U.userid,tinyId:U.srctinyid,role:U.role})));break;case 255:this.wFSM.sendReq(r,{count:this.userManager.userMap.size});{let U=l.userlist.map(D=>({userId:D.userid,tinyId:D.srctinyid,flag:D.flag,terminalType:D.terminaltype}));this.firstReceiveUserlist||(this.firstReceiveUserlist=!0,this.postMessage({cmd:at.RECEIVED_PUBLISHED_USER_LIST,payload:{publishedUserList:U}})),this.userManager.setRemotePublishedUserList(U),this.recovery.recovering&&this.recovery.recoverRemote(this.userManager.remotePublishedUserMap)}break;case 4100:this.rtt=p.getUint32(4),console.debug(e,"receive:",m,o,l,this.rtt);let{dv:h,writeData:f}=jt(4101,8);f(i.subarray(0,4)),this.send(h.buffer);break;case 12:this.reqPromise.forEach(U=>{Date.now()-U.startTime>5e3&&(U.reject(new Error("heartbeat timeout")),this.reqPromise.delete(U.uuid))}),self.postMessage({type:"glog",payload:{heartbeatReceive:1}});case 11:case 260:console.debug(e,"receive:",m,o,l);case 7:case 4095:break;case 4096:case 4097:{let U=i.length;this.statReportReq.stat.msg_net_stat_report.uint32_down_real_pkg++,this.statReportReq.stat.msg_net_stat_report.uint32_down_recv_br+=U<<3;let D=p.getBigUint64(9).toString(),G=this.userManager.getPublishedUser(D);G?r===4096?(G.mainPuller.videoStatus.uint32_video_receive||console.timeLog(`${G.userId}big`,"first video data"),G.mainPuller.demuxPacket(i)):(G.screenPuller.videoStatus.uint32_video_receive||console.timeLog(`${G.userId}aux`,"first video data"),G.screenPuller.demuxPacket(i)):console.warn(e,"receive:",m,o,l,"user not found")}break;case 4102:case 4103:case 4099:break;case 4103:V.HEAPU8.set(i,B.global.point+8);let g=V._ParseUdtMousePacket(B.global.point+8,i.length,B.global.point),A=i.subarray(g),R=B.global.getBigUint64(0).toString(),w=this.userManager.userMap.get(R);w&&this.postMessage({cmd:"layerData",payload:{userId:w.userId,tinyId:R,layerData:A}}),console.debug(e,"receive:",m,g,l,R,A);break;case 4098:{let U=p.getUint8(8);for(let D=9;D<i.length;D+=6){let G=p.getUint32(D),ye=p.getUint16(D+4);for(let Ae=0;Ae<=16;Ae++){if(Ae>0&&(ye>>16-Ae&1)==0)continue;let Re=V._GetRetransPacket(U,G+Ae,B.global.point,this.id),se=B.global.getUint32(0),_e=V.HEAPU8.subarray(se,se+Re);Re>0&&this.send(_e)}}}break;case 1:this.log_.info(e,"receive:",m,o,l),l>0&&l!==3&&(this.postMessage({cmd:"banned",payload:l}),this.close());break;case 258:this.log_.info(e,"receive:",m,o||"",l);break;default:this.log_.info(e,"receive:",m||r,o||"",l)}this.reqPromise.has(o)&&(u&&this.log_.warn(u,l,o),this.reqPromise.get(o).resolve({err:u,data:l,uuid:o}),this.reqPromise.delete(o)),this.emit(m,o?{uuid:o,err:u,data:l}:{data:l})}sendSubscribe(e){let r=e.subscribe;if(r==0)return;let i={mediaType:r,mediaDescription:{audioParam:r&1?{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]}:void 0,videoParam:[4,8,2].filter(o=>r&o).map(o=>({mediaType:o,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]}))},userId:e.userId,srctinyid:e.tinyId};this._sendReq(4,i)}createOputReceiver(e){return new me(this.unMarshal(e))}*unMarshal(e){let r=null,i=new Map;for(;;){let o=0,u=0;try{r=yield 1;let p=r[0]>>4,l=r[0]&2,m=r[0]&1;r=yield 4+m*2;let h=new DataView(r.buffer,r.byteOffset);if(u=h.getUint16(0),o=m==1?h.getUint32(2):h.getUint16(2),r=yield o,l){let f=r[0]&63,g=r[1],A=r.subarray(2,2+g);switch(f){case 1:let R=A[0]>>7,w=A[0]&127,U=A[1],{dv:D,write8:G}=jt(4099,2);G(w),G(U),this.send(D.buffer);let ye=w%64;for(let Re=0;Re<64;Re++){let se=w-Re;se<0&&(se+=64);let _e=ye-Re;_e<0&&(_e+=64),i.has(_e)&&i.get(_e).groupId!=se&&i.delete(_e)}let Ae=i.get(ye);if(Ae||i.set(ye,Ae=new Oi(w)),r=Ae.push(U,r.slice(2+g),R!=0),r)i.delete(ye);else continue}}this.onReceive(e,u,r)}catch(p){this.log_.error(e,p,o,u,r)}}}generateUUID(){return"xxxxxxxxxxxxxxxx".replace(/[xy]/g,e=>{let r=Math.random()*16|0;return(e=="x"?r:r&3|8).toString(16)})}};d(Ee,"JOINED","joined"),d(Ee,"CLOSED","closed"),le([fe(Z.INIT,"CONNECTED")],Ee.prototype,"connect",1),le([fe("CONNECTED",Ee.JOINED)],Ee.prototype,"joinRoom",1),le([fe("RECONNECTED",Ee.JOINED,{fail(){this.close()}})],Ee.prototype,"rejoinRoom",1),le([fe("DISCONNECTED","RECONNECTED")],Ee.prototype,"reconnect",1),le([fe([],"DISCONNECTED",{sync:!0})],Ee.prototype,"disconnect",1),le([fe([],Ee.CLOSED,{sync:!0})],Ee.prototype,"close",1);var Je=Ee,Oi=class{constructor(t){this.groupId=t;d(this,"chunks",[]);d(this,"totalLen",0);d(this,"marker",!1)}push(t,e,r){if(this.chunks[t])return null;if(this.chunks[t]=e,this.totalLen+=e.length,r&&(this.chunks.length=t+1,this.marker=!0),this.marker){for(let o=0;o<this.chunks.length;o++)if(!this.chunks[o])return null;let i=new Uint8Array(this.totalLen);for(;this.chunks.length;){let o=this.chunks.pop();i.set(o,this.totalLen-=o.length)}return i}return null}};var Qt=class extends ge{publishCdn(t,e){return"request_time"in t?(console.info("startPublishTXCDN:",t),this.send(18,t).then(e.postMessage)):(console.info("startPublishCDN:",t),this.send(13,t).then(e.postMessage))}stopPublishCdn(t,e){return"request_time"in t?(console.info("stopPublishTXCDN:",t),this.send(19,t).then(e.postMessage)):(console.info("stopPublishCDN:",t),this.send(14,t).then(e.postMessage))}startMcuMix(t,e){let{inputParam:r,outputParam:i}=t,o={mcuMix:{reqUser:this.io.reqUser_,roomid:t.roomId,sdkAppID:this.appId,socketid:this.io.joinRes.socketid,mcuRequestTime:t.mcuRequestTime,outputSessionId:t.outputSessionId},inputParam:r.map(u=>({userid:u.userId,width:u.width,height:u.height,locationX:u.locationX,locationY:u.locationY,zOrder:u.zOrder,streamType:u.streamType,inputType:u.inputType})),outputParam:{streamId:i.streamId,streamType:i.streamType,videoWidth:i.width,videoHeight:i.height,videoBitrate:i.videoBps,videoFramerate:i.fps,vidoeGOP:i.gop,audioSampleRate:i.audioSampleRate,audioBitrate:i.audioBps,audioChannels:i.audioChannels,backgroundColor:i.backgroundColor,backgroundImage:i.backgroundImg,extraInfo:i.extraInfo,VCodec:i.videoCodec,ACodec:i.audioCodec}};return this.send(15,o).then(e.postMessage)}stopMcuMix(t,e){let r={mcuMix:{reqUser:this.io.reqUser_,roomid:this.roomId,sdkAppID:this.appId,socketid:this.io.joinRes.socketid,mcuRequestTime:t.mcuRequestTime,outputSessionId:t.outputSessionId},userid:this.userId,streamType:t.streamType};return console.info("stop mcuMix:",t),this.send(16,r).then(e.postMessage)}};var gl=1200;var El=31,Tl=6,Il=6;var To={1:1,audio:1,video:4,2:4,auxVideo:2,7:2,3:8};var H_=Date.now(),q_=El+Tl+6+Il+gl+1;var zt=class extends ge{constructor(){super(...arguments);d(this,"videoEncBuffer_",new B(1920*1080*3>>1));d(this,"videoStats",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0});d(this,"audioStats",{bytesSent:0,packetsSent:0});d(this,"videoTypeIndexMap",new Map([[2,0]]));d(this,"requestTypeMap",new Map([[0,4096]]))}getLocalVideoStats(e){e.postMessage({[this.io.joinRes.openid]:this.videoStats})}getLocalAudioStats(e){e.postMessage({[this.io.joinRes.openid]:this.audioStats})}pushAudio({sampleRate:e,channelCount:r,bitrate:i,index:o},u,p){var A;let l=new B(e*r*2),m=R=>{this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_level=R.volume*1e8/100>>0;let{data:w}=R,U=w.length;l.set(w),this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_enc_br+=U<<3,this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_frame_interval++,this.audioStats.packetsSent++;let D=V._PacketizeAudioUdt(l.point,U,R.timestamp,e,r,R.energy,B.global.point,B.global.size,this.io.id,!!p);if(D<=0){console.warn("audio pack len is 0");return}this.io.send(B.global.uint8Array(D)),this.audioStats.bytesSent+=D,this.statReportReq.msg_audio_stat_report.msg_audio_send_stat.uint32_audio_send_br+=D<<3,this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_receive++},h=R=>{l.free(),this.send(3,{mediaType:1})},f=new MessageChannel;(A=this.io.wh.playPort)==null||A.postMessage({cmd:"pushAudio",payload:{numberOfChannels:r,bitrate:i},encrypt:!!p,index:o},[f.port2,u.port]);let g=Wt(f.port1);p&&H(g,X()),H(p||g,X(m,h,h))}createSelectAbilityOb(e,r){let i=r.bitrate;return H(this.createResposeOb(259),_s(()=>je(2e3)),tt(o=>{var u;return(u=o.data.ability.rpt_msg_video_control_info)==null?void 0:u.find(p=>p.uint32_video_type===e)}),gt(o=>{if(!o)return!1;let u=o.uint32_video_enc_br,p=u*Math.pow(1-this.qualityReport.msg_up_stream_info.msg_network_status.uint32_lost/100,2),l=Math.min(i,p);o.uint32_video_enc_br=l,this.glog({[`confBr${e}`]:[u,p,l]});let m=!1;return((f,g)=>{o[g]&&o[g]!==r[f]&&(m=!0,r[f]=o[g])})("bitrate","uint32_video_enc_br"),m}),Zn(r))}pushVideo({profile:{width:e,height:r,frameRate:i,bitrate:o},type:u,trackType:p,crypto:l},m){this.videoStats.frameWidth=e,this.videoStats.frameHeight=r;let h=0,f=To[u];this.videoTypeIndexMap.has(u)?h=this.videoTypeIndexMap.get(u):(h=this.statReportReq.rpt_msg_video_stat_report.length,this.requestTypeMap.set(h,u===7?4097:4096),this.videoTypeIndexMap.set(u,h),this.statReportReq.rpt_msg_video_stat_report.push({uint32_video_type:u,msg_video_enc_stat:{uint32_video_enc_fps:0,uint32_video_enc_br:0,uint32_video_encrd:1},msg_video_send_stat:{uint32_video_send_br:0,uint32_video_fec_br:0,uint32_video_arq_br:0}}),this.qualityReport.msg_up_stream_info.msg_video_status.push({uint32_video_codec_bitrate:0,uint32_video_total_bitrate:0,uint32_video_enc_fps:0,uint32_video_capture_fps:0,uint32_video_codec_fps:0,uint32_video_stream_type:u,uint32_video_codec_type:0,uint32_video_decode_frame:0,uint32_video_total_frame:0,uint32_video_width:e,uint32_video_height:r}));let g={width:e,height:r,bitrate:o*1e3,framerate:i};Object.assign(this.qualityReport.msg_up_stream_info.msg_video_status[h],{uint32_video_width:e,uint32_video_height:r});let A=0,R=!1,w=D=>{this.send(3,{mediaType:f})};H(this.createSelectAbilityOb(u,g),X(()=>{m.postMessage(g)}));let U=m;p!="camera"&&(this.io.log_.info(`push ${p} track`),U=ds(m,H(m,bs(2e3),ei(D=>(this.io.log_.warn("start push last video frame"),H(xe(2e3),Zn(D),Oe(m),Or({complete:()=>this.io.log_.warn("stop push last video frame")})))),Ve(m)))),H(U,X(D=>{let G=this.getVideoStatus(h);G.uint32_video_total_frame++,A++,this.videoStats.framesSent++,G.uint32_video_capture_fps++,A%300==0&&m.postMessage(260),this.handleVideoEncoded(D,u,l)},w,w)),H(this.createResposeOb(260),Ve(m),X(()=>m.postMessage(260)))}getVideoStatus(e){return this.qualityReport.msg_up_stream_info.msg_video_status[e]}handleVideoEncoded(e,r,i){let{chunk:o,timestamp:u}=e;this.videoStats.framesEncoded++;let p=this.videoTypeIndexMap.get(r),l=this.getVideoStatus(p);l.uint32_video_decode_frame++,l.uint32_video_codec_fps++,l.uint32_video_enc_fps++,this.statReportReq.rpt_msg_video_stat_report[p].msg_video_enc_stat.uint32_video_enc_fps++;let m="byteLength"in o?o.byteLength:o.data.length;if(this.statReportReq.rpt_msg_video_stat_report[p].msg_video_enc_stat.uint32_video_enc_br+=m<<3,m>this.videoEncBuffer_.size){console.log("buffer too small!");return}"byteLength"in o?o.copyTo(this.videoEncBuffer_.uint8Array(m)):this.videoEncBuffer_.set(o.data),B.global.fill();let h=V._PacketizeVideoUdt(this.videoEncBuffer_.point,m,u,o.type=="key"?1:0,r,B.global.point,this.io.id,i);this.sendUdtv3Video(h,p)}sendUdtv3Video(e,r){let i=0,o=B.global.uint8Array();for(let u=0;u<e;u++){let p=B.global.getUint32(i);if(p<=0){this.io.log_.warn("sendUdtv3Video pktSize is ",p);continue}this.io.send(o.subarray(i+=4,i+=p)),this.statReportReq.rpt_msg_video_stat_report[r].msg_video_send_stat.uint32_video_send_br+=p<<3,this.videoStats.bytesSent+=p,this.videoStats.packetsSent++}}mute(e){if(this.send(8,e),e.userId!==this.io.joinRes.openid){let r=this.userMap_.get(e.srctinyid);r&&(r.subscribe&=~e.mediaType)}}unmute(e){if(this.send(9,e),e.userId!==this.io.joinRes.openid){let r=this.userMap_.get(e.srctinyid);r&&(r.subscribe|=e.mediaType)}}waitKeyFrame(e){this.send(11,e)}publish(e,r){this.audioStats.bytesSent=0,this.audioStats.packetsSent=0,this.videoStats.framesSent=0,this.videoStats.bytesSent=0,this.videoStats.packetsSent=0,this.videoStats.framesEncoded=0;let i={mediaType:e,mediaDescription:{audioParam:e&1?{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]}:void 0,videoParam:[4,8,2].filter(o=>e&o).map(o=>({mediaType:o,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]}))}};this.send(2,i).then(o=>{r.postMessage(o),r.postMessage(null)})}};var Sl=2,Zt=class extends ge{addEventMsgs(t){this.qualityReport.msg_event_msg=t}constructor(t){super(t);let e,r=Se(t,Je.JOINED),i=Se(t,Je.CLOSED),o={};H(r,kt(xe(1e3)),Oe(i),X(l=>{let m=Date.now();this.statReportReq.msg_down_bandwidth_est.uint32_avg_bandwidth_br=this.statReportReq.msg_down_bandwidth_est.uint32_bandwidth_br=this.statReportReq.msg_net_stat_report.uint32_down_recv_br,this.statReportReq.msg_rtt_info_req.uint64_client_timestamp_ms=m,this.statReportReq.msg_rtt_info_req.uint32_delay_since_last_server_timestamp_ms=e&&m-e||0,this.statReportReq.msg_net_stat_report.uint32_down_expect_pkg=this.statReportReq.msg_net_stat_report.uint32_down_real_pkg,this.statReportReq.msg_net_stat_report.uint32_total_send_br=this.statReportReq.msg_audio_stat_report.msg_audio_send_stat.uint32_audio_send_br+this.statReportReq.rpt_msg_video_stat_report.reduce((f,g)=>f+g.msg_video_send_stat.uint32_video_send_br,0),o.bandwidth=this.statReportReq.msg_down_bandwidth_est.uint32_avg_bandwidth_br,o.heartbeatSend=1;let h=[this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_codec_bitrate=this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_enc_br];this.qualityReport.msg_up_stream_info.msg_video_status.forEach((f,g)=>{let A=this.statReportReq.rpt_msg_video_stat_report[g];f.uint32_video_total_bitrate=A.msg_video_send_stat.uint32_video_send_br,h[A.uint32_video_type==7?3:A.uint32_video_type-1]=f.uint32_video_codec_bitrate=A.msg_video_enc_stat.uint32_video_enc_br}),o.localBr=h,this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_total_bitrate=this.statReportReq.msg_audio_stat_report.msg_audio_send_stat.uint32_audio_send_br,l%2&&this.post(12,this.io.statReportReq),this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_frame_interval=0,this.statReportReq.msg_audio_stat_report.msg_audio_send_stat.uint32_audio_send_br=0,this.statReportReq.msg_audio_stat_report.msg_audio_enc_stat.uint32_audio_enc_br=0,this.statReportReq.rpt_msg_video_stat_report.forEach(f=>{f.msg_video_send_stat.uint32_video_send_br=0,f.msg_video_enc_stat.uint32_video_enc_br=0,f.msg_video_enc_stat.uint32_video_enc_fps=0}),this.statReportReq.msg_net_stat_report.uint32_down_recv_br=0}));let u=H(this.createResposeOb(12),Or(l=>{l.err||!l.data||(this.statReportReq.msg_rtt_info_req.uint64_last_server_timestamp_ms=l.data.msg_rtt_info_res.uint64_server_timestamp_ms,e=Date.now(),this.statReportReq.msg_net_stat_report.uint32_rtt=e-l.data.msg_rtt_info_res.uint64_last_client_timestamp_ms-l.data.msg_rtt_info_res.uint32_delay_since_last_client_timestamp_ms,this.statReportReq.msg_net_stat_report.uint32_rtt<0&&(this.statReportReq.msg_net_stat_report.uint32_rtt=30),this.qualityReport.msg_up_stream_info.msg_network_status.uint32_lost=Math.max(0,(l.data.uint32_up_expect_pkg-l.data.uint32_up_real_pkg)*100/l.data.uint32_up_expect_pkg>>0))}));H(r,kt(u),kt(je(Ss)),Oe(i),X(()=>{this.io.log_.warn("ping timeout,lastrecv:",e,"now:",Date.now()),this.io.state==Je.JOINED&&this.io.wFSM.disconnect("ping timeout")}));let p=new B(52);H(r,kt(xe(Sl*1e3)),Oe(i),X(l=>{let m=[...this.userMap_.values()];this.qualityReport.uint64_datetime=Date.now(),this.qualityReport.msg_up_stream_info.msg_network_status.uint32_bitrate=this.statReportReq.msg_net_stat_report.uint32_total_send_br,this.qualityReport.msg_up_stream_info.msg_network_status.uint32_rtt=this.statReportReq.msg_net_stat_report.uint32_rtt,this.qualityReport.msg_down_stream_info=m.map(R=>{var D,G;let w=R.toDownStreamInfo(R,l%10===0),U=[w.msg_audio_status.uint32_audio_codec_bitrate];return U[1]=w.msg_video_status[0].uint32_video_codec_bitrate,U[2]=((D=w.msg_video_status[1])==null?void 0:D.uint32_video_codec_bitrate)||0,o[`RemoteBr_${R.userId}`]=U,o[`RemoteBlock_${R.userId}`]=[w.msg_audio_status.uint32_audio_block_cnt,w.msg_video_status[0].uint32_video_block_cnt,((G=w.msg_video_status[1])==null?void 0:G.uint32_video_block_cnt)||0],w}),this.glog(o),o={};let h=this.qualityReport.msg_down_stream_info.map(R=>({userId:R.msg_user_info.str_identifier,rtt:R.msg_network_status.uint32_rtt,loss:R.msg_network_status.uint32_lost})),f=yl(h),g=this.qualityReport.msg_up_stream_info.msg_network_status.uint32_rtt,A=this.qualityReport.msg_up_stream_info.msg_network_status.uint32_lost;this.postMessage("network-quality",{uplinkNetworkQuality:this.io.state!="DISCONNECTED"?Io(A,g):6,downlinkNetworkQuality:Io(f.loss,f.rtt),uplinkInfo:this.qualityReport.msg_up_stream_info,msg_down_stream_info:this.qualityReport.msg_down_stream_info,downlinkInfo:h,uplinkRTT:g,uplinkLoss:A,downlinkRTT:f.rtt,downlinkLoss:f.loss}),this.qualityReport.msg_up_stream_info.msg_video_status.forEach(R=>{R.uint32_video_capture_fps>>=1,R.uint32_video_codec_fps>>=1,l%10===0&&console.log(ut(),"video uplink fps:",R.uint32_video_stream_type,R.uint32_video_capture_fps,R.uint32_video_codec_fps)}),this.post(7,this.io.qualityReportReq),this.qualityReport.msg_event_msg=[],this.qualityReport.msg_up_stream_info.msg_audio_status.uint32_audio_level=0,this.qualityReport.msg_up_stream_info.msg_video_status.forEach(R=>{R.uint32_video_capture_fps=0,R.uint32_video_codec_fps=0,R.uint32_video_enc_fps=0})},l=>{},()=>{this.qualityReport.msg_down_stream_info=[...this.userMap_.values()].map(l=>l.toDownStreamInfo(l,!1)),this.post(7,this.io.qualityReportReq),p.free()}))}};function yl(n){let t={rtt:0,loss:0};return Array.isArray(n)&&n.length>0&&(n.forEach(e=>{t.rtt+=e.rtt,t.loss+=e.loss}),Object.keys(t).forEach(e=>{t[e]=Math.round(t[e]/n.length)})),t}function Io(n,t){return n>50||t>500?5:n>30||t>350?4:n>20||t>200?3:n>10||t>100?2:n>=0||t>=0?1:0}var er=class extends ge{async subscribe(t,e){let{mediaType:r,srctinyid:i}=t,o=this.userMap_.get(i);if(o){if(o.subscribe|=t.mediaType,t.mediaType=o.subscribe,e)e.postMessage(await this.send(4,t));else return this.send(4,t);r===1&&o.startPullOnlyAudio(o.mainPuller,e,{mediaType:r,srctinyid:i})}}async unSubscribe(t,e){let{mediaType:r,srctinyid:i}=t,o=this.userMap_.get(i);if(o){let u=o.subscribe;o.subscribe&=~r,u!==o.subscribe&&e.postMessage(await(o.subscribe===0?this.send(5,t):this.io.sendSubscribe(o)))}}pullVideo({mediaType:t,tinyId:e},r){let i=this.userMap_.get(e);i&&i.startPull(t===2?i.screenPuller:i.mainPuller,r,{mediaType:t,srctinyid:e})}changetype(t){let{mediaType:e,srctinyid:r}=t,i=this.userMap_.get(r);if(i){let o=i.subscribe;e===8?(i.subscribe|=8,i.subscribe&=-5):e===4&&(i.subscribe|=4,i.subscribe&=-9),o!=i.subscribe&&(t.mediaType=i.subscribe,this.send(4,t))}}};var xi=class extends $t{constructor(e,r,i,o){super();this.seq=e;this.player=r;this.numberOfChannels=i;this.bitrate=o;d(this,"aecPtr");d(this,"encodePrt");d(this,"tenms",sampleRate/100);d(this,"numberOfFrames",this.tenms<<1);d(this,"float32Array");d(this,"pos",0);d(this,"bufferLen",0);d(this,"outputPort");d(this,"mainPort");d(this,"workerPort");d(this,"outPrt");d(this,"audioCaptBuff");d(this,"oput");d(this,"first10ms");d(this,"dumpPort");d(this,"encodeCount",0);d(this,"startTs");d(this,"startTime");this.wasmBinary=r.wasm,this.startTs=currentTime,this.startTime=Date.now()}locateFile(){return this.wasmBinary}reset(){this.encodeCount=0}print(e){console.debug(e)}printErr(e){console.debug(e)}onRuntimeInitialized(){this.aecPtr=this._malloc(1920*10),this.encodePrt=this._malloc(1920*4),this.outPrt=this._malloc(1920*4),this.float32Array=new Float32Array(this.HEAPU8.buffer,this.encodePrt),this._CreateMediaProcessing(0,1,0,!1),this._UseAINS(ne.useAINS),this._SetAudioFrameFormat(sampleRate,this.numberOfChannels),this._InitOpusEncoder(sampleRate,this.numberOfChannels,1),this.bitrate&&this._SetOpusEncBitrate(this.bitrate*1e3),console.log(rt,"audio worklet initialized",sampleRate,this.numberOfChannels,this.seq),this.oput=new me,this.oput.buffer=new Uint8Array(this.HEAPU8.buffer,this.encodePrt),this.player.encoders[this.seq]=this}aec(e){return this.HEAPU8.set(e,this.aecPtr),this._AudioReverseProcessFloat(this.aecPtr,e.length>>2),this.HEAPU8.subarray(this.aecPtr,this.aecPtr+e.length)}encode(...e){if(!this.bitrate)return;let r=this.encodePrt;for(let i of e){this.float32Array.set(i,this.bufferLen),this.bufferLen+=i.length;let o=0;for(;this.bufferLen-this.pos>=this.tenms;){let u=this.player.delay+(this.bufferLen-this.pos)/(sampleRate/1e3)+20>>0,p=this._AudioProcessFloat(this.encodePrt+this.pos*4,this.tenms,u);if(o<p&&(o=p),this.pos+=this.tenms,this.pos>=this.numberOfFrames){if(this.dumpPort){let f=this.float32Array.slice(0,this.numberOfFrames);this.dumpPort.postMessage({data:f},[f.buffer])}let l=this._OpusEncode(this.encodePrt,this.numberOfFrames,this.outPrt);this.encodeCount++,this.encodeCount<10&&console.log("audio encoded",this.encodeCount,l);let m=this.HEAPU8.slice(this.outPrt,this.outPrt+l),h=o*100/32768;this.mainPort.postMessage(h),this.outputPort.postMessage({data:m,volume:h,energy:o,timestamp:(currentTime-this.startTs)*1e3+this.startTime&4294967295},[m.buffer]),o=0,this.float32Array.copyWithin(0,this.numberOfFrames,this.bufferLen),this.bufferLen-=this.numberOfFrames,this.pos-=this.numberOfFrames}}break}}close(){this._free(this.aecPtr),this._free(this.encodePrt)}};function So(n){class t extends AudioWorkletProcessor{constructor(i){super();d(this,"oput",new me);d(this,"wasm");d(this,"encoders",[]);d(this,"useAINS",!0);console.log("worklet created:",sampleRate),this.wasm=i.processorOptions.wasm,Object.assign(ne,i.processorOptions.flag),this.port.onmessage=o=>{o.ports[0].onmessage=u=>this.pushAudio(u)}}get delay(){var i;return(((i=this.oput.buffer)==null?void 0:i.length)||0)/(sampleRate*4/1e3)}process(i,o){return this.oput.demand(o[0][0],!0),this.encoders.forEach((u,p)=>u.encode(...i[p])),!0}pushAudio(i){if(i.data instanceof Uint8Array){let{data:o}=i;this.encoders.forEach(u=>o=u.aec(i.data)),this.oput.malloc(o.length).set(o);return}switch(console.log("worklet receive",i.data.cmd),i.data.cmd){case"dump":switch(i.data.payload){case"mic0":this.encoders[0].dumpPort=i.ports[0];break}break;case"useAINS":ne.useAINS=i.data.payload,this.encoders.forEach(o=>o._UseAINS(i.data.payload));break;case"enableAEC":this.encoders.forEach(o=>o._EnableAEC(i.data.payload));break;case"enableDebug":console.debug=i.data.payload?Vr:()=>{};break;case"pushAudio":{let[o,u]=i.ports,{payload:{numberOfChannels:p,bitrate:l},encrypt:m,index:h}=i.data,f=this.encoders[h]||new xi(h,this,p,l);this.encoders[h]?(f.bitrate=l,f._SetOpusEncBitrate(l*1e3)):n(f),f.reset(),f.mainPort=u,f.workerPort=o,f.outputPort=m?u:o,u.onmessage=g=>{g.data?f.encode(g.data):(console.log(ut(),"encoder",h,"stopped"),o.postMessage(null))}}}}}registerProcessor("global-audio-player",t)}var Pi=class{constructor(){d(this,"playPort");d(this,"dumpPort");d(this,"downlinkAudioCount",0);d(this,"interval10ms",H(bt(10),We()));d(this,"ios")}glog(t){self.postMessage({type:"glog",payload:t})}async joinRoom(t){let{data:{id:e,payload:r},ports:i}=t,o=new Je(e,i[0],r);o.wh=this;let u=[new zt(o),new er(o),new Yt(o),new Zt(o),new Qt(o)],p=(m="leave room")=>{o.leaveRoom().catch(),o.abort(m),this.ios.delete(o)},l=setTimeout(o.abort,5e3,"timeout");H(Wt(o.port,!0),X(({data:{cmd:m,payload:h},ports:f})=>{switch(console.log(self.name,"received message",m),m){case"setAudioWorkletPort":this.playPort=f[0];break;case"switchRole":o.sendReq(20,{role:h,privateMapKey:o.params.privateMapKey}).then(A=>f[0].postMessage(A));break;default:let g=f.map(A=>Wt(A));typeof h!="undefined"&&g.unshift(h),u.forEach(A=>{var R;(R=A[m])==null||R.call(A,...g)})}},p,p));try{await o.connect(),postMessage({id:e,payload:await o.joinRoom()}),clearTimeout(l),this.ios.add(o)}catch(m){m instanceof WebTransportError?m=`Transport initialization failed.
3
+ Reason: ${m.message}.
4
+ Source: ${m.source}.
5
+ Error code: ${m.streamErrorCode}.`:m instanceof ct?m=m.cause:m instanceof Event&&(m=m.type),postMessage({id:e,payload:{err:m}}),o.close()}}};function Rl(n){self.onmessage=async t=>{let e=setTimeout(()=>{self.postMessage({type:"error",payload:"timeout"})},5e3);try{t.data.wasm&&(V.wasmBinary=t.data.wasm),V.locateFile=()=>t.data.wasm,Object.assign(ne,t.data.flag),console.time(`Worker[${self.name}${rt}]`),V.postRun=[()=>{B.global=new B(1920*1080*3>>1),V._CreateMediaProcessing(0,1,0,!1),console.timeEnd(`Worker[${self.name}${rt}]`),V._UseAINS(ne.useAINS),this.ios=new Set,t.ports[0].onmessage=m=>{var g,A,R;let[h,f]=m.data;switch(h){case"dump":switch(f){case"audio":this.dumpPort=m.ports[0];break;case"mic0":(g=this.playPort)==null||g.postMessage({cmd:h,payload:f},m.ports);break}break;case"useAINS":V._UseAINS(f),(A=this.playPort)==null||A.postMessage({cmd:h,payload:f});break;case"enableDebug":console.debug=f?Vr:()=>{},(R=this.playPort)==null||R.postMessage({cmd:h,payload:f});break;case"useV2":V.udtver=f?2:3;break;case"useWt":ne.useWt=f;break;case"enableAEC":V._EnableAEC(f);break}};let r=0,i=Date.now(),o=0;H(xe(1e3),X(()=>{let f=(Date.now()-i)/10-r;console.debug("interval10ms:",f,f-o),o=f,V._UpdateStreamSync()})),V._SetAudioOutStreamFormat(48e3,1);let u=V._malloc(3*4),p=new B(1920),l=0;H(this.interval10ms,X(()=>{r++;let m=r%20===0;this.ios.forEach(h=>h.userManager.remotePublishedUserMap.forEach(f=>{let g=f.audioPuller;if(!g)return;let A=V._GetAudioFrame(g.buffer.point,48e3,g.ssrc);l=Math.max(l,A),m&&(l=0),g.feed()}))})),self.onmessage=this.joinRoom.bind(this),clearTimeout(e),self.postMessage({type:"ready"})}],n(V)}catch(r){self.postMessage({type:"error",payload:r})}}}var yo=xr?So:Rl.bind(new Pi);var Ao={},Ul=function(){var n=Ao.url;return function(e){e=e||{};var e=typeof e!="undefined"?e:{},r,i;e.ready=new Promise(function(s,a){r=s,i=a});var o={},u;for(u in e)e.hasOwnProperty(u)&&(o[u]=e[u]);var p=[],l="./this.program",m=function(s,a){throw a},h=typeof window=="object",f=typeof importScripts=="function",g=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",A=!h&&!g&&!f,R="";function w(s){return e.locateFile?e.locateFile(s,R):R+s}var U,D,G,ye;function Ae(s){if(!(s instanceof ju)){var a=s;se("exiting due to exception: "+a)}}A?(typeof read!="undefined"&&(U=function(a){return read(a)}),G=function(a){var c;return typeof readbuffer=="function"?new Uint8Array(readbuffer(a)):(c=read(a,"binary"),Di(typeof c=="object"),c)},D=function(a,c,_){setTimeout(function(){c(G(a))},0)},typeof scriptArgs!="undefined"?p=scriptArgs:typeof arguments!="undefined"&&(p=arguments),typeof quit=="function"&&(m=function(s,a){Ae(a),quit(s)}),typeof print!="undefined"&&(typeof console=="undefined"&&(console={}),console.log=print,console.warn=console.error=typeof printErr!="undefined"?printErr:print)):(h||f)&&(f?R=self.location.href:typeof document!="undefined"&&document.currentScript&&(R=document.currentScript.src),n&&(R=n),R.indexOf("blob:")!==0?R=R.substr(0,R.replace(/[?#].*/,"").lastIndexOf("/")+1):R="",U=function(s){var a=new XMLHttpRequest;return a.open("GET",s,!1),a.send(null),a.responseText},f&&(G=function(s){var a=new XMLHttpRequest;return a.open("GET",s,!1),a.responseType="arraybuffer",a.send(null),new Uint8Array(a.response)}),D=function(s,a,c){var _=new XMLHttpRequest;_.open("GET",s,!0),_.responseType="arraybuffer",_.onload=function(){if(_.status==200||_.status==0&&_.response){a(_.response);return}c()},_.onerror=c,_.send(null)},ye=function(s){document.title=s});var Re=e.print||console.log.bind(console),se=e.printErr||console.warn.bind(console);for(u in o)o.hasOwnProperty(u)&&(e[u]=o[u]);o=null,e.arguments&&(p=e.arguments),e.thisProgram&&(l=e.thisProgram),e.quit&&(m=e.quit);function _e(s){_e.shown||(_e.shown={}),_e.shown[s]||(_e.shown[s]=1,se(s))}function Uo(s,a){if(typeof WebAssembly.Function=="function"){for(var c={i:"i32",j:"i64",f:"f32",d:"f64"},_={parameters:[],results:a[0]=="v"?[]:[c[a[0]]]},b=1;b<a.length;++b)_.parameters.push(c[a[b]]);return new WebAssembly.Function(_,s)}var T=[1,0,1,96],I=a.slice(0,1),y=a.slice(1),S={i:127,j:126,f:125,d:124};T.push(y.length);for(var b=0;b<y.length;++b)T.push(S[y[b]]);I=="v"?T.push(0):T=T.concat([1,S[I]]),T[1]=T.length-2;var x=new Uint8Array([0,97,115,109,1,0,0,0].concat(T,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0])),q=new WebAssembly.Module(x),K=new WebAssembly.Instance(q,{e:{f:s}}),W=K.exports.f;return W}var Xr=[],Xe;function Oo(){if(Xr.length)return Xr.pop();try{dt.grow(1)}catch(s){throw s instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":s}return dt.length-1}function xo(s,a){for(var c=s;c<s+a;c++){var _=nr(c);_&&Xe.set(_,c)}}function Po(s,a){if(Xe||(Xe=new WeakMap,xo(0,dt.length)),Xe.has(s))return Xe.get(s);var c=Oo();try{$i(c,s)}catch(b){if(!(b instanceof TypeError))throw b;var _=Uo(s,a);$i(c,_)}return Xe.set(s,c),c}function vo(s){Xe.delete(nr(s)),Xr.push(s)}var vt;e.wasmBinary&&(vt=e.wasmBinary);var Ol=e.noExitRuntime||!1;typeof WebAssembly!="object"&&mt("no native wasm support detected");var tr,vi=!1,Do;function Di(s,a){s||mt("Assertion failed: "+a)}function O(s){var a=e["_"+s];return Di(a,"Cannot call unknown function "+s+", make sure it is exported"),a}function Ni(s,a,c,_,b){var T={string:function(j){var re=0;if(j!=null&&j!==0){var Y=(j.length<<2)+1;re=dn(Y),Li(j,re,Y)}return re},array:function(j){var re=dn(j.length);return Bi(j,re),re}};function I(j){return a==="string"?Dt(j):a==="boolean"?!!j:j}var y=O(s),S=[],x=0;if(_)for(var q=0;q<_.length;q++){var K=T[c[q]];K?(x===0&&(x=ns()),S[q]=K(_[q])):S[q]=_[q]}var W=y.apply(null,S);function Q(j){return x!==0&&is(x),I(j)}return W=Q(W),W}function No(s,a,c,_){c=c||[];var b=c.every(function(I){return I==="number"}),T=a!=="string";return T&&b&&!_?O(s):function(){return Ni(s,a,c,arguments,_)}}var Ci=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function Qr(s,a,c){for(var _=a+c,b=a;s[b]&&!(b>=_);)++b;if(b-a>16&&s.subarray&&Ci)return Ci.decode(s.subarray(a,b));for(var T="";a<b;){var I=s[a++];if(!(I&128)){T+=String.fromCharCode(I);continue}var y=s[a++]&63;if((I&224)==192){T+=String.fromCharCode((I&31)<<6|y);continue}var S=s[a++]&63;if((I&240)==224?I=(I&15)<<12|y<<6|S:I=(I&7)<<18|y<<12|S<<6|s[a++]&63,I<65536)T+=String.fromCharCode(I);else{var x=I-65536;T+=String.fromCharCode(55296|x>>10,56320|x&1023)}}return T}function Dt(s,a){return s?Qr(oe,s,a):""}function wi(s,a,c,_){if(!(_>0))return 0;for(var b=c,T=c+_-1,I=0;I<s.length;++I){var y=s.charCodeAt(I);if(y>=55296&&y<=57343){var S=s.charCodeAt(++I);y=65536+((y&1023)<<10)|S&1023}if(y<=127){if(c>=T)break;a[c++]=y}else if(y<=2047){if(c+1>=T)break;a[c++]=192|y>>6,a[c++]=128|y&63}else if(y<=65535){if(c+2>=T)break;a[c++]=224|y>>12,a[c++]=128|y>>6&63,a[c++]=128|y&63}else{if(c+3>=T)break;a[c++]=240|y>>18,a[c++]=128|y>>12&63,a[c++]=128|y>>6&63,a[c++]=128|y&63}}return a[c]=0,c-b}function Li(s,a,c){return wi(s,oe,a,c)}function Mi(s){for(var a=0,c=0;c<s.length;++c){var _=s.charCodeAt(c);_>=55296&&_<=57343&&(_=65536+((_&1023)<<10)|s.charCodeAt(++c)&1023),_<=127?++a:_<=2047?a+=2:_<=65535?a+=3:a+=4}return a}var ki=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function Co(s,a){for(var c=s,_=c>>1,b=_+a/2;!(_>=b)&&rr[_];)++_;if(c=_<<1,c-s>32&&ki)return ki.decode(oe.subarray(s,c));for(var T="",I=0;!(I>=a/2);++I){var y=lt[s+I*2>>1];if(y==0)break;T+=String.fromCharCode(y)}return T}function wo(s,a,c){if(c===void 0&&(c=2147483647),c<2)return 0;c-=2;for(var _=a,b=c<s.length*2?c/2:s.length,T=0;T<b;++T){var I=s.charCodeAt(T);lt[a>>1]=I,a+=2}return lt[a>>1]=0,a-_}function Lo(s){return s.length*2}function Mo(s,a){for(var c=0,_="";!(c>=a/4);){var b=k[s+c*4>>2];if(b==0)break;if(++c,b>=65536){var T=b-65536;_+=String.fromCharCode(55296|T>>10,56320|T&1023)}else _+=String.fromCharCode(b)}return _}function ko(s,a,c){if(c===void 0&&(c=2147483647),c<4)return 0;for(var _=a,b=_+c-4,T=0;T<s.length;++T){var I=s.charCodeAt(T);if(I>=55296&&I<=57343){var y=s.charCodeAt(++T);I=65536+((I&1023)<<10)|y&1023}if(k[a>>2]=I,a+=4,a+4>b)break}return k[a>>2]=0,a-_}function Bo(s){for(var a=0,c=0;c<s.length;++c){var _=s.charCodeAt(c);_>=55296&&_<=57343&&++c,a+=4}return a}function Bi(s,a){z.set(s,a)}function Vo(s,a,c){for(var _=0;_<s.length;++_)z[a++>>0]=s.charCodeAt(_);c||(z[a>>0]=0)}function Fo(s,a){return s%a>0&&(s+=a-s%a),s}var zr,z,oe,lt,rr,k,Le,Vi,v;function Fi(s){zr=s,e.HEAP8=z=new Int8Array(s),e.HEAP16=lt=new Int16Array(s),e.HEAP32=k=new Int32Array(s),e.HEAPU8=oe=new Uint8Array(s),e.HEAPU16=rr=new Uint16Array(s),e.HEAPU32=Le=new Uint32Array(s),e.HEAPF32=Vi=new Float32Array(s),e.HEAPF64=v=new Float64Array(s)}var xl=e.INITIAL_MEMORY||134217728,dt,Hi=[],qi=[],Ho=[],Gi=[],qo=!1;function Go(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)$o(e.preRun.shift());en(Hi)}function Wo(){qo=!0,en(qi)}function jo(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)Ko(e.postRun.shift());en(Gi)}function $o(s){Hi.unshift(s)}function Yo(s){qi.unshift(s)}function Ko(s){Gi.unshift(s)}var Qe=0,Zr=null,Nt=null;function Jo(s){Qe++,e.monitorRunDependencies&&e.monitorRunDependencies(Qe)}function Xo(s){if(Qe--,e.monitorRunDependencies&&e.monitorRunDependencies(Qe),Qe==0&&(Zr!==null&&(clearInterval(Zr),Zr=null),Nt)){var a=Nt;Nt=null,a()}}e.preloadedImages={},e.preloadedAudios={};function mt(s){e.onAbort&&e.onAbort(s),s="Aborted("+s+")",se(s),vi=!0,Do=1,s+=". Build with -s ASSERTIONS=1 for more info.";var a=new WebAssembly.RuntimeError(s);throw i(a),a}var Qo="data:application/octet-stream;base64,";function Wi(s){return s.startsWith(Qo)}var Te;e.locateFile?(Te="av_processing.wasm",Wi(Te)||(Te=w(Te))):Te=new URL("av_processing.wasm",Ao.url).toString();function ji(s){try{if(s==Te&&vt)return new Uint8Array(vt);if(G)return G(s);throw"both async and sync fetching of the wasm failed"}catch(a){mt(a)}}function zo(){return!vt&&(h||f)&&typeof fetch=="function"?fetch(Te,{credentials:"same-origin"}).then(function(s){if(!s.ok)throw"failed to load wasm binary file at '"+Te+"'";return s.arrayBuffer()}).catch(function(){return ji(Te)}):Promise.resolve().then(function(){return ji(Te)})}function Zo(){var s={a:ru};function a(I,y){var S=I.exports;e.asm=S,tr=e.asm.B,Fi(tr.buffer),dt=e.asm.na,Yo(e.asm.C),Xo("wasm-instantiate")}Jo("wasm-instantiate");function c(I){a(I.instance)}function _(I){return zo().then(function(y){return WebAssembly.instantiate(y,s)}).then(function(y){return y}).then(I,function(y){se("failed to asynchronously prepare wasm: "+y),mt(y)})}function b(){return!vt&&typeof WebAssembly.instantiateStreaming=="function"&&!Wi(Te)&&typeof fetch=="function"?fetch(Te,{credentials:"same-origin"}).then(function(I){var y=WebAssembly.instantiateStreaming(I,s);return y.then(c,function(S){return se("wasm streaming compile failed: "+S),se("falling back to ArrayBuffer instantiation"),_(c)})}):_(c)}if(e.instantiateWasm)try{var T=e.instantiateWasm(s,a);return T}catch(I){return se("Module.instantiateWasm callback failed with error: "+I),!1}return b().catch(i),{}}function en(s){for(;s.length>0;){var a=s.shift();if(typeof a=="function"){a(e);continue}var c=a.func;typeof c=="number"?a.arg===void 0?nr(c)():nr(c)(a.arg):c(a.arg===void 0?null:a.arg)}}function nr(s){return dt.get(s)}function ea(){var s=new Error;if(!s.stack){try{throw new Error}catch(a){s=a}if(!s.stack)return"(no stack trace available)"}return s.stack.toString()}function $i(s,a){dt.set(s,a)}function ta(s){return cr(s+16)+16}function ra(s,a){Ho.unshift({func:s,arg:a})}function na(s,a){return ra(s,a)}function ia(s){this.excPtr=s,this.ptr=s-16,this.set_type=function(a){k[this.ptr+4>>2]=a},this.get_type=function(){return k[this.ptr+4>>2]},this.set_destructor=function(a){k[this.ptr+8>>2]=a},this.get_destructor=function(){return k[this.ptr+8>>2]},this.set_refcount=function(a){k[this.ptr>>2]=a},this.set_caught=function(a){a=a?1:0,z[this.ptr+12>>0]=a},this.get_caught=function(){return z[this.ptr+12>>0]!=0},this.set_rethrown=function(a){a=a?1:0,z[this.ptr+13>>0]=a},this.get_rethrown=function(){return z[this.ptr+13>>0]!=0},this.init=function(a,c){this.set_type(a),this.set_destructor(c),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var a=k[this.ptr>>2];k[this.ptr>>2]=a+1},this.release_ref=function(){var a=k[this.ptr>>2];return k[this.ptr>>2]=a-1,a===1}}var sa=0,oa=0;function aa(s,a,c){var _=new ia(s);throw _.init(a,c),sa=s,oa++,s}function ua(s,a,c,_,b){}function tn(s){switch(s){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+s)}}function ca(){for(var s=new Array(256),a=0;a<256;++a)s[a]=String.fromCharCode(a);Yi=s}var Yi=void 0;function Fe(s){for(var a="",c=s;oe[c];)a+=Yi[oe[c++]];return a}var rn={},Ki={},la={},da=48,ma=57;function pa(s){if(s===void 0)return"_unknown";s=s.replace(/[^a-zA-Z0-9_]/g,"$");var a=s.charCodeAt(0);return a>=da&&a<=ma?"_"+s:s}function fa(s,a){return s=pa(s),new Function("body","return function "+s+`() {
6
+ "use strict"; return body.apply(this, arguments);
7
+ };
8
+ `)(a)}function Ji(s,a){var c=fa(a,function(_){this.name=a,this.message=_;var b=new Error(_).stack;b!==void 0&&(this.stack=this.toString()+`
9
+ `+b.replace(/^Error(:[^\n]*)?\n/,""))});return c.prototype=Object.create(s.prototype),c.prototype.constructor=c,c.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},c}var Xi=void 0;function pt(s){throw new Xi(s)}var _a=void 0;function He(s,a,c){if(c=c||{},!("argPackAdvance"in a))throw new TypeError("registerType registeredInstance requires argPackAdvance");var _=a.name;if(s||pt('type "'+_+'" must have a positive integer typeid pointer'),Ki.hasOwnProperty(s)){if(c.ignoreDuplicateRegistrations)return;pt("Cannot register type '"+_+"' twice")}if(Ki[s]=a,delete la[s],rn.hasOwnProperty(s)){var b=rn[s];delete rn[s],b.forEach(function(T){T()})}}function ha(s,a,c,_,b){var T=tn(c);a=Fe(a),He(s,{name:a,fromWireType:function(I){return!!I},toWireType:function(I,y){return y?_:b},argPackAdvance:8,readValueFromPointer:function(I){var y;if(c===1)y=z;else if(c===2)y=lt;else if(c===4)y=k;else throw new TypeError("Unknown boolean type size: "+a);return this.fromWireType(y[I>>T])},destructorFunction:null})}var nn=[],Pe=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function ba(s){s>4&&--Pe[s].refcount===0&&(Pe[s]=void 0,nn.push(s))}function ga(){for(var s=0,a=5;a<Pe.length;++a)Pe[a]!==void 0&&++s;return s}function Ea(){for(var s=5;s<Pe.length;++s)if(Pe[s]!==void 0)return Pe[s];return null}function Ta(){e.count_emval_handles=ga,e.get_first_emval=Ea}var Qi={toValue:function(s){return s||pt("Cannot use deleted val. handle = "+s),Pe[s].value},toHandle:function(s){switch(s){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:{var a=nn.length?nn.pop():Pe.length;return Pe[a]={refcount:1,value:s},a}}}};function sn(s){return this.fromWireType(Le[s>>2])}function Ia(s,a){a=Fe(a),He(s,{name:a,fromWireType:function(c){var _=Qi.toValue(c);return ba(c),_},toWireType:function(c,_){return Qi.toHandle(_)},argPackAdvance:8,readValueFromPointer:sn,destructorFunction:null})}function on(s){if(s===null)return"null";var a=typeof s;return a==="object"||a==="array"||a==="function"?s.toString():""+s}function Sa(s,a){switch(a){case 2:return function(c){return this.fromWireType(Vi[c>>2])};case 3:return function(c){return this.fromWireType(v[c>>3])};default:throw new TypeError("Unknown float type: "+s)}}function ya(s,a,c){var _=tn(c);a=Fe(a),He(s,{name:a,fromWireType:function(b){return b},toWireType:function(b,T){if(typeof T!="number"&&typeof T!="boolean")throw new TypeError('Cannot convert "'+on(T)+'" to '+this.name);return T},argPackAdvance:8,readValueFromPointer:Sa(a,_),destructorFunction:null})}function Aa(s,a,c){switch(a){case 0:return c?function(b){return z[b]}:function(b){return oe[b]};case 1:return c?function(b){return lt[b>>1]}:function(b){return rr[b>>1]};case 2:return c?function(b){return k[b>>2]}:function(b){return Le[b>>2]};default:throw new TypeError("Unknown integer type: "+s)}}function Ra(s,a,c,_,b){a=Fe(a),b===-1&&(b=4294967295);var T=tn(c),I=function(x){return x};if(_===0){var y=32-8*c;I=function(x){return x<<y>>>y}}var S=a.includes("unsigned");He(s,{name:a,fromWireType:I,toWireType:function(x,q){if(typeof q!="number"&&typeof q!="boolean")throw new TypeError('Cannot convert "'+on(q)+'" to '+this.name);if(q<_||q>b)throw new TypeError('Passing a number "'+on(q)+'" from JS side to C/C++ side to an argument of type "'+a+'", which is outside the valid range ['+_+", "+b+"]!");return S?q>>>0:q|0},argPackAdvance:8,readValueFromPointer:Aa(a,T,_!==0),destructorFunction:null})}function Ua(s,a,c){var _=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],b=_[a];function T(I){I=I>>2;var y=Le,S=y[I],x=y[I+1];return new b(zr,x,S)}c=Fe(c),He(s,{name:c,fromWireType:T,argPackAdvance:8,readValueFromPointer:T},{ignoreDuplicateRegistrations:!0})}function Oa(s,a){a=Fe(a);var c=a==="std::string";He(s,{name:a,fromWireType:function(_){var b=Le[_>>2],T;if(c)for(var I=_+4,y=0;y<=b;++y){var S=_+4+y;if(y==b||oe[S]==0){var x=S-I,q=Dt(I,x);T===void 0?T=q:(T+="\0",T+=q),I=S+1}}else{for(var K=new Array(b),y=0;y<b;++y)K[y]=String.fromCharCode(oe[_+4+y]);T=K.join("")}return qe(_),T},toWireType:function(_,b){b instanceof ArrayBuffer&&(b=new Uint8Array(b));var T,I=typeof b=="string";I||b instanceof Uint8Array||b instanceof Uint8ClampedArray||b instanceof Int8Array||pt("Cannot pass non-string to std::string"),c&&I?T=function(){return Mi(b)}:T=function(){return b.length};var y=T(),S=cr(4+y+1);if(Le[S>>2]=y,c&&I)Li(b,S+4,y+1);else if(I)for(var x=0;x<y;++x){var q=b.charCodeAt(x);q>255&&(qe(S),pt("String has UTF-16 code units that do not fit in 8 bits")),oe[S+4+x]=q}else for(var x=0;x<y;++x)oe[S+4+x]=b[x];return _!==null&&_.push(qe,S),S},argPackAdvance:8,readValueFromPointer:sn,destructorFunction:function(_){qe(_)}})}function xa(s,a,c){c=Fe(c);var _,b,T,I,y;a===2?(_=Co,b=wo,I=Lo,T=function(){return rr},y=1):a===4&&(_=Mo,b=ko,I=Bo,T=function(){return Le},y=2),He(s,{name:c,fromWireType:function(S){for(var x=Le[S>>2],q=T(),K,W=S+4,Q=0;Q<=x;++Q){var j=S+4+Q*a;if(Q==x||q[j>>y]==0){var re=j-W,Y=_(W,re);K===void 0?K=Y:(K+="\0",K+=Y),W=j+a}}return qe(S),K},toWireType:function(S,x){typeof x!="string"&&pt("Cannot pass non-string to C++ string type "+c);var q=I(x),K=cr(4+q+a);return Le[K>>2]=q>>y,b(x,K+4,q+a),S!==null&&S.push(qe,K),K},argPackAdvance:8,readValueFromPointer:sn,destructorFunction:function(S){qe(S)}})}function Pa(s,a){a=Fe(a),He(s,{isVoid:!0,name:a,argPackAdvance:0,fromWireType:function(){},toWireType:function(c,_){}})}function va(){mt("")}var an;typeof dateNow!="undefined"?an=dateNow:an=function(){return performance.now()};var Da=!0;function Na(s){return k[rs()>>2]=s,s}function Ca(s,a){var c;if(s===0)c=Date.now();else if((s===1||s===4)&&Da)c=an();else return Na(28),-1;return k[a>>2]=c/1e3|0,k[a+4>>2]=c%1e3*1e3*1e3|0,0}function wa(s){return s<0||s===0&&1/s===-1/0}function La(s,a){return(s>>>0)+a*4294967296}function Ma(s,a){return(s>>>0)+(a>>>0)*4294967296}function zi(s,a){if(s<=0)return s;var c=a<=32?Math.abs(1<<a-1):Math.pow(2,a-1);return s>=c&&(a<=32||s>c)&&(s=-2*c+s),s}function Zi(s,a){return s>=0?s:a<=32?2*Math.abs(1<<a-1)+s:Math.pow(2,a)+s}function es(s){for(var a=s;oe[a];)++a;return a-s}e._strlen=es;function ka(s,a){var c=s,_=a;function b(De,ke){return(ke==="double"||ke==="i64")&&De&7&&(De+=4),De}function T(De){var ke;return _=b(_,De),De==="double"?(ke=Number(v[_>>3]),_+=8):De=="i64"?(ke=[k[_>>2],k[_+4>>2]],_+=8):(De="i32",ke=k[_>>2],_+=4),ke}for(var I=[],y,S,x;;){var q=c;if(y=z[c>>0],y===0)break;if(S=z[c+1>>0],y==37){var K=!1,W=!1,Q=!1,j=!1,re=!1;e:for(;;){switch(S){case 43:K=!0;break;case 45:W=!0;break;case 35:Q=!0;break;case 48:if(j)break e;j=!0;break;case 32:re=!0;break;default:break e}c++,S=z[c+1>>0]}var Y=0;if(S==42)Y=T("i32"),c++,S=z[c+1>>0];else for(;S>=48&&S<=57;)Y=Y*10+(S-48),c++,S=z[c+1>>0];var be=!1,E=-1;if(S==46){if(E=0,be=!0,c++,S=z[c+1>>0],S==42)E=T("i32"),c++;else for(;;){var C=z[c+1>>0];if(C<48||C>57)break;E=E*10+(C-48),c++}S=z[c+1>>0]}E<0&&(E=6,be=!1);var F;switch(String.fromCharCode(S)){case"h":var J=z[c+2>>0];J==104?(c++,F=1):F=2;break;case"l":var J=z[c+2>>0];J==108?(c++,F=8):F=4;break;case"L":case"q":case"j":F=8;break;case"z":case"t":case"I":F=4;break;default:F=null}switch(F&&c++,S=z[c+1>>0],String.fromCharCode(S)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var Ie=S==100||S==105;F=F||4,x=T("i"+F*8);var P;if(F==8&&(x=S==117?Ma(x[0],x[1]):La(x[0],x[1])),F<=4){var Me=Math.pow(256,F)-1;x=(Ie?zi:Zi)(x&Me,F*8)}var wt=Math.abs(x),he="";if(S==100||S==105)P=zi(x,8*F,1).toString(10);else if(S==117)P=Zi(x,8*F,1).toString(10),x=Math.abs(x);else if(S==111)P=(Q?"0":"")+wt.toString(8);else if(S==120||S==88){if(he=Q&&x!=0?"0x":"",x<0){x=-x,P=(wt-1).toString(16);for(var ss=[],ve=0;ve<P.length;ve++)ss.push((15-parseInt(P[ve],16)).toString(16));for(P=ss.join("");P.length<F*2;)P="f"+P}else P=wt.toString(16);S==88&&(he=he.toUpperCase(),P=P.toUpperCase())}else S==112&&(wt===0?P="(nil)":(he="0x",P=wt.toString(16)));if(be)for(;P.length<E;)P="0"+P;for(x>=0&&(K?he="+"+he:re&&(he=" "+he)),P.charAt(0)=="-"&&(he="-"+he,P=P.substr(1));he.length+P.length<Y;)W?P+=" ":j?P="0"+P:he=" "+he;P=he+P,P.split("").forEach(function(De){I.push(De.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{x=T("double");var P;if(isNaN(x))P="nan",j=!1;else if(!isFinite(x))P=(x<0?"-":"")+"inf",j=!1;else{var os=!1,Lt=Math.min(E,20);if(S==103||S==71){os=!0,E=E||1;var pn=parseInt(x.toExponential(Lt).split("e")[1],10);E>pn&&pn>=-4?(S=(S==103?"f":"F").charCodeAt(0),E-=pn+1):(S=(S==103?"e":"E").charCodeAt(0),E--),Lt=Math.min(E,20)}S==101||S==69?(P=x.toExponential(Lt),/[eE][-+]\d$/.test(P)&&(P=P.slice(0,-1)+"0"+P.slice(-1))):(S==102||S==70)&&(P=x.toFixed(Lt),x===0&&wa(x)&&(P="-"+P));var Ue=P.split("e");if(os&&!Q)for(;Ue[0].length>1&&Ue[0].includes(".")&&(Ue[0].slice(-1)=="0"||Ue[0].slice(-1)==".");)Ue[0]=Ue[0].slice(0,-1);else for(Q&&P.indexOf(".")==-1&&(Ue[0]+=".");E>Lt++;)Ue[0]+="0";P=Ue[0]+(Ue.length>1?"e"+Ue[1]:""),S==69&&(P=P.toUpperCase()),x>=0&&(K?P="+"+P:re&&(P=" "+P))}for(;P.length<Y;)W?P+=" ":j&&(P[0]=="-"||P[0]=="+")?P=P[0]+"0"+P.slice(1):P=(j?"0":" ")+P;S<97&&(P=P.toUpperCase()),P.split("").forEach(function(ke){I.push(ke.charCodeAt(0))});break}case"s":{var dr=T("i8*"),_t=dr?es(dr):6;if(be&&(_t=Math.min(_t,E)),!W)for(;_t<Y--;)I.push(32);if(dr)for(var ve=0;ve<_t;ve++)I.push(oe[dr++>>0]);else I=I.concat(ts("(null)".substr(0,_t),!0));if(W)for(;_t<Y--;)I.push(32);break}case"c":{for(W&&I.push(T("i8"));--Y>0;)I.push(32);W||I.push(T("i8"));break}case"n":{var $u=T("i32*");k[$u>>2]=I.length;break}case"%":{I.push(y);break}default:for(var ve=q;ve<c+2;ve++)I.push(z[ve>>0])}c+=2}else I.push(y),c+=1}return I}function un(s){if(!s||!s.callee||!s.callee.name)return[null,"",""];var a=s.callee.toString(),c=s.callee.name,_="(",b=!0;for(var T in s){var I=s[T];b||(_+=", "),b=!1,typeof I=="number"||typeof I=="string"?_+=I:_+="("+typeof I+")"}_+=")";var y=s.callee.caller;return s=y?y.arguments:[],b&&(_=""),[s,c,_]}function Ba(s){var a=ea(),c=a.lastIndexOf("_emscripten_log"),_=a.lastIndexOf("_emscripten_get_callstack"),b=a.indexOf(`
10
+ `,Math.max(c,_))+1;a=a.slice(b),s&32&&_e("EM_LOG_DEMANGLE is deprecated; ignoring"),s&8&&typeof emscripten_source_map=="undefined"&&(_e('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),s^=8,s|=16);var T=null;if(s&128)for(T=un(arguments);T[1].includes("_emscripten_");)T=un(T[0]);var I=a.split(`
11
+ `);a="";var y=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),S=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),x=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var q in I){var K=I[q],W="",Q="",j=0,re=0,Y=x.exec(K);if(Y&&Y.length==5)W=Y[1],Q=Y[2],j=Y[3],re=Y[4];else if(Y=y.exec(K),Y||(Y=S.exec(K)),Y&&Y.length>=4)W=Y[1],Q=Y[2],j=Y[3],re=Y[4]|0;else{a+=K+`
12
+ `;continue}var be=!1;if(s&8){var E=emscripten_source_map.originalPositionFor({line:j,column:re});be=E&&E.source,be&&(s&64&&(E.source=E.source.substring(E.source.replace(/\\/g,"/").lastIndexOf("/")+1)),a+=" at "+W+" ("+E.source+":"+E.line+":"+E.column+`)
13
+ `)}(s&16||!be)&&(s&64&&(Q=Q.substring(Q.replace(/\\/g,"/").lastIndexOf("/")+1)),a+=(be?" = "+W:" at "+W)+" ("+Q+":"+j+":"+re+`)
14
+ `),s&128&&T[0]&&(T[1]==W&&T[2].length>0&&(a=a.replace(/\s+$/,""),a+=" with values: "+T[1]+T[2]+`
15
+ `),T=un(T[0]))}return a=a.replace(/\s+$/,""),a}function Va(s,a){s&24&&(a=a.replace(/\s+$/,""),a+=(a.length>0?`
16
+ `:"")+Ba(s)),s&1?s&4?se(a):s&2?console.warn(a):s&512?console.info(a):s&256?console.debug(a):Re(a):s&6?se(a):Re(a)}function Fa(s,a,c){var _=ka(a,c),b=Qr(_,0);Va(s,b)}function Ha(s,a,c){oe.copyWithin(s,a,a+c)}function qa(s){try{return tr.grow(s-zr.byteLength+65535>>>16),Fi(tr.buffer),1}catch(a){}}function Ga(s){var a=oe.length;s=s>>>0;var c=1073741824;if(s>c)return!1;for(var _=1;_<=4;_*=2){var b=a*(1+.2/_);b=Math.min(b,s+100663296);var T=Math.min(c,Fo(Math.max(s,b),65536)),I=qa(T);if(I)return!0}return!1}var cn={};function Wa(){return l||"./this.program"}function Ct(){if(!Ct.strings){var s=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:s,_:Wa()};for(var c in cn)cn[c]===void 0?delete a[c]:a[c]=cn[c];var _=[];for(var c in a)_.push(c+"="+a[c]);Ct.strings=_}return Ct.strings}var ft={mappings:{},buffers:[null,[],[]],printChar:function(s,a){var c=ft.buffers[s];a===0||a===10?((s===1?Re:se)(Qr(c,0)),c.length=0):c.push(a)},varargs:void 0,get:function(){ft.varargs+=4;var s=k[ft.varargs-4>>2];return s},getStr:function(s){var a=Dt(s);return a},get64:function(s,a){return s}};function ja(s,a){var c=0;return Ct().forEach(function(_,b){var T=a+c;k[s+b*4>>2]=T,Vo(_,T),c+=_.length+1}),0}function $a(s,a){var c=Ct();k[s>>2]=c.length;var _=0;return c.forEach(function(b){_+=b.length+1}),k[a>>2]=_,0}function Ya(s){return 0}function Ka(s,a,c,_){var b=ft.getStreamFromFD(s),T=ft.doReadv(b,a,c);return k[_>>2]=T,0}function Ja(s,a,c,_,b){}function Xa(s,a,c,_){for(var b=0,T=0;T<c;T++){var I=k[a>>2],y=k[a+4>>2];a+=8;for(var S=0;S<y;S++)ft.printChar(s,oe[I+S]);b+=y}return k[_>>2]=b,0}function Qa(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var s=new Uint8Array(1);return function(){return crypto.getRandomValues(s),s[0]}}else return function(){mt("randomDevice")}}function ir(s,a){ir.randomDevice||(ir.randomDevice=Qa());for(var c=0;c<a;c++)z[s+c>>0]=ir.randomDevice();return 0}function za(s){var a=Date.now();return k[s>>2]=a/1e3|0,k[s+4>>2]=a%1e3*1e3|0,0}function sr(s){return s%4===0&&(s%100!==0||s%400===0)}function ln(s,a){for(var c=0,_=0;_<=a;c+=s[_++]);return c}var or=[31,29,31,30,31,30,31,31,30,31,30,31],ar=[31,28,31,30,31,30,31,31,30,31,30,31];function ur(s,a){for(var c=new Date(s.getTime());a>0;){var _=sr(c.getFullYear()),b=c.getMonth(),T=(_?or:ar)[b];if(a>T-c.getDate())a-=T-c.getDate()+1,c.setDate(1),b<11?c.setMonth(b+1):(c.setMonth(0),c.setFullYear(c.getFullYear()+1));else return c.setDate(c.getDate()+a),c}return c}function Za(s,a,c,_){var b=k[_+40>>2],T={tm_sec:k[_>>2],tm_min:k[_+4>>2],tm_hour:k[_+8>>2],tm_mday:k[_+12>>2],tm_mon:k[_+16>>2],tm_year:k[_+20>>2],tm_wday:k[_+24>>2],tm_yday:k[_+28>>2],tm_isdst:k[_+32>>2],tm_gmtoff:k[_+36>>2],tm_zone:b?Dt(b):""},I=Dt(c),y={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var S in y)I=I.replace(new RegExp(S,"g"),y[S]);var x=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],q=["January","February","March","April","May","June","July","August","September","October","November","December"];function K(E,C,F){for(var J=typeof E=="number"?E.toString():E||"";J.length<C;)J=F[0]+J;return J}function W(E,C){return K(E,C,"0")}function Q(E,C){function F(Ie){return Ie<0?-1:Ie>0?1:0}var J;return(J=F(E.getFullYear()-C.getFullYear()))===0&&(J=F(E.getMonth()-C.getMonth()))===0&&(J=F(E.getDate()-C.getDate())),J}function j(E){switch(E.getDay()){case 0:return new Date(E.getFullYear()-1,11,29);case 1:return E;case 2:return new Date(E.getFullYear(),0,3);case 3:return new Date(E.getFullYear(),0,2);case 4:return new Date(E.getFullYear(),0,1);case 5:return new Date(E.getFullYear()-1,11,31);case 6:return new Date(E.getFullYear()-1,11,30)}}function re(E){var C=ur(new Date(E.tm_year+1900,0,1),E.tm_yday),F=new Date(C.getFullYear(),0,4),J=new Date(C.getFullYear()+1,0,4),Ie=j(F),P=j(J);return Q(Ie,C)<=0?Q(P,C)<=0?C.getFullYear()+1:C.getFullYear():C.getFullYear()-1}var Y={"%a":function(E){return x[E.tm_wday].substring(0,3)},"%A":function(E){return x[E.tm_wday]},"%b":function(E){return q[E.tm_mon].substring(0,3)},"%B":function(E){return q[E.tm_mon]},"%C":function(E){var C=E.tm_year+1900;return W(C/100|0,2)},"%d":function(E){return W(E.tm_mday,2)},"%e":function(E){return K(E.tm_mday,2," ")},"%g":function(E){return re(E).toString().substring(2)},"%G":function(E){return re(E)},"%H":function(E){return W(E.tm_hour,2)},"%I":function(E){var C=E.tm_hour;return C==0?C=12:C>12&&(C-=12),W(C,2)},"%j":function(E){return W(E.tm_mday+ln(sr(E.tm_year+1900)?or:ar,E.tm_mon-1),3)},"%m":function(E){return W(E.tm_mon+1,2)},"%M":function(E){return W(E.tm_min,2)},"%n":function(){return`
17
+ `},"%p":function(E){return E.tm_hour>=0&&E.tm_hour<12?"AM":"PM"},"%S":function(E){return W(E.tm_sec,2)},"%t":function(){return" "},"%u":function(E){return E.tm_wday||7},"%U":function(E){var C=new Date(E.tm_year+1900,0,1),F=C.getDay()===0?C:ur(C,7-C.getDay()),J=new Date(E.tm_year+1900,E.tm_mon,E.tm_mday);if(Q(F,J)<0){var Ie=ln(sr(J.getFullYear())?or:ar,J.getMonth()-1)-31,P=31-F.getDate(),Me=P+Ie+J.getDate();return W(Math.ceil(Me/7),2)}return Q(F,C)===0?"01":"00"},"%V":function(E){var C=new Date(E.tm_year+1900,0,4),F=new Date(E.tm_year+1901,0,4),J=j(C),Ie=j(F),P=ur(new Date(E.tm_year+1900,0,1),E.tm_yday);if(Q(P,J)<0)return"53";if(Q(Ie,P)<=0)return"01";var Me;return J.getFullYear()<E.tm_year+1900?Me=E.tm_yday+32-J.getDate():Me=E.tm_yday+1-J.getDate(),W(Math.ceil(Me/7),2)},"%w":function(E){return E.tm_wday},"%W":function(E){var C=new Date(E.tm_year,0,1),F=C.getDay()===1?C:ur(C,C.getDay()===0?1:7-C.getDay()+1),J=new Date(E.tm_year+1900,E.tm_mon,E.tm_mday);if(Q(F,J)<0){var Ie=ln(sr(J.getFullYear())?or:ar,J.getMonth()-1)-31,P=31-F.getDate(),Me=P+Ie+J.getDate();return W(Math.ceil(Me/7),2)}return Q(F,C)===0?"01":"00"},"%y":function(E){return(E.tm_year+1900).toString().substring(2)},"%Y":function(E){return E.tm_year+1900},"%z":function(E){var C=E.tm_gmtoff,F=C>=0;return C=Math.abs(C)/60,C=C/60*100+C%60,(F?"+":"-")+("0000"+C).slice(-4)},"%Z":function(E){return E.tm_zone},"%%":function(){return"%"}};for(var S in Y)I.includes(S)&&(I=I.replace(new RegExp(S,"g"),Y[S](T)));var be=ts(I,!1);return be.length>a?0:(Bi(be,s),be.length-1)}function eu(s,a,c,_){return Za(s,a,c,_)}function tu(s){var a=Date.now()/1e3|0;return s&&(k[s>>2]=a),a}ca(),Xi=e.BindingError=Ji(Error,"BindingError"),_a=e.InternalError=Ji(Error,"InternalError"),Ta();function ts(s,a,c){var _=c>0?c:Mi(s)+1,b=new Array(_),T=wi(s,b,0,b.length);return a&&(b.length=T),b}var ru={i:ta,a:na,g:aa,r:ua,n:ha,A:Ia,l:ya,d:Ra,c:Ua,m:Oa,h:xa,o:Pa,e:va,j:Ca,b:Fa,s:Ha,t:Ga,x:ja,y:$a,z:Ya,u:Ka,q:Ja,k:Xa,v:ir,f:za,w:eu,p:tu},Pl=Zo(),nu=e.___wasm_call_ctors=function(){return(nu=e.___wasm_call_ctors=e.asm.C).apply(null,arguments)},iu=e._CreateMediaProcessing=function(){return(iu=e._CreateMediaProcessing=e.asm.D).apply(null,arguments)},su=e._ReleaseMediaProcessing=function(){return(su=e._ReleaseMediaProcessing=e.asm.E).apply(null,arguments)},ou=e._AddAudioChannel=function(){return(ou=e._AddAudioChannel=e.asm.F).apply(null,arguments)},au=e._DelAudioChannel=function(){return(au=e._DelAudioChannel=e.asm.G).apply(null,arguments)},uu=e._AddVideoChannel=function(){return(uu=e._AddVideoChannel=e.asm.H).apply(null,arguments)},cu=e._DelVideoChannel=function(){return(cu=e._DelVideoChannel=e.asm.I).apply(null,arguments)},lu=e._ReceivedRawAudioPacket=function(){return(lu=e._ReceivedRawAudioPacket=e.asm.J).apply(null,arguments)},du=e._ParseUdtMousePacket=function(){return(du=e._ParseUdtMousePacket=e.asm.K).apply(null,arguments)},mu=e._ReceivedAudioUdtPacket=function(){return(mu=e._ReceivedAudioUdtPacket=e.asm.L).apply(null,arguments)},pu=e._ParseUdtAudioPacket=function(){return(pu=e._ParseUdtAudioPacket=e.asm.M).apply(null,arguments)},fu=e._ReceivedVideoPacket=function(){return(fu=e._ReceivedVideoPacket=e.asm.N).apply(null,arguments)},_u=e._SetAudioBuffer10Ms=function(){return(_u=e._SetAudioBuffer10Ms=e.asm.O).apply(null,arguments)},hu=e._SetAudioVolume=function(){return(hu=e._SetAudioVolume=e.asm.P).apply(null,arguments)},bu=e._GetAudioFrame=function(){return(bu=e._GetAudioFrame=e.asm.Q).apply(null,arguments)},gu=e._GetAudioFrameFloat=function(){return(gu=e._GetAudioFrameFloat=e.asm.R).apply(null,arguments)},Eu=e._GetAudioMixed=function(){return(Eu=e._GetAudioMixed=e.asm.S).apply(null,arguments)},Tu=e._GetAudioMixedFloat=function(){return(Tu=e._GetAudioMixedFloat=e.asm.T).apply(null,arguments)},Iu=e._GetAudioEnergy=function(){return(Iu=e._GetAudioEnergy=e.asm.U).apply(null,arguments)},Su=e._SetAudioFrameFormat=function(){return(Su=e._SetAudioFrameFormat=e.asm.V).apply(null,arguments)},yu=e._SetAudioOutStreamFormat=function(){return(yu=e._SetAudioOutStreamFormat=e.asm.W).apply(null,arguments)},Au=e._AudioProcess=function(){return(Au=e._AudioProcess=e.asm.X).apply(null,arguments)},Ru=e._AudioProcessFloat=function(){return(Ru=e._AudioProcessFloat=e.asm.Y).apply(null,arguments)},Uu=e._AudioReverseProcess=function(){return(Uu=e._AudioReverseProcess=e.asm.Z).apply(null,arguments)},Ou=e._AudioReverseProcessFloat=function(){return(Ou=e._AudioReverseProcessFloat=e.asm._).apply(null,arguments)},xu=e._InitOpusEncoder=function(){return(xu=e._InitOpusEncoder=e.asm.$).apply(null,arguments)},Pu=e._SetOpusEncBitrate=function(){return(Pu=e._SetOpusEncBitrate=e.asm.aa).apply(null,arguments)},vu=e._OpusEncode=function(){return(vu=e._OpusEncode=e.asm.ba).apply(null,arguments)},Du=e._UpdateStreamSync=function(){return(Du=e._UpdateStreamSync=e.asm.ca).apply(null,arguments)},Nu=e._GetEncodedFrame=function(){return(Nu=e._GetEncodedFrame=e.asm.da).apply(null,arguments)},Cu=e._GetReceivedVideoStat=function(){return(Cu=e._GetReceivedVideoStat=e.asm.ea).apply(null,arguments)},wu=e._CreateUdtPacketizer=function(){return(wu=e._CreateUdtPacketizer=e.asm.fa).apply(null,arguments)},Lu=e._PacketizeVideoUdt=function(){return(Lu=e._PacketizeVideoUdt=e.asm.ga).apply(null,arguments)},Mu=e._PacketizeAudioUdt=function(){return(Mu=e._PacketizeAudioUdt=e.asm.ha).apply(null,arguments)},ku=e._GetRetransPacket=function(){return(ku=e._GetRetransPacket=e.asm.ia).apply(null,arguments)},Bu=e._CheckMissingPacket=function(){return(Bu=e._CheckMissingPacket=e.asm.ja).apply(null,arguments)},Vu=e._UseAINS=function(){return(Vu=e._UseAINS=e.asm.ka).apply(null,arguments)},Fu=e._EnableAEC=function(){return(Fu=e._EnableAEC=e.asm.la).apply(null,arguments)},Hu=e._SetCrypto=function(){return(Hu=e._SetCrypto=e.asm.ma).apply(null,arguments)},cr=e._malloc=function(){return(cr=e._malloc=e.asm.oa).apply(null,arguments)},qe=e._free=function(){return(qe=e._free=e.asm.pa).apply(null,arguments)},rs=e.___errno_location=function(){return(rs=e.___errno_location=e.asm.qa).apply(null,arguments)},qu=e.___getTypeName=function(){return(qu=e.___getTypeName=e.asm.ra).apply(null,arguments)},Gu=e.___embind_register_native_and_builtin_types=function(){return(Gu=e.___embind_register_native_and_builtin_types=e.asm.sa).apply(null,arguments)},ns=e.stackSave=function(){return(ns=e.stackSave=e.asm.ta).apply(null,arguments)},is=e.stackRestore=function(){return(is=e.stackRestore=e.asm.ua).apply(null,arguments)},dn=e.stackAlloc=function(){return(dn=e.stackAlloc=e.asm.va).apply(null,arguments)},Wu=e._emscripten_stack_init=function(){return(Wu=e._emscripten_stack_init=e.asm.wa).apply(null,arguments)};e.ccall=Ni,e.cwrap=No,e.addFunction=Po,e.removeFunction=vo;var lr;function ju(s){this.name="ExitStatus",this.message="Program terminated with exit("+s+")",this.status=s}Nt=function s(){lr||mn(),lr||(Nt=s)};function mn(s){if(s=s||p,Qe>0||(Go(),Qe>0))return;function a(){lr||(lr=!0,e.calledRun=!0,!vi&&(Wo(),r(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),jo()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),a()},1)):a()}if(e.run=mn,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return mn(),e.ready}}(),Ro=Ul;yo(Ro);
package/index.d.ts CHANGED
@@ -9,9 +9,10 @@ import { CustomEncryption, EncryptionOptions } from './plugins/custom-encryption
9
9
  import { VideoMixerOptions, UpdateVideoMixerOptions, VideoMixer } from './plugins/video-effect/video-mixer';
10
10
  import { SmallStreamAutoSwitcher, SmallStreamAutoSwitcherOptions } from './plugins/small-stream-auto-switcher';
11
11
  import { Chorus, StartChorusOption, UpdateChorusOption } from './plugins/chorus';
12
+ import { LEBPlayer, StartLEBPlayerOption, UpdateLEBPlayerOption } from './plugins/lebplayer';
12
13
 
13
14
  export { CDNStreamingOptions, DeviceDetectorOptions, VirtualBackgroundOptions, UpdateVirtualBackgroundOptions, WatermarkOptions, BeautyOptions, UpdateBeautyOptions, BasicBeautyOptions, StartCrossRoomOption, UpdateCrossRoomOption, StopCrossRoomOption, SmallStreamAutoSwitcherOptions, VideoMixerOptions, UpdateVideoMixerOptions };
14
- type TRTCPlugin = typeof CrossRoom | typeof CDNStreaming | typeof DeviceDetector | typeof VirtualBackground | typeof Watermark | typeof Beauty | typeof BasicBeauty | typeof CustomEncryption | typeof SmallStreamAutoSwitcher | typeof VideoMixer | typeof Chorus;
15
+ type TRTCPlugin = typeof CrossRoom | typeof CDNStreaming | typeof DeviceDetector | typeof VirtualBackground | typeof Watermark | typeof Beauty | typeof BasicBeauty | typeof CustomEncryption | typeof SmallStreamAutoSwitcher | typeof VideoMixer | typeof Chorus | typeof LEBPlayer;
15
16
  export type ExperimentalAPIFunctionMap = {
16
17
  'enableAudioFrameEvent': EnableAudioFrameEventOptions;
17
18
  'resumeRemotePlayer': RemotePlayerOptions;
@@ -36,6 +37,7 @@ export declare type PluginStartOptionsMap = {
36
37
  'SmallStreamAutoSwitcher': SmallStreamAutoSwitcherOptions;
37
38
  'AudioProcessor': InitAudioProcessorOptions;
38
39
  'Chorus': StartChorusOption;
40
+ 'LEBPlayer': StartLEBPlayerOption;
39
41
  };
40
42
 
41
43
  export declare type PluginUpdateOptionsMap = {
@@ -51,6 +53,7 @@ export declare type PluginUpdateOptionsMap = {
51
53
  'AudioProcessor': UpdateAudioProcessorOptions;
52
54
  'Debug': UpdateDebugOptions;
53
55
  'Chorus': UpdateChorusOption;
56
+ 'LEBPlayer': UpdateLEBPlayerOption;
54
57
  };
55
58
 
56
59
  export declare type PluginStopOptionsMap = {
@@ -69,6 +72,7 @@ export declare type PluginStopOptionsMap = {
69
72
  'AudioProcessor': undefined;
70
73
  'CustomEncryption': undefined;
71
74
  'Chorus': undefined;
75
+ 'LEBPlayer': undefined;
72
76
  };
73
77
 
74
78
  export declare class RtcError extends Error implements RTCErrorInterface {
@@ -331,6 +335,13 @@ export declare const enum BannedReason {
331
335
  ROOM_DISBAND = 'room_disband'
332
336
  }
333
337
 
338
+ export declare const enum PEER_LEAVE_REASON {
339
+ NORMAL_LEAVE = 'normal leave',
340
+ TIMEOUT_LEAVE = 'timeout leave',
341
+ KICK = 'kick',
342
+ ROLE_CHANGE = 'role change'
343
+ }
344
+
334
345
  export declare type PluginWithAssets = {
335
346
  plugin: TRTCPlugin;
336
347
  assetsPath?: string;
@@ -338,6 +349,7 @@ export declare type PluginWithAssets = {
338
349
  export declare interface TRTCOptions {
339
350
  plugins?: Array<TRTCPlugin>;
340
351
  enableSEI?: boolean;
352
+ enableAutoPlayDialog?: boolean;
341
353
  assetsPath?: string;
342
354
  volumeType?: number;
343
355
  enableAutoSwitchWhenRecapturing?: boolean;
@@ -446,6 +458,8 @@ export declare interface RemoteVideoConfig {
446
458
  canvasRender?: boolean;
447
459
  poster?: string;
448
460
  draggable?:boolean;
461
+ pictureInPicture?: boolean;
462
+ fullScreen?: boolean;
449
463
  };
450
464
  }
451
465
  export declare interface StopRemoteVideoConfig {
@@ -1039,6 +1053,9 @@ export declare const TRTCEvent: {
1039
1053
  * trtc.on(TRTC.EVENT.CONNECTION_STATE_CHANGED, event => {
1040
1054
  * const prevState = event.prevState;
1041
1055
  * const curState = event.state;
1056
+ * if (curState === 'CONNECTING') {
1057
+ * const isReconnecting = event.isReconnecting;
1058
+ * }
1042
1059
  * });
1043
1060
  */
1044
1061
  readonly CONNECTION_STATE_CHANGED: 'connection-state-changed';
@@ -1268,6 +1285,7 @@ export declare interface TRTCEventTypes {
1268
1285
  }];
1269
1286
  [TRTCEvent.REMOTE_USER_EXIT]: [{
1270
1287
  userId: string;
1288
+ reason?: keyof typeof PEER_LEAVE_REASON;
1271
1289
  }];
1272
1290
  [TRTCEvent.REMOTE_AUDIO_AVAILABLE]: [{
1273
1291
  userId: string;
@@ -1297,6 +1315,7 @@ export declare interface TRTCEventTypes {
1297
1315
  [TRTCEvent.CONNECTION_STATE_CHANGED]: [{
1298
1316
  prevState: ConnectionState;
1299
1317
  state: ConnectionState;
1318
+ isReconnecting?: boolean;
1300
1319
  }];
1301
1320
  [TRTCEvent.AUDIO_PLAY_STATE_CHANGED]: [{
1302
1321
  userId: string;
package/package.json CHANGED
@@ -1,12 +1,10 @@
1
1
  {
2
2
  "name": "trtc-sdk-v5",
3
- "version": "5.15.0-beta.8",
3
+ "version": "5.15.0-wasm.1",
4
4
  "description": "Tencent Cloud RTC SDK for Web",
5
- "main": "trtc.js",
5
+ "module": "trtc.esm.js",
6
+ "type": "module",
6
7
  "types": "index.d.ts",
7
- "dependencies": {
8
- "webrtc-adapter": "^8.2.3"
9
- },
10
8
  "keywords": [
11
9
  "webrtc",
12
10
  "TRTC",
@@ -29,4 +27,4 @@
29
27
  },
30
28
  "author": "Tencent Cloud Client R&D Center",
31
29
  "license": "ISC"
32
- }
30
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/cdn-streaming",
3
- "version": "5.15.0-beta.8",
3
+ "version": "5.15.0-wasm.1",
4
4
  "description": "TRTC Web SDK 5.x CDN streaming plugin",
5
5
  "main": "./cdn-streaming.esm.js",
6
6
  "module": "./cdn-streaming.esm.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/chorus",
3
- "version": "5.15.0-beta.8",
3
+ "version": "5.15.0-wasm.1",
4
4
  "description": "TRTC Web SDK 5.x Chorus plugin",
5
5
  "main": "./chorus.esm.js",
6
6
  "module": "./chorus.esm.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/cross-room",
3
- "version": "5.15.0-beta.8",
3
+ "version": "5.15.0-wasm.1",
4
4
  "description": "TRTC Web SDK 5.x Cross Room plugin",
5
5
  "main": "./cross-room.esm.js",
6
6
  "module": "./cross-room.esm.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/custom-encryption",
3
- "version": "5.15.0-beta.8",
3
+ "version": "5.15.0-wasm.1",
4
4
  "main": "./custom-encryption.esm.js",
5
5
  "module": "./custom-encryption.esm.js",
6
6
  "types": "./custom-encryption.esm.d.ts"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rtc-plugin/device-detector",
3
- "version": "5.15.0-beta.8",
3
+ "version": "5.15.0-wasm.1",
4
4
  "description": "TRTC Web SDK 5.x device detector plugin",
5
5
  "main": "./device-detector.esm.js",
6
6
  "module": "./device-detector.esm.js",