+
    ~jP                        R t ^ RIHt ^ RIHt ^ RIHt ^ RIH	t
 ]P                  ! 4       t^ RIHt ^RIHt ^RIHt ^RIHt ^R	IHt ^R
IHt ^RIHt ]P                  ! 4       P;                  R4      t]! 4       t ]
PB                  ! ]] 4       ]
PD                  ! ]R] 4       ]PF                  R8X  E	d   R] R,          n$        R] R,          n%        R] R,          PL                  R,          n$        R] R,          PL                  R,          n%        R] R,          PL                  R,          n$        R] R,          PL                  R,          n%        R] R,          PL                  R,          n$        R] R,          PL                  R,          n%        R] R,          PL                  R,          n$        R] R,          PL                  R,          n%        R] R,          PL                  R,          n$        R] R,          PL                  R,          n%        R] R,          PL                  R,          n$        R] R,          PL                  R,          n%        R] R,          PL                  R,          n$        R] R,          PL                  R,          n%        R] R,          PL                  R,          n$        R] R,          PL                  R,          n%        R] R,          PL                  R,          n$        R] R,          PL                  R,          n%        R] R,          PL                  R ,          n$        R!] R,          PL                  R ,          n%        R] R,          PL                  R",          n$        R#] R,          PL                  R",          n%        R] R,          PL                  R$,          n$        R%] R,          PL                  R$,          n%        R] R&,          PL                  R',          n$        R(] R&,          PL                  R',          n%        R] R),          PL                  R,          n$        R] R),          PL                  R,          n%        R] R*,          n$        R+] R*,          n%        R] R,,          PL                  R',          n$        R(] R,,          PL                  R',          n%        R] R,,          PL                  R,          n$        R] R,,          PL                  R,          n%        R] R,,          PL                  R,          n$        R] R,,          PL                  R,          n%        R] R,,          PL                  R,          n$        R] R,,          PL                  R,          n%        R] R-,          PL                  R',          n$        R(] R-,          PL                  R',          n%        R] R-,          PL                  R,          n$        R] R-,          PL                  R,          n%        R] R-,          PL                  R,          n$        R] R-,          PL                  R,          n%        R] R-,          PL                  R,          n$        R] R-,          PL                  R,          n%        R] R-,          PL                  R,          n$        R] R-,          PL                  R,          n%        R] R.,          PL                  R/,          n$        R0] R.,          PL                  R/,          n%        R] R.,          PL                  R',          n$        R(] R.,          PL                  R',          n%        R] R.,          PL                  R,          n$        R] R.,          PL                  R,          n%        R] R.,          PL                  R,          n$        R] R.,          PL                  R,          n%        R] R.,          PL                  R,          n$        R] R.,          PL                  R,          n%        R] R.,          PL                  R,          n$        R] R.,          PL                  R,          n%        R] R.,          PL                  R,          n$        R] R.,          PL                  R,          n%        R1] R2,          n'        R3] R2,          n(        R4] R5,          n'        R6] R5,          n(        ^] R7,          n'        R8] R7,          n(        R9] R:,          n'        R;] R:,          n(        R<] R,          n'        R=] R,          n(        R>] R?,          n'        R@] R?,          n(        RA] RB,          n'        RC] RB,          n(        RD] R,          n'        RE] R,          n(        RF] RG,          n'        RH] RG,          n(        RI] RJ,          n'        RK] RJ,          n(        RL] R&,          n'        RM] R&,          n(        RN] R),          n'        RO] R),          n(        RP] RQ,          n'        RR] RQ,          n(        RS] RT,          n'        RU] RT,          n(        RV] R,,          n'        RW] R,,          n(        RX] R*,          n'        RY] R*,          n(        RZ] R[,          n'        RW] R[,          n(        R\] R],          n'        R^] R],          n(        R_] R-,          n'        R`] R-,          n(        Ra] R.,          n'        Rb] R.,          n(        R# R# )czGenerated protocol buffer code.)
descriptor)descriptor_pool)symbol_database)builder)timestamp_pb2)models)egress)ingress)sip)room)optionss  
livekit_analytics.protolivekitgoogle/protobuf/timestamp.protolivekit_models.protolivekit_egress.protolivekit_ingress.protolivekit_sip.protolivekit_room.protologger/options.proto"T
AnalyticsVideoLayer
layer (
packets (
bytes (
frames ("
AnalyticsStream
ssrc (
primary_packets (
primary_bytes (
retransmit_packets (
retransmit_bytes (
padding_packets (
padding_bytes (
packets_lost (
frames	 (
rtt
 (
jitter (
nacks (
plis (
firs (2
video_layers (2.livekit.AnalyticsVideoLayer.

start_time (2.google.protobuf.Timestamp,
end_time (2.google.protobuf.Timestamp
packets_out_of_order ("
AnalyticsStat

id (	
analytics_key (	!
kind (2.livekit.StreamType.

time_stamp (2.google.protobuf.Timestamp
node (	
room_id (	B	ProomID
	room_name (	(
participant_id (	BPparticipantID
track_id (	B
PtrackID
score	 ()
streams
 (2.livekit.AnalyticsStream
mime (	
	min_score (
median_score ("7
AnalyticsStats%
stats (2.livekit.AnalyticsStat"
AnalyticsClientMeta
region (	
node (	
client_addr (	
client_connect_time (
connection_type (	2
reconnect_reason (2.livekit.ReconnectReason
geo_hash (	H 
country (	H
isp_asn	 (HB
	_geo_hashB

_countryB

_isp_asn"

AnalyticsEvent

id (	)
type (2.livekit.AnalyticsEventType-
	timestamp (2.google.protobuf.Timestamp
room_id (	B	ProomID
room (2.livekit.Room(
participant_id (	BPparticipantID-
participant (2.livekit.ParticipantInfo
track_id (	B
PtrackID!
track (2.livekit.TrackInfo
analytics_key
 (	(
client_info (2.livekit.ClientInfo1
client_meta (2.livekit.AnalyticsClientMeta
	egress_id (	BPegressID 

ingress_id (	BP	ingressID;
max_subscribed_video_quality (2.livekit.VideoQuality+
	publisher (2.livekit.ParticipantInfo
mime (	#
egress (2.livekit.EgressInfo%
ingress (2.livekit.IngressInfo
error (	$
	rtp_stats (2.livekit.RTPStats
video_layer (
node_id (	B	PnodeID!
sip_call_id (	BP	sipCallID&
sip_call (2.livekit.SIPCallInfo#
sip_trunk_id (	BP
sipTrunkID7
sip_inbound_trunk (2.livekit.SIPInboundTrunkInfo9
sip_outbound_trunk (2.livekit.SIPOutboundTrunkInfo2
sip_dispatch_rule_id (	BPsipDispatchRuleID7
sip_dispatch_rule  (2.livekit.SIPDispatchRuleInfo.
sip_transfer$ (2.livekit.SIPTransferInfo#
report! (2.livekit.ReportInfo&
api_call" (2.livekit.APICallInfo%
webhook# (2.livekit.WebhookInfo":
AnalyticsEvents'
events (2.livekit.AnalyticsEvent"
AnalyticsRoomParticipant

id (	
identity (	
name (	-
state (2.livekit.ParticipantInfo.State-
	joined_at (2.google.protobuf.Timestamp"
AnalyticsRoom

id (	
name (	 

project_id (	BP	projectID.

created_at (2.google.protobuf.Timestamp7
participants (2!.livekit.AnalyticsRoomParticipant"
AnalyticsNodeRooms
node_id (	B	PnodeID
sequence_number (-
	timestamp (2.google.protobuf.Timestamp%
rooms (2.livekit.AnalyticsRoom"K

ReportInfo2
feature_usage (2.livekit.FeatureUsageInfoH B	
message"i
	TimeRange.

started_at (2.google.protobuf.Timestamp,
ended_at (2.google.protobuf.Timestamp"
FeatureUsageInfo2
feature (2!.livekit.FeatureUsageInfo.Feature 

project_id (	BP	projectID
	room_name (	
room_id (	B	ProomID
participant_identity (	(
participant_id (	BPparticipantID
track_id (	B
PtrackID'
time_ranges (2.livekit.TimeRange@
feature_info	 (2*.livekit.FeatureUsageInfo.FeatureInfoEntry2
FeatureInfoEntry
key (	
value (	:8"k
Feature
KRISP_NOISE_CANCELLATION '
#KRISP_BACKGROUND_VOICE_CANCELLATION
AIC_AUDIO_ENHANCEMENT"
APICallRequest9
create_room_request (2.livekit.CreateRoomRequestH 7
list_rooms_request (2.livekit.ListRoomsRequestH 9
delete_room_request (2.livekit.DeleteRoomRequestH E
list_participants_request (2 .livekit.ListParticipantsRequestH E
room_participant_identity (2 .livekit.RoomParticipantIdentityH @
mute_room_track_request (2.livekit.MuteRoomTrackRequestH G
update_participant_request (2!.livekit.UpdateParticipantRequestH K
update_subscriptions_request (2#.livekit.UpdateSubscriptionsRequestH 5
send_data_request	 (2.livekit.SendDataRequestH J
update_room_metadata_request
 (2".livekit.UpdateRoomMetadataRequestH B	
message"
APICallInfo 

project_id (	BP	projectID(
request (2.livekit.APICallRequest
service (	
method (	
node_id (	B	PnodeID
status (
twirp_error_code (	
twirp_error_message (	
	room_name	 (	
room_id
 (	B	ProomID
participant_identity (	(
participant_id (	BPparticipantID
track_id (	B
PtrackID.

started_at (2.google.protobuf.Timestamp
duration_ns ("
WebhookInfo
event_id (	B
PeventID
event (	 

project_id (	BP	projectID
	room_name (	
room_id (	B	ProomID
participant_identity (	(
participant_id (	BPparticipantID
track_id (	B
PtrackID
	egress_id	 (	BPegressID 

ingress_id
 (	BP	ingressID.

created_at (2.google.protobuf.Timestamp-
	queued_at (2.google.protobuf.Timestamp
queue_duration_ns (+
sent_at (2.google.protobuf.Timestamp
send_duration_ns (
url (	
num_dropped (

is_dropped (
service_status (	
service_error_code (
service_error (	

send_error (	**

StreamType
UPSTREAM 

DOWNSTREAM*
AnalyticsEventType
ROOM_CREATED 

ROOM_ENDED
PARTICIPANT_JOINED
PARTICIPANT_LEFT"
PARTICIPANT_CONNECTION_ABORTED-
TRACK_PUBLISHED
TRACK_PUBLISH_REQUESTED
TRACK_UNPUBLISHED
TRACK_SUBSCRIBED
TRACK_SUBSCRIBE_REQUESTED
TRACK_SUBSCRIBE_FAILED
TRACK_UNSUBSCRIBED
TRACK_PUBLISHED_UPDATE

TRACK_MUTED
TRACK_UNMUTED
TRACK_PUBLISH_STATS
TRACK_SUBSCRIBE_STATS
PARTICIPANT_ACTIVE
PARTICIPANT_RESUMED
EGRESS_STARTED
EGRESS_ENDED
EGRESS_UPDATED&
"TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY
RECONNECTED
INGRESS_CREATED
INGRESS_DELETED
INGRESS_STARTED
INGRESS_ENDED
INGRESS_UPDATED
SIP_INBOUND_TRUNK_CREATED
SIP_INBOUND_TRUNK_DELETED
SIP_OUTBOUND_TRUNK_CREATED 
SIP_OUTBOUND_TRUNK_DELETED!
SIP_DISPATCH_RULE_CREATED"
SIP_DISPATCH_RULE_DELETED#
SIP_PARTICIPANT_CREATED$
SIP_CALL_INCOMING%
SIP_CALL_STARTED&
SIP_CALL_ENDED'
SIP_TRANSFER_REQUESTED+
SIP_TRANSFER_COMPLETE,
SIP_CALL_UPDATE.

REPORT(
API_CALL)
WEBHOOK*BFZ#github.com/livekit/protocol/livekitLiveKit.ProtoLiveKit::Protobproto3	analyticsFN
DESCRIPTORsF   Z#github.com/livekit/protocol/livekitLiveKit.ProtoLiveKit::Proto_ANALYTICSSTATroom_ids	   ProomIDparticipant_ids   PparticipantIDtrack_ids
   PtrackID_ANALYTICSEVENT	egress_ids   PegressID
ingress_ids   P	ingressIDnode_ids	   PnodeIDsip_call_ids   P	sipCallIDsip_trunk_ids   P
sipTrunkIDsip_dispatch_rule_ids   PsipDispatchRuleID_ANALYTICSROOM
project_ids   P	projectID_ANALYTICSNODEROOMS"_FEATUREUSAGEINFO_FEATUREINFOENTRYs   8_FEATUREUSAGEINFO_APICALLINFO_WEBHOOKINFOevent_ids
   PeventIDi  _STREAMTYPEi  i  _ANALYTICSEVENTTYPEiU  _ANALYTICSVIDEOLAYERi  i  _ANALYTICSSTREAMi  i  im  io  _ANALYTICSSTATSi  i  _ANALYTICSCLIENTMETAi  i  i
  i
  _ANALYTICSEVENTSi   i#  _ANALYTICSROOMPARTICIPANTi  i  i~  i  i   i"  _REPORTINFOim  io  
_TIMERANGEi  i  i  iE  iw  iy  _FEATUREUSAGEINFO_FEATUREi  _APICALLREQUESTi  i  iT  iW  i  ))__doc__google.protobufr   _descriptorr   _descriptor_poolr   _symbol_databasegoogle.protobuf.internalr   _builderDefault_sym_dbr   &google_dot_protobuf_dot_timestamp__pb2 r   _models_r   _egress_r	   	_ingress_r
   _sip_r   _room_	logger_pbr   logger_dot_options__pb2AddSerializedFiler   globals_globalsBuildMessageAndEnumDescriptorsBuildTopDescriptorsAndMessages_USE_C_DESCRIPTORS_options_serialized_optionsfields_by_name_serialized_start_serialized_end     o/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/livekit/protocol/analytics.py<module>rN      s  
 & 5 ? ? 8 
"
"
$ T     "   9 %%'99  ;hy  iy
9  ' '
H =  ' '
K J!!U*$((<! 0I(<,BF(++I6?M_(++I6JIM(++,<=FTk(++,<=QCG(++J7@Na(++J7KCG(,,Y7@N`(,,Y7KJN(,,-=>GUl(,,-=>RDH(,,Z8AOb(,,Z8LEI(,,[9BPd(,,[9MFJ(,,\:CQd(,,\:NCG(,,Y7@N`(,,Y7KGK(,,];DRe(,,];OHL(,,^<ESg(,,^<PPT(,,-CDM[x(,,-CDXEI(++L9BPc(++L9MGK( !00;DRd( !00;O<@(/09GO(/0DHL(..|<ESf(..|<PEI(..y9BPb(..y9MLP(../?@IWn(../?@TFJ(..z:CQd(..z:NCG(>)),7@Na(>)),7K@D(>)))4=K](>)))4H@D(>)))4=K](>)))4HGK(>))*:;DRi(>))*:;OAE(>))*5>L_(>))*5IAE(>))*5>L_(>))*5ICG(>)),7@Na(>)),7K@D(>)))4=K](>)))4HGK(>))*:;DRi(>))*:;OAE(>))*5>L_(>))*5IBF(>))+6?Ma(>))+6JCG(>)),7@Na(>)),7K,0(=+*.(=)48( !326( !158(!"436(!"214(0/2(./2(.-1(,04(/.2(-59(!"437(!"204(/.2(-15(0/3(.:>(&'98<(&'7/3(.-1(,48( !326( !1,0(=+*.(=)+/(<*)-(<(26(104(/CG(/0BAE(/0@:>(&'98<(&'704(/.2(--1(>,+/(>*-1(>,+/(>*Q +rL   