| 
					
				 | 
			
			
				@@ -0,0 +1,307 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Code generated by protoc-gen-go. DO NOT EDIT. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// versions: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 	protoc-gen-go v1.25.0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 	protoc        v3.9.0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// source: rpc.proto 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// option go_package = "google.golang.org/grpc/examples/helloworld/helloworld"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// option java_multiple_files = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// option java_package = "io.grpc.examples.helloworld"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// option java_outer_classname = "HelloWorldProto"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package proto 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	context "context" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	proto "github.com/golang/protobuf/proto" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	grpc "google.golang.org/grpc" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	codes "google.golang.org/grpc/codes" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	status "google.golang.org/grpc/status" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	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) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// This is a compile-time assertion that a sufficiently up-to-date version 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// of the legacy proto package is being used. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const _ = proto.ProtoPackageIsVersion4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// The request message containing the user's name. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+type HelloRequest struct { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	state         protoimpl.MessageState 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	sizeCache     protoimpl.SizeCache 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	unknownFields protoimpl.UnknownFields 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (x *HelloRequest) Reset() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	*x = HelloRequest{} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if protoimpl.UnsafeEnabled { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mi := &file_rpc_proto_msgTypes[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ms.StoreMessageInfo(mi) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (x *HelloRequest) String() string { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return protoimpl.X.MessageStringOf(x) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (*HelloRequest) ProtoMessage() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (x *HelloRequest) ProtoReflect() protoreflect.Message { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	mi := &file_rpc_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 HelloRequest.ProtoReflect.Descriptor instead. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (*HelloRequest) Descriptor() ([]byte, []int) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return file_rpc_proto_rawDescGZIP(), []int{0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (x *HelloRequest) GetName() string { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if x != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return x.Name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// The response message containing the greetings 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+type HelloReply struct { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	state         protoimpl.MessageState 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	sizeCache     protoimpl.SizeCache 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	unknownFields protoimpl.UnknownFields 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (x *HelloReply) Reset() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	*x = HelloReply{} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if protoimpl.UnsafeEnabled { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mi := &file_rpc_proto_msgTypes[1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ms.StoreMessageInfo(mi) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (x *HelloReply) String() string { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return protoimpl.X.MessageStringOf(x) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (*HelloReply) ProtoMessage() {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (x *HelloReply) ProtoReflect() protoreflect.Message { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	mi := &file_rpc_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 HelloReply.ProtoReflect.Descriptor instead. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (*HelloReply) Descriptor() ([]byte, []int) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return file_rpc_proto_rawDescGZIP(), []int{1} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (x *HelloReply) GetMessage() string { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if x != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return x.Message 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var File_rpc_proto protoreflect.FileDescriptor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var file_rpc_proto_rawDesc = []byte{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0x0a, 0x09, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0x74, 0x6f, 0x22, 0x22, 0x0a, 0x0c, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x26, 0x0a, 0x0a, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x52, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x3f, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0x0a, 0x07, 0x47, 0x72, 0x65, 0x65, 0x74, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x08, 0x53, 0x61, 0x79, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0x6c, 0x6c, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x70, 0x72, 0x6f, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0x74, 0x6f, 0x2e, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x62, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	file_rpc_proto_rawDescOnce sync.Once 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	file_rpc_proto_rawDescData = file_rpc_proto_rawDesc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func file_rpc_proto_rawDescGZIP() []byte { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	file_rpc_proto_rawDescOnce.Do(func() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		file_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_proto_rawDescData) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return file_rpc_proto_rawDescData 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var file_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var file_rpc_proto_goTypes = []interface{}{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(*HelloRequest)(nil), // 0: proto.HelloRequest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	(*HelloReply)(nil),   // 1: proto.HelloReply 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var file_rpc_proto_depIdxs = []int32{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0, // 0: proto.Greeter.SayHello:input_type -> proto.HelloRequest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	1, // 1: proto.Greeter.SayHello:output_type -> proto.HelloReply 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	1, // [1:2] is the sub-list for method output_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0, // [0:1] is the sub-list for method input_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0, // [0:0] is the sub-list for extension type_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0, // [0:0] is the sub-list for extension extendee 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	0, // [0:0] is the sub-list for field type_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func init() { file_rpc_proto_init() } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func file_rpc_proto_init() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if File_rpc_proto != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if !protoimpl.UnsafeEnabled { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		file_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			switch v := v.(*HelloRequest); i { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return &v.state 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case 1: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return &v.sizeCache 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case 2: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return &v.unknownFields 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		file_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			switch v := v.(*HelloReply); 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_rpc_proto_rawDesc, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			NumEnums:      0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			NumMessages:   2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			NumExtensions: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			NumServices:   1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		GoTypes:           file_rpc_proto_goTypes, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		DependencyIndexes: file_rpc_proto_depIdxs, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		MessageInfos:      file_rpc_proto_msgTypes, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}.Build() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	File_rpc_proto = out.File 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	file_rpc_proto_rawDesc = nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	file_rpc_proto_goTypes = nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	file_rpc_proto_depIdxs = nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Reference imports to suppress errors if they are not otherwise used. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var _ context.Context 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var _ grpc.ClientConnInterface 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// This is a compile-time assertion to ensure that this generated file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// is compatible with the grpc package it is being compiled against. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const _ = grpc.SupportPackageIsVersion6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// GreeterClient is the client API for Greeter service. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+type GreeterClient interface { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// Sends a greeting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*HelloReply, error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+type greeterClient struct { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	cc grpc.ClientConnInterface 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func NewGreeterClient(cc grpc.ClientConnInterface) GreeterClient { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return &greeterClient{cc} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*HelloReply, error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	out := new(HelloReply) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	err := c.cc.Invoke(ctx, "/proto.Greeter/SayHello", in, out, opts...) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return nil, err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return out, nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// GreeterServer is the server API for Greeter service. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+type GreeterServer interface { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// Sends a greeting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	SayHello(context.Context, *HelloRequest) (*HelloReply, error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// UnimplementedGreeterServer can be embedded to have forward compatible implementations. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+type UnimplementedGreeterServer struct { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (*UnimplementedGreeterServer) SayHello(context.Context, *HelloRequest) (*HelloReply, error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return nil, status.Errorf(codes.Unimplemented, "method SayHello not implemented") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	s.RegisterService(&_Greeter_serviceDesc, srv) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	in := new(HelloRequest) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err := dec(in); err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return nil, err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if interceptor == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return srv.(GreeterServer).SayHello(ctx, in) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	info := &grpc.UnaryServerInfo{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Server:     srv, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		FullMethod: "/proto.Greeter/SayHello", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	handler := func(ctx context.Context, req interface{}) (interface{}, error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return srv.(GreeterServer).SayHello(ctx, req.(*HelloRequest)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return interceptor(ctx, in, info, handler) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var _Greeter_serviceDesc = grpc.ServiceDesc{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ServiceName: "proto.Greeter", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	HandlerType: (*GreeterServer)(nil), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Methods: []grpc.MethodDesc{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			MethodName: "SayHello", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Handler:    _Greeter_SayHello_Handler, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Streams:  []grpc.StreamDesc{}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Metadata: "rpc.proto", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |