github.com/emcfarlane/larking@v0.0.0-20220605172417-1704b45ee6c3/testpb/test_grpc.pb.go (about)

     1  // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
     2  
     3  package testpb
     4  
     5  import (
     6  	context "context"
     7  	httpbody "google.golang.org/genproto/googleapis/api/httpbody"
     8  	grpc "google.golang.org/grpc"
     9  	codes "google.golang.org/grpc/codes"
    10  	status "google.golang.org/grpc/status"
    11  	emptypb "google.golang.org/protobuf/types/known/emptypb"
    12  )
    13  
    14  // This is a compile-time assertion to ensure that this generated file
    15  // is compatible with the grpc package it is being compiled against.
    16  // Requires gRPC-Go v1.32.0 or later.
    17  const _ = grpc.SupportPackageIsVersion7
    18  
    19  // MessagingClient is the client API for Messaging service.
    20  //
    21  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
    22  type MessagingClient interface {
    23  	// HTTP | gRPC
    24  	// -----|-----
    25  	// `GET /v1/messages/123456`  | `GetMessageOne(name: "messages/123456")`
    26  	GetMessageOne(ctx context.Context, in *GetMessageRequestOne, opts ...grpc.CallOption) (*Message, error)
    27  	// HTTP | gRPC
    28  	// -----|-----
    29  	// `GET /v1/messages/123456?revision=2&sub.subfield=foo` |
    30  	// `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield:
    31  	// "foo"))`
    32  	// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id:
    33  	// "123456")`
    34  	GetMessageTwo(ctx context.Context, in *GetMessageRequestTwo, opts ...grpc.CallOption) (*Message, error)
    35  	// HTTP | gRPC
    36  	// -----|-----
    37  	// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
    38  	// "123456" message { text: "Hi!" })`
    39  	UpdateMessage(ctx context.Context, in *UpdateMessageRequestOne, opts ...grpc.CallOption) (*Message, error)
    40  	// HTTP | gRPC
    41  	// -----|-----
    42  	// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
    43  	// "123456" text: "Hi!")`
    44  	UpdateMessageBody(ctx context.Context, in *Message, opts ...grpc.CallOption) (*Message, error)
    45  	Action(ctx context.Context, in *Message, opts ...grpc.CallOption) (*emptypb.Empty, error)
    46  	ActionSegment(ctx context.Context, in *Message, opts ...grpc.CallOption) (*emptypb.Empty, error)
    47  	ActionResource(ctx context.Context, in *Message, opts ...grpc.CallOption) (*emptypb.Empty, error)
    48  	ActionSegments(ctx context.Context, in *Message, opts ...grpc.CallOption) (*emptypb.Empty, error)
    49  	BatchGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
    50  	VariableOne(ctx context.Context, in *Message, opts ...grpc.CallOption) (*emptypb.Empty, error)
    51  	VariableTwo(ctx context.Context, in *Message, opts ...grpc.CallOption) (*emptypb.Empty, error)
    52  	GetShelf(ctx context.Context, in *GetShelfRequest, opts ...grpc.CallOption) (*Shelf, error)
    53  	GetBook(ctx context.Context, in *GetBookRequest, opts ...grpc.CallOption) (*Book, error)
    54  	CreateBook(ctx context.Context, in *CreateBookRequest, opts ...grpc.CallOption) (*Book, error)
    55  	UpdateBook(ctx context.Context, in *UpdateBookRequest, opts ...grpc.CallOption) (*Book, error)
    56  }
    57  
    58  type messagingClient struct {
    59  	cc grpc.ClientConnInterface
    60  }
    61  
    62  func NewMessagingClient(cc grpc.ClientConnInterface) MessagingClient {
    63  	return &messagingClient{cc}
    64  }
    65  
    66  func (c *messagingClient) GetMessageOne(ctx context.Context, in *GetMessageRequestOne, opts ...grpc.CallOption) (*Message, error) {
    67  	out := new(Message)
    68  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/GetMessageOne", in, out, opts...)
    69  	if err != nil {
    70  		return nil, err
    71  	}
    72  	return out, nil
    73  }
    74  
    75  func (c *messagingClient) GetMessageTwo(ctx context.Context, in *GetMessageRequestTwo, opts ...grpc.CallOption) (*Message, error) {
    76  	out := new(Message)
    77  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/GetMessageTwo", in, out, opts...)
    78  	if err != nil {
    79  		return nil, err
    80  	}
    81  	return out, nil
    82  }
    83  
    84  func (c *messagingClient) UpdateMessage(ctx context.Context, in *UpdateMessageRequestOne, opts ...grpc.CallOption) (*Message, error) {
    85  	out := new(Message)
    86  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/UpdateMessage", in, out, opts...)
    87  	if err != nil {
    88  		return nil, err
    89  	}
    90  	return out, nil
    91  }
    92  
    93  func (c *messagingClient) UpdateMessageBody(ctx context.Context, in *Message, opts ...grpc.CallOption) (*Message, error) {
    94  	out := new(Message)
    95  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/UpdateMessageBody", in, out, opts...)
    96  	if err != nil {
    97  		return nil, err
    98  	}
    99  	return out, nil
   100  }
   101  
   102  func (c *messagingClient) Action(ctx context.Context, in *Message, opts ...grpc.CallOption) (*emptypb.Empty, error) {
   103  	out := new(emptypb.Empty)
   104  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/Action", in, out, opts...)
   105  	if err != nil {
   106  		return nil, err
   107  	}
   108  	return out, nil
   109  }
   110  
   111  func (c *messagingClient) ActionSegment(ctx context.Context, in *Message, opts ...grpc.CallOption) (*emptypb.Empty, error) {
   112  	out := new(emptypb.Empty)
   113  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/ActionSegment", in, out, opts...)
   114  	if err != nil {
   115  		return nil, err
   116  	}
   117  	return out, nil
   118  }
   119  
   120  func (c *messagingClient) ActionResource(ctx context.Context, in *Message, opts ...grpc.CallOption) (*emptypb.Empty, error) {
   121  	out := new(emptypb.Empty)
   122  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/ActionResource", in, out, opts...)
   123  	if err != nil {
   124  		return nil, err
   125  	}
   126  	return out, nil
   127  }
   128  
   129  func (c *messagingClient) ActionSegments(ctx context.Context, in *Message, opts ...grpc.CallOption) (*emptypb.Empty, error) {
   130  	out := new(emptypb.Empty)
   131  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/ActionSegments", in, out, opts...)
   132  	if err != nil {
   133  		return nil, err
   134  	}
   135  	return out, nil
   136  }
   137  
   138  func (c *messagingClient) BatchGet(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) {
   139  	out := new(emptypb.Empty)
   140  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/BatchGet", in, out, opts...)
   141  	if err != nil {
   142  		return nil, err
   143  	}
   144  	return out, nil
   145  }
   146  
   147  func (c *messagingClient) VariableOne(ctx context.Context, in *Message, opts ...grpc.CallOption) (*emptypb.Empty, error) {
   148  	out := new(emptypb.Empty)
   149  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/VariableOne", in, out, opts...)
   150  	if err != nil {
   151  		return nil, err
   152  	}
   153  	return out, nil
   154  }
   155  
   156  func (c *messagingClient) VariableTwo(ctx context.Context, in *Message, opts ...grpc.CallOption) (*emptypb.Empty, error) {
   157  	out := new(emptypb.Empty)
   158  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/VariableTwo", in, out, opts...)
   159  	if err != nil {
   160  		return nil, err
   161  	}
   162  	return out, nil
   163  }
   164  
   165  func (c *messagingClient) GetShelf(ctx context.Context, in *GetShelfRequest, opts ...grpc.CallOption) (*Shelf, error) {
   166  	out := new(Shelf)
   167  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/GetShelf", in, out, opts...)
   168  	if err != nil {
   169  		return nil, err
   170  	}
   171  	return out, nil
   172  }
   173  
   174  func (c *messagingClient) GetBook(ctx context.Context, in *GetBookRequest, opts ...grpc.CallOption) (*Book, error) {
   175  	out := new(Book)
   176  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/GetBook", in, out, opts...)
   177  	if err != nil {
   178  		return nil, err
   179  	}
   180  	return out, nil
   181  }
   182  
   183  func (c *messagingClient) CreateBook(ctx context.Context, in *CreateBookRequest, opts ...grpc.CallOption) (*Book, error) {
   184  	out := new(Book)
   185  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/CreateBook", in, out, opts...)
   186  	if err != nil {
   187  		return nil, err
   188  	}
   189  	return out, nil
   190  }
   191  
   192  func (c *messagingClient) UpdateBook(ctx context.Context, in *UpdateBookRequest, opts ...grpc.CallOption) (*Book, error) {
   193  	out := new(Book)
   194  	err := c.cc.Invoke(ctx, "/larking.testpb.Messaging/UpdateBook", in, out, opts...)
   195  	if err != nil {
   196  		return nil, err
   197  	}
   198  	return out, nil
   199  }
   200  
   201  // MessagingServer is the server API for Messaging service.
   202  // All implementations must embed UnimplementedMessagingServer
   203  // for forward compatibility
   204  type MessagingServer interface {
   205  	// HTTP | gRPC
   206  	// -----|-----
   207  	// `GET /v1/messages/123456`  | `GetMessageOne(name: "messages/123456")`
   208  	GetMessageOne(context.Context, *GetMessageRequestOne) (*Message, error)
   209  	// HTTP | gRPC
   210  	// -----|-----
   211  	// `GET /v1/messages/123456?revision=2&sub.subfield=foo` |
   212  	// `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield:
   213  	// "foo"))`
   214  	// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id:
   215  	// "123456")`
   216  	GetMessageTwo(context.Context, *GetMessageRequestTwo) (*Message, error)
   217  	// HTTP | gRPC
   218  	// -----|-----
   219  	// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
   220  	// "123456" message { text: "Hi!" })`
   221  	UpdateMessage(context.Context, *UpdateMessageRequestOne) (*Message, error)
   222  	// HTTP | gRPC
   223  	// -----|-----
   224  	// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
   225  	// "123456" text: "Hi!")`
   226  	UpdateMessageBody(context.Context, *Message) (*Message, error)
   227  	Action(context.Context, *Message) (*emptypb.Empty, error)
   228  	ActionSegment(context.Context, *Message) (*emptypb.Empty, error)
   229  	ActionResource(context.Context, *Message) (*emptypb.Empty, error)
   230  	ActionSegments(context.Context, *Message) (*emptypb.Empty, error)
   231  	BatchGet(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
   232  	VariableOne(context.Context, *Message) (*emptypb.Empty, error)
   233  	VariableTwo(context.Context, *Message) (*emptypb.Empty, error)
   234  	GetShelf(context.Context, *GetShelfRequest) (*Shelf, error)
   235  	GetBook(context.Context, *GetBookRequest) (*Book, error)
   236  	CreateBook(context.Context, *CreateBookRequest) (*Book, error)
   237  	UpdateBook(context.Context, *UpdateBookRequest) (*Book, error)
   238  	mustEmbedUnimplementedMessagingServer()
   239  }
   240  
   241  // UnimplementedMessagingServer must be embedded to have forward compatible implementations.
   242  type UnimplementedMessagingServer struct {
   243  }
   244  
   245  func (UnimplementedMessagingServer) GetMessageOne(context.Context, *GetMessageRequestOne) (*Message, error) {
   246  	return nil, status.Errorf(codes.Unimplemented, "method GetMessageOne not implemented")
   247  }
   248  func (UnimplementedMessagingServer) GetMessageTwo(context.Context, *GetMessageRequestTwo) (*Message, error) {
   249  	return nil, status.Errorf(codes.Unimplemented, "method GetMessageTwo not implemented")
   250  }
   251  func (UnimplementedMessagingServer) UpdateMessage(context.Context, *UpdateMessageRequestOne) (*Message, error) {
   252  	return nil, status.Errorf(codes.Unimplemented, "method UpdateMessage not implemented")
   253  }
   254  func (UnimplementedMessagingServer) UpdateMessageBody(context.Context, *Message) (*Message, error) {
   255  	return nil, status.Errorf(codes.Unimplemented, "method UpdateMessageBody not implemented")
   256  }
   257  func (UnimplementedMessagingServer) Action(context.Context, *Message) (*emptypb.Empty, error) {
   258  	return nil, status.Errorf(codes.Unimplemented, "method Action not implemented")
   259  }
   260  func (UnimplementedMessagingServer) ActionSegment(context.Context, *Message) (*emptypb.Empty, error) {
   261  	return nil, status.Errorf(codes.Unimplemented, "method ActionSegment not implemented")
   262  }
   263  func (UnimplementedMessagingServer) ActionResource(context.Context, *Message) (*emptypb.Empty, error) {
   264  	return nil, status.Errorf(codes.Unimplemented, "method ActionResource not implemented")
   265  }
   266  func (UnimplementedMessagingServer) ActionSegments(context.Context, *Message) (*emptypb.Empty, error) {
   267  	return nil, status.Errorf(codes.Unimplemented, "method ActionSegments not implemented")
   268  }
   269  func (UnimplementedMessagingServer) BatchGet(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
   270  	return nil, status.Errorf(codes.Unimplemented, "method BatchGet not implemented")
   271  }
   272  func (UnimplementedMessagingServer) VariableOne(context.Context, *Message) (*emptypb.Empty, error) {
   273  	return nil, status.Errorf(codes.Unimplemented, "method VariableOne not implemented")
   274  }
   275  func (UnimplementedMessagingServer) VariableTwo(context.Context, *Message) (*emptypb.Empty, error) {
   276  	return nil, status.Errorf(codes.Unimplemented, "method VariableTwo not implemented")
   277  }
   278  func (UnimplementedMessagingServer) GetShelf(context.Context, *GetShelfRequest) (*Shelf, error) {
   279  	return nil, status.Errorf(codes.Unimplemented, "method GetShelf not implemented")
   280  }
   281  func (UnimplementedMessagingServer) GetBook(context.Context, *GetBookRequest) (*Book, error) {
   282  	return nil, status.Errorf(codes.Unimplemented, "method GetBook not implemented")
   283  }
   284  func (UnimplementedMessagingServer) CreateBook(context.Context, *CreateBookRequest) (*Book, error) {
   285  	return nil, status.Errorf(codes.Unimplemented, "method CreateBook not implemented")
   286  }
   287  func (UnimplementedMessagingServer) UpdateBook(context.Context, *UpdateBookRequest) (*Book, error) {
   288  	return nil, status.Errorf(codes.Unimplemented, "method UpdateBook not implemented")
   289  }
   290  func (UnimplementedMessagingServer) mustEmbedUnimplementedMessagingServer() {}
   291  
   292  // UnsafeMessagingServer may be embedded to opt out of forward compatibility for this service.
   293  // Use of this interface is not recommended, as added methods to MessagingServer will
   294  // result in compilation errors.
   295  type UnsafeMessagingServer interface {
   296  	mustEmbedUnimplementedMessagingServer()
   297  }
   298  
   299  func RegisterMessagingServer(s grpc.ServiceRegistrar, srv MessagingServer) {
   300  	s.RegisterService(&Messaging_ServiceDesc, srv)
   301  }
   302  
   303  func _Messaging_GetMessageOne_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   304  	in := new(GetMessageRequestOne)
   305  	if err := dec(in); err != nil {
   306  		return nil, err
   307  	}
   308  	if interceptor == nil {
   309  		return srv.(MessagingServer).GetMessageOne(ctx, in)
   310  	}
   311  	info := &grpc.UnaryServerInfo{
   312  		Server:     srv,
   313  		FullMethod: "/larking.testpb.Messaging/GetMessageOne",
   314  	}
   315  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   316  		return srv.(MessagingServer).GetMessageOne(ctx, req.(*GetMessageRequestOne))
   317  	}
   318  	return interceptor(ctx, in, info, handler)
   319  }
   320  
   321  func _Messaging_GetMessageTwo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   322  	in := new(GetMessageRequestTwo)
   323  	if err := dec(in); err != nil {
   324  		return nil, err
   325  	}
   326  	if interceptor == nil {
   327  		return srv.(MessagingServer).GetMessageTwo(ctx, in)
   328  	}
   329  	info := &grpc.UnaryServerInfo{
   330  		Server:     srv,
   331  		FullMethod: "/larking.testpb.Messaging/GetMessageTwo",
   332  	}
   333  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   334  		return srv.(MessagingServer).GetMessageTwo(ctx, req.(*GetMessageRequestTwo))
   335  	}
   336  	return interceptor(ctx, in, info, handler)
   337  }
   338  
   339  func _Messaging_UpdateMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   340  	in := new(UpdateMessageRequestOne)
   341  	if err := dec(in); err != nil {
   342  		return nil, err
   343  	}
   344  	if interceptor == nil {
   345  		return srv.(MessagingServer).UpdateMessage(ctx, in)
   346  	}
   347  	info := &grpc.UnaryServerInfo{
   348  		Server:     srv,
   349  		FullMethod: "/larking.testpb.Messaging/UpdateMessage",
   350  	}
   351  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   352  		return srv.(MessagingServer).UpdateMessage(ctx, req.(*UpdateMessageRequestOne))
   353  	}
   354  	return interceptor(ctx, in, info, handler)
   355  }
   356  
   357  func _Messaging_UpdateMessageBody_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   358  	in := new(Message)
   359  	if err := dec(in); err != nil {
   360  		return nil, err
   361  	}
   362  	if interceptor == nil {
   363  		return srv.(MessagingServer).UpdateMessageBody(ctx, in)
   364  	}
   365  	info := &grpc.UnaryServerInfo{
   366  		Server:     srv,
   367  		FullMethod: "/larking.testpb.Messaging/UpdateMessageBody",
   368  	}
   369  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   370  		return srv.(MessagingServer).UpdateMessageBody(ctx, req.(*Message))
   371  	}
   372  	return interceptor(ctx, in, info, handler)
   373  }
   374  
   375  func _Messaging_Action_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   376  	in := new(Message)
   377  	if err := dec(in); err != nil {
   378  		return nil, err
   379  	}
   380  	if interceptor == nil {
   381  		return srv.(MessagingServer).Action(ctx, in)
   382  	}
   383  	info := &grpc.UnaryServerInfo{
   384  		Server:     srv,
   385  		FullMethod: "/larking.testpb.Messaging/Action",
   386  	}
   387  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   388  		return srv.(MessagingServer).Action(ctx, req.(*Message))
   389  	}
   390  	return interceptor(ctx, in, info, handler)
   391  }
   392  
   393  func _Messaging_ActionSegment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   394  	in := new(Message)
   395  	if err := dec(in); err != nil {
   396  		return nil, err
   397  	}
   398  	if interceptor == nil {
   399  		return srv.(MessagingServer).ActionSegment(ctx, in)
   400  	}
   401  	info := &grpc.UnaryServerInfo{
   402  		Server:     srv,
   403  		FullMethod: "/larking.testpb.Messaging/ActionSegment",
   404  	}
   405  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   406  		return srv.(MessagingServer).ActionSegment(ctx, req.(*Message))
   407  	}
   408  	return interceptor(ctx, in, info, handler)
   409  }
   410  
   411  func _Messaging_ActionResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   412  	in := new(Message)
   413  	if err := dec(in); err != nil {
   414  		return nil, err
   415  	}
   416  	if interceptor == nil {
   417  		return srv.(MessagingServer).ActionResource(ctx, in)
   418  	}
   419  	info := &grpc.UnaryServerInfo{
   420  		Server:     srv,
   421  		FullMethod: "/larking.testpb.Messaging/ActionResource",
   422  	}
   423  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   424  		return srv.(MessagingServer).ActionResource(ctx, req.(*Message))
   425  	}
   426  	return interceptor(ctx, in, info, handler)
   427  }
   428  
   429  func _Messaging_ActionSegments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   430  	in := new(Message)
   431  	if err := dec(in); err != nil {
   432  		return nil, err
   433  	}
   434  	if interceptor == nil {
   435  		return srv.(MessagingServer).ActionSegments(ctx, in)
   436  	}
   437  	info := &grpc.UnaryServerInfo{
   438  		Server:     srv,
   439  		FullMethod: "/larking.testpb.Messaging/ActionSegments",
   440  	}
   441  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   442  		return srv.(MessagingServer).ActionSegments(ctx, req.(*Message))
   443  	}
   444  	return interceptor(ctx, in, info, handler)
   445  }
   446  
   447  func _Messaging_BatchGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   448  	in := new(emptypb.Empty)
   449  	if err := dec(in); err != nil {
   450  		return nil, err
   451  	}
   452  	if interceptor == nil {
   453  		return srv.(MessagingServer).BatchGet(ctx, in)
   454  	}
   455  	info := &grpc.UnaryServerInfo{
   456  		Server:     srv,
   457  		FullMethod: "/larking.testpb.Messaging/BatchGet",
   458  	}
   459  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   460  		return srv.(MessagingServer).BatchGet(ctx, req.(*emptypb.Empty))
   461  	}
   462  	return interceptor(ctx, in, info, handler)
   463  }
   464  
   465  func _Messaging_VariableOne_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   466  	in := new(Message)
   467  	if err := dec(in); err != nil {
   468  		return nil, err
   469  	}
   470  	if interceptor == nil {
   471  		return srv.(MessagingServer).VariableOne(ctx, in)
   472  	}
   473  	info := &grpc.UnaryServerInfo{
   474  		Server:     srv,
   475  		FullMethod: "/larking.testpb.Messaging/VariableOne",
   476  	}
   477  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   478  		return srv.(MessagingServer).VariableOne(ctx, req.(*Message))
   479  	}
   480  	return interceptor(ctx, in, info, handler)
   481  }
   482  
   483  func _Messaging_VariableTwo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   484  	in := new(Message)
   485  	if err := dec(in); err != nil {
   486  		return nil, err
   487  	}
   488  	if interceptor == nil {
   489  		return srv.(MessagingServer).VariableTwo(ctx, in)
   490  	}
   491  	info := &grpc.UnaryServerInfo{
   492  		Server:     srv,
   493  		FullMethod: "/larking.testpb.Messaging/VariableTwo",
   494  	}
   495  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   496  		return srv.(MessagingServer).VariableTwo(ctx, req.(*Message))
   497  	}
   498  	return interceptor(ctx, in, info, handler)
   499  }
   500  
   501  func _Messaging_GetShelf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   502  	in := new(GetShelfRequest)
   503  	if err := dec(in); err != nil {
   504  		return nil, err
   505  	}
   506  	if interceptor == nil {
   507  		return srv.(MessagingServer).GetShelf(ctx, in)
   508  	}
   509  	info := &grpc.UnaryServerInfo{
   510  		Server:     srv,
   511  		FullMethod: "/larking.testpb.Messaging/GetShelf",
   512  	}
   513  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   514  		return srv.(MessagingServer).GetShelf(ctx, req.(*GetShelfRequest))
   515  	}
   516  	return interceptor(ctx, in, info, handler)
   517  }
   518  
   519  func _Messaging_GetBook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   520  	in := new(GetBookRequest)
   521  	if err := dec(in); err != nil {
   522  		return nil, err
   523  	}
   524  	if interceptor == nil {
   525  		return srv.(MessagingServer).GetBook(ctx, in)
   526  	}
   527  	info := &grpc.UnaryServerInfo{
   528  		Server:     srv,
   529  		FullMethod: "/larking.testpb.Messaging/GetBook",
   530  	}
   531  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   532  		return srv.(MessagingServer).GetBook(ctx, req.(*GetBookRequest))
   533  	}
   534  	return interceptor(ctx, in, info, handler)
   535  }
   536  
   537  func _Messaging_CreateBook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   538  	in := new(CreateBookRequest)
   539  	if err := dec(in); err != nil {
   540  		return nil, err
   541  	}
   542  	if interceptor == nil {
   543  		return srv.(MessagingServer).CreateBook(ctx, in)
   544  	}
   545  	info := &grpc.UnaryServerInfo{
   546  		Server:     srv,
   547  		FullMethod: "/larking.testpb.Messaging/CreateBook",
   548  	}
   549  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   550  		return srv.(MessagingServer).CreateBook(ctx, req.(*CreateBookRequest))
   551  	}
   552  	return interceptor(ctx, in, info, handler)
   553  }
   554  
   555  func _Messaging_UpdateBook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   556  	in := new(UpdateBookRequest)
   557  	if err := dec(in); err != nil {
   558  		return nil, err
   559  	}
   560  	if interceptor == nil {
   561  		return srv.(MessagingServer).UpdateBook(ctx, in)
   562  	}
   563  	info := &grpc.UnaryServerInfo{
   564  		Server:     srv,
   565  		FullMethod: "/larking.testpb.Messaging/UpdateBook",
   566  	}
   567  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   568  		return srv.(MessagingServer).UpdateBook(ctx, req.(*UpdateBookRequest))
   569  	}
   570  	return interceptor(ctx, in, info, handler)
   571  }
   572  
   573  // Messaging_ServiceDesc is the grpc.ServiceDesc for Messaging service.
   574  // It's only intended for direct use with grpc.RegisterService,
   575  // and not to be introspected or modified (even as a copy)
   576  var Messaging_ServiceDesc = grpc.ServiceDesc{
   577  	ServiceName: "larking.testpb.Messaging",
   578  	HandlerType: (*MessagingServer)(nil),
   579  	Methods: []grpc.MethodDesc{
   580  		{
   581  			MethodName: "GetMessageOne",
   582  			Handler:    _Messaging_GetMessageOne_Handler,
   583  		},
   584  		{
   585  			MethodName: "GetMessageTwo",
   586  			Handler:    _Messaging_GetMessageTwo_Handler,
   587  		},
   588  		{
   589  			MethodName: "UpdateMessage",
   590  			Handler:    _Messaging_UpdateMessage_Handler,
   591  		},
   592  		{
   593  			MethodName: "UpdateMessageBody",
   594  			Handler:    _Messaging_UpdateMessageBody_Handler,
   595  		},
   596  		{
   597  			MethodName: "Action",
   598  			Handler:    _Messaging_Action_Handler,
   599  		},
   600  		{
   601  			MethodName: "ActionSegment",
   602  			Handler:    _Messaging_ActionSegment_Handler,
   603  		},
   604  		{
   605  			MethodName: "ActionResource",
   606  			Handler:    _Messaging_ActionResource_Handler,
   607  		},
   608  		{
   609  			MethodName: "ActionSegments",
   610  			Handler:    _Messaging_ActionSegments_Handler,
   611  		},
   612  		{
   613  			MethodName: "BatchGet",
   614  			Handler:    _Messaging_BatchGet_Handler,
   615  		},
   616  		{
   617  			MethodName: "VariableOne",
   618  			Handler:    _Messaging_VariableOne_Handler,
   619  		},
   620  		{
   621  			MethodName: "VariableTwo",
   622  			Handler:    _Messaging_VariableTwo_Handler,
   623  		},
   624  		{
   625  			MethodName: "GetShelf",
   626  			Handler:    _Messaging_GetShelf_Handler,
   627  		},
   628  		{
   629  			MethodName: "GetBook",
   630  			Handler:    _Messaging_GetBook_Handler,
   631  		},
   632  		{
   633  			MethodName: "CreateBook",
   634  			Handler:    _Messaging_CreateBook_Handler,
   635  		},
   636  		{
   637  			MethodName: "UpdateBook",
   638  			Handler:    _Messaging_UpdateBook_Handler,
   639  		},
   640  	},
   641  	Streams:  []grpc.StreamDesc{},
   642  	Metadata: "testpb/test.proto",
   643  }
   644  
   645  // FilesClient is the client API for Files service.
   646  //
   647  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
   648  type FilesClient interface {
   649  	// HTTP | gRPC
   650  	// -----|-----
   651  	// `POST /files/cat.jpg <body>` | `UploadDownload(filename: "cat.jpg", file:
   652  	// { content_type: "image/jpeg", data: <body>})"`
   653  	UploadDownload(ctx context.Context, in *UploadFileRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error)
   654  	LargeUploadDownload(ctx context.Context, opts ...grpc.CallOption) (Files_LargeUploadDownloadClient, error)
   655  }
   656  
   657  type filesClient struct {
   658  	cc grpc.ClientConnInterface
   659  }
   660  
   661  func NewFilesClient(cc grpc.ClientConnInterface) FilesClient {
   662  	return &filesClient{cc}
   663  }
   664  
   665  func (c *filesClient) UploadDownload(ctx context.Context, in *UploadFileRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) {
   666  	out := new(httpbody.HttpBody)
   667  	err := c.cc.Invoke(ctx, "/larking.testpb.Files/UploadDownload", in, out, opts...)
   668  	if err != nil {
   669  		return nil, err
   670  	}
   671  	return out, nil
   672  }
   673  
   674  func (c *filesClient) LargeUploadDownload(ctx context.Context, opts ...grpc.CallOption) (Files_LargeUploadDownloadClient, error) {
   675  	stream, err := c.cc.NewStream(ctx, &Files_ServiceDesc.Streams[0], "/larking.testpb.Files/LargeUploadDownload", opts...)
   676  	if err != nil {
   677  		return nil, err
   678  	}
   679  	x := &filesLargeUploadDownloadClient{stream}
   680  	return x, nil
   681  }
   682  
   683  type Files_LargeUploadDownloadClient interface {
   684  	Send(*UploadFileRequest) error
   685  	Recv() (*httpbody.HttpBody, error)
   686  	grpc.ClientStream
   687  }
   688  
   689  type filesLargeUploadDownloadClient struct {
   690  	grpc.ClientStream
   691  }
   692  
   693  func (x *filesLargeUploadDownloadClient) Send(m *UploadFileRequest) error {
   694  	return x.ClientStream.SendMsg(m)
   695  }
   696  
   697  func (x *filesLargeUploadDownloadClient) Recv() (*httpbody.HttpBody, error) {
   698  	m := new(httpbody.HttpBody)
   699  	if err := x.ClientStream.RecvMsg(m); err != nil {
   700  		return nil, err
   701  	}
   702  	return m, nil
   703  }
   704  
   705  // FilesServer is the server API for Files service.
   706  // All implementations must embed UnimplementedFilesServer
   707  // for forward compatibility
   708  type FilesServer interface {
   709  	// HTTP | gRPC
   710  	// -----|-----
   711  	// `POST /files/cat.jpg <body>` | `UploadDownload(filename: "cat.jpg", file:
   712  	// { content_type: "image/jpeg", data: <body>})"`
   713  	UploadDownload(context.Context, *UploadFileRequest) (*httpbody.HttpBody, error)
   714  	LargeUploadDownload(Files_LargeUploadDownloadServer) error
   715  	mustEmbedUnimplementedFilesServer()
   716  }
   717  
   718  // UnimplementedFilesServer must be embedded to have forward compatible implementations.
   719  type UnimplementedFilesServer struct {
   720  }
   721  
   722  func (UnimplementedFilesServer) UploadDownload(context.Context, *UploadFileRequest) (*httpbody.HttpBody, error) {
   723  	return nil, status.Errorf(codes.Unimplemented, "method UploadDownload not implemented")
   724  }
   725  func (UnimplementedFilesServer) LargeUploadDownload(Files_LargeUploadDownloadServer) error {
   726  	return status.Errorf(codes.Unimplemented, "method LargeUploadDownload not implemented")
   727  }
   728  func (UnimplementedFilesServer) mustEmbedUnimplementedFilesServer() {}
   729  
   730  // UnsafeFilesServer may be embedded to opt out of forward compatibility for this service.
   731  // Use of this interface is not recommended, as added methods to FilesServer will
   732  // result in compilation errors.
   733  type UnsafeFilesServer interface {
   734  	mustEmbedUnimplementedFilesServer()
   735  }
   736  
   737  func RegisterFilesServer(s grpc.ServiceRegistrar, srv FilesServer) {
   738  	s.RegisterService(&Files_ServiceDesc, srv)
   739  }
   740  
   741  func _Files_UploadDownload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   742  	in := new(UploadFileRequest)
   743  	if err := dec(in); err != nil {
   744  		return nil, err
   745  	}
   746  	if interceptor == nil {
   747  		return srv.(FilesServer).UploadDownload(ctx, in)
   748  	}
   749  	info := &grpc.UnaryServerInfo{
   750  		Server:     srv,
   751  		FullMethod: "/larking.testpb.Files/UploadDownload",
   752  	}
   753  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   754  		return srv.(FilesServer).UploadDownload(ctx, req.(*UploadFileRequest))
   755  	}
   756  	return interceptor(ctx, in, info, handler)
   757  }
   758  
   759  func _Files_LargeUploadDownload_Handler(srv interface{}, stream grpc.ServerStream) error {
   760  	return srv.(FilesServer).LargeUploadDownload(&filesLargeUploadDownloadServer{stream})
   761  }
   762  
   763  type Files_LargeUploadDownloadServer interface {
   764  	Send(*httpbody.HttpBody) error
   765  	Recv() (*UploadFileRequest, error)
   766  	grpc.ServerStream
   767  }
   768  
   769  type filesLargeUploadDownloadServer struct {
   770  	grpc.ServerStream
   771  }
   772  
   773  func (x *filesLargeUploadDownloadServer) Send(m *httpbody.HttpBody) error {
   774  	return x.ServerStream.SendMsg(m)
   775  }
   776  
   777  func (x *filesLargeUploadDownloadServer) Recv() (*UploadFileRequest, error) {
   778  	m := new(UploadFileRequest)
   779  	if err := x.ServerStream.RecvMsg(m); err != nil {
   780  		return nil, err
   781  	}
   782  	return m, nil
   783  }
   784  
   785  // Files_ServiceDesc is the grpc.ServiceDesc for Files service.
   786  // It's only intended for direct use with grpc.RegisterService,
   787  // and not to be introspected or modified (even as a copy)
   788  var Files_ServiceDesc = grpc.ServiceDesc{
   789  	ServiceName: "larking.testpb.Files",
   790  	HandlerType: (*FilesServer)(nil),
   791  	Methods: []grpc.MethodDesc{
   792  		{
   793  			MethodName: "UploadDownload",
   794  			Handler:    _Files_UploadDownload_Handler,
   795  		},
   796  	},
   797  	Streams: []grpc.StreamDesc{
   798  		{
   799  			StreamName:    "LargeUploadDownload",
   800  			Handler:       _Files_LargeUploadDownload_Handler,
   801  			ServerStreams: true,
   802  			ClientStreams: true,
   803  		},
   804  	},
   805  	Metadata: "testpb/test.proto",
   806  }
   807  
   808  // WellKnownClient is the client API for WellKnown service.
   809  //
   810  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
   811  type WellKnownClient interface {
   812  	// HTTP | gRPC
   813  	// -----|-----
   814  	// `GET /v1/wellknown/timestamp/2017-01-15T01:30:15.01Z` |
   815  	// `Check(Timestamp{...})`
   816  	Check(ctx context.Context, in *Scalars, opts ...grpc.CallOption) (*emptypb.Empty, error)
   817  }
   818  
   819  type wellKnownClient struct {
   820  	cc grpc.ClientConnInterface
   821  }
   822  
   823  func NewWellKnownClient(cc grpc.ClientConnInterface) WellKnownClient {
   824  	return &wellKnownClient{cc}
   825  }
   826  
   827  func (c *wellKnownClient) Check(ctx context.Context, in *Scalars, opts ...grpc.CallOption) (*emptypb.Empty, error) {
   828  	out := new(emptypb.Empty)
   829  	err := c.cc.Invoke(ctx, "/larking.testpb.WellKnown/Check", in, out, opts...)
   830  	if err != nil {
   831  		return nil, err
   832  	}
   833  	return out, nil
   834  }
   835  
   836  // WellKnownServer is the server API for WellKnown service.
   837  // All implementations must embed UnimplementedWellKnownServer
   838  // for forward compatibility
   839  type WellKnownServer interface {
   840  	// HTTP | gRPC
   841  	// -----|-----
   842  	// `GET /v1/wellknown/timestamp/2017-01-15T01:30:15.01Z` |
   843  	// `Check(Timestamp{...})`
   844  	Check(context.Context, *Scalars) (*emptypb.Empty, error)
   845  	mustEmbedUnimplementedWellKnownServer()
   846  }
   847  
   848  // UnimplementedWellKnownServer must be embedded to have forward compatible implementations.
   849  type UnimplementedWellKnownServer struct {
   850  }
   851  
   852  func (UnimplementedWellKnownServer) Check(context.Context, *Scalars) (*emptypb.Empty, error) {
   853  	return nil, status.Errorf(codes.Unimplemented, "method Check not implemented")
   854  }
   855  func (UnimplementedWellKnownServer) mustEmbedUnimplementedWellKnownServer() {}
   856  
   857  // UnsafeWellKnownServer may be embedded to opt out of forward compatibility for this service.
   858  // Use of this interface is not recommended, as added methods to WellKnownServer will
   859  // result in compilation errors.
   860  type UnsafeWellKnownServer interface {
   861  	mustEmbedUnimplementedWellKnownServer()
   862  }
   863  
   864  func RegisterWellKnownServer(s grpc.ServiceRegistrar, srv WellKnownServer) {
   865  	s.RegisterService(&WellKnown_ServiceDesc, srv)
   866  }
   867  
   868  func _WellKnown_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   869  	in := new(Scalars)
   870  	if err := dec(in); err != nil {
   871  		return nil, err
   872  	}
   873  	if interceptor == nil {
   874  		return srv.(WellKnownServer).Check(ctx, in)
   875  	}
   876  	info := &grpc.UnaryServerInfo{
   877  		Server:     srv,
   878  		FullMethod: "/larking.testpb.WellKnown/Check",
   879  	}
   880  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   881  		return srv.(WellKnownServer).Check(ctx, req.(*Scalars))
   882  	}
   883  	return interceptor(ctx, in, info, handler)
   884  }
   885  
   886  // WellKnown_ServiceDesc is the grpc.ServiceDesc for WellKnown service.
   887  // It's only intended for direct use with grpc.RegisterService,
   888  // and not to be introspected or modified (even as a copy)
   889  var WellKnown_ServiceDesc = grpc.ServiceDesc{
   890  	ServiceName: "larking.testpb.WellKnown",
   891  	HandlerType: (*WellKnownServer)(nil),
   892  	Methods: []grpc.MethodDesc{
   893  		{
   894  			MethodName: "Check",
   895  			Handler:    _WellKnown_Check_Handler,
   896  		},
   897  	},
   898  	Streams:  []grpc.StreamDesc{},
   899  	Metadata: "testpb/test.proto",
   900  }
   901  
   902  // ChatRoomClient is the client API for ChatRoom service.
   903  //
   904  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
   905  type ChatRoomClient interface {
   906  	Chat(ctx context.Context, opts ...grpc.CallOption) (ChatRoom_ChatClient, error)
   907  }
   908  
   909  type chatRoomClient struct {
   910  	cc grpc.ClientConnInterface
   911  }
   912  
   913  func NewChatRoomClient(cc grpc.ClientConnInterface) ChatRoomClient {
   914  	return &chatRoomClient{cc}
   915  }
   916  
   917  func (c *chatRoomClient) Chat(ctx context.Context, opts ...grpc.CallOption) (ChatRoom_ChatClient, error) {
   918  	stream, err := c.cc.NewStream(ctx, &ChatRoom_ServiceDesc.Streams[0], "/larking.testpb.ChatRoom/Chat", opts...)
   919  	if err != nil {
   920  		return nil, err
   921  	}
   922  	x := &chatRoomChatClient{stream}
   923  	return x, nil
   924  }
   925  
   926  type ChatRoom_ChatClient interface {
   927  	Send(*ChatMessage) error
   928  	Recv() (*ChatMessage, error)
   929  	grpc.ClientStream
   930  }
   931  
   932  type chatRoomChatClient struct {
   933  	grpc.ClientStream
   934  }
   935  
   936  func (x *chatRoomChatClient) Send(m *ChatMessage) error {
   937  	return x.ClientStream.SendMsg(m)
   938  }
   939  
   940  func (x *chatRoomChatClient) Recv() (*ChatMessage, error) {
   941  	m := new(ChatMessage)
   942  	if err := x.ClientStream.RecvMsg(m); err != nil {
   943  		return nil, err
   944  	}
   945  	return m, nil
   946  }
   947  
   948  // ChatRoomServer is the server API for ChatRoom service.
   949  // All implementations must embed UnimplementedChatRoomServer
   950  // for forward compatibility
   951  type ChatRoomServer interface {
   952  	Chat(ChatRoom_ChatServer) error
   953  	mustEmbedUnimplementedChatRoomServer()
   954  }
   955  
   956  // UnimplementedChatRoomServer must be embedded to have forward compatible implementations.
   957  type UnimplementedChatRoomServer struct {
   958  }
   959  
   960  func (UnimplementedChatRoomServer) Chat(ChatRoom_ChatServer) error {
   961  	return status.Errorf(codes.Unimplemented, "method Chat not implemented")
   962  }
   963  func (UnimplementedChatRoomServer) mustEmbedUnimplementedChatRoomServer() {}
   964  
   965  // UnsafeChatRoomServer may be embedded to opt out of forward compatibility for this service.
   966  // Use of this interface is not recommended, as added methods to ChatRoomServer will
   967  // result in compilation errors.
   968  type UnsafeChatRoomServer interface {
   969  	mustEmbedUnimplementedChatRoomServer()
   970  }
   971  
   972  func RegisterChatRoomServer(s grpc.ServiceRegistrar, srv ChatRoomServer) {
   973  	s.RegisterService(&ChatRoom_ServiceDesc, srv)
   974  }
   975  
   976  func _ChatRoom_Chat_Handler(srv interface{}, stream grpc.ServerStream) error {
   977  	return srv.(ChatRoomServer).Chat(&chatRoomChatServer{stream})
   978  }
   979  
   980  type ChatRoom_ChatServer interface {
   981  	Send(*ChatMessage) error
   982  	Recv() (*ChatMessage, error)
   983  	grpc.ServerStream
   984  }
   985  
   986  type chatRoomChatServer struct {
   987  	grpc.ServerStream
   988  }
   989  
   990  func (x *chatRoomChatServer) Send(m *ChatMessage) error {
   991  	return x.ServerStream.SendMsg(m)
   992  }
   993  
   994  func (x *chatRoomChatServer) Recv() (*ChatMessage, error) {
   995  	m := new(ChatMessage)
   996  	if err := x.ServerStream.RecvMsg(m); err != nil {
   997  		return nil, err
   998  	}
   999  	return m, nil
  1000  }
  1001  
  1002  // ChatRoom_ServiceDesc is the grpc.ServiceDesc for ChatRoom service.
  1003  // It's only intended for direct use with grpc.RegisterService,
  1004  // and not to be introspected or modified (even as a copy)
  1005  var ChatRoom_ServiceDesc = grpc.ServiceDesc{
  1006  	ServiceName: "larking.testpb.ChatRoom",
  1007  	HandlerType: (*ChatRoomServer)(nil),
  1008  	Methods:     []grpc.MethodDesc{},
  1009  	Streams: []grpc.StreamDesc{
  1010  		{
  1011  			StreamName:    "Chat",
  1012  			Handler:       _ChatRoom_Chat_Handler,
  1013  			ServerStreams: true,
  1014  			ClientStreams: true,
  1015  		},
  1016  	},
  1017  	Metadata: "testpb/test.proto",
  1018  }