@100mslive/react-sdk 0.0.4 → 0.0.5-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var gr=Object.create;var Ie=Object.defineProperty,vr=Object.defineProperties,Tr=Object.getOwnPropertyDescriptor,Sr=Object.getOwnPropertyDescriptors,Er=Object.getOwnPropertyNames,Nt=Object.getOwnPropertySymbols,yr=Object.getPrototypeOf,xt=Object.prototype.hasOwnProperty,kr=Object.prototype.propertyIsEnumerable;var Ut=(e,t,i)=>t in e?Ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,_e=(e,t)=>{for(var i in t||(t={}))xt.call(t,i)&&Ut(e,i,t[i]);if(Nt)for(var i of Nt(t))kr.call(t,i)&&Ut(e,i,t[i]);return e},De=(e,t)=>vr(e,Sr(t)),Gt=e=>Ie(e,"__esModule",{value:!0});var he=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),je=(e,t)=>{Gt(e);for(var i in t)Ie(e,i,{get:t[i],enumerable:!0})},Cr=(e,t,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Er(t))!xt.call(e,r)&&r!=="default"&&Ie(e,r,{get:()=>t[r],enumerable:!(i=Tr(t,r))||i.enumerable});return e},ce=e=>Cr(Gt(Ie(e!=null?gr(yr(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var Me=(e,t,i)=>new Promise((r,s)=>{var o=m=>{try{l(i.next(m))}catch(h){s(h)}},a=m=>{try{l(i.throw(m))}catch(h){s(h)}},l=m=>m.done?r(m.value):Promise.resolve(m.value).then(o,a);l((i=i.apply(e,t)).next())});var yt=he((Gn,Et)=>{"use strict";var k={};k.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)};k.localCName=k.generateIdentifier();k.splitLines=function(e){return e.trim().split(`
|
|
2
2
|
`).map(t=>t.trim())};k.splitSections=function(e){return e.split(`
|
|
3
3
|
m=`).map((i,r)=>(r>0?"m="+i:i).trim()+`\r
|
|
4
4
|
`)};k.getDescription=function(e){let t=k.splitSections(e);return t&&t[0]};k.getMediaSections=function(e){let t=k.splitSections(e);return t.shift(),t};k.matchPrefix=function(e,t){return k.splitLines(e).filter(i=>i.indexOf(t)===0)};k.parseCandidate=function(e){let t;e.indexOf("a=candidate:")===0?t=e.substring(12).split(" "):t=e.substring(10).split(" ");let i={foundation:t[0],component:{1:"rtp",2:"rtcp"}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let r=8;r<t.length;r+=2)switch(t[r]){case"raddr":i.relatedAddress=t[r+1];break;case"rport":i.relatedPort=parseInt(t[r+1],10);break;case"tcptype":i.tcpType=t[r+1];break;case"ufrag":i.ufrag=t[r+1],i.usernameFragment=t[r+1];break;default:i[t[r]]===void 0&&(i[t[r]]=t[r+1]);break}return i};k.writeCandidate=function(e){let t=[];t.push(e.foundation);let i=e.component;i==="rtp"?t.push(1):i==="rtcp"?t.push(2):t.push(i),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);let r=e.type;return t.push("typ"),t.push(r),r!=="host"&&e.relatedAddress&&e.relatedPort&&(t.push("raddr"),t.push(e.relatedAddress),t.push("rport"),t.push(e.relatedPort)),e.tcpType&&e.protocol.toLowerCase()==="tcp"&&(t.push("tcptype"),t.push(e.tcpType)),(e.usernameFragment||e.ufrag)&&(t.push("ufrag"),t.push(e.usernameFragment||e.ufrag)),"candidate:"+t.join(" ")};k.parseIceOptions=function(e){return e.substr(14).split(" ")};k.parseRtpMap=function(e){let t=e.substr(9).split(" "),i={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),i.name=t[0],i.clockRate=parseInt(t[1],10),i.channels=t.length===3?parseInt(t[2],10):1,i.numChannels=i.channels,i};k.writeRtpMap=function(e){let t=e.payloadType;e.preferredPayloadType!==void 0&&(t=e.preferredPayloadType);let i=e.channels||e.numChannels||1;return"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(i!==1?"/"+i:"")+`\r
|
|
@@ -15,7 +15,7 @@ a=ice-pwd:`+e.password+`\r
|
|
|
15
15
|
`,i+=`c=IN IP4 0.0.0.0\r
|
|
16
16
|
`,i+=`a=rtcp:9 IN IP4 0.0.0.0\r
|
|
17
17
|
`,t.codecs.forEach(s=>{i+=k.writeRtpMap(s),i+=k.writeFmtp(s),i+=k.writeRtcpFb(s)});let r=0;return t.codecs.forEach(s=>{s.maxptime>r&&(r=s.maxptime)}),r>0&&(i+="a=maxptime:"+r+`\r
|
|
18
|
-
`),t.headerExtensions&&t.headerExtensions.forEach(s=>{i+=k.writeExtmap(s)}),i};k.parseRtpEncodingParameters=function(e){let t=[],i=k.parseRtpParameters(e),r=i.fecMechanisms.indexOf("RED")!==-1,s=i.fecMechanisms.indexOf("ULPFEC")!==-1,o=k.matchPrefix(e,"a=ssrc:").map(c=>k.parseSsrcMedia(c)).filter(c=>c.attribute==="cname"),a=o.length>0&&o[0].ssrc,l,m=k.matchPrefix(e,"a=ssrc-group:FID").map(c=>c.substr(17).split(" ").map(u=>parseInt(u,10)));m.length>0&&m[0].length>1&&m[0][0]===a&&(l=m[0][1]),i.codecs.forEach(c=>{if(c.name.toUpperCase()==="RTX"&&c.parameters.apt){let
|
|
18
|
+
`),t.headerExtensions&&t.headerExtensions.forEach(s=>{i+=k.writeExtmap(s)}),i};k.parseRtpEncodingParameters=function(e){let t=[],i=k.parseRtpParameters(e),r=i.fecMechanisms.indexOf("RED")!==-1,s=i.fecMechanisms.indexOf("ULPFEC")!==-1,o=k.matchPrefix(e,"a=ssrc:").map(c=>k.parseSsrcMedia(c)).filter(c=>c.attribute==="cname"),a=o.length>0&&o[0].ssrc,l,m=k.matchPrefix(e,"a=ssrc-group:FID").map(c=>c.substr(17).split(" ").map(u=>parseInt(u,10)));m.length>0&&m[0].length>1&&m[0][0]===a&&(l=m[0][1]),i.codecs.forEach(c=>{if(c.name.toUpperCase()==="RTX"&&c.parameters.apt){let p={ssrc:a,codecPayloadType:parseInt(c.parameters.apt,10)};a&&l&&(p.rtx={ssrc:l}),t.push(p),r&&(p=JSON.parse(JSON.stringify(p)),p.fec={ssrc:a,mechanism:s?"red+ulpfec":"red"},t.push(p))}}),t.length===0&&a&&t.push({ssrc:a});let h=k.matchPrefix(e,"b=");return h.length&&(h[0].indexOf("b=TIAS:")===0?h=parseInt(h[0].substr(7),10):h[0].indexOf("b=AS:")===0?h=parseInt(h[0].substr(5),10)*1e3*.95-50*40*8:h=void 0,t.forEach(c=>{c.maxBitrate=h})),t};k.parseRtcpParameters=function(e){let t={},i=k.matchPrefix(e,"a=ssrc:").map(o=>k.parseSsrcMedia(o)).filter(o=>o.attribute==="cname")[0];i&&(t.cname=i.value,t.ssrc=i.ssrc);let r=k.matchPrefix(e,"a=rtcp-rsize");t.reducedSize=r.length>0,t.compound=r.length===0;let s=k.matchPrefix(e,"a=rtcp-mux");return t.mux=s.length>0,t};k.writeRtcpParameters=function(e){let t="";return e.reducedSize&&(t+=`a=rtcp-rsize\r
|
|
19
19
|
`),e.mux&&(t+=`a=rtcp-mux\r
|
|
20
20
|
`),e.ssrc!==void 0&&e.cname&&(t+="a=ssrc:"+e.ssrc+" cname:"+e.cname+`\r
|
|
21
21
|
`),t};k.parseMsid=function(e){let t,i=k.matchPrefix(e,"a=msid:");if(i.length===1)return t=i[0].substr(7).split(" "),{stream:t[0],track:t[1]};let r=k.matchPrefix(e,"a=ssrc:").map(s=>k.parseSsrcMedia(s)).filter(s=>s.attribute==="msid");if(r.length>0)return t=r[0].value.split(" "),{stream:t[0],track:t[1]}};k.parseSctpDescription=function(e){let t=k.parseMLine(e),i=k.matchPrefix(e,"a=max-message-size:"),r;i.length>0&&(r=parseInt(i[0].substr(19),10)),isNaN(r)&&(r=65536);let s=k.matchPrefix(e,"a=sctp-port:");if(s.length>0)return{port:parseInt(s[0].substr(12),10),protocol:t.fmt,maxMessageSize:r};let o=k.matchPrefix(e,"a=sctpmap:");if(o.length>0){let a=o[0].substr(10).split(" ");return{port:parseInt(a[0],10),protocol:a[1],maxMessageSize:r}}};k.writeSctpDescription=function(e,t){let i=[];return e.protocol!=="DTLS/SCTP"?i=["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+`\r
|
|
@@ -29,12 +29,12 @@ a=ice-pwd:`+e.password+`\r
|
|
|
29
29
|
o=`+(i||"thisisadapterortc")+" "+r+" "+s+` IN IP4 127.0.0.1\r
|
|
30
30
|
s=-\r
|
|
31
31
|
t=0 0\r
|
|
32
|
-
`};k.getDirection=function(e,t){let i=k.splitLines(e);for(let r=0;r<i.length;r++)switch(i[r]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return i[r].substr(2);default:}return t?k.getDirection(t):"sendrecv"};k.getKind=function(e){return k.splitLines(e)[0].split(" ")[0].substr(2)};k.isRejected=function(e){return e.split(" ",2)[1]==="0"};k.parseMLine=function(e){let i=k.splitLines(e)[0].substr(2).split(" ");return{kind:i[0],port:parseInt(i[1],10),protocol:i[2],fmt:i.slice(3).join(" ")}};k.parseOLine=function(e){let i=k.matchPrefix(e,"o=")[0].substr(2).split(" ");return{username:i[0],sessionId:i[1],sessionVersion:parseInt(i[2],10),netType:i[3],addressType:i[4],address:i[5]}};k.isValidSDP=function(e){if(typeof e!="string"||e.length===0)return!1;let t=k.splitLines(e);for(let i=0;i<t.length;i++)if(t[i].length<2||t[i].charAt(1)!=="=")return!1;return!0};typeof St=="object"&&(St.exports=k)});var bt=ue((Fn,Ii)=>{var Ai=Ii.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return e.address!=null?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return e.subtype!=null?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return e.sessionConfig!=null?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=e.raddr!=null?" raddr %s rport %d":"%v%v",t+=e.tcptype!=null?" tcptype %s":"%v",e.generation!=null&&(t+=" generation %d"),t+=e["network-id"]!=null?" network-id %d":"%v",t+=e["network-cost"]!=null?" network-cost %d":"%v",t}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return e.attribute!=null&&(t+=" %s",e.value!=null&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return e.maxMessageSize!=null?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(e.clksrcExt!=null?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=e.id!=null?"id=%s %s":"%v%s",t+=e.mediaClockValue!=null?"=%s":"",t+=e.rateNumerator!=null?" rate=%s":"",t+=e.rateDenominator!=null?"/%s":"",t}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};Object.keys(Ai).forEach(function(e){var t=Ai[e];t.forEach(function(i){i.reg||(i.reg=/(.*)/),i.format||(i.format="%s")})})});var Mi=ue(re=>{var ke=function(e){return String(Number(e))===e?Number(e):e},Ur=function(e,t,i,r){if(r&&!i)t[r]=ke(e[1]);else for(var s=0;s<i.length;s+=1)e[s+1]!=null&&(t[i[s]]=ke(e[s+1]))},Gr=function(e,t,i){var r=e.name&&e.names;e.push&&!t[e.push]?t[e.push]=[]:r&&!t[e.name]&&(t[e.name]={});var s=e.push?{}:r?t[e.name]:t;Ur(i.match(e.reg),s,e.names,e.name),e.push&&t[e.push].push(s)},_i=bt(),Fr=RegExp.prototype.test.bind(/^([a-z])=(.*)/);re.parse=function(e){var t={},i=[],r=t;return e.split(/(\r\n|\r|\n)/).filter(Fr).forEach(function(s){var o=s[0],a=s.slice(2);o==="m"&&(i.push({rtp:[],fmtp:[]}),r=i[i.length-1]);for(var l=0;l<(_i[o]||[]).length;l+=1){var m=_i[o][l];if(m.reg.test(a))return Gr(m,r,a)}}),t.media=i,t};var Di=function(e,t){var i=t.split(/=(.+)/,2);return i.length===2?e[i[0]]=ke(i[1]):i.length===1&&t.length>1&&(e[i[0]]=void 0),e};re.parseParams=function(e){return e.split(/;\s?/).reduce(Di,{})};re.parseFmtpConfig=re.parseParams;re.parsePayloads=function(e){return e.toString().split(" ").map(Number)};re.parseRemoteCandidates=function(e){for(var t=[],i=e.split(" ").map(ke),r=0;r<i.length;r+=3)t.push({component:i[r],ip:i[r+1],port:i[r+2]});return t};re.parseImageAttributes=function(e){return e.split(" ").map(function(t){return t.substring(1,t.length-1).split(",").reduce(Di,{})})};re.parseSimulcastStreamList=function(e){return e.split(";").map(function(t){return t.split(",").map(function(i){var r,s=!1;return i[0]!=="~"?r=ke(i):(r=ke(i.substring(1,i.length)),s=!0),{scid:r,paused:s}})})}});var Li=ue((Bn,wi)=>{var Pt=bt(),Vr=/%[sdv%]/g,Br=function(e){var t=1,i=arguments,r=i.length;return e.replace(Vr,function(s){if(t>=r)return s;var o=i[t];switch(t+=1,s){case"%%":return"%";case"%s":return String(o);case"%d":return Number(o);case"%v":return""}})},Ne=function(e,t,i){var r=t.format instanceof Function?t.format(t.push?i:i[t.name]):t.format,s=[e+"="+r];if(t.names)for(var o=0;o<t.names.length;o+=1){var a=t.names[o];t.name?s.push(i[t.name][a]):s.push(i[t.names[o]])}else s.push(i[t.name]);return Br.apply(null,s)},Hr=["v","o","s","i","u","e","p","c","b","t","r","z","a"],jr=["i","c","b","a"];wi.exports=function(e,t){t=t||{},e.version==null&&(e.version=0),e.name==null&&(e.name=" "),e.media.forEach(function(o){o.payloads==null&&(o.payloads="")});var i=t.outerOrder||Hr,r=t.innerOrder||jr,s=[];return i.forEach(function(o){Pt[o].forEach(function(a){a.name in e&&e[a.name]!=null?s.push(Ne(o,a,e)):a.push in e&&e[a.push]!=null&&e[a.push].forEach(function(l){s.push(Ne(o,a,l))})})}),e.media.forEach(function(o){s.push(Ne("m",Pt.m[0],o)),r.forEach(function(a){Pt[a].forEach(function(l){l.name in o&&o[l.name]!=null?s.push(Ne(a,l,o)):l.push in o&&o[l.push]!=null&&o[l.push].forEach(function(m){s.push(Ne(a,l,m))})})})}),s.join(`\r
|
|
32
|
+
`};k.getDirection=function(e,t){let i=k.splitLines(e);for(let r=0;r<i.length;r++)switch(i[r]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return i[r].substr(2);default:}return t?k.getDirection(t):"sendrecv"};k.getKind=function(e){return k.splitLines(e)[0].split(" ")[0].substr(2)};k.isRejected=function(e){return e.split(" ",2)[1]==="0"};k.parseMLine=function(e){let i=k.splitLines(e)[0].substr(2).split(" ");return{kind:i[0],port:parseInt(i[1],10),protocol:i[2],fmt:i.slice(3).join(" ")}};k.parseOLine=function(e){let i=k.matchPrefix(e,"o=")[0].substr(2).split(" ");return{username:i[0],sessionId:i[1],sessionVersion:parseInt(i[2],10),netType:i[3],addressType:i[4],address:i[5]}};k.isValidSDP=function(e){if(typeof e!="string"||e.length===0)return!1;let t=k.splitLines(e);for(let i=0;i<t.length;i++)if(t[i].length<2||t[i].charAt(1)!=="=")return!1;return!0};typeof Et=="object"&&(Et.exports=k)});var Pt=he(($n,_i)=>{var Ii=_i.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return e.address!=null?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return e.subtype!=null?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return e.sessionConfig!=null?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=e.raddr!=null?" raddr %s rport %d":"%v%v",t+=e.tcptype!=null?" tcptype %s":"%v",e.generation!=null&&(t+=" generation %d"),t+=e["network-id"]!=null?" network-id %d":"%v",t+=e["network-cost"]!=null?" network-cost %d":"%v",t}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return e.attribute!=null&&(t+=" %s",e.value!=null&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return e.maxMessageSize!=null?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(e.clksrcExt!=null?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=e.id!=null?"id=%s %s":"%v%s",t+=e.mediaClockValue!=null?"=%s":"",t+=e.rateNumerator!=null?" rate=%s":"",t+=e.rateDenominator!=null?"/%s":"",t}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};Object.keys(Ii).forEach(function(e){var t=Ii[e];t.forEach(function(i){i.reg||(i.reg=/(.*)/),i.format||(i.format="%s")})})});var wi=he(re=>{var ke=function(e){return String(Number(e))===e?Number(e):e},Gr=function(e,t,i,r){if(r&&!i)t[r]=ke(e[1]);else for(var s=0;s<i.length;s+=1)e[s+1]!=null&&(t[i[s]]=ke(e[s+1]))},Fr=function(e,t,i){var r=e.name&&e.names;e.push&&!t[e.push]?t[e.push]=[]:r&&!t[e.name]&&(t[e.name]={});var s=e.push?{}:r?t[e.name]:t;Gr(i.match(e.reg),s,e.names,e.name),e.push&&t[e.push].push(s)},Di=Pt(),Vr=RegExp.prototype.test.bind(/^([a-z])=(.*)/);re.parse=function(e){var t={},i=[],r=t;return e.split(/(\r\n|\r|\n)/).filter(Vr).forEach(function(s){var o=s[0],a=s.slice(2);o==="m"&&(i.push({rtp:[],fmtp:[]}),r=i[i.length-1]);for(var l=0;l<(Di[o]||[]).length;l+=1){var m=Di[o][l];if(m.reg.test(a))return Fr(m,r,a)}}),t.media=i,t};var Mi=function(e,t){var i=t.split(/=(.+)/,2);return i.length===2?e[i[0]]=ke(i[1]):i.length===1&&t.length>1&&(e[i[0]]=void 0),e};re.parseParams=function(e){return e.split(/;\s?/).reduce(Mi,{})};re.parseFmtpConfig=re.parseParams;re.parsePayloads=function(e){return e.toString().split(" ").map(Number)};re.parseRemoteCandidates=function(e){for(var t=[],i=e.split(" ").map(ke),r=0;r<i.length;r+=3)t.push({component:i[r],ip:i[r+1],port:i[r+2]});return t};re.parseImageAttributes=function(e){return e.split(" ").map(function(t){return t.substring(1,t.length-1).split(",").reduce(Mi,{})})};re.parseSimulcastStreamList=function(e){return e.split(";").map(function(t){return t.split(",").map(function(i){var r,s=!1;return i[0]!=="~"?r=ke(i):(r=ke(i.substring(1,i.length)),s=!0),{scid:r,paused:s}})})}});var Oi=he((Wn,Li)=>{var Rt=Pt(),Br=/%[sdv%]/g,Hr=function(e){var t=1,i=arguments,r=i.length;return e.replace(Br,function(s){if(t>=r)return s;var o=i[t];switch(t+=1,s){case"%%":return"%";case"%s":return String(o);case"%d":return Number(o);case"%v":return""}})},Ne=function(e,t,i){var r=t.format instanceof Function?t.format(t.push?i:i[t.name]):t.format,s=[e+"="+r];if(t.names)for(var o=0;o<t.names.length;o+=1){var a=t.names[o];t.name?s.push(i[t.name][a]):s.push(i[t.names[o]])}else s.push(i[t.name]);return Hr.apply(null,s)},jr=["v","o","s","i","u","e","p","c","b","t","r","z","a"],$r=["i","c","b","a"];Li.exports=function(e,t){t=t||{},e.version==null&&(e.version=0),e.name==null&&(e.name=" "),e.media.forEach(function(o){o.payloads==null&&(o.payloads="")});var i=t.outerOrder||jr,r=t.innerOrder||$r,s=[];return i.forEach(function(o){Rt[o].forEach(function(a){a.name in e&&e[a.name]!=null?s.push(Ne(o,a,e)):a.push in e&&e[a.push]!=null&&e[a.push].forEach(function(l){s.push(Ne(o,a,l))})})}),e.media.forEach(function(o){s.push(Ne("m",Rt.m[0],o)),r.forEach(function(a){Rt[a].forEach(function(l){l.name in o&&o[l.name]!=null?s.push(Ne(a,l,o)):l.push in o&&o[l.push]!=null&&o[l.push].forEach(function(m){s.push(Ne(a,l,m))})})})}),s.join(`\r
|
|
33
33
|
`)+`\r
|
|
34
|
-
`}});var Oi=ue(se=>{var he=Mi(),$r=Li();se.write=$r;se.parse=he.parse;se.parseParams=he.parseParams;se.parseFmtpConfig=he.parseFmtpConfig;se.parsePayloads=he.parsePayloads;se.parseRemoteCandidates=he.parseRemoteCandidates;se.parseImageAttributes=he.parseImageAttributes;se.parseSimulcastStreamList=he.parseSimulcastStreamList});var Ni=ue((xe,tt)=>{(function(e,t){"use strict";var i="1.0.2",r="",s="?",o="function",a="undefined",l="object",m="string",p="major",c="model",h="name",u="type",v="vendor",E="version",A="architecture",z="console",I="mobile",_="tablet",q="smarttv",X="wearable",pe="embedded",le=255,F="Amazon",be="Apple",Pe="ASUS",me="BlackBerry",te="Browser",fe="Chrome",D="Edge",ge="Firefox",ne="Google",Ve="Huawei",n="LG",d="Microsoft",f="Motorola",g="Opera",T="Samsung",S="Sony",y="Xiaomi",P="Zebra",C="Facebook",b=function(w,x){var L={};for(var $ in w)x[$]&&x[$].length%2==0?L[$]=x[$].concat(w[$]):L[$]=w[$];return L},R=function(w){for(var x={},L=0;L<w.length;L++)x[w[L].toUpperCase()]=w[L];return x},K=function(w,x){return typeof w===m?M(x).indexOf(M(w))!==-1:!1},M=function(w){return w.toLowerCase()},N=function(w){return typeof w===m?w.replace(/[^\d\.]/g,r).split(".")[0]:t},U=function(w,x){if(typeof w===m)return w=w.replace(/^\s\s*/,r).replace(/\s\s*$/,r),typeof x===a?w:w.substring(0,le)},H=function(w,x){for(var L=0,$,O,He,G,Ae,ee;L<x.length&&!Ae;){var wt=x[L],Lt=x[L+1];for($=O=0;$<wt.length&&!Ae;)if(Ae=wt[$++].exec(w),Ae)for(He=0;He<Lt.length;He++)ee=Ae[++O],G=Lt[He],typeof G===l&&G.length>0?G.length===2?typeof G[1]==o?this[G[0]]=G[1].call(this,ee):this[G[0]]=G[1]:G.length===3?typeof G[1]===o&&!(G[1].exec&&G[1].test)?this[G[0]]=ee?G[1].call(this,ee,G[2]):t:this[G[0]]=ee?ee.replace(G[1],G[2]):t:G.length===4&&(this[G[0]]=ee?G[3].call(this,ee.replace(G[1],G[2])):t):this[G]=ee||t;L+=2}},de=function(w,x){for(var L in x)if(typeof x[L]===l&&x[L].length>0){for(var $=0;$<x[L].length;$++)if(K(x[L][$],w))return L===s?t:L}else if(K(x[L],w))return L===s?t:L;return w},Re={"1.0":"/8","1.2":"/1","1.3":"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},ae={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0","2000":"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0","7":"NT 6.1","8":"NT 6.2","8.1":"NT 6.3","10":["NT 6.4","NT 10.0"],RT:"ARM"},ve={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[E,[h,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[E,[h,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[h,E],[/opios[\/ ]+([\w\.]+)/i],[E,[h,g+" Mini"]],[/\bopr\/([\w\.]+)/i],[E,[h,g]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([-\w\.]+)/i,/(weibo)__([\d\.]+)/i],[h,E],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[E,[h,"UC"+te]],[/\bqbcore\/([\w\.]+)/i],[E,[h,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[E,[h,"WeChat"]],[/konqueror\/([\w\.]+)/i],[E,[h,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[E,[h,"IE"]],[/yabrowser\/([\w\.]+)/i],[E,[h,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[h,/(.+)/,"$1 Secure "+te],E],[/\bfocus\/([\w\.]+)/i],[E,[h,ge+" Focus"]],[/\bopt\/([\w\.]+)/i],[E,[h,g+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[E,[h,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[E,[h,"Dolphin"]],[/coast\/([\w\.]+)/i],[E,[h,g+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[E,[h,"MIUI "+te]],[/fxios\/([-\w\.]+)/i],[E,[h,ge]],[/\bqihu|(qi?ho?o?|360)browser/i],[[h,"360 "+te]],[/(oculus|samsung|sailfish)browser\/([\w\.]+)/i],[[h,/(.+)/,"$1 "+te],E],[/(comodo_dragon)\/([\w\.]+)/i],[[h,/_/g," "],E],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[h,E],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i],[h],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[h,C],E],[/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[h,E],[/\bgsa\/([\w\.]+) .*safari\//i],[E,[h,"GSA"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[E,[h,fe+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[h,fe+" WebView"],E],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[E,[h,"Android "+te]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[h,E],[/version\/([\w\.]+) .*mobile\/\w+ (safari)/i],[E,[h,"Mobile Safari"]],[/version\/([\w\.]+) .*(mobile ?safari|safari)/i],[E,h],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[h,[E,de,Re]],[/(webkit|khtml)\/([\w\.]+)/i],[h,E],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[h,"Netscape"],E],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[E,[h,ge+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[h,E]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[A,"amd64"]],[/(ia32(?=;))/i],[[A,M]],[/((?:i[346]|x)86)[;\)]/i],[[A,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[A,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[A,"armhf"]],[/windows (ce|mobile); ppc;/i],[[A,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[A,/ower/,r,M]],[/(sun4\w)[;\)]/i],[[A,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[A,M]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[c,[v,T],[u,_]],[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[c,[v,T],[u,I]],[/\((ip(?:hone|od)[\w ]*);/i],[c,[v,be],[u,I]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[c,[v,be],[u,_]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[c,[v,Ve],[u,_]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}-[atu]?[ln][01259x][012359][an]?)\b(?!.+d\/s)/i],[c,[v,Ve],[u,I]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[c,/_/g," "],[v,y],[u,I]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[c,/_/g," "],[v,y],[u,_]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[c,[v,"OPPO"],[u,I]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[c,[v,"Vivo"],[u,I]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[c,[v,"Realme"],[u,I]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[c,[v,f],[u,I]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[c,[v,f],[u,_]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[c,[v,n],[u,_]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[c,[v,n],[u,I]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[c,[v,"Lenovo"],[u,_]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[c,/_/g," "],[v,"Nokia"],[u,I]],[/(pixel c)\b/i],[c,[v,ne],[u,_]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[c,[v,ne],[u,I]],[/droid.+ ([c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[c,[v,S],[u,I]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[c,"Xperia Tablet"],[v,S],[u,_]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[c,[v,"OnePlus"],[u,I]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[c,[v,F],[u,_]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[c,/(.+)/g,"Fire Phone $1"],[v,F],[u,I]],[/(playbook);[-\w\),; ]+(rim)/i],[c,v,[u,_]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[c,[v,me],[u,I]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[c,[v,Pe],[u,_]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[c,[v,Pe],[u,I]],[/(nexus 9)/i],[c,[v,"HTC"],[u,_]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\w]*)/i],[v,[c,/_/g," "],[u,I]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[c,[v,"Acer"],[u,_]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[c,[v,"Meizu"],[u,I]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[c,[v,"Sharp"],[u,I]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[v,c,[u,I]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[v,c,[u,_]],[/(surface duo)/i],[c,[v,d],[u,_]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[c,[v,"Fairphone"],[u,I]],[/(u304aa)/i],[c,[v,"AT&T"],[u,I]],[/\bsie-(\w*)/i],[c,[v,"Siemens"],[u,I]],[/\b(rct\w+) b/i],[c,[v,"RCA"],[u,_]],[/\b(venue[\d ]{2,7}) b/i],[c,[v,"Dell"],[u,_]],[/\b(q(?:mv|ta)\w+) b/i],[c,[v,"Verizon"],[u,_]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[c,[v,"Barnes & Noble"],[u,_]],[/\b(tm\d{3}\w+) b/i],[c,[v,"NuVision"],[u,_]],[/\b(k88) b/i],[c,[v,"ZTE"],[u,_]],[/\b(nx\d{3}j) b/i],[c,[v,"ZTE"],[u,I]],[/\b(gen\d{3}) b.+49h/i],[c,[v,"Swiss"],[u,I]],[/\b(zur\d{3}) b/i],[c,[v,"Swiss"],[u,_]],[/\b((zeki)?tb.*\b) b/i],[c,[v,"Zeki"],[u,_]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[v,"Dragon Touch"],c,[u,_]],[/\b(ns-?\w{0,9}) b/i],[c,[v,"Insignia"],[u,_]],[/\b((nxa|next)-?\w{0,9}) b/i],[c,[v,"NextBook"],[u,_]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[v,"Voice"],c,[u,I]],[/\b(lvtel\-)?(v1[12]) b/i],[[v,"LvTel"],c,[u,I]],[/\b(ph-1) /i],[c,[v,"Essential"],[u,I]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[c,[v,"Envizen"],[u,_]],[/\b(trio[-\w\. ]+) b/i],[c,[v,"MachSpeed"],[u,_]],[/\btu_(1491) b/i],[c,[v,"Rotor"],[u,_]],[/(shield[\w ]+) b/i],[c,[v,"Nvidia"],[u,_]],[/(sprint) (\w+)/i],[v,c,[u,I]],[/(kin\.[onetw]{3})/i],[[c,/\./g," "],[v,d],[u,I]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[c,[v,P],[u,_]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[c,[v,P],[u,I]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[v,c,[u,z]],[/droid.+; (shield) bui/i],[c,[v,"Nvidia"],[u,z]],[/(playstation [345portablevi]+)/i],[c,[v,S],[u,z]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[c,[v,d],[u,z]],[/smart-tv.+(samsung)/i],[v,[u,q]],[/hbbtv.+maple;(\d+)/i],[[c,/^/,"SmartTV"],[v,T],[u,q]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[v,n],[u,q]],[/(apple) ?tv/i],[v,[c,be+" TV"],[u,q]],[/crkey/i],[[c,fe+"cast"],[v,ne],[u,q]],[/droid.+aft(\w)( bui|\))/i],[c,[v,F],[u,q]],[/\(dtv[\);].+(aquos)/i],[c,[v,"Sharp"],[u,q]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i],[[v,U],[c,U],[u,q]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[u,q]],[/((pebble))app/i],[v,c,[u,X]],[/droid.+; (glass) \d/i],[c,[v,ne],[u,X]],[/droid.+; (wt63?0{2,3})\)/i],[c,[v,P],[u,X]],[/(quest( 2)?)/i],[c,[v,C],[u,X]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[v,[u,pe]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[c,[u,I]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[c,[u,_]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[u,_]],[/(phone|mobile(?:[;\/]| safari)|pda(?=.+windows ce))/i],[[u,I]],[/(android[-\w\. ]{0,9});.+buil/i],[c,[v,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[E,[h,D+"HTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[E,[h,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i],[h,E],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[E,h]],os:[[/microsoft (windows) (vista|xp)/i],[h,E],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[h,[E,de,ae]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[h,"Windows"],[E,de,ae]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i],[[E,/_/g,"."],[h,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[h,"Mac OS"],[E,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[E,h],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[h,E],[/\(bb(10);/i],[E,[h,me]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[E,[h,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[E,[h,ge+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[E,[h,"webOS"]],[/crkey\/([\d\.]+)/i],[E,[h,fe+"cast"]],[/(cros) [\w]+ ([\w\.]+\w)/i],[[h,"Chromium OS"],E],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[h,E],[/(sunos) ?([\w\.\d]*)/i],[[h,"Solaris"],E],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\w\.]*)/i],[h,E]]},V=function(w,x){if(typeof w===l&&(x=w,w=t),!(this instanceof V))return new V(w,x).getResult();var L=w||(typeof e!==a&&e.navigator&&e.navigator.userAgent?e.navigator.userAgent:r),$=x?b(ve,x):ve;return this.getBrowser=function(){var O={};return O[h]=t,O[E]=t,H.call(O,L,$.browser),O.major=N(O.version),O},this.getCPU=function(){var O={};return O[A]=t,H.call(O,L,$.cpu),O},this.getDevice=function(){var O={};return O[v]=t,O[c]=t,O[u]=t,H.call(O,L,$.device),O},this.getEngine=function(){var O={};return O[h]=t,O[E]=t,H.call(O,L,$.engine),O},this.getOS=function(){var O={};return O[h]=t,O[E]=t,H.call(O,L,$.os),O},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return L},this.setUA=function(O){return L=typeof O===m&&O.length>le?U(O,le):O,this},this.setUA(L),this};V.VERSION=i,V.BROWSER=R([h,E,p]),V.CPU=R([A]),V.DEVICE=R([c,v,u,z,I,q,_,X,pe]),V.ENGINE=V.OS=R([h,E]),typeof xe!==a?(typeof tt!==a&&tt.exports&&(xe=tt.exports=V),xe.UAParser=V):typeof define===o&&define.amd?define(function(){return V}):typeof e!==a&&(e.UAParser=V);var j=typeof e!==a&&(e.jQuery||e.Zepto);if(j&&!j.ua){var Be=new V;j.ua=Be.getResult(),j.ua.get=function(){return Be.getUA()},j.ua.set=function(w){Be.setUA(w);var x=Be.getResult();for(var L in x)j.ua[L]=x[L]}}})(typeof window=="object"?window:xe)});var Ue=ue((Fi,Vi)=>{(function(e){var t=Object.hasOwnProperty,i=Array.isArray?Array.isArray:function(d){return Object.prototype.toString.call(d)==="[object Array]"},r=10,s=typeof process=="object"&&typeof process.nextTick=="function",o=typeof Symbol=="function",a=typeof Reflect=="object",l=typeof setImmediate=="function",m=l?setImmediate:setTimeout,p=o?a&&typeof Reflect.ownKeys=="function"?Reflect.ownKeys:function(n){var d=Object.getOwnPropertyNames(n);return d.push.apply(d,Object.getOwnPropertySymbols(n)),d}:Object.keys;function c(){this._events={},this._conf&&h.call(this,this._conf)}function h(n){n&&(this._conf=n,n.delimiter&&(this.delimiter=n.delimiter),n.maxListeners!==e&&(this._maxListeners=n.maxListeners),n.wildcard&&(this.wildcard=n.wildcard),n.newListener&&(this._newListener=n.newListener),n.removeListener&&(this._removeListener=n.removeListener),n.verboseMemoryLeak&&(this.verboseMemoryLeak=n.verboseMemoryLeak),n.ignoreErrors&&(this.ignoreErrors=n.ignoreErrors),this.wildcard&&(this.listenerTree={}))}function u(n,d){var f="(node) warning: possible EventEmitter memory leak detected. "+n+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(f+=" Event name: "+d+"."),typeof process!="undefined"&&process.emitWarning){var g=new Error(f);g.name="MaxListenersExceededWarning",g.emitter=this,g.count=n,process.emitWarning(g)}else console.error(f),console.trace&&console.trace()}var v=function(n,d,f){var g=arguments.length;switch(g){case 0:return[];case 1:return[n];case 2:return[n,d];case 3:return[n,d,f];default:for(var T=new Array(g);g--;)T[g]=arguments[g];return T}};function E(n,d){for(var f={},g,T=n.length,S=d?value.length:0,y=0;y<T;y++)g=n[y],f[g]=y<S?d[y]:e;return f}function A(n,d,f){this._emitter=n,this._target=d,this._listeners={},this._listenersCount=0;var g,T;if((f.on||f.off)&&(g=f.on,T=f.off),d.addEventListener?(g=d.addEventListener,T=d.removeEventListener):d.addListener?(g=d.addListener,T=d.removeListener):d.on&&(g=d.on,T=d.off),!g&&!T)throw Error("target does not implement any known event API");if(typeof g!="function")throw TypeError("on method must be a function");if(typeof T!="function")throw TypeError("off method must be a function");this._on=g,this._off=T;var S=n._observers;S?S.push(this):n._observers=[this]}Object.assign(A.prototype,{subscribe:function(n,d,f){var g=this,T=this._target,S=this._emitter,y=this._listeners,P=function(){var C=v.apply(null,arguments),b={data:C,name:d,original:n};if(f){var R=f.call(T,b);R!==!1&&S.emit.apply(S,[b.name].concat(C));return}S.emit.apply(S,[d].concat(C))};if(y[n])throw Error("Event '"+n+"' is already listening");this._listenersCount++,S._newListener&&S._removeListener&&!g._onNewListener?(this._onNewListener=function(C){C===d&&y[n]===null&&(y[n]=P,g._on.call(T,n,P))},S.on("newListener",this._onNewListener),this._onRemoveListener=function(C){C===d&&!S.hasListeners(C)&&y[n]&&(y[n]=null,g._off.call(T,n,P))},y[n]=null,S.on("removeListener",this._onRemoveListener)):(y[n]=P,g._on.call(T,n,P))},unsubscribe:function(n){var d=this,f=this._listeners,g=this._emitter,T,S,y=this._off,P=this._target,C;if(n&&typeof n!="string")throw TypeError("event must be a string");function b(){d._onNewListener&&(g.off("newListener",d._onNewListener),g.off("removeListener",d._onRemoveListener),d._onNewListener=null,d._onRemoveListener=null);var R=le.call(g,d);g._observers.splice(R,1)}if(n){if(T=f[n],!T)return;y.call(P,n,T),delete f[n],--this._listenersCount||b()}else{for(S=p(f),C=S.length;C-- >0;)n=S[C],y.call(P,n,f[n]);this._listeners={},this._listenersCount=0,b()}}});function z(n,d,f,g){var T=Object.assign({},d);if(!n)return T;if(typeof n!="object")throw TypeError("options must be an object");var S=Object.keys(n),y=S.length,P,C,b;function R(M){throw Error('Invalid "'+P+'" option value'+(M?". Reason: "+M:""))}for(var K=0;K<y;K++){if(P=S[K],!g&&!t.call(d,P))throw Error('Unknown "'+P+'" option');C=n[P],C!==e&&(b=f[P],T[P]=b?b(C,R):C)}return T}function I(n,d){return(typeof n!="function"||!n.hasOwnProperty("prototype"))&&d("value must be a constructor"),n}function _(n){var d="value must be type of "+n.join("|"),f=n.length,g=n[0],T=n[1];return f===1?function(S,y){if(typeof S===g)return S;y(d)}:f===2?function(S,y){var P=typeof S;if(P===g||P===T)return S;y(d)}:function(S,y){for(var P=typeof S,C=f;C-- >0;)if(P===n[C])return S;y(d)}}var q=_(["function"]),X=_(["object","function"]);function pe(n,d,f){var g,T,S=0,y,P=new n(function(C,b,R){f=z(f,{timeout:0,overload:!1},{timeout:function(U,H){return U*=1,(typeof U!="number"||U<0||!Number.isFinite(U))&&H("timeout must be a positive number"),U}}),g=!f.overload&&typeof n.prototype.cancel=="function"&&typeof R=="function";function K(){T&&(T=null),S&&(clearTimeout(S),S=0)}var M=function(U){K(),C(U)},N=function(U){K(),b(U)};g?d(M,N,R):(T=[function(U){N(U||Error("canceled"))}],d(M,N,function(U){if(y)throw Error("Unable to subscribe on cancel event asynchronously");if(typeof U!="function")throw TypeError("onCancel callback must be a function");T.push(U)}),y=!0),f.timeout>0&&(S=setTimeout(function(){var U=Error("timeout");U.code="ETIMEDOUT",S=0,P.cancel(U),b(U)},f.timeout))});return g||(P.cancel=function(C){if(!!T){for(var b=T.length,R=1;R<b;R++)T[R](C);T[0](C),T=null}}),P}function le(n){var d=this._observers;if(!d)return-1;for(var f=d.length,g=0;g<f;g++)if(d[g]._target===n)return g;return-1}function F(n,d,f,g,T){if(!f)return null;if(g===0){var S=typeof d;if(S==="string"){var y,P,C=0,b=0,R=this.delimiter,K=R.length;if((P=d.indexOf(R))!==-1){y=new Array(5);do y[C++]=d.slice(b,P),b=P+K;while((P=d.indexOf(R,b))!==-1);y[C++]=d.slice(b),d=y,T=C}else d=[d],T=1}else S==="object"?T=d.length:(d=[d],T=1)}var M=null,N,U,H,de,Re,ae=d[g],ve=d[g+1],V,j;if(g===T)f._listeners&&(typeof f._listeners=="function"?(n&&n.push(f._listeners),M=[f]):(n&&n.push.apply(n,f._listeners),M=[f]));else if(ae==="*"){for(V=p(f),P=V.length;P-- >0;)N=V[P],N!=="_listeners"&&(j=F(n,d,f[N],g+1,T),j&&(M?M.push.apply(M,j):M=j));return M}else if(ae==="**"){for(Re=g+1===T||g+2===T&&ve==="*",Re&&f._listeners&&(M=F(n,d,f,T,T)),V=p(f),P=V.length;P-- >0;)N=V[P],N!=="_listeners"&&(N==="*"||N==="**"?(f[N]._listeners&&!Re&&(j=F(n,d,f[N],T,T),j&&(M?M.push.apply(M,j):M=j)),j=F(n,d,f[N],g,T)):N===ve?j=F(n,d,f[N],g+2,T):j=F(n,d,f[N],g,T),j&&(M?M.push.apply(M,j):M=j));return M}else f[ae]&&(M=F(n,d,f[ae],g+1,T));if(U=f["*"],U&&F(n,d,U,g+1,T),H=f["**"],H)if(g<T)for(H._listeners&&F(n,d,H,T,T),V=p(H),P=V.length;P-- >0;)N=V[P],N!=="_listeners"&&(N===ve?F(n,d,H[N],g+2,T):N===ae?F(n,d,H[N],g+1,T):(de={},de[N]=H[N],F(n,d,{"**":de},g+1,T)));else H._listeners?F(n,d,H,T,T):H["*"]&&H["*"]._listeners&&F(n,d,H["*"],T,T);return M}function be(n,d,f){var g=0,T=0,S,y=this.delimiter,P=y.length,C;if(typeof n=="string")if((S=n.indexOf(y))!==-1){C=new Array(5);do C[g++]=n.slice(T,S),T=S+P;while((S=n.indexOf(y,T))!==-1);C[g++]=n.slice(T)}else C=[n],g=1;else C=n,g=n.length;if(g>1){for(S=0;S+1<g;S++)if(C[S]==="**"&&C[S+1]==="**")return}var b=this.listenerTree,R;for(S=0;S<g;S++)if(R=C[S],b=b[R]||(b[R]={}),S===g-1)return b._listeners?(typeof b._listeners=="function"&&(b._listeners=[b._listeners]),f?b._listeners.unshift(d):b._listeners.push(d),!b._listeners.warned&&this._maxListeners>0&&b._listeners.length>this._maxListeners&&(b._listeners.warned=!0,u.call(this,b._listeners.length,R))):b._listeners=d,!0;return!0}function Pe(n,d,f,g){for(var T=p(n),S=T.length,y,P,C,b=n._listeners,R;S-- >0;)P=T[S],y=n[P],P==="_listeners"?C=f:C=f?f.concat(P):[P],R=g||typeof P=="symbol",b&&d.push(R?C:C.join(this.delimiter)),typeof y=="object"&&Pe.call(this,y,d,C,R);return d}function me(n){for(var d=p(n),f=d.length,g,T,S;f-- >0;)T=d[f],g=n[T],g&&(S=!0,T!=="_listeners"&&!me(g)&&delete n[T]);return S}function te(n,d,f){this.emitter=n,this.event=d,this.listener=f}te.prototype.off=function(){return this.emitter.off(this.event,this.listener),this};function fe(n,d,f){if(f===!0)T=!0;else if(f===!1)g=!0;else{if(!f||typeof f!="object")throw TypeError("options should be an object or true");var g=f.async,T=f.promisify,S=f.nextTick,y=f.objectify}if(g||S||T){var P=d,C=d._origin||d;if(S&&!s)throw Error("process.nextTick is not supported");T===e&&(T=d.constructor.name==="AsyncFunction"),d=function(){var b=arguments,R=this,K=this.event;return T?S?Promise.resolve():new Promise(function(M){m(M)}).then(function(){return R.event=K,P.apply(R,b)}):(S?process.nextTick:m)(function(){R.event=K,P.apply(R,b)})},d._async=!0,d._origin=C}return[d,y?new te(this,n,d):this]}function D(n){this._events={},this._newListener=!1,this._removeListener=!1,this.verboseMemoryLeak=!1,h.call(this,n)}D.EventEmitter2=D,D.prototype.listenTo=function(n,d,f){if(typeof n!="object")throw TypeError("target musts be an object");var g=this;f=z(f,{on:e,off:e,reducers:e},{on:q,off:q,reducers:X});function T(S){if(typeof S!="object")throw TypeError("events must be an object");var y=f.reducers,P=le.call(g,n),C;P===-1?C=new A(g,n,f):C=g._observers[P];for(var b=p(S),R=b.length,K,M=typeof y=="function",N=0;N<R;N++)K=b[N],C.subscribe(K,S[K]||K,M?y:y&&y[K])}return i(d)?T(E(d)):T(typeof d=="string"?E(d.split(/\s+/)):d),this},D.prototype.stopListeningTo=function(n,d){var f=this._observers;if(!f)return!1;var g=f.length,T,S=!1;if(n&&typeof n!="object")throw TypeError("target should be an object");for(;g-- >0;)T=f[g],(!n||T._target===n)&&(T.unsubscribe(d),S=!0);return S},D.prototype.delimiter=".",D.prototype.setMaxListeners=function(n){n!==e&&(this._maxListeners=n,this._conf||(this._conf={}),this._conf.maxListeners=n)},D.prototype.getMaxListeners=function(){return this._maxListeners},D.prototype.event="",D.prototype.once=function(n,d,f){return this._once(n,d,!1,f)},D.prototype.prependOnceListener=function(n,d,f){return this._once(n,d,!0,f)},D.prototype._once=function(n,d,f,g){return this._many(n,1,d,f,g)},D.prototype.many=function(n,d,f,g){return this._many(n,d,f,!1,g)},D.prototype.prependMany=function(n,d,f,g){return this._many(n,d,f,!0,g)},D.prototype._many=function(n,d,f,g,T){var S=this;if(typeof f!="function")throw new Error("many only accepts instances of Function");function y(){return--d==0&&S.off(n,y),f.apply(this,arguments)}return y._origin=f,this._on(n,y,g,T)},D.prototype.emit=function(){if(!this._events&&!this._all)return!1;this._events||c.call(this);var n=arguments[0],d,f=this.wildcard,g,T,S,y,P;if(n==="newListener"&&!this._newListener&&!this._events.newListener)return!1;if(f&&(d=n,n!=="newListener"&&n!=="removeListener"&&typeof n=="object")){if(T=n.length,o){for(S=0;S<T;S++)if(typeof n[S]=="symbol"){P=!0;break}}P||(n=n.join(this.delimiter))}var C=arguments.length,b;if(this._all&&this._all.length)for(b=this._all.slice(),S=0,T=b.length;S<T;S++)switch(this.event=n,C){case 1:b[S].call(this,n);break;case 2:b[S].call(this,n,arguments[1]);break;case 3:b[S].call(this,n,arguments[1],arguments[2]);break;default:b[S].apply(this,arguments)}if(f)b=[],F.call(this,b,d,this.listenerTree,0,T);else if(b=this._events[n],typeof b=="function"){switch(this.event=n,C){case 1:b.call(this);break;case 2:b.call(this,arguments[1]);break;case 3:b.call(this,arguments[1],arguments[2]);break;default:for(g=new Array(C-1),y=1;y<C;y++)g[y-1]=arguments[y];b.apply(this,g)}return!0}else b&&(b=b.slice());if(b&&b.length){if(C>3)for(g=new Array(C-1),y=1;y<C;y++)g[y-1]=arguments[y];for(S=0,T=b.length;S<T;S++)switch(this.event=n,C){case 1:b[S].call(this);break;case 2:b[S].call(this,arguments[1]);break;case 3:b[S].call(this,arguments[1],arguments[2]);break;default:b[S].apply(this,g)}return!0}else if(!this.ignoreErrors&&!this._all&&n==="error")throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");return!!this._all},D.prototype.emitAsync=function(){if(!this._events&&!this._all)return!1;this._events||c.call(this);var n=arguments[0],d=this.wildcard,f,g,T,S,y,P;if(n==="newListener"&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);if(d&&(f=n,n!=="newListener"&&n!=="removeListener"&&typeof n=="object")){if(S=n.length,o){for(y=0;y<S;y++)if(typeof n[y]=="symbol"){g=!0;break}}g||(n=n.join(this.delimiter))}var C=[],b=arguments.length,R;if(this._all)for(y=0,S=this._all.length;y<S;y++)switch(this.event=n,b){case 1:C.push(this._all[y].call(this,n));break;case 2:C.push(this._all[y].call(this,n,arguments[1]));break;case 3:C.push(this._all[y].call(this,n,arguments[1],arguments[2]));break;default:C.push(this._all[y].apply(this,arguments))}if(d?(R=[],F.call(this,R,f,this.listenerTree,0)):R=this._events[n],typeof R=="function")switch(this.event=n,b){case 1:C.push(R.call(this));break;case 2:C.push(R.call(this,arguments[1]));break;case 3:C.push(R.call(this,arguments[1],arguments[2]));break;default:for(T=new Array(b-1),P=1;P<b;P++)T[P-1]=arguments[P];C.push(R.apply(this,T))}else if(R&&R.length){if(R=R.slice(),b>3)for(T=new Array(b-1),P=1;P<b;P++)T[P-1]=arguments[P];for(y=0,S=R.length;y<S;y++)switch(this.event=n,b){case 1:C.push(R[y].call(this));break;case 2:C.push(R[y].call(this,arguments[1]));break;case 3:C.push(R[y].call(this,arguments[1],arguments[2]));break;default:C.push(R[y].apply(this,T))}}else if(!this.ignoreErrors&&!this._all&&n==="error")return arguments[1]instanceof Error?Promise.reject(arguments[1]):Promise.reject("Uncaught, unspecified 'error' event.");return Promise.all(C)},D.prototype.on=function(n,d,f){return this._on(n,d,!1,f)},D.prototype.prependListener=function(n,d,f){return this._on(n,d,!0,f)},D.prototype.onAny=function(n){return this._onAny(n,!1)},D.prototype.prependAny=function(n){return this._onAny(n,!0)},D.prototype.addListener=D.prototype.on,D.prototype._onAny=function(n,d){if(typeof n!="function")throw new Error("onAny only accepts instances of Function");return this._all||(this._all=[]),d?this._all.unshift(n):this._all.push(n),this},D.prototype._on=function(n,d,f,g){if(typeof n=="function")return this._onAny(n,d),this;if(typeof d!="function")throw new Error("on only accepts instances of Function");this._events||c.call(this);var T=this,S;return g!==e&&(S=fe.call(this,n,d,g),d=S[0],T=S[1]),this._newListener&&this.emit("newListener",n,d),this.wildcard?(be.call(this,n,d,f),T):(this._events[n]?(typeof this._events[n]=="function"&&(this._events[n]=[this._events[n]]),f?this._events[n].unshift(d):this._events[n].push(d),!this._events[n].warned&&this._maxListeners>0&&this._events[n].length>this._maxListeners&&(this._events[n].warned=!0,u.call(this,this._events[n].length,n))):this._events[n]=d,T)},D.prototype.off=function(n,d){if(typeof d!="function")throw new Error("removeListener only takes instances of Function");var f,g=[];if(this.wildcard){var T=typeof n=="string"?n.split(this.delimiter):n.slice();if(g=F.call(this,null,T,this.listenerTree,0),!g)return this}else{if(!this._events[n])return this;f=this._events[n],g.push({_listeners:f})}for(var S=0;S<g.length;S++){var y=g[S];if(f=y._listeners,i(f)){for(var P=-1,C=0,b=f.length;C<b;C++)if(f[C]===d||f[C].listener&&f[C].listener===d||f[C]._origin&&f[C]._origin===d){P=C;break}if(P<0)continue;return this.wildcard?y._listeners.splice(P,1):this._events[n].splice(P,1),f.length===0&&(this.wildcard?delete y._listeners:delete this._events[n]),this._removeListener&&this.emit("removeListener",n,d),this}else(f===d||f.listener&&f.listener===d||f._origin&&f._origin===d)&&(this.wildcard?delete y._listeners:delete this._events[n],this._removeListener&&this.emit("removeListener",n,d))}return this.listenerTree&&me(this.listenerTree),this},D.prototype.offAny=function(n){var d=0,f=0,g;if(n&&this._all&&this._all.length>0){for(g=this._all,d=0,f=g.length;d<f;d++)if(n===g[d])return g.splice(d,1),this._removeListener&&this.emit("removeListenerAny",n),this}else{if(g=this._all,this._removeListener)for(d=0,f=g.length;d<f;d++)this.emit("removeListenerAny",g[d]);this._all=[]}return this},D.prototype.removeListener=D.prototype.off,D.prototype.removeAllListeners=function(n){if(n===e)return!this._events||c.call(this),this;if(this.wildcard){var d=F.call(this,null,n,this.listenerTree,0),f,g;if(!d)return this;for(g=0;g<d.length;g++)f=d[g],f._listeners=null;this.listenerTree&&me(this.listenerTree)}else this._events&&(this._events[n]=null);return this},D.prototype.listeners=function(n){var d=this._events,f,g,T,S,y;if(n===e){if(this.wildcard)throw Error("event name required for wildcard emitter");if(!d)return[];for(f=p(d),S=f.length,T=[];S-- >0;)g=d[f[S]],typeof g=="function"?T.push(g):T.push.apply(T,g);return T}else{if(this.wildcard){if(y=this.listenerTree,!y)return[];var P=[],C=typeof n=="string"?n.split(this.delimiter):n.slice();return F.call(this,P,C,y,0),P}return d?(g=d[n],g?typeof g=="function"?[g]:g:[]):[]}},D.prototype.eventNames=function(n){var d=this._events;return this.wildcard?Pe.call(this,this.listenerTree,[],null,n):d?p(d):[]},D.prototype.listenerCount=function(n){return this.listeners(n).length},D.prototype.hasListeners=function(n){if(this.wildcard){var d=[],f=typeof n=="string"?n.split(this.delimiter):n.slice();return F.call(this,d,f,this.listenerTree,0),d.length>0}var g=this._events,T=this._all;return!!(T&&T.length||g&&(n===e?p(g).length:g[n]))},D.prototype.listenersAny=function(){return this._all?this._all:[]},D.prototype.waitFor=function(n,d){var f=this,g=typeof d;return g==="number"?d={timeout:d}:g==="function"&&(d={filter:d}),d=z(d,{timeout:0,filter:e,handleError:!1,Promise,overload:!1},{filter:q,Promise:I}),pe(d.Promise,function(T,S,y){function P(){var C=d.filter;if(!(C&&!C.apply(f,arguments)))if(f.off(n,P),d.handleError){var b=arguments[0];b?S(b):T(v.apply(null,arguments).slice(1))}else T(v.apply(null,arguments))}y(function(){f.off(n,P)}),f._on(n,P,!1)},{timeout:d.timeout,overload:d.overload})};function ge(n,d,f){f=z(f,{Promise,timeout:0,overload:!1},{Promise:I});var g=f.Promise;return pe(g,function(T,S,y){var P;if(typeof n.addEventListener=="function"){P=function(){T(v.apply(null,arguments))},y(function(){n.removeEventListener(d,P)}),n.addEventListener(d,P,{once:!0});return}var C=function(){b&&n.removeListener("error",b),T(v.apply(null,arguments))},b;d!=="error"&&(b=function(R){n.removeListener(d,C),S(R)},n.once("error",b)),y(function(){b&&n.removeListener("error",b),n.removeListener(d,C)}),n.once(d,C)},{timeout:f.timeout,overload:f.overload})}var ne=D.prototype;if(Object.defineProperties(D,{defaultMaxListeners:{get:function(){return ne._maxListeners},set:function(n){if(typeof n!="number"||n<0||Number.isNaN(n))throw TypeError("n must be a non-negative number");ne._maxListeners=n},enumerable:!0},once:{value:ge,writable:!0,configurable:!0}}),Object.defineProperties(ne,{_maxListeners:{value:r,writable:!0,configurable:!0},_observers:{value:null,writable:!0,configurable:!0}}),typeof define=="function"&&define.amd)define(function(){return D});else if(typeof Fi=="object")Vi.exports=D;else{var Ve=new Function("","return this")();Ve.EventEmitter2=D}})()});import Cr,{createContext as br,useContext as ot,useEffect as jt,useState as Pr}from"react";import{HMSReactiveStore as Rr}from"@100mslive/hms-video-store";import $e from"zustand";import{useContext as Gt}from"react";import Ft from"zustand/shallow";var Y;(function(a){a[a.VERBOSE=0]="VERBOSE",a[a.DEBUG=1]="DEBUG",a[a.INFO=2]="INFO",a[a.WARN=3]="WARN",a[a.ERROR=4]="ERROR",a[a.NONE=5]="NONE"})(Y||(Y={}));var Te=class{static v(t,...i){this.log(0,t,...i)}static d(t,...i){this.log(1,t,...i)}static i(t,...i){this.log(2,t,...i)}static w(t,...i){this.log(3,t,...i)}static e(t,...i){this.log(4,t,...i)}static log(t,i,...r){if(!(this.level.valueOf()>t.valueOf()))switch(t){case 0:{console.log("HMSui-components: ",i,...r);break}case 1:{console.debug("HMSui-components: ",i,...r);break}case 2:{console.info("HMSui-components: ",i,...r);break}case 3:{console.warn("HMSui-components: ",i,...r);break}case 4:{console.error("HMSui-components: ",i,...r);break}}}};Te.level=0;var Se="It seems like you forgot to add your component within a top level HMSRoomProvider, please refer to 100ms react docs(https://docs.100ms.live/javascript/v2/features/integration#react-hooks) to check on the required steps for using this hook.";function Vt(e){return(i,r=Ft)=>{i||Te.w("fetching full store without passing any selector may have a heavy performance impact on your website.");let s=Gt(e);if(!s)throw new Error(Se);return s.store(i,r)}}function Bt(e){return(i,r=Ft)=>{i||Te.w("fetching full store without passing any selector may have a heavy performance impact on your website.");let s=Gt(e);if(!s)throw new Error(Se);let o=s.statsStore;return o==null?void 0:o(i,r)}}var Ht=typeof window!="undefined";var Ee=br(null),ce,Ar=({children:e,actions:t,store:i,notifications:r,webrtcInternals:s,isHMSStatsOn:o=!1})=>{if(!ce){let a=()=>{throw new Error("modifying store is not allowed")};if(t&&i){if(ce={actions:t,store:$e(De(_e({},i),{setState:a,destroy:a}))},r&&(ce.notifications=r),s){let l=s;ce.statsStore=$e({getState:l.getState,subscribe:l.subscribe,setState:a,destroy:a})}}else{let l=new Rr;if(ce={actions:l.getHMSActions(),store:$e(De(_e({},l.getStore()),{setState:a,destroy:a})),notifications:l.getNotifications()},o){let m=l.getStats();ce.statsStore=$e({getState:m.getState,subscribe:m.subscribe,setState:a,destroy:a})}}}return jt(()=>{Ht&&(window.onunload=()=>{ce.actions.leave()})},[]),Cr.createElement(Ee.Provider,{value:ce},e)},B=Vt(Ee),Ir=Bt(Ee),we=()=>{let e=ot(Ee);if(!e)throw new Error(Se);return e.store},Q=()=>{let e=ot(Ee);if(!e)throw new Error(Se);return e.actions},_r=()=>{let e=ot(Ee),[t,i]=Pr(null);if(!e)throw new Error(Se);return jt(()=>e.notifications?e.notifications.onNotification(s=>i(s)):void 0,[e.notifications]),t};var Dr=(e,t,i)=>e.reduce((r,s,o)=>{let a=Math.floor(o/t);return a>0&&i||(r[a]||(r[a]=[]),r[a].push(s)),r},[]),ct=({elements:e,tilesInFirstPage:t,onlyOnePage:i,isLastPageDifferentFromFirstPage:r,defaultWidth:s,defaultHeight:o,lastPageWidth:a,lastPageHeight:l})=>{let m=Dr(e,t,i);return m.map((p,c)=>p.map(h=>{let u=c===m.length-1,v=r&&u?a:s,E=r&&u?l:o;return De(_e({},h),{height:E,width:v})}))};function Mr(e){if(e.length===0)return null;let t={},i=e[0],r=1;for(let s=0;s<e.length;s++){let o=e[s];t[o]===null?t[o]=1:t[o]++,t[o]>r&&(i=o,r=t[o])}return i}var lt=e=>Mr(e.filter(t=>{var i,r;return((i=t.track)==null?void 0:i.width)&&((r=t.track)==null?void 0:r.height)}).map(t=>{var s,o;let i=(s=t.track)==null?void 0:s.width,r=(o=t.track)==null?void 0:o.height;return(i||1)/(r||1)})),dt=(e,t,i,r,s)=>{if(e<0||t<0)throw new Error("Container must have a non-negative area");if(i<1||!Number.isInteger(i))throw new Error("Number of shapes to place must be a positive integer");let o=r&&s&&r/s;if(o!==void 0&&isNaN(o))throw new Error("Aspect ratio must be a number");let a={area:0,cols:0,rows:0,width:0,height:0},l=i,m=-1;if(o!==void 0)for(let p=l;p>0;p+=m){let c=Math.ceil(i/p),h=e/(p*o),u=t/c,v,E;h<=u?(v=e/p,E=v/o):(E=t/c,v=E*o);let A=v*E;A>a.area&&(a={area:A,width:v,height:E,rows:c,cols:p})}return a},wr=({parentWidth:e,parentHeight:t,count:i,maxCount:r,aspectRatio:s})=>{let o=0,a=0,l=0,m=0,p=!1,c=0,h=0,u=Math.min(Math.ceil(Math.sqrt(i*(e/t)/(s.width/s.height))),r),v=e/u,E=v/(s.width/s.height),A=Math.floor(t/E);if(a=E,o=v,c=Math.min(i,A*u),h=i%(A*u),p=h>0&&i>A*u,p){let z=Math.min(Math.ceil(Math.sqrt(h*(e/t)/(s.width/s.height))),r),I=e/z;m=I/(s.width/s.height),l=I}return{tilesInFirstPage:c,defaultWidth:o,defaultHeight:a,lastPageWidth:l,lastPageHeight:m,isLastPageDifferentFromFirstPage:p}},Lr=({parentWidth:e,parentHeight:t,count:i,maxCount:r,aspectRatio:s})=>{let o=0,a=0,l=0,m=0,p=!1,c=0,h=0,{width:u,height:v}=dt(e,t,Math.min(i,r),s.width,s.height);if(o=u,a=v,c=Math.min(i,r),h=i%r,p=h>0&&i>r,p){let{width:E,height:A}=dt(e,t,h,s.width,s.height);l=E,m=A}return{tilesInFirstPage:c,defaultWidth:o,defaultHeight:a,lastPageWidth:l,lastPageHeight:m,isLastPageDifferentFromFirstPage:p}},Or=({parentWidth:e,parentHeight:t,count:i,maxCount:r,aspectRatio:s})=>{let o=0,a=0,l=0,m=0,p=!1,c=0,h=0,u=Math.min(Math.ceil(Math.sqrt(i*(s.width/s.height)/(e/t))),r),v=t/u,E=v*(s.width/s.height),A=Math.floor(e/E);if(o=E,a=v,c=Math.min(i,u*A),h=i%(u*A),p=h>0&&i>u*A,p){let z=Math.min(Math.ceil(Math.sqrt(h*(s.width/s.height)/(e/t))),r),I=t/z,_=I*(s.width/s.height);m=I,l=_}return{tilesInFirstPage:c,defaultWidth:o,defaultHeight:a,lastPageWidth:l,lastPageHeight:m,isLastPageDifferentFromFirstPage:p}};function ut({count:e,parentWidth:t,parentHeight:i,maxTileCount:r,maxRowCount:s,maxColCount:o,aspectRatio:a}){let l=0,m=0,p=0,c=0,h=!1,u=0;if(e===0)return{tilesInFirstPage:u,defaultWidth:l,defaultHeight:m,lastPageWidth:p,lastPageHeight:c,isLastPageDifferentFromFirstPage:h};if(r)({tilesInFirstPage:u,defaultWidth:l,defaultHeight:m,lastPageWidth:p,lastPageHeight:c,isLastPageDifferentFromFirstPage:h}=Lr({parentWidth:t,parentHeight:i,count:e,maxCount:r,aspectRatio:a}));else if(s)({tilesInFirstPage:u,defaultWidth:l,defaultHeight:m,lastPageWidth:p,lastPageHeight:c,isLastPageDifferentFromFirstPage:h}=Or({parentWidth:t,parentHeight:i,count:e,maxCount:s,aspectRatio:a}));else if(o)({tilesInFirstPage:u,defaultWidth:l,defaultHeight:m,lastPageWidth:p,lastPageHeight:c,isLastPageDifferentFromFirstPage:h}=wr({parentWidth:t,parentHeight:i,count:e,maxCount:o,aspectRatio:a}));else{let{width:v,height:E}=dt(t,i,e,a.width,a.height);l=v,m=E,u=e}return{tilesInFirstPage:u,defaultWidth:l,defaultHeight:m,lastPageWidth:p,lastPageHeight:c,isLastPageDifferentFromFirstPage:h}}var $t=(e,t,i,r=!0)=>{if(!e||!t||!i)return[];let s=[];for(let o of e)if(o.videoTrack===void 0&&o.audioTrack&&t[o.audioTrack])s.push({peer:o});else if(o.videoTrack&&t[o.videoTrack])s.push({track:t[o.videoTrack],peer:o});else if(i(o)&&o.auxiliaryTracks.length>0){let a=o.auxiliaryTracks.find(l=>{let m=t[l];return(m==null?void 0:m.type)==="video"&&(m==null?void 0:m.source)==="screen"});a&&s.push({track:t[a],peer:o})}else r||s.push({peer:o});return s};"use strict";var Kt=!0,Wt=!0;function Le(e,t,i){let r=e.match(t);return r&&r.length>=i&&parseInt(r[i],10)}function ie(e,t,i){if(!e.RTCPeerConnection)return;let r=e.RTCPeerConnection.prototype,s=r.addEventListener;r.addEventListener=function(a,l){if(a!==t)return s.apply(this,arguments);let m=p=>{let c=i(p);c&&(l.handleEvent?l.handleEvent(c):l(c))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(l,m),s.apply(this,[a,m])};let o=r.removeEventListener;r.removeEventListener=function(a,l){if(a!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(l))return o.apply(this,arguments);let m=this._eventMap[t].get(l);return this._eventMap[t].delete(l),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,o.apply(this,[a,m])},Object.defineProperty(r,"on"+t,{get(){return this["_on"+t]},set(a){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),a&&this.addEventListener(t,this["_on"+t]=a)},enumerable:!0,configurable:!0})}function zt(e){return typeof e!="boolean"?new Error("Argument type: "+typeof e+". Please use a boolean."):(Kt=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function qt(e){return typeof e!="boolean"?new Error("Argument type: "+typeof e+". Please use a boolean."):(Wt=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function Ke(){if(typeof window=="object"){if(Kt)return;typeof console!="undefined"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function ye(e,t){!Wt||console.warn(e+" is deprecated, please use "+t+" instead.")}function Jt(e){let t={browser:null,version:null};if(typeof e=="undefined"||!e.navigator)return t.browser="Not a browser.",t;let{navigator:i}=e;if(i.mozGetUserMedia)t.browser="firefox",t.version=Le(i.userAgent,/Firefox\/(\d+)\./,1);else if(i.webkitGetUserMedia||e.isSecureContext===!1&&e.webkitRTCPeerConnection&&!e.RTCIceGatherer)t.browser="chrome",t.version=Le(i.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(e.RTCPeerConnection&&i.userAgent.match(/AppleWebKit\/(\d+)\./))t.browser="safari",t.version=Le(i.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype;else return t.browser="Not a supported browser.",t;return t}function Yt(e){return Object.prototype.toString.call(e)==="[object Object]"}function ht(e){return Yt(e)?Object.keys(e).reduce(function(t,i){let r=Yt(e[i]),s=r?ht(e[i]):e[i],o=r&&!Object.keys(s).length;return s===void 0||o?t:Object.assign(t,{[i]:s})},{}):e}function pt(e,t,i){!t||i.has(t.id)||(i.set(t.id,t),Object.keys(t).forEach(r=>{r.endsWith("Id")?pt(e,e.get(t[r]),i):r.endsWith("Ids")&&t[r].forEach(s=>{pt(e,e.get(s),i)})}))}function mt(e,t,i){let r=i?"outbound-rtp":"inbound-rtp",s=new Map;if(t===null)return s;let o=[];return e.forEach(a=>{a.type==="track"&&a.trackIdentifier===t.id&&o.push(a)}),o.forEach(a=>{e.forEach(l=>{l.type===r&&l.trackId===a.id&&pt(e,l,s)})}),s}var We={};je(We,{fixNegotiationNeeded:()=>ai,shimAddTrackRemoveTrack:()=>ni,shimAddTrackRemoveTrackWithNative:()=>si,shimGetDisplayMedia:()=>Zt,shimGetSendersWithDtmf:()=>ti,shimGetStats:()=>ii,shimGetUserMedia:()=>ft,shimMediaStream:()=>Xt,shimOnTrack:()=>ei,shimPeerConnection:()=>gt,shimSenderReceiverGetStats:()=>ri});"use strict";var Qt=Ke;function ft(e,t){let i=e&&e.navigator;if(!i.mediaDevices)return;let r=function(l){if(typeof l!="object"||l.mandatory||l.optional)return l;let m={};return Object.keys(l).forEach(p=>{if(p==="require"||p==="advanced"||p==="mediaSource")return;let c=typeof l[p]=="object"?l[p]:{ideal:l[p]};c.exact!==void 0&&typeof c.exact=="number"&&(c.min=c.max=c.exact);let h=function(u,v){return u?u+v.charAt(0).toUpperCase()+v.slice(1):v==="deviceId"?"sourceId":v};if(c.ideal!==void 0){m.optional=m.optional||[];let u={};typeof c.ideal=="number"?(u[h("min",p)]=c.ideal,m.optional.push(u),u={},u[h("max",p)]=c.ideal,m.optional.push(u)):(u[h("",p)]=c.ideal,m.optional.push(u))}c.exact!==void 0&&typeof c.exact!="number"?(m.mandatory=m.mandatory||{},m.mandatory[h("",p)]=c.exact):["min","max"].forEach(u=>{c[u]!==void 0&&(m.mandatory=m.mandatory||{},m.mandatory[h(u,p)]=c[u])})}),l.advanced&&(m.optional=(m.optional||[]).concat(l.advanced)),m},s=function(l,m){if(t.version>=61)return m(l);if(l=JSON.parse(JSON.stringify(l)),l&&typeof l.audio=="object"){let p=function(c,h,u){h in c&&!(u in c)&&(c[u]=c[h],delete c[h])};l=JSON.parse(JSON.stringify(l)),p(l.audio,"autoGainControl","googAutoGainControl"),p(l.audio,"noiseSuppression","googNoiseSuppression"),l.audio=r(l.audio)}if(l&&typeof l.video=="object"){let p=l.video.facingMode;p=p&&(typeof p=="object"?p:{ideal:p});let c=t.version<66;if(p&&(p.exact==="user"||p.exact==="environment"||p.ideal==="user"||p.ideal==="environment")&&!(i.mediaDevices.getSupportedConstraints&&i.mediaDevices.getSupportedConstraints().facingMode&&!c)){delete l.video.facingMode;let h;if(p.exact==="environment"||p.ideal==="environment"?h=["back","rear"]:(p.exact==="user"||p.ideal==="user")&&(h=["front"]),h)return i.mediaDevices.enumerateDevices().then(u=>{u=u.filter(E=>E.kind==="videoinput");let v=u.find(E=>h.some(A=>E.label.toLowerCase().includes(A)));return!v&&u.length&&h.includes("back")&&(v=u[u.length-1]),v&&(l.video.deviceId=p.exact?{exact:v.deviceId}:{ideal:v.deviceId}),l.video=r(l.video),Qt("chrome: "+JSON.stringify(l)),m(l)})}l.video=r(l.video)}return Qt("chrome: "+JSON.stringify(l)),m(l)},o=function(l){return t.version>=64?l:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[l.name]||l.name,message:l.message,constraint:l.constraint||l.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}},a=function(l,m,p){s(l,c=>{i.webkitGetUserMedia(c,m,h=>{p&&p(o(h))})})};if(i.getUserMedia=a.bind(i),i.mediaDevices.getUserMedia){let l=i.mediaDevices.getUserMedia.bind(i.mediaDevices);i.mediaDevices.getUserMedia=function(m){return s(m,p=>l(p).then(c=>{if(p.audio&&!c.getAudioTracks().length||p.video&&!c.getVideoTracks().length)throw c.getTracks().forEach(h=>{h.stop()}),new DOMException("","NotFoundError");return c},c=>Promise.reject(o(c))))}}}"use strict";function Zt(e,t){if(!(e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices)&&!!e.navigator.mediaDevices){if(typeof t!="function"){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}e.navigator.mediaDevices.getDisplayMedia=function(r){return t(r).then(s=>{let o=r.video&&r.video.width,a=r.video&&r.video.height,l=r.video&&r.video.frameRate;return r.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:s,maxFrameRate:l||3}},o&&(r.video.mandatory.maxWidth=o),a&&(r.video.mandatory.maxHeight=a),e.navigator.mediaDevices.getUserMedia(r)})}}}"use strict";function Xt(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function ei(e){if(typeof e=="object"&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(i){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=i)},enumerable:!0,configurable:!0});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=r=>{r.stream.addEventListener("addtrack",s=>{let o;e.RTCPeerConnection.prototype.getReceivers?o=this.getReceivers().find(l=>l.track&&l.track.id===s.track.id):o={track:s.track};let a=new Event("track");a.track=s.track,a.receiver=o,a.transceiver={receiver:o},a.streams=[r.stream],this.dispatchEvent(a)}),r.stream.getTracks().forEach(s=>{let o;e.RTCPeerConnection.prototype.getReceivers?o=this.getReceivers().find(l=>l.track&&l.track.id===s.id):o={track:s};let a=new Event("track");a.track=s,a.receiver=o,a.transceiver={receiver:o},a.streams=[r.stream],this.dispatchEvent(a)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else ie(e,"track",t=>(t.transceiver||Object.defineProperty(t,"transceiver",{value:{receiver:t.receiver}}),t))}function ti(e){if(typeof e=="object"&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){let t=function(s,o){return{track:o,get dtmf(){return this._dtmf===void 0&&(o.kind==="audio"?this._dtmf=s.createDTMFSender(o):this._dtmf=null),this._dtmf},_pc:s}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let s=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(l,m){let p=s.apply(this,arguments);return p||(p=t(this,l),this._senders.push(p)),p};let o=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(l){o.apply(this,arguments);let m=this._senders.indexOf(l);m!==-1&&this._senders.splice(m,1)}}let i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(o){this._senders=this._senders||[],i.apply(this,[o]),o.getTracks().forEach(a=>{this._senders.push(t(this,a))})};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(o){this._senders=this._senders||[],r.apply(this,[o]),o.getTracks().forEach(a=>{let l=this._senders.find(m=>m.track===a);l&&this._senders.splice(this._senders.indexOf(l),1)})}}else if(typeof e=="object"&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let r=t.apply(this,[]);return r.forEach(s=>s._pc=this),r},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function ii(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[r,s,o]=arguments;if(arguments.length>0&&typeof r=="function")return t.apply(this,arguments);if(t.length===0&&(arguments.length===0||typeof r!="function"))return t.apply(this,[]);let a=function(m){let p={};return m.result().forEach(h=>{let u={id:h.id,timestamp:h.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[h.type]||h.type};h.names().forEach(v=>{u[v]=h.stat(v)}),p[u.id]=u}),p},l=function(m){return new Map(Object.keys(m).map(p=>[p,m[p]]))};if(arguments.length>=2){let m=function(p){s(l(a(p)))};return t.apply(this,[m,r])}return new Promise((m,p)=>{t.apply(this,[function(c){m(l(a(c)))},p])}).then(s,o)}}function ri(e){if(!(typeof e=="object"&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){let i=e.RTCPeerConnection.prototype.getSenders;i&&(e.RTCPeerConnection.prototype.getSenders=function(){let o=i.apply(this,[]);return o.forEach(a=>a._pc=this),o});let r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){let o=r.apply(this,arguments);return o._pc=this,o}),e.RTCRtpSender.prototype.getStats=function(){let o=this;return this._pc.getStats().then(a=>mt(a,o.track,!0))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){let i=e.RTCPeerConnection.prototype.getReceivers;i&&(e.RTCPeerConnection.prototype.getReceivers=function(){let s=i.apply(this,[]);return s.forEach(o=>o._pc=this),s}),ie(e,"track",r=>(r.receiver._pc=r.srcElement,r)),e.RTCRtpReceiver.prototype.getStats=function(){let s=this;return this._pc.getStats().then(o=>mt(o,s.track,!1))}}if(!("getStats"in e.RTCRtpSender.prototype&&"getStats"in e.RTCRtpReceiver.prototype))return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let r=arguments[0],s,o,a;return this.getSenders().forEach(l=>{l.track===r&&(s?a=!0:s=l)}),this.getReceivers().forEach(l=>(l.track===r&&(o?a=!0:o=l),l.track===r)),a||s&&o?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):s?s.getStats():o?o.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function si(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(a=>this._shimmedLocalStreams[a][0])};let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(a,l){if(!l)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let m=t.apply(this,arguments);return this._shimmedLocalStreams[l.id]?this._shimmedLocalStreams[l.id].indexOf(m)===-1&&this._shimmedLocalStreams[l.id].push(m):this._shimmedLocalStreams[l.id]=[l,m],m};let i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(a){this._shimmedLocalStreams=this._shimmedLocalStreams||{},a.getTracks().forEach(p=>{if(this.getSenders().find(h=>h.track===p))throw new DOMException("Track already exists.","InvalidAccessError")});let l=this.getSenders();i.apply(this,arguments);let m=this.getSenders().filter(p=>l.indexOf(p)===-1);this._shimmedLocalStreams[a.id]=[a].concat(m)};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(a){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[a.id],r.apply(this,arguments)};let s=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(a){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},a&&Object.keys(this._shimmedLocalStreams).forEach(l=>{let m=this._shimmedLocalStreams[l].indexOf(a);m!==-1&&this._shimmedLocalStreams[l].splice(m,1),this._shimmedLocalStreams[l].length===1&&delete this._shimmedLocalStreams[l]}),s.apply(this,arguments)}}function ni(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return si(e);let i=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let c=i.apply(this);return this._reverseStreams=this._reverseStreams||{},c.map(h=>this._reverseStreams[h.id])};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(c){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},c.getTracks().forEach(h=>{if(this.getSenders().find(v=>v.track===h))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[c.id]){let h=new e.MediaStream(c.getTracks());this._streams[c.id]=h,this._reverseStreams[h.id]=c,c=h}r.apply(this,[c])};let s=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(c){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},s.apply(this,[this._streams[c.id]||c]),delete this._reverseStreams[this._streams[c.id]?this._streams[c.id].id:c.id],delete this._streams[c.id]},e.RTCPeerConnection.prototype.addTrack=function(c,h){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");let u=[].slice.call(arguments,1);if(u.length!==1||!u[0].getTracks().find(A=>A===c))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find(A=>A.track===c))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let E=this._streams[h.id];if(E)E.addTrack(c),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{let A=new e.MediaStream([c]);this._streams[h.id]=A,this._reverseStreams[A.id]=h,this.addStream(A)}return this.getSenders().find(A=>A.track===c)};function o(p,c){let h=c.sdp;return Object.keys(p._reverseStreams||[]).forEach(u=>{let v=p._reverseStreams[u],E=p._streams[v.id];h=h.replace(new RegExp(E.id,"g"),v.id)}),new RTCSessionDescription({type:c.type,sdp:h})}function a(p,c){let h=c.sdp;return Object.keys(p._reverseStreams||[]).forEach(u=>{let v=p._reverseStreams[u],E=p._streams[v.id];h=h.replace(new RegExp(v.id,"g"),E.id)}),new RTCSessionDescription({type:c.type,sdp:h})}["createOffer","createAnswer"].forEach(function(p){let c=e.RTCPeerConnection.prototype[p],h={[p](){let u=arguments;return arguments.length&&typeof arguments[0]=="function"?c.apply(this,[E=>{let A=o(this,E);u[0].apply(null,[A])},E=>{u[1]&&u[1].apply(null,E)},arguments[2]]):c.apply(this,arguments).then(E=>o(this,E))}};e.RTCPeerConnection.prototype[p]=h[p]});let l=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type?l.apply(this,arguments):(arguments[0]=a(this,arguments[0]),l.apply(this,arguments))};let m=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){let p=m.get.apply(this);return p.type===""?p:o(this,p)}}),e.RTCPeerConnection.prototype.removeTrack=function(c){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!c._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(c._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};let u;Object.keys(this._streams).forEach(v=>{this._streams[v].getTracks().find(A=>c.track===A)&&(u=this._streams[v])}),u&&(u.getTracks().length===1?this.removeStream(this._reverseStreams[u.id]):u.removeTrack(c.track),this.dispatchEvent(new Event("negotiationneeded")))}}function gt(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),!!e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(i){let r=e.RTCPeerConnection.prototype[i],s={[i](){return arguments[0]=new(i==="addIceCandidate"?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[i]=s[i]})}function ai(e,t){ie(e,"negotiationneeded",i=>{let r=i.target;if(!((t.version<72||r.getConfiguration&&r.getConfiguration().sdpSemantics==="plan-b")&&r.signalingState!=="stable"))return i})}var ze={};je(ze,{shimAddTransceiver:()=>pi,shimCreateAnswer:()=>gi,shimCreateOffer:()=>fi,shimGetDisplayMedia:()=>oi,shimGetParameters:()=>mi,shimGetUserMedia:()=>vt,shimOnTrack:()=>ci,shimPeerConnection:()=>Tt,shimRTCDataChannel:()=>hi,shimReceiverGetStats:()=>di,shimRemoveStream:()=>ui,shimSenderGetStats:()=>li});"use strict";function vt(e,t){let i=e&&e.navigator,r=e&&e.MediaStreamTrack;if(i.getUserMedia=function(s,o,a){ye("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),i.mediaDevices.getUserMedia(s).then(o,a)},!(t.version>55&&"autoGainControl"in i.mediaDevices.getSupportedConstraints())){let s=function(a,l,m){l in a&&!(m in a)&&(a[m]=a[l],delete a[l])},o=i.mediaDevices.getUserMedia.bind(i.mediaDevices);if(i.mediaDevices.getUserMedia=function(a){return typeof a=="object"&&typeof a.audio=="object"&&(a=JSON.parse(JSON.stringify(a)),s(a.audio,"autoGainControl","mozAutoGainControl"),s(a.audio,"noiseSuppression","mozNoiseSuppression")),o(a)},r&&r.prototype.getSettings){let a=r.prototype.getSettings;r.prototype.getSettings=function(){let l=a.apply(this,arguments);return s(l,"mozAutoGainControl","autoGainControl"),s(l,"mozNoiseSuppression","noiseSuppression"),l}}if(r&&r.prototype.applyConstraints){let a=r.prototype.applyConstraints;r.prototype.applyConstraints=function(l){return this.kind==="audio"&&typeof l=="object"&&(l=JSON.parse(JSON.stringify(l)),s(l,"autoGainControl","mozAutoGainControl"),s(l,"noiseSuppression","mozNoiseSuppression")),a.apply(this,[l])}}}}"use strict";function oi(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||!e.navigator.mediaDevices||(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!(r&&r.video)){let s=new DOMException("getDisplayMedia without video constraints is undefined");return s.name="NotFoundError",s.code=8,Promise.reject(s)}return r.video===!0?r.video={mediaSource:t}:r.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(r)})}"use strict";function ci(e){typeof e=="object"&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function Tt(e,t){if(typeof e!="object"||!(e.RTCPeerConnection||e.mozRTCPeerConnection))return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(s){let o=e.RTCPeerConnection.prototype[s],a={[s](){return arguments[0]=new(s==="addIceCandidate"?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),o.apply(this,arguments)}};e.RTCPeerConnection.prototype[s]=a[s]});let i={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[o,a,l]=arguments;return r.apply(this,[o||null]).then(m=>{if(t.version<53&&!a)try{m.forEach(p=>{p.type=i[p.type]||p.type})}catch(p){if(p.name!=="TypeError")throw p;m.forEach((c,h)=>{m.set(h,Object.assign({},c,{type:i[c.type]||c.type}))})}return m}).then(a,l)}}function li(e){if(!(typeof e=="object"&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let s=t.apply(this,[]);return s.forEach(o=>o._pc=this),s});let i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){let s=i.apply(this,arguments);return s._pc=this,s}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function di(e){if(!(typeof e=="object"&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let r=t.apply(this,[]);return r.forEach(s=>s._pc=this),r}),ie(e,"track",i=>(i.receiver._pc=i.srcElement,i)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function ui(e){!e.RTCPeerConnection||"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(i){ye("removeStream","removeTrack"),this.getSenders().forEach(r=>{r.track&&i.getTracks().includes(r.track)&&this.removeTrack(r)})})}function hi(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function pi(e){if(!(typeof e=="object"&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let r=arguments[1],s=r&&"sendEncodings"in r;s&&r.sendEncodings.forEach(a=>{if("rid"in a&&!/^[a-z0-9]{0,16}$/i.test(a.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in a&&!(parseFloat(a.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in a&&!(parseFloat(a.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});let o=t.apply(this,arguments);if(s){let{sender:a}=o,l=a.getParameters();(!("encodings"in l)||l.encodings.length===1&&Object.keys(l.encodings[0]).length===0)&&(l.encodings=r.sendEncodings,a.sendEncodings=r.sendEncodings,this.setParametersPromises.push(a.setParameters(l).then(()=>{delete a.sendEncodings}).catch(()=>{delete a.sendEncodings})))}return o})}function mi(e){if(!(typeof e=="object"&&e.RTCRtpSender))return;let t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){let r=t.apply(this,arguments);return"encodings"in r||(r.encodings=[].concat(this.sendEncodings||[{}])),r})}function fi(e){if(!(typeof e=="object"&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function gi(e){if(!(typeof e=="object"&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}var qe={};je(qe,{shimAudioContext:()=>Pi,shimCallbacksAPI:()=>Si,shimConstraints:()=>yi,shimCreateOfferLegacy:()=>bi,shimGetUserMedia:()=>Ei,shimLocalStreamsAPI:()=>vi,shimRTCIceServerUrls:()=>ki,shimRemoteStreamsAPI:()=>Ti,shimTrackEventTransceiver:()=>Ci});"use strict";function vi(e){if(!(typeof e!="object"||!e.RTCPeerConnection)){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(r){this._localStreams||(this._localStreams=[]),this._localStreams.includes(r)||this._localStreams.push(r),r.getAudioTracks().forEach(s=>t.call(this,s,r)),r.getVideoTracks().forEach(s=>t.call(this,s,r))},e.RTCPeerConnection.prototype.addTrack=function(r,...s){return s&&s.forEach(o=>{this._localStreams?this._localStreams.includes(o)||this._localStreams.push(o):this._localStreams=[o]}),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(i){this._localStreams||(this._localStreams=[]);let r=this._localStreams.indexOf(i);if(r===-1)return;this._localStreams.splice(r,1);let s=i.getTracks();this.getSenders().forEach(o=>{s.includes(o.track)&&this.removeTrack(o)})})}}function Ti(e){if(!(typeof e!="object"||!e.RTCPeerConnection)&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(i){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=i),this.addEventListener("track",this._onaddstreampoly=r=>{r.streams.forEach(s=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(s))return;this._remoteStreams.push(s);let o=new Event("addstream");o.stream=s,this.dispatchEvent(o)})})}});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let r=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(s){s.streams.forEach(o=>{if(r._remoteStreams||(r._remoteStreams=[]),r._remoteStreams.indexOf(o)>=0)return;r._remoteStreams.push(o);let a=new Event("addstream");a.stream=o,r.dispatchEvent(a)})}),t.apply(r,arguments)}}}function Si(e){if(typeof e!="object"||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype,i=t.createOffer,r=t.createAnswer,s=t.setLocalDescription,o=t.setRemoteDescription,a=t.addIceCandidate;t.createOffer=function(p,c){let h=arguments.length>=2?arguments[2]:arguments[0],u=i.apply(this,[h]);return c?(u.then(p,c),Promise.resolve()):u},t.createAnswer=function(p,c){let h=arguments.length>=2?arguments[2]:arguments[0],u=r.apply(this,[h]);return c?(u.then(p,c),Promise.resolve()):u};let l=function(m,p,c){let h=s.apply(this,[m]);return c?(h.then(p,c),Promise.resolve()):h};t.setLocalDescription=l,l=function(m,p,c){let h=o.apply(this,[m]);return c?(h.then(p,c),Promise.resolve()):h},t.setRemoteDescription=l,l=function(m,p,c){let h=a.apply(this,[m]);return c?(h.then(p,c),Promise.resolve()):h},t.addIceCandidate=l}function Ei(e){let t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){let i=t.mediaDevices,r=i.getUserMedia.bind(i);t.mediaDevices.getUserMedia=s=>r(yi(s))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(r,s,o){t.mediaDevices.getUserMedia(r).then(s,o)}.bind(t))}function yi(e){return e&&e.video!==void 0?Object.assign({},e,{video:ht(e.video)}):e}function ki(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection;e.RTCPeerConnection=function(r,s){if(r&&r.iceServers){let o=[];for(let a=0;a<r.iceServers.length;a++){let l=r.iceServers[a];!l.hasOwnProperty("urls")&&l.hasOwnProperty("url")?(ye("RTCIceServer.url","RTCIceServer.urls"),l=JSON.parse(JSON.stringify(l)),l.urls=l.url,delete l.url,o.push(l)):o.push(r.iceServers[a])}r.iceServers=o}return new t(r,s)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get(){return t.generateCertificate}})}function Ci(e){typeof e=="object"&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function bi(e){let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(r){if(r){typeof r.offerToReceiveAudio!="undefined"&&(r.offerToReceiveAudio=!!r.offerToReceiveAudio);let s=this.getTransceivers().find(a=>a.receiver.track.kind==="audio");r.offerToReceiveAudio===!1&&s?s.direction==="sendrecv"?s.setDirection?s.setDirection("sendonly"):s.direction="sendonly":s.direction==="recvonly"&&(s.setDirection?s.setDirection("inactive"):s.direction="inactive"):r.offerToReceiveAudio===!0&&!s&&this.addTransceiver("audio"),typeof r.offerToReceiveVideo!="undefined"&&(r.offerToReceiveVideo=!!r.offerToReceiveVideo);let o=this.getTransceivers().find(a=>a.receiver.track.kind==="video");r.offerToReceiveVideo===!1&&o?o.direction==="sendrecv"?o.setDirection?o.setDirection("sendonly"):o.direction="sendonly":o.direction==="recvonly"&&(o.setDirection?o.setDirection("inactive"):o.direction="inactive"):r.offerToReceiveVideo===!0&&!o&&this.addTransceiver("video")}return t.apply(this,arguments)}}function Pi(e){typeof e!="object"||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Ct={};je(Ct,{removeExtmapAllowMixed:()=>kt,shimAddIceCandidateNullOrEmpty:()=>Ze,shimConnectionState:()=>yt,shimMaxMessageSize:()=>Ye,shimParameterlessSetLocalDescription:()=>Xe,shimRTCIceCandidate:()=>Je,shimSendThrowTypeError:()=>Qe});var Oe=oe(Et());"use strict";function Je(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;let t=e.RTCIceCandidate;e.RTCIceCandidate=function(r){if(typeof r=="object"&&r.candidate&&r.candidate.indexOf("a=")===0&&(r=JSON.parse(JSON.stringify(r)),r.candidate=r.candidate.substr(2)),r.candidate&&r.candidate.length){let s=new t(r),o=Oe.default.parseCandidate(r.candidate),a=Object.assign(s,o);return a.toJSON=function(){return{candidate:a.candidate,sdpMid:a.sdpMid,sdpMLineIndex:a.sdpMLineIndex,usernameFragment:a.usernameFragment}},a}return new t(r)},e.RTCIceCandidate.prototype=t.prototype,ie(e,"icecandidate",i=>(i.candidate&&Object.defineProperty(i,"candidate",{value:new e.RTCIceCandidate(i.candidate),writable:"false"}),i))}function Ye(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return typeof this._sctp=="undefined"?null:this._sctp}});let i=function(l){if(!l||!l.sdp)return!1;let m=Oe.default.splitSections(l.sdp);return m.shift(),m.some(p=>{let c=Oe.default.parseMLine(p);return c&&c.kind==="application"&&c.protocol.indexOf("SCTP")!==-1})},r=function(l){let m=l.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(m===null||m.length<2)return-1;let p=parseInt(m[1],10);return p!==p?-1:p},s=function(l){let m=65536;return t.browser==="firefox"&&(t.version<57?l===-1?m=16384:m=2147483637:t.version<60?m=t.version===57?65535:65536:m=2147483637),m},o=function(l,m){let p=65536;t.browser==="firefox"&&t.version===57&&(p=65535);let c=Oe.default.matchPrefix(l.sdp,"a=max-message-size:");return c.length>0?p=parseInt(c[0].substr(19),10):t.browser==="firefox"&&m!==-1&&(p=2147483637),p},a=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,t.browser==="chrome"&&t.version>=76){let{sdpSemantics:m}=this.getConfiguration();m==="plan-b"&&Object.defineProperty(this,"sctp",{get(){return typeof this._sctp=="undefined"?null:this._sctp},enumerable:!0,configurable:!0})}if(i(arguments[0])){let m=r(arguments[0]),p=s(m),c=o(arguments[0],m),h;p===0&&c===0?h=Number.POSITIVE_INFINITY:p===0||c===0?h=Math.max(p,c):h=Math.min(p,c);let u={};Object.defineProperty(u,"maxMessageSize",{get(){return h}}),this._sctp=u}return a.apply(this,arguments)}}function Qe(e){if(!(e.RTCPeerConnection&&"createDataChannel"in e.RTCPeerConnection.prototype))return;function t(r,s){let o=r.send;r.send=function(){let l=arguments[0],m=l.length||l.size||l.byteLength;if(r.readyState==="open"&&s.sctp&&m>s.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+s.sctp.maxMessageSize+" bytes)");return o.apply(r,arguments)}}let i=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){let s=i.apply(this,arguments);return t(s,this),s},ie(e,"datachannel",r=>(t(r.channel,r.target),r))}function yt(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;let t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(i){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),i&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=i)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(i=>{let r=t[i];t[i]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=s=>{let o=s.target;if(o._lastConnectionState!==o.connectionState){o._lastConnectionState=o.connectionState;let a=new Event("connectionstatechange",s);o.dispatchEvent(a)}return s},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}})}function kt(e,t){if(!e.RTCPeerConnection||t.browser==="chrome"&&t.version>=71||t.browser==="safari"&&t.version>=605)return;let i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(s){if(s&&s.sdp&&s.sdp.indexOf(`
|
|
34
|
+
`}});var Ni=he(se=>{var pe=wi(),Kr=Oi();se.write=Kr;se.parse=pe.parse;se.parseParams=pe.parseParams;se.parseFmtpConfig=pe.parseFmtpConfig;se.parsePayloads=pe.parsePayloads;se.parseRemoteCandidates=pe.parseRemoteCandidates;se.parseImageAttributes=pe.parseImageAttributes;se.parseSimulcastStreamList=pe.parseSimulcastStreamList});var xi=he((xe,tt)=>{(function(e,t){"use strict";var i="1.0.2",r="",s="?",o="function",a="undefined",l="object",m="string",h="major",c="model",p="name",u="type",v="vendor",E="version",A="architecture",q="console",I="mobile",_="tablet",z="smarttv",X="wearable",ne="embedded",de=255,G="Amazon",be="Apple",Pe="ASUS",me="BlackBerry",te="Browser",fe="Chrome",D="Edge",ge="Firefox",ae="Google",Ve="Huawei",n="LG",d="Microsoft",f="Motorola",g="Opera",T="Samsung",S="Sony",y="Xiaomi",P="Zebra",C="Facebook",b=function(w,x){var L={};for(var $ in w)x[$]&&x[$].length%2==0?L[$]=x[$].concat(w[$]):L[$]=w[$];return L},R=function(w){for(var x={},L=0;L<w.length;L++)x[w[L].toUpperCase()]=w[L];return x},K=function(w,x){return typeof w===m?M(x).indexOf(M(w))!==-1:!1},M=function(w){return w.toLowerCase()},N=function(w){return typeof w===m?w.replace(/[^\d\.]/g,r).split(".")[0]:t},U=function(w,x){if(typeof w===m)return w=w.replace(/^\s\s*/,r).replace(/\s\s*$/,r),typeof x===a?w:w.substring(0,de)},H=function(w,x){for(var L=0,$,O,He,F,Ae,ee;L<x.length&&!Ae;){var Lt=x[L],Ot=x[L+1];for($=O=0;$<Lt.length&&!Ae;)if(Ae=Lt[$++].exec(w),Ae)for(He=0;He<Ot.length;He++)ee=Ae[++O],F=Ot[He],typeof F===l&&F.length>0?F.length===2?typeof F[1]==o?this[F[0]]=F[1].call(this,ee):this[F[0]]=F[1]:F.length===3?typeof F[1]===o&&!(F[1].exec&&F[1].test)?this[F[0]]=ee?F[1].call(this,ee,F[2]):t:this[F[0]]=ee?ee.replace(F[1],F[2]):t:F.length===4&&(this[F[0]]=ee?F[3].call(this,ee.replace(F[1],F[2])):t):this[F]=ee||t;L+=2}},ue=function(w,x){for(var L in x)if(typeof x[L]===l&&x[L].length>0){for(var $=0;$<x[L].length;$++)if(K(x[L][$],w))return L===s?t:L}else if(K(x[L],w))return L===s?t:L;return w},Re={"1.0":"/8","1.2":"/1","1.3":"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},oe={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0","2000":"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0","7":"NT 6.1","8":"NT 6.2","8.1":"NT 6.3","10":["NT 6.4","NT 10.0"],RT:"ARM"},ve={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[E,[p,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[E,[p,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[p,E],[/opios[\/ ]+([\w\.]+)/i],[E,[p,g+" Mini"]],[/\bopr\/([\w\.]+)/i],[E,[p,g]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([-\w\.]+)/i,/(weibo)__([\d\.]+)/i],[p,E],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[E,[p,"UC"+te]],[/\bqbcore\/([\w\.]+)/i],[E,[p,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[E,[p,"WeChat"]],[/konqueror\/([\w\.]+)/i],[E,[p,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[E,[p,"IE"]],[/yabrowser\/([\w\.]+)/i],[E,[p,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[p,/(.+)/,"$1 Secure "+te],E],[/\bfocus\/([\w\.]+)/i],[E,[p,ge+" Focus"]],[/\bopt\/([\w\.]+)/i],[E,[p,g+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[E,[p,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[E,[p,"Dolphin"]],[/coast\/([\w\.]+)/i],[E,[p,g+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[E,[p,"MIUI "+te]],[/fxios\/([-\w\.]+)/i],[E,[p,ge]],[/\bqihu|(qi?ho?o?|360)browser/i],[[p,"360 "+te]],[/(oculus|samsung|sailfish)browser\/([\w\.]+)/i],[[p,/(.+)/,"$1 "+te],E],[/(comodo_dragon)\/([\w\.]+)/i],[[p,/_/g," "],E],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[p,E],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i],[p],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[p,C],E],[/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[p,E],[/\bgsa\/([\w\.]+) .*safari\//i],[E,[p,"GSA"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[E,[p,fe+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[p,fe+" WebView"],E],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[E,[p,"Android "+te]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[p,E],[/version\/([\w\.]+) .*mobile\/\w+ (safari)/i],[E,[p,"Mobile Safari"]],[/version\/([\w\.]+) .*(mobile ?safari|safari)/i],[E,p],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[p,[E,ue,Re]],[/(webkit|khtml)\/([\w\.]+)/i],[p,E],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[p,"Netscape"],E],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[E,[p,ge+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[p,E]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[A,"amd64"]],[/(ia32(?=;))/i],[[A,M]],[/((?:i[346]|x)86)[;\)]/i],[[A,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[A,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[A,"armhf"]],[/windows (ce|mobile); ppc;/i],[[A,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[A,/ower/,r,M]],[/(sun4\w)[;\)]/i],[[A,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[A,M]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[c,[v,T],[u,_]],[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[c,[v,T],[u,I]],[/\((ip(?:hone|od)[\w ]*);/i],[c,[v,be],[u,I]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[c,[v,be],[u,_]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[c,[v,Ve],[u,_]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}-[atu]?[ln][01259x][012359][an]?)\b(?!.+d\/s)/i],[c,[v,Ve],[u,I]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[c,/_/g," "],[v,y],[u,I]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[c,/_/g," "],[v,y],[u,_]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[c,[v,"OPPO"],[u,I]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[c,[v,"Vivo"],[u,I]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[c,[v,"Realme"],[u,I]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[c,[v,f],[u,I]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[c,[v,f],[u,_]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[c,[v,n],[u,_]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[c,[v,n],[u,I]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[c,[v,"Lenovo"],[u,_]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[c,/_/g," "],[v,"Nokia"],[u,I]],[/(pixel c)\b/i],[c,[v,ae],[u,_]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[c,[v,ae],[u,I]],[/droid.+ ([c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[c,[v,S],[u,I]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[c,"Xperia Tablet"],[v,S],[u,_]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[c,[v,"OnePlus"],[u,I]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[c,[v,G],[u,_]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[c,/(.+)/g,"Fire Phone $1"],[v,G],[u,I]],[/(playbook);[-\w\),; ]+(rim)/i],[c,v,[u,_]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[c,[v,me],[u,I]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[c,[v,Pe],[u,_]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[c,[v,Pe],[u,I]],[/(nexus 9)/i],[c,[v,"HTC"],[u,_]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\w]*)/i],[v,[c,/_/g," "],[u,I]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[c,[v,"Acer"],[u,_]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[c,[v,"Meizu"],[u,I]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[c,[v,"Sharp"],[u,I]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[v,c,[u,I]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[v,c,[u,_]],[/(surface duo)/i],[c,[v,d],[u,_]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[c,[v,"Fairphone"],[u,I]],[/(u304aa)/i],[c,[v,"AT&T"],[u,I]],[/\bsie-(\w*)/i],[c,[v,"Siemens"],[u,I]],[/\b(rct\w+) b/i],[c,[v,"RCA"],[u,_]],[/\b(venue[\d ]{2,7}) b/i],[c,[v,"Dell"],[u,_]],[/\b(q(?:mv|ta)\w+) b/i],[c,[v,"Verizon"],[u,_]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[c,[v,"Barnes & Noble"],[u,_]],[/\b(tm\d{3}\w+) b/i],[c,[v,"NuVision"],[u,_]],[/\b(k88) b/i],[c,[v,"ZTE"],[u,_]],[/\b(nx\d{3}j) b/i],[c,[v,"ZTE"],[u,I]],[/\b(gen\d{3}) b.+49h/i],[c,[v,"Swiss"],[u,I]],[/\b(zur\d{3}) b/i],[c,[v,"Swiss"],[u,_]],[/\b((zeki)?tb.*\b) b/i],[c,[v,"Zeki"],[u,_]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[v,"Dragon Touch"],c,[u,_]],[/\b(ns-?\w{0,9}) b/i],[c,[v,"Insignia"],[u,_]],[/\b((nxa|next)-?\w{0,9}) b/i],[c,[v,"NextBook"],[u,_]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[v,"Voice"],c,[u,I]],[/\b(lvtel\-)?(v1[12]) b/i],[[v,"LvTel"],c,[u,I]],[/\b(ph-1) /i],[c,[v,"Essential"],[u,I]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[c,[v,"Envizen"],[u,_]],[/\b(trio[-\w\. ]+) b/i],[c,[v,"MachSpeed"],[u,_]],[/\btu_(1491) b/i],[c,[v,"Rotor"],[u,_]],[/(shield[\w ]+) b/i],[c,[v,"Nvidia"],[u,_]],[/(sprint) (\w+)/i],[v,c,[u,I]],[/(kin\.[onetw]{3})/i],[[c,/\./g," "],[v,d],[u,I]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[c,[v,P],[u,_]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[c,[v,P],[u,I]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[v,c,[u,q]],[/droid.+; (shield) bui/i],[c,[v,"Nvidia"],[u,q]],[/(playstation [345portablevi]+)/i],[c,[v,S],[u,q]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[c,[v,d],[u,q]],[/smart-tv.+(samsung)/i],[v,[u,z]],[/hbbtv.+maple;(\d+)/i],[[c,/^/,"SmartTV"],[v,T],[u,z]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[v,n],[u,z]],[/(apple) ?tv/i],[v,[c,be+" TV"],[u,z]],[/crkey/i],[[c,fe+"cast"],[v,ae],[u,z]],[/droid.+aft(\w)( bui|\))/i],[c,[v,G],[u,z]],[/\(dtv[\);].+(aquos)/i],[c,[v,"Sharp"],[u,z]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i],[[v,U],[c,U],[u,z]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[u,z]],[/((pebble))app/i],[v,c,[u,X]],[/droid.+; (glass) \d/i],[c,[v,ae],[u,X]],[/droid.+; (wt63?0{2,3})\)/i],[c,[v,P],[u,X]],[/(quest( 2)?)/i],[c,[v,C],[u,X]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[v,[u,ne]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[c,[u,I]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[c,[u,_]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[u,_]],[/(phone|mobile(?:[;\/]| safari)|pda(?=.+windows ce))/i],[[u,I]],[/(android[-\w\. ]{0,9});.+buil/i],[c,[v,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[E,[p,D+"HTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[E,[p,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i],[p,E],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[E,p]],os:[[/microsoft (windows) (vista|xp)/i],[p,E],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[p,[E,ue,oe]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[p,"Windows"],[E,ue,oe]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i],[[E,/_/g,"."],[p,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[p,"Mac OS"],[E,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[E,p],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[p,E],[/\(bb(10);/i],[E,[p,me]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[E,[p,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[E,[p,ge+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[E,[p,"webOS"]],[/crkey\/([\d\.]+)/i],[E,[p,fe+"cast"]],[/(cros) [\w]+ ([\w\.]+\w)/i],[[p,"Chromium OS"],E],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[p,E],[/(sunos) ?([\w\.\d]*)/i],[[p,"Solaris"],E],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\w\.]*)/i],[p,E]]},V=function(w,x){if(typeof w===l&&(x=w,w=t),!(this instanceof V))return new V(w,x).getResult();var L=w||(typeof e!==a&&e.navigator&&e.navigator.userAgent?e.navigator.userAgent:r),$=x?b(ve,x):ve;return this.getBrowser=function(){var O={};return O[p]=t,O[E]=t,H.call(O,L,$.browser),O.major=N(O.version),O},this.getCPU=function(){var O={};return O[A]=t,H.call(O,L,$.cpu),O},this.getDevice=function(){var O={};return O[v]=t,O[c]=t,O[u]=t,H.call(O,L,$.device),O},this.getEngine=function(){var O={};return O[p]=t,O[E]=t,H.call(O,L,$.engine),O},this.getOS=function(){var O={};return O[p]=t,O[E]=t,H.call(O,L,$.os),O},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return L},this.setUA=function(O){return L=typeof O===m&&O.length>de?U(O,de):O,this},this.setUA(L),this};V.VERSION=i,V.BROWSER=R([p,E,h]),V.CPU=R([A]),V.DEVICE=R([c,v,u,q,I,z,_,X,ne]),V.ENGINE=V.OS=R([p,E]),typeof xe!==a?(typeof tt!==a&&tt.exports&&(xe=tt.exports=V),xe.UAParser=V):typeof define===o&&define.amd?define(function(){return V}):typeof e!==a&&(e.UAParser=V);var j=typeof e!==a&&(e.jQuery||e.Zepto);if(j&&!j.ua){var Be=new V;j.ua=Be.getResult(),j.ua.get=function(){return Be.getUA()},j.ua.set=function(w){Be.setUA(w);var x=Be.getResult();for(var L in x)j.ua[L]=x[L]}}})(typeof window=="object"?window:xe)});var Ue=he((Vi,Bi)=>{(function(e){var t=Object.hasOwnProperty,i=Array.isArray?Array.isArray:function(d){return Object.prototype.toString.call(d)==="[object Array]"},r=10,s=typeof process=="object"&&typeof process.nextTick=="function",o=typeof Symbol=="function",a=typeof Reflect=="object",l=typeof setImmediate=="function",m=l?setImmediate:setTimeout,h=o?a&&typeof Reflect.ownKeys=="function"?Reflect.ownKeys:function(n){var d=Object.getOwnPropertyNames(n);return d.push.apply(d,Object.getOwnPropertySymbols(n)),d}:Object.keys;function c(){this._events={},this._conf&&p.call(this,this._conf)}function p(n){n&&(this._conf=n,n.delimiter&&(this.delimiter=n.delimiter),n.maxListeners!==e&&(this._maxListeners=n.maxListeners),n.wildcard&&(this.wildcard=n.wildcard),n.newListener&&(this._newListener=n.newListener),n.removeListener&&(this._removeListener=n.removeListener),n.verboseMemoryLeak&&(this.verboseMemoryLeak=n.verboseMemoryLeak),n.ignoreErrors&&(this.ignoreErrors=n.ignoreErrors),this.wildcard&&(this.listenerTree={}))}function u(n,d){var f="(node) warning: possible EventEmitter memory leak detected. "+n+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(f+=" Event name: "+d+"."),typeof process!="undefined"&&process.emitWarning){var g=new Error(f);g.name="MaxListenersExceededWarning",g.emitter=this,g.count=n,process.emitWarning(g)}else console.error(f),console.trace&&console.trace()}var v=function(n,d,f){var g=arguments.length;switch(g){case 0:return[];case 1:return[n];case 2:return[n,d];case 3:return[n,d,f];default:for(var T=new Array(g);g--;)T[g]=arguments[g];return T}};function E(n,d){for(var f={},g,T=n.length,S=d?value.length:0,y=0;y<T;y++)g=n[y],f[g]=y<S?d[y]:e;return f}function A(n,d,f){this._emitter=n,this._target=d,this._listeners={},this._listenersCount=0;var g,T;if((f.on||f.off)&&(g=f.on,T=f.off),d.addEventListener?(g=d.addEventListener,T=d.removeEventListener):d.addListener?(g=d.addListener,T=d.removeListener):d.on&&(g=d.on,T=d.off),!g&&!T)throw Error("target does not implement any known event API");if(typeof g!="function")throw TypeError("on method must be a function");if(typeof T!="function")throw TypeError("off method must be a function");this._on=g,this._off=T;var S=n._observers;S?S.push(this):n._observers=[this]}Object.assign(A.prototype,{subscribe:function(n,d,f){var g=this,T=this._target,S=this._emitter,y=this._listeners,P=function(){var C=v.apply(null,arguments),b={data:C,name:d,original:n};if(f){var R=f.call(T,b);R!==!1&&S.emit.apply(S,[b.name].concat(C));return}S.emit.apply(S,[d].concat(C))};if(y[n])throw Error("Event '"+n+"' is already listening");this._listenersCount++,S._newListener&&S._removeListener&&!g._onNewListener?(this._onNewListener=function(C){C===d&&y[n]===null&&(y[n]=P,g._on.call(T,n,P))},S.on("newListener",this._onNewListener),this._onRemoveListener=function(C){C===d&&!S.hasListeners(C)&&y[n]&&(y[n]=null,g._off.call(T,n,P))},y[n]=null,S.on("removeListener",this._onRemoveListener)):(y[n]=P,g._on.call(T,n,P))},unsubscribe:function(n){var d=this,f=this._listeners,g=this._emitter,T,S,y=this._off,P=this._target,C;if(n&&typeof n!="string")throw TypeError("event must be a string");function b(){d._onNewListener&&(g.off("newListener",d._onNewListener),g.off("removeListener",d._onRemoveListener),d._onNewListener=null,d._onRemoveListener=null);var R=de.call(g,d);g._observers.splice(R,1)}if(n){if(T=f[n],!T)return;y.call(P,n,T),delete f[n],--this._listenersCount||b()}else{for(S=h(f),C=S.length;C-- >0;)n=S[C],y.call(P,n,f[n]);this._listeners={},this._listenersCount=0,b()}}});function q(n,d,f,g){var T=Object.assign({},d);if(!n)return T;if(typeof n!="object")throw TypeError("options must be an object");var S=Object.keys(n),y=S.length,P,C,b;function R(M){throw Error('Invalid "'+P+'" option value'+(M?". Reason: "+M:""))}for(var K=0;K<y;K++){if(P=S[K],!g&&!t.call(d,P))throw Error('Unknown "'+P+'" option');C=n[P],C!==e&&(b=f[P],T[P]=b?b(C,R):C)}return T}function I(n,d){return(typeof n!="function"||!n.hasOwnProperty("prototype"))&&d("value must be a constructor"),n}function _(n){var d="value must be type of "+n.join("|"),f=n.length,g=n[0],T=n[1];return f===1?function(S,y){if(typeof S===g)return S;y(d)}:f===2?function(S,y){var P=typeof S;if(P===g||P===T)return S;y(d)}:function(S,y){for(var P=typeof S,C=f;C-- >0;)if(P===n[C])return S;y(d)}}var z=_(["function"]),X=_(["object","function"]);function ne(n,d,f){var g,T,S=0,y,P=new n(function(C,b,R){f=q(f,{timeout:0,overload:!1},{timeout:function(U,H){return U*=1,(typeof U!="number"||U<0||!Number.isFinite(U))&&H("timeout must be a positive number"),U}}),g=!f.overload&&typeof n.prototype.cancel=="function"&&typeof R=="function";function K(){T&&(T=null),S&&(clearTimeout(S),S=0)}var M=function(U){K(),C(U)},N=function(U){K(),b(U)};g?d(M,N,R):(T=[function(U){N(U||Error("canceled"))}],d(M,N,function(U){if(y)throw Error("Unable to subscribe on cancel event asynchronously");if(typeof U!="function")throw TypeError("onCancel callback must be a function");T.push(U)}),y=!0),f.timeout>0&&(S=setTimeout(function(){var U=Error("timeout");U.code="ETIMEDOUT",S=0,P.cancel(U),b(U)},f.timeout))});return g||(P.cancel=function(C){if(!!T){for(var b=T.length,R=1;R<b;R++)T[R](C);T[0](C),T=null}}),P}function de(n){var d=this._observers;if(!d)return-1;for(var f=d.length,g=0;g<f;g++)if(d[g]._target===n)return g;return-1}function G(n,d,f,g,T){if(!f)return null;if(g===0){var S=typeof d;if(S==="string"){var y,P,C=0,b=0,R=this.delimiter,K=R.length;if((P=d.indexOf(R))!==-1){y=new Array(5);do y[C++]=d.slice(b,P),b=P+K;while((P=d.indexOf(R,b))!==-1);y[C++]=d.slice(b),d=y,T=C}else d=[d],T=1}else S==="object"?T=d.length:(d=[d],T=1)}var M=null,N,U,H,ue,Re,oe=d[g],ve=d[g+1],V,j;if(g===T)f._listeners&&(typeof f._listeners=="function"?(n&&n.push(f._listeners),M=[f]):(n&&n.push.apply(n,f._listeners),M=[f]));else if(oe==="*"){for(V=h(f),P=V.length;P-- >0;)N=V[P],N!=="_listeners"&&(j=G(n,d,f[N],g+1,T),j&&(M?M.push.apply(M,j):M=j));return M}else if(oe==="**"){for(Re=g+1===T||g+2===T&&ve==="*",Re&&f._listeners&&(M=G(n,d,f,T,T)),V=h(f),P=V.length;P-- >0;)N=V[P],N!=="_listeners"&&(N==="*"||N==="**"?(f[N]._listeners&&!Re&&(j=G(n,d,f[N],T,T),j&&(M?M.push.apply(M,j):M=j)),j=G(n,d,f[N],g,T)):N===ve?j=G(n,d,f[N],g+2,T):j=G(n,d,f[N],g,T),j&&(M?M.push.apply(M,j):M=j));return M}else f[oe]&&(M=G(n,d,f[oe],g+1,T));if(U=f["*"],U&&G(n,d,U,g+1,T),H=f["**"],H)if(g<T)for(H._listeners&&G(n,d,H,T,T),V=h(H),P=V.length;P-- >0;)N=V[P],N!=="_listeners"&&(N===ve?G(n,d,H[N],g+2,T):N===oe?G(n,d,H[N],g+1,T):(ue={},ue[N]=H[N],G(n,d,{"**":ue},g+1,T)));else H._listeners?G(n,d,H,T,T):H["*"]&&H["*"]._listeners&&G(n,d,H["*"],T,T);return M}function be(n,d,f){var g=0,T=0,S,y=this.delimiter,P=y.length,C;if(typeof n=="string")if((S=n.indexOf(y))!==-1){C=new Array(5);do C[g++]=n.slice(T,S),T=S+P;while((S=n.indexOf(y,T))!==-1);C[g++]=n.slice(T)}else C=[n],g=1;else C=n,g=n.length;if(g>1){for(S=0;S+1<g;S++)if(C[S]==="**"&&C[S+1]==="**")return}var b=this.listenerTree,R;for(S=0;S<g;S++)if(R=C[S],b=b[R]||(b[R]={}),S===g-1)return b._listeners?(typeof b._listeners=="function"&&(b._listeners=[b._listeners]),f?b._listeners.unshift(d):b._listeners.push(d),!b._listeners.warned&&this._maxListeners>0&&b._listeners.length>this._maxListeners&&(b._listeners.warned=!0,u.call(this,b._listeners.length,R))):b._listeners=d,!0;return!0}function Pe(n,d,f,g){for(var T=h(n),S=T.length,y,P,C,b=n._listeners,R;S-- >0;)P=T[S],y=n[P],P==="_listeners"?C=f:C=f?f.concat(P):[P],R=g||typeof P=="symbol",b&&d.push(R?C:C.join(this.delimiter)),typeof y=="object"&&Pe.call(this,y,d,C,R);return d}function me(n){for(var d=h(n),f=d.length,g,T,S;f-- >0;)T=d[f],g=n[T],g&&(S=!0,T!=="_listeners"&&!me(g)&&delete n[T]);return S}function te(n,d,f){this.emitter=n,this.event=d,this.listener=f}te.prototype.off=function(){return this.emitter.off(this.event,this.listener),this};function fe(n,d,f){if(f===!0)T=!0;else if(f===!1)g=!0;else{if(!f||typeof f!="object")throw TypeError("options should be an object or true");var g=f.async,T=f.promisify,S=f.nextTick,y=f.objectify}if(g||S||T){var P=d,C=d._origin||d;if(S&&!s)throw Error("process.nextTick is not supported");T===e&&(T=d.constructor.name==="AsyncFunction"),d=function(){var b=arguments,R=this,K=this.event;return T?S?Promise.resolve():new Promise(function(M){m(M)}).then(function(){return R.event=K,P.apply(R,b)}):(S?process.nextTick:m)(function(){R.event=K,P.apply(R,b)})},d._async=!0,d._origin=C}return[d,y?new te(this,n,d):this]}function D(n){this._events={},this._newListener=!1,this._removeListener=!1,this.verboseMemoryLeak=!1,p.call(this,n)}D.EventEmitter2=D,D.prototype.listenTo=function(n,d,f){if(typeof n!="object")throw TypeError("target musts be an object");var g=this;f=q(f,{on:e,off:e,reducers:e},{on:z,off:z,reducers:X});function T(S){if(typeof S!="object")throw TypeError("events must be an object");var y=f.reducers,P=de.call(g,n),C;P===-1?C=new A(g,n,f):C=g._observers[P];for(var b=h(S),R=b.length,K,M=typeof y=="function",N=0;N<R;N++)K=b[N],C.subscribe(K,S[K]||K,M?y:y&&y[K])}return i(d)?T(E(d)):T(typeof d=="string"?E(d.split(/\s+/)):d),this},D.prototype.stopListeningTo=function(n,d){var f=this._observers;if(!f)return!1;var g=f.length,T,S=!1;if(n&&typeof n!="object")throw TypeError("target should be an object");for(;g-- >0;)T=f[g],(!n||T._target===n)&&(T.unsubscribe(d),S=!0);return S},D.prototype.delimiter=".",D.prototype.setMaxListeners=function(n){n!==e&&(this._maxListeners=n,this._conf||(this._conf={}),this._conf.maxListeners=n)},D.prototype.getMaxListeners=function(){return this._maxListeners},D.prototype.event="",D.prototype.once=function(n,d,f){return this._once(n,d,!1,f)},D.prototype.prependOnceListener=function(n,d,f){return this._once(n,d,!0,f)},D.prototype._once=function(n,d,f,g){return this._many(n,1,d,f,g)},D.prototype.many=function(n,d,f,g){return this._many(n,d,f,!1,g)},D.prototype.prependMany=function(n,d,f,g){return this._many(n,d,f,!0,g)},D.prototype._many=function(n,d,f,g,T){var S=this;if(typeof f!="function")throw new Error("many only accepts instances of Function");function y(){return--d==0&&S.off(n,y),f.apply(this,arguments)}return y._origin=f,this._on(n,y,g,T)},D.prototype.emit=function(){if(!this._events&&!this._all)return!1;this._events||c.call(this);var n=arguments[0],d,f=this.wildcard,g,T,S,y,P;if(n==="newListener"&&!this._newListener&&!this._events.newListener)return!1;if(f&&(d=n,n!=="newListener"&&n!=="removeListener"&&typeof n=="object")){if(T=n.length,o){for(S=0;S<T;S++)if(typeof n[S]=="symbol"){P=!0;break}}P||(n=n.join(this.delimiter))}var C=arguments.length,b;if(this._all&&this._all.length)for(b=this._all.slice(),S=0,T=b.length;S<T;S++)switch(this.event=n,C){case 1:b[S].call(this,n);break;case 2:b[S].call(this,n,arguments[1]);break;case 3:b[S].call(this,n,arguments[1],arguments[2]);break;default:b[S].apply(this,arguments)}if(f)b=[],G.call(this,b,d,this.listenerTree,0,T);else if(b=this._events[n],typeof b=="function"){switch(this.event=n,C){case 1:b.call(this);break;case 2:b.call(this,arguments[1]);break;case 3:b.call(this,arguments[1],arguments[2]);break;default:for(g=new Array(C-1),y=1;y<C;y++)g[y-1]=arguments[y];b.apply(this,g)}return!0}else b&&(b=b.slice());if(b&&b.length){if(C>3)for(g=new Array(C-1),y=1;y<C;y++)g[y-1]=arguments[y];for(S=0,T=b.length;S<T;S++)switch(this.event=n,C){case 1:b[S].call(this);break;case 2:b[S].call(this,arguments[1]);break;case 3:b[S].call(this,arguments[1],arguments[2]);break;default:b[S].apply(this,g)}return!0}else if(!this.ignoreErrors&&!this._all&&n==="error")throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");return!!this._all},D.prototype.emitAsync=function(){if(!this._events&&!this._all)return!1;this._events||c.call(this);var n=arguments[0],d=this.wildcard,f,g,T,S,y,P;if(n==="newListener"&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);if(d&&(f=n,n!=="newListener"&&n!=="removeListener"&&typeof n=="object")){if(S=n.length,o){for(y=0;y<S;y++)if(typeof n[y]=="symbol"){g=!0;break}}g||(n=n.join(this.delimiter))}var C=[],b=arguments.length,R;if(this._all)for(y=0,S=this._all.length;y<S;y++)switch(this.event=n,b){case 1:C.push(this._all[y].call(this,n));break;case 2:C.push(this._all[y].call(this,n,arguments[1]));break;case 3:C.push(this._all[y].call(this,n,arguments[1],arguments[2]));break;default:C.push(this._all[y].apply(this,arguments))}if(d?(R=[],G.call(this,R,f,this.listenerTree,0)):R=this._events[n],typeof R=="function")switch(this.event=n,b){case 1:C.push(R.call(this));break;case 2:C.push(R.call(this,arguments[1]));break;case 3:C.push(R.call(this,arguments[1],arguments[2]));break;default:for(T=new Array(b-1),P=1;P<b;P++)T[P-1]=arguments[P];C.push(R.apply(this,T))}else if(R&&R.length){if(R=R.slice(),b>3)for(T=new Array(b-1),P=1;P<b;P++)T[P-1]=arguments[P];for(y=0,S=R.length;y<S;y++)switch(this.event=n,b){case 1:C.push(R[y].call(this));break;case 2:C.push(R[y].call(this,arguments[1]));break;case 3:C.push(R[y].call(this,arguments[1],arguments[2]));break;default:C.push(R[y].apply(this,T))}}else if(!this.ignoreErrors&&!this._all&&n==="error")return arguments[1]instanceof Error?Promise.reject(arguments[1]):Promise.reject("Uncaught, unspecified 'error' event.");return Promise.all(C)},D.prototype.on=function(n,d,f){return this._on(n,d,!1,f)},D.prototype.prependListener=function(n,d,f){return this._on(n,d,!0,f)},D.prototype.onAny=function(n){return this._onAny(n,!1)},D.prototype.prependAny=function(n){return this._onAny(n,!0)},D.prototype.addListener=D.prototype.on,D.prototype._onAny=function(n,d){if(typeof n!="function")throw new Error("onAny only accepts instances of Function");return this._all||(this._all=[]),d?this._all.unshift(n):this._all.push(n),this},D.prototype._on=function(n,d,f,g){if(typeof n=="function")return this._onAny(n,d),this;if(typeof d!="function")throw new Error("on only accepts instances of Function");this._events||c.call(this);var T=this,S;return g!==e&&(S=fe.call(this,n,d,g),d=S[0],T=S[1]),this._newListener&&this.emit("newListener",n,d),this.wildcard?(be.call(this,n,d,f),T):(this._events[n]?(typeof this._events[n]=="function"&&(this._events[n]=[this._events[n]]),f?this._events[n].unshift(d):this._events[n].push(d),!this._events[n].warned&&this._maxListeners>0&&this._events[n].length>this._maxListeners&&(this._events[n].warned=!0,u.call(this,this._events[n].length,n))):this._events[n]=d,T)},D.prototype.off=function(n,d){if(typeof d!="function")throw new Error("removeListener only takes instances of Function");var f,g=[];if(this.wildcard){var T=typeof n=="string"?n.split(this.delimiter):n.slice();if(g=G.call(this,null,T,this.listenerTree,0),!g)return this}else{if(!this._events[n])return this;f=this._events[n],g.push({_listeners:f})}for(var S=0;S<g.length;S++){var y=g[S];if(f=y._listeners,i(f)){for(var P=-1,C=0,b=f.length;C<b;C++)if(f[C]===d||f[C].listener&&f[C].listener===d||f[C]._origin&&f[C]._origin===d){P=C;break}if(P<0)continue;return this.wildcard?y._listeners.splice(P,1):this._events[n].splice(P,1),f.length===0&&(this.wildcard?delete y._listeners:delete this._events[n]),this._removeListener&&this.emit("removeListener",n,d),this}else(f===d||f.listener&&f.listener===d||f._origin&&f._origin===d)&&(this.wildcard?delete y._listeners:delete this._events[n],this._removeListener&&this.emit("removeListener",n,d))}return this.listenerTree&&me(this.listenerTree),this},D.prototype.offAny=function(n){var d=0,f=0,g;if(n&&this._all&&this._all.length>0){for(g=this._all,d=0,f=g.length;d<f;d++)if(n===g[d])return g.splice(d,1),this._removeListener&&this.emit("removeListenerAny",n),this}else{if(g=this._all,this._removeListener)for(d=0,f=g.length;d<f;d++)this.emit("removeListenerAny",g[d]);this._all=[]}return this},D.prototype.removeListener=D.prototype.off,D.prototype.removeAllListeners=function(n){if(n===e)return!this._events||c.call(this),this;if(this.wildcard){var d=G.call(this,null,n,this.listenerTree,0),f,g;if(!d)return this;for(g=0;g<d.length;g++)f=d[g],f._listeners=null;this.listenerTree&&me(this.listenerTree)}else this._events&&(this._events[n]=null);return this},D.prototype.listeners=function(n){var d=this._events,f,g,T,S,y;if(n===e){if(this.wildcard)throw Error("event name required for wildcard emitter");if(!d)return[];for(f=h(d),S=f.length,T=[];S-- >0;)g=d[f[S]],typeof g=="function"?T.push(g):T.push.apply(T,g);return T}else{if(this.wildcard){if(y=this.listenerTree,!y)return[];var P=[],C=typeof n=="string"?n.split(this.delimiter):n.slice();return G.call(this,P,C,y,0),P}return d?(g=d[n],g?typeof g=="function"?[g]:g:[]):[]}},D.prototype.eventNames=function(n){var d=this._events;return this.wildcard?Pe.call(this,this.listenerTree,[],null,n):d?h(d):[]},D.prototype.listenerCount=function(n){return this.listeners(n).length},D.prototype.hasListeners=function(n){if(this.wildcard){var d=[],f=typeof n=="string"?n.split(this.delimiter):n.slice();return G.call(this,d,f,this.listenerTree,0),d.length>0}var g=this._events,T=this._all;return!!(T&&T.length||g&&(n===e?h(g).length:g[n]))},D.prototype.listenersAny=function(){return this._all?this._all:[]},D.prototype.waitFor=function(n,d){var f=this,g=typeof d;return g==="number"?d={timeout:d}:g==="function"&&(d={filter:d}),d=q(d,{timeout:0,filter:e,handleError:!1,Promise,overload:!1},{filter:z,Promise:I}),ne(d.Promise,function(T,S,y){function P(){var C=d.filter;if(!(C&&!C.apply(f,arguments)))if(f.off(n,P),d.handleError){var b=arguments[0];b?S(b):T(v.apply(null,arguments).slice(1))}else T(v.apply(null,arguments))}y(function(){f.off(n,P)}),f._on(n,P,!1)},{timeout:d.timeout,overload:d.overload})};function ge(n,d,f){f=q(f,{Promise,timeout:0,overload:!1},{Promise:I});var g=f.Promise;return ne(g,function(T,S,y){var P;if(typeof n.addEventListener=="function"){P=function(){T(v.apply(null,arguments))},y(function(){n.removeEventListener(d,P)}),n.addEventListener(d,P,{once:!0});return}var C=function(){b&&n.removeListener("error",b),T(v.apply(null,arguments))},b;d!=="error"&&(b=function(R){n.removeListener(d,C),S(R)},n.once("error",b)),y(function(){b&&n.removeListener("error",b),n.removeListener(d,C)}),n.once(d,C)},{timeout:f.timeout,overload:f.overload})}var ae=D.prototype;if(Object.defineProperties(D,{defaultMaxListeners:{get:function(){return ae._maxListeners},set:function(n){if(typeof n!="number"||n<0||Number.isNaN(n))throw TypeError("n must be a non-negative number");ae._maxListeners=n},enumerable:!0},once:{value:ge,writable:!0,configurable:!0}}),Object.defineProperties(ae,{_maxListeners:{value:r,writable:!0,configurable:!0},_observers:{value:null,writable:!0,configurable:!0}}),typeof define=="function"&&define.amd)define(function(){return D});else if(typeof Vi=="object")Bi.exports=D;else{var Ve=new Function("","return this")();Ve.EventEmitter2=D}})()});import br,{createContext as Pr,useContext as ct,useEffect as $t,useState as Rr}from"react";import{HMSReactiveStore as Ar}from"@100mslive/hms-video-store";import $e from"zustand";import{useContext as Ft}from"react";import Vt from"zustand/shallow";var Y;(function(a){a[a.VERBOSE=0]="VERBOSE",a[a.DEBUG=1]="DEBUG",a[a.INFO=2]="INFO",a[a.WARN=3]="WARN",a[a.ERROR=4]="ERROR",a[a.NONE=5]="NONE"})(Y||(Y={}));var Te=class{static v(t,...i){this.log(0,t,...i)}static d(t,...i){this.log(1,t,...i)}static i(t,...i){this.log(2,t,...i)}static w(t,...i){this.log(3,t,...i)}static e(t,...i){this.log(4,t,...i)}static log(t,i,...r){if(!(this.level.valueOf()>t.valueOf()))switch(t){case 0:{console.log("HMSui-components: ",i,...r);break}case 1:{console.debug("HMSui-components: ",i,...r);break}case 2:{console.info("HMSui-components: ",i,...r);break}case 3:{console.warn("HMSui-components: ",i,...r);break}case 4:{console.error("HMSui-components: ",i,...r);break}}}};Te.level=0;var Se="It seems like you forgot to add your component within a top level HMSRoomProvider, please refer to 100ms react docs(https://docs.100ms.live/javascript/v2/features/integration#react-hooks) to check on the required steps for using this hook.";function Bt(e){return(i,r=Vt)=>{i||Te.w("fetching full store without passing any selector may have a heavy performance impact on your website.");let s=Ft(e);if(!s)throw new Error(Se);return s.store(i,r)}}function Ht(e){return(i,r=Vt)=>{i||Te.w("fetching full store without passing any selector may have a heavy performance impact on your website.");let s=Ft(e);if(!s)throw new Error(Se);let o=s.statsStore;return o==null?void 0:o(i,r)}}var jt=typeof window!="undefined";var Ee=Pr(null),le,Ir=({children:e,actions:t,store:i,notifications:r,stats:s,isHMSStatsOn:o=!1})=>{if(!le){let a=()=>{throw new Error("modifying store is not allowed")};if(t&&i)le={actions:t,store:$e(De(_e({},i),{setState:a,destroy:a}))},r&&(le.notifications=r),s&&(le.statsStore=$e({getState:s.getState,subscribe:s.subscribe,setState:a,destroy:a}));else{let l=new Ar;if(le={actions:l.getActions(),store:$e(De(_e({},l.getStore()),{setState:a,destroy:a})),notifications:l.getNotifications()},o){let m=l.getStats();le.statsStore=$e({getState:m.getState,subscribe:m.subscribe,setState:a,destroy:a})}}}return $t(()=>{jt&&(window.onunload=()=>{le.actions.leave()})},[]),br.createElement(Ee.Provider,{value:le},e)},B=Bt(Ee),_r=Ht(Ee),we=()=>{let e=ct(Ee);if(!e)throw new Error(Se);return e.store},Q=()=>{let e=ct(Ee);if(!e)throw new Error(Se);return e.actions},Dr=()=>{let e=ct(Ee),[t,i]=Rr(null);if(!e)throw new Error(Se);return $t(()=>e.notifications?e.notifications.onNotification(s=>i(s)):void 0,[e.notifications]),t};var Mr=(e,t,i)=>e.reduce((r,s,o)=>{let a=Math.floor(o/t);return a>0&&i||(r[a]||(r[a]=[]),r[a].push(s)),r},[]),lt=({elements:e,tilesInFirstPage:t,onlyOnePage:i,isLastPageDifferentFromFirstPage:r,defaultWidth:s,defaultHeight:o,lastPageWidth:a,lastPageHeight:l})=>{let m=Mr(e,t,i);return m.map((h,c)=>h.map(p=>{let u=c===m.length-1,v=r&&u?a:s,E=r&&u?l:o;return De(_e({},p),{height:E,width:v})}))};function wr(e){if(e.length===0)return null;let t={},i=e[0],r=1;for(let s=0;s<e.length;s++){let o=e[s];t[o]===null?t[o]=1:t[o]++,t[o]>r&&(i=o,r=t[o])}return i}var dt=e=>wr(e.filter(t=>{var i,r;return((i=t.track)==null?void 0:i.width)&&((r=t.track)==null?void 0:r.height)}).map(t=>{var s,o;let i=(s=t.track)==null?void 0:s.width,r=(o=t.track)==null?void 0:o.height;return(i||1)/(r||1)})),ut=(e,t,i,r,s)=>{if(e<0||t<0)throw new Error("Container must have a non-negative area");if(i<1||!Number.isInteger(i))throw new Error("Number of shapes to place must be a positive integer");let o=r&&s&&r/s;if(o!==void 0&&isNaN(o))throw new Error("Aspect ratio must be a number");let a={area:0,cols:0,rows:0,width:0,height:0},l=i,m=-1;if(o!==void 0)for(let h=l;h>0;h+=m){let c=Math.ceil(i/h),p=e/(h*o),u=t/c,v,E;p<=u?(v=e/h,E=v/o):(E=t/c,v=E*o);let A=v*E;A>a.area&&(a={area:A,width:v,height:E,rows:c,cols:h})}return a},Lr=({parentWidth:e,parentHeight:t,count:i,maxCount:r,aspectRatio:s})=>{let o=0,a=0,l=0,m=0,h=!1,c=0,p=0,u=Math.min(Math.ceil(Math.sqrt(i*(e/t)/(s.width/s.height))),r),v=e/u,E=v/(s.width/s.height),A=Math.floor(t/E);if(a=E,o=v,c=Math.min(i,A*u),p=i%(A*u),h=p>0&&i>A*u,h){let q=Math.min(Math.ceil(Math.sqrt(p*(e/t)/(s.width/s.height))),r),I=e/q;m=I/(s.width/s.height),l=I}return{tilesInFirstPage:c,defaultWidth:o,defaultHeight:a,lastPageWidth:l,lastPageHeight:m,isLastPageDifferentFromFirstPage:h}},Or=({parentWidth:e,parentHeight:t,count:i,maxCount:r,aspectRatio:s})=>{let o=0,a=0,l=0,m=0,h=!1,c=0,p=0,{width:u,height:v}=ut(e,t,Math.min(i,r),s.width,s.height);if(o=u,a=v,c=Math.min(i,r),p=i%r,h=p>0&&i>r,h){let{width:E,height:A}=ut(e,t,p,s.width,s.height);l=E,m=A}return{tilesInFirstPage:c,defaultWidth:o,defaultHeight:a,lastPageWidth:l,lastPageHeight:m,isLastPageDifferentFromFirstPage:h}},Nr=({parentWidth:e,parentHeight:t,count:i,maxCount:r,aspectRatio:s})=>{let o=0,a=0,l=0,m=0,h=!1,c=0,p=0,u=Math.min(Math.ceil(Math.sqrt(i*(s.width/s.height)/(e/t))),r),v=t/u,E=v*(s.width/s.height),A=Math.floor(e/E);if(o=E,a=v,c=Math.min(i,u*A),p=i%(u*A),h=p>0&&i>u*A,h){let q=Math.min(Math.ceil(Math.sqrt(p*(s.width/s.height)/(e/t))),r),I=t/q,_=I*(s.width/s.height);m=I,l=_}return{tilesInFirstPage:c,defaultWidth:o,defaultHeight:a,lastPageWidth:l,lastPageHeight:m,isLastPageDifferentFromFirstPage:h}};function ht({count:e,parentWidth:t,parentHeight:i,maxTileCount:r,maxRowCount:s,maxColCount:o,aspectRatio:a}){let l=0,m=0,h=0,c=0,p=!1,u=0;if(e===0)return{tilesInFirstPage:u,defaultWidth:l,defaultHeight:m,lastPageWidth:h,lastPageHeight:c,isLastPageDifferentFromFirstPage:p};if(r)({tilesInFirstPage:u,defaultWidth:l,defaultHeight:m,lastPageWidth:h,lastPageHeight:c,isLastPageDifferentFromFirstPage:p}=Or({parentWidth:t,parentHeight:i,count:e,maxCount:r,aspectRatio:a}));else if(s)({tilesInFirstPage:u,defaultWidth:l,defaultHeight:m,lastPageWidth:h,lastPageHeight:c,isLastPageDifferentFromFirstPage:p}=Nr({parentWidth:t,parentHeight:i,count:e,maxCount:s,aspectRatio:a}));else if(o)({tilesInFirstPage:u,defaultWidth:l,defaultHeight:m,lastPageWidth:h,lastPageHeight:c,isLastPageDifferentFromFirstPage:p}=Lr({parentWidth:t,parentHeight:i,count:e,maxCount:o,aspectRatio:a}));else{let{width:v,height:E}=ut(t,i,e,a.width,a.height);l=v,m=E,u=e}return{tilesInFirstPage:u,defaultWidth:l,defaultHeight:m,lastPageWidth:h,lastPageHeight:c,isLastPageDifferentFromFirstPage:p}}var Kt=(e,t,i,r=!0)=>{if(!e||!t||!i)return[];let s=[];for(let o of e)if(o.videoTrack===void 0&&o.audioTrack&&t[o.audioTrack])s.push({peer:o});else if(o.videoTrack&&t[o.videoTrack])s.push({track:t[o.videoTrack],peer:o});else if(i(o)&&o.auxiliaryTracks.length>0){let a=o.auxiliaryTracks.find(l=>{let m=t[l];return(m==null?void 0:m.type)==="video"&&(m==null?void 0:m.source)==="screen"});a&&s.push({track:t[a],peer:o})}else r||s.push({peer:o});return s};"use strict";var Wt=!0,qt=!0;function Le(e,t,i){let r=e.match(t);return r&&r.length>=i&&parseInt(r[i],10)}function ie(e,t,i){if(!e.RTCPeerConnection)return;let r=e.RTCPeerConnection.prototype,s=r.addEventListener;r.addEventListener=function(a,l){if(a!==t)return s.apply(this,arguments);let m=h=>{let c=i(h);c&&(l.handleEvent?l.handleEvent(c):l(c))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(l,m),s.apply(this,[a,m])};let o=r.removeEventListener;r.removeEventListener=function(a,l){if(a!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(l))return o.apply(this,arguments);let m=this._eventMap[t].get(l);return this._eventMap[t].delete(l),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,o.apply(this,[a,m])},Object.defineProperty(r,"on"+t,{get(){return this["_on"+t]},set(a){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),a&&this.addEventListener(t,this["_on"+t]=a)},enumerable:!0,configurable:!0})}function zt(e){return typeof e!="boolean"?new Error("Argument type: "+typeof e+". Please use a boolean."):(Wt=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function Jt(e){return typeof e!="boolean"?new Error("Argument type: "+typeof e+". Please use a boolean."):(qt=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function Ke(){if(typeof window=="object"){if(Wt)return;typeof console!="undefined"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function ye(e,t){!qt||console.warn(e+" is deprecated, please use "+t+" instead.")}function Yt(e){let t={browser:null,version:null};if(typeof e=="undefined"||!e.navigator)return t.browser="Not a browser.",t;let{navigator:i}=e;if(i.mozGetUserMedia)t.browser="firefox",t.version=Le(i.userAgent,/Firefox\/(\d+)\./,1);else if(i.webkitGetUserMedia||e.isSecureContext===!1&&e.webkitRTCPeerConnection&&!e.RTCIceGatherer)t.browser="chrome",t.version=Le(i.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(e.RTCPeerConnection&&i.userAgent.match(/AppleWebKit\/(\d+)\./))t.browser="safari",t.version=Le(i.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype;else return t.browser="Not a supported browser.",t;return t}function Qt(e){return Object.prototype.toString.call(e)==="[object Object]"}function pt(e){return Qt(e)?Object.keys(e).reduce(function(t,i){let r=Qt(e[i]),s=r?pt(e[i]):e[i],o=r&&!Object.keys(s).length;return s===void 0||o?t:Object.assign(t,{[i]:s})},{}):e}function mt(e,t,i){!t||i.has(t.id)||(i.set(t.id,t),Object.keys(t).forEach(r=>{r.endsWith("Id")?mt(e,e.get(t[r]),i):r.endsWith("Ids")&&t[r].forEach(s=>{mt(e,e.get(s),i)})}))}function ft(e,t,i){let r=i?"outbound-rtp":"inbound-rtp",s=new Map;if(t===null)return s;let o=[];return e.forEach(a=>{a.type==="track"&&a.trackIdentifier===t.id&&o.push(a)}),o.forEach(a=>{e.forEach(l=>{l.type===r&&l.trackId===a.id&&mt(e,l,s)})}),s}var We={};je(We,{fixNegotiationNeeded:()=>oi,shimAddTrackRemoveTrack:()=>ai,shimAddTrackRemoveTrackWithNative:()=>ni,shimGetDisplayMedia:()=>Xt,shimGetSendersWithDtmf:()=>ii,shimGetStats:()=>ri,shimGetUserMedia:()=>gt,shimMediaStream:()=>ei,shimOnTrack:()=>ti,shimPeerConnection:()=>vt,shimSenderReceiverGetStats:()=>si});"use strict";var Zt=Ke;function gt(e,t){let i=e&&e.navigator;if(!i.mediaDevices)return;let r=function(l){if(typeof l!="object"||l.mandatory||l.optional)return l;let m={};return Object.keys(l).forEach(h=>{if(h==="require"||h==="advanced"||h==="mediaSource")return;let c=typeof l[h]=="object"?l[h]:{ideal:l[h]};c.exact!==void 0&&typeof c.exact=="number"&&(c.min=c.max=c.exact);let p=function(u,v){return u?u+v.charAt(0).toUpperCase()+v.slice(1):v==="deviceId"?"sourceId":v};if(c.ideal!==void 0){m.optional=m.optional||[];let u={};typeof c.ideal=="number"?(u[p("min",h)]=c.ideal,m.optional.push(u),u={},u[p("max",h)]=c.ideal,m.optional.push(u)):(u[p("",h)]=c.ideal,m.optional.push(u))}c.exact!==void 0&&typeof c.exact!="number"?(m.mandatory=m.mandatory||{},m.mandatory[p("",h)]=c.exact):["min","max"].forEach(u=>{c[u]!==void 0&&(m.mandatory=m.mandatory||{},m.mandatory[p(u,h)]=c[u])})}),l.advanced&&(m.optional=(m.optional||[]).concat(l.advanced)),m},s=function(l,m){if(t.version>=61)return m(l);if(l=JSON.parse(JSON.stringify(l)),l&&typeof l.audio=="object"){let h=function(c,p,u){p in c&&!(u in c)&&(c[u]=c[p],delete c[p])};l=JSON.parse(JSON.stringify(l)),h(l.audio,"autoGainControl","googAutoGainControl"),h(l.audio,"noiseSuppression","googNoiseSuppression"),l.audio=r(l.audio)}if(l&&typeof l.video=="object"){let h=l.video.facingMode;h=h&&(typeof h=="object"?h:{ideal:h});let c=t.version<66;if(h&&(h.exact==="user"||h.exact==="environment"||h.ideal==="user"||h.ideal==="environment")&&!(i.mediaDevices.getSupportedConstraints&&i.mediaDevices.getSupportedConstraints().facingMode&&!c)){delete l.video.facingMode;let p;if(h.exact==="environment"||h.ideal==="environment"?p=["back","rear"]:(h.exact==="user"||h.ideal==="user")&&(p=["front"]),p)return i.mediaDevices.enumerateDevices().then(u=>{u=u.filter(E=>E.kind==="videoinput");let v=u.find(E=>p.some(A=>E.label.toLowerCase().includes(A)));return!v&&u.length&&p.includes("back")&&(v=u[u.length-1]),v&&(l.video.deviceId=h.exact?{exact:v.deviceId}:{ideal:v.deviceId}),l.video=r(l.video),Zt("chrome: "+JSON.stringify(l)),m(l)})}l.video=r(l.video)}return Zt("chrome: "+JSON.stringify(l)),m(l)},o=function(l){return t.version>=64?l:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[l.name]||l.name,message:l.message,constraint:l.constraint||l.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}},a=function(l,m,h){s(l,c=>{i.webkitGetUserMedia(c,m,p=>{h&&h(o(p))})})};if(i.getUserMedia=a.bind(i),i.mediaDevices.getUserMedia){let l=i.mediaDevices.getUserMedia.bind(i.mediaDevices);i.mediaDevices.getUserMedia=function(m){return s(m,h=>l(h).then(c=>{if(h.audio&&!c.getAudioTracks().length||h.video&&!c.getVideoTracks().length)throw c.getTracks().forEach(p=>{p.stop()}),new DOMException("","NotFoundError");return c},c=>Promise.reject(o(c))))}}}"use strict";function Xt(e,t){if(!(e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices)&&!!e.navigator.mediaDevices){if(typeof t!="function"){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}e.navigator.mediaDevices.getDisplayMedia=function(r){return t(r).then(s=>{let o=r.video&&r.video.width,a=r.video&&r.video.height,l=r.video&&r.video.frameRate;return r.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:s,maxFrameRate:l||3}},o&&(r.video.mandatory.maxWidth=o),a&&(r.video.mandatory.maxHeight=a),e.navigator.mediaDevices.getUserMedia(r)})}}}"use strict";function ei(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function ti(e){if(typeof e=="object"&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(i){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=i)},enumerable:!0,configurable:!0});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=r=>{r.stream.addEventListener("addtrack",s=>{let o;e.RTCPeerConnection.prototype.getReceivers?o=this.getReceivers().find(l=>l.track&&l.track.id===s.track.id):o={track:s.track};let a=new Event("track");a.track=s.track,a.receiver=o,a.transceiver={receiver:o},a.streams=[r.stream],this.dispatchEvent(a)}),r.stream.getTracks().forEach(s=>{let o;e.RTCPeerConnection.prototype.getReceivers?o=this.getReceivers().find(l=>l.track&&l.track.id===s.id):o={track:s};let a=new Event("track");a.track=s,a.receiver=o,a.transceiver={receiver:o},a.streams=[r.stream],this.dispatchEvent(a)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else ie(e,"track",t=>(t.transceiver||Object.defineProperty(t,"transceiver",{value:{receiver:t.receiver}}),t))}function ii(e){if(typeof e=="object"&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){let t=function(s,o){return{track:o,get dtmf(){return this._dtmf===void 0&&(o.kind==="audio"?this._dtmf=s.createDTMFSender(o):this._dtmf=null),this._dtmf},_pc:s}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let s=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(l,m){let h=s.apply(this,arguments);return h||(h=t(this,l),this._senders.push(h)),h};let o=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(l){o.apply(this,arguments);let m=this._senders.indexOf(l);m!==-1&&this._senders.splice(m,1)}}let i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(o){this._senders=this._senders||[],i.apply(this,[o]),o.getTracks().forEach(a=>{this._senders.push(t(this,a))})};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(o){this._senders=this._senders||[],r.apply(this,[o]),o.getTracks().forEach(a=>{let l=this._senders.find(m=>m.track===a);l&&this._senders.splice(this._senders.indexOf(l),1)})}}else if(typeof e=="object"&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let r=t.apply(this,[]);return r.forEach(s=>s._pc=this),r},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function ri(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[r,s,o]=arguments;if(arguments.length>0&&typeof r=="function")return t.apply(this,arguments);if(t.length===0&&(arguments.length===0||typeof r!="function"))return t.apply(this,[]);let a=function(m){let h={};return m.result().forEach(p=>{let u={id:p.id,timestamp:p.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[p.type]||p.type};p.names().forEach(v=>{u[v]=p.stat(v)}),h[u.id]=u}),h},l=function(m){return new Map(Object.keys(m).map(h=>[h,m[h]]))};if(arguments.length>=2){let m=function(h){s(l(a(h)))};return t.apply(this,[m,r])}return new Promise((m,h)=>{t.apply(this,[function(c){m(l(a(c)))},h])}).then(s,o)}}function si(e){if(!(typeof e=="object"&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){let i=e.RTCPeerConnection.prototype.getSenders;i&&(e.RTCPeerConnection.prototype.getSenders=function(){let o=i.apply(this,[]);return o.forEach(a=>a._pc=this),o});let r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){let o=r.apply(this,arguments);return o._pc=this,o}),e.RTCRtpSender.prototype.getStats=function(){let o=this;return this._pc.getStats().then(a=>ft(a,o.track,!0))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){let i=e.RTCPeerConnection.prototype.getReceivers;i&&(e.RTCPeerConnection.prototype.getReceivers=function(){let s=i.apply(this,[]);return s.forEach(o=>o._pc=this),s}),ie(e,"track",r=>(r.receiver._pc=r.srcElement,r)),e.RTCRtpReceiver.prototype.getStats=function(){let s=this;return this._pc.getStats().then(o=>ft(o,s.track,!1))}}if(!("getStats"in e.RTCRtpSender.prototype&&"getStats"in e.RTCRtpReceiver.prototype))return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let r=arguments[0],s,o,a;return this.getSenders().forEach(l=>{l.track===r&&(s?a=!0:s=l)}),this.getReceivers().forEach(l=>(l.track===r&&(o?a=!0:o=l),l.track===r)),a||s&&o?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):s?s.getStats():o?o.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function ni(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(a=>this._shimmedLocalStreams[a][0])};let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(a,l){if(!l)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let m=t.apply(this,arguments);return this._shimmedLocalStreams[l.id]?this._shimmedLocalStreams[l.id].indexOf(m)===-1&&this._shimmedLocalStreams[l.id].push(m):this._shimmedLocalStreams[l.id]=[l,m],m};let i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(a){this._shimmedLocalStreams=this._shimmedLocalStreams||{},a.getTracks().forEach(h=>{if(this.getSenders().find(p=>p.track===h))throw new DOMException("Track already exists.","InvalidAccessError")});let l=this.getSenders();i.apply(this,arguments);let m=this.getSenders().filter(h=>l.indexOf(h)===-1);this._shimmedLocalStreams[a.id]=[a].concat(m)};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(a){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[a.id],r.apply(this,arguments)};let s=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(a){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},a&&Object.keys(this._shimmedLocalStreams).forEach(l=>{let m=this._shimmedLocalStreams[l].indexOf(a);m!==-1&&this._shimmedLocalStreams[l].splice(m,1),this._shimmedLocalStreams[l].length===1&&delete this._shimmedLocalStreams[l]}),s.apply(this,arguments)}}function ai(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return ni(e);let i=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let c=i.apply(this);return this._reverseStreams=this._reverseStreams||{},c.map(p=>this._reverseStreams[p.id])};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(c){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},c.getTracks().forEach(p=>{if(this.getSenders().find(v=>v.track===p))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[c.id]){let p=new e.MediaStream(c.getTracks());this._streams[c.id]=p,this._reverseStreams[p.id]=c,c=p}r.apply(this,[c])};let s=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(c){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},s.apply(this,[this._streams[c.id]||c]),delete this._reverseStreams[this._streams[c.id]?this._streams[c.id].id:c.id],delete this._streams[c.id]},e.RTCPeerConnection.prototype.addTrack=function(c,p){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");let u=[].slice.call(arguments,1);if(u.length!==1||!u[0].getTracks().find(A=>A===c))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find(A=>A.track===c))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let E=this._streams[p.id];if(E)E.addTrack(c),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{let A=new e.MediaStream([c]);this._streams[p.id]=A,this._reverseStreams[A.id]=p,this.addStream(A)}return this.getSenders().find(A=>A.track===c)};function o(h,c){let p=c.sdp;return Object.keys(h._reverseStreams||[]).forEach(u=>{let v=h._reverseStreams[u],E=h._streams[v.id];p=p.replace(new RegExp(E.id,"g"),v.id)}),new RTCSessionDescription({type:c.type,sdp:p})}function a(h,c){let p=c.sdp;return Object.keys(h._reverseStreams||[]).forEach(u=>{let v=h._reverseStreams[u],E=h._streams[v.id];p=p.replace(new RegExp(v.id,"g"),E.id)}),new RTCSessionDescription({type:c.type,sdp:p})}["createOffer","createAnswer"].forEach(function(h){let c=e.RTCPeerConnection.prototype[h],p={[h](){let u=arguments;return arguments.length&&typeof arguments[0]=="function"?c.apply(this,[E=>{let A=o(this,E);u[0].apply(null,[A])},E=>{u[1]&&u[1].apply(null,E)},arguments[2]]):c.apply(this,arguments).then(E=>o(this,E))}};e.RTCPeerConnection.prototype[h]=p[h]});let l=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type?l.apply(this,arguments):(arguments[0]=a(this,arguments[0]),l.apply(this,arguments))};let m=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){let h=m.get.apply(this);return h.type===""?h:o(this,h)}}),e.RTCPeerConnection.prototype.removeTrack=function(c){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!c._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(c._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{};let u;Object.keys(this._streams).forEach(v=>{this._streams[v].getTracks().find(A=>c.track===A)&&(u=this._streams[v])}),u&&(u.getTracks().length===1?this.removeStream(this._reverseStreams[u.id]):u.removeTrack(c.track),this.dispatchEvent(new Event("negotiationneeded")))}}function vt(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),!!e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(i){let r=e.RTCPeerConnection.prototype[i],s={[i](){return arguments[0]=new(i==="addIceCandidate"?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[i]=s[i]})}function oi(e,t){ie(e,"negotiationneeded",i=>{let r=i.target;if(!((t.version<72||r.getConfiguration&&r.getConfiguration().sdpSemantics==="plan-b")&&r.signalingState!=="stable"))return i})}var qe={};je(qe,{shimAddTransceiver:()=>mi,shimCreateAnswer:()=>vi,shimCreateOffer:()=>gi,shimGetDisplayMedia:()=>ci,shimGetParameters:()=>fi,shimGetUserMedia:()=>Tt,shimOnTrack:()=>li,shimPeerConnection:()=>St,shimRTCDataChannel:()=>pi,shimReceiverGetStats:()=>ui,shimRemoveStream:()=>hi,shimSenderGetStats:()=>di});"use strict";function Tt(e,t){let i=e&&e.navigator,r=e&&e.MediaStreamTrack;if(i.getUserMedia=function(s,o,a){ye("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),i.mediaDevices.getUserMedia(s).then(o,a)},!(t.version>55&&"autoGainControl"in i.mediaDevices.getSupportedConstraints())){let s=function(a,l,m){l in a&&!(m in a)&&(a[m]=a[l],delete a[l])},o=i.mediaDevices.getUserMedia.bind(i.mediaDevices);if(i.mediaDevices.getUserMedia=function(a){return typeof a=="object"&&typeof a.audio=="object"&&(a=JSON.parse(JSON.stringify(a)),s(a.audio,"autoGainControl","mozAutoGainControl"),s(a.audio,"noiseSuppression","mozNoiseSuppression")),o(a)},r&&r.prototype.getSettings){let a=r.prototype.getSettings;r.prototype.getSettings=function(){let l=a.apply(this,arguments);return s(l,"mozAutoGainControl","autoGainControl"),s(l,"mozNoiseSuppression","noiseSuppression"),l}}if(r&&r.prototype.applyConstraints){let a=r.prototype.applyConstraints;r.prototype.applyConstraints=function(l){return this.kind==="audio"&&typeof l=="object"&&(l=JSON.parse(JSON.stringify(l)),s(l,"autoGainControl","mozAutoGainControl"),s(l,"noiseSuppression","mozNoiseSuppression")),a.apply(this,[l])}}}}"use strict";function ci(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||!e.navigator.mediaDevices||(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!(r&&r.video)){let s=new DOMException("getDisplayMedia without video constraints is undefined");return s.name="NotFoundError",s.code=8,Promise.reject(s)}return r.video===!0?r.video={mediaSource:t}:r.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(r)})}"use strict";function li(e){typeof e=="object"&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function St(e,t){if(typeof e!="object"||!(e.RTCPeerConnection||e.mozRTCPeerConnection))return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(s){let o=e.RTCPeerConnection.prototype[s],a={[s](){return arguments[0]=new(s==="addIceCandidate"?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),o.apply(this,arguments)}};e.RTCPeerConnection.prototype[s]=a[s]});let i={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[o,a,l]=arguments;return r.apply(this,[o||null]).then(m=>{if(t.version<53&&!a)try{m.forEach(h=>{h.type=i[h.type]||h.type})}catch(h){if(h.name!=="TypeError")throw h;m.forEach((c,p)=>{m.set(p,Object.assign({},c,{type:i[c.type]||c.type}))})}return m}).then(a,l)}}function di(e){if(!(typeof e=="object"&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let s=t.apply(this,[]);return s.forEach(o=>o._pc=this),s});let i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){let s=i.apply(this,arguments);return s._pc=this,s}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function ui(e){if(!(typeof e=="object"&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let r=t.apply(this,[]);return r.forEach(s=>s._pc=this),r}),ie(e,"track",i=>(i.receiver._pc=i.srcElement,i)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function hi(e){!e.RTCPeerConnection||"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(i){ye("removeStream","removeTrack"),this.getSenders().forEach(r=>{r.track&&i.getTracks().includes(r.track)&&this.removeTrack(r)})})}function pi(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function mi(e){if(!(typeof e=="object"&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let r=arguments[1],s=r&&"sendEncodings"in r;s&&r.sendEncodings.forEach(a=>{if("rid"in a&&!/^[a-z0-9]{0,16}$/i.test(a.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in a&&!(parseFloat(a.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in a&&!(parseFloat(a.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});let o=t.apply(this,arguments);if(s){let{sender:a}=o,l=a.getParameters();(!("encodings"in l)||l.encodings.length===1&&Object.keys(l.encodings[0]).length===0)&&(l.encodings=r.sendEncodings,a.sendEncodings=r.sendEncodings,this.setParametersPromises.push(a.setParameters(l).then(()=>{delete a.sendEncodings}).catch(()=>{delete a.sendEncodings})))}return o})}function fi(e){if(!(typeof e=="object"&&e.RTCRtpSender))return;let t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){let r=t.apply(this,arguments);return"encodings"in r||(r.encodings=[].concat(this.sendEncodings||[{}])),r})}function gi(e){if(!(typeof e=="object"&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function vi(e){if(!(typeof e=="object"&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}var ze={};je(ze,{shimAudioContext:()=>Ri,shimCallbacksAPI:()=>Ei,shimConstraints:()=>ki,shimCreateOfferLegacy:()=>Pi,shimGetUserMedia:()=>yi,shimLocalStreamsAPI:()=>Ti,shimRTCIceServerUrls:()=>Ci,shimRemoteStreamsAPI:()=>Si,shimTrackEventTransceiver:()=>bi});"use strict";function Ti(e){if(!(typeof e!="object"||!e.RTCPeerConnection)){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(r){this._localStreams||(this._localStreams=[]),this._localStreams.includes(r)||this._localStreams.push(r),r.getAudioTracks().forEach(s=>t.call(this,s,r)),r.getVideoTracks().forEach(s=>t.call(this,s,r))},e.RTCPeerConnection.prototype.addTrack=function(r,...s){return s&&s.forEach(o=>{this._localStreams?this._localStreams.includes(o)||this._localStreams.push(o):this._localStreams=[o]}),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(i){this._localStreams||(this._localStreams=[]);let r=this._localStreams.indexOf(i);if(r===-1)return;this._localStreams.splice(r,1);let s=i.getTracks();this.getSenders().forEach(o=>{s.includes(o.track)&&this.removeTrack(o)})})}}function Si(e){if(!(typeof e!="object"||!e.RTCPeerConnection)&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(i){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=i),this.addEventListener("track",this._onaddstreampoly=r=>{r.streams.forEach(s=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(s))return;this._remoteStreams.push(s);let o=new Event("addstream");o.stream=s,this.dispatchEvent(o)})})}});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let r=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(s){s.streams.forEach(o=>{if(r._remoteStreams||(r._remoteStreams=[]),r._remoteStreams.indexOf(o)>=0)return;r._remoteStreams.push(o);let a=new Event("addstream");a.stream=o,r.dispatchEvent(a)})}),t.apply(r,arguments)}}}function Ei(e){if(typeof e!="object"||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype,i=t.createOffer,r=t.createAnswer,s=t.setLocalDescription,o=t.setRemoteDescription,a=t.addIceCandidate;t.createOffer=function(h,c){let p=arguments.length>=2?arguments[2]:arguments[0],u=i.apply(this,[p]);return c?(u.then(h,c),Promise.resolve()):u},t.createAnswer=function(h,c){let p=arguments.length>=2?arguments[2]:arguments[0],u=r.apply(this,[p]);return c?(u.then(h,c),Promise.resolve()):u};let l=function(m,h,c){let p=s.apply(this,[m]);return c?(p.then(h,c),Promise.resolve()):p};t.setLocalDescription=l,l=function(m,h,c){let p=o.apply(this,[m]);return c?(p.then(h,c),Promise.resolve()):p},t.setRemoteDescription=l,l=function(m,h,c){let p=a.apply(this,[m]);return c?(p.then(h,c),Promise.resolve()):p},t.addIceCandidate=l}function yi(e){let t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){let i=t.mediaDevices,r=i.getUserMedia.bind(i);t.mediaDevices.getUserMedia=s=>r(ki(s))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(r,s,o){t.mediaDevices.getUserMedia(r).then(s,o)}.bind(t))}function ki(e){return e&&e.video!==void 0?Object.assign({},e,{video:pt(e.video)}):e}function Ci(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection;e.RTCPeerConnection=function(r,s){if(r&&r.iceServers){let o=[];for(let a=0;a<r.iceServers.length;a++){let l=r.iceServers[a];!l.hasOwnProperty("urls")&&l.hasOwnProperty("url")?(ye("RTCIceServer.url","RTCIceServer.urls"),l=JSON.parse(JSON.stringify(l)),l.urls=l.url,delete l.url,o.push(l)):o.push(r.iceServers[a])}r.iceServers=o}return new t(r,s)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get(){return t.generateCertificate}})}function bi(e){typeof e=="object"&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function Pi(e){let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(r){if(r){typeof r.offerToReceiveAudio!="undefined"&&(r.offerToReceiveAudio=!!r.offerToReceiveAudio);let s=this.getTransceivers().find(a=>a.receiver.track.kind==="audio");r.offerToReceiveAudio===!1&&s?s.direction==="sendrecv"?s.setDirection?s.setDirection("sendonly"):s.direction="sendonly":s.direction==="recvonly"&&(s.setDirection?s.setDirection("inactive"):s.direction="inactive"):r.offerToReceiveAudio===!0&&!s&&this.addTransceiver("audio"),typeof r.offerToReceiveVideo!="undefined"&&(r.offerToReceiveVideo=!!r.offerToReceiveVideo);let o=this.getTransceivers().find(a=>a.receiver.track.kind==="video");r.offerToReceiveVideo===!1&&o?o.direction==="sendrecv"?o.setDirection?o.setDirection("sendonly"):o.direction="sendonly":o.direction==="recvonly"&&(o.setDirection?o.setDirection("inactive"):o.direction="inactive"):r.offerToReceiveVideo===!0&&!o&&this.addTransceiver("video")}return t.apply(this,arguments)}}function Ri(e){typeof e!="object"||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var bt={};je(bt,{removeExtmapAllowMixed:()=>Ct,shimAddIceCandidateNullOrEmpty:()=>Ze,shimConnectionState:()=>kt,shimMaxMessageSize:()=>Ye,shimParameterlessSetLocalDescription:()=>Xe,shimRTCIceCandidate:()=>Je,shimSendThrowTypeError:()=>Qe});var Oe=ce(yt());"use strict";function Je(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;let t=e.RTCIceCandidate;e.RTCIceCandidate=function(r){if(typeof r=="object"&&r.candidate&&r.candidate.indexOf("a=")===0&&(r=JSON.parse(JSON.stringify(r)),r.candidate=r.candidate.substr(2)),r.candidate&&r.candidate.length){let s=new t(r),o=Oe.default.parseCandidate(r.candidate),a=Object.assign(s,o);return a.toJSON=function(){return{candidate:a.candidate,sdpMid:a.sdpMid,sdpMLineIndex:a.sdpMLineIndex,usernameFragment:a.usernameFragment}},a}return new t(r)},e.RTCIceCandidate.prototype=t.prototype,ie(e,"icecandidate",i=>(i.candidate&&Object.defineProperty(i,"candidate",{value:new e.RTCIceCandidate(i.candidate),writable:"false"}),i))}function Ye(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return typeof this._sctp=="undefined"?null:this._sctp}});let i=function(l){if(!l||!l.sdp)return!1;let m=Oe.default.splitSections(l.sdp);return m.shift(),m.some(h=>{let c=Oe.default.parseMLine(h);return c&&c.kind==="application"&&c.protocol.indexOf("SCTP")!==-1})},r=function(l){let m=l.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(m===null||m.length<2)return-1;let h=parseInt(m[1],10);return h!==h?-1:h},s=function(l){let m=65536;return t.browser==="firefox"&&(t.version<57?l===-1?m=16384:m=2147483637:t.version<60?m=t.version===57?65535:65536:m=2147483637),m},o=function(l,m){let h=65536;t.browser==="firefox"&&t.version===57&&(h=65535);let c=Oe.default.matchPrefix(l.sdp,"a=max-message-size:");return c.length>0?h=parseInt(c[0].substr(19),10):t.browser==="firefox"&&m!==-1&&(h=2147483637),h},a=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,t.browser==="chrome"&&t.version>=76){let{sdpSemantics:m}=this.getConfiguration();m==="plan-b"&&Object.defineProperty(this,"sctp",{get(){return typeof this._sctp=="undefined"?null:this._sctp},enumerable:!0,configurable:!0})}if(i(arguments[0])){let m=r(arguments[0]),h=s(m),c=o(arguments[0],m),p;h===0&&c===0?p=Number.POSITIVE_INFINITY:h===0||c===0?p=Math.max(h,c):p=Math.min(h,c);let u={};Object.defineProperty(u,"maxMessageSize",{get(){return p}}),this._sctp=u}return a.apply(this,arguments)}}function Qe(e){if(!(e.RTCPeerConnection&&"createDataChannel"in e.RTCPeerConnection.prototype))return;function t(r,s){let o=r.send;r.send=function(){let l=arguments[0],m=l.length||l.size||l.byteLength;if(r.readyState==="open"&&s.sctp&&m>s.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+s.sctp.maxMessageSize+" bytes)");return o.apply(r,arguments)}}let i=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){let s=i.apply(this,arguments);return t(s,this),s},ie(e,"datachannel",r=>(t(r.channel,r.target),r))}function kt(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;let t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(i){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),i&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=i)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(i=>{let r=t[i];t[i]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=s=>{let o=s.target;if(o._lastConnectionState!==o.connectionState){o._lastConnectionState=o.connectionState;let a=new Event("connectionstatechange",s);o.dispatchEvent(a)}return s},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}})}function Ct(e,t){if(!e.RTCPeerConnection||t.browser==="chrome"&&t.version>=71||t.browser==="safari"&&t.version>=605)return;let i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(s){if(s&&s.sdp&&s.sdp.indexOf(`
|
|
35
35
|
a=extmap-allow-mixed`)!==-1){let o=s.sdp.split(`
|
|
36
36
|
`).filter(a=>a.trim()!=="a=extmap-allow-mixed").join(`
|
|
37
|
-
`);e.RTCSessionDescription&&s instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:s.type,sdp:o}):s.sdp=o}return i.apply(this,arguments)}}function Ze(e,t){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let i=e.RTCPeerConnection.prototype.addIceCandidate;!i||i.length===0||(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(t.browser==="chrome"&&t.version<78||t.browser==="firefox"&&t.version<68||t.browser==="safari")&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():i.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function Xe(e,t){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let i=e.RTCPeerConnection.prototype.setLocalDescription;!i||i.length===0||(e.RTCPeerConnection.prototype.setLocalDescription=function(){let s=arguments[0]||{};if(typeof s!="object"||s.type&&s.sdp)return i.apply(this,arguments);if(s={type:s.type,sdp:s.sdp},!s.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":s.type="offer";break;default:s.type="answer";break}return s.sdp||s.type!=="offer"&&s.type!=="answer"?i.apply(this,[s]):(s.type==="offer"?this.createOffer:this.createAnswer).apply(this).then(a=>i.apply(this,[a]))})}var Nr=oe(Et());function Ri({window:e}={},t={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){let i=Ke,r=Jt(e),s={browserDetails:r,commonShim:Ct,extractVersion:Le,disableLog:zt,disableWarnings:qt,sdp:Nr};switch(r.browser){case"chrome":if(!We||!gt||!t.shimChrome)return i("Chrome shim is not included in this adapter release."),s;if(r.version===null)return i("Chrome shim can not determine version, not shimming."),s;i("adapter.js shimming chrome."),s.browserShim=We,Ze(e,r),Xe(e,r),ft(e,r),Xt(e,r),gt(e,r),ei(e,r),ni(e,r),ti(e,r),ii(e,r),ri(e,r),ai(e,r),Je(e,r),yt(e,r),Ye(e,r),Qe(e,r),kt(e,r);break;case"firefox":if(!ze||!Tt||!t.shimFirefox)return i("Firefox shim is not included in this adapter release."),s;i("adapter.js shimming firefox."),s.browserShim=ze,Ze(e,r),Xe(e,r),vt(e,r),Tt(e,r),ci(e,r),ui(e,r),li(e,r),di(e,r),hi(e,r),pi(e,r),mi(e,r),fi(e,r),gi(e,r),Je(e,r),yt(e,r),Ye(e,r),Qe(e,r);break;case"safari":if(!qe||!t.shimSafari)return i("Safari shim is not included in this adapter release."),s;i("adapter.js shimming safari."),s.browserShim=qe,Ze(e,r),Xe(e,r),ki(e,r),bi(e,r),Si(e,r),vi(e,r),Ti(e,r),Ci(e,r),Ei(e,r),Pi(e,r),Je(e,r),Ye(e,r),Qe(e,r),kt(e,r);break;default:i("Unsupported browser!");break}return s}"use strict";var xr=Ri({window:typeof window=="undefined"?void 0:window}),et=xr;var Wi=oe(Oi()),ir=oe(Ni());var it,Kr=new Uint8Array(16);function Rt(){if(!it&&(it=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!it))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return it(Kr)}var xi=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Wr(e){return typeof e=="string"&&xi.test(e)}var Ui=Wr;var J=[];for(rt=0;rt<256;++rt)J.push((rt+256).toString(16).substr(1));var rt;function zr(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=(J[e[t+0]]+J[e[t+1]]+J[e[t+2]]+J[e[t+3]]+"-"+J[e[t+4]]+J[e[t+5]]+"-"+J[e[t+6]]+J[e[t+7]]+"-"+J[e[t+8]]+J[e[t+9]]+"-"+J[e[t+10]]+J[e[t+11]]+J[e[t+12]]+J[e[t+13]]+J[e[t+14]]+J[e[t+15]]).toLowerCase();if(!Ui(i))throw TypeError("Stringified UUID is invalid");return i}var Gi=zr;function qr(e,t,i){e=e||{};var r=e.random||(e.rng||Rt)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){i=i||0;for(var s=0;s<16;++s)t[i+s]=r[s];return t}return Gi(r)}var At=qr;var ss=oe(Ue());var us=oe(Ue());var hs=oe(Ue()),ps=oe(Ue()),Jr=Object.defineProperty,Yr=Object.defineProperties,Qr=Object.getOwnPropertyDescriptors,Bi=Object.getOwnPropertySymbols,Zr=Object.prototype.hasOwnProperty,Xr=Object.prototype.propertyIsEnumerable,Hi=(e,t,i)=>t in e?Jr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,st=(e,t)=>{for(var i in t||(t={}))Zr.call(t,i)&&Hi(e,i,t[i]);if(Bi)for(var i of Bi(t))Xr.call(t,i)&&Hi(e,i,t[i]);return e},ji=(e,t)=>Yr(e,Qr(t));var $i;(function(e){e[e.VERBOSE=0]="VERBOSE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.TIME=4]="TIME",e[e.TIMEEND=5]="TIMEEND",e[e.ERROR=6]="ERROR",e[e.NONE=7]="NONE"})($i||($i={}));var es=typeof window!="undefined"&&typeof window.expect!="undefined",Ge=class{static v(e,...t){this.log(0,e,...t)}static d(e,...t){this.log(1,e,...t)}static i(e,...t){this.log(2,e,...t)}static w(e,...t){this.log(3,e,...t)}static e(e,...t){this.log(6,e,...t)}static time(e){this.log(4,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(5,"[HMSPerformanceTiming]",e,e)}static cleanUp(){performance.clearMarks(),performance.clearMeasures()}static log(e,t,...i){if(!(this.level.valueOf()>e.valueOf()))switch(e){case 0:{console.log(t,...i);break}case 1:{console.debug(t,...i);break}case 2:{console.info(t,...i);break}case 3:{console.warn(t,...i);break}case 6:{console.error(t,...i);break}case 4:{performance.mark(i[0]);break}case 5:{let r=i[0];try{let s=performance.measure(r,r);this.log(1,t,r,s==null?void 0:s.duration),performance.clearMarks(r),performance.clearMeasures(r)}catch(s){this.log(1,t,r,s)}break}}}};Ge.level=es?7:0;var Ki;(function(e){e[e.Publish=0]="Publish",e[e.Subscribe=1]="Subscribe"})(Ki||(Ki={}));var zi;(function(e){e.NONE="NONE",e.TRACK="TRACK",e.INIT="INIT",e.PUBLISH="PUBLISH",e.UNPUBLISH="UNPUBLISH",e.JOIN="JOIN",e.SUBSCRIBE="SUBSCRIBE",e.DATA_CHANNEL_SEND="DATA_CHANNEL_SEND",e.RESTART_ICE="RESTART_ICE",e.VIDEO_PLUGINS="VIDEO_PLUGINS",e.AUDIO_PLUGINS="AUDIO_PLUGINS",e.AUTOPLAY="AUTOPLAY",e.RECONNECT_SIGNAL="RECONNECT_SIGNAL",e.VALIDATION="VALIDATION",e.PLAYLIST="PLAYLIST",e.PREVIEW="PREVIEW"})(zi||(zi={}));var ts=100;var qi;(function(e){e[e.PEER_ADDED=0]="PEER_ADDED",e[e.PEER_REMOVED=1]="PEER_REMOVED",e[e.PEER_KNOCKED=2]="PEER_KNOCKED",e[e.ROOM_TYPE_CHANGED=3]="ROOM_TYPE_CHANGED",e[e.METADATA_UPDATED=4]="METADATA_UPDATED",e[e.SCREENSHARE_STARTED=5]="SCREENSHARE_STARTED",e[e.SCREENSHARE_STOPPED=6]="SCREENSHARE_STOPPED",e[e.DEFAULT_UPDATE=7]="DEFAULT_UPDATE",e[e.RECORDING_STATE_UPDATED=8]="RECORDING_STATE_UPDATED",e[e.BROWSER_RECORDING_STATE_UPDATED=9]="BROWSER_RECORDING_STATE_UPDATED",e[e.SERVER_RECORDING_STATE_UPDATED=10]="SERVER_RECORDING_STATE_UPDATED",e[e.RTMP_STREAMING_STATE_UPDATED=11]="RTMP_STREAMING_STATE_UPDATED",e[e.HLS_STREAMING_STATE_UPDATED=12]="HLS_STREAMING_STATE_UPDATED"})(qi||(qi={}));var Ji;(function(e){e[e.PEER_JOINED=0]="PEER_JOINED",e[e.PEER_LEFT=1]="PEER_LEFT",e[e.AUDIO_TOGGLED=2]="AUDIO_TOGGLED",e[e.VIDEO_TOGGLED=3]="VIDEO_TOGGLED",e[e.BECAME_DOMINANT_SPEAKER=4]="BECAME_DOMINANT_SPEAKER",e[e.RESIGNED_DOMINANT_SPEAKER=5]="RESIGNED_DOMINANT_SPEAKER",e[e.STARTED_SPEAKING=6]="STARTED_SPEAKING",e[e.STOPPED_SPEAKING=7]="STOPPED_SPEAKING",e[e.ROLE_UPDATED=8]="ROLE_UPDATED",e[e.PEER_LIST=9]="PEER_LIST",e[e.NAME_UPDATED=10]="NAME_UPDATED",e[e.METADATA_UPDATED=11]="METADATA_UPDATED"})(Ji||(Ji={}));var Yi;(function(e){e[e.TRACK_ADDED=0]="TRACK_ADDED",e[e.TRACK_REMOVED=1]="TRACK_REMOVED",e[e.TRACK_MUTED=2]="TRACK_MUTED",e[e.TRACK_UNMUTED=3]="TRACK_UNMUTED",e[e.TRACK_DESCRIPTION_CHANGED=4]="TRACK_DESCRIPTION_CHANGED",e[e.TRACK_DEGRADED=5]="TRACK_DEGRADED",e[e.TRACK_RESTORED=6]="TRACK_RESTORED"})(Yi||(Yi={}));var Qi;(function(e){e[e.DEFAULT=0]="DEFAULT"})(Qi||(Qi={}));var Fe;(function(e){e.NONE="none",e.LOW="low",e.MEDIUM="medium",e.HIGH="high"})(Fe||(Fe={}));var ta={f:Fe.HIGH,h:Fe.MEDIUM,q:Fe.LOW},Zi;(function(e){e.VP8="vp8",e.VP9="vp9",e.H264="h264"})(Zi||(Zi={}));var Xi;(function(e){e.OPUS="opus"})(Xi||(Xi={}));var er;(function(e){e.audio="audio",e.video="video"})(er||(er={}));var tr;(function(e){e.AUDIO="audio",e.VIDEO="video"})(tr||(tr={}));var It="0.1.41",nt=new ir.UAParser,rr,sr=typeof window=="undefined"&&!((rr=nt.getBrowser().name)==null?void 0:rr.toLowerCase().includes("electron")),at=typeof window!="undefined",is=()=>!sr,ia=is();function rs(){if(sr)return`hmsclient/${It}`;let e=nt.getDevice(),t=nt.getBrowser(),i=nt.getOS();return e.type?`hmsclient/${It} ${i.name}/${i.version} (${e.vendor}_${e.type}_/_${t.name}_${t.version})`:`hmsclient/${It} ${i.name}/${i.version} (${t.name}_${t.version})`}var ra=rs();var nr;(function(e){e.JOIN="join",e.OFFER="offer",e.ANSWER="answer",e.TRICKLE="trickle",e.TRACK_UPDATE="track-update",e.BROADCAST="broadcast",e.ANALYTICS="analytics",e.SERVER_ERROR="on-error",e.SERVER_WARNING="on-warning",e.SDK_NOTIFICATION="sdk-notification",e.LEAVE="leave",e.END_ROOM="end-room",e.PING="ping",e.ROLE_CHANGE_REQUEST="role-change-request",e.ROLE_CHANGE="role-change",e.TRACK_UPDATE_REQUEST="track-update-request",e.PEER_LEAVE_REQUEST="peer-leave-request",e.CHANGE_TRACK_MUTE_STATE_REQUEST="change-track-mute-state-request",e.START_RTMP_OR_RECORDING_REQUEST="rtmp-start",e.STOP_RTMP_AND_RECORDING_REQUEST="rtmp-stop",e.UPDATE_PEER_METADATA="peer-update",e.START_HLS_STREAMING="hls-start",e.STOP_HLS_STREAMING="hls-stop"})(nr||(nr={}));var ar;(function(e){e.PEER_JOIN="on-peer-join",e.PEER_LEAVE="on-peer-leave",e.PEER_LIST="peer-list",e.TRACK_METADATA_ADD="on-track-add",e.TRACK_UPDATE="on-track-update",e.CHANGE_TRACK_MUTE_STATE_UPDATE="on-change-track-mute-state-request",e.ACTIVE_SPEAKERS="active-speakers",e.BROADCAST="on-broadcast",e.ROLE_CHANGE="on-role-change",e.POLICY_CHANGE="on-policy-change",e.ROLE_CHANGE_REQUEST="on-role-change-request",e.TRACK_UPDATE_REQUEST="on-track-update-request",e.PEER_UPDATE="on-peer-update",e.PEER_LEAVE_REQUEST="on-peer-leave-request",e.UNSUPPORTED="unsupported",e.RTMP_START="on-rtmp-start",e.RTMP_STOP="on-rtmp-stop",e.RECORDING_START="on-record-start",e.RECORDING_STOP="on-record-stop",e.HLS_START="on-hls-start",e.HLS_STOP="on-hls-stop"})(ar||(ar={}));var ns=class{};ns.makePeerId=()=>At();var or;(function(e){e.AUDIO="audio",e.VIDEO="video",e.AV="audio, video",e.SCREEN="screen"})(or||(or={}));var cr;(function(e){e.TRANSFORM="TRANSFORM",e.ANALYZE="ANALYZE"})(cr||(cr={}));var Ce;(function(e){e.CUSTOM="CUSTOM",e.LOCAL="LOCAL",e.HMS="HMS"})(Ce||(Ce={}));function as(){if(at&&window){let e=window.location.hostname;return e==="localhost"||e==="127.0.0.1"?Ce.LOCAL:e.includes("app.100ms.live")?Ce.HMS:Ce.CUSTOM}return Ce.CUSTOM}var os=as(),Z=class{constructor({name:e,level:t,properties:i,includesPII:r,timestamp:s}){this.name=e,this.level=t,this.includesPII=r||!1,this.properties=i||{},this.timestamp=s||new Date().getTime()}toSignalParams(){return{name:this.name,info:ji(st({},this.properties),{timestamp:this.timestamp,domain:os}),timestamp:new Date().getTime()}}},_t;(function(e){e[e.VERBOSE=0]="VERBOSE",e[e.INFO=1]="INFO",e[e.ERROR=2]="ERROR",e[e.OFF=3]="OFF"})(_t||(_t={}));var W;(function(e){e[e.VERBOSE=0]="VERBOSE",e[e.INFO=1]="INFO",e[e.ERROR=2]="ERROR",e[e.OFF=3]="OFF"})(W||(W={}));var Dt="AnalyticsEventsService",cs=class{constructor(){this.bufferSize=ts,this.transports=[],this.pendingEvents=[],this.level=_t.INFO}addTransport(e){this.transports.push(e)}removeTransport(e){this.transports.splice(this.transports.indexOf(e),1)}queue(e){if(e.level>=this.level&&(this.pendingEvents.push(e),this.pendingEvents.length>this.bufferSize)){let t=this.pendingEvents.shift();Ge.d(Dt,"Max buffer size reached","Removed event to accommodate new events",t)}return this}flush(){if(this.transports.length===0){Ge.w(Dt,"No valid signalling API found to flush analytics");return}try{for(;this.pendingEvents.length>0;){let e=this.pendingEvents.shift();e&&this.transports.forEach(t=>t.sendEvent(e))}}catch(e){Ge.w(Dt,"Flush Failed",e)}}},aa=new cs;var ls=class{constructor(e){this.key=e,this.storage=null}getStorage(){return at&&(this.storage=window.localStorage),this.storage}get(){var e;let t=(e=this.getStorage())==null?void 0:e.getItem(this.key);return t?JSON.parse(t):void 0}set(e){var t;let i=JSON.stringify(e);(t=this.getStorage())==null||t.setItem(this.key,i)}clear(){var e;(e=this.getStorage())==null||e.removeItem(this.key)}},ds=class{constructor(){this.storage=new ls("hms-device-selection"),this.remember=!1}setDevices(e){this.devices=e}rememberDevices(e){this.remember=e}updateSelection(e,{deviceId:t,groupId:i}){if(!this.devices||!this.remember)return;let r=this.devices[e].find(o=>this.isSame({deviceId:t,groupId:i},o));if(!r)return;let s=this.storage.get()||{};s[e]=r,this.storage.set(s)}getSelection(){if(this.remember)return this.storage.get()}cleanup(){this.remember=!1,this.devices=void 0}isSame(e,t){return e.deviceId===t.deviceId&&(e.groupId===t.groupId||!e.groupId)}},oa=new ds;var lr;(function(e){e.TRANSFORM="TRANSFORM",e.ANALYZE="ANALYZE"})(lr||(lr={}));var dr=class{static connect(e,t=new Date,i=new Date,r){let s=this.eventNameFor("connect",e===void 0),o=e?W.ERROR:W.INFO,a=this.getPropertiesWithError({[this.KEY_REQUESTED_AT]:t==null?void 0:t.getTime(),[this.KEY_RESPONDED_AT]:i==null?void 0:i.getTime(),endpoint:r},e);return new Z({name:s,level:o,properties:a})}static disconnect(e){let t="disconnected",i=e?W.ERROR:W.INFO,r=this.getPropertiesWithError({},e);return new Z({name:t,level:i,properties:r})}static join(e,t,i){let r=this.eventNameFor("join",i===void 0),s=i?W.ERROR:W.INFO,o=this.getPropertiesWithError({[this.KEY_REQUESTED_AT]:e.getTime(),[this.KEY_RESPONDED_AT]:t.getTime()},i);return new Z({name:r,level:s,properties:o})}static publish({devices:e,settings:t,error:i}){let r=this.eventNameFor("publish",i===void 0),s=i?W.ERROR:W.INFO,o=this.getPropertiesWithError({devices:e,audio:t==null?void 0:t.audio,video:t==null?void 0:t.video},i);return new Z({name:r,level:s,properties:o})}static subscribeFail(e){let t=this.eventNameFor("subscribe",!1),i=W.ERROR,r=e.toAnalyticsProperties();return new Z({name:t,level:i,properties:r})}static leave(){return new Z({name:"leave",level:W.INFO})}static autoplayError(){return new Z({name:"autoplayError",level:W.ERROR})}static deviceChange({selection:e,type:t,devices:i,error:r}){let s=this.eventNameFor(r?"publish":`device.${t}`,r===void 0),o=r?W.ERROR:W.INFO,a=this.getPropertiesWithError({selection:e,devices:i},r);return new Z({name:s,level:o,properties:a})}static performance(e){let t="perf.stats",i=W.INFO,r=e.toAnalyticsProperties();return new Z({name:t,level:i,properties:r})}static rtcStats(e){let t="rtc.stats",i=W.INFO,r=e.toAnalyticsProperties();return new Z({name:t,level:i,properties:r})}static degradationStats(e,t){let i="video.degradation.stats",r=W.INFO,s={degradedAt:e.degradedAt,trackId:e.trackId};if(!t&&e.degradedAt instanceof Date){let o=new Date,a=o.valueOf()-e.degradedAt.valueOf();s=ji(st({},s),{duration:a,restoredAt:o})}return new Z({name:i,level:r,properties:s})}static eventNameFor(e,t){return`${e}.${t?"success":"failed"}`}static getPropertiesWithError(e,t){return t&&(e=st(st({},t.toAnalyticsProperties()),e)),e}};dr.KEY_REQUESTED_AT="requested_at",dr.KEY_RESPONDED_AT="responded_at";var ur;(function(e){e[e.Disconnected=0]="Disconnected",e[e.Connecting=1]="Connecting",e[e.Joined=2]="Joined",e[e.Failed=3]="Failed",e[e.Reconnecting=4]="Reconnecting",e[e.Leaving=5]="Leaving"})(ur||(ur={}));var hr;(function(e){e[e.ConnectFailed=0]="ConnectFailed",e[e.SignalDisconnect=1]="SignalDisconnect",e[e.PublishIceConnectionFailed=2]="PublishIceConnectionFailed",e[e.SubscribeIceConnectionFailed=3]="SubscribeIceConnectionFailed"})(hr||(hr={}));var ca={[0]:[],[1]:[],[2]:[1],[3]:[1]};Ge.i("adapter",`${et.browserDetails.browser} v${et.browserDetails.version}`);import{HMSRoomState as pr,selectIsLocalAudioEnabled as ms,selectIsLocalVideoDisplayEnabled as fs,selectLocalPeer as gs,selectRoomState as vs,selectIsAllowedToPublish as Ts}from"@100mslive/hms-video-store";import{useState as Ss,useEffect as Es}from"react";var ys=(e,t="preview")=>{let[i,r]=Ss(!1),s=Q(),o=B(gs),a=B(vs),l=B(ms),m=B(fs),p=B(Ts),c=i||a!==pr.Preview;return Es(()=>{a===pr.Disconnected&&s.preview({userName:t,authToken:e}),at&&(window.onunload=()=>s.leave())},[a,s,e]),{localPeer:o,roomState:a,audioEnabled:l,videoEnabled:m,isAllowedToPublish:p,disableJoin:c,actions:s,setInProgress:r}};import{selectIsPeerAudioEnabled as ks,selectIsPeerVideoEnabled as Cs,selectPeerAudioByID as bs,selectVideoTrackByPeerID as Ps}from"@100mslive/hms-video-store";import{useRef as Rs,useEffect as As}from"react";var Is=e=>{let t=Q(),i=Rs(null),r=B(Ps(e.id)),s=B(ks(e.id)),o=B(Cs(e.id)),{isLocal:a,name:l}=e,m=B(bs(e.id))>0;return As(()=>{i.current&&r&&(r.enabled?t.attachVideo(r.id,i.current):t.detachVideo(r.id,i.current))},[r,t]),{videoRef:i,isAudioOn:s,isVideoOn:o,actions:t,isLocal:a,name:l,audioLevel:m}};import{selectTracksMap as _s}from"@100mslive/hms-video-store";import{useMemo as Mt}from"react";var Ds=({maxTileCount:e,maxColCount:t,maxRowCount:i,width:r,height:s,showScreenFn:o=()=>!1,peers:a,overflow:l="scroll-x",aspectRatio:m,filterNonPublishingPeers:p=!0})=>{let h=we().getState(_s),u=$t(a,h,o,p),v=Mt(()=>m||{width:lt(u)||1,height:1},[m,u]),E=u.length,{tilesInFirstPage:A,defaultWidth:z,defaultHeight:I,lastPageWidth:_,lastPageHeight:q,isLastPageDifferentFromFirstPage:X}=Mt(()=>ut({count:E,parentWidth:Math.floor(r),parentHeight:Math.floor(s),maxTileCount:e,maxRowCount:i,maxColCount:t,aspectRatio:v}),[E,r,s,e,i,t,v]);return{chunkedTracksWithPeer:Mt(()=>ct({elements:u,tilesInFirstPage:A,onlyOnePage:l==="hidden",isLastPageDifferentFromFirstPage:X,defaultWidth:z,defaultHeight:I,lastPageWidth:_,lastPageHeight:q}),[u,A,l,X,z,I,_,q])}};import{selectIsAllowedToPublish as Ms,selectIsLocalAudioEnabled as ws,selectIsLocalVideoEnabled as Ls}from"@100mslive/hms-video-store";import{useCallback as mr}from"react";var Os=()=>{let e=B(ws),t=B(Ls),i=B(Ms),r=Q(),s=mr(()=>Me(void 0,null,function*(){try{yield r.setLocalAudioEnabled(!e)}catch(a){console.error("Cannot toggle audio",a)}}),[e]),o=mr(()=>Me(void 0,null,function*(){try{yield r.setLocalVideoEnabled(!t)}catch(a){console.error("Cannot toggle video",a)}}),[t]);return{isLocalAudioEnabled:e,isLocalVideoEnabled:t,toggleAudio:s,toggleVideo:o,isAllowedToPublish:i}};import{selectLocalMediaSettings as Ns,selectDevices as xs,selectIsAllowedToPublish as Us,selectIsAllowedToSubscribe as Gs}from"@100mslive/hms-video-store";var Fs=()=>{let e=Q(),t=B(xs),i=B(Ns),{video:r,audio:s}=B(Us),o=B(Gs),a=h=>{let u=h.currentTarget.value,{name:v}=h.currentTarget;if(u!==i[v])switch(v){case"audioInputDeviceId":e.setAudioSettings({deviceId:u});break;case"videoInputDeviceId":e.setVideoSettings({deviceId:u});break;case"audioOutputDeviceId":e.setAudioOutputDevice(u);break;default:break}},l=t.videoInput||[],m=t.audioInput||[],p=t.audioOutput||[];return[r,s,o].some(h=>!!h)?{showVideo:r,videoInput:l,showAudio:s,audioInput:m,audioOutput:p,isSubscribing:o,selectedDevices:i,handleInputChange:a}:null};import{selectTrackByID as Vs}from"@100mslive/hms-video-store";import{useCallback as Bs,useEffect as Hs,useRef as js}from"react";import{useInView as $s}from"react-intersection-observer";var Ks=e=>{let t=Q(),i=js(null),{ref:r,inView:s}=$s({threshold:.5}),o=Bs(l=>{i.current=l,r(l)},[r]),a=B(Vs(e));return Hs(()=>{(()=>Me(void 0,null,function*(){i.current&&a&&(s?a.enabled?(console.log("****** ENABLE VIDEO *******"),yield t.attachVideo(a.id,i.current)):(console.log("****** DETACH VIDEO *******"),yield t.detachVideo(a.id,i.current)):(console.log("****** DETACH VIDEO *******"),yield t.detachVideo(a.id,i.current)))}))()},[s,i,a==null?void 0:a.id,a==null?void 0:a.enabled,a==null?void 0:a.deviceID,a==null?void 0:a.plugins]),o};import{useEffect as Ws}from"react";import{selectTrackAudioByID as zs}from"@100mslive/hms-video-store";function qs({trackId:e,getStyle:t,ref:i}){let r=we();Ws(()=>r.subscribe(s=>{if(!i.current)return;let o=t(s);console.log(o,s);for(let a in o)i.current.style[a]=o[a]},zs(e)),[e])}export*from"@100mslive/hms-video-store";export{Ar as HMSRoomProvider,ut as calculateLayoutSizes,ct as chunkElements,lt as getModeAspectRatio,Os as useAVToggle,qs as useAudioLevel,Fs as useDevices,Q as useHMSActions,_r as useHMSNotifications,Ir as useHMSStatsStore,B as useHMSStore,we as useHMSVanillaStore,ys as usePreview,Ks as useVideo,Ds as useVideoList,Is as useVideoTile};
|
|
37
|
+
`);e.RTCSessionDescription&&s instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:s.type,sdp:o}):s.sdp=o}return i.apply(this,arguments)}}function Ze(e,t){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let i=e.RTCPeerConnection.prototype.addIceCandidate;!i||i.length===0||(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(t.browser==="chrome"&&t.version<78||t.browser==="firefox"&&t.version<68||t.browser==="safari")&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():i.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function Xe(e,t){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let i=e.RTCPeerConnection.prototype.setLocalDescription;!i||i.length===0||(e.RTCPeerConnection.prototype.setLocalDescription=function(){let s=arguments[0]||{};if(typeof s!="object"||s.type&&s.sdp)return i.apply(this,arguments);if(s={type:s.type,sdp:s.sdp},!s.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":s.type="offer";break;default:s.type="answer";break}return s.sdp||s.type!=="offer"&&s.type!=="answer"?i.apply(this,[s]):(s.type==="offer"?this.createOffer:this.createAnswer).apply(this).then(a=>i.apply(this,[a]))})}var xr=ce(yt());function Ai({window:e}={},t={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){let i=Ke,r=Yt(e),s={browserDetails:r,commonShim:bt,extractVersion:Le,disableLog:zt,disableWarnings:Jt,sdp:xr};switch(r.browser){case"chrome":if(!We||!vt||!t.shimChrome)return i("Chrome shim is not included in this adapter release."),s;if(r.version===null)return i("Chrome shim can not determine version, not shimming."),s;i("adapter.js shimming chrome."),s.browserShim=We,Ze(e,r),Xe(e,r),gt(e,r),ei(e,r),vt(e,r),ti(e,r),ai(e,r),ii(e,r),ri(e,r),si(e,r),oi(e,r),Je(e,r),kt(e,r),Ye(e,r),Qe(e,r),Ct(e,r);break;case"firefox":if(!qe||!St||!t.shimFirefox)return i("Firefox shim is not included in this adapter release."),s;i("adapter.js shimming firefox."),s.browserShim=qe,Ze(e,r),Xe(e,r),Tt(e,r),St(e,r),li(e,r),hi(e,r),di(e,r),ui(e,r),pi(e,r),mi(e,r),fi(e,r),gi(e,r),vi(e,r),Je(e,r),kt(e,r),Ye(e,r),Qe(e,r);break;case"safari":if(!ze||!t.shimSafari)return i("Safari shim is not included in this adapter release."),s;i("adapter.js shimming safari."),s.browserShim=ze,Ze(e,r),Xe(e,r),Ci(e,r),Pi(e,r),Ei(e,r),Ti(e,r),Si(e,r),bi(e,r),yi(e,r),Ri(e,r),Je(e,r),Ye(e,r),Qe(e,r),Ct(e,r);break;default:i("Unsupported browser!");break}return s}"use strict";var Ur=Ai({window:typeof window=="undefined"?void 0:window}),et=Ur;var qi=ce(Ni()),rr=ce(xi());var it,Wr=new Uint8Array(16);function At(){if(!it&&(it=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!it))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return it(Wr)}var Ui=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function qr(e){return typeof e=="string"&&Ui.test(e)}var Gi=qr;var J=[];for(rt=0;rt<256;++rt)J.push((rt+256).toString(16).substr(1));var rt;function zr(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=(J[e[t+0]]+J[e[t+1]]+J[e[t+2]]+J[e[t+3]]+"-"+J[e[t+4]]+J[e[t+5]]+"-"+J[e[t+6]]+J[e[t+7]]+"-"+J[e[t+8]]+J[e[t+9]]+"-"+J[e[t+10]]+J[e[t+11]]+J[e[t+12]]+J[e[t+13]]+J[e[t+14]]+J[e[t+15]]).toLowerCase();if(!Gi(i))throw TypeError("Stringified UUID is invalid");return i}var Fi=zr;function Jr(e,t,i){e=e||{};var r=e.random||(e.rng||At)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){i=i||0;for(var s=0;s<16;++s)t[i+s]=r[s];return t}return Fi(r)}var It=Jr;var ns=ce(Ue());var hs=ce(Ue());var ps=ce(Ue()),ms=ce(Ue()),Yr=Object.defineProperty,Qr=Object.defineProperties,Zr=Object.getOwnPropertyDescriptors,Hi=Object.getOwnPropertySymbols,Xr=Object.prototype.hasOwnProperty,es=Object.prototype.propertyIsEnumerable,ji=(e,t,i)=>t in e?Yr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,st=(e,t)=>{for(var i in t||(t={}))Xr.call(t,i)&&ji(e,i,t[i]);if(Hi)for(var i of Hi(t))es.call(t,i)&&ji(e,i,t[i]);return e},$i=(e,t)=>Qr(e,Zr(t));var Ki;(function(e){e[e.VERBOSE=0]="VERBOSE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.TIME=4]="TIME",e[e.TIMEEND=5]="TIMEEND",e[e.ERROR=6]="ERROR",e[e.NONE=7]="NONE"})(Ki||(Ki={}));var ts=typeof window!="undefined"&&typeof window.expect!="undefined",Ge=class{static v(e,...t){this.log(0,e,...t)}static d(e,...t){this.log(1,e,...t)}static i(e,...t){this.log(2,e,...t)}static w(e,...t){this.log(3,e,...t)}static e(e,...t){this.log(6,e,...t)}static time(e){this.log(4,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(5,"[HMSPerformanceTiming]",e,e)}static cleanUp(){performance.clearMarks(),performance.clearMeasures()}static log(e,t,...i){if(!(this.level.valueOf()>e.valueOf()))switch(e){case 0:{console.log(t,...i);break}case 1:{console.debug(t,...i);break}case 2:{console.info(t,...i);break}case 3:{console.warn(t,...i);break}case 6:{console.error(t,...i);break}case 4:{performance.mark(i[0]);break}case 5:{let r=i[0];try{let s=performance.measure(r,r);this.log(1,t,r,s==null?void 0:s.duration),performance.clearMarks(r),performance.clearMeasures(r)}catch(s){this.log(1,t,r,s)}break}}}};Ge.level=ts?7:0;var Wi;(function(e){e[e.Publish=0]="Publish",e[e.Subscribe=1]="Subscribe"})(Wi||(Wi={}));var zi;(function(e){e.NONE="NONE",e.TRACK="TRACK",e.INIT="INIT",e.PUBLISH="PUBLISH",e.UNPUBLISH="UNPUBLISH",e.JOIN="JOIN",e.SUBSCRIBE="SUBSCRIBE",e.DATA_CHANNEL_SEND="DATA_CHANNEL_SEND",e.RESTART_ICE="RESTART_ICE",e.VIDEO_PLUGINS="VIDEO_PLUGINS",e.AUDIO_PLUGINS="AUDIO_PLUGINS",e.AUTOPLAY="AUTOPLAY",e.RECONNECT_SIGNAL="RECONNECT_SIGNAL",e.VALIDATION="VALIDATION",e.PLAYLIST="PLAYLIST",e.PREVIEW="PREVIEW"})(zi||(zi={}));var is=100;var Ji;(function(e){e[e.PEER_ADDED=0]="PEER_ADDED",e[e.PEER_REMOVED=1]="PEER_REMOVED",e[e.PEER_KNOCKED=2]="PEER_KNOCKED",e[e.ROOM_TYPE_CHANGED=3]="ROOM_TYPE_CHANGED",e[e.METADATA_UPDATED=4]="METADATA_UPDATED",e[e.SCREENSHARE_STARTED=5]="SCREENSHARE_STARTED",e[e.SCREENSHARE_STOPPED=6]="SCREENSHARE_STOPPED",e[e.DEFAULT_UPDATE=7]="DEFAULT_UPDATE",e[e.RECORDING_STATE_UPDATED=8]="RECORDING_STATE_UPDATED",e[e.BROWSER_RECORDING_STATE_UPDATED=9]="BROWSER_RECORDING_STATE_UPDATED",e[e.SERVER_RECORDING_STATE_UPDATED=10]="SERVER_RECORDING_STATE_UPDATED",e[e.RTMP_STREAMING_STATE_UPDATED=11]="RTMP_STREAMING_STATE_UPDATED",e[e.HLS_STREAMING_STATE_UPDATED=12]="HLS_STREAMING_STATE_UPDATED"})(Ji||(Ji={}));var Yi;(function(e){e[e.PEER_JOINED=0]="PEER_JOINED",e[e.PEER_LEFT=1]="PEER_LEFT",e[e.AUDIO_TOGGLED=2]="AUDIO_TOGGLED",e[e.VIDEO_TOGGLED=3]="VIDEO_TOGGLED",e[e.BECAME_DOMINANT_SPEAKER=4]="BECAME_DOMINANT_SPEAKER",e[e.RESIGNED_DOMINANT_SPEAKER=5]="RESIGNED_DOMINANT_SPEAKER",e[e.STARTED_SPEAKING=6]="STARTED_SPEAKING",e[e.STOPPED_SPEAKING=7]="STOPPED_SPEAKING",e[e.ROLE_UPDATED=8]="ROLE_UPDATED",e[e.PEER_LIST=9]="PEER_LIST",e[e.NAME_UPDATED=10]="NAME_UPDATED",e[e.METADATA_UPDATED=11]="METADATA_UPDATED"})(Yi||(Yi={}));var Qi;(function(e){e[e.TRACK_ADDED=0]="TRACK_ADDED",e[e.TRACK_REMOVED=1]="TRACK_REMOVED",e[e.TRACK_MUTED=2]="TRACK_MUTED",e[e.TRACK_UNMUTED=3]="TRACK_UNMUTED",e[e.TRACK_DESCRIPTION_CHANGED=4]="TRACK_DESCRIPTION_CHANGED",e[e.TRACK_DEGRADED=5]="TRACK_DEGRADED",e[e.TRACK_RESTORED=6]="TRACK_RESTORED"})(Qi||(Qi={}));var Zi;(function(e){e[e.DEFAULT=0]="DEFAULT"})(Zi||(Zi={}));var Fe;(function(e){e.NONE="none",e.LOW="low",e.MEDIUM="medium",e.HIGH="high"})(Fe||(Fe={}));var aa={f:Fe.HIGH,h:Fe.MEDIUM,q:Fe.LOW},Xi;(function(e){e.VP8="vp8",e.VP9="vp9",e.H264="h264"})(Xi||(Xi={}));var er;(function(e){e.OPUS="opus"})(er||(er={}));var tr;(function(e){e.audio="audio",e.video="video"})(tr||(tr={}));var ir;(function(e){e.AUDIO="audio",e.VIDEO="video"})(ir||(ir={}));var _t="0.1.42-alpha.2",nt=new rr.UAParser,sr,nr=typeof window=="undefined"&&!((sr=nt.getBrowser().name)==null?void 0:sr.toLowerCase().includes("electron")),at=typeof window!="undefined",rs=()=>!nr,oa=rs();function ss(){if(nr)return`hmsclient/${_t}`;let e=nt.getDevice(),t=nt.getBrowser(),i=nt.getOS();return e.type?`hmsclient/${_t} ${i.name}/${i.version} (${e.vendor}_${e.type}_/_${t.name}_${t.version})`:`hmsclient/${_t} ${i.name}/${i.version} (${t.name}_${t.version})`}var ca=ss();var ar;(function(e){e.JOIN="join",e.OFFER="offer",e.ANSWER="answer",e.TRICKLE="trickle",e.TRACK_UPDATE="track-update",e.BROADCAST="broadcast",e.ANALYTICS="analytics",e.SERVER_ERROR="on-error",e.SERVER_WARNING="on-warning",e.SDK_NOTIFICATION="sdk-notification",e.LEAVE="leave",e.END_ROOM="end-room",e.PING="ping",e.ROLE_CHANGE_REQUEST="role-change-request",e.ROLE_CHANGE="role-change",e.TRACK_UPDATE_REQUEST="track-update-request",e.PEER_LEAVE_REQUEST="peer-leave-request",e.CHANGE_TRACK_MUTE_STATE_REQUEST="change-track-mute-state-request",e.START_RTMP_OR_RECORDING_REQUEST="rtmp-start",e.STOP_RTMP_AND_RECORDING_REQUEST="rtmp-stop",e.UPDATE_PEER_METADATA="peer-update",e.START_HLS_STREAMING="hls-start",e.STOP_HLS_STREAMING="hls-stop"})(ar||(ar={}));var or;(function(e){e.PEER_JOIN="on-peer-join",e.PEER_LEAVE="on-peer-leave",e.PEER_LIST="peer-list",e.TRACK_METADATA_ADD="on-track-add",e.TRACK_UPDATE="on-track-update",e.CHANGE_TRACK_MUTE_STATE_UPDATE="on-change-track-mute-state-request",e.ACTIVE_SPEAKERS="active-speakers",e.BROADCAST="on-broadcast",e.ROLE_CHANGE="on-role-change",e.POLICY_CHANGE="on-policy-change",e.ROLE_CHANGE_REQUEST="on-role-change-request",e.TRACK_UPDATE_REQUEST="on-track-update-request",e.PEER_UPDATE="on-peer-update",e.PEER_LEAVE_REQUEST="on-peer-leave-request",e.UNSUPPORTED="unsupported",e.RTMP_START="on-rtmp-start",e.RTMP_STOP="on-rtmp-stop",e.RECORDING_START="on-record-start",e.RECORDING_STOP="on-record-stop",e.HLS_START="on-hls-start",e.HLS_STOP="on-hls-stop"})(or||(or={}));var as=class{};as.makePeerId=()=>It();var cr;(function(e){e.AUDIO="audio",e.VIDEO="video",e.AV="audio, video",e.SCREEN="screen"})(cr||(cr={}));var lr;(function(e){e.TRANSFORM="TRANSFORM",e.ANALYZE="ANALYZE"})(lr||(lr={}));var Ce;(function(e){e.CUSTOM="CUSTOM",e.LOCAL="LOCAL",e.HMS="HMS"})(Ce||(Ce={}));function os(){if(at&&window){let e=window.location.hostname;return e==="localhost"||e==="127.0.0.1"?Ce.LOCAL:e.includes("app.100ms.live")?Ce.HMS:Ce.CUSTOM}return Ce.CUSTOM}var cs=os(),Z=class{constructor({name:e,level:t,properties:i,includesPII:r,timestamp:s}){this.name=e,this.level=t,this.includesPII=r||!1,this.properties=i||{},this.timestamp=s||new Date().getTime()}toSignalParams(){return{name:this.name,info:$i(st({},this.properties),{timestamp:this.timestamp,domain:cs}),timestamp:new Date().getTime()}}},Dt;(function(e){e[e.VERBOSE=0]="VERBOSE",e[e.INFO=1]="INFO",e[e.ERROR=2]="ERROR",e[e.OFF=3]="OFF"})(Dt||(Dt={}));var W;(function(e){e[e.VERBOSE=0]="VERBOSE",e[e.INFO=1]="INFO",e[e.ERROR=2]="ERROR",e[e.OFF=3]="OFF"})(W||(W={}));var Mt="AnalyticsEventsService",ls=class{constructor(){this.bufferSize=is,this.transports=[],this.pendingEvents=[],this.level=Dt.INFO}addTransport(e){this.transports.push(e)}removeTransport(e){this.transports.splice(this.transports.indexOf(e),1)}queue(e){if(e.level>=this.level&&(this.pendingEvents.push(e),this.pendingEvents.length>this.bufferSize)){let t=this.pendingEvents.shift();Ge.d(Mt,"Max buffer size reached","Removed event to accommodate new events",t)}return this}flush(){if(this.transports.length===0){Ge.w(Mt,"No valid signalling API found to flush analytics");return}try{for(;this.pendingEvents.length>0;){let e=this.pendingEvents.shift();e&&this.transports.forEach(t=>t.sendEvent(e))}}catch(e){Ge.w(Mt,"Flush Failed",e)}}},ua=new ls;var ds=class{constructor(e){this.key=e,this.storage=null}getStorage(){return at&&(this.storage=window.localStorage),this.storage}get(){var e;let t=(e=this.getStorage())==null?void 0:e.getItem(this.key);return t?JSON.parse(t):void 0}set(e){var t;let i=JSON.stringify(e);(t=this.getStorage())==null||t.setItem(this.key,i)}clear(){var e;(e=this.getStorage())==null||e.removeItem(this.key)}},us=class{constructor(){this.storage=new ds("hms-device-selection"),this.remember=!1}setDevices(e){this.devices=e}rememberDevices(e){this.remember=e}updateSelection(e,{deviceId:t,groupId:i}){if(!this.devices||!this.remember)return;let r=this.devices[e].find(o=>this.isSame({deviceId:t,groupId:i},o));if(!r)return;let s=this.storage.get()||{};s[e]=r,this.storage.set(s)}getSelection(){if(this.remember)return this.storage.get()}cleanup(){this.remember=!1,this.devices=void 0}isSame(e,t){return e.deviceId===t.deviceId&&(e.groupId===t.groupId||!e.groupId)}},ha=new us;var dr;(function(e){e.TRANSFORM="TRANSFORM",e.ANALYZE="ANALYZE"})(dr||(dr={}));var ur=class{static connect(e,t=new Date,i=new Date,r){let s=this.eventNameFor("connect",e===void 0),o=e?W.ERROR:W.INFO,a=this.getPropertiesWithError({[this.KEY_REQUESTED_AT]:t==null?void 0:t.getTime(),[this.KEY_RESPONDED_AT]:i==null?void 0:i.getTime(),endpoint:r},e);return new Z({name:s,level:o,properties:a})}static disconnect(e){let t="disconnected",i=e?W.ERROR:W.INFO,r=this.getPropertiesWithError({},e);return new Z({name:t,level:i,properties:r})}static join(e,t,i){let r=this.eventNameFor("join",i===void 0),s=i?W.ERROR:W.INFO,o=this.getPropertiesWithError({[this.KEY_REQUESTED_AT]:e.getTime(),[this.KEY_RESPONDED_AT]:t.getTime()},i);return new Z({name:r,level:s,properties:o})}static publish({devices:e,settings:t,error:i}){let r=this.eventNameFor("publish",i===void 0),s=i?W.ERROR:W.INFO,o=this.getPropertiesWithError({devices:e,audio:t==null?void 0:t.audio,video:t==null?void 0:t.video},i);return new Z({name:r,level:s,properties:o})}static subscribeFail(e){let t=this.eventNameFor("subscribe",!1),i=W.ERROR,r=e.toAnalyticsProperties();return new Z({name:t,level:i,properties:r})}static leave(){return new Z({name:"leave",level:W.INFO})}static autoplayError(){return new Z({name:"autoplayError",level:W.ERROR})}static deviceChange({selection:e,type:t,devices:i,error:r}){let s=this.eventNameFor(r?"publish":`device.${t}`,r===void 0),o=r?W.ERROR:W.INFO,a=this.getPropertiesWithError({selection:e,devices:i},r);return new Z({name:s,level:o,properties:a})}static performance(e){let t="perf.stats",i=W.INFO,r=e.toAnalyticsProperties();return new Z({name:t,level:i,properties:r})}static rtcStats(e){let t="rtc.stats",i=W.INFO,r=e.toAnalyticsProperties();return new Z({name:t,level:i,properties:r})}static degradationStats(e,t){let i="video.degradation.stats",r=W.INFO,s={degradedAt:e.degradedAt,trackId:e.trackId};if(!t&&e.degradedAt instanceof Date){let o=new Date,a=o.valueOf()-e.degradedAt.valueOf();s=$i(st({},s),{duration:a,restoredAt:o})}return new Z({name:i,level:r,properties:s})}static eventNameFor(e,t){return`${e}.${t?"success":"failed"}`}static getPropertiesWithError(e,t){return t&&(e=st(st({},t.toAnalyticsProperties()),e)),e}};ur.KEY_REQUESTED_AT="requested_at",ur.KEY_RESPONDED_AT="responded_at";var hr;(function(e){e[e.Disconnected=0]="Disconnected",e[e.Connecting=1]="Connecting",e[e.Joined=2]="Joined",e[e.Failed=3]="Failed",e[e.Reconnecting=4]="Reconnecting",e[e.Leaving=5]="Leaving"})(hr||(hr={}));var pr;(function(e){e[e.ConnectFailed=0]="ConnectFailed",e[e.SignalDisconnect=1]="SignalDisconnect",e[e.PublishIceConnectionFailed=2]="PublishIceConnectionFailed",e[e.SubscribeIceConnectionFailed=3]="SubscribeIceConnectionFailed"})(pr||(pr={}));var pa={[0]:[],[1]:[],[2]:[1],[3]:[1]};Ge.i("adapter",`${et.browserDetails.browser} v${et.browserDetails.version}`);import{HMSRoomState as mr,selectIsLocalAudioEnabled as fs,selectIsLocalVideoDisplayEnabled as gs,selectLocalPeer as vs,selectRoomState as Ts,selectIsAllowedToPublish as Ss}from"@100mslive/hms-video-store";import{useState as Es,useEffect as ys}from"react";var ks=(e,t="preview")=>{let[i,r]=Es(!1),s=Q(),o=B(vs),a=B(Ts),l=B(fs),m=B(gs),h=B(Ss),c=i||a!==mr.Preview;return ys(()=>{a===mr.Disconnected&&s.preview({userName:t,authToken:e}),at&&(window.onunload=()=>s.leave())},[a,s,e]),{localPeer:o,roomState:a,audioEnabled:l,videoEnabled:m,isAllowedToPublish:h,disableJoin:c,actions:s,setInProgress:r}};import{selectIsPeerAudioEnabled as Cs,selectIsPeerVideoEnabled as bs,selectPeerAudioByID as Ps,selectVideoTrackByPeerID as Rs}from"@100mslive/hms-video-store";import{useRef as As,useEffect as Is}from"react";var _s=e=>{let t=Q(),i=As(null),r=B(Rs(e.id)),s=B(Cs(e.id)),o=B(bs(e.id)),{isLocal:a,name:l}=e,m=B(Ps(e.id))>0;return Is(()=>{i.current&&r&&(r.enabled?t.attachVideo(r.id,i.current):t.detachVideo(r.id,i.current))},[r,t]),{videoRef:i,isAudioOn:s,isVideoOn:o,actions:t,isLocal:a,name:l,audioLevel:m}};import{selectTracksMap as Ds}from"@100mslive/hms-video-store";import{useMemo as wt}from"react";import{useResizeDetector as Ms}from"react-resize-detector";var ot={maxTileCount:4,maxColCount:4,maxRowCount:2,aspectRatio:{width:1,height:1}},ws=({maxTileCount:e=ot.maxTileCount,maxColCount:t=ot.maxColCount,maxRowCount:i=ot.maxRowCount,showScreenFn:r=()=>!1,peers:s,overflow:o="scroll-x",aspectRatio:a=ot.aspectRatio,filterNonPublishingPeers:l=!0})=>{let{width:m=0,height:h=0,ref:c}=Ms(),u=we().getState(Ds),v=Kt(s,u,r,l),E=wt(()=>a||{width:dt(v)||1,height:1},[a,v]),A=v.length,{tilesInFirstPage:q,defaultWidth:I,defaultHeight:_,lastPageWidth:z,lastPageHeight:X,isLastPageDifferentFromFirstPage:ne}=wt(()=>ht({count:A,parentWidth:Math.floor(m),parentHeight:Math.floor(h),maxTileCount:e,maxRowCount:i,maxColCount:t,aspectRatio:E}),[A,m,h,e,i,t,E]);return{chunkedTracksWithPeer:wt(()=>lt({elements:v,tilesInFirstPage:q,onlyOnePage:o==="hidden",isLastPageDifferentFromFirstPage:ne,defaultWidth:I,defaultHeight:_,lastPageWidth:z,lastPageHeight:X}),[v,q,o,ne,I,_,z,X]),ref:c}};import{selectIsAllowedToPublish as Ls,selectIsLocalAudioEnabled as Os,selectIsLocalVideoEnabled as Ns}from"@100mslive/hms-video-store";import{useCallback as fr}from"react";var xs=()=>{let e=B(Os),t=B(Ns),i=B(Ls),r=Q(),s=fr(()=>Me(void 0,null,function*(){try{yield r.setLocalAudioEnabled(!e)}catch(a){console.error("Cannot toggle audio",a)}}),[e]),o=fr(()=>Me(void 0,null,function*(){try{yield r.setLocalVideoEnabled(!t)}catch(a){console.error("Cannot toggle video",a)}}),[t]);return{isLocalAudioEnabled:e,isLocalVideoEnabled:t,toggleAudio:s,toggleVideo:o,isAllowedToPublish:i}};import{selectLocalMediaSettings as Us,selectDevices as Gs,selectIsAllowedToPublish as Fs,selectIsAllowedToSubscribe as Vs}from"@100mslive/hms-video-store";var Bs=()=>{let e=Q(),t=B(Gs),i=B(Us),{video:r,audio:s}=B(Fs),o=B(Vs),a=p=>{let u=p.currentTarget.value,{name:v}=p.currentTarget;if(u!==i[v])switch(v){case"audioInputDeviceId":e.setAudioSettings({deviceId:u});break;case"videoInputDeviceId":e.setVideoSettings({deviceId:u});break;case"audioOutputDeviceId":e.setAudioOutputDevice(u);break;default:break}},l=t.videoInput||[],m=t.audioInput||[],h=t.audioOutput||[];return[r,s,o].some(p=>!!p)?{showVideo:r,videoInput:l,showAudio:s,audioInput:m,audioOutput:h,isSubscribing:o,selectedDevices:i,handleInputChange:a}:null};import{selectTrackByID as Hs}from"@100mslive/hms-video-store";import{useCallback as js,useEffect as $s,useRef as Ks}from"react";import{useInView as Ws}from"react-intersection-observer";var qs=e=>{let t=Q(),i=Ks(null),{ref:r,inView:s}=Ws({threshold:.5}),o=js(l=>{i.current=l,r(l)},[r]),a=B(Hs(e));return $s(()=>{(()=>Me(void 0,null,function*(){i.current&&a&&(s?a.enabled?yield t.attachVideo(a.id,i.current):yield t.detachVideo(a.id,i.current):yield t.detachVideo(a.id,i.current))}))()},[s,i,a==null?void 0:a.id,a==null?void 0:a.enabled,a==null?void 0:a.deviceID,a==null?void 0:a.plugins]),o};import{useEffect as zs}from"react";import{selectTrackAudioByID as Js}from"@100mslive/hms-video-store";function Ys({trackId:e,getStyle:t,ref:i}){let r=we();zs(()=>r.subscribe(s=>{if(!i.current)return;let o=t(s);for(let a in o)i.current.style[a]=o[a]},Js(e)),[e])}export*from"@100mslive/hms-video-store";export{Ir as HMSRoomProvider,ht as calculateLayoutSizes,lt as chunkElements,dt as getModeAspectRatio,xs as useAVToggle,Ys as useAudioLevel,Bs as useDevices,Q as useHMSActions,Dr as useHMSNotifications,_r as useHMSStatsStore,B as useHMSStore,we as useHMSVanillaStore,ks as usePreview,qs as useVideo,ws as useVideoList,_s as useVideoTile};
|
|
38
38
|
/*!
|
|
39
39
|
* EventEmitter2
|
|
40
40
|
* https://github.com/hij1nx/EventEmitter2
|