@100mslive/hms-video-store 0.11.1-alpha.2 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var Ja=Object.create;var tt=Object.defineProperty,Qa=Object.defineProperties,za=Object.getOwnPropertyDescriptor,Ya=Object.getOwnPropertyDescriptors,Xa=Object.getOwnPropertyNames,Wt=Object.getOwnPropertySymbols,hs=Object.getPrototypeOf,or=Object.prototype.hasOwnProperty,ms=Object.prototype.propertyIsEnumerable,Za=Reflect.get;var ps=(s,e,t)=>e in s?tt(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,m=(s,e)=>{for(var t in e||(e={}))or.call(e,t)&&ps(s,t,e[t]);if(Wt)for(var t of Wt(e))ms.call(e,t)&&ps(s,t,e[t]);return s},y=(s,e)=>Qa(s,Ya(e));var nr=(s,e)=>{var t={};for(var i in s)or.call(s,i)&&e.indexOf(i)<0&&(t[i]=s[i]);if(s!=null&&Wt)for(var i of Wt(s))e.indexOf(i)<0&&ms.call(s,i)&&(t[i]=s[i]);return t};var eo=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),to=(s,e)=>{for(var t in e)tt(s,t,{get:e[t],enumerable:!0})},Ss=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Xa(e))!or.call(s,r)&&r!==t&&tt(s,r,{get:()=>e[r],enumerable:!(i=za(e,r))||i.enumerable});return s};var it=(s,e,t)=>(t=s!=null?Ja(hs(s)):{},Ss(e||!s||!s.__esModule?tt(t,"default",{value:s,enumerable:!0}):t,s)),io=s=>Ss(tt({},"__esModule",{value:!0}),s);var q=(s,e,t)=>Za(hs(s),t,e);var c=(s,e,t)=>new Promise((i,r)=>{var a=l=>{try{n(t.next(l))}catch(u){r(u)}},o=l=>{try{n(t.throw(l))}catch(u){r(u)}},n=l=>l.done?i(l.value):Promise.resolve(l.value).then(a,o);n((t=t.apply(s,e)).next())});var Hr=eo((Gd,jo)=>{jo.exports={version:"0.11.1-alpha.2",license:"MIT",repository:{type:"git",url:"https://github.com/100mslive/web-sdks.git",directory:"packages/hms-video-store"},main:"dist/index.cjs.js",module:"dist/index.js",typings:"dist/index.d.ts",files:["dist","src"],engines:{node:">=12"},exports:{".":{require:"./dist/index.cjs.js",import:"./dist/index.js",default:"./dist/index.js"}},sideEffects:!1,scripts:{prestart:"rm -rf dist && yarn types:build",start:'concurrently "yarn dev" "yarn types"',dev:"node ../../scripts/dev","build:only":"node ../../scripts/build",build:"yarn build:only && yarn types:build",types:"tsc -w","types:build":"tsc -p tsconfig.json",format:"prettier --write src/**/*.ts",test:"jest --maxWorkers=1","test:watch":"jest --watch","test:coverage":"jest --coverage",lint:"eslint -c ../../.eslintrc .","lint:fix":"yarn lint --fix",prepare:"yarn build",size:"size-limit",analyze:"size-limit --why",docs:"rm -rf ./docs && typedoc && rm -f ./docs/README.md && mkdir ./docs/home &&mv ./docs/modules.md ./docs/home/content.md && node ../../scripts/docs-store && npx prettier --write './docs/**/*'"},name:"@100mslive/hms-video-store",author:"100ms",dependencies:{eventemitter2:"^6.4.9",immer:"^9.0.6",reselect:"4.0.0","sdp-transform":"^2.14.1","ua-parser-js":"^1.0.1",uuid:"^8.3.2","webrtc-adapter":"^8.0.0",zustand:"3.5.7"},devDependencies:{"@types/dom-screen-wake-lock":"^1.0.1","@types/sdp-transform":"^2.4.4","@types/ua-parser-js":"^0.7.36","@types/uuid":"^8.3.0","jest-canvas-mock":"^2.3.1","jsdom-worker":"^0.3.0",tslib:"^2.2.0"},description:"@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow",keywords:["video","webrtc","conferencing","100ms"],gitHead:"28ace828c5944beff16c169195c807e4750e817e"}});var Kc={};to(Kc,{DeviceType:()=>Dr,HMSAudioPluginType:()=>Zt,HMSLogLevel:()=>kr,HMSMessageType:()=>gs,HMSNotificationSeverity:()=>cr,HMSNotificationTypes:()=>qt,HMSPlaylistType:()=>dr,HMSPluginUnsupportedTypes:()=>ei,HMSReactiveStore:()=>Oe,HMSRecordingState:()=>wr,HMSRoomState:()=>Kt,HMSStats:()=>Ze,HMSVideoPluginCanvasContextType:()=>ai,HMSVideoPluginType:()=>si,createDefaultStatsStore:()=>st,createDefaultStoreState:()=>rt,parsedUserAgent:()=>ce,selectAppData:()=>gn,selectAppDataByPath:()=>fn,selectAudioPlaylist:()=>Mr,selectAudioPlaylistTrackByPeerID:()=>wn,selectAudioTrackByID:()=>Mn,selectAudioTrackByPeerID:()=>ma,selectAudioTrackVolume:()=>Yr,selectAudioVolumeByPeerID:()=>Un,selectAuxiliaryAudioByPeerID:()=>In,selectAuxiliaryTracksByPeerID:()=>En,selectAvailableRoleNames:()=>Ho,selectBroadcastMessages:()=>fa,selectBroadcastMessagesUnreadCount:()=>$n,selectCameraStreamByPeerID:()=>Pn,selectConnectionQualities:()=>no,selectConnectionQualityByPeerID:()=>Hn,selectDegradedTracks:()=>Po,selectDevices:()=>oo,selectDidIJoinWithin:()=>pc,selectDominantSpeaker:()=>go,selectEffectsKey:()=>xo,selectErrors:()=>vs,selectFullAppData:()=>Jt,selectHLSState:()=>wo,selectHMSBroadcastMessages:()=>ks,selectHMSMessages:()=>Ue,selectHMSMessagesCount:()=>Eo,selectHMSStats:()=>ja,selectHandRaisedPeers:()=>Fo,selectHasPeerHandRaised:()=>Yn,selectIsAllowedToPreviewMedia:()=>sc,selectIsAllowedToPublish:()=>rc,selectIsAllowedToSubscribe:()=>Io,selectIsAudioLocallyMuted:()=>zr,selectIsConnectedToRoom:()=>me,selectIsEffectsEnabled:()=>Oo,selectIsInPreview:()=>mr,selectIsLargeRoom:()=>No,selectIsLocalAudioEnabled:()=>To,selectIsLocalAudioPluginPresent:()=>dc,selectIsLocalScreenShared:()=>zt,selectIsLocalVideoDisplayEnabled:()=>hr,selectIsLocalVideoEnabled:()=>Qt,selectIsLocalVideoPluginPresent:()=>cc,selectIsLocallyMutedByPeerID:()=>On,selectIsPeerAudioEnabled:()=>_n,selectIsPeerVideoEnabled:()=>Nn,selectIsRoleAllowedToPublish:()=>ac,selectIsScreenShareLocallyMutedByPeerID:()=>xn,selectIsSomeoneScreenSharing:()=>fo,selectLocalAudioTrackID:()=>Y,selectLocalMediaSettings:()=>ur,selectLocalPeer:()=>j,selectLocalPeerID:()=>ne,selectLocalPeerName:()=>po,selectLocalPeerRole:()=>lt,selectLocalPeerRoleName:()=>ho,selectLocalTrackIDs:()=>pr,selectLocalVideoTrackID:()=>$,selectMessageByMessageID:()=>Zn,selectMessageIDsInOrder:()=>lr,selectMessagesByPeerID:()=>Wn,selectMessagesByRole:()=>Kn,selectMessagesMap:()=>dt,selectMessagesUnreadCountByPeerID:()=>jn,selectMessagesUnreadCountByRole:()=>qn,selectPeerAudioByID:()=>Rn,selectPeerByCondition:()=>lc,selectPeerByID:()=>W,selectPeerCount:()=>co,selectPeerMetadata:()=>zn,selectPeerName:()=>Xn,selectPeerNameByID:()=>vn,selectPeerScreenSharing:()=>ys,selectPeerSharingAudio:()=>vo,selectPeerSharingAudioPlaylist:()=>ko,selectPeerSharingVideoPlaylist:()=>yo,selectPeers:()=>ie,selectPeersByCondition:()=>uc,selectPeersByRole:()=>Jn,selectPeersByRoles:()=>Qn,selectPeersMap:()=>F,selectPeersScreenSharing:()=>Mo,selectPeersWithAudioStatus:()=>ec,selectPermissions:()=>gr,selectPollByID:()=>Xr,selectPolls:()=>Bo,selectPollsMap:()=>Tr,selectPreviewRole:()=>Sr,selectPreviewRoleName:()=>Ps,selectRTMPState:()=>Lo,selectRecentError:()=>so,selectRecordingState:()=>Co,selectRemotePeers:()=>So,selectRoleByRoleName:()=>va,selectRoleChangeRequest:()=>ic,selectRolesMap:()=>re,selectRoom:()=>x,selectRoomID:()=>ao,selectRoomStartTime:()=>_o,selectRoomStarted:()=>Ro,selectRoomState:()=>J,selectScreenAudioTrackByID:()=>yn,selectScreenShareAudioByPeerID:()=>Qr,selectScreenShareByPeerID:()=>Dn,selectScreenSharesByPeerId:()=>Jr,selectScreenVideoTrackByID:()=>kn,selectScreenshareAudioVolumeByPeerID:()=>Vn,selectSessionId:()=>Do,selectSessionMetadata:()=>Vo,selectSessionStore:()=>Tn,selectSimulcastLayerByTrack:()=>Bn,selectSpeakers:()=>Ms,selectTemplateAppData:()=>Uo,selectTrackAudioByID:()=>An,selectTrackByID:()=>kt,selectTracksMap:()=>w,selectUnreadHMSBroadcastMessagesCount:()=>bo,selectUnreadHMSMessagesCount:()=>Ao,selectVideoPlaylist:()=>yr,selectVideoPlaylistAudioTrackByPeerID:()=>Ln,selectVideoPlaylistVideoTrackByPeerID:()=>Cn,selectVideoTrackByID:()=>jr,selectVideoTrackByPeerID:()=>ha,selectWhiteboard:()=>Go,selectWhiteboards:()=>Es,simulcastMapping:()=>be});module.exports=io(Kc);var Kt=(n=>(n.Disconnected="Disconnected",n.Preview="Preview",n.Connecting="Connecting",n.Connected="Connected",n.Reconnecting="Reconnecting",n.Disconnecting="Disconnecting",n.Failed="Failed",n))(Kt||{});var rt=()=>({room:{id:"",isConnected:!1,name:"",peers:[],localPeer:"",roomState:"Disconnected",recording:{browser:{running:!1},server:{running:!1},hls:{running:!1}},rtmp:{running:!1},hls:{running:!1,variants:[]},sessionId:""},peers:{},tracks:{},playlist:{audio:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1},video:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1}},messages:{byID:{},allIDs:[]},speakers:{},connectionQualities:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:""},devices:{audioInput:[],audioOutput:[],videoInput:[]},roles:{},roleChangeRequests:[],errors:[],sessionStore:{},templateAppData:{},polls:{},whiteboards:{},hideLocalPeer:!1}),st=()=>({peerStats:{},remoteTrackStats:{},localTrackStats:{},localPeer:{id:""}});var gs=(e=>(e.CHAT="chat",e))(gs||{});var cr=(t=>(t.INFO="info",t.ERROR="error",t))(cr||{}),qt=(C=>(C.PEER_JOINED="PEER_JOINED",C.PEER_LEFT="PEER_LEFT",C.PEER_LIST="PEER_LIST",C.NEW_MESSAGE="NEW_MESSAGE",C.ERROR="ERROR",C.RECONNECTING="RECONNECTING",C.RECONNECTED="RECONNECTED",C.TRACK_ADDED="TRACK_ADDED",C.TRACK_REMOVED="TRACK_REMOVED",C.TRACK_MUTED="TRACK_MUTED",C.TRACK_UNMUTED="TRACK_UNMUTED",C.TRACK_DEGRADED="TRACK_DEGRADED",C.TRACK_RESTORED="TRACK_RESTORED",C.TRACK_DESCRIPTION_CHANGED="TRACK_DESCRIPTION_CHANGED",C.ROLE_UPDATED="ROLE_UPDATED",C.CHANGE_TRACK_STATE_REQUEST="CHANGE_TRACK_STATE_REQUEST",C.CHANGE_MULTI_TRACK_STATE_REQUEST="CHANGE_MULTI_TRACK_STATE_REQUEST",C.ROOM_ENDED="ROOM_ENDED",C.REMOVED_FROM_ROOM="REMOVED_FROM_ROOM",C.DEVICE_CHANGE_UPDATE="DEVICE_CHANGE_UPDATE",C.PLAYLIST_TRACK_ENDED="PLAYLIST_TRACK_ENDED",C.NAME_UPDATED="NAME_UPDATED",C.METADATA_UPDATED="METADATA_UPDATED",C.POLL_CREATED="POLL_CREATED",C.POLL_STARTED="POLL_STARTED",C.POLL_STOPPED="POLL_STOPPED",C.POLL_VOTES_UPDATED="POLL_VOTES_UPDATED",C.HAND_RAISE_CHANGED="HAND_RAISE_CHANGED",C))(qt||{});var dr=(t=>(t.audio="audio",t.video="video",t))(dr||{});var P=require("reselect");function Ie(s,e){let t,i;if(e)for(let r of e.auxiliaryTracks){let a=s[r];ro(a)&&(i=at(a)?a:i,t=ot(a)?a:t)}return{video:t,audio:i}}function at(s){return s&&s.type==="audio"}function ot(s){return s&&s.type==="video"}function ro(s){return s&&s.source==="screen"}function jt(s){return s&&s.source==="audioplaylist"}function nt(s){return s&&s.source==="videoplaylist"}function Ts(s){return s?!!(s!=null&&s.degraded):!1}function xe(s,e){return e&&s.tracks[e]?s.tracks[e].enabled:!1}function fs(s,e){return e&&s.tracks[e]?s.tracks[e].displayEnabled:!1}function ct(s){var r;let e=!1,t=!1,i=!1;return(r=s==null?void 0:s.publishParams)!=null&&r.allowed&&(e=s.publishParams.allowed.includes("video"),t=s.publishParams.allowed.includes("audio"),i=s.publishParams.allowed.includes("screen")),{video:e,audio:t,screen:i}}var x=s=>s.room,vs=s=>s.errors,so=(0,P.createSelector)(vs,s=>s.length===0?null:s.at(-1)),ao=(0,P.createSelector)(x,s=>s.id),F=s=>s.peers,dt=s=>s.messages.byID,lr=s=>s.messages.allIDs,w=s=>s.tracks,ur=s=>s.settings,Jt=s=>s.appData,oo=s=>s.devices,Ms=s=>s.speakers,no=s=>s.connectionQualities,me=(0,P.createSelector)([x],s=>s&&s.isConnected),co=(0,P.createSelector)([me,x],(s,e)=>s?e.peerCount!==void 0?e.peerCount||1:e.peers.length:Math.max(e.peerCount!==void 0?e.peerCount:e.peers.length-1,0)),lo=s=>s.hideLocalPeer,ie=(0,P.createSelector)([x,F,lo],(s,e,t)=>t?s.peers.filter(i=>s.localPeer!==i).map(i=>e[i]):s.peers.map(i=>e[i])),uo=(0,P.createSelector)(w,s=>Object.values(s)),j=(0,P.createSelector)(x,F,(s,e)=>e[s.localPeer]),ne=(0,P.createSelector)(x,s=>s.localPeer),po=(0,P.createSelector)(j,s=>s==null?void 0:s.name),ho=(0,P.createSelector)(j,s=>s==null?void 0:s.roleName),Y=(0,P.createSelector)(j,s=>s==null?void 0:s.audioTrack),$=(0,P.createSelector)(j,s=>s==null?void 0:s.videoTrack),mo=(0,P.createSelector)(j,s=>s==null?void 0:s.auxiliaryTracks),pr=(0,P.createSelector)([Y,$,mo],(s,e,t)=>{let i=t?[...t]:[];return s&&i.unshift(s),e&&i.unshift(e),i}),So=(0,P.createSelector)(ie,s=>s.filter(e=>!e.isLocal)),go=(0,P.createSelector)(F,Ms,(s,e)=>{let t=Object.entries(e).sort((i,r)=>{var n,l;let a=((n=i[1])==null?void 0:n.audioLevel)||0;return(((l=r[1])==null?void 0:l.audioLevel)||0)>a?1:-1});if(t.length>0&&t[0][1].audioLevel&&t[0][1].audioLevel>0){let i=t[0][1].peerID;if(i in s)return s[i]}return null}),To=s=>{let e=j(s);return xe(s,e==null?void 0:e.audioTrack)},Qt=s=>{let e=j(s);return xe(s,e==null?void 0:e.videoTrack)},hr=s=>{let e=j(s);return fs(s,e==null?void 0:e.videoTrack)},zt=(0,P.createSelector)(j,w,(s,e)=>{let{video:t,audio:i}=Ie(e,s);return!!(t||i)}),ys=(0,P.createSelector)(F,w,(s,e)=>{let t;for(let i in s){let r=s[i],{video:a,audio:o}=Ie(e,r);if(a)return r;o&&!t&&(t=r)}return t}),fo=(0,P.createSelector)(ys,s=>!!s),vo=(0,P.createSelector)(F,w,(s,e)=>{for(let t in s){let i=s[t],{audio:r,video:a}=Ie(e,i);if(!a&&r)return i}}),Mo=(0,P.createSelector)(F,w,(s,e)=>{let t=[],i=[];for(let r in s){let a=s[r],{video:o,audio:n}=Ie(e,a);o?t.push(a):n&&i.push(a)}return t.concat(i)}),yo=(0,P.createSelector)(F,w,(s,e)=>{for(let t in e){let i=e[t];if(nt(i)&&ot(i)&&i.peerId)return s[i.peerId]}}),ko=(0,P.createSelector)(F,w,(s,e)=>{for(let t in e){let i=e[t];if(jt(i)&&i.peerId)return s[i.peerId]}}),Po=(0,P.createSelector)(uo,s=>s.filter(Ts)),Eo=(0,P.createSelector)(lr,s=>s.length),Ao=(0,P.createSelector)(dt,s=>Object.values(s).filter(e=>!e.read).length),Ue=(0,P.createSelector)(lr,dt,(s,e)=>{let t=[];return s.forEach(i=>{t.push(e[i])}),t}),ks=(0,P.createSelector)(Ue,s=>s.filter(e=>{var t;return!e.recipientPeer&&!(e.recipientRoles&&((t=e.recipientRoles)==null?void 0:t.length)>0)})),bo=(0,P.createSelector)(ks,s=>s.filter(e=>!e.read).length),J=(0,P.createSelector)([x],s=>s&&s.roomState),mr=(0,P.createSelector)(J,s=>s==="Preview"),Ro=(0,P.createSelector)(x,s=>s.roomState!=="Disconnected"),re=s=>s.roles,Ho=(0,P.createSelector)([re],s=>Object.keys(s)),lt=(0,P.createSelector)([j,re],(s,e)=>s!=null&&s.roleName?e[s.roleName]:null),Ps=s=>{var e;return(e=s.preview)==null?void 0:e.asRole},Sr=(0,P.createSelector)([Ps,re],(s,e)=>s?e[s]:null),Io=(0,P.createSelector)([lt],s=>{var e;return(e=s==null?void 0:s.subscribeParams)!=null&&e.subscribeToRoles?s.subscribeParams.subscribeToRoles.length>0:!1}),gr=(0,P.createSelector)(lt,s=>s==null?void 0:s.permissions),Co=(0,P.createSelector)(x,s=>s.recording),Lo=(0,P.createSelector)(x,s=>s.rtmp),wo=(0,P.createSelector)(x,s=>s.hls),Do=(0,P.createSelector)(x,s=>s.sessionId),_o=(0,P.createSelector)(x,s=>s.startedAt),No=(0,P.createSelector)(x,s=>!!s.isLargeRoom),Oo=(0,P.createSelector)(x,s=>!!s.isEffectsEnabled),xo=(0,P.createSelector)(x,s=>s.effectsKey),Uo=s=>s.templateAppData,Vo=s=>s.sessionMetadata,Tr=s=>s.polls,Bo=s=>Object.values(s.polls),Fo=(0,P.createSelector)(ie,s=>s.filter(e=>e.isHandRaised)),Es=s=>s.whiteboards,Go=(0,P.createSelector)(Es,s=>Object.values(s)[0]);var fr=require("reselect");var As=(s="audio")=>e=>e.playlist[s].list,vr=(s="audio")=>e=>e.playlist[s].selection,bs=(s="audio")=>e=>e.playlist[s].progress,Rs=(s="audio")=>e=>e.playlist[s].currentTime,Hs=(s="audio")=>e=>e.playlist[s].playbackRate,Is=(s="audio")=>e=>e.playlist[s].volume,Cs=(s="audio")=>(0,fr.createSelector)(As(s),e=>Object.values(e)),Ls=(s="audio")=>(0,fr.createSelector)(As(s),vr(s),(e,t)=>{if(t.id)return e[t.id]}),Mr={selection:vr("audio"),progress:bs("audio"),currentTime:Rs("audio"),playbackRate:Hs("audio"),volume:Is("audio"),list:Cs("audio"),selectedItem:Ls("audio")},yr={selection:vr("video"),progress:bs("video"),currentTime:Rs("video"),playbackRate:Hs("video"),volume:Is("video"),list:Cs("video"),selectedItem:Ls("video")};var H=require("reselect");function A(s){return e=>t=>s(t,e)}var kr=(l=>(l[l.VERBOSE=0]="VERBOSE",l[l.DEBUG=1]="DEBUG",l[l.INFO=2]="INFO",l[l.WARN=3]="WARN",l[l.TIME=4]="TIME",l[l.TIMEEND=5]="TIMEEND",l[l.ERROR=6]="ERROR",l[l.NONE=7]="NONE",l))(kr||{}),$o=typeof window!="undefined"&&typeof window.expect!="undefined",d=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 a=performance.measure(r,r);this.log(1,t,r,a==null?void 0:a.duration),performance.clearMarks(r),performance.clearMeasures(r)}catch(a){this.log(1,t,r,a)}break}}}};d.level=$o?7:0;var Ve=class{constructor(e){this.tracks=new Array;this.nativeStream=e,this.id=e.id}updateId(e){this.id=e}};var Ns=require("ua-parser-js"),ce=new Ns.UAParser,N=typeof window!="undefined",ws,Ce=typeof window=="undefined"&&!((ws=ce.getBrowser().name)!=null&&ws.toLowerCase().includes("electron"));var Wo=()=>!Ce,ad=Wo(),Yt=()=>ce.getDevice().type==="mobile",Os=()=>typeof document!="undefined"&&document.hidden,Pr=()=>{var s;return((s=ce.getOS().name)==null?void 0:s.toLowerCase())==="ios"},Ds,_s,xs=((_s=(Ds=ce.getBrowser())==null?void 0:Ds.name)==null?void 0:_s.toLowerCase())==="firefox";var Xt=s=>s?`{
1
+ "use strict";var Ja=Object.create;var tt=Object.defineProperty,Qa=Object.defineProperties,za=Object.getOwnPropertyDescriptor,Ya=Object.getOwnPropertyDescriptors,Xa=Object.getOwnPropertyNames,Wt=Object.getOwnPropertySymbols,hs=Object.getPrototypeOf,or=Object.prototype.hasOwnProperty,ms=Object.prototype.propertyIsEnumerable,Za=Reflect.get;var ps=(s,e,t)=>e in s?tt(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,m=(s,e)=>{for(var t in e||(e={}))or.call(e,t)&&ps(s,t,e[t]);if(Wt)for(var t of Wt(e))ms.call(e,t)&&ps(s,t,e[t]);return s},y=(s,e)=>Qa(s,Ya(e));var nr=(s,e)=>{var t={};for(var i in s)or.call(s,i)&&e.indexOf(i)<0&&(t[i]=s[i]);if(s!=null&&Wt)for(var i of Wt(s))e.indexOf(i)<0&&ms.call(s,i)&&(t[i]=s[i]);return t};var eo=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),to=(s,e)=>{for(var t in e)tt(s,t,{get:e[t],enumerable:!0})},Ss=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Xa(e))!or.call(s,r)&&r!==t&&tt(s,r,{get:()=>e[r],enumerable:!(i=za(e,r))||i.enumerable});return s};var it=(s,e,t)=>(t=s!=null?Ja(hs(s)):{},Ss(e||!s||!s.__esModule?tt(t,"default",{value:s,enumerable:!0}):t,s)),io=s=>Ss(tt({},"__esModule",{value:!0}),s);var q=(s,e,t)=>Za(hs(s),t,e);var c=(s,e,t)=>new Promise((i,r)=>{var a=l=>{try{n(t.next(l))}catch(u){r(u)}},o=l=>{try{n(t.throw(l))}catch(u){r(u)}},n=l=>l.done?i(l.value):Promise.resolve(l.value).then(a,o);n((t=t.apply(s,e)).next())});var Hr=eo((Gd,jo)=>{jo.exports={version:"0.11.1",license:"MIT",repository:{type:"git",url:"https://github.com/100mslive/web-sdks.git",directory:"packages/hms-video-store"},main:"dist/index.cjs.js",module:"dist/index.js",typings:"dist/index.d.ts",files:["dist","src"],engines:{node:">=12"},exports:{".":{require:"./dist/index.cjs.js",import:"./dist/index.js",default:"./dist/index.js"}},sideEffects:!1,scripts:{prestart:"rm -rf dist && yarn types:build",start:'concurrently "yarn dev" "yarn types"',dev:"node ../../scripts/dev","build:only":"node ../../scripts/build",build:"yarn build:only && yarn types:build",types:"tsc -w","types:build":"tsc -p tsconfig.json",format:"prettier --write src/**/*.ts",test:"jest --maxWorkers=1","test:watch":"jest --watch","test:coverage":"jest --coverage",lint:"eslint -c ../../.eslintrc .","lint:fix":"yarn lint --fix",prepare:"yarn build",size:"size-limit",analyze:"size-limit --why",docs:"rm -rf ./docs && typedoc && rm -f ./docs/README.md && mkdir ./docs/home &&mv ./docs/modules.md ./docs/home/content.md && node ../../scripts/docs-store && npx prettier --write './docs/**/*'"},name:"@100mslive/hms-video-store",author:"100ms",dependencies:{eventemitter2:"^6.4.9",immer:"^9.0.6",reselect:"4.0.0","sdp-transform":"^2.14.1","ua-parser-js":"^1.0.1",uuid:"^8.3.2","webrtc-adapter":"^8.0.0",zustand:"3.5.7"},devDependencies:{"@types/dom-screen-wake-lock":"^1.0.1","@types/sdp-transform":"^2.4.4","@types/ua-parser-js":"^0.7.36","@types/uuid":"^8.3.0","jest-canvas-mock":"^2.3.1","jsdom-worker":"^0.3.0",tslib:"^2.2.0"},description:"@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow",keywords:["video","webrtc","conferencing","100ms"],gitHead:"d059b6f9ea6851f26271332df4cf83c9a4f3d567"}});var Kc={};to(Kc,{DeviceType:()=>Dr,HMSAudioPluginType:()=>Zt,HMSLogLevel:()=>kr,HMSMessageType:()=>gs,HMSNotificationSeverity:()=>cr,HMSNotificationTypes:()=>qt,HMSPlaylistType:()=>dr,HMSPluginUnsupportedTypes:()=>ei,HMSReactiveStore:()=>Oe,HMSRecordingState:()=>wr,HMSRoomState:()=>Kt,HMSStats:()=>Ze,HMSVideoPluginCanvasContextType:()=>ai,HMSVideoPluginType:()=>si,createDefaultStatsStore:()=>st,createDefaultStoreState:()=>rt,parsedUserAgent:()=>ce,selectAppData:()=>gn,selectAppDataByPath:()=>fn,selectAudioPlaylist:()=>Mr,selectAudioPlaylistTrackByPeerID:()=>wn,selectAudioTrackByID:()=>Mn,selectAudioTrackByPeerID:()=>ma,selectAudioTrackVolume:()=>Yr,selectAudioVolumeByPeerID:()=>Un,selectAuxiliaryAudioByPeerID:()=>In,selectAuxiliaryTracksByPeerID:()=>En,selectAvailableRoleNames:()=>Ho,selectBroadcastMessages:()=>fa,selectBroadcastMessagesUnreadCount:()=>$n,selectCameraStreamByPeerID:()=>Pn,selectConnectionQualities:()=>no,selectConnectionQualityByPeerID:()=>Hn,selectDegradedTracks:()=>Po,selectDevices:()=>oo,selectDidIJoinWithin:()=>pc,selectDominantSpeaker:()=>go,selectEffectsKey:()=>xo,selectErrors:()=>vs,selectFullAppData:()=>Jt,selectHLSState:()=>wo,selectHMSBroadcastMessages:()=>ks,selectHMSMessages:()=>Ue,selectHMSMessagesCount:()=>Eo,selectHMSStats:()=>ja,selectHandRaisedPeers:()=>Fo,selectHasPeerHandRaised:()=>Yn,selectIsAllowedToPreviewMedia:()=>sc,selectIsAllowedToPublish:()=>rc,selectIsAllowedToSubscribe:()=>Io,selectIsAudioLocallyMuted:()=>zr,selectIsConnectedToRoom:()=>me,selectIsEffectsEnabled:()=>Oo,selectIsInPreview:()=>mr,selectIsLargeRoom:()=>No,selectIsLocalAudioEnabled:()=>To,selectIsLocalAudioPluginPresent:()=>dc,selectIsLocalScreenShared:()=>zt,selectIsLocalVideoDisplayEnabled:()=>hr,selectIsLocalVideoEnabled:()=>Qt,selectIsLocalVideoPluginPresent:()=>cc,selectIsLocallyMutedByPeerID:()=>On,selectIsPeerAudioEnabled:()=>_n,selectIsPeerVideoEnabled:()=>Nn,selectIsRoleAllowedToPublish:()=>ac,selectIsScreenShareLocallyMutedByPeerID:()=>xn,selectIsSomeoneScreenSharing:()=>fo,selectLocalAudioTrackID:()=>Y,selectLocalMediaSettings:()=>ur,selectLocalPeer:()=>j,selectLocalPeerID:()=>ne,selectLocalPeerName:()=>po,selectLocalPeerRole:()=>lt,selectLocalPeerRoleName:()=>ho,selectLocalTrackIDs:()=>pr,selectLocalVideoTrackID:()=>$,selectMessageByMessageID:()=>Zn,selectMessageIDsInOrder:()=>lr,selectMessagesByPeerID:()=>Wn,selectMessagesByRole:()=>Kn,selectMessagesMap:()=>dt,selectMessagesUnreadCountByPeerID:()=>jn,selectMessagesUnreadCountByRole:()=>qn,selectPeerAudioByID:()=>Rn,selectPeerByCondition:()=>lc,selectPeerByID:()=>W,selectPeerCount:()=>co,selectPeerMetadata:()=>zn,selectPeerName:()=>Xn,selectPeerNameByID:()=>vn,selectPeerScreenSharing:()=>ys,selectPeerSharingAudio:()=>vo,selectPeerSharingAudioPlaylist:()=>ko,selectPeerSharingVideoPlaylist:()=>yo,selectPeers:()=>ie,selectPeersByCondition:()=>uc,selectPeersByRole:()=>Jn,selectPeersByRoles:()=>Qn,selectPeersMap:()=>F,selectPeersScreenSharing:()=>Mo,selectPeersWithAudioStatus:()=>ec,selectPermissions:()=>gr,selectPollByID:()=>Xr,selectPolls:()=>Bo,selectPollsMap:()=>Tr,selectPreviewRole:()=>Sr,selectPreviewRoleName:()=>Ps,selectRTMPState:()=>Lo,selectRecentError:()=>so,selectRecordingState:()=>Co,selectRemotePeers:()=>So,selectRoleByRoleName:()=>va,selectRoleChangeRequest:()=>ic,selectRolesMap:()=>re,selectRoom:()=>x,selectRoomID:()=>ao,selectRoomStartTime:()=>_o,selectRoomStarted:()=>Ro,selectRoomState:()=>J,selectScreenAudioTrackByID:()=>yn,selectScreenShareAudioByPeerID:()=>Qr,selectScreenShareByPeerID:()=>Dn,selectScreenSharesByPeerId:()=>Jr,selectScreenVideoTrackByID:()=>kn,selectScreenshareAudioVolumeByPeerID:()=>Vn,selectSessionId:()=>Do,selectSessionMetadata:()=>Vo,selectSessionStore:()=>Tn,selectSimulcastLayerByTrack:()=>Bn,selectSpeakers:()=>Ms,selectTemplateAppData:()=>Uo,selectTrackAudioByID:()=>An,selectTrackByID:()=>kt,selectTracksMap:()=>w,selectUnreadHMSBroadcastMessagesCount:()=>bo,selectUnreadHMSMessagesCount:()=>Ao,selectVideoPlaylist:()=>yr,selectVideoPlaylistAudioTrackByPeerID:()=>Ln,selectVideoPlaylistVideoTrackByPeerID:()=>Cn,selectVideoTrackByID:()=>jr,selectVideoTrackByPeerID:()=>ha,selectWhiteboard:()=>Go,selectWhiteboards:()=>Es,simulcastMapping:()=>be});module.exports=io(Kc);var Kt=(n=>(n.Disconnected="Disconnected",n.Preview="Preview",n.Connecting="Connecting",n.Connected="Connected",n.Reconnecting="Reconnecting",n.Disconnecting="Disconnecting",n.Failed="Failed",n))(Kt||{});var rt=()=>({room:{id:"",isConnected:!1,name:"",peers:[],localPeer:"",roomState:"Disconnected",recording:{browser:{running:!1},server:{running:!1},hls:{running:!1}},rtmp:{running:!1},hls:{running:!1,variants:[]},sessionId:""},peers:{},tracks:{},playlist:{audio:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1},video:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1}},messages:{byID:{},allIDs:[]},speakers:{},connectionQualities:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:""},devices:{audioInput:[],audioOutput:[],videoInput:[]},roles:{},roleChangeRequests:[],errors:[],sessionStore:{},templateAppData:{},polls:{},whiteboards:{},hideLocalPeer:!1}),st=()=>({peerStats:{},remoteTrackStats:{},localTrackStats:{},localPeer:{id:""}});var gs=(e=>(e.CHAT="chat",e))(gs||{});var cr=(t=>(t.INFO="info",t.ERROR="error",t))(cr||{}),qt=(C=>(C.PEER_JOINED="PEER_JOINED",C.PEER_LEFT="PEER_LEFT",C.PEER_LIST="PEER_LIST",C.NEW_MESSAGE="NEW_MESSAGE",C.ERROR="ERROR",C.RECONNECTING="RECONNECTING",C.RECONNECTED="RECONNECTED",C.TRACK_ADDED="TRACK_ADDED",C.TRACK_REMOVED="TRACK_REMOVED",C.TRACK_MUTED="TRACK_MUTED",C.TRACK_UNMUTED="TRACK_UNMUTED",C.TRACK_DEGRADED="TRACK_DEGRADED",C.TRACK_RESTORED="TRACK_RESTORED",C.TRACK_DESCRIPTION_CHANGED="TRACK_DESCRIPTION_CHANGED",C.ROLE_UPDATED="ROLE_UPDATED",C.CHANGE_TRACK_STATE_REQUEST="CHANGE_TRACK_STATE_REQUEST",C.CHANGE_MULTI_TRACK_STATE_REQUEST="CHANGE_MULTI_TRACK_STATE_REQUEST",C.ROOM_ENDED="ROOM_ENDED",C.REMOVED_FROM_ROOM="REMOVED_FROM_ROOM",C.DEVICE_CHANGE_UPDATE="DEVICE_CHANGE_UPDATE",C.PLAYLIST_TRACK_ENDED="PLAYLIST_TRACK_ENDED",C.NAME_UPDATED="NAME_UPDATED",C.METADATA_UPDATED="METADATA_UPDATED",C.POLL_CREATED="POLL_CREATED",C.POLL_STARTED="POLL_STARTED",C.POLL_STOPPED="POLL_STOPPED",C.POLL_VOTES_UPDATED="POLL_VOTES_UPDATED",C.HAND_RAISE_CHANGED="HAND_RAISE_CHANGED",C))(qt||{});var dr=(t=>(t.audio="audio",t.video="video",t))(dr||{});var P=require("reselect");function Ie(s,e){let t,i;if(e)for(let r of e.auxiliaryTracks){let a=s[r];ro(a)&&(i=at(a)?a:i,t=ot(a)?a:t)}return{video:t,audio:i}}function at(s){return s&&s.type==="audio"}function ot(s){return s&&s.type==="video"}function ro(s){return s&&s.source==="screen"}function jt(s){return s&&s.source==="audioplaylist"}function nt(s){return s&&s.source==="videoplaylist"}function Ts(s){return s?!!(s!=null&&s.degraded):!1}function xe(s,e){return e&&s.tracks[e]?s.tracks[e].enabled:!1}function fs(s,e){return e&&s.tracks[e]?s.tracks[e].displayEnabled:!1}function ct(s){var r;let e=!1,t=!1,i=!1;return(r=s==null?void 0:s.publishParams)!=null&&r.allowed&&(e=s.publishParams.allowed.includes("video"),t=s.publishParams.allowed.includes("audio"),i=s.publishParams.allowed.includes("screen")),{video:e,audio:t,screen:i}}var x=s=>s.room,vs=s=>s.errors,so=(0,P.createSelector)(vs,s=>s.length===0?null:s.at(-1)),ao=(0,P.createSelector)(x,s=>s.id),F=s=>s.peers,dt=s=>s.messages.byID,lr=s=>s.messages.allIDs,w=s=>s.tracks,ur=s=>s.settings,Jt=s=>s.appData,oo=s=>s.devices,Ms=s=>s.speakers,no=s=>s.connectionQualities,me=(0,P.createSelector)([x],s=>s&&s.isConnected),co=(0,P.createSelector)([me,x],(s,e)=>s?e.peerCount!==void 0?e.peerCount||1:e.peers.length:Math.max(e.peerCount!==void 0?e.peerCount:e.peers.length-1,0)),lo=s=>s.hideLocalPeer,ie=(0,P.createSelector)([x,F,lo],(s,e,t)=>t?s.peers.filter(i=>s.localPeer!==i).map(i=>e[i]):s.peers.map(i=>e[i])),uo=(0,P.createSelector)(w,s=>Object.values(s)),j=(0,P.createSelector)(x,F,(s,e)=>e[s.localPeer]),ne=(0,P.createSelector)(x,s=>s.localPeer),po=(0,P.createSelector)(j,s=>s==null?void 0:s.name),ho=(0,P.createSelector)(j,s=>s==null?void 0:s.roleName),Y=(0,P.createSelector)(j,s=>s==null?void 0:s.audioTrack),$=(0,P.createSelector)(j,s=>s==null?void 0:s.videoTrack),mo=(0,P.createSelector)(j,s=>s==null?void 0:s.auxiliaryTracks),pr=(0,P.createSelector)([Y,$,mo],(s,e,t)=>{let i=t?[...t]:[];return s&&i.unshift(s),e&&i.unshift(e),i}),So=(0,P.createSelector)(ie,s=>s.filter(e=>!e.isLocal)),go=(0,P.createSelector)(F,Ms,(s,e)=>{let t=Object.entries(e).sort((i,r)=>{var n,l;let a=((n=i[1])==null?void 0:n.audioLevel)||0;return(((l=r[1])==null?void 0:l.audioLevel)||0)>a?1:-1});if(t.length>0&&t[0][1].audioLevel&&t[0][1].audioLevel>0){let i=t[0][1].peerID;if(i in s)return s[i]}return null}),To=s=>{let e=j(s);return xe(s,e==null?void 0:e.audioTrack)},Qt=s=>{let e=j(s);return xe(s,e==null?void 0:e.videoTrack)},hr=s=>{let e=j(s);return fs(s,e==null?void 0:e.videoTrack)},zt=(0,P.createSelector)(j,w,(s,e)=>{let{video:t,audio:i}=Ie(e,s);return!!(t||i)}),ys=(0,P.createSelector)(F,w,(s,e)=>{let t;for(let i in s){let r=s[i],{video:a,audio:o}=Ie(e,r);if(a)return r;o&&!t&&(t=r)}return t}),fo=(0,P.createSelector)(ys,s=>!!s),vo=(0,P.createSelector)(F,w,(s,e)=>{for(let t in s){let i=s[t],{audio:r,video:a}=Ie(e,i);if(!a&&r)return i}}),Mo=(0,P.createSelector)(F,w,(s,e)=>{let t=[],i=[];for(let r in s){let a=s[r],{video:o,audio:n}=Ie(e,a);o?t.push(a):n&&i.push(a)}return t.concat(i)}),yo=(0,P.createSelector)(F,w,(s,e)=>{for(let t in e){let i=e[t];if(nt(i)&&ot(i)&&i.peerId)return s[i.peerId]}}),ko=(0,P.createSelector)(F,w,(s,e)=>{for(let t in e){let i=e[t];if(jt(i)&&i.peerId)return s[i.peerId]}}),Po=(0,P.createSelector)(uo,s=>s.filter(Ts)),Eo=(0,P.createSelector)(lr,s=>s.length),Ao=(0,P.createSelector)(dt,s=>Object.values(s).filter(e=>!e.read).length),Ue=(0,P.createSelector)(lr,dt,(s,e)=>{let t=[];return s.forEach(i=>{t.push(e[i])}),t}),ks=(0,P.createSelector)(Ue,s=>s.filter(e=>{var t;return!e.recipientPeer&&!(e.recipientRoles&&((t=e.recipientRoles)==null?void 0:t.length)>0)})),bo=(0,P.createSelector)(ks,s=>s.filter(e=>!e.read).length),J=(0,P.createSelector)([x],s=>s&&s.roomState),mr=(0,P.createSelector)(J,s=>s==="Preview"),Ro=(0,P.createSelector)(x,s=>s.roomState!=="Disconnected"),re=s=>s.roles,Ho=(0,P.createSelector)([re],s=>Object.keys(s)),lt=(0,P.createSelector)([j,re],(s,e)=>s!=null&&s.roleName?e[s.roleName]:null),Ps=s=>{var e;return(e=s.preview)==null?void 0:e.asRole},Sr=(0,P.createSelector)([Ps,re],(s,e)=>s?e[s]:null),Io=(0,P.createSelector)([lt],s=>{var e;return(e=s==null?void 0:s.subscribeParams)!=null&&e.subscribeToRoles?s.subscribeParams.subscribeToRoles.length>0:!1}),gr=(0,P.createSelector)(lt,s=>s==null?void 0:s.permissions),Co=(0,P.createSelector)(x,s=>s.recording),Lo=(0,P.createSelector)(x,s=>s.rtmp),wo=(0,P.createSelector)(x,s=>s.hls),Do=(0,P.createSelector)(x,s=>s.sessionId),_o=(0,P.createSelector)(x,s=>s.startedAt),No=(0,P.createSelector)(x,s=>!!s.isLargeRoom),Oo=(0,P.createSelector)(x,s=>!!s.isEffectsEnabled),xo=(0,P.createSelector)(x,s=>s.effectsKey),Uo=s=>s.templateAppData,Vo=s=>s.sessionMetadata,Tr=s=>s.polls,Bo=s=>Object.values(s.polls),Fo=(0,P.createSelector)(ie,s=>s.filter(e=>e.isHandRaised)),Es=s=>s.whiteboards,Go=(0,P.createSelector)(Es,s=>Object.values(s)[0]);var fr=require("reselect");var As=(s="audio")=>e=>e.playlist[s].list,vr=(s="audio")=>e=>e.playlist[s].selection,bs=(s="audio")=>e=>e.playlist[s].progress,Rs=(s="audio")=>e=>e.playlist[s].currentTime,Hs=(s="audio")=>e=>e.playlist[s].playbackRate,Is=(s="audio")=>e=>e.playlist[s].volume,Cs=(s="audio")=>(0,fr.createSelector)(As(s),e=>Object.values(e)),Ls=(s="audio")=>(0,fr.createSelector)(As(s),vr(s),(e,t)=>{if(t.id)return e[t.id]}),Mr={selection:vr("audio"),progress:bs("audio"),currentTime:Rs("audio"),playbackRate:Hs("audio"),volume:Is("audio"),list:Cs("audio"),selectedItem:Ls("audio")},yr={selection:vr("video"),progress:bs("video"),currentTime:Rs("video"),playbackRate:Hs("video"),volume:Is("video"),list:Cs("video"),selectedItem:Ls("video")};var H=require("reselect");function A(s){return e=>t=>s(t,e)}var kr=(l=>(l[l.VERBOSE=0]="VERBOSE",l[l.DEBUG=1]="DEBUG",l[l.INFO=2]="INFO",l[l.WARN=3]="WARN",l[l.TIME=4]="TIME",l[l.TIMEEND=5]="TIMEEND",l[l.ERROR=6]="ERROR",l[l.NONE=7]="NONE",l))(kr||{}),$o=typeof window!="undefined"&&typeof window.expect!="undefined",d=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 a=performance.measure(r,r);this.log(1,t,r,a==null?void 0:a.duration),performance.clearMarks(r),performance.clearMeasures(r)}catch(a){this.log(1,t,r,a)}break}}}};d.level=$o?7:0;var Ve=class{constructor(e){this.tracks=new Array;this.nativeStream=e,this.id=e.id}updateId(e){this.id=e}};var Ns=require("ua-parser-js"),ce=new Ns.UAParser,N=typeof window!="undefined",ws,Ce=typeof window=="undefined"&&!((ws=ce.getBrowser().name)!=null&&ws.toLowerCase().includes("electron"));var Wo=()=>!Ce,ad=Wo(),Yt=()=>ce.getDevice().type==="mobile",Os=()=>typeof document!="undefined"&&document.hidden,Pr=()=>{var s;return((s=ce.getOS().name)==null?void 0:s.toLowerCase())==="ios"},Ds,_s,xs=((_s=(Ds=ce.getBrowser())==null?void 0:Ds.name)==null?void 0:_s.toLowerCase())==="firefox";var Xt=s=>s?`{
2
2
  trackId: ${s.id};
3
3
  kind: ${s.kind};
4
4
  enabled: ${s.enabled};