/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@livekit/components-core@0.12.13/dist/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var __create=Object.create,__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropNames=Object.getOwnPropertyNames,__getOwnPropSymbols=Object.getOwnPropertySymbols,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__knownSymbol=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),__defNormalProp=(e,t,i)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,__spreadValues=(e,t)=>{for(var i in t||(t={}))__hasOwnProp.call(t,i)&&__defNormalProp(e,i,t[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(t))__propIsEnum.call(t,i)&&__defNormalProp(e,i,t[i]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(e,t,i,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of __getOwnPropNames(t))__hasOwnProp.call(e,n)||n===i||__defProp(e,n,{get:()=>t[n],enumerable:!(r=__getOwnPropDesc(t,n))||r.enumerable});return e},__toESM=(e,t,i)=>(i=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?i:__defProp(i,"default",{value:e,enumerable:!0}),e)),__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),__async=(e,t,i)=>new Promise(((r,n)=>{var a=e=>{try{c(i.next(e))}catch(e){n(e)}},o=e=>{try{c(i.throw(e))}catch(e){n(e)}},c=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);c((i=i.apply(e,t)).next())})),__forAwait=(e,t,i)=>(t=e[__knownSymbol("asyncIterator")])?t.call(e):(e=e[__knownSymbol("iterator")](),t={},(i=(i,r)=>(r=e[i])&&(t[i]=t=>new Promise(((i,n,a)=>(t=r.call(e,t),a=t.done,Promise.resolve(t.value).then((e=>i({value:e,done:a})),n))))))("next"),i("return"),t),index_exports={};__export(index_exports,{DataTopic:()=>DataTopic,GRID_LAYOUTS:()=>GRID_LAYOUTS,LegacyDataTopic:()=>LegacyDataTopic,PIN_DEFAULT_STATE:()=>PIN_DEFAULT_STATE,ParticipantAgentAttributes:()=>ParticipantAgentAttributes,WIDGET_DEFAULT_STATE:()=>WIDGET_DEFAULT_STATE,activeSpeakerObserver:()=>activeSpeakerObserver,addMediaTimestampToTranscription:()=>addMediaTimestampToTranscription,allParticipantEvents:()=>allParticipantEvents,allParticipantRoomEvents:()=>allParticipantRoomEvents,allRemoteParticipantEvents:()=>allRemoteParticipantEvents,allRemoteParticipantRoomEvents:()=>allRemoteParticipantRoomEvents,attachIfSubscribed:()=>attachIfSubscribed,computeMenuPosition:()=>computeMenuPosition,connectedParticipantObserver:()=>connectedParticipantObserver,connectedParticipantsObserver:()=>connectedParticipantsObserver,connectionStateObserver:()=>connectionStateObserver,createActiveDeviceObservable:()=>createActiveDeviceObservable,createChatObserver:()=>createChatObserver,createConnectionQualityObserver:()=>createConnectionQualityObserver,createDataObserver:()=>createDataObserver,createDefaultGrammar:()=>createDefaultGrammar,createEmailRegExp:()=>createEmailRegExp,createInteractingObservable:()=>createInteractingObservable,createIsSpeakingObserver:()=>createIsSpeakingObserver,createMediaDeviceObserver:()=>createMediaDeviceObserver,createTrackObserver:()=>createTrackObserver,createUrlRegExp:()=>createUrlRegExp,cssPrefix:()=>cssPrefix,dedupeSegments:()=>dedupeSegments,defaultUserChoices:()=>defaultUserChoices,didActiveSegmentsChange:()=>didActiveSegmentsChange,encryptionStatusObservable:()=>encryptionStatusObservable,getActiveTranscriptionSegments:()=>getActiveTranscriptionSegments,getScrollBarWidth:()=>getScrollBarWidth,getTrackByIdentifier:()=>getTrackByIdentifier,getTrackReferenceId:()=>getTrackReferenceId,getTrackReferenceSource:()=>getTrackReferenceSource,isEqualTrackRef:()=>isEqualTrackRef,isLocal:()=>isLocal,isMobileBrowser:()=>isMobileBrowser,isParticipantTrackReferencePinned:()=>isParticipantTrackReferencePinned,isPlaceholderReplacement:()=>isPlaceholderReplacement,isRemote:()=>isRemote,isSourceWitOptions:()=>isSourceWitOptions,isSourcesWithOptions:()=>isSourcesWithOptions,isTrackReference:()=>isTrackReference,isTrackReferencePinned:()=>isTrackReferencePinned,isTrackReferencePlaceholder:()=>isTrackReferencePlaceholder,isWeb:()=>isWeb,loadUserChoices:()=>loadUserChoices,log:()=>log,mutedObserver:()=>mutedObserver,observeParticipantEvents:()=>observeParticipantEvents,observeParticipantMedia:()=>observeParticipantMedia,observeRoomEvents:()=>observeRoomEvents,observeTrackEvents:()=>observeTrackEvents,participantAttributesObserver:()=>participantAttributesObserver,participantByIdentifierObserver:()=>participantByIdentifierObserver,participantEventSelector:()=>participantEventSelector,participantInfoObserver:()=>participantInfoObserver,participantPermissionObserver:()=>participantPermissionObserver,participantTrackEvents:()=>participantTrackEvents,participantTracksObservable:()=>participantTracksObservable,recordingStatusObservable:()=>recordingStatusObservable,roomAudioPlaybackAllowedObservable:()=>roomAudioPlaybackAllowedObservable,roomEventSelector:()=>roomEventSelector,roomInfoObserver:()=>roomInfoObserver,roomObserver:()=>roomObserver,roomVideoPlaybackAllowedObservable:()=>roomVideoPlaybackAllowedObservable,saveUserChoices:()=>saveUserChoices,screenShareObserver:()=>screenShareObserver,selectGridLayout:()=>selectGridLayout,sendMessage:()=>sendMessage,setDifference:()=>setDifference,setLogExtension:()=>setLogExtension,setLogLevel:()=>setLogLevel,setupChat:()=>setupChat,setupChatMessageHandler:()=>setupChatMessageHandler,setupChatToggle:()=>setupChatToggle,setupClearPinButton:()=>setupClearPinButton,setupConnectionQualityIndicator:()=>setupConnectionQualityIndicator,setupDataMessageHandler:()=>setupDataMessageHandler,setupDeviceSelector:()=>setupDeviceSelector,setupDisconnectButton:()=>setupDisconnectButton,setupFocusToggle:()=>setupFocusToggle,setupLiveKitRoom:()=>setupLiveKitRoom,setupManualToggle:()=>setupManualToggle,setupMediaToggle:()=>setupMediaToggle,setupMediaTrack:()=>setupMediaTrack,setupParticipantName:()=>setupParticipantName,setupParticipantTile:()=>setupParticipantTile,setupStartAudio:()=>setupStartAudio,setupStartVideo:()=>setupStartVideo,setupTextStream:()=>setupTextStream,setupTrackMutedIndicator:()=>setupTrackMutedIndicator,sortParticipants:()=>sortParticipants,sortTrackReferences:()=>sortTrackReferences,supportsScreenSharing:()=>supportsScreenSharing,tokenize:()=>tokenize,trackEventSelector:()=>trackEventSelector,trackObservable:()=>trackObservable,trackReferencesObservable:()=>trackReferencesObservable,trackSyncTimeObserver:()=>trackSyncTimeObserver,trackTranscriptionObserver:()=>trackTranscriptionObserver,updatePages:()=>updatePages,wasClickOutside:()=>wasClickOutside}),module.exports=__toCommonJS(index_exports);var cssPrefix="lk";function isTrackReference(e){return void 0!==e&&(isTrackReferenceSubscribed(e)||isTrackReferencePublished(e))}function isTrackReferenceSubscribed(e){var t;return!!e&&(e.hasOwnProperty("participant")&&e.hasOwnProperty("source")&&e.hasOwnProperty("track")&&void 0!==(null==(t=e.publication)?void 0:t.track))}function isTrackReferencePublished(e){return!!e&&(e.hasOwnProperty("participant")&&e.hasOwnProperty("source")&&e.hasOwnProperty("publication")&&void 0!==e.publication)}function isTrackReferencePlaceholder(e){return!!e&&(e.hasOwnProperty("participant")&&e.hasOwnProperty("source")&&void 0===e.publication)}function getTrackReferenceId(e){if("string"==typeof e||"number"==typeof e)return`${e}`;if(isTrackReferencePlaceholder(e))return`${e.participant.identity}_${e.source}_placeholder`;if(isTrackReference(e))return`${e.participant.identity}_${e.publication.source}_${e.publication.trackSid}`;throw new Error(`Can't generate a id for the given track reference: ${e}`)}function getTrackReferenceSource(e){return isTrackReference(e)?e.publication.source:e.source}function isEqualTrackRef(e,t){return void 0!==e&&void 0!==t&&(isTrackReference(e)&&isTrackReference(t)?e.publication.trackSid===t.publication.trackSid:getTrackReferenceId(e)===getTrackReferenceId(t))}function isTrackReferencePinned(e,t){return void 0!==t&&(isTrackReference(e)?t.some((t=>t.participant.identity===e.participant.identity&&isTrackReference(t)&&t.publication.trackSid===e.publication.trackSid)):!!isTrackReferencePlaceholder(e)&&t.some((t=>t.participant.identity===e.participant.identity&&isTrackReferencePlaceholder(t)&&t.source===e.source)))}function isPlaceholderReplacement(e,t){return isTrackReferencePlaceholder(e)&&isTrackReference(t)&&t.participant.identity===e.participant.identity&&t.source===e.source}function isLocal(e){return e.isLocal}function isRemote(e){return!e.isLocal}var attachIfSubscribed=(e,t)=>{if(!e)return;const{isSubscribed:i,track:r}=e;t&&r&&(i?r.attach(t):r.detach(t))};function isParticipantTrackReferencePinned(e,t){return void 0!==t&&t.some((t=>isEqualTrackRef(t,e)))}function getScrollBarWidth(){const e=document.createElement("p");e.style.width="100%",e.style.height="200px";const t=document.createElement("div");t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.visibility="hidden",t.style.width="200px",t.style.height="150px",t.style.overflow="hidden",t.appendChild(e),document.body.appendChild(t);const i=e.offsetWidth;t.style.overflow="scroll";let r=e.offsetWidth;i===r&&(r=t.clientWidth),document.body.removeChild(t);return i-r}function isWeb(){return"undefined"!=typeof document}function isMobileBrowser(){return!!isWeb()&&/Mobi/i.test(window.navigator.userAgent)}function createUrlRegExp(e){e=__spreadValues({},e);const t=`(?:(?:(?:[a-z]+:)?//)?|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|${new RegExp("(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}","g").source}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))\\.?)(?::\\d{2,5})?(?:[/?#][^\\s"]*)?`;return e.exact?new RegExp(`(?:^${t}$)`,"i"):new RegExp(t,"ig")}var regex="[^\\.\\s@:](?:[^\\s@:]*[^\\s@:\\.])?@[^\\.\\s@]+(?:\\.[^\\.\\s@]+)*";function createEmailRegExp({exact:e}={}){return e?new RegExp(`^${regex}$`):new RegExp(regex,"g")}var import_dom=require("@floating-ui/dom");function computeMenuPosition(e,t,i){return(0,import_dom.autoUpdate)(e,t,(()=>__async(this,null,(function*(){const{x:r,y:n}=yield(0,import_dom.computePosition)(e,t,{placement:"top",middleware:[(0,import_dom.offset)(6),(0,import_dom.flip)(),(0,import_dom.shift)({padding:5})]});null==i||i(r,n)}))))}function wasClickOutside(e,t){return!e.contains(t.target)}var createDefaultGrammar=()=>({email:createEmailRegExp(),url:createUrlRegExp({})});function tokenize(e,t){const i=Object.entries(t).map((([t,i],r)=>Array.from(e.matchAll(i)).map((({index:e,0:i})=>({type:t,weight:r,content:i,index:null!=e?e:0}))))).flat().sort(((e,t)=>{const i=e.index-t.index;return 0!==i?i:e.weight-t.weight})).filter((({index:e},t,i)=>{if(0===t)return!0;const r=i[t-1];return r.index+r.content.length<=e})),r=[];let n=0;for(const{type:t,content:a,index:o}of i)o>n&&r.push(e.substring(n,o)),r.push({type:t,content:a}),n=o+a.length;return e.length>n&&r.push(e.substring(n)),r}var import_livekit_client=require("livekit-client"),allRemoteParticipantRoomEvents=[import_livekit_client.RoomEvent.ConnectionStateChanged,import_livekit_client.RoomEvent.RoomMetadataChanged,import_livekit_client.RoomEvent.ActiveSpeakersChanged,import_livekit_client.RoomEvent.ConnectionQualityChanged,import_livekit_client.RoomEvent.ParticipantConnected,import_livekit_client.RoomEvent.ParticipantDisconnected,import_livekit_client.RoomEvent.ParticipantPermissionsChanged,import_livekit_client.RoomEvent.ParticipantMetadataChanged,import_livekit_client.RoomEvent.ParticipantNameChanged,import_livekit_client.RoomEvent.ParticipantAttributesChanged,import_livekit_client.RoomEvent.TrackMuted,import_livekit_client.RoomEvent.TrackUnmuted,import_livekit_client.RoomEvent.TrackPublished,import_livekit_client.RoomEvent.TrackUnpublished,import_livekit_client.RoomEvent.TrackStreamStateChanged,import_livekit_client.RoomEvent.TrackSubscriptionFailed,import_livekit_client.RoomEvent.TrackSubscriptionPermissionChanged,import_livekit_client.RoomEvent.TrackSubscriptionStatusChanged],allParticipantRoomEvents=[...allRemoteParticipantRoomEvents,import_livekit_client.RoomEvent.LocalTrackPublished,import_livekit_client.RoomEvent.LocalTrackUnpublished],participantTrackEvents=[import_livekit_client.ParticipantEvent.TrackPublished,import_livekit_client.ParticipantEvent.TrackUnpublished,import_livekit_client.ParticipantEvent.TrackMuted,import_livekit_client.ParticipantEvent.TrackUnmuted,import_livekit_client.ParticipantEvent.TrackStreamStateChanged,import_livekit_client.ParticipantEvent.TrackSubscribed,import_livekit_client.ParticipantEvent.TrackUnsubscribed,import_livekit_client.ParticipantEvent.TrackSubscriptionPermissionChanged,import_livekit_client.ParticipantEvent.TrackSubscriptionFailed,import_livekit_client.ParticipantEvent.LocalTrackPublished,import_livekit_client.ParticipantEvent.LocalTrackUnpublished],allRemoteParticipantEvents=[import_livekit_client.ParticipantEvent.ConnectionQualityChanged,import_livekit_client.ParticipantEvent.IsSpeakingChanged,import_livekit_client.ParticipantEvent.ParticipantMetadataChanged,import_livekit_client.ParticipantEvent.ParticipantPermissionsChanged,import_livekit_client.ParticipantEvent.TrackMuted,import_livekit_client.ParticipantEvent.TrackUnmuted,import_livekit_client.ParticipantEvent.TrackPublished,import_livekit_client.ParticipantEvent.TrackUnpublished,import_livekit_client.ParticipantEvent.TrackStreamStateChanged,import_livekit_client.ParticipantEvent.TrackSubscriptionFailed,import_livekit_client.ParticipantEvent.TrackSubscriptionPermissionChanged,import_livekit_client.ParticipantEvent.TrackSubscriptionStatusChanged],allParticipantEvents=[...allRemoteParticipantEvents,import_livekit_client.ParticipantEvent.LocalTrackPublished,import_livekit_client.ParticipantEvent.LocalTrackUnpublished],import_livekit_client2=require("livekit-client"),import_loglevel=__toESM(require("loglevel")),log=import_loglevel.default.getLogger("lk-components-js");function setLogLevel(e,t={}){var i;log.setLevel(e),(0,import_livekit_client2.setLogLevel)(null!=(i=t.liveKitClientLogLevel)?i:e)}function setLogExtension(e,t={}){var i;const r=log.methodFactory;log.methodFactory=(t,i,n)=>{const a=r(t,i,n),o=import_livekit_client2.LogLevel[t],c=o>=i&&o<import_livekit_client2.LogLevel.silent;return(t,i)=>{i?a(t,i):a(t),c&&e(o,t,i)}},log.setLevel(log.getLevel()),(0,import_livekit_client2.setLogExtension)(null!=(i=t.liveKitClientLogExtension)?i:e)}log.setDefaultLevel("WARN");var GRID_LAYOUTS=[{columns:1,rows:1},{columns:1,rows:2,orientation:"portrait"},{columns:2,rows:1,orientation:"landscape"},{columns:2,rows:2,minWidth:560},{columns:3,rows:3,minWidth:700},{columns:4,rows:4,minWidth:960},{columns:5,rows:5,minWidth:1100}];function selectGridLayout(e,t,i,r){if(e.length<1)throw new Error("At least one grid layout definition must be provided.");const n=expandAndSortLayoutDefinitions(e);if(i<=0||r<=0)return n[0];let a=0;const o=i/r>1?"landscape":"portrait";let c=n.find(((e,i,r)=>{a=i;const n=-1!==r.findIndex(((t,r)=>{const n=!t.orientation||t.orientation===o,a=r>i,c=t.maxTiles===e.maxTiles;return a&&c&&n}));return e.maxTiles>=t&&!n}));if(void 0===c){if(c=n[n.length-1],!c)throw new Error("No layout or fallback layout found.");log.warn(`No layout found for: participantCount: ${t}, width/height: ${i}/${r} fallback to biggest available layout (${c}).`)}if((i<c.minWidth||r<c.minHeight)&&a>0){const e=n[a-1];c=selectGridLayout(n.slice(0,a),e.maxTiles,i,r)}return c}function expandAndSortLayoutDefinitions(e){return[...e].map((e=>{var t,i;return{name:`${e.columns}x${e.rows}`,columns:e.columns,rows:e.rows,maxTiles:e.columns*e.rows,minWidth:null!=(t=e.minWidth)?t:0,minHeight:null!=(i=e.minHeight)?i:0,orientation:e.orientation}})).sort(((e,t)=>e.maxTiles!==t.maxTiles?e.maxTiles-t.maxTiles:0!==e.minWidth||0!==t.minWidth?e.minWidth-t.minWidth:0!==e.minHeight||0!==t.minHeight?e.minHeight-t.minHeight:0))}function setDifference(e,t){const i=new Set(e);for(const e of t)i.delete(e);return i}function supportsScreenSharing(){return"undefined"!=typeof navigator&&navigator.mediaDevices&&!!navigator.mediaDevices.getDisplayMedia}function getActiveTranscriptionSegments(e,t,i=0){return e.filter((e=>{var r;const n=!!t.rtpTimestamp,a=null!=(r=t.rtpTimestamp)?r:performance.timeOrigin+performance.now(),o=n?Math.max(e.receivedAtMediaTimestamp,e.startTime):e.receivedAt,c=i+e.endTime-e.startTime;return a>=o&&a<=o+c}))}function addMediaTimestampToTranscription(e,t){var i;return __spreadProps(__spreadValues({},e),{receivedAtMediaTimestamp:null!=(i=t.rtpTimestamp)?i:0,receivedAt:t.timestamp})}function dedupeSegments(e,t,i){return[...e,...t].reduceRight(((e,t)=>(e.find((e=>e.id===t.id))||e.unshift(t),e)),[]).slice(0-i)}function didActiveSegmentsChange(e,t){return t.length!==e.length||!t.every((t=>e.find((e=>e.id===t.id&&e.text===t.text&&e.final===t.final&&e.language===t.language&&e.startTime===t.startTime&&e.endTime===t.endTime))))}var ParticipantAgentAttributes=(e=>(e.AgentState="lk.agent.state",e.PublishOnBehalf="lk.publish_on_behalf",e.TranscriptionFinal="lk.transcription_final",e.TranscriptionSegmentId="lk.segment_id",e.TranscribedTrackId="lk.transcribed_track_id",e))(ParticipantAgentAttributes||{}),PIN_DEFAULT_STATE=[],WIDGET_DEFAULT_STATE={showChat:!1,unreadMessages:0,showSettings:!1};function isSourceWitOptions(e){return"object"==typeof e}function isSourcesWithOptions(e){return Array.isArray(e)&&e.filter(isSourceWitOptions).length>0}var import_livekit_client4=require("livekit-client"),import_livekit_client3=require("livekit-client");function sortParticipantsByAudioLevel(e,t){return t.audioLevel-e.audioLevel}function sortParticipantsByIsSpeaking(e,t){return e.isSpeaking===t.isSpeaking?0:e.isSpeaking?-1:1}function sortParticipantsByLastSpokenAT(e,t){var i,r,n,a;return void 0!==e.lastSpokeAt||void 0!==t.lastSpokeAt?(null!=(r=null==(i=t.lastSpokeAt)?void 0:i.getTime())?r:0)-(null!=(a=null==(n=e.lastSpokeAt)?void 0:n.getTime())?a:0):0}function sortParticipantsByJoinedAt(e,t){var i,r,n,a;return(null!=(r=null==(i=e.joinedAt)?void 0:i.getTime())?r:0)-(null!=(a=null==(n=t.joinedAt)?void 0:n.getTime())?a:0)}function sortTrackReferencesByType(e,t){return isTrackReference(e)?isTrackReference(t)?0:-1:isTrackReference(t)?1:0}function sortTrackRefsByIsCameraEnabled(e,t){const i=e.participant.isCameraEnabled;return i!==t.participant.isCameraEnabled?i?-1:1:0}function sortTrackReferences(e){const t=[],i=[],r=[],n=[];e.forEach((e=>{e.participant.isLocal&&e.source===import_livekit_client4.Track.Source.Camera?t.push(e):e.source===import_livekit_client4.Track.Source.ScreenShare?i.push(e):e.source===import_livekit_client4.Track.Source.Camera?r.push(e):n.push(e)}));const a=sortScreenShareTracks(i),o=sortCameraTracks(r);return[...t,...a,...o,...n]}function sortScreenShareTracks(e){const t=[],i=[];e.forEach((e=>{e.participant.isLocal?t.push(e):i.push(e)})),t.sort(((e,t)=>sortParticipantsByJoinedAt(e.participant,t.participant))),i.sort(((e,t)=>sortParticipantsByJoinedAt(e.participant,t.participant)));return[...i,...t]}function sortCameraTracks(e){const t=[],i=[];return e.forEach((e=>{e.participant.isLocal?t.push(e):i.push(e)})),i.sort(((e,t)=>e.participant.isSpeaking&&t.participant.isSpeaking?sortParticipantsByAudioLevel(e.participant,t.participant):e.participant.isSpeaking!==t.participant.isSpeaking?sortParticipantsByIsSpeaking(e.participant,t.participant):e.participant.lastSpokeAt!==t.participant.lastSpokeAt?sortParticipantsByLastSpokenAT(e.participant,t.participant):isTrackReference(e)!==isTrackReference(t)?sortTrackReferencesByType(e,t):e.participant.isCameraEnabled!==t.participant.isCameraEnabled?sortTrackRefsByIsCameraEnabled(e,t):sortParticipantsByJoinedAt(e.participant,t.participant))),[...t,...i]}function sortParticipants(e){const t=[...e];t.sort(((e,t)=>{if(e.isSpeaking&&t.isSpeaking)return sortParticipantsByAudioLevel(e,t);if(e.isSpeaking!==t.isSpeaking)return sortParticipantsByIsSpeaking(e,t);if(e.lastSpokeAt!==t.lastSpokeAt)return sortParticipantsByLastSpokenAT(e,t);const i=e.videoTrackPublications.size>0;return i!==t.videoTrackPublications.size>0?i?-1:1:sortParticipantsByJoinedAt(e,t)}));const i=t.find((e=>e.isLocal));if(i){const e=t.indexOf(i);e>=0&&(t.splice(e,1),t.length>0?t.splice(0,0,i):t.push(i))}return t}function chunk(e,t){return e.reduce(((e,i,r)=>r%t==0?[...e,[i]]:[...e.slice(0,-1),[...e.slice(-1)[0],i]]),[])}function zip(e,t){const i=Math.max(e.length,t.length);return new Array(i).fill([]).map(((i,r)=>[e[r],t[r]]))}function differenceBy(e,t,i){return e.filter((e=>!t.map((e=>i(e))).includes(i(e))))}var import_livekit_client5=require("livekit-client");function flatTrackReferenceArray(e){return e.map((e=>"string"==typeof e||"number"==typeof e?`${e}`:getTrackReferenceId(e)))}function visualPageChange(e,t){return{dropped:differenceBy(e,t,getTrackReferenceId),added:differenceBy(t,e,getTrackReferenceId)}}function listNeedsUpdating(e){return 0!==e.added.length||0!==e.dropped.length}function findIndex(e,t){const i=t.findIndex((t=>getTrackReferenceId(t)===getTrackReferenceId(e)));if(-1===i)throw new Error(`Element not part of the array: ${getTrackReferenceId(e)} not in ${flatTrackReferenceArray(t)}`);return i}function swapItems(e,t,i){const r=findIndex(e,i),n=findIndex(t,i);return i.splice(r,1,t),i.splice(n,1,e),i}function dropItem(e,t){const i=findIndex(e,t);return t.splice(i,1),t}function addItem(e,t){return[...t,e]}function divideIntoPages(e,t){return chunk(e,t)}function updatePages(e,t,i){let r=refreshList(e,t);if(r.length<t.length){const e=differenceBy(t,r,getTrackReferenceId);r=[...r,...e]}if(zip(divideIntoPages(r,i),divideIntoPages(t,i)).forEach((([e,t],n)=>{if(e&&t){const a=visualPageChange(divideIntoPages(r,i)[n],t);listNeedsUpdating(a)&&(log.debug(`Detected visual changes on page: ${n}, current: ${flatTrackReferenceArray(e)}, next: ${flatTrackReferenceArray(t)}`,{changes:a}),a.added.length===a.dropped.length&&zip(a.added,a.dropped).forEach((([e,t])=>{if(!e||!t)throw new Error(`For a swap action we need a addition and a removal one is missing: ${e}, ${t}`);r=swapItems(e,t,r)})),0===a.added.length&&a.dropped.length>0&&a.dropped.forEach((e=>{r=dropItem(e,r)})),a.added.length>0&&0===a.dropped.length&&a.added.forEach((e=>{r=addItem(e,r)})))}})),r.length>t.length){const e=differenceBy(r,t,getTrackReferenceId);r=r.filter((t=>!e.map(getTrackReferenceId).includes(getTrackReferenceId(t))))}return r}function refreshList(e,t){return e.map((e=>{const i=t.find((t=>getTrackReferenceId(e)===getTrackReferenceId(t)||"number"!=typeof e&&isTrackReferencePlaceholder(e)&&isTrackReference(t)&&isPlaceholderReplacement(e,t)));return null!=i?i:e}))}var import_livekit_client9=require("livekit-client"),import_rxjs4=require("rxjs"),import_livekit_client8=require("livekit-client"),import_rxjs3=require("rxjs"),import_livekit_client6=require("livekit-client"),import_rxjs=require("rxjs");function prefixClass(e){return`${cssPrefix}-${e}`}function setupMediaTrack(e){const t=getTrackByIdentifier(e),i=observeParticipantMedia(e.participant).pipe((0,import_rxjs.map)((()=>getTrackByIdentifier(e))),(0,import_rxjs.startWith)(t));return{className:prefixClass(e.source===import_livekit_client6.Track.Source.Camera||e.source===import_livekit_client6.Track.Source.ScreenShare?"participant-media-video":"participant-media-audio"),trackObserver:i}}function getTrackByIdentifier(e){if(isTrackReference(e))return e.publication;{const{source:t,name:i,participant:r}=e;if(t&&i)return r.getTrackPublications().find((e=>e.source===t&&e.trackName===i));if(i)return r.getTrackPublicationByName(i);if(t)return r.getTrackPublication(t);throw new Error("At least one of source and name needs to be defined")}}var import_livekit_client7=require("livekit-client"),import_rxjs2=require("rxjs");function observeRoomEvents(e,...t){return new import_rxjs2.Observable((i=>{const r=()=>{i.next(e)};t.forEach((t=>{e.on(t,r)}));return()=>{t.forEach((t=>{e.off(t,r)}))}})).pipe((0,import_rxjs2.startWith)(e))}function roomEventSelector(e,t){return new import_rxjs2.Observable((i=>{const r=(...e)=>{i.next(e)};e.on(t,r);return()=>{e.off(t,r)}}))}function roomObserver(e){return observeRoomEvents(e,import_livekit_client7.RoomEvent.ParticipantConnected,import_livekit_client7.RoomEvent.ParticipantDisconnected,import_livekit_client7.RoomEvent.ActiveSpeakersChanged,import_livekit_client7.RoomEvent.TrackSubscribed,import_livekit_client7.RoomEvent.TrackUnsubscribed,import_livekit_client7.RoomEvent.LocalTrackPublished,import_livekit_client7.RoomEvent.LocalTrackUnpublished,import_livekit_client7.RoomEvent.AudioPlaybackStatusChanged,import_livekit_client7.RoomEvent.ConnectionStateChanged)}function connectionStateObserver(e){return roomEventSelector(e,import_livekit_client7.RoomEvent.ConnectionStateChanged).pipe((0,import_rxjs2.map)((([e])=>e)),(0,import_rxjs2.startWith)(e.state))}function screenShareObserver(e){let t;const i=[],r=new import_rxjs2.Observable((e=>(t=e,()=>{i.forEach((e=>{e.unsubscribe()}))}))),n=[],a=(e,i)=>{if(e.source!==import_livekit_client7.Track.Source.ScreenShare&&e.source!==import_livekit_client7.Track.Source.ScreenShareAudio)return;let r=n.find((e=>e.participant.identity===i.identity));const a=e=>e.getTrackPublications().filter((e=>(e.source===import_livekit_client7.Track.Source.ScreenShare||e.source===import_livekit_client7.Track.Source.ScreenShareAudio)&&e.track));if(r){const e=n.indexOf(r);n.splice(e,1),r.tracks=a(i)}else r={participant:i,tracks:a(i)};r.tracks.length>0&&n.push(r),t.next(n)};return i.push(roomEventSelector(e,import_livekit_client7.RoomEvent.TrackSubscribed).subscribe((([,...e])=>a(...e)))),i.push(roomEventSelector(e,import_livekit_client7.RoomEvent.TrackUnsubscribed).subscribe((([,...e])=>a(...e)))),i.push(roomEventSelector(e,import_livekit_client7.RoomEvent.LocalTrackPublished).subscribe((e=>a(...e)))),i.push(roomEventSelector(e,import_livekit_client7.RoomEvent.LocalTrackUnpublished).subscribe((e=>{a(...e)}))),i.push(roomEventSelector(e,import_livekit_client7.RoomEvent.TrackMuted).subscribe((e=>{a(...e)}))),i.push(roomEventSelector(e,import_livekit_client7.RoomEvent.TrackUnmuted).subscribe((e=>{a(...e)}))),setTimeout((()=>{for(const t of e.remoteParticipants.values())t.getTrackPublications().forEach((e=>{a(e,t)}))}),1),r}function roomInfoObserver(e){return observeRoomEvents(e,import_livekit_client7.RoomEvent.RoomMetadataChanged,import_livekit_client7.RoomEvent.ConnectionStateChanged).pipe((0,import_rxjs2.map)((e=>({name:e.name,metadata:e.metadata}))))}function activeSpeakerObserver(e){return roomEventSelector(e,import_livekit_client7.RoomEvent.ActiveSpeakersChanged).pipe((0,import_rxjs2.map)((([e])=>e)))}function createMediaDeviceObserver(e,t,i=!0){const r=new import_rxjs2.Observable((r=>{import_livekit_client7.Room.getLocalDevices(e,i).then((e=>{r.next(e),r.complete()})).catch((e=>{null==t||t(e),r.next([]),r.complete()}))})),n=new import_rxjs2.Observable((r=>{var n;const a=()=>__async(this,null,(function*(){try{const t=yield import_livekit_client7.Room.getLocalDevices(e,i);r.next(t)}catch(e){null==t||t(e)}}));if("undefined"!=typeof window){if(!window.isSecureContext)throw new Error("Accessing media devices is available only in secure contexts (HTTPS and localhost), in some or all supporting browsers. See: https://developer.mozilla.org/en-US/docs/Web/API/Navigator/mediaDevices");null==(n=null==navigator?void 0:navigator.mediaDevices)||n.addEventListener("devicechange",a)}return()=>{var e;null==(e=null==navigator?void 0:navigator.mediaDevices)||e.removeEventListener("devicechange",a)}}));return(0,import_rxjs2.concat)(r,n)}function createDataObserver(e){return roomEventSelector(e,import_livekit_client7.RoomEvent.DataReceived)}function createChatObserver(e){return roomEventSelector(e,import_livekit_client7.RoomEvent.ChatMessage)}function roomAudioPlaybackAllowedObservable(e){return observeRoomEvents(e,import_livekit_client7.RoomEvent.AudioPlaybackStatusChanged).pipe((0,import_rxjs2.map)((e=>({canPlayAudio:e.canPlaybackAudio}))))}function roomVideoPlaybackAllowedObservable(e){return observeRoomEvents(e,import_livekit_client7.RoomEvent.VideoPlaybackStatusChanged).pipe((0,import_rxjs2.map)((e=>({canPlayVideo:e.canPlaybackVideo}))))}function createActiveDeviceObservable(e,t){return roomEventSelector(e,import_livekit_client7.RoomEvent.ActiveDeviceChanged).pipe((0,import_rxjs2.filter)((([e])=>e===t)),(0,import_rxjs2.map)((([e,t])=>(log.debug("activeDeviceObservable | RoomEvent.ActiveDeviceChanged",{kind:e,deviceId:t}),t))))}function encryptionStatusObservable(e,t){return roomEventSelector(e,import_livekit_client7.RoomEvent.ParticipantEncryptionStatusChanged).pipe((0,import_rxjs2.filter)((([,i])=>(null==t?void 0:t.identity)===(null==i?void 0:i.identity)||!i&&(null==t?void 0:t.identity)===e.localParticipant.identity)),(0,import_rxjs2.map)((([e])=>e)),(0,import_rxjs2.startWith)((null==t?void 0:t.isLocal)?t.isE2EEEnabled:!!(null==t?void 0:t.isEncrypted)))}function recordingStatusObservable(e){return roomEventSelector(e,import_livekit_client7.RoomEvent.RecordingStatusChanged).pipe((0,import_rxjs2.map)((([e])=>e)),(0,import_rxjs2.startWith)(e.isRecording))}function observeParticipantEvents(e,...t){return new import_rxjs3.Observable((i=>{const r=()=>{i.next(e)};t.forEach((t=>{e.on(t,r)}));return()=>{t.forEach((t=>{e.off(t,r)}))}})).pipe((0,import_rxjs3.startWith)(e))}function observeParticipantMedia(e){return observeParticipantEvents(e,import_livekit_client8.ParticipantEvent.TrackMuted,import_livekit_client8.ParticipantEvent.TrackUnmuted,import_livekit_client8.ParticipantEvent.ParticipantPermissionsChanged,import_livekit_client8.ParticipantEvent.TrackPublished,import_livekit_client8.ParticipantEvent.TrackUnpublished,import_livekit_client8.ParticipantEvent.LocalTrackPublished,import_livekit_client8.ParticipantEvent.LocalTrackUnpublished,import_livekit_client8.ParticipantEvent.MediaDevicesError,import_livekit_client8.ParticipantEvent.TrackSubscriptionStatusChanged).pipe((0,import_rxjs3.map)((e=>{const{isMicrophoneEnabled:t,isCameraEnabled:i,isScreenShareEnabled:r}=e,n=e.getTrackPublication(import_livekit_client8.Track.Source.Microphone);return{isCameraEnabled:i,isMicrophoneEnabled:t,isScreenShareEnabled:r,cameraTrack:e.getTrackPublication(import_livekit_client8.Track.Source.Camera),microphoneTrack:n,participant:e}})))}function createTrackObserver(e,t){return observeParticipantMedia(e).pipe((0,import_rxjs3.map)((()=>({publication:getTrackByIdentifier(t)}))))}function participantInfoObserver(e){if(!e)return;return observeParticipantEvents(e,import_livekit_client8.ParticipantEvent.ParticipantMetadataChanged,import_livekit_client8.ParticipantEvent.ParticipantNameChanged).pipe((0,import_rxjs3.map)((({name:e,identity:t,metadata:i})=>({name:e,identity:t,metadata:i}))),(0,import_rxjs3.startWith)({name:e.name,identity:e.identity,metadata:e.metadata}))}function createConnectionQualityObserver(e){return participantEventSelector(e,import_livekit_client8.ParticipantEvent.ConnectionQualityChanged).pipe((0,import_rxjs3.map)((([e])=>e)),(0,import_rxjs3.startWith)(e.connectionQuality))}function participantEventSelector(e,t){return new import_rxjs3.Observable((i=>{const r=(...e)=>{i.next(e)};e.on(t,r);return()=>{e.off(t,r)}}))}function mutedObserver(e){var t,i,r,n;return observeParticipantEvents(e.participant,import_livekit_client8.ParticipantEvent.TrackMuted,import_livekit_client8.ParticipantEvent.TrackUnmuted,import_livekit_client8.ParticipantEvent.TrackSubscribed,import_livekit_client8.ParticipantEvent.TrackUnsubscribed,import_livekit_client8.ParticipantEvent.LocalTrackPublished,import_livekit_client8.ParticipantEvent.LocalTrackUnpublished).pipe((0,import_rxjs3.map)((t=>{var i,r;const n=null!=(i=e.publication)?i:t.getTrackPublication(e.source);return null==(r=null==n?void 0:n.isMuted)||r})),(0,import_rxjs3.startWith)(null==(n=null!=(r=null==(t=e.publication)?void 0:t.isMuted)?r:null==(i=e.participant.getTrackPublication(e.source))?void 0:i.isMuted)||n))}function createIsSpeakingObserver(e){return participantEventSelector(e,import_livekit_client8.ParticipantEvent.IsSpeakingChanged).pipe((0,import_rxjs3.map)((([e])=>e)))}function connectedParticipantsObserver(e,t={}){var i;let r;const n=new import_rxjs3.Observable((e=>(r=e,()=>o.unsubscribe()))).pipe((0,import_rxjs3.startWith)(Array.from(e.remoteParticipants.values()))),a=null!=(i=t.additionalRoomEvents)?i:allParticipantRoomEvents,o=observeRoomEvents(e,...Array.from(new Set([import_livekit_client8.RoomEvent.ParticipantConnected,import_livekit_client8.RoomEvent.ParticipantDisconnected,import_livekit_client8.RoomEvent.ConnectionStateChanged,...a]))).subscribe((e=>null==r?void 0:r.next(Array.from(e.remoteParticipants.values()))));return e.remoteParticipants.size>0&&(null==r||r.next(Array.from(e.remoteParticipants.values()))),n}function connectedParticipantObserver(e,t,i={}){var r;const n=null!=(r=i.additionalEvents)?r:allParticipantEvents;return observeRoomEvents(e,import_livekit_client8.RoomEvent.ParticipantConnected,import_livekit_client8.RoomEvent.ParticipantDisconnected,import_livekit_client8.RoomEvent.ConnectionStateChanged).pipe((0,import_rxjs3.switchMap)((e=>{const i=e.getParticipantByIdentity(t);return i?observeParticipantEvents(i,...n):new import_rxjs3.Observable((e=>e.next(void 0)))})),(0,import_rxjs3.startWith)(e.getParticipantByIdentity(t)))}function participantPermissionObserver(e){return participantEventSelector(e,import_livekit_client8.ParticipantEvent.ParticipantPermissionsChanged).pipe((0,import_rxjs3.map)((()=>e.permissions)),(0,import_rxjs3.startWith)(e.permissions))}function participantByIdentifierObserver(e,{kind:t,identity:i},r={}){var n;const a=null!=(n=r.additionalEvents)?n:allParticipantEvents,o=e=>{let r=!0;return t&&(r=r&&e.kind===t),i&&(r=r&&e.identity===i),r};return observeRoomEvents(e,import_livekit_client8.RoomEvent.ParticipantConnected,import_livekit_client8.RoomEvent.ParticipantDisconnected,import_livekit_client8.RoomEvent.ConnectionStateChanged).pipe((0,import_rxjs3.switchMap)((e=>{const t=Array.from(e.remoteParticipants.values()).find((e=>o(e)));return t?observeParticipantEvents(t,...a):new import_rxjs3.Observable((e=>e.next(void 0)))})),(0,import_rxjs3.startWith)(Array.from(e.remoteParticipants.values()).find((e=>o(e)))))}function participantAttributesObserver(e){return void 0===e?new import_rxjs3.Observable:participantEventSelector(e,import_livekit_client8.ParticipantEvent.AttributesChanged).pipe((0,import_rxjs3.map)((([t])=>({changed:t,attributes:e.attributes}))),(0,import_rxjs3.startWith)({changed:e.attributes,attributes:e.attributes}))}function setupMediaToggle(e,t,i,r,n){const{localParticipant:a}=t,o=(e,t)=>{let i=!1;switch(e){case import_livekit_client9.Track.Source.Camera:i=t.isCameraEnabled;break;case import_livekit_client9.Track.Source.Microphone:i=t.isMicrophoneEnabled;break;case import_livekit_client9.Track.Source.ScreenShare:i=t.isScreenShareEnabled}return i},c=observeParticipantMedia(a).pipe((0,import_rxjs4.map)((t=>o(e,t.participant))),(0,import_rxjs4.startWith)(o(e,a))),s=new import_rxjs4.Subject;return{className:prefixClass("button"),toggle:(t,o)=>__async(this,null,(function*(){try{switch(null!=o||(o=i),s.next(!0),e){case import_livekit_client9.Track.Source.Camera:return yield a.setCameraEnabled(null!=t?t:!a.isCameraEnabled,o,r),a.isCameraEnabled;case import_livekit_client9.Track.Source.Microphone:return yield a.setMicrophoneEnabled(null!=t?t:!a.isMicrophoneEnabled,o,r),a.isMicrophoneEnabled;case import_livekit_client9.Track.Source.ScreenShare:return yield a.setScreenShareEnabled(null!=t?t:!a.isScreenShareEnabled,o,r),a.isScreenShareEnabled;default:throw new TypeError("Tried to toggle unsupported source")}}catch(e){if(n&&e instanceof Error)return void(null==n||n(e));throw e}finally{s.next(!1)}})),enabledObserver:c,pendingObserver:s.asObservable()}}function setupManualToggle(){let e=!1;const t=new import_rxjs4.Subject,i=new import_rxjs4.Subject;return{className:prefixClass("button"),toggle:r=>__async(this,null,(function*(){i.next(!0),e=null!=r?r:!e,t.next(e),i.next(!1)})),enabledObserver:t.asObservable(),pendingObserver:i.asObservable()}}var import_livekit_client10=require("livekit-client"),import_rxjs5=require("rxjs");function setupDeviceSelector(e,t,i){const r=new import_rxjs5.BehaviorSubject(void 0),n=createActiveDeviceObservable(t,e);return{className:prefixClass("media-device-select"),activeDeviceObservable:n,setActiveMediaDevice:(n,...a)=>__async(this,[n,...a],(function*(n,a={}){var o,c,s;if(i){yield i.setDeviceId(a.exact?{exact:n}:n);const e=yield i.getDeviceId(!1);r.next("default"===n&&i.mediaStreamTrack.label.startsWith("Default")?n:e)}else if(t){const i=(0,import_livekit_client10.getBrowser)();if("audiooutput"===e&&("Safari"===(null==i?void 0:i.name)||"iOS"===(null==i?void 0:i.os)))return void log.warn("Switching audio output device is not supported on Safari and iOS.");log.debug(`Switching active device of kind "${e}" with id ${n}.`),yield t.switchActiveDevice(e,n,a.exact);const l=null!=(o=t.getActiveDevice(e))?o:n;let p;l!==n&&"default"!==n&&log.info(`We tried to select the device with id (${n}), but the browser decided to select the device with id (${l}) instead.`),"audioinput"===e?p=null==(c=t.localParticipant.getTrackPublication(import_livekit_client10.Track.Source.Microphone))?void 0:c.track:"videoinput"===e&&(p=null==(s=t.localParticipant.getTrackPublication(import_livekit_client10.Track.Source.Camera))?void 0:s.track);const u="default"===n&&!p||"default"===n&&(null==p?void 0:p.mediaStreamTrack.label.startsWith("Default"));r.next(u?n:l)}}))}}function setupDisconnectButton(e){return{className:prefixClass("disconnect-button"),disconnect:t=>{e.disconnect(t)}}}function setupConnectionQualityIndicator(e){return{className:prefixClass("connection-quality"),connectionQualityObserver:createConnectionQualityObserver(e)}}var import_livekit_client11=require("livekit-client");function setupTrackMutedIndicator(e){let t="track-muted-indicator-camera";switch(e.source){case import_livekit_client11.Track.Source.Camera:t="track-muted-indicator-camera";break;case import_livekit_client11.Track.Source.Microphone:t="track-muted-indicator-microphone"}return{className:prefixClass(t),mediaMutedObserver:mutedObserver(e)}}function setupParticipantName(e){return{className:"lk-participant-name",infoObserver:participantInfoObserver(e)}}function setupParticipantTile(){return{className:prefixClass("participant-tile")}}var import_livekit_client12=require("livekit-client"),import_rxjs7=require("rxjs"),import_rxjs6=require("rxjs"),DataTopic={CHAT:"lk.chat",TRANSCRIPTION:"lk.transcription"},LegacyDataTopic={CHAT:"lk-chat-topic"};function sendMessage(e,t){return __async(this,arguments,(function*(e,t,i={}){const{reliable:r,destinationIdentities:n,topic:a}=i;yield e.publishData(t,{destinationIdentities:n,topic:a,reliable:r})}))}function setupDataMessageHandler(e,t,i){const r=Array.isArray(t)?t:[t];let n;return{messageObservable:createDataObserver(e).pipe((0,import_rxjs6.filter)((([,,,e])=>void 0===t||void 0!==e&&r.includes(e))),(0,import_rxjs6.map)((([e,t,,r])=>{const n={payload:e,topic:r,from:t};return null==i||i(n),n}))),isSendingObservable:new import_rxjs6.Observable((e=>{n=e})),send:(t,...i)=>__async(this,[t,...i],(function*(t,i={}){n.next(!0);try{yield sendMessage(e.localParticipant,t,__spreadValues({topic:r[0]},i))}finally{n.next(!1)}}))}}function setupChatMessageHandler(e){return{chatObservable:createChatObserver(e),send:(t,i)=>__async(this,null,(function*(){const r=yield e.localParticipant.sendChatMessage(t,i);return yield e.localParticipant.sendText(t,i),__spreadProps(__spreadValues({},r),{type:"chatMessage",from:e.localParticipant,attachedFiles:i.attachments})})),edit:(t,i)=>__async(this,null,(function*(){return yield e.localParticipant.editChatMessage(t,i)}))}}var Future=class{constructor(e,t){this._isResolved=!1,this.onFinally=t,this.promise=new Promise(((t,i)=>__async(this,null,(function*(){this.resolve=t,this.reject=i,e&&(yield e(t,i))})))).finally((()=>{var e;this._isResolved=!0,null==(e=this.onFinally)||e.call(this)}))}get isResolved(){return this._isResolved}},topicSubjectMap=new WeakMap,streamIdToAttachments=new Map;function isIgnorableChatMessage(e){return 1==e.ignoreLegacy}var decodeLegacyMsg=e=>JSON.parse((new TextDecoder).decode(e)),encodeLegacyMsg=e=>(new TextEncoder).encode(JSON.stringify(e));function setupChat(e,t){var i,r,n,a,o,c;const s=()=>{var t,i,r;return 1===(null==(t=e.serverInfo)?void 0:t.edition)||!!(null==(i=e.serverInfo)?void 0:i.version)&&(0,import_livekit_client12.compareVersions)(null==(r=e.serverInfo)?void 0:r.version,"1.8.2")>0},l=new import_rxjs7.Subject,p=null!=(i=null==t?void 0:t.channelTopic)?i:DataTopic.CHAT,u=null!=(r=null==t?void 0:t.channelTopic)?r:LegacyDataTopic.CHAT;let d=!1;topicSubjectMap.has(e)||(d=!0);const m=null!=(n=topicSubjectMap.get(e))?n:new Map,v=null!=(a=m.get(p))?a:new import_rxjs7.Subject;m.set(p,v),topicSubjectMap.set(e,m);const _=null!=(o=null==t?void 0:t.messageDecoder)?o:decodeLegacyMsg;if(d){e.registerTextStreamHandler(p,((t,i)=>__async(this,null,(function*(){const{id:r,timestamp:n,attributes:a,attachedStreamIds:o}=t.info,c=new Map((null!=o?o:[]).map((e=>[e,new Future])));streamIdToAttachments.set(r,c);(0,import_rxjs7.from)(t).pipe((0,import_rxjs7.scan)(((e,t)=>e+t)),(0,import_rxjs7.mergeMap)((e=>0===c.size?(0,import_rxjs7.of)({chunk:e,attachedFiles:[]}):(0,import_rxjs7.from)(c.values()).pipe((0,import_rxjs7.mergeMap)((e=>(0,import_rxjs7.from)(e.promise))),(0,import_rxjs7.scan)(((e,t)=>[...e,new File(t.buffer,t.fileName)]),[]),(0,import_rxjs7.map)((t=>({chunk:e,attachedFiles:t})))))),(0,import_rxjs7.map)((({chunk:t,attachedFiles:o})=>({id:r,timestamp:n,message:t,from:e.getParticipantByIdentity(i.identity),type:"chatMessage",attributes:a,attachedFiles:o}))),(0,import_rxjs7.finalize)((()=>streamIdToAttachments.delete(r)))).subscribe({next:e=>v.next(e)})})))),e.registerByteStreamHandler(p,(e=>__async(this,null,(function*(){var t,i;const{id:r}=e.info,n=Array.from(streamIdToAttachments).find((([,e])=>e.has(r)));if(!n)return;const a=n[0],o=[];try{for(var c,s,l,p=__forAwait(e);c=!(s=yield p.next()).done;c=!1){const e=s.value;o.push(e)}}catch(s){l=[s]}finally{try{c&&(s=p.return)&&(yield s.call(p))}finally{if(l)throw l[0]}}const u=null==(t=streamIdToAttachments.get(a))?void 0:t.get(r);u&&(null==(i=u.resolve)||i.call(u,{fileName:e.info.name,buffer:o}))}))));const{messageObservable:t}=setupDataMessageHandler(e,[u]);t.pipe((0,import_rxjs7.map)((e=>{const t=_(e.payload);if(isIgnorableChatMessage(t))return;return __spreadProps(__spreadValues({},t),{type:"chatMessage",from:e.from})})),(0,import_rxjs7.filter)((e=>!!e)),(0,import_rxjs7.takeUntil)(l)).subscribe(v)}const f=v.pipe((0,import_rxjs7.scan)(((e,t)=>{if("id"in t&&e.find((e=>{var i,r;return(null==(i=e.from)?void 0:i.identity)===(null==(r=t.from)?void 0:r.identity)&&e.id===t.id}))){const i=e.findIndex((e=>e.id===t.id));if(i>-1){const r=e[i];e[i]=__spreadProps(__spreadValues({},t),{timestamp:r.timestamp,editTimestamp:t.timestamp})}return[...e]}return[...e,t]}),[]),(0,import_rxjs7.takeUntil)(l)),b=new import_rxjs7.BehaviorSubject(!1),k=null!=(c=null==t?void 0:t.messageEncoder)?c:encodeLegacyMsg;return e.once(import_livekit_client12.RoomEvent.Disconnected,(function(){l.next(),l.complete(),v.complete(),topicSubjectMap.delete(e),e.unregisterTextStreamHandler(p),e.unregisterByteStreamHandler(p)})),{messageObservable:f,isSendingObservable:b,send:(t,i)=>__async(this,null,(function*(){i||(i={}),null!=i.topic||(i.topic=p),b.next(!0);try{const r={id:(yield e.localParticipant.sendText(t,i)).id,timestamp:Date.now(),message:t},n=__spreadProps(__spreadValues({},r),{attachedFiles:i.attachments}),a=__spreadProps(__spreadValues({},n),{type:"chatMessage",from:e.localParticipant,attributes:i.attributes});v.next(a);const o=k(__spreadProps(__spreadValues({},r),{ignoreLegacy:s()}));try{yield sendMessage(e.localParticipant,o,{reliable:!0,topic:u})}catch(e){log.info("could not send message in legacy chat format",e)}return a}finally{b.next(!1)}}))}}function setupStartAudio(){return{className:prefixClass("start-audio-button"),roomAudioPlaybackAllowedObservable:roomAudioPlaybackAllowedObservable,handleStartAudioPlayback:e=>__async(this,null,(function*(){log.info("Start Audio for room: ",e),yield e.startAudio()}))}}function setupStartVideo(){return{className:prefixClass("start-audio-button"),roomVideoPlaybackAllowedObservable:roomVideoPlaybackAllowedObservable,handleStartVideoPlayback:e=>__async(this,null,(function*(){log.info("Start Video for room: ",e),yield e.startVideo()}))}}function setupChatToggle(){return{className:[prefixClass("button"),prefixClass("chat-toggle")].join(" ")}}function setupFocusToggle(){return{className:[prefixClass("button"),prefixClass("focus-toggle-button")].join(" ")}}function setupClearPinButton(){return{className:"lk-clear-pin-button lk-button"}}function setupLiveKitRoom(){return{className:"lk-room-container"}}var import_livekit_client13=require("livekit-client"),import_rxjs8=require("rxjs");function trackObservable(e){return observeTrackEvents(e,import_livekit_client13.TrackEvent.Muted,import_livekit_client13.TrackEvent.Unmuted,import_livekit_client13.TrackEvent.Subscribed,import_livekit_client13.TrackEvent.Unsubscribed)}function observeTrackEvents(e,...t){return new import_rxjs8.Observable((i=>{const r=()=>{i.next(e)};t.forEach((t=>{e.on(t,r)}));return()=>{t.forEach((t=>{e.off(t,r)}))}})).pipe((0,import_rxjs8.startWith)(e))}function getTrackReferences(e,t,i=!0){const r=[e.localParticipant,...Array.from(e.remoteParticipants.values())],n=[];return r.forEach((e=>{t.forEach((t=>{const r=Array.from(e.trackPublications.values()).filter((e=>e.source===t&&(!i||e.track))).map((t=>({participant:e,publication:t,source:t.source})));n.push(...r)}))})),{trackReferences:n,participants:r}}function getParticipantTrackRefs(e,t,i=!1){const{sources:r,kind:n,name:a}=t;return Array.from(e.trackPublications.values()).filter((e=>(!r||r.includes(e.source))&&(!n||e.kind===n)&&(!a||e.trackName===a)&&(!i||e.track))).map((t=>({participant:e,publication:t,source:t.source})))}function trackReferencesObservable(e,t,i){var r,n;const a=null!=(r=i.additionalRoomEvents)?r:allParticipantRoomEvents,o=null==(n=i.onlySubscribed)||n;return observeRoomEvents(e,...Array.from(new Set([import_livekit_client13.RoomEvent.ParticipantConnected,import_livekit_client13.RoomEvent.ParticipantDisconnected,import_livekit_client13.RoomEvent.ConnectionStateChanged,import_livekit_client13.RoomEvent.LocalTrackPublished,import_livekit_client13.RoomEvent.LocalTrackUnpublished,import_livekit_client13.RoomEvent.TrackPublished,import_livekit_client13.RoomEvent.TrackUnpublished,import_livekit_client13.RoomEvent.TrackSubscriptionStatusChanged,...a]).values())).pipe((0,import_rxjs8.map)((e=>{const i=getTrackReferences(e,t,o);return log.debug(`TrackReference[] was updated. (length ${i.trackReferences.length})`,i),i})),(0,import_rxjs8.startWith)(getTrackReferences(e,t,o)))}function participantTracksObservable(e,t){return observeParticipantEvents(e,...participantTrackEvents).pipe((0,import_rxjs8.map)((e=>{const i=getParticipantTrackRefs(e,t);return log.debug(`TrackReference[] was updated. (length ${i.length})`,i),i})),(0,import_rxjs8.startWith)(getParticipantTrackRefs(e,t)))}function trackEventSelector(e,t){return new import_rxjs8.Observable((i=>{const r=(...e)=>{i.next(e)};e.on(t,r);return()=>{e.off(t,r)}}))}function trackTranscriptionObserver(e){return trackEventSelector(e,import_livekit_client13.TrackEvent.TranscriptionReceived)}function trackSyncTimeObserver(e){return trackEventSelector(e,import_livekit_client13.TrackEvent.TimeSyncUpdate).pipe((0,import_rxjs8.map)((([e])=>e)))}var import_rxjs9=require("rxjs");function createInteractingObservable(e,t=1e3){if(null===e)return(0,import_rxjs9.of)(!1);const i=(0,import_rxjs9.fromEvent)(e,"mousemove",{passive:!0}).pipe((0,import_rxjs9.map)((()=>!0))),r=i.pipe((0,import_rxjs9.timeout)({each:t,with:()=>(0,import_rxjs9.concat)((0,import_rxjs9.of)(!1),r.pipe((0,import_rxjs9.skipUntil)(i)))}),(0,import_rxjs9.distinctUntilChanged)());return r}function saveToLocalStorage(e,t){if("undefined"!=typeof localStorage)try{if(t){const i=Object.fromEntries(Object.entries(t).filter((([,e])=>""!==e)));localStorage.setItem(e,JSON.stringify(i))}}catch(e){log.error(`Error setting item to local storage: ${e}`)}else log.error("Local storage is not available.")}function loadFromLocalStorage(e){if("undefined"!=typeof localStorage)try{const t=localStorage.getItem(e);return t?JSON.parse(t):void log.warn(`Item with key ${e} does not exist in local storage.`)}catch(e){return void log.error(`Error getting item from local storage: ${e}`)}else log.error("Local storage is not available.")}function createLocalStorageInterface(e){return{load:()=>loadFromLocalStorage(e),save:t=>saveToLocalStorage(e,t)}}var USER_CHOICES_KEY=`${cssPrefix}-user-choices`,defaultUserChoices={videoEnabled:!0,audioEnabled:!0,videoDeviceId:"default",audioDeviceId:"default",username:""},{load:load,save:save}=createLocalStorageInterface(USER_CHOICES_KEY);function saveUserChoices(e,t=!1){!0!==t&&save(e)}function loadUserChoices(e,t=!1){var i,r,n,a,o;const c={videoEnabled:null!=(i=null==e?void 0:e.videoEnabled)?i:defaultUserChoices.videoEnabled,audioEnabled:null!=(r=null==e?void 0:e.audioEnabled)?r:defaultUserChoices.audioEnabled,videoDeviceId:null!=(n=null==e?void 0:e.videoDeviceId)?n:defaultUserChoices.videoDeviceId,audioDeviceId:null!=(a=null==e?void 0:e.audioDeviceId)?a:defaultUserChoices.audioDeviceId,username:null!=(o=null==e?void 0:e.username)?o:defaultUserChoices.username};if(t)return c;{const e=load();return __spreadValues(__spreadValues({},c),null!=e?e:{})}}var import_livekit_client14=require("livekit-client"),import_rxjs10=require("rxjs"),import_operators=require("rxjs/operators"),observableCacheInstance=null,roomInstanceMapInstance=null,nextRoomId=0;function getObservableCache(){return observableCacheInstance||(observableCacheInstance=new Map),observableCacheInstance}function getRoomInstanceMap(){return roomInstanceMapInstance||(roomInstanceMapInstance=new WeakMap),roomInstanceMapInstance}function getCacheKey(e,t){const i=getRoomInstanceMap();let r=i.get(e);return r||(r="room_"+nextRoomId++,i.set(e,r)),`${r}:${t}`}function setupTextStream(e,t){const i=getCacheKey(e,t),r=getObservableCache(),n=r.get(i);if(n)return n;const a=new import_rxjs10.Subject;let o=[];const c="lk.segment_id",s=a.pipe((0,import_operators.tap)({subscribe:()=>{e.registerTextStreamHandler(t,((e,t)=>__async(this,null,(function*(){var i;const r=(0,import_rxjs10.from)(e).pipe((0,import_rxjs10.scan)(((e,t)=>e+t),"")),n=!!(null==(i=e.info.attributes)?void 0:i[c]);r.subscribe((i=>{const r=o.findIndex((t=>{var i,r;return t.streamInfo.id===e.info.id||n&&(null==(i=t.streamInfo.attributes)?void 0:i[c])===(null==(r=e.info.attributes)?void 0:r[c])}));-1!==r?(o[r]=__spreadProps(__spreadValues({},o[r]),{text:i}),a.next([...o])):(o.push({text:i,participantInfo:t,streamInfo:e.info}),a.next([...o]))}))}))))},finalize:()=>{e.unregisterTextStreamHandler(t)}}),(0,import_operators.share)());return r.set(i,s),e.on(import_livekit_client14.RoomEvent.Disconnected,(()=>{getObservableCache().delete(i),o=[],a.next([])})),s}
//# sourceMappingURL=/sm/7bdc8162e3c465f187ba4b63ef36db5d1e4b842f0c5f64314c043b0aff3ad457.map