// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.31.0
// 	protoc        v4.24.0--rc3
// source: dmv2.proto

package pb

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

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 Emoticon struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Unique       string `protobuf:"bytes,1,opt,name=unique,proto3" json:"unique,omitempty"`
	Url          string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	IsDynamic    bool   `protobuf:"varint,3,opt,name=is_dynamic,json=isDynamic,proto3" json:"is_dynamic,omitempty"`
	InPlayerArea int32  `protobuf:"varint,4,opt,name=in_player_area,json=inPlayerArea,proto3" json:"in_player_area,omitempty"`
	BulgeDisplay int32  `protobuf:"varint,5,opt,name=bulge_display,json=bulgeDisplay,proto3" json:"bulge_display,omitempty"`
	Height       int32  `protobuf:"varint,6,opt,name=height,proto3" json:"height,omitempty"`
	Width        int32  `protobuf:"varint,7,opt,name=width,proto3" json:"width,omitempty"`
}

func (x *Emoticon) Reset() {
	*x = Emoticon{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Emoticon) ProtoMessage() {}

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

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

func (x *Emoticon) GetUnique() string {
	if x != nil {
		return x.Unique
	}
	return ""
}

func (x *Emoticon) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *Emoticon) GetIsDynamic() bool {
	if x != nil {
		return x.IsDynamic
	}
	return false
}

func (x *Emoticon) GetInPlayerArea() int32 {
	if x != nil {
		return x.InPlayerArea
	}
	return 0
}

func (x *Emoticon) GetBulgeDisplay() int32 {
	if x != nil {
		return x.BulgeDisplay
	}
	return 0
}

func (x *Emoticon) GetHeight() int32 {
	if x != nil {
		return x.Height
	}
	return 0
}

func (x *Emoticon) GetWidth() int32 {
	if x != nil {
		return x.Width
	}
	return 0
}

type Voice struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Url          string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	FileFormat   string `protobuf:"bytes,2,opt,name=file_format,json=fileFormat,proto3" json:"file_format,omitempty"`
	Text         string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"`
	FileDuration int32  `protobuf:"varint,4,opt,name=file_duration,json=fileDuration,proto3" json:"file_duration,omitempty"`
	FileId       string `protobuf:"bytes,5,opt,name=file_id,json=fileId,proto3" json:"file_id,omitempty"`
}

func (x *Voice) Reset() {
	*x = Voice{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Voice) ProtoMessage() {}

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

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

func (x *Voice) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *Voice) GetFileFormat() string {
	if x != nil {
		return x.FileFormat
	}
	return ""
}

func (x *Voice) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

func (x *Voice) GetFileDuration() int32 {
	if x != nil {
		return x.FileDuration
	}
	return 0
}

func (x *Voice) GetFileId() string {
	if x != nil {
		return x.FileId
	}
	return ""
}

type Aggregation struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	IsAggregation    bool   `protobuf:"varint,1,opt,name=is_aggregation,json=isAggregation,proto3" json:"is_aggregation,omitempty"`
	ActivitySource   int32  `protobuf:"varint,2,opt,name=activity_source,json=activitySource,proto3" json:"activity_source,omitempty"`
	ActivityIdentity string `protobuf:"bytes,3,opt,name=activity_identity,json=activityIdentity,proto3" json:"activity_identity,omitempty"`
	NotShow          int32  `protobuf:"varint,4,opt,name=not_show,json=notShow,proto3" json:"not_show,omitempty"`
}

func (x *Aggregation) Reset() {
	*x = Aggregation{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Aggregation) ProtoMessage() {}

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

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

func (x *Aggregation) GetIsAggregation() bool {
	if x != nil {
		return x.IsAggregation
	}
	return false
}

func (x *Aggregation) GetActivitySource() int32 {
	if x != nil {
		return x.ActivitySource
	}
	return 0
}

func (x *Aggregation) GetActivityIdentity() string {
	if x != nil {
		return x.ActivityIdentity
	}
	return ""
}

func (x *Aggregation) GetNotShow() int32 {
	if x != nil {
		return x.NotShow
	}
	return 0
}

type Check struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
	Ts    int32  `protobuf:"varint,2,opt,name=ts,proto3" json:"ts,omitempty"`
}

func (x *Check) Reset() {
	*x = Check{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Check) ProtoMessage() {}

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

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

func (x *Check) GetToken() string {
	if x != nil {
		return x.Token
	}
	return ""
}

func (x *Check) GetTs() int32 {
	if x != nil {
		return x.Ts
	}
	return 0
}

type Medal struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Level              int32  `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"`
	Name               string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Special            string `protobuf:"bytes,3,opt,name=special,proto3" json:"special,omitempty"`
	Color              int32  `protobuf:"varint,4,opt,name=color,proto3" json:"color,omitempty"`
	IconId             int32  `protobuf:"varint,5,opt,name=icon_id,json=iconId,proto3" json:"icon_id,omitempty"`
	BorderColor        int32  `protobuf:"varint,6,opt,name=border_color,json=borderColor,proto3" json:"border_color,omitempty"`
	GradientStartColor int32  `protobuf:"varint,7,opt,name=gradient_start_color,json=gradientStartColor,proto3" json:"gradient_start_color,omitempty"`
	GradientEndColor   int32  `protobuf:"varint,8,opt,name=gradient_end_color,json=gradientEndColor,proto3" json:"gradient_end_color,omitempty"`
	Privilege          int32  `protobuf:"varint,9,opt,name=privilege,proto3" json:"privilege,omitempty"`
	Light              int32  `protobuf:"varint,10,opt,name=light,proto3" json:"light,omitempty"`
}

func (x *Medal) Reset() {
	*x = Medal{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Medal) ProtoMessage() {}

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

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

func (x *Medal) GetLevel() int32 {
	if x != nil {
		return x.Level
	}
	return 0
}

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

func (x *Medal) GetSpecial() string {
	if x != nil {
		return x.Special
	}
	return ""
}

func (x *Medal) GetColor() int32 {
	if x != nil {
		return x.Color
	}
	return 0
}

func (x *Medal) GetIconId() int32 {
	if x != nil {
		return x.IconId
	}
	return 0
}

func (x *Medal) GetBorderColor() int32 {
	if x != nil {
		return x.BorderColor
	}
	return 0
}

func (x *Medal) GetGradientStartColor() int32 {
	if x != nil {
		return x.GradientStartColor
	}
	return 0
}

func (x *Medal) GetGradientEndColor() int32 {
	if x != nil {
		return x.GradientEndColor
	}
	return 0
}

func (x *Medal) GetPrivilege() int32 {
	if x != nil {
		return x.Privilege
	}
	return 0
}

func (x *Medal) GetLight() int32 {
	if x != nil {
		return x.Light
	}
	return 0
}

type UserLevel struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Level      int32  `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"`
	Color      int32  `protobuf:"varint,2,opt,name=color,proto3" json:"color,omitempty"`
	Rank       string `protobuf:"bytes,3,opt,name=rank,proto3" json:"rank,omitempty"`
	OnlineRank int32  `protobuf:"varint,4,opt,name=online_rank,json=onlineRank,proto3" json:"online_rank,omitempty"`
}

func (x *UserLevel) Reset() {
	*x = UserLevel{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UserLevel) ProtoMessage() {}

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

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

func (x *UserLevel) GetLevel() int32 {
	if x != nil {
		return x.Level
	}
	return 0
}

func (x *UserLevel) GetColor() int32 {
	if x != nil {
		return x.Color
	}
	return 0
}

func (x *UserLevel) GetRank() string {
	if x != nil {
		return x.Rank
	}
	return ""
}

func (x *UserLevel) GetOnlineRank() int32 {
	if x != nil {
		return x.OnlineRank
	}
	return 0
}

type Title struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Title    string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	OldTitle string `protobuf:"bytes,2,opt,name=old_title,json=oldTitle,proto3" json:"old_title,omitempty"`
}

func (x *Title) Reset() {
	*x = Title{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Title) ProtoMessage() {}

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

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

func (x *Title) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *Title) GetOldTitle() string {
	if x != nil {
		return x.OldTitle
	}
	return ""
}

type Identify struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	BeginningUrl string `protobuf:"bytes,1,opt,name=beginning_url,json=beginningUrl,proto3" json:"beginning_url,omitempty"`
	EndingUrl    string `protobuf:"bytes,2,opt,name=ending_url,json=endingUrl,proto3" json:"ending_url,omitempty"`
	JumpToUrl    string `protobuf:"bytes,3,opt,name=jump_to_url,json=jumpToUrl,proto3" json:"jump_to_url,omitempty"`
}

func (x *Identify) Reset() {
	*x = Identify{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Identify) ProtoMessage() {}

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

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

func (x *Identify) GetBeginningUrl() string {
	if x != nil {
		return x.BeginningUrl
	}
	return ""
}

func (x *Identify) GetEndingUrl() string {
	if x != nil {
		return x.EndingUrl
	}
	return ""
}

func (x *Identify) GetJumpToUrl() string {
	if x != nil {
		return x.JumpToUrl
	}
	return ""
}

type Wealth struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Level int32 `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"`
}

func (x *Wealth) Reset() {
	*x = Wealth{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Wealth) ProtoMessage() {}

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

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

func (x *Wealth) GetLevel() int32 {
	if x != nil {
		return x.Level
	}
	return 0
}

type User struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uid          int32      `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
	Name         string     `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	NameColor    string     `protobuf:"bytes,3,opt,name=name_color,json=nameColor,proto3" json:"name_color,omitempty"`
	Face         string     `protobuf:"bytes,4,opt,name=face,proto3" json:"face,omitempty"`
	Vip          int32      `protobuf:"varint,5,opt,name=vip,proto3" json:"vip,omitempty"`
	Svip         int32      `protobuf:"varint,6,opt,name=svip,proto3" json:"svip,omitempty"`
	Rank         int32      `protobuf:"varint,7,opt,name=rank,proto3" json:"rank,omitempty"`
	MobileVerify int32      `protobuf:"varint,8,opt,name=mobile_verify,json=mobileVerify,proto3" json:"mobile_verify,omitempty"`
	LplStatus    int32      `protobuf:"varint,9,opt,name=lpl_status,json=lplStatus,proto3" json:"lpl_status,omitempty"`
	Attr         int32      `protobuf:"varint,10,opt,name=attr,proto3" json:"attr,omitempty"`
	Medal        *Medal     `protobuf:"bytes,11,opt,name=medal,proto3" json:"medal,omitempty"`
	Level        *UserLevel `protobuf:"bytes,12,opt,name=level,proto3" json:"level,omitempty"`
	Title        *Title     `protobuf:"bytes,13,opt,name=title,proto3" json:"title,omitempty"`
	Identify     *Identify  `protobuf:"bytes,14,opt,name=identify,proto3" json:"identify,omitempty"`
	Wealth       *Wealth    `protobuf:"bytes,15,opt,name=wealth,proto3" json:"wealth,omitempty"`
}

func (x *User) Reset() {
	*x = User{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*User) ProtoMessage() {}

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

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

func (x *User) GetUid() int32 {
	if x != nil {
		return x.Uid
	}
	return 0
}

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

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

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

func (x *User) GetVip() int32 {
	if x != nil {
		return x.Vip
	}
	return 0
}

func (x *User) GetSvip() int32 {
	if x != nil {
		return x.Svip
	}
	return 0
}

func (x *User) GetRank() int32 {
	if x != nil {
		return x.Rank
	}
	return 0
}

func (x *User) GetMobileVerify() int32 {
	if x != nil {
		return x.MobileVerify
	}
	return 0
}

func (x *User) GetLplStatus() int32 {
	if x != nil {
		return x.LplStatus
	}
	return 0
}

func (x *User) GetAttr() int32 {
	if x != nil {
		return x.Attr
	}
	return 0
}

func (x *User) GetMedal() *Medal {
	if x != nil {
		return x.Medal
	}
	return nil
}

func (x *User) GetLevel() *UserLevel {
	if x != nil {
		return x.Level
	}
	return nil
}

func (x *User) GetTitle() *Title {
	if x != nil {
		return x.Title
	}
	return nil
}

func (x *User) GetIdentify() *Identify {
	if x != nil {
		return x.Identify
	}
	return nil
}

func (x *User) GetWealth() *Wealth {
	if x != nil {
		return x.Wealth
	}
	return nil
}

type Room struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uid  int32  `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *Room) Reset() {
	*x = Room{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Room) ProtoMessage() {}

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

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

func (x *Room) GetUid() int32 {
	if x != nil {
		return x.Uid
	}
	return 0
}

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

type Prefix struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Type     int32  `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	Resource string `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"`
}

func (x *Prefix) Reset() {
	*x = Prefix{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Prefix) ProtoMessage() {}

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

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

func (x *Prefix) GetType() int32 {
	if x != nil {
		return x.Type
	}
	return 0
}

func (x *Prefix) GetResource() string {
	if x != nil {
		return x.Resource
	}
	return ""
}

type Icon struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Prefix *Prefix `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
}

func (x *Icon) Reset() {
	*x = Icon{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Icon) ProtoMessage() {}

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

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

func (x *Icon) GetPrefix() *Prefix {
	if x != nil {
		return x.Prefix
	}
	return nil
}

type Bubble struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id    int32  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Color string `protobuf:"bytes,2,opt,name=color,proto3" json:"color,omitempty"`
	IdV2  int32  `protobuf:"varint,3,opt,name=id_v2,json=idV2,proto3" json:"id_v2,omitempty"`
}

func (x *Bubble) Reset() {
	*x = Bubble{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Bubble) ProtoMessage() {}

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

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

func (x *Bubble) GetId() int32 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Bubble) GetColor() string {
	if x != nil {
		return x.Color
	}
	return ""
}

func (x *Bubble) GetIdV2() int32 {
	if x != nil {
		return x.IdV2
	}
	return 0
}

type EmoticonMapEntry struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Key   string    `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value *Emoticon `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *EmoticonMapEntry) Reset() {
	*x = EmoticonMapEntry{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*EmoticonMapEntry) ProtoMessage() {}

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

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

func (x *EmoticonMapEntry) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *EmoticonMapEntry) GetValue() *Emoticon {
	if x != nil {
		return x.Value
	}
	return nil
}

type Dm struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	IdStr       string              `protobuf:"bytes,1,opt,name=id_str,json=idStr,proto3" json:"id_str,omitempty"`
	Mode        int32               `protobuf:"varint,2,opt,name=mode,proto3" json:"mode,omitempty"`
	Fontsize    int32               `protobuf:"varint,3,opt,name=fontsize,proto3" json:"fontsize,omitempty"`
	Color       uint32              `protobuf:"varint,4,opt,name=color,proto3" json:"color,omitempty"`
	MidHash     string              `protobuf:"bytes,5,opt,name=mid_hash,json=midHash,proto3" json:"mid_hash,omitempty"`
	Content     string              `protobuf:"bytes,6,opt,name=content,proto3" json:"content,omitempty"`
	Ctime       int32               `protobuf:"varint,7,opt,name=ctime,proto3" json:"ctime,omitempty"`
	Weight      int32               `protobuf:"varint,8,opt,name=weight,proto3" json:"weight,omitempty"`
	Rnd         int32               `protobuf:"varint,9,opt,name=rnd,proto3" json:"rnd,omitempty"`
	Attr        int32               `protobuf:"varint,10,opt,name=attr,proto3" json:"attr,omitempty"`
	BizScene    int32               `protobuf:"varint,11,opt,name=biz_scene,json=bizScene,proto3" json:"biz_scene,omitempty"`
	Bubble      *Bubble             `protobuf:"bytes,12,opt,name=bubble,proto3" json:"bubble,omitempty"`
	DmType      int32               `protobuf:"varint,13,opt,name=dm_type,json=dmType,proto3" json:"dm_type,omitempty"`
	Emoticons   []*EmoticonMapEntry `protobuf:"bytes,14,rep,name=emoticons,proto3" json:"emoticons,omitempty"`
	Voice       *Voice              `protobuf:"bytes,15,opt,name=voice,proto3" json:"voice,omitempty"`
	Animation   string              `protobuf:"bytes,16,opt,name=animation,proto3" json:"animation,omitempty"`
	Aggregation *Aggregation        `protobuf:"bytes,17,opt,name=aggregation,proto3" json:"aggregation,omitempty"`
	SendFromMe  bool                `protobuf:"varint,18,opt,name=send_from_me,json=sendFromMe,proto3" json:"send_from_me,omitempty"`
	Check       *Check              `protobuf:"bytes,19,opt,name=check,proto3" json:"check,omitempty"`
	User        *User               `protobuf:"bytes,20,opt,name=user,proto3" json:"user,omitempty"`
	Room        *Room               `protobuf:"bytes,21,opt,name=room,proto3" json:"room,omitempty"`
	Icon        *Icon               `protobuf:"bytes,22,opt,name=icon,proto3" json:"icon,omitempty"`
}

func (x *Dm) Reset() {
	*x = Dm{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dmv2_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Dm) ProtoMessage() {}

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

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

func (x *Dm) GetIdStr() string {
	if x != nil {
		return x.IdStr
	}
	return ""
}

func (x *Dm) GetMode() int32 {
	if x != nil {
		return x.Mode
	}
	return 0
}

func (x *Dm) GetFontsize() int32 {
	if x != nil {
		return x.Fontsize
	}
	return 0
}

func (x *Dm) GetColor() uint32 {
	if x != nil {
		return x.Color
	}
	return 0
}

func (x *Dm) GetMidHash() string {
	if x != nil {
		return x.MidHash
	}
	return ""
}

func (x *Dm) GetContent() string {
	if x != nil {
		return x.Content
	}
	return ""
}

func (x *Dm) GetCtime() int32 {
	if x != nil {
		return x.Ctime
	}
	return 0
}

func (x *Dm) GetWeight() int32 {
	if x != nil {
		return x.Weight
	}
	return 0
}

func (x *Dm) GetRnd() int32 {
	if x != nil {
		return x.Rnd
	}
	return 0
}

func (x *Dm) GetAttr() int32 {
	if x != nil {
		return x.Attr
	}
	return 0
}

func (x *Dm) GetBizScene() int32 {
	if x != nil {
		return x.BizScene
	}
	return 0
}

func (x *Dm) GetBubble() *Bubble {
	if x != nil {
		return x.Bubble
	}
	return nil
}

func (x *Dm) GetDmType() int32 {
	if x != nil {
		return x.DmType
	}
	return 0
}

func (x *Dm) GetEmoticons() []*EmoticonMapEntry {
	if x != nil {
		return x.Emoticons
	}
	return nil
}

func (x *Dm) GetVoice() *Voice {
	if x != nil {
		return x.Voice
	}
	return nil
}

func (x *Dm) GetAnimation() string {
	if x != nil {
		return x.Animation
	}
	return ""
}

func (x *Dm) GetAggregation() *Aggregation {
	if x != nil {
		return x.Aggregation
	}
	return nil
}

func (x *Dm) GetSendFromMe() bool {
	if x != nil {
		return x.SendFromMe
	}
	return false
}

func (x *Dm) GetCheck() *Check {
	if x != nil {
		return x.Check
	}
	return nil
}

func (x *Dm) GetUser() *User {
	if x != nil {
		return x.User
	}
	return nil
}

func (x *Dm) GetRoom() *Room {
	if x != nil {
		return x.Room
	}
	return nil
}

func (x *Dm) GetIcon() *Icon {
	if x != nil {
		return x.Icon
	}
	return nil
}

var File_dmv2_proto protoreflect.FileDescriptor

var file_dmv2_proto_rawDesc = []byte{
	0x0a, 0x0a, 0x64, 0x6d, 0x76, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
	0x22, 0xcc, 0x01, 0x0a, 0x08, 0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x16, 0x0a,
	0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75,
	0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x79,
	0x6e, 0x61, 0x6d, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44,
	0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61,
	0x79, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c,
	0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x72, 0x65, 0x61, 0x12, 0x23, 0x0a, 0x0d,
	0x62, 0x75, 0x6c, 0x67, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x75, 0x6c, 0x67, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
	0x79, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64,
	0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22,
	0x8c, 0x01, 0x0a, 0x05, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x66,
	0x69, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04,
	0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74,
	0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x75, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0xa5,
	0x01, 0x0a, 0x0b, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25,
	0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
	0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e,
	0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b,
	0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76,
	0x69, 0x74, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6e,
	0x6f, 0x74, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e,
	0x6f, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x22, 0x2d, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12,
	0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x02, 0x74, 0x73, 0x22, 0xb1, 0x02, 0x0a, 0x05, 0x4d, 0x65, 0x64, 0x61, 0x6c, 0x12,
	0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
	0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x65,
	0x63, 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x65, 0x63,
	0x69, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x63, 0x6f,
	0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x63, 0x6f, 0x6e,
	0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c,
	0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72,
	0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e,
	0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x12, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61,
	0x72, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x67, 0x72, 0x61, 0x64, 0x69,
	0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x10, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x64,
	0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65,
	0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c,
	0x65, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x22, 0x6c, 0x0a, 0x09, 0x55, 0x73, 0x65,
	0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05,
	0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6c,
	0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
	0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x6e, 0x6c,
	0x69, 0x6e, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0x3a, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65,
	0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69,
	0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x54, 0x69,
	0x74, 0x6c, 0x65, 0x22, 0x6e, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x12,
	0x23, 0x0a, 0x0d, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x72, 0x6c,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, 0x6e,
	0x67, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x75,
	0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67,
	0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0b, 0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x74, 0x6f, 0x5f, 0x75,
	0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a, 0x75, 0x6d, 0x70, 0x54, 0x6f,
	0x55, 0x72, 0x6c, 0x22, 0x1e, 0x0a, 0x06, 0x57, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x14, 0x0a,
	0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65,
	0x76, 0x65, 0x6c, 0x22, 0xa6, 0x03, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03,
	0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12,
	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x6f,
	0x72, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x66, 0x61, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x03, 0x76, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x76, 0x69, 0x70, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x76, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x72,
	0x61, 0x6e, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12,
	0x23, 0x0a, 0x0d, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x56, 0x65,
	0x72, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x70, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x70, 0x6c, 0x53, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x74, 0x74, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x04, 0x61, 0x74, 0x74, 0x72, 0x12, 0x1f, 0x0a, 0x05, 0x6d, 0x65, 0x64, 0x61, 0x6c,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x64, 0x61,
	0x6c, 0x52, 0x05, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x12, 0x23, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65,
	0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65,
	0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a,
	0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70,
	0x62, 0x2e, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x28,
	0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x52, 0x08,
	0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x06, 0x77, 0x65, 0x61, 0x6c,
	0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x65,
	0x61, 0x6c, 0x74, 0x68, 0x52, 0x06, 0x77, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0x2c, 0x0a, 0x04,
	0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x38, 0x0a, 0x06, 0x50, 0x72,
	0x65, 0x66, 0x69, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x22, 0x2a, 0x0a, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x06,
	0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70,
	0x62, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
	0x22, 0x43, 0x0a, 0x06, 0x42, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
	0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
	0x12, 0x13, 0x0a, 0x05, 0x69, 0x64, 0x5f, 0x76, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x04, 0x69, 0x64, 0x56, 0x32, 0x22, 0x48, 0x0a, 0x10, 0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f,
	0x6e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e,
	0x45, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22,
	0x87, 0x05, 0x0a, 0x02, 0x44, 0x6d, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x72,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x64, 0x53, 0x74, 0x72, 0x12, 0x12, 0x0a,
	0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6d, 0x6f, 0x64,
	0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a,
	0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f,
	0x6c, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x69, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x69, 0x64, 0x48, 0x61, 0x73, 0x68, 0x12, 0x18,
	0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d,
	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16,
	0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
	0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x6e, 0x64, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x03, 0x72, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x74, 0x74, 0x72,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x61, 0x74, 0x74, 0x72, 0x12, 0x1b, 0x0a, 0x09,
	0x62, 0x69, 0x7a, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x08, 0x62, 0x69, 0x7a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x62, 0x75, 0x62,
	0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x42,
	0x75, 0x62, 0x62, 0x6c, 0x65, 0x52, 0x06, 0x62, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x12, 0x17, 0x0a,
	0x07, 0x64, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
	0x64, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x63,
	0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x45,
	0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
	0x09, 0x65, 0x6d, 0x6f, 0x74, 0x69, 0x63, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x05, 0x76, 0x6f,
	0x69, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x56,
	0x6f, 0x69, 0x63, 0x65, 0x52, 0x05, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61,
	0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x67, 0x67,
	0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
	0x2e, 0x70, 0x62, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c,
	0x73, 0x65, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x12, 0x1f,
	0x0a, 0x05, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e,
	0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x05, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x12,
	0x1c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e,
	0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a,
	0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62,
	0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x1c, 0x0a, 0x04, 0x69,
	0x63, 0x6f, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x49,
	0x63, 0x6f, 0x6e, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x42, 0x24, 0x5a, 0x22, 0x67, 0x69, 0x74,
	0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x6b, 0x65, 0x67, 0x61, 0x72, 0x61, 0x73,
	0x75, 0x2f, 0x62, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x6d, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x62, 0x62,
	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_dmv2_proto_rawDescOnce sync.Once
	file_dmv2_proto_rawDescData = file_dmv2_proto_rawDesc
)

func file_dmv2_proto_rawDescGZIP() []byte {
	file_dmv2_proto_rawDescOnce.Do(func() {
		file_dmv2_proto_rawDescData = protoimpl.X.CompressGZIP(file_dmv2_proto_rawDescData)
	})
	return file_dmv2_proto_rawDescData
}

var file_dmv2_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_dmv2_proto_goTypes = []interface{}{
	(*Emoticon)(nil),         // 0: pb.Emoticon
	(*Voice)(nil),            // 1: pb.Voice
	(*Aggregation)(nil),      // 2: pb.Aggregation
	(*Check)(nil),            // 3: pb.Check
	(*Medal)(nil),            // 4: pb.Medal
	(*UserLevel)(nil),        // 5: pb.UserLevel
	(*Title)(nil),            // 6: pb.Title
	(*Identify)(nil),         // 7: pb.Identify
	(*Wealth)(nil),           // 8: pb.Wealth
	(*User)(nil),             // 9: pb.User
	(*Room)(nil),             // 10: pb.Room
	(*Prefix)(nil),           // 11: pb.Prefix
	(*Icon)(nil),             // 12: pb.Icon
	(*Bubble)(nil),           // 13: pb.Bubble
	(*EmoticonMapEntry)(nil), // 14: pb.EmoticonMapEntry
	(*Dm)(nil),               // 15: pb.Dm
}
var file_dmv2_proto_depIdxs = []int32{
	4,  // 0: pb.User.medal:type_name -> pb.Medal
	5,  // 1: pb.User.level:type_name -> pb.UserLevel
	6,  // 2: pb.User.title:type_name -> pb.Title
	7,  // 3: pb.User.identify:type_name -> pb.Identify
	8,  // 4: pb.User.wealth:type_name -> pb.Wealth
	11, // 5: pb.Icon.prefix:type_name -> pb.Prefix
	0,  // 6: pb.EmoticonMapEntry.value:type_name -> pb.Emoticon
	13, // 7: pb.Dm.bubble:type_name -> pb.Bubble
	14, // 8: pb.Dm.emoticons:type_name -> pb.EmoticonMapEntry
	1,  // 9: pb.Dm.voice:type_name -> pb.Voice
	2,  // 10: pb.Dm.aggregation:type_name -> pb.Aggregation
	3,  // 11: pb.Dm.check:type_name -> pb.Check
	9,  // 12: pb.Dm.user:type_name -> pb.User
	10, // 13: pb.Dm.room:type_name -> pb.Room
	12, // 14: pb.Dm.icon:type_name -> pb.Icon
	15, // [15:15] is the sub-list for method output_type
	15, // [15:15] is the sub-list for method input_type
	15, // [15:15] is the sub-list for extension type_name
	15, // [15:15] is the sub-list for extension extendee
	0,  // [0:15] is the sub-list for field type_name
}

func init() { file_dmv2_proto_init() }
func file_dmv2_proto_init() {
	if File_dmv2_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_dmv2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Emoticon); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Voice); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Aggregation); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Check); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Medal); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserLevel); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Title); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Identify); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Wealth); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*User); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Room); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Prefix); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Icon); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Bubble); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EmoticonMapEntry); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dmv2_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Dm); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_dmv2_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   16,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_dmv2_proto_goTypes,
		DependencyIndexes: file_dmv2_proto_depIdxs,
		MessageInfos:      file_dmv2_proto_msgTypes,
	}.Build()
	File_dmv2_proto = out.File
	file_dmv2_proto_rawDesc = nil
	file_dmv2_proto_goTypes = nil
	file_dmv2_proto_depIdxs = nil
}
