| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647 | // Code generated by protoc-gen-go. DO NOT EDIT.// versions:// 	protoc-gen-go v1.25.0-devel// 	protoc        v3.14.0// source: grpc/node.protopackage nodepbimport (	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 LoginRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Macaddress string `protobuf:"bytes,1,opt,name=macaddress,proto3" json:"macaddress,omitempty"`	Password   string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`	Network    string `protobuf:"bytes,3,opt,name=network,proto3" json:"network,omitempty"`}func (x *LoginRequest) Reset() {	*x = LoginRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[0]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *LoginRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*LoginRequest) ProtoMessage() {}func (x *LoginRequest) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 LoginRequest.ProtoReflect.Descriptor instead.func (*LoginRequest) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{0}}func (x *LoginRequest) GetMacaddress() string {	if x != nil {		return x.Macaddress	}	return ""}func (x *LoginRequest) GetPassword() string {	if x != nil {		return x.Password	}	return ""}func (x *LoginRequest) GetNetwork() string {	if x != nil {		return x.Network	}	return ""}type LoginResponse struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Accesstoken string `protobuf:"bytes,1,opt,name=accesstoken,proto3" json:"accesstoken,omitempty"`}func (x *LoginResponse) Reset() {	*x = LoginResponse{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[1]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *LoginResponse) String() string {	return protoimpl.X.MessageStringOf(x)}func (*LoginResponse) ProtoMessage() {}func (x *LoginResponse) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 LoginResponse.ProtoReflect.Descriptor instead.func (*LoginResponse) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{1}}func (x *LoginResponse) GetAccesstoken() string {	if x != nil {		return x.Accesstoken	}	return ""}type Node struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Id              string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`	Name            string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`	Address         string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`	Address6        string `protobuf:"bytes,26,opt,name=address6,proto3" json:"address6,omitempty"`	Listenport      int32  `protobuf:"varint,4,opt,name=listenport,proto3" json:"listenport,omitempty"`	Publickey       string `protobuf:"bytes,5,opt,name=publickey,proto3" json:"publickey,omitempty"`	Endpoint        string `protobuf:"bytes,6,opt,name=endpoint,proto3" json:"endpoint,omitempty"`	Macaddress      string `protobuf:"bytes,7,opt,name=macaddress,proto3" json:"macaddress,omitempty"`	Password        string `protobuf:"bytes,8,opt,name=password,proto3" json:"password,omitempty"`	Nodenetwork     string `protobuf:"bytes,9,opt,name=nodenetwork,proto3" json:"nodenetwork,omitempty"`	Ispending       bool   `protobuf:"varint,10,opt,name=ispending,proto3" json:"ispending,omitempty"`	Postup          string `protobuf:"bytes,11,opt,name=postup,proto3" json:"postup,omitempty"`	Postdown        string `protobuf:"bytes,12,opt,name=postdown,proto3" json:"postdown,omitempty"`	Keepalive       int32  `protobuf:"varint,13,opt,name=keepalive,proto3" json:"keepalive,omitempty"`	Saveconfig      bool   `protobuf:"varint,14,opt,name=saveconfig,proto3" json:"saveconfig,omitempty"`	Accesskey       string `protobuf:"bytes,15,opt,name=accesskey,proto3" json:"accesskey,omitempty"`	Interface       string `protobuf:"bytes,16,opt,name=interface,proto3" json:"interface,omitempty"`	Lastcheckin     string `protobuf:"bytes,17,opt,name=lastcheckin,proto3" json:"lastcheckin,omitempty"`	Lastmodified    string `protobuf:"bytes,18,opt,name=lastmodified,proto3" json:"lastmodified,omitempty"`	Checkininterval int32  `protobuf:"varint,19,opt,name=checkininterval,proto3" json:"checkininterval,omitempty"`	Localaddress    string `protobuf:"bytes,20,opt,name=localaddress,proto3" json:"localaddress,omitempty"`	Postchanges     string `protobuf:"bytes,21,opt,name=postchanges,proto3" json:"postchanges,omitempty"`	Allowedips      string `protobuf:"bytes,22,opt,name=allowedips,proto3" json:"allowedips,omitempty"`	Islocal         bool   `protobuf:"varint,23,opt,name=islocal,proto3" json:"islocal,omitempty"`	Isdualstack     bool   `protobuf:"varint,27,opt,name=isdualstack,proto3" json:"isdualstack,omitempty"`	Dnsoff          bool   `protobuf:"varint,24,opt,name=dnsoff,proto3" json:"dnsoff,omitempty"`	Localrange      string `protobuf:"bytes,25,opt,name=localrange,proto3" json:"localrange,omitempty"`}func (x *Node) Reset() {	*x = Node{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[2]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *Node) String() string {	return protoimpl.X.MessageStringOf(x)}func (*Node) ProtoMessage() {}func (x *Node) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 Node.ProtoReflect.Descriptor instead.func (*Node) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{2}}func (x *Node) GetId() string {	if x != nil {		return x.Id	}	return ""}func (x *Node) GetName() string {	if x != nil {		return x.Name	}	return ""}func (x *Node) GetAddress() string {	if x != nil {		return x.Address	}	return ""}func (x *Node) GetAddress6() string {	if x != nil {		return x.Address6	}	return ""}func (x *Node) GetListenport() int32 {	if x != nil {		return x.Listenport	}	return 0}func (x *Node) GetPublickey() string {	if x != nil {		return x.Publickey	}	return ""}func (x *Node) GetEndpoint() string {	if x != nil {		return x.Endpoint	}	return ""}func (x *Node) GetMacaddress() string {	if x != nil {		return x.Macaddress	}	return ""}func (x *Node) GetPassword() string {	if x != nil {		return x.Password	}	return ""}func (x *Node) GetNodenetwork() string {	if x != nil {		return x.Nodenetwork	}	return ""}func (x *Node) GetIspending() bool {	if x != nil {		return x.Ispending	}	return false}func (x *Node) GetPostup() string {	if x != nil {		return x.Postup	}	return ""}func (x *Node) GetPostdown() string {	if x != nil {		return x.Postdown	}	return ""}func (x *Node) GetKeepalive() int32 {	if x != nil {		return x.Keepalive	}	return 0}func (x *Node) GetSaveconfig() bool {	if x != nil {		return x.Saveconfig	}	return false}func (x *Node) GetAccesskey() string {	if x != nil {		return x.Accesskey	}	return ""}func (x *Node) GetInterface() string {	if x != nil {		return x.Interface	}	return ""}func (x *Node) GetLastcheckin() string {	if x != nil {		return x.Lastcheckin	}	return ""}func (x *Node) GetLastmodified() string {	if x != nil {		return x.Lastmodified	}	return ""}func (x *Node) GetCheckininterval() int32 {	if x != nil {		return x.Checkininterval	}	return 0}func (x *Node) GetLocaladdress() string {	if x != nil {		return x.Localaddress	}	return ""}func (x *Node) GetPostchanges() string {	if x != nil {		return x.Postchanges	}	return ""}func (x *Node) GetAllowedips() string {	if x != nil {		return x.Allowedips	}	return ""}func (x *Node) GetIslocal() bool {	if x != nil {		return x.Islocal	}	return false}func (x *Node) GetIsdualstack() bool {	if x != nil {		return x.Isdualstack	}	return false}func (x *Node) GetDnsoff() bool {	if x != nil {		return x.Dnsoff	}	return false}func (x *Node) GetLocalrange() string {	if x != nil {		return x.Localrange	}	return ""}type CheckInResponse struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Success          bool   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`	Needpeerupdate   bool   `protobuf:"varint,2,opt,name=needpeerupdate,proto3" json:"needpeerupdate,omitempty"`	Needconfigupdate bool   `protobuf:"varint,3,opt,name=needconfigupdate,proto3" json:"needconfigupdate,omitempty"`	Nodemessage      string `protobuf:"bytes,4,opt,name=nodemessage,proto3" json:"nodemessage,omitempty"`	Ispending        bool   `protobuf:"varint,5,opt,name=ispending,proto3" json:"ispending,omitempty"`	Needkeyupdate    bool   `protobuf:"varint,6,opt,name=needkeyupdate,proto3" json:"needkeyupdate,omitempty"`	Needdelete       bool   `protobuf:"varint,7,opt,name=needdelete,proto3" json:"needdelete,omitempty"`}func (x *CheckInResponse) Reset() {	*x = CheckInResponse{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[3]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *CheckInResponse) String() string {	return protoimpl.X.MessageStringOf(x)}func (*CheckInResponse) ProtoMessage() {}func (x *CheckInResponse) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 CheckInResponse.ProtoReflect.Descriptor instead.func (*CheckInResponse) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{3}}func (x *CheckInResponse) GetSuccess() bool {	if x != nil {		return x.Success	}	return false}func (x *CheckInResponse) GetNeedpeerupdate() bool {	if x != nil {		return x.Needpeerupdate	}	return false}func (x *CheckInResponse) GetNeedconfigupdate() bool {	if x != nil {		return x.Needconfigupdate	}	return false}func (x *CheckInResponse) GetNodemessage() string {	if x != nil {		return x.Nodemessage	}	return ""}func (x *CheckInResponse) GetIspending() bool {	if x != nil {		return x.Ispending	}	return false}func (x *CheckInResponse) GetNeedkeyupdate() bool {	if x != nil {		return x.Needkeyupdate	}	return false}func (x *CheckInResponse) GetNeeddelete() bool {	if x != nil {		return x.Needdelete	}	return false}type PeersResponse struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Isgateway    bool   `protobuf:"varint,1,opt,name=isgateway,proto3" json:"isgateway,omitempty"`	Gatewayrange string `protobuf:"bytes,2,opt,name=gatewayrange,proto3" json:"gatewayrange,omitempty"`	Publickey    string `protobuf:"bytes,5,opt,name=publickey,proto3" json:"publickey,omitempty"`	Endpoint     string `protobuf:"bytes,6,opt,name=endpoint,proto3" json:"endpoint,omitempty"`	Address      string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`	Address6     string `protobuf:"bytes,8,opt,name=address6,proto3" json:"address6,omitempty"`	Listenport   int32  `protobuf:"varint,4,opt,name=listenport,proto3" json:"listenport,omitempty"`	Localaddress string `protobuf:"bytes,7,opt,name=localaddress,proto3" json:"localaddress,omitempty"`	Keepalive    int32  `protobuf:"varint,13,opt,name=keepalive,proto3" json:"keepalive,omitempty"`}func (x *PeersResponse) Reset() {	*x = PeersResponse{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[4]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *PeersResponse) String() string {	return protoimpl.X.MessageStringOf(x)}func (*PeersResponse) ProtoMessage() {}func (x *PeersResponse) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 PeersResponse.ProtoReflect.Descriptor instead.func (*PeersResponse) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{4}}func (x *PeersResponse) GetIsgateway() bool {	if x != nil {		return x.Isgateway	}	return false}func (x *PeersResponse) GetGatewayrange() string {	if x != nil {		return x.Gatewayrange	}	return ""}func (x *PeersResponse) GetPublickey() string {	if x != nil {		return x.Publickey	}	return ""}func (x *PeersResponse) GetEndpoint() string {	if x != nil {		return x.Endpoint	}	return ""}func (x *PeersResponse) GetAddress() string {	if x != nil {		return x.Address	}	return ""}func (x *PeersResponse) GetAddress6() string {	if x != nil {		return x.Address6	}	return ""}func (x *PeersResponse) GetListenport() int32 {	if x != nil {		return x.Listenport	}	return 0}func (x *PeersResponse) GetLocaladdress() string {	if x != nil {		return x.Localaddress	}	return ""}func (x *PeersResponse) GetKeepalive() int32 {	if x != nil {		return x.Keepalive	}	return 0}type CreateNodeReq struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // Node id blank}func (x *CreateNodeReq) Reset() {	*x = CreateNodeReq{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[5]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *CreateNodeReq) String() string {	return protoimpl.X.MessageStringOf(x)}func (*CreateNodeReq) ProtoMessage() {}func (x *CreateNodeReq) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 CreateNodeReq.ProtoReflect.Descriptor instead.func (*CreateNodeReq) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{5}}func (x *CreateNodeReq) GetNode() *Node {	if x != nil {		return x.Node	}	return nil}type CreateNodeRes struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` // Node id filled in}func (x *CreateNodeRes) Reset() {	*x = CreateNodeRes{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[6]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *CreateNodeRes) String() string {	return protoimpl.X.MessageStringOf(x)}func (*CreateNodeRes) ProtoMessage() {}func (x *CreateNodeRes) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 CreateNodeRes.ProtoReflect.Descriptor instead.func (*CreateNodeRes) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{6}}func (x *CreateNodeRes) GetNode() *Node {	if x != nil {		return x.Node	}	return nil}type UpdateNodeReq struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`}func (x *UpdateNodeReq) Reset() {	*x = UpdateNodeReq{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[7]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *UpdateNodeReq) String() string {	return protoimpl.X.MessageStringOf(x)}func (*UpdateNodeReq) ProtoMessage() {}func (x *UpdateNodeReq) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 UpdateNodeReq.ProtoReflect.Descriptor instead.func (*UpdateNodeReq) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{7}}func (x *UpdateNodeReq) GetNode() *Node {	if x != nil {		return x.Node	}	return nil}type UpdateNodeRes struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`}func (x *UpdateNodeRes) Reset() {	*x = UpdateNodeRes{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[8]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *UpdateNodeRes) String() string {	return protoimpl.X.MessageStringOf(x)}func (*UpdateNodeRes) ProtoMessage() {}func (x *UpdateNodeRes) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 UpdateNodeRes.ProtoReflect.Descriptor instead.func (*UpdateNodeRes) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{8}}func (x *UpdateNodeRes) GetNode() *Node {	if x != nil {		return x.Node	}	return nil}type ReadNodeReq struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Macaddress string `protobuf:"bytes,1,opt,name=macaddress,proto3" json:"macaddress,omitempty"`	Network    string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"`}func (x *ReadNodeReq) Reset() {	*x = ReadNodeReq{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[9]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *ReadNodeReq) String() string {	return protoimpl.X.MessageStringOf(x)}func (*ReadNodeReq) ProtoMessage() {}func (x *ReadNodeReq) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 ReadNodeReq.ProtoReflect.Descriptor instead.func (*ReadNodeReq) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{9}}func (x *ReadNodeReq) GetMacaddress() string {	if x != nil {		return x.Macaddress	}	return ""}func (x *ReadNodeReq) GetNetwork() string {	if x != nil {		return x.Network	}	return ""}type ReadNodeRes struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`}func (x *ReadNodeRes) Reset() {	*x = ReadNodeRes{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[10]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *ReadNodeRes) String() string {	return protoimpl.X.MessageStringOf(x)}func (*ReadNodeRes) ProtoMessage() {}func (x *ReadNodeRes) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 ReadNodeRes.ProtoReflect.Descriptor instead.func (*ReadNodeRes) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{10}}func (x *ReadNodeRes) GetNode() *Node {	if x != nil {		return x.Node	}	return nil}type DeleteNodeReq struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Macaddress  string `protobuf:"bytes,1,opt,name=macaddress,proto3" json:"macaddress,omitempty"`	NetworkName string `protobuf:"bytes,2,opt,name=networkName,proto3" json:"networkName,omitempty"`}func (x *DeleteNodeReq) Reset() {	*x = DeleteNodeReq{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[11]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *DeleteNodeReq) String() string {	return protoimpl.X.MessageStringOf(x)}func (*DeleteNodeReq) ProtoMessage() {}func (x *DeleteNodeReq) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 DeleteNodeReq.ProtoReflect.Descriptor instead.func (*DeleteNodeReq) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{11}}func (x *DeleteNodeReq) GetMacaddress() string {	if x != nil {		return x.Macaddress	}	return ""}func (x *DeleteNodeReq) GetNetworkName() string {	if x != nil {		return x.NetworkName	}	return ""}type DeleteNodeRes struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`}func (x *DeleteNodeRes) Reset() {	*x = DeleteNodeRes{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[12]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *DeleteNodeRes) String() string {	return protoimpl.X.MessageStringOf(x)}func (*DeleteNodeRes) ProtoMessage() {}func (x *DeleteNodeRes) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 DeleteNodeRes.ProtoReflect.Descriptor instead.func (*DeleteNodeRes) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{12}}func (x *DeleteNodeRes) GetSuccess() bool {	if x != nil {		return x.Success	}	return false}type GetPeersReq struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Macaddress string `protobuf:"bytes,1,opt,name=macaddress,proto3" json:"macaddress,omitempty"`	Network    string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"`}func (x *GetPeersReq) Reset() {	*x = GetPeersReq{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[13]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *GetPeersReq) String() string {	return protoimpl.X.MessageStringOf(x)}func (*GetPeersReq) ProtoMessage() {}func (x *GetPeersReq) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 GetPeersReq.ProtoReflect.Descriptor instead.func (*GetPeersReq) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{13}}func (x *GetPeersReq) GetMacaddress() string {	if x != nil {		return x.Macaddress	}	return ""}func (x *GetPeersReq) GetNetwork() string {	if x != nil {		return x.Network	}	return ""}type GetPeersRes struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Peers *PeersResponse `protobuf:"bytes,1,opt,name=peers,proto3" json:"peers,omitempty"`}func (x *GetPeersRes) Reset() {	*x = GetPeersRes{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[14]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *GetPeersRes) String() string {	return protoimpl.X.MessageStringOf(x)}func (*GetPeersRes) ProtoMessage() {}func (x *GetPeersRes) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 GetPeersRes.ProtoReflect.Descriptor instead.func (*GetPeersRes) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{14}}func (x *GetPeersRes) GetPeers() *PeersResponse {	if x != nil {		return x.Peers	}	return nil}type CheckInReq struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` //   bool postchanges = 2;}func (x *CheckInReq) Reset() {	*x = CheckInReq{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[15]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *CheckInReq) String() string {	return protoimpl.X.MessageStringOf(x)}func (*CheckInReq) ProtoMessage() {}func (x *CheckInReq) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 CheckInReq.ProtoReflect.Descriptor instead.func (*CheckInReq) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{15}}func (x *CheckInReq) GetNode() *Node {	if x != nil {		return x.Node	}	return nil}type CheckInRes struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Checkinresponse *CheckInResponse `protobuf:"bytes,1,opt,name=checkinresponse,proto3" json:"checkinresponse,omitempty"`}func (x *CheckInRes) Reset() {	*x = CheckInRes{}	if protoimpl.UnsafeEnabled {		mi := &file_grpc_node_proto_msgTypes[16]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *CheckInRes) String() string {	return protoimpl.X.MessageStringOf(x)}func (*CheckInRes) ProtoMessage() {}func (x *CheckInRes) ProtoReflect() protoreflect.Message {	mi := &file_grpc_node_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 CheckInRes.ProtoReflect.Descriptor instead.func (*CheckInRes) Descriptor() ([]byte, []int) {	return file_grpc_node_proto_rawDescGZIP(), []int{16}}func (x *CheckInRes) GetCheckinresponse() *CheckInResponse {	if x != nil {		return x.Checkinresponse	}	return nil}var File_grpc_node_proto protoreflect.FileDescriptorvar file_grpc_node_proto_rawDesc = []byte{	0x0a, 0x0f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,	0x6f, 0x12, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x64, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x69, 0x6e,	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x63, 0x61, 0x64,	0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63,	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77,	0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77,	0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x03,	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x31, 0x0a,	0x0d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20,	0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20,	0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x74, 0x6f, 0x6b, 0x65, 0x6e,	0x22, 0xae, 0x06, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a,	0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x64, 0x64, 0x72, 0x65,	0x73, 0x73, 0x36, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x64, 0x64, 0x72, 0x65,	0x73, 0x73, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x70, 0x6f, 0x72,	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x70,	0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x79,	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x6b, 0x65,	0x79, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20,	0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1e, 0x0a,	0x0a, 0x6d, 0x61, 0x63, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28,	0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 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, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64,	0x65, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,	0x6e, 0x6f, 0x64, 0x65, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x69,	0x73, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,	0x69, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73,	0x74, 0x75, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x75,	0x70, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x0c, 0x20,	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x1c, 0x0a,	0x09, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05,	0x52, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73,	0x61, 0x76, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52,	0x0a, 0x73, 0x61, 0x76, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x61,	0x63, 0x63, 0x65, 0x73, 0x73, 0x6b, 0x65, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,	0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74,	0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e,	0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x63,	0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x61,	0x73, 0x74, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x61, 0x73,	0x74, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52,	0x0c, 0x6c, 0x61, 0x73, 0x74, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x28, 0x0a,	0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,	0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x69,	0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c,	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c,	0x6f, 0x63, 0x61, 0x6c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70,	0x6f, 0x73, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09,	0x52, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1e, 0x0a,	0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x69, 0x70, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28,	0x09, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x69, 0x70, 0x73, 0x12, 0x18, 0x0a,	0x07, 0x69, 0x73, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,	0x69, 0x73, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x64, 0x75, 0x61,	0x6c, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73,	0x64, 0x75, 0x61, 0x6c, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6e, 0x73,	0x6f, 0x66, 0x66, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x6e, 0x73, 0x6f, 0x66,	0x66, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18,	0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x72, 0x61, 0x6e, 0x67,	0x65, 0x22, 0x85, 0x02, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x52, 0x65, 0x73,	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,	0x26, 0x0a, 0x0e, 0x6e, 0x65, 0x65, 0x64, 0x70, 0x65, 0x65, 0x72, 0x75, 0x70, 0x64, 0x61, 0x74,	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6e, 0x65, 0x65, 0x64, 0x70, 0x65, 0x65,	0x72, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x63,	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,	0x08, 0x52, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x70, 0x64,	0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x6d, 0x65, 0x73, 0x73, 0x61,	0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x6d, 0x65,	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x69,	0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x70, 0x65, 0x6e, 0x64,	0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x65, 0x65, 0x64, 0x6b, 0x65, 0x79, 0x75, 0x70,	0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x65, 0x65, 0x64,	0x6b, 0x65, 0x79, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x65,	0x64, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6e,	0x65, 0x65, 0x64, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0xa3, 0x02, 0x0a, 0x0d, 0x50, 0x65,	0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69,	0x73, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,	0x69, 0x73, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x61, 0x74,	0x65, 0x77, 0x61, 0x79, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,	0x0c, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, 0x0a,	0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,	0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x65,	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65,	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,	0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,	0x73, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x36, 0x18, 0x08, 0x20,	0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x36, 0x12, 0x1e, 0x0a,	0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,	0x05, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x22, 0x0a,	0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20,	0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,	0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x0d,	0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x22,	0x2f, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71,	0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a,	0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65,	0x22, 0x2f, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65,	0x73, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,	0x0a, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64,	0x65, 0x22, 0x2f, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52,	0x65, 0x71, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,	0x32, 0x0a, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f,	0x64, 0x65, 0x22, 0x2f, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,	0x52, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,	0x0b, 0x32, 0x0a, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e,	0x6f, 0x64, 0x65, 0x22, 0x47, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52,	0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x63, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x61, 0x64, 0x64, 0x72, 0x65,	0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20,	0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x2d, 0x0a, 0x0b,	0x52, 0x65, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x04, 0x6e,	0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x6e, 0x6f, 0x64, 0x65,	0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x51, 0x0a, 0x0d, 0x44,	0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a,	0x6d, 0x61, 0x63, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,	0x52, 0x0a, 0x6d, 0x61, 0x63, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b,	0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,	0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x29,	0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x12,	0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,	0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x47, 0x0a, 0x0b, 0x47, 0x65, 0x74,	0x50, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x63, 0x61,	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61,	0x63, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77,	0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f,	0x72, 0x6b, 0x22, 0x38, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65,	0x73, 0x12, 0x29, 0x0a, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,	0x32, 0x13, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73,	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x22, 0x2c, 0x0a, 0x0a,	0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x6f,	0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e,	0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x4d, 0x0a, 0x0a, 0x43, 0x68,	0x65, 0x63, 0x6b, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0f, 0x63, 0x68, 0x65, 0x63,	0x6b, 0x69, 0x6e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,	0x0b, 0x32, 0x15, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e,	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x69,	0x6e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xfc, 0x02, 0x0a, 0x0b, 0x4e, 0x6f,	0x64, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x4c, 0x6f, 0x67,	0x69, 0x6e, 0x12, 0x12, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52,	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4c, 0x6f,	0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0a, 0x43,	0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x2e, 0x6e, 0x6f, 0x64, 0x65,	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x13,	0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,	0x52, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12,	0x11, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52,	0x65, 0x71, 0x1a, 0x11, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x6f,	0x64, 0x65, 0x52, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,	0x6f, 0x64, 0x65, 0x12, 0x13, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,	0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e,	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x12, 0x36, 0x0a,	0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x2e, 0x6e, 0x6f,	0x64, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71,	0x1a, 0x13, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f,	0x64, 0x65, 0x52, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72,	0x73, 0x12, 0x11, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72,	0x73, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x50,	0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x30, 0x01, 0x12, 0x2d, 0x0a, 0x07, 0x43, 0x68, 0x65,	0x63, 0x6b, 0x49, 0x6e, 0x12, 0x10, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63,	0x6b, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x68,	0x65, 0x63, 0x6b, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x6f, 0x6f, 0x67,	0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72,	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x6b, 0x6e, 0x6f,	0x77, 0x6e, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,	0x33,}var (	file_grpc_node_proto_rawDescOnce sync.Once	file_grpc_node_proto_rawDescData = file_grpc_node_proto_rawDesc)func file_grpc_node_proto_rawDescGZIP() []byte {	file_grpc_node_proto_rawDescOnce.Do(func() {		file_grpc_node_proto_rawDescData = protoimpl.X.CompressGZIP(file_grpc_node_proto_rawDescData)	})	return file_grpc_node_proto_rawDescData}var file_grpc_node_proto_msgTypes = make([]protoimpl.MessageInfo, 17)var file_grpc_node_proto_goTypes = []interface{}{	(*LoginRequest)(nil),    // 0: node.LoginRequest	(*LoginResponse)(nil),   // 1: node.LoginResponse	(*Node)(nil),            // 2: node.Node	(*CheckInResponse)(nil), // 3: node.CheckInResponse	(*PeersResponse)(nil),   // 4: node.PeersResponse	(*CreateNodeReq)(nil),   // 5: node.CreateNodeReq	(*CreateNodeRes)(nil),   // 6: node.CreateNodeRes	(*UpdateNodeReq)(nil),   // 7: node.UpdateNodeReq	(*UpdateNodeRes)(nil),   // 8: node.UpdateNodeRes	(*ReadNodeReq)(nil),     // 9: node.ReadNodeReq	(*ReadNodeRes)(nil),     // 10: node.ReadNodeRes	(*DeleteNodeReq)(nil),   // 11: node.DeleteNodeReq	(*DeleteNodeRes)(nil),   // 12: node.DeleteNodeRes	(*GetPeersReq)(nil),     // 13: node.GetPeersReq	(*GetPeersRes)(nil),     // 14: node.GetPeersRes	(*CheckInReq)(nil),      // 15: node.CheckInReq	(*CheckInRes)(nil),      // 16: node.CheckInRes}var file_grpc_node_proto_depIdxs = []int32{	2,  // 0: node.CreateNodeReq.node:type_name -> node.Node	2,  // 1: node.CreateNodeRes.node:type_name -> node.Node	2,  // 2: node.UpdateNodeReq.node:type_name -> node.Node	2,  // 3: node.UpdateNodeRes.node:type_name -> node.Node	2,  // 4: node.ReadNodeRes.node:type_name -> node.Node	4,  // 5: node.GetPeersRes.peers:type_name -> node.PeersResponse	2,  // 6: node.CheckInReq.node:type_name -> node.Node	3,  // 7: node.CheckInRes.checkinresponse:type_name -> node.CheckInResponse	0,  // 8: node.NodeService.Login:input_type -> node.LoginRequest	5,  // 9: node.NodeService.CreateNode:input_type -> node.CreateNodeReq	9,  // 10: node.NodeService.ReadNode:input_type -> node.ReadNodeReq	7,  // 11: node.NodeService.UpdateNode:input_type -> node.UpdateNodeReq	11, // 12: node.NodeService.DeleteNode:input_type -> node.DeleteNodeReq	13, // 13: node.NodeService.GetPeers:input_type -> node.GetPeersReq	15, // 14: node.NodeService.CheckIn:input_type -> node.CheckInReq	1,  // 15: node.NodeService.Login:output_type -> node.LoginResponse	6,  // 16: node.NodeService.CreateNode:output_type -> node.CreateNodeRes	10, // 17: node.NodeService.ReadNode:output_type -> node.ReadNodeRes	8,  // 18: node.NodeService.UpdateNode:output_type -> node.UpdateNodeRes	12, // 19: node.NodeService.DeleteNode:output_type -> node.DeleteNodeRes	14, // 20: node.NodeService.GetPeers:output_type -> node.GetPeersRes	16, // 21: node.NodeService.CheckIn:output_type -> node.CheckInRes	15, // [15:22] is the sub-list for method output_type	8,  // [8:15] is the sub-list for method input_type	8,  // [8:8] is the sub-list for extension type_name	8,  // [8:8] is the sub-list for extension extendee	0,  // [0:8] is the sub-list for field type_name}func init() { file_grpc_node_proto_init() }func file_grpc_node_proto_init() {	if File_grpc_node_proto != nil {		return	}	if !protoimpl.UnsafeEnabled {		file_grpc_node_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*LoginRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*LoginResponse); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*Node); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*CheckInResponse); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*PeersResponse); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*CreateNodeReq); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*CreateNodeRes); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*UpdateNodeReq); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*UpdateNodeRes); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*ReadNodeReq); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*ReadNodeRes); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*DeleteNodeReq); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*DeleteNodeRes); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*GetPeersReq); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*GetPeersRes); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*CheckInReq); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_grpc_node_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*CheckInRes); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}	}	type x struct{}	out := protoimpl.TypeBuilder{		File: protoimpl.DescBuilder{			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),			RawDescriptor: file_grpc_node_proto_rawDesc,			NumEnums:      0,			NumMessages:   17,			NumExtensions: 0,			NumServices:   1,		},		GoTypes:           file_grpc_node_proto_goTypes,		DependencyIndexes: file_grpc_node_proto_depIdxs,		MessageInfos:      file_grpc_node_proto_msgTypes,	}.Build()	File_grpc_node_proto = out.File	file_grpc_node_proto_rawDesc = nil	file_grpc_node_proto_goTypes = nil	file_grpc_node_proto_depIdxs = nil}
 |