// Copyright 2023 LiveKit, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.5
// 	protoc        v4.23.4
// source: livekit_sip.proto

package livekit

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type SIPStatusCode int32

const (
	SIPStatusCode_SIP_STATUS_UNKNOWN                          SIPStatusCode = 0
	SIPStatusCode_SIP_STATUS_TRYING                           SIPStatusCode = 100
	SIPStatusCode_SIP_STATUS_RINGING                          SIPStatusCode = 180
	SIPStatusCode_SIP_STATUS_CALL_IS_FORWARDED                SIPStatusCode = 181
	SIPStatusCode_SIP_STATUS_QUEUED                           SIPStatusCode = 182
	SIPStatusCode_SIP_STATUS_SESSION_PROGRESS                 SIPStatusCode = 183
	SIPStatusCode_SIP_STATUS_OK                               SIPStatusCode = 200
	SIPStatusCode_SIP_STATUS_ACCEPTED                         SIPStatusCode = 202
	SIPStatusCode_SIP_STATUS_MOVED_PERMANENTLY                SIPStatusCode = 301
	SIPStatusCode_SIP_STATUS_MOVED_TEMPORARILY                SIPStatusCode = 302
	SIPStatusCode_SIP_STATUS_USE_PROXY                        SIPStatusCode = 305
	SIPStatusCode_SIP_STATUS_BAD_REQUEST                      SIPStatusCode = 400
	SIPStatusCode_SIP_STATUS_UNAUTHORIZED                     SIPStatusCode = 401
	SIPStatusCode_SIP_STATUS_PAYMENT_REQUIRED                 SIPStatusCode = 402
	SIPStatusCode_SIP_STATUS_FORBIDDEN                        SIPStatusCode = 403
	SIPStatusCode_SIP_STATUS_NOTFOUND                         SIPStatusCode = 404
	SIPStatusCode_SIP_STATUS_METHOD_NOT_ALLOWED               SIPStatusCode = 405
	SIPStatusCode_SIP_STATUS_NOT_ACCEPTABLE                   SIPStatusCode = 406
	SIPStatusCode_SIP_STATUS_PROXY_AUTH_REQUIRED              SIPStatusCode = 407
	SIPStatusCode_SIP_STATUS_REQUEST_TIMEOUT                  SIPStatusCode = 408
	SIPStatusCode_SIP_STATUS_CONFLICT                         SIPStatusCode = 409
	SIPStatusCode_SIP_STATUS_GONE                             SIPStatusCode = 410
	SIPStatusCode_SIP_STATUS_REQUEST_ENTITY_TOO_LARGE         SIPStatusCode = 413
	SIPStatusCode_SIP_STATUS_REQUEST_URI_TOO_LONG             SIPStatusCode = 414
	SIPStatusCode_SIP_STATUS_UNSUPPORTED_MEDIA_TYPE           SIPStatusCode = 415
	SIPStatusCode_SIP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE  SIPStatusCode = 416
	SIPStatusCode_SIP_STATUS_BAD_EXTENSION                    SIPStatusCode = 420
	SIPStatusCode_SIP_STATUS_EXTENSION_REQUIRED               SIPStatusCode = 421
	SIPStatusCode_SIP_STATUS_INTERVAL_TOO_BRIEF               SIPStatusCode = 423
	SIPStatusCode_SIP_STATUS_TEMPORARILY_UNAVAILABLE          SIPStatusCode = 480
	SIPStatusCode_SIP_STATUS_CALL_TRANSACTION_DOES_NOT_EXISTS SIPStatusCode = 481
	SIPStatusCode_SIP_STATUS_LOOP_DETECTED                    SIPStatusCode = 482
	SIPStatusCode_SIP_STATUS_TOO_MANY_HOPS                    SIPStatusCode = 483
	SIPStatusCode_SIP_STATUS_ADDRESS_INCOMPLETE               SIPStatusCode = 484
	SIPStatusCode_SIP_STATUS_AMBIGUOUS                        SIPStatusCode = 485
	SIPStatusCode_SIP_STATUS_BUSY_HERE                        SIPStatusCode = 486
	SIPStatusCode_SIP_STATUS_REQUEST_TERMINATED               SIPStatusCode = 487
	SIPStatusCode_SIP_STATUS_NOT_ACCEPTABLE_HERE              SIPStatusCode = 488
	SIPStatusCode_SIP_STATUS_INTERNAL_SERVER_ERROR            SIPStatusCode = 500
	SIPStatusCode_SIP_STATUS_NOT_IMPLEMENTED                  SIPStatusCode = 501
	SIPStatusCode_SIP_STATUS_BAD_GATEWAY                      SIPStatusCode = 502
	SIPStatusCode_SIP_STATUS_SERVICE_UNAVAILABLE              SIPStatusCode = 503
	SIPStatusCode_SIP_STATUS_GATEWAY_TIMEOUT                  SIPStatusCode = 504
	SIPStatusCode_SIP_STATUS_VERSION_NOT_SUPPORTED            SIPStatusCode = 505
	SIPStatusCode_SIP_STATUS_MESSAGE_TOO_LARGE                SIPStatusCode = 513
	SIPStatusCode_SIP_STATUS_GLOBAL_BUSY_EVERYWHERE           SIPStatusCode = 600
	SIPStatusCode_SIP_STATUS_GLOBAL_DECLINE                   SIPStatusCode = 603
	SIPStatusCode_SIP_STATUS_GLOBAL_DOES_NOT_EXIST_ANYWHERE   SIPStatusCode = 604
	SIPStatusCode_SIP_STATUS_GLOBAL_NOT_ACCEPTABLE            SIPStatusCode = 606
)

// Enum value maps for SIPStatusCode.
var (
	SIPStatusCode_name = map[int32]string{
		0:   "SIP_STATUS_UNKNOWN",
		100: "SIP_STATUS_TRYING",
		180: "SIP_STATUS_RINGING",
		181: "SIP_STATUS_CALL_IS_FORWARDED",
		182: "SIP_STATUS_QUEUED",
		183: "SIP_STATUS_SESSION_PROGRESS",
		200: "SIP_STATUS_OK",
		202: "SIP_STATUS_ACCEPTED",
		301: "SIP_STATUS_MOVED_PERMANENTLY",
		302: "SIP_STATUS_MOVED_TEMPORARILY",
		305: "SIP_STATUS_USE_PROXY",
		400: "SIP_STATUS_BAD_REQUEST",
		401: "SIP_STATUS_UNAUTHORIZED",
		402: "SIP_STATUS_PAYMENT_REQUIRED",
		403: "SIP_STATUS_FORBIDDEN",
		404: "SIP_STATUS_NOTFOUND",
		405: "SIP_STATUS_METHOD_NOT_ALLOWED",
		406: "SIP_STATUS_NOT_ACCEPTABLE",
		407: "SIP_STATUS_PROXY_AUTH_REQUIRED",
		408: "SIP_STATUS_REQUEST_TIMEOUT",
		409: "SIP_STATUS_CONFLICT",
		410: "SIP_STATUS_GONE",
		413: "SIP_STATUS_REQUEST_ENTITY_TOO_LARGE",
		414: "SIP_STATUS_REQUEST_URI_TOO_LONG",
		415: "SIP_STATUS_UNSUPPORTED_MEDIA_TYPE",
		416: "SIP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE",
		420: "SIP_STATUS_BAD_EXTENSION",
		421: "SIP_STATUS_EXTENSION_REQUIRED",
		423: "SIP_STATUS_INTERVAL_TOO_BRIEF",
		480: "SIP_STATUS_TEMPORARILY_UNAVAILABLE",
		481: "SIP_STATUS_CALL_TRANSACTION_DOES_NOT_EXISTS",
		482: "SIP_STATUS_LOOP_DETECTED",
		483: "SIP_STATUS_TOO_MANY_HOPS",
		484: "SIP_STATUS_ADDRESS_INCOMPLETE",
		485: "SIP_STATUS_AMBIGUOUS",
		486: "SIP_STATUS_BUSY_HERE",
		487: "SIP_STATUS_REQUEST_TERMINATED",
		488: "SIP_STATUS_NOT_ACCEPTABLE_HERE",
		500: "SIP_STATUS_INTERNAL_SERVER_ERROR",
		501: "SIP_STATUS_NOT_IMPLEMENTED",
		502: "SIP_STATUS_BAD_GATEWAY",
		503: "SIP_STATUS_SERVICE_UNAVAILABLE",
		504: "SIP_STATUS_GATEWAY_TIMEOUT",
		505: "SIP_STATUS_VERSION_NOT_SUPPORTED",
		513: "SIP_STATUS_MESSAGE_TOO_LARGE",
		600: "SIP_STATUS_GLOBAL_BUSY_EVERYWHERE",
		603: "SIP_STATUS_GLOBAL_DECLINE",
		604: "SIP_STATUS_GLOBAL_DOES_NOT_EXIST_ANYWHERE",
		606: "SIP_STATUS_GLOBAL_NOT_ACCEPTABLE",
	}
	SIPStatusCode_value = map[string]int32{
		"SIP_STATUS_UNKNOWN":                          0,
		"SIP_STATUS_TRYING":                           100,
		"SIP_STATUS_RINGING":                          180,
		"SIP_STATUS_CALL_IS_FORWARDED":                181,
		"SIP_STATUS_QUEUED":                           182,
		"SIP_STATUS_SESSION_PROGRESS":                 183,
		"SIP_STATUS_OK":                               200,
		"SIP_STATUS_ACCEPTED":                         202,
		"SIP_STATUS_MOVED_PERMANENTLY":                301,
		"SIP_STATUS_MOVED_TEMPORARILY":                302,
		"SIP_STATUS_USE_PROXY":                        305,
		"SIP_STATUS_BAD_REQUEST":                      400,
		"SIP_STATUS_UNAUTHORIZED":                     401,
		"SIP_STATUS_PAYMENT_REQUIRED":                 402,
		"SIP_STATUS_FORBIDDEN":                        403,
		"SIP_STATUS_NOTFOUND":                         404,
		"SIP_STATUS_METHOD_NOT_ALLOWED":               405,
		"SIP_STATUS_NOT_ACCEPTABLE":                   406,
		"SIP_STATUS_PROXY_AUTH_REQUIRED":              407,
		"SIP_STATUS_REQUEST_TIMEOUT":                  408,
		"SIP_STATUS_CONFLICT":                         409,
		"SIP_STATUS_GONE":                             410,
		"SIP_STATUS_REQUEST_ENTITY_TOO_LARGE":         413,
		"SIP_STATUS_REQUEST_URI_TOO_LONG":             414,
		"SIP_STATUS_UNSUPPORTED_MEDIA_TYPE":           415,
		"SIP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE":  416,
		"SIP_STATUS_BAD_EXTENSION":                    420,
		"SIP_STATUS_EXTENSION_REQUIRED":               421,
		"SIP_STATUS_INTERVAL_TOO_BRIEF":               423,
		"SIP_STATUS_TEMPORARILY_UNAVAILABLE":          480,
		"SIP_STATUS_CALL_TRANSACTION_DOES_NOT_EXISTS": 481,
		"SIP_STATUS_LOOP_DETECTED":                    482,
		"SIP_STATUS_TOO_MANY_HOPS":                    483,
		"SIP_STATUS_ADDRESS_INCOMPLETE":               484,
		"SIP_STATUS_AMBIGUOUS":                        485,
		"SIP_STATUS_BUSY_HERE":                        486,
		"SIP_STATUS_REQUEST_TERMINATED":               487,
		"SIP_STATUS_NOT_ACCEPTABLE_HERE":              488,
		"SIP_STATUS_INTERNAL_SERVER_ERROR":            500,
		"SIP_STATUS_NOT_IMPLEMENTED":                  501,
		"SIP_STATUS_BAD_GATEWAY":                      502,
		"SIP_STATUS_SERVICE_UNAVAILABLE":              503,
		"SIP_STATUS_GATEWAY_TIMEOUT":                  504,
		"SIP_STATUS_VERSION_NOT_SUPPORTED":            505,
		"SIP_STATUS_MESSAGE_TOO_LARGE":                513,
		"SIP_STATUS_GLOBAL_BUSY_EVERYWHERE":           600,
		"SIP_STATUS_GLOBAL_DECLINE":                   603,
		"SIP_STATUS_GLOBAL_DOES_NOT_EXIST_ANYWHERE":   604,
		"SIP_STATUS_GLOBAL_NOT_ACCEPTABLE":            606,
	}
)

func (x SIPStatusCode) Enum() *SIPStatusCode {
	p := new(SIPStatusCode)
	*p = x
	return p
}

func (x SIPStatusCode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SIPStatusCode) Descriptor() protoreflect.EnumDescriptor {
	return file_livekit_sip_proto_enumTypes[0].Descriptor()
}

func (SIPStatusCode) Type() protoreflect.EnumType {
	return &file_livekit_sip_proto_enumTypes[0]
}

func (x SIPStatusCode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SIPStatusCode.Descriptor instead.
func (SIPStatusCode) EnumDescriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{0}
}

type SIPTransport int32

const (
	SIPTransport_SIP_TRANSPORT_AUTO SIPTransport = 0
	SIPTransport_SIP_TRANSPORT_UDP  SIPTransport = 1
	SIPTransport_SIP_TRANSPORT_TCP  SIPTransport = 2
	SIPTransport_SIP_TRANSPORT_TLS  SIPTransport = 3
)

// Enum value maps for SIPTransport.
var (
	SIPTransport_name = map[int32]string{
		0: "SIP_TRANSPORT_AUTO",
		1: "SIP_TRANSPORT_UDP",
		2: "SIP_TRANSPORT_TCP",
		3: "SIP_TRANSPORT_TLS",
	}
	SIPTransport_value = map[string]int32{
		"SIP_TRANSPORT_AUTO": 0,
		"SIP_TRANSPORT_UDP":  1,
		"SIP_TRANSPORT_TCP":  2,
		"SIP_TRANSPORT_TLS":  3,
	}
)

func (x SIPTransport) Enum() *SIPTransport {
	p := new(SIPTransport)
	*p = x
	return p
}

func (x SIPTransport) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SIPTransport) Descriptor() protoreflect.EnumDescriptor {
	return file_livekit_sip_proto_enumTypes[1].Descriptor()
}

func (SIPTransport) Type() protoreflect.EnumType {
	return &file_livekit_sip_proto_enumTypes[1]
}

func (x SIPTransport) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SIPTransport.Descriptor instead.
func (SIPTransport) EnumDescriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{1}
}

type SIPHeaderOptions int32

const (
	SIPHeaderOptions_SIP_NO_HEADERS  SIPHeaderOptions = 0 // do not map any headers, except ones mapped explicitly
	SIPHeaderOptions_SIP_X_HEADERS   SIPHeaderOptions = 1 // map all X-* headers to sip.h.x-* attributes
	SIPHeaderOptions_SIP_ALL_HEADERS SIPHeaderOptions = 2 // map all headers to sip.h.* attributes
)

// Enum value maps for SIPHeaderOptions.
var (
	SIPHeaderOptions_name = map[int32]string{
		0: "SIP_NO_HEADERS",
		1: "SIP_X_HEADERS",
		2: "SIP_ALL_HEADERS",
	}
	SIPHeaderOptions_value = map[string]int32{
		"SIP_NO_HEADERS":  0,
		"SIP_X_HEADERS":   1,
		"SIP_ALL_HEADERS": 2,
	}
)

func (x SIPHeaderOptions) Enum() *SIPHeaderOptions {
	p := new(SIPHeaderOptions)
	*p = x
	return p
}

func (x SIPHeaderOptions) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SIPHeaderOptions) Descriptor() protoreflect.EnumDescriptor {
	return file_livekit_sip_proto_enumTypes[2].Descriptor()
}

func (SIPHeaderOptions) Type() protoreflect.EnumType {
	return &file_livekit_sip_proto_enumTypes[2]
}

func (x SIPHeaderOptions) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SIPHeaderOptions.Descriptor instead.
func (SIPHeaderOptions) EnumDescriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{2}
}

type SIPMediaEncryption int32

const (
	SIPMediaEncryption_SIP_MEDIA_ENCRYPT_DISABLE SIPMediaEncryption = 0 // do not enable encryption
	SIPMediaEncryption_SIP_MEDIA_ENCRYPT_ALLOW   SIPMediaEncryption = 1 // use encryption if available
	SIPMediaEncryption_SIP_MEDIA_ENCRYPT_REQUIRE SIPMediaEncryption = 2 // require encryption
)

// Enum value maps for SIPMediaEncryption.
var (
	SIPMediaEncryption_name = map[int32]string{
		0: "SIP_MEDIA_ENCRYPT_DISABLE",
		1: "SIP_MEDIA_ENCRYPT_ALLOW",
		2: "SIP_MEDIA_ENCRYPT_REQUIRE",
	}
	SIPMediaEncryption_value = map[string]int32{
		"SIP_MEDIA_ENCRYPT_DISABLE": 0,
		"SIP_MEDIA_ENCRYPT_ALLOW":   1,
		"SIP_MEDIA_ENCRYPT_REQUIRE": 2,
	}
)

func (x SIPMediaEncryption) Enum() *SIPMediaEncryption {
	p := new(SIPMediaEncryption)
	*p = x
	return p
}

func (x SIPMediaEncryption) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SIPMediaEncryption) Descriptor() protoreflect.EnumDescriptor {
	return file_livekit_sip_proto_enumTypes[3].Descriptor()
}

func (SIPMediaEncryption) Type() protoreflect.EnumType {
	return &file_livekit_sip_proto_enumTypes[3]
}

func (x SIPMediaEncryption) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SIPMediaEncryption.Descriptor instead.
func (SIPMediaEncryption) EnumDescriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{3}
}

type SIPCallStatus int32

const (
	SIPCallStatus_SCS_CALL_INCOMING      SIPCallStatus = 0 // Incoming call is being handled by the SIP service. The SIP participant hasn't joined a LiveKit room yet
	SIPCallStatus_SCS_PARTICIPANT_JOINED SIPCallStatus = 1 // SIP participant for outgoing call has been created. The SIP outgoing call is being established
	SIPCallStatus_SCS_ACTIVE             SIPCallStatus = 2 // Call is ongoing. SIP participant is active in the LiveKit room
	SIPCallStatus_SCS_DISCONNECTED       SIPCallStatus = 3 // Call has ended
	SIPCallStatus_SCS_ERROR              SIPCallStatus = 4 // Call has ended or never succeeded because of an error
)

// Enum value maps for SIPCallStatus.
var (
	SIPCallStatus_name = map[int32]string{
		0: "SCS_CALL_INCOMING",
		1: "SCS_PARTICIPANT_JOINED",
		2: "SCS_ACTIVE",
		3: "SCS_DISCONNECTED",
		4: "SCS_ERROR",
	}
	SIPCallStatus_value = map[string]int32{
		"SCS_CALL_INCOMING":      0,
		"SCS_PARTICIPANT_JOINED": 1,
		"SCS_ACTIVE":             2,
		"SCS_DISCONNECTED":       3,
		"SCS_ERROR":              4,
	}
)

func (x SIPCallStatus) Enum() *SIPCallStatus {
	p := new(SIPCallStatus)
	*p = x
	return p
}

func (x SIPCallStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SIPCallStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_livekit_sip_proto_enumTypes[4].Descriptor()
}

func (SIPCallStatus) Type() protoreflect.EnumType {
	return &file_livekit_sip_proto_enumTypes[4]
}

func (x SIPCallStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SIPCallStatus.Descriptor instead.
func (SIPCallStatus) EnumDescriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{4}
}

type SIPFeature int32

const (
	SIPFeature_NONE          SIPFeature = 0
	SIPFeature_KRISP_ENABLED SIPFeature = 1
)

// Enum value maps for SIPFeature.
var (
	SIPFeature_name = map[int32]string{
		0: "NONE",
		1: "KRISP_ENABLED",
	}
	SIPFeature_value = map[string]int32{
		"NONE":          0,
		"KRISP_ENABLED": 1,
	}
)

func (x SIPFeature) Enum() *SIPFeature {
	p := new(SIPFeature)
	*p = x
	return p
}

func (x SIPFeature) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SIPFeature) Descriptor() protoreflect.EnumDescriptor {
	return file_livekit_sip_proto_enumTypes[5].Descriptor()
}

func (SIPFeature) Type() protoreflect.EnumType {
	return &file_livekit_sip_proto_enumTypes[5]
}

func (x SIPFeature) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SIPFeature.Descriptor instead.
func (SIPFeature) EnumDescriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{5}
}

type SIPCallDirection int32

const (
	SIPCallDirection_SCD_UNKNOWN  SIPCallDirection = 0
	SIPCallDirection_SCD_INBOUND  SIPCallDirection = 1
	SIPCallDirection_SCD_OUTBOUND SIPCallDirection = 2
)

// Enum value maps for SIPCallDirection.
var (
	SIPCallDirection_name = map[int32]string{
		0: "SCD_UNKNOWN",
		1: "SCD_INBOUND",
		2: "SCD_OUTBOUND",
	}
	SIPCallDirection_value = map[string]int32{
		"SCD_UNKNOWN":  0,
		"SCD_INBOUND":  1,
		"SCD_OUTBOUND": 2,
	}
)

func (x SIPCallDirection) Enum() *SIPCallDirection {
	p := new(SIPCallDirection)
	*p = x
	return p
}

func (x SIPCallDirection) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SIPCallDirection) Descriptor() protoreflect.EnumDescriptor {
	return file_livekit_sip_proto_enumTypes[6].Descriptor()
}

func (SIPCallDirection) Type() protoreflect.EnumType {
	return &file_livekit_sip_proto_enumTypes[6]
}

func (x SIPCallDirection) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SIPCallDirection.Descriptor instead.
func (SIPCallDirection) EnumDescriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{6}
}

type SIPTrunkInfo_TrunkKind int32

const (
	SIPTrunkInfo_TRUNK_LEGACY   SIPTrunkInfo_TrunkKind = 0
	SIPTrunkInfo_TRUNK_INBOUND  SIPTrunkInfo_TrunkKind = 1
	SIPTrunkInfo_TRUNK_OUTBOUND SIPTrunkInfo_TrunkKind = 2
)

// Enum value maps for SIPTrunkInfo_TrunkKind.
var (
	SIPTrunkInfo_TrunkKind_name = map[int32]string{
		0: "TRUNK_LEGACY",
		1: "TRUNK_INBOUND",
		2: "TRUNK_OUTBOUND",
	}
	SIPTrunkInfo_TrunkKind_value = map[string]int32{
		"TRUNK_LEGACY":   0,
		"TRUNK_INBOUND":  1,
		"TRUNK_OUTBOUND": 2,
	}
)

func (x SIPTrunkInfo_TrunkKind) Enum() *SIPTrunkInfo_TrunkKind {
	p := new(SIPTrunkInfo_TrunkKind)
	*p = x
	return p
}

func (x SIPTrunkInfo_TrunkKind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SIPTrunkInfo_TrunkKind) Descriptor() protoreflect.EnumDescriptor {
	return file_livekit_sip_proto_enumTypes[7].Descriptor()
}

func (SIPTrunkInfo_TrunkKind) Type() protoreflect.EnumType {
	return &file_livekit_sip_proto_enumTypes[7]
}

func (x SIPTrunkInfo_TrunkKind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SIPTrunkInfo_TrunkKind.Descriptor instead.
func (SIPTrunkInfo_TrunkKind) EnumDescriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{2, 0}
}

// SIPStatus is returned as an error detail in CreateSIPParticipant.
type SIPStatus struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Code          SIPStatusCode          `protobuf:"varint,1,opt,name=code,proto3,enum=livekit.SIPStatusCode" json:"code,omitempty"`
	Status        string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SIPStatus) Reset() {
	*x = SIPStatus{}
	mi := &file_livekit_sip_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SIPStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SIPStatus) ProtoMessage() {}

func (x *SIPStatus) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SIPStatus.ProtoReflect.Descriptor instead.
func (*SIPStatus) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{0}
}

func (x *SIPStatus) GetCode() SIPStatusCode {
	if x != nil {
		return x.Code
	}
	return SIPStatusCode_SIP_STATUS_UNKNOWN
}

func (x *SIPStatus) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

// Deprecated: Marked as deprecated in livekit_sip.proto.
type CreateSIPTrunkRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// CIDR or IPs that traffic is accepted from
	// An empty list means all inbound traffic is accepted.
	InboundAddresses []string `protobuf:"bytes,1,rep,name=inbound_addresses,json=inboundAddresses,proto3" json:"inbound_addresses,omitempty"`
	// IP that SIP INVITE is sent too
	OutboundAddress string `protobuf:"bytes,2,opt,name=outbound_address,json=outboundAddress,proto3" json:"outbound_address,omitempty"`
	// Number used to make outbound calls
	OutboundNumber string `protobuf:"bytes,3,opt,name=outbound_number,json=outboundNumber,proto3" json:"outbound_number,omitempty"`
	// Deprecated: Marked as deprecated in livekit_sip.proto.
	InboundNumbersRegex []string `protobuf:"bytes,4,rep,name=inbound_numbers_regex,json=inboundNumbersRegex,proto3" json:"inbound_numbers_regex,omitempty"`
	// Accepted `To` values. This Trunk will only accept a call made to
	// these numbers. This allows you to have distinct Trunks for different phone
	// numbers at the same provider.
	InboundNumbers []string `protobuf:"bytes,9,rep,name=inbound_numbers,json=inboundNumbers,proto3" json:"inbound_numbers,omitempty"`
	// Username and password used to authenticate inbound and outbound SIP invites
	// May be empty to have no Authentication
	InboundUsername  string `protobuf:"bytes,5,opt,name=inbound_username,json=inboundUsername,proto3" json:"inbound_username,omitempty"`
	InboundPassword  string `protobuf:"bytes,6,opt,name=inbound_password,json=inboundPassword,proto3" json:"inbound_password,omitempty"`
	OutboundUsername string `protobuf:"bytes,7,opt,name=outbound_username,json=outboundUsername,proto3" json:"outbound_username,omitempty"`
	OutboundPassword string `protobuf:"bytes,8,opt,name=outbound_password,json=outboundPassword,proto3" json:"outbound_password,omitempty"`
	// Optional human-readable name for the Trunk.
	Name string `protobuf:"bytes,10,opt,name=name,proto3" json:"name,omitempty"`
	// Optional user-defined metadata for the Trunk.
	Metadata      string `protobuf:"bytes,11,opt,name=metadata,proto3" json:"metadata,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateSIPTrunkRequest) Reset() {
	*x = CreateSIPTrunkRequest{}
	mi := &file_livekit_sip_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateSIPTrunkRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateSIPTrunkRequest) ProtoMessage() {}

func (x *CreateSIPTrunkRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateSIPTrunkRequest.ProtoReflect.Descriptor instead.
func (*CreateSIPTrunkRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{1}
}

func (x *CreateSIPTrunkRequest) GetInboundAddresses() []string {
	if x != nil {
		return x.InboundAddresses
	}
	return nil
}

func (x *CreateSIPTrunkRequest) GetOutboundAddress() string {
	if x != nil {
		return x.OutboundAddress
	}
	return ""
}

func (x *CreateSIPTrunkRequest) GetOutboundNumber() string {
	if x != nil {
		return x.OutboundNumber
	}
	return ""
}

// Deprecated: Marked as deprecated in livekit_sip.proto.
func (x *CreateSIPTrunkRequest) GetInboundNumbersRegex() []string {
	if x != nil {
		return x.InboundNumbersRegex
	}
	return nil
}

func (x *CreateSIPTrunkRequest) GetInboundNumbers() []string {
	if x != nil {
		return x.InboundNumbers
	}
	return nil
}

func (x *CreateSIPTrunkRequest) GetInboundUsername() string {
	if x != nil {
		return x.InboundUsername
	}
	return ""
}

func (x *CreateSIPTrunkRequest) GetInboundPassword() string {
	if x != nil {
		return x.InboundPassword
	}
	return ""
}

func (x *CreateSIPTrunkRequest) GetOutboundUsername() string {
	if x != nil {
		return x.OutboundUsername
	}
	return ""
}

func (x *CreateSIPTrunkRequest) GetOutboundPassword() string {
	if x != nil {
		return x.OutboundPassword
	}
	return ""
}

func (x *CreateSIPTrunkRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *CreateSIPTrunkRequest) GetMetadata() string {
	if x != nil {
		return x.Metadata
	}
	return ""
}

// Deprecated: Marked as deprecated in livekit_sip.proto.
type SIPTrunkInfo struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	SipTrunkId string                 `protobuf:"bytes,1,opt,name=sip_trunk_id,json=sipTrunkId,proto3" json:"sip_trunk_id,omitempty"`
	Kind       SIPTrunkInfo_TrunkKind `protobuf:"varint,14,opt,name=kind,proto3,enum=livekit.SIPTrunkInfo_TrunkKind" json:"kind,omitempty"`
	// CIDR or IPs that traffic is accepted from
	// An empty list means all inbound traffic is accepted.
	InboundAddresses []string `protobuf:"bytes,2,rep,name=inbound_addresses,json=inboundAddresses,proto3" json:"inbound_addresses,omitempty"`
	// IP that SIP INVITE is sent too
	OutboundAddress string `protobuf:"bytes,3,opt,name=outbound_address,json=outboundAddress,proto3" json:"outbound_address,omitempty"`
	// Number used to make outbound calls
	OutboundNumber string `protobuf:"bytes,4,opt,name=outbound_number,json=outboundNumber,proto3" json:"outbound_number,omitempty"`
	// Transport used for inbound and outbound calls.
	Transport SIPTransport `protobuf:"varint,13,opt,name=transport,proto3,enum=livekit.SIPTransport" json:"transport,omitempty"`
	// Deprecated: Marked as deprecated in livekit_sip.proto.
	InboundNumbersRegex []string `protobuf:"bytes,5,rep,name=inbound_numbers_regex,json=inboundNumbersRegex,proto3" json:"inbound_numbers_regex,omitempty"`
	// Accepted `To` values. This Trunk will only accept a call made to
	// these numbers. This allows you to have distinct Trunks for different phone
	// numbers at the same provider.
	InboundNumbers []string `protobuf:"bytes,10,rep,name=inbound_numbers,json=inboundNumbers,proto3" json:"inbound_numbers,omitempty"`
	// Username and password used to authenticate inbound and outbound SIP invites
	// May be empty to have no Authentication
	InboundUsername  string `protobuf:"bytes,6,opt,name=inbound_username,json=inboundUsername,proto3" json:"inbound_username,omitempty"`
	InboundPassword  string `protobuf:"bytes,7,opt,name=inbound_password,json=inboundPassword,proto3" json:"inbound_password,omitempty"`
	OutboundUsername string `protobuf:"bytes,8,opt,name=outbound_username,json=outboundUsername,proto3" json:"outbound_username,omitempty"`
	OutboundPassword string `protobuf:"bytes,9,opt,name=outbound_password,json=outboundPassword,proto3" json:"outbound_password,omitempty"`
	// Human-readable name for the Trunk.
	Name string `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"`
	// User-defined metadata for the Trunk.
	Metadata      string `protobuf:"bytes,12,opt,name=metadata,proto3" json:"metadata,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SIPTrunkInfo) Reset() {
	*x = SIPTrunkInfo{}
	mi := &file_livekit_sip_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SIPTrunkInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SIPTrunkInfo) ProtoMessage() {}

func (x *SIPTrunkInfo) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SIPTrunkInfo.ProtoReflect.Descriptor instead.
func (*SIPTrunkInfo) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{2}
}

func (x *SIPTrunkInfo) GetSipTrunkId() string {
	if x != nil {
		return x.SipTrunkId
	}
	return ""
}

func (x *SIPTrunkInfo) GetKind() SIPTrunkInfo_TrunkKind {
	if x != nil {
		return x.Kind
	}
	return SIPTrunkInfo_TRUNK_LEGACY
}

func (x *SIPTrunkInfo) GetInboundAddresses() []string {
	if x != nil {
		return x.InboundAddresses
	}
	return nil
}

func (x *SIPTrunkInfo) GetOutboundAddress() string {
	if x != nil {
		return x.OutboundAddress
	}
	return ""
}

func (x *SIPTrunkInfo) GetOutboundNumber() string {
	if x != nil {
		return x.OutboundNumber
	}
	return ""
}

func (x *SIPTrunkInfo) GetTransport() SIPTransport {
	if x != nil {
		return x.Transport
	}
	return SIPTransport_SIP_TRANSPORT_AUTO
}

// Deprecated: Marked as deprecated in livekit_sip.proto.
func (x *SIPTrunkInfo) GetInboundNumbersRegex() []string {
	if x != nil {
		return x.InboundNumbersRegex
	}
	return nil
}

func (x *SIPTrunkInfo) GetInboundNumbers() []string {
	if x != nil {
		return x.InboundNumbers
	}
	return nil
}

func (x *SIPTrunkInfo) GetInboundUsername() string {
	if x != nil {
		return x.InboundUsername
	}
	return ""
}

func (x *SIPTrunkInfo) GetInboundPassword() string {
	if x != nil {
		return x.InboundPassword
	}
	return ""
}

func (x *SIPTrunkInfo) GetOutboundUsername() string {
	if x != nil {
		return x.OutboundUsername
	}
	return ""
}

func (x *SIPTrunkInfo) GetOutboundPassword() string {
	if x != nil {
		return x.OutboundPassword
	}
	return ""
}

func (x *SIPTrunkInfo) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *SIPTrunkInfo) GetMetadata() string {
	if x != nil {
		return x.Metadata
	}
	return ""
}

type CreateSIPInboundTrunkRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Trunk         *SIPInboundTrunkInfo   `protobuf:"bytes,1,opt,name=trunk,proto3" json:"trunk,omitempty"` // Trunk ID is ignored
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateSIPInboundTrunkRequest) Reset() {
	*x = CreateSIPInboundTrunkRequest{}
	mi := &file_livekit_sip_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateSIPInboundTrunkRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateSIPInboundTrunkRequest) ProtoMessage() {}

func (x *CreateSIPInboundTrunkRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateSIPInboundTrunkRequest.ProtoReflect.Descriptor instead.
func (*CreateSIPInboundTrunkRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{3}
}

func (x *CreateSIPInboundTrunkRequest) GetTrunk() *SIPInboundTrunkInfo {
	if x != nil {
		return x.Trunk
	}
	return nil
}

type SIPInboundTrunkInfo struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	SipTrunkId string                 `protobuf:"bytes,1,opt,name=sip_trunk_id,json=sipTrunkId,proto3" json:"sip_trunk_id,omitempty"`
	// Human-readable name for the Trunk.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// User-defined metadata for the Trunk.
	Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Numbers associated with LiveKit SIP. The Trunk will only accept calls made to these numbers.
	// Creating multiple Trunks with different phone numbers allows having different rules for a single provider.
	Numbers []string `protobuf:"bytes,4,rep,name=numbers,proto3" json:"numbers,omitempty"`
	// CIDR or IPs that traffic is accepted from.
	// An empty list means all inbound traffic is accepted.
	AllowedAddresses []string `protobuf:"bytes,5,rep,name=allowed_addresses,json=allowedAddresses,proto3" json:"allowed_addresses,omitempty"`
	// Numbers that are allowed to make calls to this Trunk.
	// An empty list means calls from any phone number is accepted.
	AllowedNumbers []string `protobuf:"bytes,6,rep,name=allowed_numbers,json=allowedNumbers,proto3" json:"allowed_numbers,omitempty"`
	// Username and password used to authenticate inbound SIP invites.
	// May be empty to have no authentication.
	AuthUsername string `protobuf:"bytes,7,opt,name=auth_username,json=authUsername,proto3" json:"auth_username,omitempty"`
	AuthPassword string `protobuf:"bytes,8,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"`
	// Include these SIP X-* headers in 200 OK responses.
	Headers map[string]string `protobuf:"bytes,9,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Map SIP X-* headers from INVITE to SIP participant attributes.
	HeadersToAttributes map[string]string `protobuf:"bytes,10,rep,name=headers_to_attributes,json=headersToAttributes,proto3" json:"headers_to_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Map LiveKit attributes to SIP X-* headers when sending BYE or REFER requests.
	// Keys are the names of attributes and values are the names of X-* headers they will be mapped to.
	AttributesToHeaders map[string]string `protobuf:"bytes,14,rep,name=attributes_to_headers,json=attributesToHeaders,proto3" json:"attributes_to_headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Map SIP headers from INVITE to sip.h.* participant attributes automatically.
	//
	// When the names of required headers is known, using headers_to_attributes is strongly recommended.
	//
	// When mapping INVITE headers to response headers with attributes_to_headers map,
	// lowercase header names should be used, for example: sip.h.x-custom-header.
	IncludeHeaders SIPHeaderOptions `protobuf:"varint,15,opt,name=include_headers,json=includeHeaders,proto3,enum=livekit.SIPHeaderOptions" json:"include_headers,omitempty"`
	// Max time for the caller to wait for track subscription.
	RingingTimeout *durationpb.Duration `protobuf:"bytes,11,opt,name=ringing_timeout,json=ringingTimeout,proto3" json:"ringing_timeout,omitempty"`
	// Max call duration.
	MaxCallDuration *durationpb.Duration `protobuf:"bytes,12,opt,name=max_call_duration,json=maxCallDuration,proto3" json:"max_call_duration,omitempty"`
	KrispEnabled    bool                 `protobuf:"varint,13,opt,name=krisp_enabled,json=krispEnabled,proto3" json:"krisp_enabled,omitempty"`
	MediaEncryption SIPMediaEncryption   `protobuf:"varint,16,opt,name=media_encryption,json=mediaEncryption,proto3,enum=livekit.SIPMediaEncryption" json:"media_encryption,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *SIPInboundTrunkInfo) Reset() {
	*x = SIPInboundTrunkInfo{}
	mi := &file_livekit_sip_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SIPInboundTrunkInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SIPInboundTrunkInfo) ProtoMessage() {}

func (x *SIPInboundTrunkInfo) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SIPInboundTrunkInfo.ProtoReflect.Descriptor instead.
func (*SIPInboundTrunkInfo) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{4}
}

func (x *SIPInboundTrunkInfo) GetSipTrunkId() string {
	if x != nil {
		return x.SipTrunkId
	}
	return ""
}

func (x *SIPInboundTrunkInfo) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *SIPInboundTrunkInfo) GetMetadata() string {
	if x != nil {
		return x.Metadata
	}
	return ""
}

func (x *SIPInboundTrunkInfo) GetNumbers() []string {
	if x != nil {
		return x.Numbers
	}
	return nil
}

func (x *SIPInboundTrunkInfo) GetAllowedAddresses() []string {
	if x != nil {
		return x.AllowedAddresses
	}
	return nil
}

func (x *SIPInboundTrunkInfo) GetAllowedNumbers() []string {
	if x != nil {
		return x.AllowedNumbers
	}
	return nil
}

func (x *SIPInboundTrunkInfo) GetAuthUsername() string {
	if x != nil {
		return x.AuthUsername
	}
	return ""
}

func (x *SIPInboundTrunkInfo) GetAuthPassword() string {
	if x != nil {
		return x.AuthPassword
	}
	return ""
}

func (x *SIPInboundTrunkInfo) GetHeaders() map[string]string {
	if x != nil {
		return x.Headers
	}
	return nil
}

func (x *SIPInboundTrunkInfo) GetHeadersToAttributes() map[string]string {
	if x != nil {
		return x.HeadersToAttributes
	}
	return nil
}

func (x *SIPInboundTrunkInfo) GetAttributesToHeaders() map[string]string {
	if x != nil {
		return x.AttributesToHeaders
	}
	return nil
}

func (x *SIPInboundTrunkInfo) GetIncludeHeaders() SIPHeaderOptions {
	if x != nil {
		return x.IncludeHeaders
	}
	return SIPHeaderOptions_SIP_NO_HEADERS
}

func (x *SIPInboundTrunkInfo) GetRingingTimeout() *durationpb.Duration {
	if x != nil {
		return x.RingingTimeout
	}
	return nil
}

func (x *SIPInboundTrunkInfo) GetMaxCallDuration() *durationpb.Duration {
	if x != nil {
		return x.MaxCallDuration
	}
	return nil
}

func (x *SIPInboundTrunkInfo) GetKrispEnabled() bool {
	if x != nil {
		return x.KrispEnabled
	}
	return false
}

func (x *SIPInboundTrunkInfo) GetMediaEncryption() SIPMediaEncryption {
	if x != nil {
		return x.MediaEncryption
	}
	return SIPMediaEncryption_SIP_MEDIA_ENCRYPT_DISABLE
}

type CreateSIPOutboundTrunkRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Trunk         *SIPOutboundTrunkInfo  `protobuf:"bytes,1,opt,name=trunk,proto3" json:"trunk,omitempty"` // Trunk ID is ignored
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateSIPOutboundTrunkRequest) Reset() {
	*x = CreateSIPOutboundTrunkRequest{}
	mi := &file_livekit_sip_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateSIPOutboundTrunkRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateSIPOutboundTrunkRequest) ProtoMessage() {}

func (x *CreateSIPOutboundTrunkRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateSIPOutboundTrunkRequest.ProtoReflect.Descriptor instead.
func (*CreateSIPOutboundTrunkRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{5}
}

func (x *CreateSIPOutboundTrunkRequest) GetTrunk() *SIPOutboundTrunkInfo {
	if x != nil {
		return x.Trunk
	}
	return nil
}

type SIPOutboundTrunkInfo struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	SipTrunkId string                 `protobuf:"bytes,1,opt,name=sip_trunk_id,json=sipTrunkId,proto3" json:"sip_trunk_id,omitempty"`
	// Human-readable name for the Trunk.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// User-defined metadata for the Trunk.
	Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Hostname or IP that SIP INVITE is sent too.
	// Note that this is not a SIP URI and should not contain the 'sip:' protocol prefix.
	Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"`
	// SIP Transport used for outbound call.
	Transport SIPTransport `protobuf:"varint,5,opt,name=transport,proto3,enum=livekit.SIPTransport" json:"transport,omitempty"`
	// Numbers used to make the calls. Random one from this list will be selected.
	Numbers []string `protobuf:"bytes,6,rep,name=numbers,proto3" json:"numbers,omitempty"`
	// Username and password used to authenticate with SIP server.
	// May be empty to have no authentication.
	AuthUsername string `protobuf:"bytes,7,opt,name=auth_username,json=authUsername,proto3" json:"auth_username,omitempty"`
	AuthPassword string `protobuf:"bytes,8,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"`
	// Include these SIP X-* headers in INVITE request.
	// These headers are sent as-is and may help identify this call as coming from LiveKit for the other SIP endpoint.
	Headers map[string]string `protobuf:"bytes,9,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Map SIP X-* headers from 200 OK to SIP participant attributes.
	// Keys are the names of X-* headers and values are the names of attributes they will be mapped to.
	HeadersToAttributes map[string]string `protobuf:"bytes,10,rep,name=headers_to_attributes,json=headersToAttributes,proto3" json:"headers_to_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Map LiveKit attributes to SIP X-* headers when sending BYE or REFER requests.
	// Keys are the names of attributes and values are the names of X-* headers they will be mapped to.
	AttributesToHeaders map[string]string `protobuf:"bytes,11,rep,name=attributes_to_headers,json=attributesToHeaders,proto3" json:"attributes_to_headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Map SIP headers from 200 OK to sip.h.* participant attributes automatically.
	//
	// When the names of required headers is known, using headers_to_attributes is strongly recommended.
	//
	// When mapping 200 OK headers to follow-up request headers with attributes_to_headers map,
	// lowercase header names should be used, for example: sip.h.x-custom-header.
	IncludeHeaders  SIPHeaderOptions   `protobuf:"varint,12,opt,name=include_headers,json=includeHeaders,proto3,enum=livekit.SIPHeaderOptions" json:"include_headers,omitempty"`
	MediaEncryption SIPMediaEncryption `protobuf:"varint,13,opt,name=media_encryption,json=mediaEncryption,proto3,enum=livekit.SIPMediaEncryption" json:"media_encryption,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *SIPOutboundTrunkInfo) Reset() {
	*x = SIPOutboundTrunkInfo{}
	mi := &file_livekit_sip_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SIPOutboundTrunkInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SIPOutboundTrunkInfo) ProtoMessage() {}

func (x *SIPOutboundTrunkInfo) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SIPOutboundTrunkInfo.ProtoReflect.Descriptor instead.
func (*SIPOutboundTrunkInfo) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{6}
}

func (x *SIPOutboundTrunkInfo) GetSipTrunkId() string {
	if x != nil {
		return x.SipTrunkId
	}
	return ""
}

func (x *SIPOutboundTrunkInfo) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *SIPOutboundTrunkInfo) GetMetadata() string {
	if x != nil {
		return x.Metadata
	}
	return ""
}

func (x *SIPOutboundTrunkInfo) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *SIPOutboundTrunkInfo) GetTransport() SIPTransport {
	if x != nil {
		return x.Transport
	}
	return SIPTransport_SIP_TRANSPORT_AUTO
}

func (x *SIPOutboundTrunkInfo) GetNumbers() []string {
	if x != nil {
		return x.Numbers
	}
	return nil
}

func (x *SIPOutboundTrunkInfo) GetAuthUsername() string {
	if x != nil {
		return x.AuthUsername
	}
	return ""
}

func (x *SIPOutboundTrunkInfo) GetAuthPassword() string {
	if x != nil {
		return x.AuthPassword
	}
	return ""
}

func (x *SIPOutboundTrunkInfo) GetHeaders() map[string]string {
	if x != nil {
		return x.Headers
	}
	return nil
}

func (x *SIPOutboundTrunkInfo) GetHeadersToAttributes() map[string]string {
	if x != nil {
		return x.HeadersToAttributes
	}
	return nil
}

func (x *SIPOutboundTrunkInfo) GetAttributesToHeaders() map[string]string {
	if x != nil {
		return x.AttributesToHeaders
	}
	return nil
}

func (x *SIPOutboundTrunkInfo) GetIncludeHeaders() SIPHeaderOptions {
	if x != nil {
		return x.IncludeHeaders
	}
	return SIPHeaderOptions_SIP_NO_HEADERS
}

func (x *SIPOutboundTrunkInfo) GetMediaEncryption() SIPMediaEncryption {
	if x != nil {
		return x.MediaEncryption
	}
	return SIPMediaEncryption_SIP_MEDIA_ENCRYPT_DISABLE
}

type GetSIPInboundTrunkRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SipTrunkId    string                 `protobuf:"bytes,1,opt,name=sip_trunk_id,json=sipTrunkId,proto3" json:"sip_trunk_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetSIPInboundTrunkRequest) Reset() {
	*x = GetSIPInboundTrunkRequest{}
	mi := &file_livekit_sip_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetSIPInboundTrunkRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetSIPInboundTrunkRequest) ProtoMessage() {}

func (x *GetSIPInboundTrunkRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetSIPInboundTrunkRequest.ProtoReflect.Descriptor instead.
func (*GetSIPInboundTrunkRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{7}
}

func (x *GetSIPInboundTrunkRequest) GetSipTrunkId() string {
	if x != nil {
		return x.SipTrunkId
	}
	return ""
}

type GetSIPInboundTrunkResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Trunk         *SIPInboundTrunkInfo   `protobuf:"bytes,1,opt,name=trunk,proto3" json:"trunk,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetSIPInboundTrunkResponse) Reset() {
	*x = GetSIPInboundTrunkResponse{}
	mi := &file_livekit_sip_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetSIPInboundTrunkResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetSIPInboundTrunkResponse) ProtoMessage() {}

func (x *GetSIPInboundTrunkResponse) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetSIPInboundTrunkResponse.ProtoReflect.Descriptor instead.
func (*GetSIPInboundTrunkResponse) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{8}
}

func (x *GetSIPInboundTrunkResponse) GetTrunk() *SIPInboundTrunkInfo {
	if x != nil {
		return x.Trunk
	}
	return nil
}

type GetSIPOutboundTrunkRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SipTrunkId    string                 `protobuf:"bytes,1,opt,name=sip_trunk_id,json=sipTrunkId,proto3" json:"sip_trunk_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetSIPOutboundTrunkRequest) Reset() {
	*x = GetSIPOutboundTrunkRequest{}
	mi := &file_livekit_sip_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetSIPOutboundTrunkRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetSIPOutboundTrunkRequest) ProtoMessage() {}

func (x *GetSIPOutboundTrunkRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetSIPOutboundTrunkRequest.ProtoReflect.Descriptor instead.
func (*GetSIPOutboundTrunkRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{9}
}

func (x *GetSIPOutboundTrunkRequest) GetSipTrunkId() string {
	if x != nil {
		return x.SipTrunkId
	}
	return ""
}

type GetSIPOutboundTrunkResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Trunk         *SIPOutboundTrunkInfo  `protobuf:"bytes,1,opt,name=trunk,proto3" json:"trunk,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetSIPOutboundTrunkResponse) Reset() {
	*x = GetSIPOutboundTrunkResponse{}
	mi := &file_livekit_sip_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetSIPOutboundTrunkResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetSIPOutboundTrunkResponse) ProtoMessage() {}

func (x *GetSIPOutboundTrunkResponse) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetSIPOutboundTrunkResponse.ProtoReflect.Descriptor instead.
func (*GetSIPOutboundTrunkResponse) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{10}
}

func (x *GetSIPOutboundTrunkResponse) GetTrunk() *SIPOutboundTrunkInfo {
	if x != nil {
		return x.Trunk
	}
	return nil
}

// Deprecated: Marked as deprecated in livekit_sip.proto.
type ListSIPTrunkRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Page          *Pagination            `protobuf:"bytes,1,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSIPTrunkRequest) Reset() {
	*x = ListSIPTrunkRequest{}
	mi := &file_livekit_sip_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSIPTrunkRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSIPTrunkRequest) ProtoMessage() {}

func (x *ListSIPTrunkRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSIPTrunkRequest.ProtoReflect.Descriptor instead.
func (*ListSIPTrunkRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{11}
}

func (x *ListSIPTrunkRequest) GetPage() *Pagination {
	if x != nil {
		return x.Page
	}
	return nil
}

// Deprecated: Marked as deprecated in livekit_sip.proto.
type ListSIPTrunkResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*SIPTrunkInfo        `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSIPTrunkResponse) Reset() {
	*x = ListSIPTrunkResponse{}
	mi := &file_livekit_sip_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSIPTrunkResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSIPTrunkResponse) ProtoMessage() {}

func (x *ListSIPTrunkResponse) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSIPTrunkResponse.ProtoReflect.Descriptor instead.
func (*ListSIPTrunkResponse) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{12}
}

func (x *ListSIPTrunkResponse) GetItems() []*SIPTrunkInfo {
	if x != nil {
		return x.Items
	}
	return nil
}

// ListSIPInboundTrunkRequest lists inbound trunks for given filters. If no filters are set, all trunks are listed.
type ListSIPInboundTrunkRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Page  *Pagination            `protobuf:"bytes,3,opt,name=page,proto3" json:"page,omitempty"`
	// Trunk IDs to list. If this option is set, the response will contains trunks in the same order.
	// If any of the trunks is missing, a nil item in that position will be sent in the response.
	TrunkIds []string `protobuf:"bytes,1,rep,name=trunk_ids,json=trunkIds,proto3" json:"trunk_ids,omitempty"`
	// Only list trunks that contain one of the numbers, including wildcard trunks.
	Numbers       []string `protobuf:"bytes,2,rep,name=numbers,proto3" json:"numbers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSIPInboundTrunkRequest) Reset() {
	*x = ListSIPInboundTrunkRequest{}
	mi := &file_livekit_sip_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSIPInboundTrunkRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSIPInboundTrunkRequest) ProtoMessage() {}

func (x *ListSIPInboundTrunkRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSIPInboundTrunkRequest.ProtoReflect.Descriptor instead.
func (*ListSIPInboundTrunkRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{13}
}

func (x *ListSIPInboundTrunkRequest) GetPage() *Pagination {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListSIPInboundTrunkRequest) GetTrunkIds() []string {
	if x != nil {
		return x.TrunkIds
	}
	return nil
}

func (x *ListSIPInboundTrunkRequest) GetNumbers() []string {
	if x != nil {
		return x.Numbers
	}
	return nil
}

type ListSIPInboundTrunkResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*SIPInboundTrunkInfo `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSIPInboundTrunkResponse) Reset() {
	*x = ListSIPInboundTrunkResponse{}
	mi := &file_livekit_sip_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSIPInboundTrunkResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSIPInboundTrunkResponse) ProtoMessage() {}

func (x *ListSIPInboundTrunkResponse) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSIPInboundTrunkResponse.ProtoReflect.Descriptor instead.
func (*ListSIPInboundTrunkResponse) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{14}
}

func (x *ListSIPInboundTrunkResponse) GetItems() []*SIPInboundTrunkInfo {
	if x != nil {
		return x.Items
	}
	return nil
}

// ListSIPOutboundTrunkRequest lists outbound trunks for given filters. If no filters are set, all trunks are listed.
type ListSIPOutboundTrunkRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Page  *Pagination            `protobuf:"bytes,3,opt,name=page,proto3" json:"page,omitempty"`
	// Trunk IDs to list. If this option is set, the response will contains trunks in the same order.
	// If any of the trunks is missing, a nil item in that position will be sent in the response.
	TrunkIds []string `protobuf:"bytes,1,rep,name=trunk_ids,json=trunkIds,proto3" json:"trunk_ids,omitempty"`
	// Only list trunks that contain one of the numbers, including wildcard trunks.
	Numbers       []string `protobuf:"bytes,2,rep,name=numbers,proto3" json:"numbers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSIPOutboundTrunkRequest) Reset() {
	*x = ListSIPOutboundTrunkRequest{}
	mi := &file_livekit_sip_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSIPOutboundTrunkRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSIPOutboundTrunkRequest) ProtoMessage() {}

func (x *ListSIPOutboundTrunkRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSIPOutboundTrunkRequest.ProtoReflect.Descriptor instead.
func (*ListSIPOutboundTrunkRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{15}
}

func (x *ListSIPOutboundTrunkRequest) GetPage() *Pagination {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListSIPOutboundTrunkRequest) GetTrunkIds() []string {
	if x != nil {
		return x.TrunkIds
	}
	return nil
}

func (x *ListSIPOutboundTrunkRequest) GetNumbers() []string {
	if x != nil {
		return x.Numbers
	}
	return nil
}

type ListSIPOutboundTrunkResponse struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	Items         []*SIPOutboundTrunkInfo `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSIPOutboundTrunkResponse) Reset() {
	*x = ListSIPOutboundTrunkResponse{}
	mi := &file_livekit_sip_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSIPOutboundTrunkResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSIPOutboundTrunkResponse) ProtoMessage() {}

func (x *ListSIPOutboundTrunkResponse) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSIPOutboundTrunkResponse.ProtoReflect.Descriptor instead.
func (*ListSIPOutboundTrunkResponse) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{16}
}

func (x *ListSIPOutboundTrunkResponse) GetItems() []*SIPOutboundTrunkInfo {
	if x != nil {
		return x.Items
	}
	return nil
}

type DeleteSIPTrunkRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SipTrunkId    string                 `protobuf:"bytes,1,opt,name=sip_trunk_id,json=sipTrunkId,proto3" json:"sip_trunk_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteSIPTrunkRequest) Reset() {
	*x = DeleteSIPTrunkRequest{}
	mi := &file_livekit_sip_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteSIPTrunkRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteSIPTrunkRequest) ProtoMessage() {}

func (x *DeleteSIPTrunkRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteSIPTrunkRequest.ProtoReflect.Descriptor instead.
func (*DeleteSIPTrunkRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{17}
}

func (x *DeleteSIPTrunkRequest) GetSipTrunkId() string {
	if x != nil {
		return x.SipTrunkId
	}
	return ""
}

type SIPDispatchRuleDirect struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// What room should call be directed into
	RoomName string `protobuf:"bytes,1,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
	// Optional pin required to enter room
	Pin           string `protobuf:"bytes,2,opt,name=pin,proto3" json:"pin,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SIPDispatchRuleDirect) Reset() {
	*x = SIPDispatchRuleDirect{}
	mi := &file_livekit_sip_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SIPDispatchRuleDirect) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SIPDispatchRuleDirect) ProtoMessage() {}

func (x *SIPDispatchRuleDirect) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SIPDispatchRuleDirect.ProtoReflect.Descriptor instead.
func (*SIPDispatchRuleDirect) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{18}
}

func (x *SIPDispatchRuleDirect) GetRoomName() string {
	if x != nil {
		return x.RoomName
	}
	return ""
}

func (x *SIPDispatchRuleDirect) GetPin() string {
	if x != nil {
		return x.Pin
	}
	return ""
}

type SIPDispatchRuleIndividual struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Prefix used on new room name
	RoomPrefix string `protobuf:"bytes,1,opt,name=room_prefix,json=roomPrefix,proto3" json:"room_prefix,omitempty"`
	// Optional pin required to enter room
	Pin           string `protobuf:"bytes,2,opt,name=pin,proto3" json:"pin,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SIPDispatchRuleIndividual) Reset() {
	*x = SIPDispatchRuleIndividual{}
	mi := &file_livekit_sip_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SIPDispatchRuleIndividual) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SIPDispatchRuleIndividual) ProtoMessage() {}

func (x *SIPDispatchRuleIndividual) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SIPDispatchRuleIndividual.ProtoReflect.Descriptor instead.
func (*SIPDispatchRuleIndividual) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{19}
}

func (x *SIPDispatchRuleIndividual) GetRoomPrefix() string {
	if x != nil {
		return x.RoomPrefix
	}
	return ""
}

func (x *SIPDispatchRuleIndividual) GetPin() string {
	if x != nil {
		return x.Pin
	}
	return ""
}

type SIPDispatchRuleCallee struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Prefix used on new room name
	RoomPrefix string `protobuf:"bytes,1,opt,name=room_prefix,json=roomPrefix,proto3" json:"room_prefix,omitempty"`
	// Optional pin required to enter room
	Pin string `protobuf:"bytes,2,opt,name=pin,proto3" json:"pin,omitempty"`
	// Optionally append random suffix
	Randomize     bool `protobuf:"varint,3,opt,name=randomize,proto3" json:"randomize,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SIPDispatchRuleCallee) Reset() {
	*x = SIPDispatchRuleCallee{}
	mi := &file_livekit_sip_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SIPDispatchRuleCallee) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SIPDispatchRuleCallee) ProtoMessage() {}

func (x *SIPDispatchRuleCallee) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SIPDispatchRuleCallee.ProtoReflect.Descriptor instead.
func (*SIPDispatchRuleCallee) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{20}
}

func (x *SIPDispatchRuleCallee) GetRoomPrefix() string {
	if x != nil {
		return x.RoomPrefix
	}
	return ""
}

func (x *SIPDispatchRuleCallee) GetPin() string {
	if x != nil {
		return x.Pin
	}
	return ""
}

func (x *SIPDispatchRuleCallee) GetRandomize() bool {
	if x != nil {
		return x.Randomize
	}
	return false
}

type SIPDispatchRule struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Rule:
	//
	//	*SIPDispatchRule_DispatchRuleDirect
	//	*SIPDispatchRule_DispatchRuleIndividual
	//	*SIPDispatchRule_DispatchRuleCallee
	Rule          isSIPDispatchRule_Rule `protobuf_oneof:"rule"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SIPDispatchRule) Reset() {
	*x = SIPDispatchRule{}
	mi := &file_livekit_sip_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SIPDispatchRule) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SIPDispatchRule) ProtoMessage() {}

func (x *SIPDispatchRule) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SIPDispatchRule.ProtoReflect.Descriptor instead.
func (*SIPDispatchRule) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{21}
}

func (x *SIPDispatchRule) GetRule() isSIPDispatchRule_Rule {
	if x != nil {
		return x.Rule
	}
	return nil
}

func (x *SIPDispatchRule) GetDispatchRuleDirect() *SIPDispatchRuleDirect {
	if x != nil {
		if x, ok := x.Rule.(*SIPDispatchRule_DispatchRuleDirect); ok {
			return x.DispatchRuleDirect
		}
	}
	return nil
}

func (x *SIPDispatchRule) GetDispatchRuleIndividual() *SIPDispatchRuleIndividual {
	if x != nil {
		if x, ok := x.Rule.(*SIPDispatchRule_DispatchRuleIndividual); ok {
			return x.DispatchRuleIndividual
		}
	}
	return nil
}

func (x *SIPDispatchRule) GetDispatchRuleCallee() *SIPDispatchRuleCallee {
	if x != nil {
		if x, ok := x.Rule.(*SIPDispatchRule_DispatchRuleCallee); ok {
			return x.DispatchRuleCallee
		}
	}
	return nil
}

type isSIPDispatchRule_Rule interface {
	isSIPDispatchRule_Rule()
}

type SIPDispatchRule_DispatchRuleDirect struct {
	// SIPDispatchRuleDirect is a `SIP Dispatch Rule` that puts a user directly into a room
	// This places users into an existing room. Optionally you can require a pin before a user can
	// enter the room
	DispatchRuleDirect *SIPDispatchRuleDirect `protobuf:"bytes,1,opt,name=dispatch_rule_direct,json=dispatchRuleDirect,proto3,oneof"`
}

type SIPDispatchRule_DispatchRuleIndividual struct {
	// SIPDispatchRuleIndividual is a `SIP Dispatch Rule` that creates a new room for each caller.
	DispatchRuleIndividual *SIPDispatchRuleIndividual `protobuf:"bytes,2,opt,name=dispatch_rule_individual,json=dispatchRuleIndividual,proto3,oneof"`
}

type SIPDispatchRule_DispatchRuleCallee struct {
	// SIPDispatchRuleCallee is a `SIP Dispatch Rule` that creates a new room for each callee.
	DispatchRuleCallee *SIPDispatchRuleCallee `protobuf:"bytes,3,opt,name=dispatch_rule_callee,json=dispatchRuleCallee,proto3,oneof"`
}

func (*SIPDispatchRule_DispatchRuleDirect) isSIPDispatchRule_Rule() {}

func (*SIPDispatchRule_DispatchRuleIndividual) isSIPDispatchRule_Rule() {}

func (*SIPDispatchRule_DispatchRuleCallee) isSIPDispatchRule_Rule() {}

type CreateSIPDispatchRuleRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Rule  *SIPDispatchRule       `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"`
	// What trunks are accepted for this dispatch rule
	// If empty all trunks will match this dispatch rule
	TrunkIds []string `protobuf:"bytes,2,rep,name=trunk_ids,json=trunkIds,proto3" json:"trunk_ids,omitempty"`
	// By default the From value (Phone number) is used for participant name/identity and added to attributes.
	// If true, a random value for identity will be used and numbers will be omitted from attributes.
	HidePhoneNumber bool `protobuf:"varint,3,opt,name=hide_phone_number,json=hidePhoneNumber,proto3" json:"hide_phone_number,omitempty"`
	// Dispatch Rule will only accept a call made to these numbers (if set).
	InboundNumbers []string `protobuf:"bytes,6,rep,name=inbound_numbers,json=inboundNumbers,proto3" json:"inbound_numbers,omitempty"`
	// Optional human-readable name for the Dispatch Rule.
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// User-defined metadata for the Dispatch Rule.
	// Participants created by this rule will inherit this metadata.
	Metadata string `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// User-defined attributes for the Dispatch Rule.
	// Participants created by this rule will inherit these attributes.
	Attributes map[string]string `protobuf:"bytes,7,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Cloud-only, config preset to use
	RoomPreset string `protobuf:"bytes,8,opt,name=room_preset,json=roomPreset,proto3" json:"room_preset,omitempty"`
	// RoomConfiguration to use if the participant initiates the room
	RoomConfig    *RoomConfiguration `protobuf:"bytes,9,opt,name=room_config,json=roomConfig,proto3" json:"room_config,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateSIPDispatchRuleRequest) Reset() {
	*x = CreateSIPDispatchRuleRequest{}
	mi := &file_livekit_sip_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateSIPDispatchRuleRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateSIPDispatchRuleRequest) ProtoMessage() {}

func (x *CreateSIPDispatchRuleRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateSIPDispatchRuleRequest.ProtoReflect.Descriptor instead.
func (*CreateSIPDispatchRuleRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{22}
}

func (x *CreateSIPDispatchRuleRequest) GetRule() *SIPDispatchRule {
	if x != nil {
		return x.Rule
	}
	return nil
}

func (x *CreateSIPDispatchRuleRequest) GetTrunkIds() []string {
	if x != nil {
		return x.TrunkIds
	}
	return nil
}

func (x *CreateSIPDispatchRuleRequest) GetHidePhoneNumber() bool {
	if x != nil {
		return x.HidePhoneNumber
	}
	return false
}

func (x *CreateSIPDispatchRuleRequest) GetInboundNumbers() []string {
	if x != nil {
		return x.InboundNumbers
	}
	return nil
}

func (x *CreateSIPDispatchRuleRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *CreateSIPDispatchRuleRequest) GetMetadata() string {
	if x != nil {
		return x.Metadata
	}
	return ""
}

func (x *CreateSIPDispatchRuleRequest) GetAttributes() map[string]string {
	if x != nil {
		return x.Attributes
	}
	return nil
}

func (x *CreateSIPDispatchRuleRequest) GetRoomPreset() string {
	if x != nil {
		return x.RoomPreset
	}
	return ""
}

func (x *CreateSIPDispatchRuleRequest) GetRoomConfig() *RoomConfiguration {
	if x != nil {
		return x.RoomConfig
	}
	return nil
}

type SIPDispatchRuleInfo struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	SipDispatchRuleId string                 `protobuf:"bytes,1,opt,name=sip_dispatch_rule_id,json=sipDispatchRuleId,proto3" json:"sip_dispatch_rule_id,omitempty"`
	Rule              *SIPDispatchRule       `protobuf:"bytes,2,opt,name=rule,proto3" json:"rule,omitempty"`
	TrunkIds          []string               `protobuf:"bytes,3,rep,name=trunk_ids,json=trunkIds,proto3" json:"trunk_ids,omitempty"`
	HidePhoneNumber   bool                   `protobuf:"varint,4,opt,name=hide_phone_number,json=hidePhoneNumber,proto3" json:"hide_phone_number,omitempty"`
	// Dispatch Rule will only accept a call made to these numbers (if set).
	InboundNumbers []string `protobuf:"bytes,7,rep,name=inbound_numbers,json=inboundNumbers,proto3" json:"inbound_numbers,omitempty"`
	// Human-readable name for the Dispatch Rule.
	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
	// User-defined metadata for the Dispatch Rule.
	// Participants created by this rule will inherit this metadata.
	Metadata string `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// User-defined attributes for the Dispatch Rule.
	// Participants created by this rule will inherit these attributes.
	Attributes map[string]string `protobuf:"bytes,8,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Cloud-only, config preset to use
	RoomPreset string `protobuf:"bytes,9,opt,name=room_preset,json=roomPreset,proto3" json:"room_preset,omitempty"`
	// RoomConfiguration to use if the participant initiates the room
	RoomConfig      *RoomConfiguration `protobuf:"bytes,10,opt,name=room_config,json=roomConfig,proto3" json:"room_config,omitempty"`
	KrispEnabled    bool               `protobuf:"varint,11,opt,name=krisp_enabled,json=krispEnabled,proto3" json:"krisp_enabled,omitempty"`
	MediaEncryption SIPMediaEncryption `protobuf:"varint,12,opt,name=media_encryption,json=mediaEncryption,proto3,enum=livekit.SIPMediaEncryption" json:"media_encryption,omitempty"` // NEXT ID: 13
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *SIPDispatchRuleInfo) Reset() {
	*x = SIPDispatchRuleInfo{}
	mi := &file_livekit_sip_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SIPDispatchRuleInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SIPDispatchRuleInfo) ProtoMessage() {}

func (x *SIPDispatchRuleInfo) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SIPDispatchRuleInfo.ProtoReflect.Descriptor instead.
func (*SIPDispatchRuleInfo) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{23}
}

func (x *SIPDispatchRuleInfo) GetSipDispatchRuleId() string {
	if x != nil {
		return x.SipDispatchRuleId
	}
	return ""
}

func (x *SIPDispatchRuleInfo) GetRule() *SIPDispatchRule {
	if x != nil {
		return x.Rule
	}
	return nil
}

func (x *SIPDispatchRuleInfo) GetTrunkIds() []string {
	if x != nil {
		return x.TrunkIds
	}
	return nil
}

func (x *SIPDispatchRuleInfo) GetHidePhoneNumber() bool {
	if x != nil {
		return x.HidePhoneNumber
	}
	return false
}

func (x *SIPDispatchRuleInfo) GetInboundNumbers() []string {
	if x != nil {
		return x.InboundNumbers
	}
	return nil
}

func (x *SIPDispatchRuleInfo) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *SIPDispatchRuleInfo) GetMetadata() string {
	if x != nil {
		return x.Metadata
	}
	return ""
}

func (x *SIPDispatchRuleInfo) GetAttributes() map[string]string {
	if x != nil {
		return x.Attributes
	}
	return nil
}

func (x *SIPDispatchRuleInfo) GetRoomPreset() string {
	if x != nil {
		return x.RoomPreset
	}
	return ""
}

func (x *SIPDispatchRuleInfo) GetRoomConfig() *RoomConfiguration {
	if x != nil {
		return x.RoomConfig
	}
	return nil
}

func (x *SIPDispatchRuleInfo) GetKrispEnabled() bool {
	if x != nil {
		return x.KrispEnabled
	}
	return false
}

func (x *SIPDispatchRuleInfo) GetMediaEncryption() SIPMediaEncryption {
	if x != nil {
		return x.MediaEncryption
	}
	return SIPMediaEncryption_SIP_MEDIA_ENCRYPT_DISABLE
}

// ListSIPDispatchRuleRequest lists dispatch rules for given filters. If no filters are set, all rules are listed.
type ListSIPDispatchRuleRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Page  *Pagination            `protobuf:"bytes,3,opt,name=page,proto3" json:"page,omitempty"`
	// Rule IDs to list. If this option is set, the response will contains rules in the same order.
	// If any of the rules is missing, a nil item in that position will be sent in the response.
	DispatchRuleIds []string `protobuf:"bytes,1,rep,name=dispatch_rule_ids,json=dispatchRuleIds,proto3" json:"dispatch_rule_ids,omitempty"`
	// Only list rules that contain one of the Trunk IDs, including wildcard rules.
	TrunkIds      []string `protobuf:"bytes,2,rep,name=trunk_ids,json=trunkIds,proto3" json:"trunk_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSIPDispatchRuleRequest) Reset() {
	*x = ListSIPDispatchRuleRequest{}
	mi := &file_livekit_sip_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSIPDispatchRuleRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSIPDispatchRuleRequest) ProtoMessage() {}

func (x *ListSIPDispatchRuleRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSIPDispatchRuleRequest.ProtoReflect.Descriptor instead.
func (*ListSIPDispatchRuleRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{24}
}

func (x *ListSIPDispatchRuleRequest) GetPage() *Pagination {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListSIPDispatchRuleRequest) GetDispatchRuleIds() []string {
	if x != nil {
		return x.DispatchRuleIds
	}
	return nil
}

func (x *ListSIPDispatchRuleRequest) GetTrunkIds() []string {
	if x != nil {
		return x.TrunkIds
	}
	return nil
}

type ListSIPDispatchRuleResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*SIPDispatchRuleInfo `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSIPDispatchRuleResponse) Reset() {
	*x = ListSIPDispatchRuleResponse{}
	mi := &file_livekit_sip_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSIPDispatchRuleResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSIPDispatchRuleResponse) ProtoMessage() {}

func (x *ListSIPDispatchRuleResponse) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSIPDispatchRuleResponse.ProtoReflect.Descriptor instead.
func (*ListSIPDispatchRuleResponse) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{25}
}

func (x *ListSIPDispatchRuleResponse) GetItems() []*SIPDispatchRuleInfo {
	if x != nil {
		return x.Items
	}
	return nil
}

type DeleteSIPDispatchRuleRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	SipDispatchRuleId string                 `protobuf:"bytes,1,opt,name=sip_dispatch_rule_id,json=sipDispatchRuleId,proto3" json:"sip_dispatch_rule_id,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *DeleteSIPDispatchRuleRequest) Reset() {
	*x = DeleteSIPDispatchRuleRequest{}
	mi := &file_livekit_sip_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteSIPDispatchRuleRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteSIPDispatchRuleRequest) ProtoMessage() {}

func (x *DeleteSIPDispatchRuleRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteSIPDispatchRuleRequest.ProtoReflect.Descriptor instead.
func (*DeleteSIPDispatchRuleRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{26}
}

func (x *DeleteSIPDispatchRuleRequest) GetSipDispatchRuleId() string {
	if x != nil {
		return x.SipDispatchRuleId
	}
	return ""
}

type SIPOutboundConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// SIP server address
	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// SIP Transport used for outbound call.
	Transport SIPTransport `protobuf:"varint,2,opt,name=transport,proto3,enum=livekit.SIPTransport" json:"transport,omitempty"`
	// Username and password used to authenticate with SIP server.
	// May be empty to have no authentication.
	AuthUsername string `protobuf:"bytes,3,opt,name=auth_username,json=authUsername,proto3" json:"auth_username,omitempty"`
	AuthPassword string `protobuf:"bytes,4,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"`
	// Map SIP X-* headers from 200 OK to SIP participant attributes.
	// Keys are the names of X-* headers and values are the names of attributes they will be mapped to.
	HeadersToAttributes map[string]string `protobuf:"bytes,5,rep,name=headers_to_attributes,json=headersToAttributes,proto3" json:"headers_to_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Map LiveKit attributes to SIP X-* headers when sending BYE or REFER requests.
	// Keys are the names of attributes and values are the names of X-* headers they will be mapped to.
	AttributesToHeaders map[string]string `protobuf:"bytes,6,rep,name=attributes_to_headers,json=attributesToHeaders,proto3" json:"attributes_to_headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *SIPOutboundConfig) Reset() {
	*x = SIPOutboundConfig{}
	mi := &file_livekit_sip_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SIPOutboundConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SIPOutboundConfig) ProtoMessage() {}

func (x *SIPOutboundConfig) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SIPOutboundConfig.ProtoReflect.Descriptor instead.
func (*SIPOutboundConfig) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{27}
}

func (x *SIPOutboundConfig) GetHostname() string {
	if x != nil {
		return x.Hostname
	}
	return ""
}

func (x *SIPOutboundConfig) GetTransport() SIPTransport {
	if x != nil {
		return x.Transport
	}
	return SIPTransport_SIP_TRANSPORT_AUTO
}

func (x *SIPOutboundConfig) GetAuthUsername() string {
	if x != nil {
		return x.AuthUsername
	}
	return ""
}

func (x *SIPOutboundConfig) GetAuthPassword() string {
	if x != nil {
		return x.AuthPassword
	}
	return ""
}

func (x *SIPOutboundConfig) GetHeadersToAttributes() map[string]string {
	if x != nil {
		return x.HeadersToAttributes
	}
	return nil
}

func (x *SIPOutboundConfig) GetAttributesToHeaders() map[string]string {
	if x != nil {
		return x.AttributesToHeaders
	}
	return nil
}

// A SIP Participant is a singular SIP session connected to a LiveKit room via
// a SIP Trunk into a SIP DispatchRule
type CreateSIPParticipantRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// What SIP Trunk should be used to dial the user
	SipTrunkId string             `protobuf:"bytes,1,opt,name=sip_trunk_id,json=sipTrunkId,proto3" json:"sip_trunk_id,omitempty"`
	Trunk      *SIPOutboundConfig `protobuf:"bytes,20,opt,name=trunk,proto3" json:"trunk,omitempty"`
	// What number should be dialed via SIP
	SipCallTo string `protobuf:"bytes,2,opt,name=sip_call_to,json=sipCallTo,proto3" json:"sip_call_to,omitempty"`
	// Optional SIP From number to use. If empty, trunk number is used.
	SipNumber string `protobuf:"bytes,15,opt,name=sip_number,json=sipNumber,proto3" json:"sip_number,omitempty"`
	// What LiveKit room should this participant be connected too
	RoomName string `protobuf:"bytes,3,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
	// Optional identity of the participant in LiveKit room
	ParticipantIdentity string `protobuf:"bytes,4,opt,name=participant_identity,json=participantIdentity,proto3" json:"participant_identity,omitempty"`
	// Optional name of the participant in LiveKit room
	ParticipantName string `protobuf:"bytes,7,opt,name=participant_name,json=participantName,proto3" json:"participant_name,omitempty"`
	// Optional user-defined metadata. Will be attached to a created Participant in the room.
	ParticipantMetadata string `protobuf:"bytes,8,opt,name=participant_metadata,json=participantMetadata,proto3" json:"participant_metadata,omitempty"`
	// Optional user-defined attributes. Will be attached to a created Participant in the room.
	ParticipantAttributes map[string]string `protobuf:"bytes,9,rep,name=participant_attributes,json=participantAttributes,proto3" json:"participant_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Optionally send following DTMF digits (extension codes) when making a call.
	// Character 'w' can be used to add a 0.5 sec delay.
	Dtmf string `protobuf:"bytes,5,opt,name=dtmf,proto3" json:"dtmf,omitempty"`
	// Optionally play dialtone in the room as an audible indicator for existing participants. The `play_ringtone` option is deprectated but has the same effect.
	//
	// Deprecated: Marked as deprecated in livekit_sip.proto.
	PlayRingtone bool `protobuf:"varint,6,opt,name=play_ringtone,json=playRingtone,proto3" json:"play_ringtone,omitempty"`
	PlayDialtone bool `protobuf:"varint,13,opt,name=play_dialtone,json=playDialtone,proto3" json:"play_dialtone,omitempty"`
	// By default the From value (Phone number) is used for participant name/identity (if not set) and added to attributes.
	// If true, a random value for identity will be used and numbers will be omitted from attributes.
	HidePhoneNumber bool `protobuf:"varint,10,opt,name=hide_phone_number,json=hidePhoneNumber,proto3" json:"hide_phone_number,omitempty"`
	// These headers are sent as-is and may help identify this call as coming from LiveKit for the other SIP endpoint.
	Headers map[string]string `protobuf:"bytes,16,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Map SIP headers from 200 OK to sip.h.* participant attributes automatically.
	//
	// When the names of required headers is known, using headers_to_attributes is strongly recommended.
	//
	// When mapping 200 OK headers to follow-up request headers with attributes_to_headers map,
	// lowercase header names should be used, for example: sip.h.x-custom-header.
	IncludeHeaders SIPHeaderOptions `protobuf:"varint,17,opt,name=include_headers,json=includeHeaders,proto3,enum=livekit.SIPHeaderOptions" json:"include_headers,omitempty"`
	// Max time for the callee to answer the call.
	RingingTimeout *durationpb.Duration `protobuf:"bytes,11,opt,name=ringing_timeout,json=ringingTimeout,proto3" json:"ringing_timeout,omitempty"`
	// Max call duration.
	MaxCallDuration *durationpb.Duration `protobuf:"bytes,12,opt,name=max_call_duration,json=maxCallDuration,proto3" json:"max_call_duration,omitempty"`
	// Enable voice isolation for the callee.
	KrispEnabled    bool               `protobuf:"varint,14,opt,name=krisp_enabled,json=krispEnabled,proto3" json:"krisp_enabled,omitempty"`
	MediaEncryption SIPMediaEncryption `protobuf:"varint,18,opt,name=media_encryption,json=mediaEncryption,proto3,enum=livekit.SIPMediaEncryption" json:"media_encryption,omitempty"`
	// Wait for the answer for the call before returning.
	WaitUntilAnswered bool `protobuf:"varint,19,opt,name=wait_until_answered,json=waitUntilAnswered,proto3" json:"wait_until_answered,omitempty"` // NEXT ID: 21
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *CreateSIPParticipantRequest) Reset() {
	*x = CreateSIPParticipantRequest{}
	mi := &file_livekit_sip_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateSIPParticipantRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateSIPParticipantRequest) ProtoMessage() {}

func (x *CreateSIPParticipantRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateSIPParticipantRequest.ProtoReflect.Descriptor instead.
func (*CreateSIPParticipantRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{28}
}

func (x *CreateSIPParticipantRequest) GetSipTrunkId() string {
	if x != nil {
		return x.SipTrunkId
	}
	return ""
}

func (x *CreateSIPParticipantRequest) GetTrunk() *SIPOutboundConfig {
	if x != nil {
		return x.Trunk
	}
	return nil
}

func (x *CreateSIPParticipantRequest) GetSipCallTo() string {
	if x != nil {
		return x.SipCallTo
	}
	return ""
}

func (x *CreateSIPParticipantRequest) GetSipNumber() string {
	if x != nil {
		return x.SipNumber
	}
	return ""
}

func (x *CreateSIPParticipantRequest) GetRoomName() string {
	if x != nil {
		return x.RoomName
	}
	return ""
}

func (x *CreateSIPParticipantRequest) GetParticipantIdentity() string {
	if x != nil {
		return x.ParticipantIdentity
	}
	return ""
}

func (x *CreateSIPParticipantRequest) GetParticipantName() string {
	if x != nil {
		return x.ParticipantName
	}
	return ""
}

func (x *CreateSIPParticipantRequest) GetParticipantMetadata() string {
	if x != nil {
		return x.ParticipantMetadata
	}
	return ""
}

func (x *CreateSIPParticipantRequest) GetParticipantAttributes() map[string]string {
	if x != nil {
		return x.ParticipantAttributes
	}
	return nil
}

func (x *CreateSIPParticipantRequest) GetDtmf() string {
	if x != nil {
		return x.Dtmf
	}
	return ""
}

// Deprecated: Marked as deprecated in livekit_sip.proto.
func (x *CreateSIPParticipantRequest) GetPlayRingtone() bool {
	if x != nil {
		return x.PlayRingtone
	}
	return false
}

func (x *CreateSIPParticipantRequest) GetPlayDialtone() bool {
	if x != nil {
		return x.PlayDialtone
	}
	return false
}

func (x *CreateSIPParticipantRequest) GetHidePhoneNumber() bool {
	if x != nil {
		return x.HidePhoneNumber
	}
	return false
}

func (x *CreateSIPParticipantRequest) GetHeaders() map[string]string {
	if x != nil {
		return x.Headers
	}
	return nil
}

func (x *CreateSIPParticipantRequest) GetIncludeHeaders() SIPHeaderOptions {
	if x != nil {
		return x.IncludeHeaders
	}
	return SIPHeaderOptions_SIP_NO_HEADERS
}

func (x *CreateSIPParticipantRequest) GetRingingTimeout() *durationpb.Duration {
	if x != nil {
		return x.RingingTimeout
	}
	return nil
}

func (x *CreateSIPParticipantRequest) GetMaxCallDuration() *durationpb.Duration {
	if x != nil {
		return x.MaxCallDuration
	}
	return nil
}

func (x *CreateSIPParticipantRequest) GetKrispEnabled() bool {
	if x != nil {
		return x.KrispEnabled
	}
	return false
}

func (x *CreateSIPParticipantRequest) GetMediaEncryption() SIPMediaEncryption {
	if x != nil {
		return x.MediaEncryption
	}
	return SIPMediaEncryption_SIP_MEDIA_ENCRYPT_DISABLE
}

func (x *CreateSIPParticipantRequest) GetWaitUntilAnswered() bool {
	if x != nil {
		return x.WaitUntilAnswered
	}
	return false
}

type SIPParticipantInfo struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	ParticipantId       string                 `protobuf:"bytes,1,opt,name=participant_id,json=participantId,proto3" json:"participant_id,omitempty"`
	ParticipantIdentity string                 `protobuf:"bytes,2,opt,name=participant_identity,json=participantIdentity,proto3" json:"participant_identity,omitempty"`
	RoomName            string                 `protobuf:"bytes,3,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
	SipCallId           string                 `protobuf:"bytes,4,opt,name=sip_call_id,json=sipCallId,proto3" json:"sip_call_id,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *SIPParticipantInfo) Reset() {
	*x = SIPParticipantInfo{}
	mi := &file_livekit_sip_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SIPParticipantInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SIPParticipantInfo) ProtoMessage() {}

func (x *SIPParticipantInfo) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SIPParticipantInfo.ProtoReflect.Descriptor instead.
func (*SIPParticipantInfo) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{29}
}

func (x *SIPParticipantInfo) GetParticipantId() string {
	if x != nil {
		return x.ParticipantId
	}
	return ""
}

func (x *SIPParticipantInfo) GetParticipantIdentity() string {
	if x != nil {
		return x.ParticipantIdentity
	}
	return ""
}

func (x *SIPParticipantInfo) GetRoomName() string {
	if x != nil {
		return x.RoomName
	}
	return ""
}

func (x *SIPParticipantInfo) GetSipCallId() string {
	if x != nil {
		return x.SipCallId
	}
	return ""
}

type TransferSIPParticipantRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	ParticipantIdentity string                 `protobuf:"bytes,1,opt,name=participant_identity,json=participantIdentity,proto3" json:"participant_identity,omitempty"`
	RoomName            string                 `protobuf:"bytes,2,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
	TransferTo          string                 `protobuf:"bytes,3,opt,name=transfer_to,json=transferTo,proto3" json:"transfer_to,omitempty"`
	// Optionally play dialtone to the SIP participant as an audible indicator of being transferred
	PlayDialtone bool `protobuf:"varint,4,opt,name=play_dialtone,json=playDialtone,proto3" json:"play_dialtone,omitempty"`
	// Add the following headers to the REFER SIP request.
	Headers       map[string]string `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TransferSIPParticipantRequest) Reset() {
	*x = TransferSIPParticipantRequest{}
	mi := &file_livekit_sip_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TransferSIPParticipantRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TransferSIPParticipantRequest) ProtoMessage() {}

func (x *TransferSIPParticipantRequest) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TransferSIPParticipantRequest.ProtoReflect.Descriptor instead.
func (*TransferSIPParticipantRequest) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{30}
}

func (x *TransferSIPParticipantRequest) GetParticipantIdentity() string {
	if x != nil {
		return x.ParticipantIdentity
	}
	return ""
}

func (x *TransferSIPParticipantRequest) GetRoomName() string {
	if x != nil {
		return x.RoomName
	}
	return ""
}

func (x *TransferSIPParticipantRequest) GetTransferTo() string {
	if x != nil {
		return x.TransferTo
	}
	return ""
}

func (x *TransferSIPParticipantRequest) GetPlayDialtone() bool {
	if x != nil {
		return x.PlayDialtone
	}
	return false
}

func (x *TransferSIPParticipantRequest) GetHeaders() map[string]string {
	if x != nil {
		return x.Headers
	}
	return nil
}

type SIPCallInfo struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	CallId              string                 `protobuf:"bytes,1,opt,name=call_id,json=callId,proto3" json:"call_id,omitempty"`
	TrunkId             string                 `protobuf:"bytes,2,opt,name=trunk_id,json=trunkId,proto3" json:"trunk_id,omitempty"`
	RoomName            string                 `protobuf:"bytes,3,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"`
	RoomId              string                 `protobuf:"bytes,4,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` // ID of the current/previous room published to
	ParticipantIdentity string                 `protobuf:"bytes,5,opt,name=participant_identity,json=participantIdentity,proto3" json:"participant_identity,omitempty"`
	FromUri             *SIPUri                `protobuf:"bytes,6,opt,name=from_uri,json=fromUri,proto3" json:"from_uri,omitempty"`
	ToUri               *SIPUri                `protobuf:"bytes,7,opt,name=to_uri,json=toUri,proto3" json:"to_uri,omitempty"`
	EnabledFeatures     []SIPFeature           `protobuf:"varint,14,rep,packed,name=enabled_features,json=enabledFeatures,proto3,enum=livekit.SIPFeature" json:"enabled_features,omitempty"`
	CallDirection       SIPCallDirection       `protobuf:"varint,15,opt,name=call_direction,json=callDirection,proto3,enum=livekit.SIPCallDirection" json:"call_direction,omitempty"`
	CallStatus          SIPCallStatus          `protobuf:"varint,8,opt,name=call_status,json=callStatus,proto3,enum=livekit.SIPCallStatus" json:"call_status,omitempty"`
	CreatedAt           int64                  `protobuf:"varint,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	StartedAt           int64                  `protobuf:"varint,10,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
	EndedAt             int64                  `protobuf:"varint,11,opt,name=ended_at,json=endedAt,proto3" json:"ended_at,omitempty"`
	DisconnectReason    DisconnectReason       `protobuf:"varint,12,opt,name=disconnect_reason,json=disconnectReason,proto3,enum=livekit.DisconnectReason" json:"disconnect_reason,omitempty"`
	Error               string                 `protobuf:"bytes,13,opt,name=error,proto3" json:"error,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *SIPCallInfo) Reset() {
	*x = SIPCallInfo{}
	mi := &file_livekit_sip_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SIPCallInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SIPCallInfo) ProtoMessage() {}

func (x *SIPCallInfo) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SIPCallInfo.ProtoReflect.Descriptor instead.
func (*SIPCallInfo) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{31}
}

func (x *SIPCallInfo) GetCallId() string {
	if x != nil {
		return x.CallId
	}
	return ""
}

func (x *SIPCallInfo) GetTrunkId() string {
	if x != nil {
		return x.TrunkId
	}
	return ""
}

func (x *SIPCallInfo) GetRoomName() string {
	if x != nil {
		return x.RoomName
	}
	return ""
}

func (x *SIPCallInfo) GetRoomId() string {
	if x != nil {
		return x.RoomId
	}
	return ""
}

func (x *SIPCallInfo) GetParticipantIdentity() string {
	if x != nil {
		return x.ParticipantIdentity
	}
	return ""
}

func (x *SIPCallInfo) GetFromUri() *SIPUri {
	if x != nil {
		return x.FromUri
	}
	return nil
}

func (x *SIPCallInfo) GetToUri() *SIPUri {
	if x != nil {
		return x.ToUri
	}
	return nil
}

func (x *SIPCallInfo) GetEnabledFeatures() []SIPFeature {
	if x != nil {
		return x.EnabledFeatures
	}
	return nil
}

func (x *SIPCallInfo) GetCallDirection() SIPCallDirection {
	if x != nil {
		return x.CallDirection
	}
	return SIPCallDirection_SCD_UNKNOWN
}

func (x *SIPCallInfo) GetCallStatus() SIPCallStatus {
	if x != nil {
		return x.CallStatus
	}
	return SIPCallStatus_SCS_CALL_INCOMING
}

func (x *SIPCallInfo) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *SIPCallInfo) GetStartedAt() int64 {
	if x != nil {
		return x.StartedAt
	}
	return 0
}

func (x *SIPCallInfo) GetEndedAt() int64 {
	if x != nil {
		return x.EndedAt
	}
	return 0
}

func (x *SIPCallInfo) GetDisconnectReason() DisconnectReason {
	if x != nil {
		return x.DisconnectReason
	}
	return DisconnectReason_UNKNOWN_REASON
}

func (x *SIPCallInfo) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

type SIPUri struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	User          string                 `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	Host          string                 `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"`
	Ip            string                 `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"`
	Port          uint32                 `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"`
	Transport     SIPTransport           `protobuf:"varint,5,opt,name=transport,proto3,enum=livekit.SIPTransport" json:"transport,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SIPUri) Reset() {
	*x = SIPUri{}
	mi := &file_livekit_sip_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SIPUri) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SIPUri) ProtoMessage() {}

func (x *SIPUri) ProtoReflect() protoreflect.Message {
	mi := &file_livekit_sip_proto_msgTypes[32]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SIPUri.ProtoReflect.Descriptor instead.
func (*SIPUri) Descriptor() ([]byte, []int) {
	return file_livekit_sip_proto_rawDescGZIP(), []int{32}
}

func (x *SIPUri) GetUser() string {
	if x != nil {
		return x.User
	}
	return ""
}

func (x *SIPUri) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *SIPUri) GetIp() string {
	if x != nil {
		return x.Ip
	}
	return ""
}

func (x *SIPUri) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *SIPUri) GetTransport() SIPTransport {
	if x != nil {
		return x.Transport
	}
	return SIPTransport_SIP_TRANSPORT_AUTO
}

var File_livekit_sip_proto protoreflect.FileDescriptor

var file_livekit_sip_proto_rawDesc = string([]byte{
	0x0a, 0x11, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x73, 0x69, 0x70, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x1a, 0x1e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d,
	0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b,
	0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x12, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x09, 0x53, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x12, 0x2a, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16,
	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06,
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x22, 0xdd, 0x03, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53,
	0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b,
	0x0a, 0x11, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
	0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x62, 0x6f, 0x75,
	0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6f,
	0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x41,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75,
	0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0e, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
	0x36, 0x0a, 0x15, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x73, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02,
	0x18, 0x01, 0x52, 0x13, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x73, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x62, 0x6f, 0x75,
	0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x0e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73,
	0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x62, 0x6f,
	0x75, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69,
	0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61,
	0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75,
	0x6e, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f,
	0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
	0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x3a, 0x02, 0x18, 0x01, 0x22, 0xa6, 0x05, 0x0a, 0x0c, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e,
	0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x69, 0x70, 0x5f, 0x74, 0x72, 0x75,
	0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x70,
	0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18,
	0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
	0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x54, 0x72, 0x75,
	0x6e, 0x6b, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2b, 0x0a, 0x11,
	0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65,
	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64,
	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x75, 0x74,
	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x64, 0x64,
	0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64,
	0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f,
	0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x33, 0x0a,
	0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x54, 0x72,
	0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f,
	0x72, 0x74, 0x12, 0x36, 0x0a, 0x15, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x05, 0x20, 0x03, 0x28,
	0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e,
	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x75,
	0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69,
	0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29,
	0x0a, 0x10, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f,
	0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e,
	0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x75, 0x74,
	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x55, 0x73,
	0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75,
	0x6e, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77,
	0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0x22, 0x44, 0x0a, 0x09, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x4b, 0x69, 0x6e, 0x64,
	0x12, 0x10, 0x0a, 0x0c, 0x54, 0x52, 0x55, 0x4e, 0x4b, 0x5f, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59,
	0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x52, 0x55, 0x4e, 0x4b, 0x5f, 0x49, 0x4e, 0x42, 0x4f,
	0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x52, 0x55, 0x4e, 0x4b, 0x5f, 0x4f,
	0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x52, 0x0a,
	0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e,
	0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a,
	0x05, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c,
	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e,
	0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 0x72, 0x75, 0x6e,
	0x6b, 0x22, 0xc4, 0x08, 0x0a, 0x13, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64,
	0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x69, 0x70,
	0x5f, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x73, 0x69, 0x70, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6e,
	0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,
	0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x6e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x6c,
	0x6f, 0x77, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61,
	0x75, 0x74, 0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
	0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
	0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73,
	0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x43, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
	0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
	0x2e, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b,
	0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x69, 0x0a, 0x15, 0x68, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
	0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6c, 0x69, 0x76, 0x65,
	0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72,
	0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54,
	0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x52, 0x13, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69,
	0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x15, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
	0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0e,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53,
	0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e,
	0x66, 0x6f, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x61, 0x74, 0x74,
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
	0x12, 0x42, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65,
	0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x69, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x5f,
	0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x69, 0x6e, 0x67, 0x69, 0x6e,
	0x67, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f,
	0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f,
	0x6d, 0x61, 0x78, 0x43, 0x61, 0x6c, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x23, 0x0a, 0x0d, 0x6b, 0x72, 0x69, 0x73, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6b, 0x72, 0x69, 0x73, 0x70, 0x45, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x65, 0x6e,
	0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b,
	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x4d, 0x65, 0x64, 0x69,
	0x61, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6d, 0x65, 0x64,
	0x69, 0x61, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3a, 0x0a, 0x0c,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
	0x1a, 0x46, 0x0a, 0x18, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x54, 0x6f,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x54, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75,
	0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x05, 0x74, 0x72, 0x75,
	0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
	0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72,
	0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x22, 0x91,
	0x07, 0x0a, 0x14, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72,
	0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x69, 0x70, 0x5f, 0x74,
	0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73,
	0x69, 0x70, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64,
	0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
	0x2e, 0x53, 0x49, 0x50, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x09, 0x74,
	0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x55,
	0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f,
	0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x61, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x44, 0x0a, 0x07,
	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f,
	0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x73, 0x12, 0x6a, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f,
	0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x36, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x4f,
	0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f,
	0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
	0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x68, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x73, 0x54, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x6a,
	0x0a, 0x15, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f,
	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e,
	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f,
	0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x74, 0x74,
	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
	0x73, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x69, 0x6e,
	0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49,
	0x50, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e,
	0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x46,
	0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
	0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x45, 0x6e, 0x63, 0x72, 0x79,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x45, 0x6e, 0x63, 0x72,
	0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
	0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41,
	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x41, 0x74,
	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
	0x38, 0x01, 0x22, 0x3d, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f,
	0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x20, 0x0a, 0x0c, 0x73, 0x69, 0x70, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x70, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49,
	0x64, 0x22, 0x50, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75,
	0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x32, 0x0a, 0x05, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f,
	0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 0x72,
	0x75, 0x6e, 0x6b, 0x22, 0x3e, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74,
	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x69, 0x70, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x70, 0x54, 0x72, 0x75, 0x6e,
	0x6b, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74,
	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x4f,
	0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f,
	0x52, 0x05, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x22, 0x42, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53,
	0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27,
	0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c,
	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x47, 0x0a, 0x14, 0x4c,
	0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50,
	0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73,
	0x3a, 0x02, 0x18, 0x01, 0x22, 0x7c, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x49,
	0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74,
	0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08,
	0x74, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x73, 0x22, 0x51, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62,
	0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x49, 0x6e,
	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05,
	0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x7d, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50,
	0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x67,
	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a,
	0x09, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x08, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x73, 0x22, 0x53, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x4f,
	0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49,
	0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e,
	0x66, 0x6f, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x39, 0x0a, 0x15, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x69, 0x70, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x70, 0x54, 0x72, 0x75,
	0x6e, 0x6b, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x15, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61,
	0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a,
	0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69,
	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x6e, 0x22, 0x4e, 0x0a, 0x19,
	0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49,
	0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x6f,
	0x6d, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
	0x72, 0x6f, 0x6f, 0x6d, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69,
	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x6e, 0x22, 0x68, 0x0a, 0x15,
	0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x43,
	0x61, 0x6c, 0x6c, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x70, 0x72,
	0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d,
	0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x6e, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x64,
	0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x61, 0x6e,
	0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x22, 0xa1, 0x02, 0x0a, 0x0f, 0x53, 0x49, 0x50, 0x44, 0x69,
	0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x52, 0x0a, 0x14, 0x64, 0x69,
	0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65,
	0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
	0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75,
	0x6c, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x12, 0x64, 0x69, 0x73, 0x70,
	0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x5e,
	0x0a, 0x18, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f,
	0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x44, 0x69,
	0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69,
	0x64, 0x75, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x16, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
	0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x12, 0x52,
	0x0a, 0x14, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f,
	0x63, 0x61, 0x6c, 0x6c, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c,
	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74,
	0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x65, 0x48, 0x00, 0x52, 0x12,
	0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x61, 0x6c, 0x6c,
	0x65, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x22, 0xe2, 0x03, 0x0a, 0x1c, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68,
	0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x72,
	0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65,
	0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52,
	0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x75,
	0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72,
	0x75, 0x6e, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x69, 0x64, 0x65, 0x5f, 0x70,
	0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0f, 0x68, 0x69, 0x64, 0x65, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x62,
	0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x0a, 0x61,
	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x35, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
	0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65,
	0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x50, 0x72, 0x65,
	0x73, 0x65, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
	0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
	0xee, 0x04, 0x0a, 0x13, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52,
	0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x69, 0x70, 0x5f, 0x64,
	0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x69, 0x70, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74,
	0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
	0x2e, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65,
	0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f,
	0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x75, 0x6e, 0x6b,
	0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x69, 0x64, 0x65, 0x5f, 0x70, 0x68, 0x6f, 0x6e,
	0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
	0x68, 0x69, 0x64, 0x65, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
	0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e,
	0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4c, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72,
	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6c,
	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74,
	0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69,
	0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72,
	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x70,
	0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x6f, 0x6f,
	0x6d, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f,
	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c,
	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x6b, 0x72, 0x69, 0x73, 0x70, 0x5f, 0x65, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6b, 0x72, 0x69,
	0x73, 0x70, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x65, 0x64,
	0x69, 0x61, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49,
	0x50, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x52, 0x0f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
	0x22, 0x8e, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70,
	0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x27, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x70,
	0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c,
	0x65, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x69, 0x64,
	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x64,
	0x73, 0x22, 0x51, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70,
	0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x32, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73,
	0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69,
	0x74, 0x65, 0x6d, 0x73, 0x22, 0x4f, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49,
	0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x69, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x70,
	0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x11, 0x73, 0x69, 0x70, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52,
	0x75, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x90, 0x04, 0x0a, 0x11, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74,
	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x68,
	0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68,
	0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73,
	0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76,
	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72,
	0x74, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d,
	0x61, 0x75, 0x74, 0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f,
	0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x50, 0x61,
	0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x67, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18,
	0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
	0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69,
	0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x68, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12,
	0x67, 0x0a, 0x15, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f,
	0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33,
	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62,
	0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69,
	0x62, 0x75, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x52, 0x13, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x54,
	0x6f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x46, 0x0a, 0x18, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
	0x1a, 0x46, 0x0a, 0x18, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x54, 0x6f,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa3, 0x09, 0x0a, 0x1b, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x69, 0x70, 0x5f,
	0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
	0x73, 0x69, 0x70, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x05, 0x74, 0x72,
	0x75, 0x6e, 0x6b, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65,
	0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x1e, 0x0a, 0x0b,
	0x73, 0x69, 0x70, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x73, 0x69, 0x70, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x12, 0x1d, 0x0a, 0x0a,
	0x73, 0x69, 0x70, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x73, 0x69, 0x70, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x72,
	0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74,
	0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
	0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x70,
	0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
	0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63,
	0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
	0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x76, 0x0a, 0x16, 0x70, 0x61, 0x72,
	0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
	0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6c, 0x69, 0x76, 0x65,
	0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72,
	0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
	0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69,
	0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x70, 0x61, 0x72, 0x74,
	0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
	0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x64, 0x74, 0x6d, 0x66, 0x12, 0x27, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x69,
	0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01,
	0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x65, 0x12, 0x23,
	0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x69, 0x61, 0x6c, 0x74, 0x6f, 0x6e, 0x65, 0x18,
	0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x69, 0x61, 0x6c, 0x74,
	0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x69, 0x64, 0x65, 0x5f, 0x70, 0x68, 0x6f, 0x6e,
	0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
	0x68, 0x69, 0x64, 0x65, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
	0x4b, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x31, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x0f,
	0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18,
	0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
	0x53, 0x49, 0x50, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
	0x12, 0x42, 0x0a, 0x0f, 0x72, 0x69, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x6f, 0x75, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x69, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d,
	0x65, 0x6f, 0x75, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x61, 0x6c, 0x6c,
	0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x43,
	0x61, 0x6c, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6b,
	0x72, 0x69, 0x73, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0c, 0x6b, 0x72, 0x69, 0x73, 0x70, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x12, 0x46, 0x0a, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76,
	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x45, 0x6e, 0x63,
	0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x45, 0x6e,
	0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x77, 0x61, 0x69, 0x74,
	0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x65, 0x64, 0x18,
	0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x77, 0x61, 0x69, 0x74, 0x55, 0x6e, 0x74, 0x69, 0x6c,
	0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x65, 0x64, 0x1a, 0x48, 0x0a, 0x1a, 0x50, 0x61, 0x72, 0x74,
	0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
	0x38, 0x01, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74,
	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xab,
	0x01, 0x0a, 0x12, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e,
	0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
	0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70,
	0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x14,
	0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74,
	0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12,
	0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0b,
	0x73, 0x69, 0x70, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x73, 0x69, 0x70, 0x43, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x22, 0xc0, 0x02, 0x0a,
	0x1d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74,
	0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31,
	0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64,
	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61,
	0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
	0x79, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f,
	0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x6f, 0x12,
	0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x69, 0x61, 0x6c, 0x74, 0x6f, 0x6e, 0x65,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x69, 0x61, 0x6c,
	0x74, 0x6f, 0x6e, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18,
	0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
	0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74, 0x69,
	0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
	0xf0, 0x04, 0x0a, 0x0b, 0x53, 0x49, 0x50, 0x43, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12,
	0x17, 0x0a, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x75, 0x6e,
	0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x75, 0x6e,
	0x6b, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65,
	0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72,
	0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74,
	0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
	0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x08,
	0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x55, 0x72, 0x69, 0x52,
	0x07, 0x66, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x69, 0x12, 0x26, 0x0a, 0x06, 0x74, 0x6f, 0x5f, 0x75,
	0x72, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
	0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x55, 0x72, 0x69, 0x52, 0x05, 0x74, 0x6f, 0x55, 0x72, 0x69,
	0x12, 0x3e, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76,
	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52,
	0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
	0x12, 0x40, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
	0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x43, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
	0x74, 0x2e, 0x53, 0x49, 0x50, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
	0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74,
	0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64,
	0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64,
	0x65, 0x64, 0x41, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
	0x63, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e,
	0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x10, 0x64, 0x69, 0x73, 0x63,
	0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x22, 0x89, 0x01, 0x0a, 0x06, 0x53, 0x49, 0x50, 0x55, 0x72, 0x69, 0x12, 0x12, 0x0a,
	0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65,
	0x72, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x0a, 0x09, 0x74, 0x72, 0x61,
	0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c,
	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70,
	0x6f, 0x72, 0x74, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x2a, 0xef,
	0x0c, 0x0a, 0x0d, 0x53, 0x49, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65,
	0x12, 0x16, 0x0a, 0x12, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55,
	0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x50, 0x5f,
	0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x52, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x64, 0x12,
	0x17, 0x0a, 0x12, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x49,
	0x4e, 0x47, 0x49, 0x4e, 0x47, 0x10, 0xb4, 0x01, 0x12, 0x21, 0x0a, 0x1c, 0x53, 0x49, 0x50, 0x5f,
	0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x53, 0x5f, 0x46,
	0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x45, 0x44, 0x10, 0xb5, 0x01, 0x12, 0x16, 0x0a, 0x11, 0x53,
	0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44,
	0x10, 0xb6, 0x01, 0x12, 0x20, 0x0a, 0x1b, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55,
	0x53, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45,
	0x53, 0x53, 0x10, 0xb7, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41,
	0x54, 0x55, 0x53, 0x5f, 0x4f, 0x4b, 0x10, 0xc8, 0x01, 0x12, 0x18, 0x0a, 0x13, 0x53, 0x49, 0x50,
	0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44,
	0x10, 0xca, 0x01, 0x12, 0x21, 0x0a, 0x1c, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55,
	0x53, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e,
	0x54, 0x4c, 0x59, 0x10, 0xad, 0x02, 0x12, 0x21, 0x0a, 0x1c, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54,
	0x41, 0x54, 0x55, 0x53, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4f,
	0x52, 0x41, 0x52, 0x49, 0x4c, 0x59, 0x10, 0xae, 0x02, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x49, 0x50,
	0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x58,
	0x59, 0x10, 0xb1, 0x02, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54,
	0x55, 0x53, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x90,
	0x03, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f,
	0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12,
	0x20, 0x0a, 0x1b, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x41,
	0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x92,
	0x03, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f,
	0x46, 0x4f, 0x52, 0x42, 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, 0x93, 0x03, 0x12, 0x18, 0x0a, 0x13,
	0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x46, 0x4f,
	0x55, 0x4e, 0x44, 0x10, 0x94, 0x03, 0x12, 0x22, 0x0a, 0x1d, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54,
	0x41, 0x54, 0x55, 0x53, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
	0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x10, 0x95, 0x03, 0x12, 0x1e, 0x0a, 0x19, 0x53, 0x49,
	0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x43,
	0x45, 0x50, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x96, 0x03, 0x12, 0x23, 0x0a, 0x1e, 0x53, 0x49,
	0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x41,
	0x55, 0x54, 0x48, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x97, 0x03, 0x12,
	0x1f, 0x0a, 0x1a, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45,
	0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x98, 0x03,
	0x12, 0x18, 0x0a, 0x13, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43,
	0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x10, 0x99, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x53, 0x49,
	0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x47, 0x4f, 0x4e, 0x45, 0x10, 0x9a, 0x03,
	0x12, 0x28, 0x0a, 0x23, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52,
	0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x4f,
	0x4f, 0x5f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x10, 0x9d, 0x03, 0x12, 0x24, 0x0a, 0x1f, 0x53, 0x49,
	0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54,
	0x5f, 0x55, 0x52, 0x49, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x9e, 0x03,
	0x12, 0x26, 0x0a, 0x21, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55,
	0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41,
	0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x9f, 0x03, 0x12, 0x2f, 0x0a, 0x2a, 0x53, 0x49, 0x50, 0x5f,
	0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44,
	0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x41, 0x54, 0x49, 0x53,
	0x46, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xa0, 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x53, 0x49, 0x50,
	0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x45, 0x58, 0x54, 0x45,
	0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0xa4, 0x03, 0x12, 0x22, 0x0a, 0x1d, 0x53, 0x49, 0x50, 0x5f,
	0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e,
	0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0xa5, 0x03, 0x12, 0x22, 0x0a, 0x1d,
	0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52,
	0x56, 0x41, 0x4c, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x42, 0x52, 0x49, 0x45, 0x46, 0x10, 0xa7, 0x03,
	0x12, 0x27, 0x0a, 0x22, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54,
	0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x49, 0x4c, 0x59, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41,
	0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xe0, 0x03, 0x12, 0x30, 0x0a, 0x2b, 0x53, 0x49, 0x50,
	0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x52, 0x41,
	0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x45, 0x53, 0x5f, 0x4e, 0x4f,
	0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0xe1, 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x53,
	0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x44,
	0x45, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0xe2, 0x03, 0x12, 0x1d, 0x0a, 0x18, 0x53, 0x49,
	0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41, 0x4e,
	0x59, 0x5f, 0x48, 0x4f, 0x50, 0x53, 0x10, 0xe3, 0x03, 0x12, 0x22, 0x0a, 0x1d, 0x53, 0x49, 0x50,
	0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f,
	0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0xe4, 0x03, 0x12, 0x19, 0x0a,
	0x14, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x4d, 0x42, 0x49,
	0x47, 0x55, 0x4f, 0x55, 0x53, 0x10, 0xe5, 0x03, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x49, 0x50, 0x5f,
	0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x55, 0x53, 0x59, 0x5f, 0x48, 0x45, 0x52, 0x45,
	0x10, 0xe6, 0x03, 0x12, 0x22, 0x0a, 0x1d, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55,
	0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e,
	0x41, 0x54, 0x45, 0x44, 0x10, 0xe7, 0x03, 0x12, 0x23, 0x0a, 0x1e, 0x53, 0x49, 0x50, 0x5f, 0x53,
	0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54,
	0x41, 0x42, 0x4c, 0x45, 0x5f, 0x48, 0x45, 0x52, 0x45, 0x10, 0xe8, 0x03, 0x12, 0x25, 0x0a, 0x20,
	0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52,
	0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52,
	0x10, 0xf4, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55,
	0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x45,
	0x44, 0x10, 0xf5, 0x03, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54,
	0x55, 0x53, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, 0x59, 0x10, 0xf6,
	0x03, 0x12, 0x23, 0x0a, 0x1e, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f,
	0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41,
	0x42, 0x4c, 0x45, 0x10, 0xf7, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54,
	0x41, 0x54, 0x55, 0x53, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, 0x59, 0x5f, 0x54, 0x49, 0x4d,
	0x45, 0x4f, 0x55, 0x54, 0x10, 0xf8, 0x03, 0x12, 0x25, 0x0a, 0x20, 0x53, 0x49, 0x50, 0x5f, 0x53,
	0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f,
	0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0xf9, 0x03, 0x12, 0x21,
	0x0a, 0x1c, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4d, 0x45, 0x53,
	0x53, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x10, 0x81,
	0x04, 0x12, 0x26, 0x0a, 0x21, 0x53, 0x49, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f,
	0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x42, 0x55, 0x53, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x52,
	0x59, 0x57, 0x48, 0x45, 0x52, 0x45, 0x10, 0xd8, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x53, 0x49, 0x50,
	0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x44,
	0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0xdb, 0x04, 0x12, 0x2e, 0x0a, 0x29, 0x53, 0x49, 0x50,
	0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x44,
	0x4f, 0x45, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x5f, 0x41, 0x4e,
	0x59, 0x57, 0x48, 0x45, 0x52, 0x45, 0x10, 0xdc, 0x04, 0x12, 0x25, 0x0a, 0x20, 0x53, 0x49, 0x50,
	0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x4e,
	0x4f, 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xde, 0x04,
	0x2a, 0x6b, 0x0a, 0x0c, 0x53, 0x49, 0x50, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74,
	0x12, 0x16, 0x0a, 0x12, 0x53, 0x49, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52,
	0x54, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x50, 0x5f,
	0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x55, 0x44, 0x50, 0x10, 0x01, 0x12,
	0x15, 0x0a, 0x11, 0x53, 0x49, 0x50, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54,
	0x5f, 0x54, 0x43, 0x50, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x50, 0x5f, 0x54, 0x52,
	0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x4c, 0x53, 0x10, 0x03, 0x2a, 0x4e, 0x0a,
	0x10, 0x53, 0x49, 0x50, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x49, 0x50, 0x5f, 0x4e, 0x4f, 0x5f, 0x48, 0x45, 0x41, 0x44,
	0x45, 0x52, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x49, 0x50, 0x5f, 0x58, 0x5f, 0x48,
	0x45, 0x41, 0x44, 0x45, 0x52, 0x53, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x49, 0x50, 0x5f,
	0x41, 0x4c, 0x4c, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x53, 0x10, 0x02, 0x2a, 0x6f, 0x0a,
	0x12, 0x53, 0x49, 0x50, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x49, 0x50, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41,
	0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45,
	0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x49, 0x50, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f,
	0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12,
	0x1d, 0x0a, 0x19, 0x53, 0x49, 0x50, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x45, 0x4e, 0x43,
	0x52, 0x59, 0x50, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x10, 0x02, 0x2a, 0x77,
	0x0a, 0x0d, 0x53, 0x49, 0x50, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x15, 0x0a, 0x11, 0x53, 0x43, 0x53, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x4e, 0x43, 0x4f,
	0x4d, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x43, 0x53, 0x5f, 0x50, 0x41,
	0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44,
	0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45,
	0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x43, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e,
	0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x53, 0x5f,
	0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x2a, 0x29, 0x0a, 0x0a, 0x53, 0x49, 0x50, 0x46, 0x65,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12,
	0x11, 0x0a, 0x0d, 0x4b, 0x52, 0x49, 0x53, 0x50, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44,
	0x10, 0x01, 0x2a, 0x46, 0x0a, 0x10, 0x53, 0x49, 0x50, 0x43, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x43, 0x44, 0x5f, 0x55, 0x4e,
	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x43, 0x44, 0x5f, 0x49,
	0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x43, 0x44, 0x5f,
	0x4f, 0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x32, 0xba, 0x09, 0x0a, 0x03, 0x53,
	0x49, 0x50, 0x12, 0x50, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75,
	0x6e, 0x6b, 0x12, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73,
	0x74, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53,
	0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x03, 0x88, 0x02, 0x01, 0x12, 0x5c, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49,
	0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x25, 0x2e,
	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49,
	0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53,
	0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49, 0x6e,
	0x66, 0x6f, 0x12, 0x5f, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x4f,
	0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x26, 0x2e, 0x6c,
	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50,
	0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53,
	0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x49,
	0x6e, 0x66, 0x6f, 0x12, 0x5d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62,
	0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65,
	0x6b, 0x69, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e,
	0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e,
	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e,
	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62,
	0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65,
	0x6b, 0x69, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75,
	0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x49, 0x50, 0x4f,
	0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x49,
	0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x23, 0x2e, 0x6c, 0x69,
	0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x49, 0x6e, 0x62,
	0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x24, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53,
	0x49, 0x50, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49,
	0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x24,
	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50,
	0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c,
	0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72,
	0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x12, 0x1e, 0x2e,
	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49,
	0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e,
	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x54, 0x72, 0x75, 0x6e, 0x6b,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49,
	0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x25, 0x2e,
	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49,
	0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53,
	0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e,
	0x66, 0x6f, 0x12, 0x60, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73,
	0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x2e, 0x6c, 0x69, 0x76, 0x65,
	0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61,
	0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
	0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x49, 0x50,
	0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49,
	0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x25, 0x2e,
	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x49,
	0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53,
	0x49, 0x50, 0x44, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e,
	0x66, 0x6f, 0x12, 0x59, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50,
	0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x24, 0x2e, 0x6c, 0x69, 0x76,
	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x49, 0x50, 0x50, 0x61,
	0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x49, 0x50, 0x50, 0x61,
	0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x58, 0x0a,
	0x16, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72, 0x74,
	0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
	0x74, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x49, 0x50, 0x50, 0x61, 0x72,
	0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75,
	0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02,
	0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02,
	0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
})

var (
	file_livekit_sip_proto_rawDescOnce sync.Once
	file_livekit_sip_proto_rawDescData []byte
)

func file_livekit_sip_proto_rawDescGZIP() []byte {
	file_livekit_sip_proto_rawDescOnce.Do(func() {
		file_livekit_sip_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_livekit_sip_proto_rawDesc), len(file_livekit_sip_proto_rawDesc)))
	})
	return file_livekit_sip_proto_rawDescData
}

var file_livekit_sip_proto_enumTypes = make([]protoimpl.EnumInfo, 8)
var file_livekit_sip_proto_msgTypes = make([]protoimpl.MessageInfo, 46)
var file_livekit_sip_proto_goTypes = []any{
	(SIPStatusCode)(0),                    // 0: livekit.SIPStatusCode
	(SIPTransport)(0),                     // 1: livekit.SIPTransport
	(SIPHeaderOptions)(0),                 // 2: livekit.SIPHeaderOptions
	(SIPMediaEncryption)(0),               // 3: livekit.SIPMediaEncryption
	(SIPCallStatus)(0),                    // 4: livekit.SIPCallStatus
	(SIPFeature)(0),                       // 5: livekit.SIPFeature
	(SIPCallDirection)(0),                 // 6: livekit.SIPCallDirection
	(SIPTrunkInfo_TrunkKind)(0),           // 7: livekit.SIPTrunkInfo.TrunkKind
	(*SIPStatus)(nil),                     // 8: livekit.SIPStatus
	(*CreateSIPTrunkRequest)(nil),         // 9: livekit.CreateSIPTrunkRequest
	(*SIPTrunkInfo)(nil),                  // 10: livekit.SIPTrunkInfo
	(*CreateSIPInboundTrunkRequest)(nil),  // 11: livekit.CreateSIPInboundTrunkRequest
	(*SIPInboundTrunkInfo)(nil),           // 12: livekit.SIPInboundTrunkInfo
	(*CreateSIPOutboundTrunkRequest)(nil), // 13: livekit.CreateSIPOutboundTrunkRequest
	(*SIPOutboundTrunkInfo)(nil),          // 14: livekit.SIPOutboundTrunkInfo
	(*GetSIPInboundTrunkRequest)(nil),     // 15: livekit.GetSIPInboundTrunkRequest
	(*GetSIPInboundTrunkResponse)(nil),    // 16: livekit.GetSIPInboundTrunkResponse
	(*GetSIPOutboundTrunkRequest)(nil),    // 17: livekit.GetSIPOutboundTrunkRequest
	(*GetSIPOutboundTrunkResponse)(nil),   // 18: livekit.GetSIPOutboundTrunkResponse
	(*ListSIPTrunkRequest)(nil),           // 19: livekit.ListSIPTrunkRequest
	(*ListSIPTrunkResponse)(nil),          // 20: livekit.ListSIPTrunkResponse
	(*ListSIPInboundTrunkRequest)(nil),    // 21: livekit.ListSIPInboundTrunkRequest
	(*ListSIPInboundTrunkResponse)(nil),   // 22: livekit.ListSIPInboundTrunkResponse
	(*ListSIPOutboundTrunkRequest)(nil),   // 23: livekit.ListSIPOutboundTrunkRequest
	(*ListSIPOutboundTrunkResponse)(nil),  // 24: livekit.ListSIPOutboundTrunkResponse
	(*DeleteSIPTrunkRequest)(nil),         // 25: livekit.DeleteSIPTrunkRequest
	(*SIPDispatchRuleDirect)(nil),         // 26: livekit.SIPDispatchRuleDirect
	(*SIPDispatchRuleIndividual)(nil),     // 27: livekit.SIPDispatchRuleIndividual
	(*SIPDispatchRuleCallee)(nil),         // 28: livekit.SIPDispatchRuleCallee
	(*SIPDispatchRule)(nil),               // 29: livekit.SIPDispatchRule
	(*CreateSIPDispatchRuleRequest)(nil),  // 30: livekit.CreateSIPDispatchRuleRequest
	(*SIPDispatchRuleInfo)(nil),           // 31: livekit.SIPDispatchRuleInfo
	(*ListSIPDispatchRuleRequest)(nil),    // 32: livekit.ListSIPDispatchRuleRequest
	(*ListSIPDispatchRuleResponse)(nil),   // 33: livekit.ListSIPDispatchRuleResponse
	(*DeleteSIPDispatchRuleRequest)(nil),  // 34: livekit.DeleteSIPDispatchRuleRequest
	(*SIPOutboundConfig)(nil),             // 35: livekit.SIPOutboundConfig
	(*CreateSIPParticipantRequest)(nil),   // 36: livekit.CreateSIPParticipantRequest
	(*SIPParticipantInfo)(nil),            // 37: livekit.SIPParticipantInfo
	(*TransferSIPParticipantRequest)(nil), // 38: livekit.TransferSIPParticipantRequest
	(*SIPCallInfo)(nil),                   // 39: livekit.SIPCallInfo
	(*SIPUri)(nil),                        // 40: livekit.SIPUri
	nil,                                   // 41: livekit.SIPInboundTrunkInfo.HeadersEntry
	nil,                                   // 42: livekit.SIPInboundTrunkInfo.HeadersToAttributesEntry
	nil,                                   // 43: livekit.SIPInboundTrunkInfo.AttributesToHeadersEntry
	nil,                                   // 44: livekit.SIPOutboundTrunkInfo.HeadersEntry
	nil,                                   // 45: livekit.SIPOutboundTrunkInfo.HeadersToAttributesEntry
	nil,                                   // 46: livekit.SIPOutboundTrunkInfo.AttributesToHeadersEntry
	nil,                                   // 47: livekit.CreateSIPDispatchRuleRequest.AttributesEntry
	nil,                                   // 48: livekit.SIPDispatchRuleInfo.AttributesEntry
	nil,                                   // 49: livekit.SIPOutboundConfig.HeadersToAttributesEntry
	nil,                                   // 50: livekit.SIPOutboundConfig.AttributesToHeadersEntry
	nil,                                   // 51: livekit.CreateSIPParticipantRequest.ParticipantAttributesEntry
	nil,                                   // 52: livekit.CreateSIPParticipantRequest.HeadersEntry
	nil,                                   // 53: livekit.TransferSIPParticipantRequest.HeadersEntry
	(*durationpb.Duration)(nil),           // 54: google.protobuf.Duration
	(*Pagination)(nil),                    // 55: livekit.Pagination
	(*RoomConfiguration)(nil),             // 56: livekit.RoomConfiguration
	(DisconnectReason)(0),                 // 57: livekit.DisconnectReason
	(*emptypb.Empty)(nil),                 // 58: google.protobuf.Empty
}
var file_livekit_sip_proto_depIdxs = []int32{
	0,  // 0: livekit.SIPStatus.code:type_name -> livekit.SIPStatusCode
	7,  // 1: livekit.SIPTrunkInfo.kind:type_name -> livekit.SIPTrunkInfo.TrunkKind
	1,  // 2: livekit.SIPTrunkInfo.transport:type_name -> livekit.SIPTransport
	12, // 3: livekit.CreateSIPInboundTrunkRequest.trunk:type_name -> livekit.SIPInboundTrunkInfo
	41, // 4: livekit.SIPInboundTrunkInfo.headers:type_name -> livekit.SIPInboundTrunkInfo.HeadersEntry
	42, // 5: livekit.SIPInboundTrunkInfo.headers_to_attributes:type_name -> livekit.SIPInboundTrunkInfo.HeadersToAttributesEntry
	43, // 6: livekit.SIPInboundTrunkInfo.attributes_to_headers:type_name -> livekit.SIPInboundTrunkInfo.AttributesToHeadersEntry
	2,  // 7: livekit.SIPInboundTrunkInfo.include_headers:type_name -> livekit.SIPHeaderOptions
	54, // 8: livekit.SIPInboundTrunkInfo.ringing_timeout:type_name -> google.protobuf.Duration
	54, // 9: livekit.SIPInboundTrunkInfo.max_call_duration:type_name -> google.protobuf.Duration
	3,  // 10: livekit.SIPInboundTrunkInfo.media_encryption:type_name -> livekit.SIPMediaEncryption
	14, // 11: livekit.CreateSIPOutboundTrunkRequest.trunk:type_name -> livekit.SIPOutboundTrunkInfo
	1,  // 12: livekit.SIPOutboundTrunkInfo.transport:type_name -> livekit.SIPTransport
	44, // 13: livekit.SIPOutboundTrunkInfo.headers:type_name -> livekit.SIPOutboundTrunkInfo.HeadersEntry
	45, // 14: livekit.SIPOutboundTrunkInfo.headers_to_attributes:type_name -> livekit.SIPOutboundTrunkInfo.HeadersToAttributesEntry
	46, // 15: livekit.SIPOutboundTrunkInfo.attributes_to_headers:type_name -> livekit.SIPOutboundTrunkInfo.AttributesToHeadersEntry
	2,  // 16: livekit.SIPOutboundTrunkInfo.include_headers:type_name -> livekit.SIPHeaderOptions
	3,  // 17: livekit.SIPOutboundTrunkInfo.media_encryption:type_name -> livekit.SIPMediaEncryption
	12, // 18: livekit.GetSIPInboundTrunkResponse.trunk:type_name -> livekit.SIPInboundTrunkInfo
	14, // 19: livekit.GetSIPOutboundTrunkResponse.trunk:type_name -> livekit.SIPOutboundTrunkInfo
	55, // 20: livekit.ListSIPTrunkRequest.page:type_name -> livekit.Pagination
	10, // 21: livekit.ListSIPTrunkResponse.items:type_name -> livekit.SIPTrunkInfo
	55, // 22: livekit.ListSIPInboundTrunkRequest.page:type_name -> livekit.Pagination
	12, // 23: livekit.ListSIPInboundTrunkResponse.items:type_name -> livekit.SIPInboundTrunkInfo
	55, // 24: livekit.ListSIPOutboundTrunkRequest.page:type_name -> livekit.Pagination
	14, // 25: livekit.ListSIPOutboundTrunkResponse.items:type_name -> livekit.SIPOutboundTrunkInfo
	26, // 26: livekit.SIPDispatchRule.dispatch_rule_direct:type_name -> livekit.SIPDispatchRuleDirect
	27, // 27: livekit.SIPDispatchRule.dispatch_rule_individual:type_name -> livekit.SIPDispatchRuleIndividual
	28, // 28: livekit.SIPDispatchRule.dispatch_rule_callee:type_name -> livekit.SIPDispatchRuleCallee
	29, // 29: livekit.CreateSIPDispatchRuleRequest.rule:type_name -> livekit.SIPDispatchRule
	47, // 30: livekit.CreateSIPDispatchRuleRequest.attributes:type_name -> livekit.CreateSIPDispatchRuleRequest.AttributesEntry
	56, // 31: livekit.CreateSIPDispatchRuleRequest.room_config:type_name -> livekit.RoomConfiguration
	29, // 32: livekit.SIPDispatchRuleInfo.rule:type_name -> livekit.SIPDispatchRule
	48, // 33: livekit.SIPDispatchRuleInfo.attributes:type_name -> livekit.SIPDispatchRuleInfo.AttributesEntry
	56, // 34: livekit.SIPDispatchRuleInfo.room_config:type_name -> livekit.RoomConfiguration
	3,  // 35: livekit.SIPDispatchRuleInfo.media_encryption:type_name -> livekit.SIPMediaEncryption
	55, // 36: livekit.ListSIPDispatchRuleRequest.page:type_name -> livekit.Pagination
	31, // 37: livekit.ListSIPDispatchRuleResponse.items:type_name -> livekit.SIPDispatchRuleInfo
	1,  // 38: livekit.SIPOutboundConfig.transport:type_name -> livekit.SIPTransport
	49, // 39: livekit.SIPOutboundConfig.headers_to_attributes:type_name -> livekit.SIPOutboundConfig.HeadersToAttributesEntry
	50, // 40: livekit.SIPOutboundConfig.attributes_to_headers:type_name -> livekit.SIPOutboundConfig.AttributesToHeadersEntry
	35, // 41: livekit.CreateSIPParticipantRequest.trunk:type_name -> livekit.SIPOutboundConfig
	51, // 42: livekit.CreateSIPParticipantRequest.participant_attributes:type_name -> livekit.CreateSIPParticipantRequest.ParticipantAttributesEntry
	52, // 43: livekit.CreateSIPParticipantRequest.headers:type_name -> livekit.CreateSIPParticipantRequest.HeadersEntry
	2,  // 44: livekit.CreateSIPParticipantRequest.include_headers:type_name -> livekit.SIPHeaderOptions
	54, // 45: livekit.CreateSIPParticipantRequest.ringing_timeout:type_name -> google.protobuf.Duration
	54, // 46: livekit.CreateSIPParticipantRequest.max_call_duration:type_name -> google.protobuf.Duration
	3,  // 47: livekit.CreateSIPParticipantRequest.media_encryption:type_name -> livekit.SIPMediaEncryption
	53, // 48: livekit.TransferSIPParticipantRequest.headers:type_name -> livekit.TransferSIPParticipantRequest.HeadersEntry
	40, // 49: livekit.SIPCallInfo.from_uri:type_name -> livekit.SIPUri
	40, // 50: livekit.SIPCallInfo.to_uri:type_name -> livekit.SIPUri
	5,  // 51: livekit.SIPCallInfo.enabled_features:type_name -> livekit.SIPFeature
	6,  // 52: livekit.SIPCallInfo.call_direction:type_name -> livekit.SIPCallDirection
	4,  // 53: livekit.SIPCallInfo.call_status:type_name -> livekit.SIPCallStatus
	57, // 54: livekit.SIPCallInfo.disconnect_reason:type_name -> livekit.DisconnectReason
	1,  // 55: livekit.SIPUri.transport:type_name -> livekit.SIPTransport
	19, // 56: livekit.SIP.ListSIPTrunk:input_type -> livekit.ListSIPTrunkRequest
	11, // 57: livekit.SIP.CreateSIPInboundTrunk:input_type -> livekit.CreateSIPInboundTrunkRequest
	13, // 58: livekit.SIP.CreateSIPOutboundTrunk:input_type -> livekit.CreateSIPOutboundTrunkRequest
	15, // 59: livekit.SIP.GetSIPInboundTrunk:input_type -> livekit.GetSIPInboundTrunkRequest
	17, // 60: livekit.SIP.GetSIPOutboundTrunk:input_type -> livekit.GetSIPOutboundTrunkRequest
	21, // 61: livekit.SIP.ListSIPInboundTrunk:input_type -> livekit.ListSIPInboundTrunkRequest
	23, // 62: livekit.SIP.ListSIPOutboundTrunk:input_type -> livekit.ListSIPOutboundTrunkRequest
	25, // 63: livekit.SIP.DeleteSIPTrunk:input_type -> livekit.DeleteSIPTrunkRequest
	30, // 64: livekit.SIP.CreateSIPDispatchRule:input_type -> livekit.CreateSIPDispatchRuleRequest
	32, // 65: livekit.SIP.ListSIPDispatchRule:input_type -> livekit.ListSIPDispatchRuleRequest
	34, // 66: livekit.SIP.DeleteSIPDispatchRule:input_type -> livekit.DeleteSIPDispatchRuleRequest
	36, // 67: livekit.SIP.CreateSIPParticipant:input_type -> livekit.CreateSIPParticipantRequest
	38, // 68: livekit.SIP.TransferSIPParticipant:input_type -> livekit.TransferSIPParticipantRequest
	20, // 69: livekit.SIP.ListSIPTrunk:output_type -> livekit.ListSIPTrunkResponse
	12, // 70: livekit.SIP.CreateSIPInboundTrunk:output_type -> livekit.SIPInboundTrunkInfo
	14, // 71: livekit.SIP.CreateSIPOutboundTrunk:output_type -> livekit.SIPOutboundTrunkInfo
	16, // 72: livekit.SIP.GetSIPInboundTrunk:output_type -> livekit.GetSIPInboundTrunkResponse
	18, // 73: livekit.SIP.GetSIPOutboundTrunk:output_type -> livekit.GetSIPOutboundTrunkResponse
	22, // 74: livekit.SIP.ListSIPInboundTrunk:output_type -> livekit.ListSIPInboundTrunkResponse
	24, // 75: livekit.SIP.ListSIPOutboundTrunk:output_type -> livekit.ListSIPOutboundTrunkResponse
	10, // 76: livekit.SIP.DeleteSIPTrunk:output_type -> livekit.SIPTrunkInfo
	31, // 77: livekit.SIP.CreateSIPDispatchRule:output_type -> livekit.SIPDispatchRuleInfo
	33, // 78: livekit.SIP.ListSIPDispatchRule:output_type -> livekit.ListSIPDispatchRuleResponse
	31, // 79: livekit.SIP.DeleteSIPDispatchRule:output_type -> livekit.SIPDispatchRuleInfo
	37, // 80: livekit.SIP.CreateSIPParticipant:output_type -> livekit.SIPParticipantInfo
	58, // 81: livekit.SIP.TransferSIPParticipant:output_type -> google.protobuf.Empty
	69, // [69:82] is the sub-list for method output_type
	56, // [56:69] is the sub-list for method input_type
	56, // [56:56] is the sub-list for extension type_name
	56, // [56:56] is the sub-list for extension extendee
	0,  // [0:56] is the sub-list for field type_name
}

func init() { file_livekit_sip_proto_init() }
func file_livekit_sip_proto_init() {
	if File_livekit_sip_proto != nil {
		return
	}
	file_livekit_models_proto_init()
	file_livekit_room_proto_init()
	file_livekit_sip_proto_msgTypes[21].OneofWrappers = []any{
		(*SIPDispatchRule_DispatchRuleDirect)(nil),
		(*SIPDispatchRule_DispatchRuleIndividual)(nil),
		(*SIPDispatchRule_DispatchRuleCallee)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_livekit_sip_proto_rawDesc), len(file_livekit_sip_proto_rawDesc)),
			NumEnums:      8,
			NumMessages:   46,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_livekit_sip_proto_goTypes,
		DependencyIndexes: file_livekit_sip_proto_depIdxs,
		EnumInfos:         file_livekit_sip_proto_enumTypes,
		MessageInfos:      file_livekit_sip_proto_msgTypes,
	}.Build()
	File_livekit_sip_proto = out.File
	file_livekit_sip_proto_goTypes = nil
	file_livekit_sip_proto_depIdxs = nil
}
