// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.0
// 	protoc        v3.19.4
// source: rpc/core/core.proto

package core

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 Operator int32

const (
	Operator_EQ           Operator = 0
	Operator_NEQ          Operator = 1
	Operator_IN           Operator = 2
	Operator_NotIn        Operator = 3
	Operator_GT           Operator = 4
	Operator_GTE          Operator = 5
	Operator_LT           Operator = 6
	Operator_LTE          Operator = 7
	Operator_Contains     Operator = 8
	Operator_Prefix       Operator = 9
	Operator_Suffix       Operator = 10
	Operator_EqualFold    Operator = 11
	Operator_ContainsFold Operator = 12
)

// Enum value maps for Operator.
var (
	Operator_name = map[int32]string{
		0:  "EQ",
		1:  "NEQ",
		2:  "IN",
		3:  "NotIn",
		4:  "GT",
		5:  "GTE",
		6:  "LT",
		7:  "LTE",
		8:  "Contains",
		9:  "Prefix",
		10: "Suffix",
		11: "EqualFold",
		12: "ContainsFold",
	}
	Operator_value = map[string]int32{
		"EQ":           0,
		"NEQ":          1,
		"IN":           2,
		"NotIn":        3,
		"GT":           4,
		"GTE":          5,
		"LT":           6,
		"LTE":          7,
		"Contains":     8,
		"Prefix":       9,
		"Suffix":       10,
		"EqualFold":    11,
		"ContainsFold": 12,
	}
)

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

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

func (Operator) Descriptor() protoreflect.EnumDescriptor {
	return file_rpc_core_core_proto_enumTypes[0].Descriptor()
}

func (Operator) Type() protoreflect.EnumType {
	return &file_rpc_core_core_proto_enumTypes[0]
}

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

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

type DistrictQueryType int32

const (
	DistrictQueryType_Normal          DistrictQueryType = 0
	DistrictQueryType_Children        DistrictQueryType = 1
	DistrictQueryType_ChildrenByLevel DistrictQueryType = 2
	DistrictQueryType_Parents         DistrictQueryType = 3
)

// Enum value maps for DistrictQueryType.
var (
	DistrictQueryType_name = map[int32]string{
		0: "Normal",
		1: "Children",
		2: "ChildrenByLevel",
		3: "Parents",
	}
	DistrictQueryType_value = map[string]int32{
		"Normal":          0,
		"Children":        1,
		"ChildrenByLevel": 2,
		"Parents":         3,
	}
)

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

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

func (DistrictQueryType) Descriptor() protoreflect.EnumDescriptor {
	return file_rpc_core_core_proto_enumTypes[1].Descriptor()
}

func (DistrictQueryType) Type() protoreflect.EnumType {
	return &file_rpc_core_core_proto_enumTypes[1]
}

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

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

//  基础回执
type BaseResp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int32  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
}

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

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

func (*BaseResp) ProtoMessage() {}

func (x *BaseResp) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 BaseResp.ProtoReflect.Descriptor instead.
func (*BaseResp) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{0}
}

func (x *BaseResp) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *BaseResp) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	Tree []*DistrictInfo `protobuf:"bytes,1,rep,name=tree,proto3" json:"tree,omitempty"`
}

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

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

func (*DistrictTree) ProtoMessage() {}

func (x *DistrictTree) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 DistrictTree.ProtoReflect.Descriptor instead.
func (*DistrictTree) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{1}
}

func (x *DistrictTree) GetTree() []*DistrictInfo {
	if x != nil {
		return x.Tree
	}
	return nil
}

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

	ID       int64       `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name     string      `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Code     string      `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"`
	WithUser bool        `protobuf:"varint,4,opt,name=with_user,json=withUser,proto3" json:"with_user,omitempty"`
	Page     *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"`
}

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

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

func (*RoleReq) ProtoMessage() {}

func (x *RoleReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 RoleReq.ProtoReflect.Descriptor instead.
func (*RoleReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{2}
}

func (x *RoleReq) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

func (x *RoleReq) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

func (x *RoleReq) GetWithUser() bool {
	if x != nil {
		return x.WithUser
	}
	return false
}

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

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

	ID          int64       `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	UserId      int64       `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Username    string      `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
	PhoneNumber string      `protobuf:"bytes,4,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"`
	Email       string      `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
	WithUser    bool        `protobuf:"varint,6,opt,name=with_user,json=withUser,proto3" json:"with_user,omitempty"`
	Page        *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"`
}

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

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

func (*TokenReq) ProtoMessage() {}

func (x *TokenReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 TokenReq.ProtoReflect.Descriptor instead.
func (*TokenReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{3}
}

func (x *TokenReq) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *TokenReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *TokenReq) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *TokenReq) GetPhoneNumber() string {
	if x != nil {
		return x.PhoneNumber
	}
	return ""
}

func (x *TokenReq) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *TokenReq) GetWithUser() bool {
	if x != nil {
		return x.WithUser
	}
	return false
}

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

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

	Page *Pagination       `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"`
	Data []*UserSocialInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*UserSocialListResp) ProtoMessage() {}

func (x *UserSocialListResp) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 UserSocialListResp.ProtoReflect.Descriptor instead.
func (*UserSocialListResp) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{4}
}

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

func (x *UserSocialListResp) GetData() []*UserSocialInfo {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	Page *Pagination       `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"`
	Data []*DepartmentInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*DepartmentListResp) ProtoMessage() {}

func (x *DepartmentListResp) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 DepartmentListResp.ProtoReflect.Descriptor instead.
func (*DepartmentListResp) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{5}
}

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

func (x *DepartmentListResp) GetData() []*DepartmentInfo {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	ID          int64       `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name        string      `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Title       string      `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
	WithDetails bool        `protobuf:"varint,4,opt,name=with_details,json=withDetails,proto3" json:"with_details,omitempty"`
	Page        *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"`
}

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

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

func (*DictionaryReq) ProtoMessage() {}

func (x *DictionaryReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 DictionaryReq.ProtoReflect.Descriptor instead.
func (*DictionaryReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{6}
}

func (x *DictionaryReq) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

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

func (x *DictionaryReq) GetWithDetails() bool {
	if x != nil {
		return x.WithDetails
	}
	return false
}

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

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

	Ids    []int64 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids,omitempty"`
	DictId int64   `protobuf:"varint,2,opt,name=dict_id,json=dictId,proto3" json:"dict_id,omitempty"`
}

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

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

func (*DeleteDictionaryDetailReq) ProtoMessage() {}

func (x *DeleteDictionaryDetailReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 DeleteDictionaryDetailReq.ProtoReflect.Descriptor instead.
func (*DeleteDictionaryDetailReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{7}
}

func (x *DeleteDictionaryDetailReq) GetIds() []int64 {
	if x != nil {
		return x.Ids
	}
	return nil
}

func (x *DeleteDictionaryDetailReq) GetDictId() int64 {
	if x != nil {
		return x.DictId
	}
	return 0
}

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

	Code      string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
	Separator string `protobuf:"bytes,2,opt,name=separator,proto3" json:"separator,omitempty"`
}

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

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

func (*GetDistrictNameReq) ProtoMessage() {}

func (x *GetDistrictNameReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 GetDistrictNameReq.ProtoReflect.Descriptor instead.
func (*GetDistrictNameReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{8}
}

func (x *GetDistrictNameReq) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

func (x *GetDistrictNameReq) GetSeparator() string {
	if x != nil {
		return x.Separator
	}
	return ""
}

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

	State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
	Code  string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
}

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

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

func (*CallbackReq) ProtoMessage() {}

func (x *CallbackReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 CallbackReq.ProtoReflect.Descriptor instead.
func (*CallbackReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{9}
}

func (x *CallbackReq) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

func (x *CallbackReq) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

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

	ID          int64       `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Status      string      `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	CreatedAt   string      `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt   string      `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Code        string      `protobuf:"bytes,5,opt,name=code,proto3" json:"code,omitempty"`
	Name        string      `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	Description string      `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"`
	Users       []*UserInfo `protobuf:"bytes,10,rep,name=users,proto3" json:"users,omitempty"`
}

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

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

func (*RoleInfo) ProtoMessage() {}

func (x *RoleInfo) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 RoleInfo.ProtoReflect.Descriptor instead.
func (*RoleInfo) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{10}
}

func (x *RoleInfo) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

func (x *RoleInfo) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *RoleInfo) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *RoleInfo) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

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

func (x *RoleInfo) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *RoleInfo) GetUsers() []*UserInfo {
	if x != nil {
		return x.Users
	}
	return nil
}

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

	ID           int64     `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	CreatedAt    string    `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt    string    `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	UserId       int64     `protobuf:"varint,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Provider     string    `protobuf:"bytes,5,opt,name=provider,proto3" json:"provider,omitempty"`
	AccessToken  string    `protobuf:"bytes,6,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"`
	RefreshToken string    `protobuf:"bytes,7,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"`
	Uid          string    `protobuf:"bytes,8,opt,name=uid,proto3" json:"uid,omitempty"`
	OpenId       string    `protobuf:"bytes,9,opt,name=open_id,json=openId,proto3" json:"open_id,omitempty"`
	UnionId      string    `protobuf:"bytes,10,opt,name=union_id,json=unionId,proto3" json:"union_id,omitempty"`
	Key          string    `protobuf:"bytes,11,opt,name=key,proto3" json:"key,omitempty"`
	ExpiresIn    uint64    `protobuf:"varint,12,opt,name=expires_in,json=expiresIn,proto3" json:"expires_in,omitempty"`
	UserProfile  string    `protobuf:"bytes,13,opt,name=user_profile,json=userProfile,proto3" json:"user_profile,omitempty"`
	User         *UserInfo `protobuf:"bytes,14,opt,name=user,proto3" json:"user,omitempty"`
}

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

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

func (*UserSocialInfo) ProtoMessage() {}

func (x *UserSocialInfo) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 UserSocialInfo.ProtoReflect.Descriptor instead.
func (*UserSocialInfo) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{11}
}

func (x *UserSocialInfo) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *UserSocialInfo) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *UserSocialInfo) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *UserSocialInfo) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UserSocialInfo) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *UserSocialInfo) GetAccessToken() string {
	if x != nil {
		return x.AccessToken
	}
	return ""
}

func (x *UserSocialInfo) GetRefreshToken() string {
	if x != nil {
		return x.RefreshToken
	}
	return ""
}

func (x *UserSocialInfo) GetUid() string {
	if x != nil {
		return x.Uid
	}
	return ""
}

func (x *UserSocialInfo) GetOpenId() string {
	if x != nil {
		return x.OpenId
	}
	return ""
}

func (x *UserSocialInfo) GetUnionId() string {
	if x != nil {
		return x.UnionId
	}
	return ""
}

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

func (x *UserSocialInfo) GetExpiresIn() uint64 {
	if x != nil {
		return x.ExpiresIn
	}
	return 0
}

func (x *UserSocialInfo) GetUserProfile() string {
	if x != nil {
		return x.UserProfile
	}
	return ""
}

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

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

	ID        int64             `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Status    string            `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	CreatedAt string            `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt string            `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Name      string            `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
	LeaderId  int64             `protobuf:"varint,6,opt,name=leader_id,json=leaderId,proto3" json:"leader_id,omitempty"`
	Remark    string            `protobuf:"bytes,7,opt,name=remark,proto3" json:"remark,omitempty"`
	ParentId  int64             `protobuf:"varint,8,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
	Parent    *DepartmentInfo   `protobuf:"bytes,10,opt,name=parent,proto3" json:"parent,omitempty"`
	Children  []*DepartmentInfo `protobuf:"bytes,11,rep,name=children,proto3" json:"children,omitempty"`
	Users     []*UserInfo       `protobuf:"bytes,12,rep,name=users,proto3" json:"users,omitempty"`
	Leader    *UserInfo         `protobuf:"bytes,13,opt,name=leader,proto3" json:"leader,omitempty"`
}

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

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

func (*DepartmentInfo) ProtoMessage() {}

func (x *DepartmentInfo) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 DepartmentInfo.ProtoReflect.Descriptor instead.
func (*DepartmentInfo) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{12}
}

func (x *DepartmentInfo) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

func (x *DepartmentInfo) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *DepartmentInfo) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

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

func (x *DepartmentInfo) GetLeaderId() int64 {
	if x != nil {
		return x.LeaderId
	}
	return 0
}

func (x *DepartmentInfo) GetRemark() string {
	if x != nil {
		return x.Remark
	}
	return ""
}

func (x *DepartmentInfo) GetParentId() int64 {
	if x != nil {
		return x.ParentId
	}
	return 0
}

func (x *DepartmentInfo) GetParent() *DepartmentInfo {
	if x != nil {
		return x.Parent
	}
	return nil
}

func (x *DepartmentInfo) GetChildren() []*DepartmentInfo {
	if x != nil {
		return x.Children
	}
	return nil
}

func (x *DepartmentInfo) GetUsers() []*UserInfo {
	if x != nil {
		return x.Users
	}
	return nil
}

func (x *DepartmentInfo) GetLeader() *UserInfo {
	if x != nil {
		return x.Leader
	}
	return nil
}

//  DistrictInfo 地址单体结构
type DistrictInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ID        int64           `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	CreatedAt string          `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt string          `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Name      string          `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	ShortName string          `protobuf:"bytes,5,opt,name=short_name,json=shortName,proto3" json:"short_name,omitempty"`
	Code      string          `protobuf:"bytes,6,opt,name=code,proto3" json:"code,omitempty"`
	Province  string          `protobuf:"bytes,7,opt,name=province,proto3" json:"province,omitempty"`
	City      string          `protobuf:"bytes,8,opt,name=city,proto3" json:"city,omitempty"`
	Area      string          `protobuf:"bytes,9,opt,name=area,proto3" json:"area,omitempty"`
	Street    string          `protobuf:"bytes,10,opt,name=street,proto3" json:"street,omitempty"`
	Level     uint32          `protobuf:"varint,11,opt,name=level,proto3" json:"level,omitempty"`
	Latitude  float64         `protobuf:"fixed64,12,opt,name=latitude,proto3" json:"latitude,omitempty"`
	Longitude float64         `protobuf:"fixed64,13,opt,name=longitude,proto3" json:"longitude,omitempty"`
	Children  []*DistrictInfo `protobuf:"bytes,20,rep,name=children,proto3" json:"children,omitempty"`
}

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

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

func (*DistrictInfo) ProtoMessage() {}

func (x *DistrictInfo) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 DistrictInfo.ProtoReflect.Descriptor instead.
func (*DistrictInfo) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{13}
}

func (x *DistrictInfo) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *DistrictInfo) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *DistrictInfo) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

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

func (x *DistrictInfo) GetShortName() string {
	if x != nil {
		return x.ShortName
	}
	return ""
}

func (x *DistrictInfo) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

func (x *DistrictInfo) GetProvince() string {
	if x != nil {
		return x.Province
	}
	return ""
}

func (x *DistrictInfo) GetCity() string {
	if x != nil {
		return x.City
	}
	return ""
}

func (x *DistrictInfo) GetArea() string {
	if x != nil {
		return x.Area
	}
	return ""
}

func (x *DistrictInfo) GetStreet() string {
	if x != nil {
		return x.Street
	}
	return ""
}

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

func (x *DistrictInfo) GetLatitude() float64 {
	if x != nil {
		return x.Latitude
	}
	return 0
}

func (x *DistrictInfo) GetLongitude() float64 {
	if x != nil {
		return x.Longitude
	}
	return 0
}

func (x *DistrictInfo) GetChildren() []*DistrictInfo {
	if x != nil {
		return x.Children
	}
	return nil
}

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

	Page *Pagination     `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"`
	Data []*DistrictInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*DistrictListResp) ProtoMessage() {}

func (x *DistrictListResp) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 DistrictListResp.ProtoReflect.Descriptor instead.
func (*DistrictListResp) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{14}
}

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

func (x *DistrictListResp) GetData() []*DistrictInfo {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
}

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

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

func (*RecordReq) ProtoMessage() {}

func (x *RecordReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_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 RecordReq.ProtoReflect.Descriptor instead.
func (*RecordReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{15}
}

func (x *RecordReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

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

	UserId    int64    `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	RoleIds   []int64  `protobuf:"varint,2,rep,packed,name=role_ids,json=roleIds,proto3" json:"role_ids,omitempty"`
	RoleCodes []string `protobuf:"bytes,3,rep,name=role_codes,json=roleCodes,proto3" json:"role_codes,omitempty"`
}

func (x *UserRoleReq) Reset() {
	*x = UserRoleReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UserRoleReq) ProtoMessage() {}

func (x *UserRoleReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[16]
	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 UserRoleReq.ProtoReflect.Descriptor instead.
func (*UserRoleReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{16}
}

func (x *UserRoleReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UserRoleReq) GetRoleIds() []int64 {
	if x != nil {
		return x.RoleIds
	}
	return nil
}

func (x *UserRoleReq) GetRoleCodes() []string {
	if x != nil {
		return x.RoleCodes
	}
	return nil
}

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

	Code       string            `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
	Province   string            `protobuf:"bytes,2,opt,name=province,proto3" json:"province,omitempty"`
	City       string            `protobuf:"bytes,3,opt,name=city,proto3" json:"city,omitempty"`
	Area       string            `protobuf:"bytes,4,opt,name=area,proto3" json:"area,omitempty"`
	Street     string            `protobuf:"bytes,5,opt,name=street,proto3" json:"street,omitempty"`
	Level      uint32            `protobuf:"varint,6,opt,name=level,proto3" json:"level,omitempty"`
	Name       string            `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
	ParentCode string            `protobuf:"bytes,8,opt,name=parent_code,json=parentCode,proto3" json:"parent_code,omitempty"`
	Page       *Pagination       `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"`
	QueryType  DistrictQueryType `protobuf:"varint,11,opt,name=query_type,json=queryType,proto3,enum=core.DistrictQueryType" json:"query_type,omitempty"`
}

func (x *DistrictReq) Reset() {
	*x = DistrictReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DistrictReq) ProtoMessage() {}

func (x *DistrictReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[17]
	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 DistrictReq.ProtoReflect.Descriptor instead.
func (*DistrictReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{17}
}

func (x *DistrictReq) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

func (x *DistrictReq) GetProvince() string {
	if x != nil {
		return x.Province
	}
	return ""
}

func (x *DistrictReq) GetCity() string {
	if x != nil {
		return x.City
	}
	return ""
}

func (x *DistrictReq) GetArea() string {
	if x != nil {
		return x.Area
	}
	return ""
}

func (x *DistrictReq) GetStreet() string {
	if x != nil {
		return x.Street
	}
	return ""
}

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

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

func (x *DistrictReq) GetParentCode() string {
	if x != nil {
		return x.ParentCode
	}
	return ""
}

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

func (x *DistrictReq) GetQueryType() DistrictQueryType {
	if x != nil {
		return x.QueryType
	}
	return DistrictQueryType_Normal
}

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

	ID       int64       `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name     string      `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	ClientId string      `protobuf:"bytes,3,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
	System   *bool       `protobuf:"varint,4,opt,name=system,proto3,oneof" json:"system,omitempty"`
	Init     *bool       `protobuf:"varint,5,opt,name=init,proto3,oneof" json:"init,omitempty"`
	Page     *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"`
}

func (x *OauthProviderReq) Reset() {
	*x = OauthProviderReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*OauthProviderReq) ProtoMessage() {}

func (x *OauthProviderReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[18]
	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 OauthProviderReq.ProtoReflect.Descriptor instead.
func (*OauthProviderReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{18}
}

func (x *OauthProviderReq) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

func (x *OauthProviderReq) GetClientId() string {
	if x != nil {
		return x.ClientId
	}
	return ""
}

func (x *OauthProviderReq) GetSystem() bool {
	if x != nil && x.System != nil {
		return *x.System
	}
	return false
}

func (x *OauthProviderReq) GetInit() bool {
	if x != nil && x.Init != nil {
		return *x.Init
	}
	return false
}

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

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

	Page *Pagination  `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"`
	Data []*TokenInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"`
}

func (x *TokenListResp) Reset() {
	*x = TokenListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TokenListResp) ProtoMessage() {}

func (x *TokenListResp) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[19]
	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 TokenListResp.ProtoReflect.Descriptor instead.
func (*TokenListResp) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{19}
}

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

func (x *TokenListResp) GetData() []*TokenInfo {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	ID              int64       `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Username        string      `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	PhoneNumber     string      `protobuf:"bytes,3,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"`
	Email           string      `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"`
	Nickname        string      `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname,omitempty"`
	WithRole        bool        `protobuf:"varint,6,opt,name=with_role,json=withRole,proto3" json:"with_role,omitempty"`
	WithSocial      bool        `protobuf:"varint,7,opt,name=with_social,json=withSocial,proto3" json:"with_social,omitempty"`
	WithDepartment  bool        `protobuf:"varint,8,opt,name=with_department,json=withDepartment,proto3" json:"with_department,omitempty"`
	WithToken       bool        `protobuf:"varint,9,opt,name=with_token,json=withToken,proto3" json:"with_token,omitempty"`
	WithLoginRecord bool        `protobuf:"varint,10,opt,name=with_login_record,json=withLoginRecord,proto3" json:"with_login_record,omitempty"`
	Page            *Pagination `protobuf:"bytes,20,opt,name=page,proto3,oneof" json:"page,omitempty"`
}

func (x *UserReq) Reset() {
	*x = UserReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UserReq) ProtoMessage() {}

func (x *UserReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[20]
	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 UserReq.ProtoReflect.Descriptor instead.
func (*UserReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{20}
}

func (x *UserReq) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *UserReq) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *UserReq) GetPhoneNumber() string {
	if x != nil {
		return x.PhoneNumber
	}
	return ""
}

func (x *UserReq) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *UserReq) GetNickname() string {
	if x != nil {
		return x.Nickname
	}
	return ""
}

func (x *UserReq) GetWithRole() bool {
	if x != nil {
		return x.WithRole
	}
	return false
}

func (x *UserReq) GetWithSocial() bool {
	if x != nil {
		return x.WithSocial
	}
	return false
}

func (x *UserReq) GetWithDepartment() bool {
	if x != nil {
		return x.WithDepartment
	}
	return false
}

func (x *UserReq) GetWithToken() bool {
	if x != nil {
		return x.WithToken
	}
	return false
}

func (x *UserReq) GetWithLoginRecord() bool {
	if x != nil {
		return x.WithLoginRecord
	}
	return false
}

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

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

	Page           *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"`
	ID             int64       `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"`
	DictId         int64       `protobuf:"varint,3,opt,name=dict_id,json=dictId,proto3" json:"dict_id,omitempty"`
	Title          string      `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"`
	Key            string      `protobuf:"bytes,5,opt,name=key,proto3" json:"key,omitempty"`
	Value          string      `protobuf:"bytes,6,opt,name=value,proto3" json:"value,omitempty"`
	WithDictionary bool        `protobuf:"varint,7,opt,name=with_dictionary,json=withDictionary,proto3" json:"with_dictionary,omitempty"`
}

func (x *DictionaryDetailReq) Reset() {
	*x = DictionaryDetailReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DictionaryDetailReq) ProtoMessage() {}

func (x *DictionaryDetailReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[21]
	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 DictionaryDetailReq.ProtoReflect.Descriptor instead.
func (*DictionaryDetailReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{21}
}

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

func (x *DictionaryDetailReq) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *DictionaryDetailReq) GetDictId() int64 {
	if x != nil {
		return x.DictId
	}
	return 0
}

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

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

func (x *DictionaryDetailReq) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

func (x *DictionaryDetailReq) GetWithDictionary() bool {
	if x != nil {
		return x.WithDictionary
	}
	return false
}

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

	Code     string   `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
	Name     string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	NameList []string `protobuf:"bytes,3,rep,name=name_list,json=nameList,proto3" json:"name_list,omitempty"`
}

func (x *GetDistrictNameResp) Reset() {
	*x = GetDistrictNameResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetDistrictNameResp) ProtoMessage() {}

func (x *GetDistrictNameResp) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[22]
	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 GetDistrictNameResp.ProtoReflect.Descriptor instead.
func (*GetDistrictNameResp) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{22}
}

func (x *GetDistrictNameResp) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

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

func (x *GetDistrictNameResp) GetNameList() []string {
	if x != nil {
		return x.NameList
	}
	return nil
}

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

	Page   *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"`
	UserId int64       `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
}

func (x *GetUserRolesReq) Reset() {
	*x = GetUserRolesReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetUserRolesReq) ProtoMessage() {}

func (x *GetUserRolesReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[23]
	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 GetUserRolesReq.ProtoReflect.Descriptor instead.
func (*GetUserRolesReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{23}
}

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

func (x *GetUserRolesReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

//  Base message
type Empty struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *Empty) Reset() {
	*x = Empty{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Empty) ProtoMessage() {}

func (x *Empty) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[24]
	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 Empty.ProtoReflect.Descriptor instead.
func (*Empty) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{24}
}

//  基础回执带ID
type BaseIDResp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ID   int64  `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Code int32  `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"`
}

func (x *BaseIDResp) Reset() {
	*x = BaseIDResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*BaseIDResp) ProtoMessage() {}

func (x *BaseIDResp) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[25]
	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 BaseIDResp.ProtoReflect.Descriptor instead.
func (*BaseIDResp) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{25}
}

func (x *BaseIDResp) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *BaseIDResp) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *BaseIDResp) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

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

	ID          int64                   `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Status      string                  `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	CreatedAt   string                  `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt   string                  `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Title       string                  `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"`
	Name        string                  `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	Description string                  `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"`
	Details     []*DictionaryDetailInfo `protobuf:"bytes,10,rep,name=details,proto3" json:"details,omitempty"`
}

func (x *DictionaryInfo) Reset() {
	*x = DictionaryInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DictionaryInfo) ProtoMessage() {}

func (x *DictionaryInfo) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[26]
	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 DictionaryInfo.ProtoReflect.Descriptor instead.
func (*DictionaryInfo) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{26}
}

func (x *DictionaryInfo) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

func (x *DictionaryInfo) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *DictionaryInfo) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

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

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

func (x *DictionaryInfo) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *DictionaryInfo) GetDetails() []*DictionaryDetailInfo {
	if x != nil {
		return x.Details
	}
	return nil
}

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

	ID           int64           `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Status       string          `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	CreatedAt    string          `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt    string          `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Title        string          `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"`
	Key          string          `protobuf:"bytes,6,opt,name=key,proto3" json:"key,omitempty"`
	Value        string          `protobuf:"bytes,7,opt,name=value,proto3" json:"value,omitempty"`
	Sort         uint32          `protobuf:"varint,8,opt,name=sort,proto3" json:"sort,omitempty"`
	DictionaryId int64           `protobuf:"varint,9,opt,name=dictionary_id,json=dictionaryId,proto3" json:"dictionary_id,omitempty"`
	Dictionary   *DictionaryInfo `protobuf:"bytes,10,opt,name=dictionary,proto3" json:"dictionary,omitempty"`
}

func (x *DictionaryDetailInfo) Reset() {
	*x = DictionaryDetailInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DictionaryDetailInfo) ProtoMessage() {}

func (x *DictionaryDetailInfo) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[27]
	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 DictionaryDetailInfo.ProtoReflect.Descriptor instead.
func (*DictionaryDetailInfo) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{27}
}

func (x *DictionaryDetailInfo) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

func (x *DictionaryDetailInfo) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *DictionaryDetailInfo) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

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

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

func (x *DictionaryDetailInfo) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

func (x *DictionaryDetailInfo) GetSort() uint32 {
	if x != nil {
		return x.Sort
	}
	return 0
}

func (x *DictionaryDetailInfo) GetDictionaryId() int64 {
	if x != nil {
		return x.DictionaryId
	}
	return 0
}

func (x *DictionaryDetailInfo) GetDictionary() *DictionaryInfo {
	if x != nil {
		return x.Dictionary
	}
	return nil
}

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

	Page *Pagination          `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"`
	Data []*OauthProviderInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"`
}

func (x *OauthProviderListResp) Reset() {
	*x = OauthProviderListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*OauthProviderListResp) ProtoMessage() {}

func (x *OauthProviderListResp) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[28]
	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 OauthProviderListResp.ProtoReflect.Descriptor instead.
func (*OauthProviderListResp) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{28}
}

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

func (x *OauthProviderListResp) GetData() []*OauthProviderInfo {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"`
	Data []*RoleInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"`
}

func (x *RoleListResp) Reset() {
	*x = RoleListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*RoleListResp) ProtoMessage() {}

func (x *RoleListResp) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[29]
	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 RoleListResp.ProtoReflect.Descriptor instead.
func (*RoleListResp) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{29}
}

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

func (x *RoleListResp) GetData() []*RoleInfo {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	UserId int64 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
}

func (x *TokenUserReq) Reset() {
	*x = TokenUserReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TokenUserReq) ProtoMessage() {}

func (x *TokenUserReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[30]
	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 TokenUserReq.ProtoReflect.Descriptor instead.
func (*TokenUserReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{30}
}

func (x *TokenUserReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

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

	ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
}

func (x *IDReq) Reset() {
	*x = IDReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IDReq) ProtoMessage() {}

func (x *IDReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[31]
	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 IDReq.ProtoReflect.Descriptor instead.
func (*IDReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{31}
}

func (x *IDReq) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

	Ids []int64 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids,omitempty"`
}

func (x *IDsReq) Reset() {
	*x = IDsReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*IDsReq) ProtoMessage() {}

func (x *IDsReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[32]
	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 IDsReq.ProtoReflect.Descriptor instead.
func (*IDsReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{32}
}

func (x *IDsReq) GetIds() []int64 {
	if x != nil {
		return x.Ids
	}
	return nil
}

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

	ID           int64       `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name         string      `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	LeaderId     int64       `protobuf:"varint,3,opt,name=leader_id,json=leaderId,proto3" json:"leader_id,omitempty"`
	ParentId     int64       `protobuf:"varint,4,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
	WithLeader   bool        `protobuf:"varint,5,opt,name=with_leader,json=withLeader,proto3" json:"with_leader,omitempty"`
	WithUser     bool        `protobuf:"varint,6,opt,name=with_user,json=withUser,proto3" json:"with_user,omitempty"`
	WithChildren bool        `protobuf:"varint,7,opt,name=with_children,json=withChildren,proto3" json:"with_children,omitempty"`
	Page         *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"`
}

func (x *DepartmentReq) Reset() {
	*x = DepartmentReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DepartmentReq) ProtoMessage() {}

func (x *DepartmentReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[33]
	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 DepartmentReq.ProtoReflect.Descriptor instead.
func (*DepartmentReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{33}
}

func (x *DepartmentReq) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

func (x *DepartmentReq) GetLeaderId() int64 {
	if x != nil {
		return x.LeaderId
	}
	return 0
}

func (x *DepartmentReq) GetParentId() int64 {
	if x != nil {
		return x.ParentId
	}
	return 0
}

func (x *DepartmentReq) GetWithLeader() bool {
	if x != nil {
		return x.WithLeader
	}
	return false
}

func (x *DepartmentReq) GetWithUser() bool {
	if x != nil {
		return x.WithUser
	}
	return false
}

func (x *DepartmentReq) GetWithChildren() bool {
	if x != nil {
		return x.WithChildren
	}
	return false
}

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

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

	Page *Pagination       `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"`
	Data []*DictionaryInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"`
}

func (x *DictionaryListResp) Reset() {
	*x = DictionaryListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DictionaryListResp) ProtoMessage() {}

func (x *DictionaryListResp) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[34]
	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 DictionaryListResp.ProtoReflect.Descriptor instead.
func (*DictionaryListResp) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{34}
}

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

func (x *DictionaryListResp) GetData() []*DictionaryInfo {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	ID          int64       `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	UserId      int64       `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Provider    string      `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
	AccessToken string      `protobuf:"bytes,4,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"`
	Uid         string      `protobuf:"bytes,5,opt,name=uid,proto3" json:"uid,omitempty"`
	OpenId      string      `protobuf:"bytes,6,opt,name=open_id,json=openId,proto3" json:"open_id,omitempty"`
	UnionId     string      `protobuf:"bytes,7,opt,name=union_id,json=unionId,proto3" json:"union_id,omitempty"`
	WithUser    bool        `protobuf:"varint,8,opt,name=with_user,json=withUser,proto3" json:"with_user,omitempty"`
	Page        *Pagination `protobuf:"bytes,10,opt,name=page,proto3,oneof" json:"page,omitempty"`
}

func (x *UserSocialReq) Reset() {
	*x = UserSocialReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UserSocialReq) ProtoMessage() {}

func (x *UserSocialReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[35]
	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 UserSocialReq.ProtoReflect.Descriptor instead.
func (*UserSocialReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{35}
}

func (x *UserSocialReq) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *UserSocialReq) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UserSocialReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *UserSocialReq) GetAccessToken() string {
	if x != nil {
		return x.AccessToken
	}
	return ""
}

func (x *UserSocialReq) GetUid() string {
	if x != nil {
		return x.Uid
	}
	return ""
}

func (x *UserSocialReq) GetOpenId() string {
	if x != nil {
		return x.OpenId
	}
	return ""
}

func (x *UserSocialReq) GetUnionId() string {
	if x != nil {
		return x.UnionId
	}
	return ""
}

func (x *UserSocialReq) GetWithUser() bool {
	if x != nil {
		return x.WithUser
	}
	return false
}

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

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

	Page *Pagination             `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"`
	Data []*DictionaryDetailInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"`
}

func (x *DictionaryDetailListResp) Reset() {
	*x = DictionaryDetailListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DictionaryDetailListResp) ProtoMessage() {}

func (x *DictionaryDetailListResp) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[36]
	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 DictionaryDetailListResp.ProtoReflect.Descriptor instead.
func (*DictionaryDetailListResp) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{36}
}

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

func (x *DictionaryDetailListResp) GetData() []*DictionaryDetailInfo {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	ID              int64  `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	CreatedAt       string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt       string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	UserId          int64  `protobuf:"varint,5,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	LastLoginAt     string `protobuf:"bytes,6,opt,name=last_login_at,json=lastLoginAt,proto3" json:"last_login_at,omitempty"`
	LastLoginIpv4   string `protobuf:"bytes,7,opt,name=last_login_ipv4,json=lastLoginIpv4,proto3" json:"last_login_ipv4,omitempty"`
	LastLoginDevice string `protobuf:"bytes,8,opt,name=last_login_device,json=lastLoginDevice,proto3" json:"last_login_device,omitempty"`
	LastLoginUa     string `protobuf:"bytes,9,opt,name=last_login_ua,json=lastLoginUa,proto3" json:"last_login_ua,omitempty"`
	LoginCount      uint64 `protobuf:"varint,10,opt,name=login_count,json=loginCount,proto3" json:"login_count,omitempty"`
}

func (x *LoginRecordInfo) Reset() {
	*x = LoginRecordInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*LoginRecordInfo) ProtoMessage() {}

func (x *LoginRecordInfo) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[37]
	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 LoginRecordInfo.ProtoReflect.Descriptor instead.
func (*LoginRecordInfo) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{37}
}

func (x *LoginRecordInfo) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *LoginRecordInfo) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *LoginRecordInfo) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *LoginRecordInfo) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *LoginRecordInfo) GetLastLoginAt() string {
	if x != nil {
		return x.LastLoginAt
	}
	return ""
}

func (x *LoginRecordInfo) GetLastLoginIpv4() string {
	if x != nil {
		return x.LastLoginIpv4
	}
	return ""
}

func (x *LoginRecordInfo) GetLastLoginDevice() string {
	if x != nil {
		return x.LastLoginDevice
	}
	return ""
}

func (x *LoginRecordInfo) GetLastLoginUa() string {
	if x != nil {
		return x.LastLoginUa
	}
	return ""
}

func (x *LoginRecordInfo) GetLoginCount() uint64 {
	if x != nil {
		return x.LoginCount
	}
	return 0
}

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

	State    string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
	Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
}

func (x *OauthLoginReq) Reset() {
	*x = OauthLoginReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*OauthLoginReq) ProtoMessage() {}

func (x *OauthLoginReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[38]
	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 OauthLoginReq.ProtoReflect.Descriptor instead.
func (*OauthLoginReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{38}
}

func (x *OauthLoginReq) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

func (x *OauthLoginReq) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

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

	ID           int64     `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Status       string    `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	CreatedAt    string    `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt    string    `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	UserId       int64     `protobuf:"varint,5,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	AccessToken  string    `protobuf:"bytes,6,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"`
	RefreshToken string    `protobuf:"bytes,7,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"`
	Source       string    `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"`
	ExpiredAt    int64     `protobuf:"varint,9,opt,name=expired_at,json=expiredAt,proto3" json:"expired_at,omitempty"`
	User         *UserInfo `protobuf:"bytes,10,opt,name=user,proto3" json:"user,omitempty"`
}

func (x *TokenInfo) Reset() {
	*x = TokenInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TokenInfo) ProtoMessage() {}

func (x *TokenInfo) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[39]
	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 TokenInfo.ProtoReflect.Descriptor instead.
func (*TokenInfo) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{39}
}

func (x *TokenInfo) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

func (x *TokenInfo) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *TokenInfo) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *TokenInfo) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *TokenInfo) GetAccessToken() string {
	if x != nil {
		return x.AccessToken
	}
	return ""
}

func (x *TokenInfo) GetRefreshToken() string {
	if x != nil {
		return x.RefreshToken
	}
	return ""
}

func (x *TokenInfo) GetSource() string {
	if x != nil {
		return x.Source
	}
	return ""
}

func (x *TokenInfo) GetExpiredAt() int64 {
	if x != nil {
		return x.ExpiredAt
	}
	return 0
}

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

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

	ID          int64             `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Status      string            `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	CreatedAt   string            `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt   string            `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Username    string            `protobuf:"bytes,5,opt,name=username,proto3" json:"username,omitempty"`
	PhoneNumber *string           `protobuf:"bytes,6,opt,name=phone_number,json=phoneNumber,proto3,oneof" json:"phone_number,omitempty"`
	Email       *string           `protobuf:"bytes,7,opt,name=email,proto3,oneof" json:"email,omitempty"`
	Password    string            `protobuf:"bytes,8,opt,name=password,proto3" json:"password,omitempty"`
	Nickname    *string           `protobuf:"bytes,9,opt,name=nickname,proto3,oneof" json:"nickname,omitempty"`
	Metas       map[string]string `protobuf:"bytes,10,rep,name=metas,proto3" json:"metas,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Roles       []*RoleInfo       `protobuf:"bytes,20,rep,name=roles,proto3" json:"roles,omitempty"`
	Socials     []*UserSocialInfo `protobuf:"bytes,21,rep,name=socials,proto3" json:"socials,omitempty"`
	Departments []*DepartmentInfo `protobuf:"bytes,22,rep,name=departments,proto3" json:"departments,omitempty"`
	Tokens      []*TokenInfo      `protobuf:"bytes,23,rep,name=tokens,proto3" json:"tokens,omitempty"`
	LoginRecord *LoginRecordInfo  `protobuf:"bytes,24,opt,name=login_record,json=loginRecord,proto3" json:"login_record,omitempty"`
}

func (x *UserInfo) Reset() {
	*x = UserInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UserInfo) ProtoMessage() {}

func (x *UserInfo) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[40]
	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 UserInfo.ProtoReflect.Descriptor instead.
func (*UserInfo) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{40}
}

func (x *UserInfo) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

func (x *UserInfo) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *UserInfo) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *UserInfo) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *UserInfo) GetPhoneNumber() string {
	if x != nil && x.PhoneNumber != nil {
		return *x.PhoneNumber
	}
	return ""
}

func (x *UserInfo) GetEmail() string {
	if x != nil && x.Email != nil {
		return *x.Email
	}
	return ""
}

func (x *UserInfo) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *UserInfo) GetNickname() string {
	if x != nil && x.Nickname != nil {
		return *x.Nickname
	}
	return ""
}

func (x *UserInfo) GetMetas() map[string]string {
	if x != nil {
		return x.Metas
	}
	return nil
}

func (x *UserInfo) GetRoles() []*RoleInfo {
	if x != nil {
		return x.Roles
	}
	return nil
}

func (x *UserInfo) GetSocials() []*UserSocialInfo {
	if x != nil {
		return x.Socials
	}
	return nil
}

func (x *UserInfo) GetDepartments() []*DepartmentInfo {
	if x != nil {
		return x.Departments
	}
	return nil
}

func (x *UserInfo) GetTokens() []*TokenInfo {
	if x != nil {
		return x.Tokens
	}
	return nil
}

func (x *UserInfo) GetLoginRecord() *LoginRecordInfo {
	if x != nil {
		return x.LoginRecord
	}
	return nil
}

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

	Page *Pagination `protobuf:"bytes,1,opt,name=page,proto3,oneof" json:"page,omitempty"`
	Data []*UserInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"`
}

func (x *UserListResp) Reset() {
	*x = UserListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UserListResp) ProtoMessage() {}

func (x *UserListResp) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[41]
	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 UserListResp.ProtoReflect.Descriptor instead.
func (*UserListResp) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{41}
}

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

func (x *UserListResp) GetData() []*UserInfo {
	if x != nil {
		return x.Data
	}
	return nil
}

//  分页参数
type Pagination struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Size    uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
	Total   uint64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	Current uint64 `protobuf:"varint,3,opt,name=current,proto3" json:"current,omitempty"`
}

func (x *Pagination) Reset() {
	*x = Pagination{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Pagination) ProtoMessage() {}

func (x *Pagination) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[42]
	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 Pagination.ProtoReflect.Descriptor instead.
func (*Pagination) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{42}
}

func (x *Pagination) GetSize() uint64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *Pagination) GetTotal() uint64 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *Pagination) GetCurrent() uint64 {
	if x != nil {
		return x.Current
	}
	return 0
}

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

	Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
}

func (x *DistrictCodeReq) Reset() {
	*x = DistrictCodeReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DistrictCodeReq) ProtoMessage() {}

func (x *DistrictCodeReq) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[43]
	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 DistrictCodeReq.ProtoReflect.Descriptor instead.
func (*DistrictCodeReq) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{43}
}

func (x *DistrictCodeReq) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

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

	ID           int64  `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	CreatedAt    string `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt    string `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Name         string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	ClientId     string `protobuf:"bytes,5,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
	ClientSecret string `protobuf:"bytes,6,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"`
	RedirectUrl  string `protobuf:"bytes,7,opt,name=redirect_url,json=redirectUrl,proto3" json:"redirect_url,omitempty"`
	Scopes       string `protobuf:"bytes,8,opt,name=scopes,proto3" json:"scopes,omitempty"`
	AuthUrl      string `protobuf:"bytes,9,opt,name=auth_url,json=authUrl,proto3" json:"auth_url,omitempty"`
	TokenUrl     string `protobuf:"bytes,10,opt,name=token_url,json=tokenUrl,proto3" json:"token_url,omitempty"`
	InfoUrl      string `protobuf:"bytes,11,opt,name=info_url,json=infoUrl,proto3" json:"info_url,omitempty"`
	Description  string `protobuf:"bytes,12,opt,name=description,proto3" json:"description,omitempty"`
	System       bool   `protobuf:"varint,13,opt,name=system,proto3" json:"system,omitempty"`
	Init         bool   `protobuf:"varint,14,opt,name=init,proto3" json:"init,omitempty"`
}

func (x *OauthProviderInfo) Reset() {
	*x = OauthProviderInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*OauthProviderInfo) ProtoMessage() {}

func (x *OauthProviderInfo) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[44]
	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 OauthProviderInfo.ProtoReflect.Descriptor instead.
func (*OauthProviderInfo) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{44}
}

func (x *OauthProviderInfo) GetID() int64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *OauthProviderInfo) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *OauthProviderInfo) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

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

func (x *OauthProviderInfo) GetClientId() string {
	if x != nil {
		return x.ClientId
	}
	return ""
}

func (x *OauthProviderInfo) GetClientSecret() string {
	if x != nil {
		return x.ClientSecret
	}
	return ""
}

func (x *OauthProviderInfo) GetRedirectUrl() string {
	if x != nil {
		return x.RedirectUrl
	}
	return ""
}

func (x *OauthProviderInfo) GetScopes() string {
	if x != nil {
		return x.Scopes
	}
	return ""
}

func (x *OauthProviderInfo) GetAuthUrl() string {
	if x != nil {
		return x.AuthUrl
	}
	return ""
}

func (x *OauthProviderInfo) GetTokenUrl() string {
	if x != nil {
		return x.TokenUrl
	}
	return ""
}

func (x *OauthProviderInfo) GetInfoUrl() string {
	if x != nil {
		return x.InfoUrl
	}
	return ""
}

func (x *OauthProviderInfo) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *OauthProviderInfo) GetSystem() bool {
	if x != nil {
		return x.System
	}
	return false
}

func (x *OauthProviderInfo) GetInit() bool {
	if x != nil {
		return x.Init
	}
	return false
}

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

	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
}

func (x *OauthRedirectResp) Reset() {
	*x = OauthRedirectResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_rpc_core_core_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*OauthRedirectResp) ProtoMessage() {}

func (x *OauthRedirectResp) ProtoReflect() protoreflect.Message {
	mi := &file_rpc_core_core_proto_msgTypes[45]
	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 OauthRedirectResp.ProtoReflect.Descriptor instead.
func (*OauthRedirectResp) Descriptor() ([]byte, []int) {
	return file_rpc_core_core_proto_rawDescGZIP(), []int{45}
}

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

var File_rpc_core_core_proto protoreflect.FileDescriptor

var file_rpc_core_core_proto_rawDesc = []byte{
	0x0a, 0x13, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x30, 0x0a, 0x08, 0x42,
	0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d,
	0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x36, 0x0a,
	0x0c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x54, 0x72, 0x65, 0x65, 0x12, 0x26, 0x0a,
	0x04, 0x74, 0x72, 0x65, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f,
	0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x04, 0x74, 0x72, 0x65, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x07, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65,
	0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49,
	0x44, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74,
	0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69,
	0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69,
	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01,
	0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x08, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f,
	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
	0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c,
	0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
	0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
	0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x73,
	0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x55, 0x73,
	0x65, 0x72, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a,
	0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x72, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f,
	0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04,
	0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04,
	0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65,
	0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74,
	0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x72, 0x0a, 0x12, 0x44, 0x65,
	0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x04, 0x64,
	0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0xa0,
	0x01, 0x0a, 0x0d, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71,
	0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44,
	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x69,
	0x74, 0x68, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x29, 0x0a,
	0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f,
	0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52,
	0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67,
	0x65, 0x22, 0x46, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x10,
	0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73,
	0x12, 0x17, 0x0a, 0x07, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x06, 0x64, 0x69, 0x63, 0x74, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x12, 0x47, 0x65, 0x74,
	0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12,
	0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63,
	0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f,
	0x72, 0x22, 0x37, 0x0a, 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71,
	0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x08, 0x52,
	0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d,
	0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a,
	0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64,
	0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73,
	0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x99, 0x03,
	0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
	0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44,
	0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
	0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x17,
	0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69,
	0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69,
	0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f,
	0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73,
	0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72,
	0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75,
	0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a,
	0x07, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x5f,
	0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x49,
	0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69,
	0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73,
	0x49, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69,
	0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72,
	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x0e, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49,
	0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x8a, 0x03, 0x0a, 0x0e, 0x44, 0x65,
	0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02,
	0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06,
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
	0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
	0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x70,
	0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
	0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06,
	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72,
	0x65, 0x6e, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08,
	0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72,
	0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x26,
	0x0a, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06,
	0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0xff, 0x02, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x72,
	0x69, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x6f,
	0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73,
	0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04,
	0x61, 0x72, 0x65, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61,
	0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65,
	0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a,
	0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01,
	0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f,
	0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c,
	0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c,
	0x64, 0x72, 0x65, 0x6e, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08,
	0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x6e, 0x0a, 0x10, 0x44, 0x69, 0x73, 0x74,
	0x72, 0x69, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04,
	0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04,
	0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73,
	0x74, 0x72, 0x69, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42,
	0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x24, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x6f,
	0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x60,
	0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a,
	0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
	0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69,
	0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64,
	0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73,
	0x22, 0xb4, 0x02, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71,
	0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x63, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65,
	0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74,
	0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61,
	0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x70,
	0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70,
	0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f,
	0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54,
	0x79, 0x70, 0x65, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x07,
	0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x10, 0x4f, 0x61, 0x75, 0x74,
	0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02,
	0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a,
	0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52,
	0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x69, 0x6e,
	0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74,
	0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09,
	0x0a, 0x07, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x6e,
	0x69, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x68, 0x0a, 0x0d, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04,
	0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04,
	0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x6f, 0x6b,
	0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05,
	0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0xf0, 0x02, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65,
	0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49,
	0x44, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a,
	0x0c, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
	0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
	0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x52, 0x6f, 0x6c, 0x65, 0x12,
	0x1f, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c,
	0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d,
	0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x44,
	0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x69, 0x74,
	0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x77,
	0x69, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x69, 0x74, 0x68,
	0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65,
	0x63, 0x6f, 0x72, 0x64, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42,
	0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71,
	0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x49,
	0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x07, 0x64,
	0x69, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x69,
	0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
	0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x64, 0x69, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x77, 0x69, 0x74,
	0x68, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f,
	0x70, 0x61, 0x67, 0x65, 0x22, 0x5a, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72,
	0x69, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63,
	0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12,
	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74,
	0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74,
	0x22, 0x5e, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73,
	0x52, 0x65, 0x71, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17,
	0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65,
	0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x42, 0x0a, 0x0a, 0x42, 0x61, 0x73,
	0x65, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d,
	0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf8, 0x01,
	0x0a, 0x0e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f,
	0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44,
	0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0a, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xa9, 0x02, 0x0a, 0x14, 0x44, 0x69, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
	0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49,
	0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x10, 0x0a,
	0x03, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x0c, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x64, 0x12, 0x34,
	0x0a, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x72, 0x79, 0x22, 0x78, 0x0a, 0x15, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f,
	0x76, 0x69, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a,
	0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f,
	0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52,
	0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x61,
	0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x66,
	0x0a, 0x0c, 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29,
	0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00,
	0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74,
	0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52,
	0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a,
	0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x27, 0x0a, 0x0c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55,
	0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22,
	0x17, 0x0a, 0x05, 0x49, 0x44, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x22, 0x1a, 0x0a, 0x06, 0x49, 0x44, 0x73, 0x52,
	0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52,
	0x03, 0x69, 0x64, 0x73, 0x22, 0x84, 0x02, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d,
	0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65,
	0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6c, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x4c,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x73,
	0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x55, 0x73,
	0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64,
	0x72, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x77, 0x69, 0x74, 0x68, 0x43,
	0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67,
	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88,
	0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x72, 0x0a, 0x12, 0x44,
	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x29, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x04,
	0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f,
	0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22,
	0x8e, 0x02, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x52, 0x65,
	0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49,
	0x44, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6f,
	0x70, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70,
	0x65, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
	0x1b, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x08, 0x77, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x04,
	0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04,
	0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65,
	0x22, 0x7e, 0x0a, 0x18, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65,
	0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x04,
	0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x04,
	0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
	0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x67, 0x65,
	0x22, 0xb5, 0x02, 0x0a, 0x0f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x02, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
	0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
	0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6c,
	0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x12,
	0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x69, 0x70,
	0x76, 0x34, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f,
	0x67, 0x69, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f,
	0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x65, 0x76,
	0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69,
	0x6e, 0x5f, 0x75, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74,
	0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e,
	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6c, 0x6f,
	0x67, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x41, 0x0a, 0x0d, 0x4f, 0x61, 0x75, 0x74,
	0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61,
	0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12,
	0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xad, 0x02, 0x0a, 0x09,
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
	0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
	0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x72,
	0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
	0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69,
	0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x78,
	0x70, 0x69, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65,
	0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x90, 0x05, 0x0a, 0x08,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
	0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a,
	0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x68,
	0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
	0x48, 0x00, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88,
	0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a,
	0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x6e, 0x69, 0x63,
	0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x6e,
	0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x05, 0x6d, 0x65,
	0x74, 0x61, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x73, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x72,
	0x6f, 0x6c, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65,
	0x73, 0x12, 0x2e, 0x0a, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x15, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f,
	0x63, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c,
	0x73, 0x12, 0x36, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73,
	0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x65,
	0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x64, 0x65,
	0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x06, 0x74, 0x6f, 0x6b,
	0x65, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65,
	0x6e, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f,
	0x72, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x38, 0x0a, 0x0a,
	0x4d, 0x65, 0x74, 0x61, 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, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65,
	0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x6d, 0x61, 0x69,
	0x6c, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x66,
	0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29,
	0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00,
	0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74,
	0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a,
	0x05, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x50, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x18,
	0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x25, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x74,
	0x72, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x63,
	0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22,
	0x93, 0x03, 0x0a, 0x11, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
	0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
	0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f,
	0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73,
	0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x64,
	0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0b, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06,
	0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63,
	0x6f, 0x70, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x75, 0x72, 0x6c,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x55, 0x72, 0x6c, 0x12,
	0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08,
	0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x69, 0x6e, 0x66, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73,
	0x74, 0x65, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65,
	0x6d, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x04, 0x69, 0x6e, 0x69, 0x74, 0x22, 0x25, 0x0a, 0x11, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x52, 0x65,
	0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72,
	0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x2a, 0x97, 0x01, 0x0a,
	0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10,
	0x00, 0x12, 0x07, 0x0a, 0x03, 0x4e, 0x45, 0x51, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e,
	0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x10, 0x03, 0x12, 0x06, 0x0a,
	0x02, 0x47, 0x54, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x54, 0x45, 0x10, 0x05, 0x12, 0x06,
	0x0a, 0x02, 0x4c, 0x54, 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x54, 0x45, 0x10, 0x07, 0x12,
	0x0c, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x10, 0x08, 0x12, 0x0a, 0x0a,
	0x06, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x10, 0x09, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x75, 0x66,
	0x66, 0x69, 0x78, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x46, 0x6f,
	0x6c, 0x64, 0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73,
	0x46, 0x6f, 0x6c, 0x64, 0x10, 0x0c, 0x2a, 0x4f, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69,
	0x63, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4e,
	0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x68, 0x69, 0x6c, 0x64,
	0x72, 0x65, 0x6e, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65,
	0x6e, 0x42, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x61,
	0x72, 0x65, 0x6e, 0x74, 0x73, 0x10, 0x03, 0x32, 0x8c, 0x18, 0x0a, 0x04, 0x43, 0x6f, 0x72, 0x65,
	0x12, 0x2b, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
	0x12, 0x0b, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0e, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a,
	0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e,
	0x74, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d,
	0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42,
	0x61, 0x73, 0x65, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x10, 0x75, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x11, 0x67, 0x65, 0x74, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74,
	0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x13, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4c,
	0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0d, 0x67, 0x65, 0x74, 0x44, 0x65,
	0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x13, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70,
	0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49,
	0x44, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44,
	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x1a,
	0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x49, 0x44, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x38, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x0e, 0x2e, 0x63, 0x6f,
	0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x11, 0x67,
	0x65, 0x74, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74,
	0x12, 0x13, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x72, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12,
	0x3a, 0x0a, 0x0d, 0x67, 0x65, 0x74, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79,
	0x12, 0x13, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x72, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x10, 0x64,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x12,
	0x0c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a,
	0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72,
	0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44,
	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
	0x6e, 0x66, 0x6f, 0x1a, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x49,
	0x44, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44,
	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12,
	0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72,
	0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x0e, 0x2e, 0x63, 0x6f,
	0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x17, 0x67,
	0x65, 0x74, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61,
	0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65,
	0x71, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x4c, 0x0a, 0x13, 0x67, 0x65, 0x74, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12,
	0x49, 0x0a, 0x16, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72,
	0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x0b, 0x67, 0x65,
	0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x15, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71,
	0x1a, 0x12, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72,
	0x69, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x11, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44,
	0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
	0x73, 0x70, 0x12, 0x3c, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63,
	0x74, 0x54, 0x72, 0x65, 0x65, 0x12, 0x15, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73,
	0x74, 0x72, 0x69, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x54, 0x72, 0x65, 0x65,
	0x12, 0x46, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4e,
	0x61, 0x6d, 0x65, 0x12, 0x18, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69,
	0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,
	0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x33, 0x0a, 0x09, 0x67, 0x65, 0x74, 0x52,
	0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0f, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x65, 0x63,
	0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f,
	0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x0a,
	0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x15, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c,
	0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x0e,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x40,
	0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f,
	0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x17, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x61, 0x75,
	0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x10,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x3e, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x50,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x17, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4f,
	0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
	0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x4b, 0x0a, 0x14, 0x67, 0x65, 0x74, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76,
	0x69, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x4f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71,
	0x1a, 0x1b, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f,
	0x76, 0x69, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a,
	0x10, 0x67, 0x65, 0x74, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
	0x72, 0x12, 0x16, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x6e,
	0x66, 0x6f, 0x12, 0x33, 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x61, 0x75, 0x74,
	0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x0c, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42,
	0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0a, 0x6f, 0x61, 0x75, 0x74, 0x68,
	0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x13, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x61, 0x75,
	0x74, 0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x0d, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x43, 0x61, 0x6c, 0x6c,
	0x62, 0x61, 0x63, 0x6b, 0x12, 0x11, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x6c,
	0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x6f, 0x6c,
	0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73,
	0x65, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x6f, 0x6c,
	0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x65,
	0x4c, 0x69, 0x73, 0x74, 0x12, 0x0d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x6f, 0x6c, 0x65,
	0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x4c,
	0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x52, 0x6f,
	0x6c, 0x65, 0x12, 0x0d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65,
	0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x6e, 0x66,
	0x6f, 0x12, 0x2a, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12,
	0x0c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a,
	0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0f, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x10, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12,
	0x2e, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0f,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x1a,
	0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12,
	0x33, 0x0a, 0x0c, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12,
	0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a,
	0x13, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x73, 0x74,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x08, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
	0x12, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71,
	0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66,
	0x6f, 0x12, 0x2b, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
	0x12, 0x0c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0e,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37,
	0x0a, 0x11, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x54, 0x6f,
	0x6b, 0x65, 0x6e, 0x12, 0x12, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
	0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42,
	0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65,
	0x72, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73,
	0x65, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65,
	0x72, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72,
	0x4c, 0x69, 0x73, 0x74, 0x12, 0x0d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72,
	0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c,
	0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x07, 0x67, 0x65, 0x74, 0x55, 0x73,
	0x65, 0x72, 0x12, 0x0d, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65,
	0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66,
	0x6f, 0x12, 0x2a, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12,
	0x0c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a,
	0x0c, 0x75, 0x73, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x11, 0x2e,
	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71,
	0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x33, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x52, 0x6f,
	0x6c, 0x65, 0x12, 0x11, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f,
	0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x43, 0x6c, 0x65,
	0x61, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0b, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x44,
	0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0c, 0x67, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x6f,
	0x6c, 0x65, 0x73, 0x12, 0x15, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73,
	0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a,
	0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69,
	0x61, 0x6c, 0x12, 0x14, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f,
	0x63, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x10, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x42, 0x61, 0x73, 0x65, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x10, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x14,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c,
	0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x11, 0x67, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53,
	0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x13, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x18,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c,
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0d, 0x67, 0x65, 0x74, 0x55,
	0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x13, 0x2e, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x14,
	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73,
	0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x0c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
	0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x61,
	0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x2f, 0x63, 0x6f, 0x72, 0x65,
	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_rpc_core_core_proto_rawDescOnce sync.Once
	file_rpc_core_core_proto_rawDescData = file_rpc_core_core_proto_rawDesc
)

func file_rpc_core_core_proto_rawDescGZIP() []byte {
	file_rpc_core_core_proto_rawDescOnce.Do(func() {
		file_rpc_core_core_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_core_core_proto_rawDescData)
	})
	return file_rpc_core_core_proto_rawDescData
}

var file_rpc_core_core_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_rpc_core_core_proto_msgTypes = make([]protoimpl.MessageInfo, 47)
var file_rpc_core_core_proto_goTypes = []interface{}{
	(Operator)(0),                     // 0: core.Operator
	(DistrictQueryType)(0),            // 1: core.DistrictQueryType
	(*BaseResp)(nil),                  // 2: core.BaseResp
	(*DistrictTree)(nil),              // 3: core.DistrictTree
	(*RoleReq)(nil),                   // 4: core.RoleReq
	(*TokenReq)(nil),                  // 5: core.TokenReq
	(*UserSocialListResp)(nil),        // 6: core.UserSocialListResp
	(*DepartmentListResp)(nil),        // 7: core.DepartmentListResp
	(*DictionaryReq)(nil),             // 8: core.DictionaryReq
	(*DeleteDictionaryDetailReq)(nil), // 9: core.DeleteDictionaryDetailReq
	(*GetDistrictNameReq)(nil),        // 10: core.GetDistrictNameReq
	(*CallbackReq)(nil),               // 11: core.CallbackReq
	(*RoleInfo)(nil),                  // 12: core.RoleInfo
	(*UserSocialInfo)(nil),            // 13: core.UserSocialInfo
	(*DepartmentInfo)(nil),            // 14: core.DepartmentInfo
	(*DistrictInfo)(nil),              // 15: core.DistrictInfo
	(*DistrictListResp)(nil),          // 16: core.DistrictListResp
	(*RecordReq)(nil),                 // 17: core.RecordReq
	(*UserRoleReq)(nil),               // 18: core.UserRoleReq
	(*DistrictReq)(nil),               // 19: core.DistrictReq
	(*OauthProviderReq)(nil),          // 20: core.OauthProviderReq
	(*TokenListResp)(nil),             // 21: core.TokenListResp
	(*UserReq)(nil),                   // 22: core.UserReq
	(*DictionaryDetailReq)(nil),       // 23: core.DictionaryDetailReq
	(*GetDistrictNameResp)(nil),       // 24: core.GetDistrictNameResp
	(*GetUserRolesReq)(nil),           // 25: core.GetUserRolesReq
	(*Empty)(nil),                     // 26: core.Empty
	(*BaseIDResp)(nil),                // 27: core.BaseIDResp
	(*DictionaryInfo)(nil),            // 28: core.DictionaryInfo
	(*DictionaryDetailInfo)(nil),      // 29: core.DictionaryDetailInfo
	(*OauthProviderListResp)(nil),     // 30: core.OauthProviderListResp
	(*RoleListResp)(nil),              // 31: core.RoleListResp
	(*TokenUserReq)(nil),              // 32: core.TokenUserReq
	(*IDReq)(nil),                     // 33: core.IDReq
	(*IDsReq)(nil),                    // 34: core.IDsReq
	(*DepartmentReq)(nil),             // 35: core.DepartmentReq
	(*DictionaryListResp)(nil),        // 36: core.DictionaryListResp
	(*UserSocialReq)(nil),             // 37: core.UserSocialReq
	(*DictionaryDetailListResp)(nil),  // 38: core.DictionaryDetailListResp
	(*LoginRecordInfo)(nil),           // 39: core.LoginRecordInfo
	(*OauthLoginReq)(nil),             // 40: core.OauthLoginReq
	(*TokenInfo)(nil),                 // 41: core.TokenInfo
	(*UserInfo)(nil),                  // 42: core.UserInfo
	(*UserListResp)(nil),              // 43: core.UserListResp
	(*Pagination)(nil),                // 44: core.Pagination
	(*DistrictCodeReq)(nil),           // 45: core.DistrictCodeReq
	(*OauthProviderInfo)(nil),         // 46: core.OauthProviderInfo
	(*OauthRedirectResp)(nil),         // 47: core.OauthRedirectResp
	nil,                               // 48: core.UserInfo.MetasEntry
}
var file_rpc_core_core_proto_depIdxs = []int32{
	15,  // 0: core.DistrictTree.tree:type_name -> core.DistrictInfo
	44,  // 1: core.RoleReq.page:type_name -> core.Pagination
	44,  // 2: core.TokenReq.page:type_name -> core.Pagination
	44,  // 3: core.UserSocialListResp.page:type_name -> core.Pagination
	13,  // 4: core.UserSocialListResp.data:type_name -> core.UserSocialInfo
	44,  // 5: core.DepartmentListResp.page:type_name -> core.Pagination
	14,  // 6: core.DepartmentListResp.data:type_name -> core.DepartmentInfo
	44,  // 7: core.DictionaryReq.page:type_name -> core.Pagination
	42,  // 8: core.RoleInfo.users:type_name -> core.UserInfo
	42,  // 9: core.UserSocialInfo.user:type_name -> core.UserInfo
	14,  // 10: core.DepartmentInfo.parent:type_name -> core.DepartmentInfo
	14,  // 11: core.DepartmentInfo.children:type_name -> core.DepartmentInfo
	42,  // 12: core.DepartmentInfo.users:type_name -> core.UserInfo
	42,  // 13: core.DepartmentInfo.leader:type_name -> core.UserInfo
	15,  // 14: core.DistrictInfo.children:type_name -> core.DistrictInfo
	44,  // 15: core.DistrictListResp.page:type_name -> core.Pagination
	15,  // 16: core.DistrictListResp.data:type_name -> core.DistrictInfo
	44,  // 17: core.DistrictReq.page:type_name -> core.Pagination
	1,   // 18: core.DistrictReq.query_type:type_name -> core.DistrictQueryType
	44,  // 19: core.OauthProviderReq.page:type_name -> core.Pagination
	44,  // 20: core.TokenListResp.page:type_name -> core.Pagination
	41,  // 21: core.TokenListResp.data:type_name -> core.TokenInfo
	44,  // 22: core.UserReq.page:type_name -> core.Pagination
	44,  // 23: core.DictionaryDetailReq.page:type_name -> core.Pagination
	44,  // 24: core.GetUserRolesReq.page:type_name -> core.Pagination
	29,  // 25: core.DictionaryInfo.details:type_name -> core.DictionaryDetailInfo
	28,  // 26: core.DictionaryDetailInfo.dictionary:type_name -> core.DictionaryInfo
	44,  // 27: core.OauthProviderListResp.page:type_name -> core.Pagination
	46,  // 28: core.OauthProviderListResp.data:type_name -> core.OauthProviderInfo
	44,  // 29: core.RoleListResp.page:type_name -> core.Pagination
	12,  // 30: core.RoleListResp.data:type_name -> core.RoleInfo
	44,  // 31: core.DepartmentReq.page:type_name -> core.Pagination
	44,  // 32: core.DictionaryListResp.page:type_name -> core.Pagination
	28,  // 33: core.DictionaryListResp.data:type_name -> core.DictionaryInfo
	44,  // 34: core.UserSocialReq.page:type_name -> core.Pagination
	44,  // 35: core.DictionaryDetailListResp.page:type_name -> core.Pagination
	29,  // 36: core.DictionaryDetailListResp.data:type_name -> core.DictionaryDetailInfo
	42,  // 37: core.TokenInfo.user:type_name -> core.UserInfo
	48,  // 38: core.UserInfo.metas:type_name -> core.UserInfo.MetasEntry
	12,  // 39: core.UserInfo.roles:type_name -> core.RoleInfo
	13,  // 40: core.UserInfo.socials:type_name -> core.UserSocialInfo
	14,  // 41: core.UserInfo.departments:type_name -> core.DepartmentInfo
	41,  // 42: core.UserInfo.tokens:type_name -> core.TokenInfo
	39,  // 43: core.UserInfo.login_record:type_name -> core.LoginRecordInfo
	44,  // 44: core.UserListResp.page:type_name -> core.Pagination
	42,  // 45: core.UserListResp.data:type_name -> core.UserInfo
	26,  // 46: core.Core.initDatabase:input_type -> core.Empty
	14,  // 47: core.Core.createDepartment:input_type -> core.DepartmentInfo
	14,  // 48: core.Core.updateDepartment:input_type -> core.DepartmentInfo
	35,  // 49: core.Core.getDepartmentList:input_type -> core.DepartmentReq
	35,  // 50: core.Core.getDepartment:input_type -> core.DepartmentReq
	34,  // 51: core.Core.deleteDepartment:input_type -> core.IDsReq
	28,  // 52: core.Core.createDictionary:input_type -> core.DictionaryInfo
	28,  // 53: core.Core.updateDictionary:input_type -> core.DictionaryInfo
	8,   // 54: core.Core.getDictionaryList:input_type -> core.DictionaryReq
	8,   // 55: core.Core.getDictionary:input_type -> core.DictionaryReq
	34,  // 56: core.Core.deleteDictionary:input_type -> core.IDsReq
	29,  // 57: core.Core.createDictionaryDetail:input_type -> core.DictionaryDetailInfo
	29,  // 58: core.Core.updateDictionaryDetail:input_type -> core.DictionaryDetailInfo
	23,  // 59: core.Core.getDictionaryDetailList:input_type -> core.DictionaryDetailReq
	23,  // 60: core.Core.getDictionaryDetail:input_type -> core.DictionaryDetailReq
	9,   // 61: core.Core.deleteDictionaryDetail:input_type -> core.DeleteDictionaryDetailReq
	45,  // 62: core.Core.getDistrict:input_type -> core.DistrictCodeReq
	19,  // 63: core.Core.getDistrictList:input_type -> core.DistrictReq
	45,  // 64: core.Core.getDistrictTree:input_type -> core.DistrictCodeReq
	10,  // 65: core.Core.getDistrictName:input_type -> core.GetDistrictNameReq
	17,  // 66: core.Core.getRecord:input_type -> core.RecordReq
	39,  // 67: core.Core.record:input_type -> core.LoginRecordInfo
	46,  // 68: core.Core.createOauthProvider:input_type -> core.OauthProviderInfo
	46,  // 69: core.Core.updateOauthProvider:input_type -> core.OauthProviderInfo
	20,  // 70: core.Core.getOauthProviderList:input_type -> core.OauthProviderReq
	20,  // 71: core.Core.getOauthProvider:input_type -> core.OauthProviderReq
	34,  // 72: core.Core.deleteOauthProvider:input_type -> core.IDsReq
	40,  // 73: core.Core.oauthLogin:input_type -> core.OauthLoginReq
	11,  // 74: core.Core.oauthCallback:input_type -> core.CallbackReq
	12,  // 75: core.Core.createRole:input_type -> core.RoleInfo
	12,  // 76: core.Core.updateRole:input_type -> core.RoleInfo
	4,   // 77: core.Core.getRoleList:input_type -> core.RoleReq
	4,   // 78: core.Core.getRole:input_type -> core.RoleReq
	34,  // 79: core.Core.deleteRole:input_type -> core.IDsReq
	41,  // 80: core.Core.createToken:input_type -> core.TokenInfo
	41,  // 81: core.Core.updateToken:input_type -> core.TokenInfo
	5,   // 82: core.Core.getTokenList:input_type -> core.TokenReq
	5,   // 83: core.Core.getToken:input_type -> core.TokenReq
	34,  // 84: core.Core.deleteToken:input_type -> core.IDsReq
	32,  // 85: core.Core.blockUserAllToken:input_type -> core.TokenUserReq
	42,  // 86: core.Core.createUser:input_type -> core.UserInfo
	42,  // 87: core.Core.updateUser:input_type -> core.UserInfo
	22,  // 88: core.Core.getUserList:input_type -> core.UserReq
	22,  // 89: core.Core.getUser:input_type -> core.UserReq
	34,  // 90: core.Core.deleteUser:input_type -> core.IDsReq
	18,  // 91: core.Core.userBindRole:input_type -> core.UserRoleReq
	18,  // 92: core.Core.userUnbindRole:input_type -> core.UserRoleReq
	33,  // 93: core.Core.userClearRole:input_type -> core.IDReq
	25,  // 94: core.Core.getUserRoles:input_type -> core.GetUserRolesReq
	13,  // 95: core.Core.createUserSocial:input_type -> core.UserSocialInfo
	13,  // 96: core.Core.updateUserSocial:input_type -> core.UserSocialInfo
	37,  // 97: core.Core.getUserSocialList:input_type -> core.UserSocialReq
	37,  // 98: core.Core.getUserSocial:input_type -> core.UserSocialReq
	34,  // 99: core.Core.deleteUserSocial:input_type -> core.IDsReq
	2,   // 100: core.Core.initDatabase:output_type -> core.BaseResp
	27,  // 101: core.Core.createDepartment:output_type -> core.BaseIDResp
	2,   // 102: core.Core.updateDepartment:output_type -> core.BaseResp
	7,   // 103: core.Core.getDepartmentList:output_type -> core.DepartmentListResp
	14,  // 104: core.Core.getDepartment:output_type -> core.DepartmentInfo
	2,   // 105: core.Core.deleteDepartment:output_type -> core.BaseResp
	27,  // 106: core.Core.createDictionary:output_type -> core.BaseIDResp
	2,   // 107: core.Core.updateDictionary:output_type -> core.BaseResp
	36,  // 108: core.Core.getDictionaryList:output_type -> core.DictionaryListResp
	28,  // 109: core.Core.getDictionary:output_type -> core.DictionaryInfo
	2,   // 110: core.Core.deleteDictionary:output_type -> core.BaseResp
	27,  // 111: core.Core.createDictionaryDetail:output_type -> core.BaseIDResp
	2,   // 112: core.Core.updateDictionaryDetail:output_type -> core.BaseResp
	38,  // 113: core.Core.getDictionaryDetailList:output_type -> core.DictionaryDetailListResp
	29,  // 114: core.Core.getDictionaryDetail:output_type -> core.DictionaryDetailInfo
	2,   // 115: core.Core.deleteDictionaryDetail:output_type -> core.BaseResp
	15,  // 116: core.Core.getDistrict:output_type -> core.DistrictInfo
	16,  // 117: core.Core.getDistrictList:output_type -> core.DistrictListResp
	3,   // 118: core.Core.getDistrictTree:output_type -> core.DistrictTree
	24,  // 119: core.Core.getDistrictName:output_type -> core.GetDistrictNameResp
	39,  // 120: core.Core.getRecord:output_type -> core.LoginRecordInfo
	2,   // 121: core.Core.record:output_type -> core.BaseResp
	27,  // 122: core.Core.createOauthProvider:output_type -> core.BaseIDResp
	2,   // 123: core.Core.updateOauthProvider:output_type -> core.BaseResp
	30,  // 124: core.Core.getOauthProviderList:output_type -> core.OauthProviderListResp
	46,  // 125: core.Core.getOauthProvider:output_type -> core.OauthProviderInfo
	2,   // 126: core.Core.deleteOauthProvider:output_type -> core.BaseResp
	47,  // 127: core.Core.oauthLogin:output_type -> core.OauthRedirectResp
	42,  // 128: core.Core.oauthCallback:output_type -> core.UserInfo
	27,  // 129: core.Core.createRole:output_type -> core.BaseIDResp
	2,   // 130: core.Core.updateRole:output_type -> core.BaseResp
	31,  // 131: core.Core.getRoleList:output_type -> core.RoleListResp
	12,  // 132: core.Core.getRole:output_type -> core.RoleInfo
	2,   // 133: core.Core.deleteRole:output_type -> core.BaseResp
	27,  // 134: core.Core.createToken:output_type -> core.BaseIDResp
	2,   // 135: core.Core.updateToken:output_type -> core.BaseResp
	21,  // 136: core.Core.getTokenList:output_type -> core.TokenListResp
	41,  // 137: core.Core.getToken:output_type -> core.TokenInfo
	2,   // 138: core.Core.deleteToken:output_type -> core.BaseResp
	2,   // 139: core.Core.blockUserAllToken:output_type -> core.BaseResp
	27,  // 140: core.Core.createUser:output_type -> core.BaseIDResp
	2,   // 141: core.Core.updateUser:output_type -> core.BaseResp
	43,  // 142: core.Core.getUserList:output_type -> core.UserListResp
	42,  // 143: core.Core.getUser:output_type -> core.UserInfo
	2,   // 144: core.Core.deleteUser:output_type -> core.BaseResp
	2,   // 145: core.Core.userBindRole:output_type -> core.BaseResp
	2,   // 146: core.Core.userUnbindRole:output_type -> core.BaseResp
	2,   // 147: core.Core.userClearRole:output_type -> core.BaseResp
	31,  // 148: core.Core.getUserRoles:output_type -> core.RoleListResp
	27,  // 149: core.Core.createUserSocial:output_type -> core.BaseIDResp
	2,   // 150: core.Core.updateUserSocial:output_type -> core.BaseResp
	6,   // 151: core.Core.getUserSocialList:output_type -> core.UserSocialListResp
	13,  // 152: core.Core.getUserSocial:output_type -> core.UserSocialInfo
	2,   // 153: core.Core.deleteUserSocial:output_type -> core.BaseResp
	100, // [100:154] is the sub-list for method output_type
	46,  // [46:100] is the sub-list for method input_type
	46,  // [46:46] is the sub-list for extension type_name
	46,  // [46:46] is the sub-list for extension extendee
	0,   // [0:46] is the sub-list for field type_name
}

func init() { file_rpc_core_core_proto_init() }
func file_rpc_core_core_proto_init() {
	if File_rpc_core_core_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_rpc_core_core_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BaseResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DistrictTree); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RoleReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TokenReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserSocialListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DepartmentListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DictionaryReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteDictionaryDetailReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDistrictNameReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CallbackReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RoleInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserSocialInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DepartmentInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DistrictInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DistrictListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RecordReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserRoleReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DistrictReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OauthProviderReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TokenListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DictionaryDetailReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDistrictNameResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetUserRolesReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Empty); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BaseIDResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DictionaryInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DictionaryDetailInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OauthProviderListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RoleListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TokenUserReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IDReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IDsReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DepartmentReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DictionaryListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserSocialReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DictionaryDetailListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LoginRecordInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OauthLoginReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TokenInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Pagination); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DistrictCodeReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OauthProviderInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_rpc_core_core_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OauthRedirectResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_rpc_core_core_proto_msgTypes[2].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[3].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[4].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[5].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[6].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[14].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[17].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[18].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[19].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[20].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[21].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[23].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[28].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[29].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[33].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[34].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[35].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[36].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[40].OneofWrappers = []interface{}{}
	file_rpc_core_core_proto_msgTypes[41].OneofWrappers = []interface{}{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_rpc_core_core_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   47,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_rpc_core_core_proto_goTypes,
		DependencyIndexes: file_rpc_core_core_proto_depIdxs,
		EnumInfos:         file_rpc_core_core_proto_enumTypes,
		MessageInfos:      file_rpc_core_core_proto_msgTypes,
	}.Build()
	File_rpc_core_core_proto = out.File
	file_rpc_core_core_proto_rawDesc = nil
	file_rpc_core_core_proto_goTypes = nil
	file_rpc_core_core_proto_depIdxs = nil
}
