...

Source file src/google.golang.org/genproto/googleapis/example/library/v1/library.pb.go

Documentation: google.golang.org/genproto/googleapis/example/library/v1

     1  // Copyright 2024 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  //
    15  
    16  // Code generated by protoc-gen-go. DO NOT EDIT.
    17  // versions:
    18  // 	protoc-gen-go v1.26.0
    19  // 	protoc        v4.24.4
    20  // source: google/example/library/v1/library.proto
    21  
    22  package library
    23  
    24  import (
    25  	context "context"
    26  	reflect "reflect"
    27  	sync "sync"
    28  
    29  	_ "google.golang.org/genproto/googleapis/api/annotations"
    30  	grpc "google.golang.org/grpc"
    31  	codes "google.golang.org/grpc/codes"
    32  	status "google.golang.org/grpc/status"
    33  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    34  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    35  	emptypb "google.golang.org/protobuf/types/known/emptypb"
    36  	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    37  )
    38  
    39  const (
    40  	// Verify that this generated code is sufficiently up-to-date.
    41  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    42  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    43  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    44  )
    45  
    46  // A single book in the library.
    47  type Book struct {
    48  	state         protoimpl.MessageState
    49  	sizeCache     protoimpl.SizeCache
    50  	unknownFields protoimpl.UnknownFields
    51  
    52  	// The resource name of the book.
    53  	// Book names have the form `shelves/{shelf_id}/books/{book_id}`.
    54  	// The name is ignored when creating a book.
    55  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    56  	// The name of the book author.
    57  	Author string `protobuf:"bytes,2,opt,name=author,proto3" json:"author,omitempty"`
    58  	// The title of the book.
    59  	Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
    60  	// Value indicating whether the book has been read.
    61  	Read bool `protobuf:"varint,4,opt,name=read,proto3" json:"read,omitempty"`
    62  }
    63  
    64  func (x *Book) Reset() {
    65  	*x = Book{}
    66  	if protoimpl.UnsafeEnabled {
    67  		mi := &file_google_example_library_v1_library_proto_msgTypes[0]
    68  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    69  		ms.StoreMessageInfo(mi)
    70  	}
    71  }
    72  
    73  func (x *Book) String() string {
    74  	return protoimpl.X.MessageStringOf(x)
    75  }
    76  
    77  func (*Book) ProtoMessage() {}
    78  
    79  func (x *Book) ProtoReflect() protoreflect.Message {
    80  	mi := &file_google_example_library_v1_library_proto_msgTypes[0]
    81  	if protoimpl.UnsafeEnabled && x != nil {
    82  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    83  		if ms.LoadMessageInfo() == nil {
    84  			ms.StoreMessageInfo(mi)
    85  		}
    86  		return ms
    87  	}
    88  	return mi.MessageOf(x)
    89  }
    90  
    91  // Deprecated: Use Book.ProtoReflect.Descriptor instead.
    92  func (*Book) Descriptor() ([]byte, []int) {
    93  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{0}
    94  }
    95  
    96  func (x *Book) GetName() string {
    97  	if x != nil {
    98  		return x.Name
    99  	}
   100  	return ""
   101  }
   102  
   103  func (x *Book) GetAuthor() string {
   104  	if x != nil {
   105  		return x.Author
   106  	}
   107  	return ""
   108  }
   109  
   110  func (x *Book) GetTitle() string {
   111  	if x != nil {
   112  		return x.Title
   113  	}
   114  	return ""
   115  }
   116  
   117  func (x *Book) GetRead() bool {
   118  	if x != nil {
   119  		return x.Read
   120  	}
   121  	return false
   122  }
   123  
   124  // A Shelf contains a collection of books with a theme.
   125  type Shelf struct {
   126  	state         protoimpl.MessageState
   127  	sizeCache     protoimpl.SizeCache
   128  	unknownFields protoimpl.UnknownFields
   129  
   130  	// The resource name of the shelf.
   131  	// Shelf names have the form `shelves/{shelf_id}`.
   132  	// The name is ignored when creating a shelf.
   133  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   134  	// The theme of the shelf
   135  	Theme string `protobuf:"bytes,2,opt,name=theme,proto3" json:"theme,omitempty"`
   136  }
   137  
   138  func (x *Shelf) Reset() {
   139  	*x = Shelf{}
   140  	if protoimpl.UnsafeEnabled {
   141  		mi := &file_google_example_library_v1_library_proto_msgTypes[1]
   142  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   143  		ms.StoreMessageInfo(mi)
   144  	}
   145  }
   146  
   147  func (x *Shelf) String() string {
   148  	return protoimpl.X.MessageStringOf(x)
   149  }
   150  
   151  func (*Shelf) ProtoMessage() {}
   152  
   153  func (x *Shelf) ProtoReflect() protoreflect.Message {
   154  	mi := &file_google_example_library_v1_library_proto_msgTypes[1]
   155  	if protoimpl.UnsafeEnabled && x != nil {
   156  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   157  		if ms.LoadMessageInfo() == nil {
   158  			ms.StoreMessageInfo(mi)
   159  		}
   160  		return ms
   161  	}
   162  	return mi.MessageOf(x)
   163  }
   164  
   165  // Deprecated: Use Shelf.ProtoReflect.Descriptor instead.
   166  func (*Shelf) Descriptor() ([]byte, []int) {
   167  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{1}
   168  }
   169  
   170  func (x *Shelf) GetName() string {
   171  	if x != nil {
   172  		return x.Name
   173  	}
   174  	return ""
   175  }
   176  
   177  func (x *Shelf) GetTheme() string {
   178  	if x != nil {
   179  		return x.Theme
   180  	}
   181  	return ""
   182  }
   183  
   184  // Request message for LibraryService.CreateShelf.
   185  type CreateShelfRequest struct {
   186  	state         protoimpl.MessageState
   187  	sizeCache     protoimpl.SizeCache
   188  	unknownFields protoimpl.UnknownFields
   189  
   190  	// The shelf to create.
   191  	Shelf *Shelf `protobuf:"bytes,1,opt,name=shelf,proto3" json:"shelf,omitempty"`
   192  }
   193  
   194  func (x *CreateShelfRequest) Reset() {
   195  	*x = CreateShelfRequest{}
   196  	if protoimpl.UnsafeEnabled {
   197  		mi := &file_google_example_library_v1_library_proto_msgTypes[2]
   198  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   199  		ms.StoreMessageInfo(mi)
   200  	}
   201  }
   202  
   203  func (x *CreateShelfRequest) String() string {
   204  	return protoimpl.X.MessageStringOf(x)
   205  }
   206  
   207  func (*CreateShelfRequest) ProtoMessage() {}
   208  
   209  func (x *CreateShelfRequest) ProtoReflect() protoreflect.Message {
   210  	mi := &file_google_example_library_v1_library_proto_msgTypes[2]
   211  	if protoimpl.UnsafeEnabled && x != nil {
   212  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   213  		if ms.LoadMessageInfo() == nil {
   214  			ms.StoreMessageInfo(mi)
   215  		}
   216  		return ms
   217  	}
   218  	return mi.MessageOf(x)
   219  }
   220  
   221  // Deprecated: Use CreateShelfRequest.ProtoReflect.Descriptor instead.
   222  func (*CreateShelfRequest) Descriptor() ([]byte, []int) {
   223  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{2}
   224  }
   225  
   226  func (x *CreateShelfRequest) GetShelf() *Shelf {
   227  	if x != nil {
   228  		return x.Shelf
   229  	}
   230  	return nil
   231  }
   232  
   233  // Request message for LibraryService.GetShelf.
   234  type GetShelfRequest struct {
   235  	state         protoimpl.MessageState
   236  	sizeCache     protoimpl.SizeCache
   237  	unknownFields protoimpl.UnknownFields
   238  
   239  	// The name of the shelf to retrieve.
   240  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   241  }
   242  
   243  func (x *GetShelfRequest) Reset() {
   244  	*x = GetShelfRequest{}
   245  	if protoimpl.UnsafeEnabled {
   246  		mi := &file_google_example_library_v1_library_proto_msgTypes[3]
   247  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   248  		ms.StoreMessageInfo(mi)
   249  	}
   250  }
   251  
   252  func (x *GetShelfRequest) String() string {
   253  	return protoimpl.X.MessageStringOf(x)
   254  }
   255  
   256  func (*GetShelfRequest) ProtoMessage() {}
   257  
   258  func (x *GetShelfRequest) ProtoReflect() protoreflect.Message {
   259  	mi := &file_google_example_library_v1_library_proto_msgTypes[3]
   260  	if protoimpl.UnsafeEnabled && x != nil {
   261  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   262  		if ms.LoadMessageInfo() == nil {
   263  			ms.StoreMessageInfo(mi)
   264  		}
   265  		return ms
   266  	}
   267  	return mi.MessageOf(x)
   268  }
   269  
   270  // Deprecated: Use GetShelfRequest.ProtoReflect.Descriptor instead.
   271  func (*GetShelfRequest) Descriptor() ([]byte, []int) {
   272  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{3}
   273  }
   274  
   275  func (x *GetShelfRequest) GetName() string {
   276  	if x != nil {
   277  		return x.Name
   278  	}
   279  	return ""
   280  }
   281  
   282  // Request message for LibraryService.ListShelves.
   283  type ListShelvesRequest struct {
   284  	state         protoimpl.MessageState
   285  	sizeCache     protoimpl.SizeCache
   286  	unknownFields protoimpl.UnknownFields
   287  
   288  	// Requested page size. Server may return fewer shelves than requested.
   289  	// If unspecified, server will pick an appropriate default.
   290  	PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   291  	// A token identifying a page of results the server should return.
   292  	// Typically, this is the value of
   293  	// [ListShelvesResponse.next_page_token][google.example.library.v1.ListShelvesResponse.next_page_token]
   294  	// returned from the previous call to `ListShelves` method.
   295  	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   296  }
   297  
   298  func (x *ListShelvesRequest) Reset() {
   299  	*x = ListShelvesRequest{}
   300  	if protoimpl.UnsafeEnabled {
   301  		mi := &file_google_example_library_v1_library_proto_msgTypes[4]
   302  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   303  		ms.StoreMessageInfo(mi)
   304  	}
   305  }
   306  
   307  func (x *ListShelvesRequest) String() string {
   308  	return protoimpl.X.MessageStringOf(x)
   309  }
   310  
   311  func (*ListShelvesRequest) ProtoMessage() {}
   312  
   313  func (x *ListShelvesRequest) ProtoReflect() protoreflect.Message {
   314  	mi := &file_google_example_library_v1_library_proto_msgTypes[4]
   315  	if protoimpl.UnsafeEnabled && x != nil {
   316  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   317  		if ms.LoadMessageInfo() == nil {
   318  			ms.StoreMessageInfo(mi)
   319  		}
   320  		return ms
   321  	}
   322  	return mi.MessageOf(x)
   323  }
   324  
   325  // Deprecated: Use ListShelvesRequest.ProtoReflect.Descriptor instead.
   326  func (*ListShelvesRequest) Descriptor() ([]byte, []int) {
   327  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{4}
   328  }
   329  
   330  func (x *ListShelvesRequest) GetPageSize() int32 {
   331  	if x != nil {
   332  		return x.PageSize
   333  	}
   334  	return 0
   335  }
   336  
   337  func (x *ListShelvesRequest) GetPageToken() string {
   338  	if x != nil {
   339  		return x.PageToken
   340  	}
   341  	return ""
   342  }
   343  
   344  // Response message for LibraryService.ListShelves.
   345  type ListShelvesResponse struct {
   346  	state         protoimpl.MessageState
   347  	sizeCache     protoimpl.SizeCache
   348  	unknownFields protoimpl.UnknownFields
   349  
   350  	// The list of shelves.
   351  	Shelves []*Shelf `protobuf:"bytes,1,rep,name=shelves,proto3" json:"shelves,omitempty"`
   352  	// A token to retrieve next page of results.
   353  	// Pass this value in the
   354  	// [ListShelvesRequest.page_token][google.example.library.v1.ListShelvesRequest.page_token]
   355  	// field in the subsequent call to `ListShelves` method to retrieve the next
   356  	// page of results.
   357  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   358  }
   359  
   360  func (x *ListShelvesResponse) Reset() {
   361  	*x = ListShelvesResponse{}
   362  	if protoimpl.UnsafeEnabled {
   363  		mi := &file_google_example_library_v1_library_proto_msgTypes[5]
   364  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   365  		ms.StoreMessageInfo(mi)
   366  	}
   367  }
   368  
   369  func (x *ListShelvesResponse) String() string {
   370  	return protoimpl.X.MessageStringOf(x)
   371  }
   372  
   373  func (*ListShelvesResponse) ProtoMessage() {}
   374  
   375  func (x *ListShelvesResponse) ProtoReflect() protoreflect.Message {
   376  	mi := &file_google_example_library_v1_library_proto_msgTypes[5]
   377  	if protoimpl.UnsafeEnabled && x != nil {
   378  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   379  		if ms.LoadMessageInfo() == nil {
   380  			ms.StoreMessageInfo(mi)
   381  		}
   382  		return ms
   383  	}
   384  	return mi.MessageOf(x)
   385  }
   386  
   387  // Deprecated: Use ListShelvesResponse.ProtoReflect.Descriptor instead.
   388  func (*ListShelvesResponse) Descriptor() ([]byte, []int) {
   389  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{5}
   390  }
   391  
   392  func (x *ListShelvesResponse) GetShelves() []*Shelf {
   393  	if x != nil {
   394  		return x.Shelves
   395  	}
   396  	return nil
   397  }
   398  
   399  func (x *ListShelvesResponse) GetNextPageToken() string {
   400  	if x != nil {
   401  		return x.NextPageToken
   402  	}
   403  	return ""
   404  }
   405  
   406  // Request message for LibraryService.DeleteShelf.
   407  type DeleteShelfRequest struct {
   408  	state         protoimpl.MessageState
   409  	sizeCache     protoimpl.SizeCache
   410  	unknownFields protoimpl.UnknownFields
   411  
   412  	// The name of the shelf to delete.
   413  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   414  }
   415  
   416  func (x *DeleteShelfRequest) Reset() {
   417  	*x = DeleteShelfRequest{}
   418  	if protoimpl.UnsafeEnabled {
   419  		mi := &file_google_example_library_v1_library_proto_msgTypes[6]
   420  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   421  		ms.StoreMessageInfo(mi)
   422  	}
   423  }
   424  
   425  func (x *DeleteShelfRequest) String() string {
   426  	return protoimpl.X.MessageStringOf(x)
   427  }
   428  
   429  func (*DeleteShelfRequest) ProtoMessage() {}
   430  
   431  func (x *DeleteShelfRequest) ProtoReflect() protoreflect.Message {
   432  	mi := &file_google_example_library_v1_library_proto_msgTypes[6]
   433  	if protoimpl.UnsafeEnabled && x != nil {
   434  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   435  		if ms.LoadMessageInfo() == nil {
   436  			ms.StoreMessageInfo(mi)
   437  		}
   438  		return ms
   439  	}
   440  	return mi.MessageOf(x)
   441  }
   442  
   443  // Deprecated: Use DeleteShelfRequest.ProtoReflect.Descriptor instead.
   444  func (*DeleteShelfRequest) Descriptor() ([]byte, []int) {
   445  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{6}
   446  }
   447  
   448  func (x *DeleteShelfRequest) GetName() string {
   449  	if x != nil {
   450  		return x.Name
   451  	}
   452  	return ""
   453  }
   454  
   455  // Describes the shelf being removed (other_shelf_name) and updated
   456  // (name) in this merge.
   457  type MergeShelvesRequest struct {
   458  	state         protoimpl.MessageState
   459  	sizeCache     protoimpl.SizeCache
   460  	unknownFields protoimpl.UnknownFields
   461  
   462  	// The name of the shelf we're adding books to.
   463  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   464  	// The name of the shelf we're removing books from and deleting.
   465  	OtherShelf string `protobuf:"bytes,2,opt,name=other_shelf,json=otherShelf,proto3" json:"other_shelf,omitempty"`
   466  }
   467  
   468  func (x *MergeShelvesRequest) Reset() {
   469  	*x = MergeShelvesRequest{}
   470  	if protoimpl.UnsafeEnabled {
   471  		mi := &file_google_example_library_v1_library_proto_msgTypes[7]
   472  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   473  		ms.StoreMessageInfo(mi)
   474  	}
   475  }
   476  
   477  func (x *MergeShelvesRequest) String() string {
   478  	return protoimpl.X.MessageStringOf(x)
   479  }
   480  
   481  func (*MergeShelvesRequest) ProtoMessage() {}
   482  
   483  func (x *MergeShelvesRequest) ProtoReflect() protoreflect.Message {
   484  	mi := &file_google_example_library_v1_library_proto_msgTypes[7]
   485  	if protoimpl.UnsafeEnabled && x != nil {
   486  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   487  		if ms.LoadMessageInfo() == nil {
   488  			ms.StoreMessageInfo(mi)
   489  		}
   490  		return ms
   491  	}
   492  	return mi.MessageOf(x)
   493  }
   494  
   495  // Deprecated: Use MergeShelvesRequest.ProtoReflect.Descriptor instead.
   496  func (*MergeShelvesRequest) Descriptor() ([]byte, []int) {
   497  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{7}
   498  }
   499  
   500  func (x *MergeShelvesRequest) GetName() string {
   501  	if x != nil {
   502  		return x.Name
   503  	}
   504  	return ""
   505  }
   506  
   507  func (x *MergeShelvesRequest) GetOtherShelf() string {
   508  	if x != nil {
   509  		return x.OtherShelf
   510  	}
   511  	return ""
   512  }
   513  
   514  // Request message for LibraryService.CreateBook.
   515  type CreateBookRequest struct {
   516  	state         protoimpl.MessageState
   517  	sizeCache     protoimpl.SizeCache
   518  	unknownFields protoimpl.UnknownFields
   519  
   520  	// The name of the shelf in which the book is created.
   521  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   522  	// The book to create.
   523  	Book *Book `protobuf:"bytes,2,opt,name=book,proto3" json:"book,omitempty"`
   524  }
   525  
   526  func (x *CreateBookRequest) Reset() {
   527  	*x = CreateBookRequest{}
   528  	if protoimpl.UnsafeEnabled {
   529  		mi := &file_google_example_library_v1_library_proto_msgTypes[8]
   530  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   531  		ms.StoreMessageInfo(mi)
   532  	}
   533  }
   534  
   535  func (x *CreateBookRequest) String() string {
   536  	return protoimpl.X.MessageStringOf(x)
   537  }
   538  
   539  func (*CreateBookRequest) ProtoMessage() {}
   540  
   541  func (x *CreateBookRequest) ProtoReflect() protoreflect.Message {
   542  	mi := &file_google_example_library_v1_library_proto_msgTypes[8]
   543  	if protoimpl.UnsafeEnabled && x != nil {
   544  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   545  		if ms.LoadMessageInfo() == nil {
   546  			ms.StoreMessageInfo(mi)
   547  		}
   548  		return ms
   549  	}
   550  	return mi.MessageOf(x)
   551  }
   552  
   553  // Deprecated: Use CreateBookRequest.ProtoReflect.Descriptor instead.
   554  func (*CreateBookRequest) Descriptor() ([]byte, []int) {
   555  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{8}
   556  }
   557  
   558  func (x *CreateBookRequest) GetParent() string {
   559  	if x != nil {
   560  		return x.Parent
   561  	}
   562  	return ""
   563  }
   564  
   565  func (x *CreateBookRequest) GetBook() *Book {
   566  	if x != nil {
   567  		return x.Book
   568  	}
   569  	return nil
   570  }
   571  
   572  // Request message for LibraryService.GetBook.
   573  type GetBookRequest struct {
   574  	state         protoimpl.MessageState
   575  	sizeCache     protoimpl.SizeCache
   576  	unknownFields protoimpl.UnknownFields
   577  
   578  	// The name of the book to retrieve.
   579  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   580  }
   581  
   582  func (x *GetBookRequest) Reset() {
   583  	*x = GetBookRequest{}
   584  	if protoimpl.UnsafeEnabled {
   585  		mi := &file_google_example_library_v1_library_proto_msgTypes[9]
   586  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   587  		ms.StoreMessageInfo(mi)
   588  	}
   589  }
   590  
   591  func (x *GetBookRequest) String() string {
   592  	return protoimpl.X.MessageStringOf(x)
   593  }
   594  
   595  func (*GetBookRequest) ProtoMessage() {}
   596  
   597  func (x *GetBookRequest) ProtoReflect() protoreflect.Message {
   598  	mi := &file_google_example_library_v1_library_proto_msgTypes[9]
   599  	if protoimpl.UnsafeEnabled && x != nil {
   600  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   601  		if ms.LoadMessageInfo() == nil {
   602  			ms.StoreMessageInfo(mi)
   603  		}
   604  		return ms
   605  	}
   606  	return mi.MessageOf(x)
   607  }
   608  
   609  // Deprecated: Use GetBookRequest.ProtoReflect.Descriptor instead.
   610  func (*GetBookRequest) Descriptor() ([]byte, []int) {
   611  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{9}
   612  }
   613  
   614  func (x *GetBookRequest) GetName() string {
   615  	if x != nil {
   616  		return x.Name
   617  	}
   618  	return ""
   619  }
   620  
   621  // Request message for LibraryService.ListBooks.
   622  type ListBooksRequest struct {
   623  	state         protoimpl.MessageState
   624  	sizeCache     protoimpl.SizeCache
   625  	unknownFields protoimpl.UnknownFields
   626  
   627  	// The name of the shelf whose books we'd like to list.
   628  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   629  	// Requested page size. Server may return fewer books than requested.
   630  	// If unspecified, server will pick an appropriate default.
   631  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   632  	// A token identifying a page of results the server should return.
   633  	// Typically, this is the value of
   634  	// [ListBooksResponse.next_page_token][google.example.library.v1.ListBooksResponse.next_page_token].
   635  	// returned from the previous call to `ListBooks` method.
   636  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   637  }
   638  
   639  func (x *ListBooksRequest) Reset() {
   640  	*x = ListBooksRequest{}
   641  	if protoimpl.UnsafeEnabled {
   642  		mi := &file_google_example_library_v1_library_proto_msgTypes[10]
   643  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   644  		ms.StoreMessageInfo(mi)
   645  	}
   646  }
   647  
   648  func (x *ListBooksRequest) String() string {
   649  	return protoimpl.X.MessageStringOf(x)
   650  }
   651  
   652  func (*ListBooksRequest) ProtoMessage() {}
   653  
   654  func (x *ListBooksRequest) ProtoReflect() protoreflect.Message {
   655  	mi := &file_google_example_library_v1_library_proto_msgTypes[10]
   656  	if protoimpl.UnsafeEnabled && x != nil {
   657  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   658  		if ms.LoadMessageInfo() == nil {
   659  			ms.StoreMessageInfo(mi)
   660  		}
   661  		return ms
   662  	}
   663  	return mi.MessageOf(x)
   664  }
   665  
   666  // Deprecated: Use ListBooksRequest.ProtoReflect.Descriptor instead.
   667  func (*ListBooksRequest) Descriptor() ([]byte, []int) {
   668  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{10}
   669  }
   670  
   671  func (x *ListBooksRequest) GetParent() string {
   672  	if x != nil {
   673  		return x.Parent
   674  	}
   675  	return ""
   676  }
   677  
   678  func (x *ListBooksRequest) GetPageSize() int32 {
   679  	if x != nil {
   680  		return x.PageSize
   681  	}
   682  	return 0
   683  }
   684  
   685  func (x *ListBooksRequest) GetPageToken() string {
   686  	if x != nil {
   687  		return x.PageToken
   688  	}
   689  	return ""
   690  }
   691  
   692  // Response message for LibraryService.ListBooks.
   693  type ListBooksResponse struct {
   694  	state         protoimpl.MessageState
   695  	sizeCache     protoimpl.SizeCache
   696  	unknownFields protoimpl.UnknownFields
   697  
   698  	// The list of books.
   699  	Books []*Book `protobuf:"bytes,1,rep,name=books,proto3" json:"books,omitempty"`
   700  	// A token to retrieve next page of results.
   701  	// Pass this value in the
   702  	// [ListBooksRequest.page_token][google.example.library.v1.ListBooksRequest.page_token]
   703  	// field in the subsequent call to `ListBooks` method to retrieve the next
   704  	// page of results.
   705  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   706  }
   707  
   708  func (x *ListBooksResponse) Reset() {
   709  	*x = ListBooksResponse{}
   710  	if protoimpl.UnsafeEnabled {
   711  		mi := &file_google_example_library_v1_library_proto_msgTypes[11]
   712  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   713  		ms.StoreMessageInfo(mi)
   714  	}
   715  }
   716  
   717  func (x *ListBooksResponse) String() string {
   718  	return protoimpl.X.MessageStringOf(x)
   719  }
   720  
   721  func (*ListBooksResponse) ProtoMessage() {}
   722  
   723  func (x *ListBooksResponse) ProtoReflect() protoreflect.Message {
   724  	mi := &file_google_example_library_v1_library_proto_msgTypes[11]
   725  	if protoimpl.UnsafeEnabled && x != nil {
   726  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   727  		if ms.LoadMessageInfo() == nil {
   728  			ms.StoreMessageInfo(mi)
   729  		}
   730  		return ms
   731  	}
   732  	return mi.MessageOf(x)
   733  }
   734  
   735  // Deprecated: Use ListBooksResponse.ProtoReflect.Descriptor instead.
   736  func (*ListBooksResponse) Descriptor() ([]byte, []int) {
   737  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{11}
   738  }
   739  
   740  func (x *ListBooksResponse) GetBooks() []*Book {
   741  	if x != nil {
   742  		return x.Books
   743  	}
   744  	return nil
   745  }
   746  
   747  func (x *ListBooksResponse) GetNextPageToken() string {
   748  	if x != nil {
   749  		return x.NextPageToken
   750  	}
   751  	return ""
   752  }
   753  
   754  // Request message for LibraryService.UpdateBook.
   755  type UpdateBookRequest struct {
   756  	state         protoimpl.MessageState
   757  	sizeCache     protoimpl.SizeCache
   758  	unknownFields protoimpl.UnknownFields
   759  
   760  	// The name of the book to update.
   761  	Book *Book `protobuf:"bytes,1,opt,name=book,proto3" json:"book,omitempty"`
   762  	// Required. Mask of fields to update.
   763  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
   764  }
   765  
   766  func (x *UpdateBookRequest) Reset() {
   767  	*x = UpdateBookRequest{}
   768  	if protoimpl.UnsafeEnabled {
   769  		mi := &file_google_example_library_v1_library_proto_msgTypes[12]
   770  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   771  		ms.StoreMessageInfo(mi)
   772  	}
   773  }
   774  
   775  func (x *UpdateBookRequest) String() string {
   776  	return protoimpl.X.MessageStringOf(x)
   777  }
   778  
   779  func (*UpdateBookRequest) ProtoMessage() {}
   780  
   781  func (x *UpdateBookRequest) ProtoReflect() protoreflect.Message {
   782  	mi := &file_google_example_library_v1_library_proto_msgTypes[12]
   783  	if protoimpl.UnsafeEnabled && x != nil {
   784  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   785  		if ms.LoadMessageInfo() == nil {
   786  			ms.StoreMessageInfo(mi)
   787  		}
   788  		return ms
   789  	}
   790  	return mi.MessageOf(x)
   791  }
   792  
   793  // Deprecated: Use UpdateBookRequest.ProtoReflect.Descriptor instead.
   794  func (*UpdateBookRequest) Descriptor() ([]byte, []int) {
   795  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{12}
   796  }
   797  
   798  func (x *UpdateBookRequest) GetBook() *Book {
   799  	if x != nil {
   800  		return x.Book
   801  	}
   802  	return nil
   803  }
   804  
   805  func (x *UpdateBookRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
   806  	if x != nil {
   807  		return x.UpdateMask
   808  	}
   809  	return nil
   810  }
   811  
   812  // Request message for LibraryService.DeleteBook.
   813  type DeleteBookRequest struct {
   814  	state         protoimpl.MessageState
   815  	sizeCache     protoimpl.SizeCache
   816  	unknownFields protoimpl.UnknownFields
   817  
   818  	// The name of the book to delete.
   819  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   820  }
   821  
   822  func (x *DeleteBookRequest) Reset() {
   823  	*x = DeleteBookRequest{}
   824  	if protoimpl.UnsafeEnabled {
   825  		mi := &file_google_example_library_v1_library_proto_msgTypes[13]
   826  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   827  		ms.StoreMessageInfo(mi)
   828  	}
   829  }
   830  
   831  func (x *DeleteBookRequest) String() string {
   832  	return protoimpl.X.MessageStringOf(x)
   833  }
   834  
   835  func (*DeleteBookRequest) ProtoMessage() {}
   836  
   837  func (x *DeleteBookRequest) ProtoReflect() protoreflect.Message {
   838  	mi := &file_google_example_library_v1_library_proto_msgTypes[13]
   839  	if protoimpl.UnsafeEnabled && x != nil {
   840  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   841  		if ms.LoadMessageInfo() == nil {
   842  			ms.StoreMessageInfo(mi)
   843  		}
   844  		return ms
   845  	}
   846  	return mi.MessageOf(x)
   847  }
   848  
   849  // Deprecated: Use DeleteBookRequest.ProtoReflect.Descriptor instead.
   850  func (*DeleteBookRequest) Descriptor() ([]byte, []int) {
   851  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{13}
   852  }
   853  
   854  func (x *DeleteBookRequest) GetName() string {
   855  	if x != nil {
   856  		return x.Name
   857  	}
   858  	return ""
   859  }
   860  
   861  // Describes what book to move (name) and what shelf we're moving it
   862  // to (other_shelf_name).
   863  type MoveBookRequest struct {
   864  	state         protoimpl.MessageState
   865  	sizeCache     protoimpl.SizeCache
   866  	unknownFields protoimpl.UnknownFields
   867  
   868  	// The name of the book to move.
   869  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   870  	// The name of the destination shelf.
   871  	OtherShelfName string `protobuf:"bytes,2,opt,name=other_shelf_name,json=otherShelfName,proto3" json:"other_shelf_name,omitempty"`
   872  }
   873  
   874  func (x *MoveBookRequest) Reset() {
   875  	*x = MoveBookRequest{}
   876  	if protoimpl.UnsafeEnabled {
   877  		mi := &file_google_example_library_v1_library_proto_msgTypes[14]
   878  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   879  		ms.StoreMessageInfo(mi)
   880  	}
   881  }
   882  
   883  func (x *MoveBookRequest) String() string {
   884  	return protoimpl.X.MessageStringOf(x)
   885  }
   886  
   887  func (*MoveBookRequest) ProtoMessage() {}
   888  
   889  func (x *MoveBookRequest) ProtoReflect() protoreflect.Message {
   890  	mi := &file_google_example_library_v1_library_proto_msgTypes[14]
   891  	if protoimpl.UnsafeEnabled && x != nil {
   892  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   893  		if ms.LoadMessageInfo() == nil {
   894  			ms.StoreMessageInfo(mi)
   895  		}
   896  		return ms
   897  	}
   898  	return mi.MessageOf(x)
   899  }
   900  
   901  // Deprecated: Use MoveBookRequest.ProtoReflect.Descriptor instead.
   902  func (*MoveBookRequest) Descriptor() ([]byte, []int) {
   903  	return file_google_example_library_v1_library_proto_rawDescGZIP(), []int{14}
   904  }
   905  
   906  func (x *MoveBookRequest) GetName() string {
   907  	if x != nil {
   908  		return x.Name
   909  	}
   910  	return ""
   911  }
   912  
   913  func (x *MoveBookRequest) GetOtherShelfName() string {
   914  	if x != nil {
   915  		return x.OtherShelfName
   916  	}
   917  	return ""
   918  }
   919  
   920  var File_google_example_library_v1_library_proto protoreflect.FileDescriptor
   921  
   922  var file_google_example_library_v1_library_proto_rawDesc = []byte{
   923  	0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65,
   924  	0x2f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x69, 0x62, 0x72,
   925  	0x61, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   926  	0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72,
   927  	0x79, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
   928  	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
   929  	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
   930  	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
   931  	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65,
   932  	0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f,
   933  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
   934  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
   935  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70,
   936  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
   937  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b,
   938  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a, 0x04, 0x42, 0x6f, 0x6f, 0x6b, 0x12,
   939  	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
   940  	0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x02, 0x20,
   941  	0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74,
   942  	0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c,
   943  	0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
   944  	0x04, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x46, 0xea, 0x41, 0x43, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x72,
   945  	0x61, 0x72, 0x79, 0x2d, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   946  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x6f, 0x6f, 0x6b, 0x12,
   947  	0x1c, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x68, 0x65, 0x6c, 0x66, 0x7d,
   948  	0x2f, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x2f, 0x7b, 0x62, 0x6f, 0x6f, 0x6b, 0x7d, 0x22, 0x70, 0x0a,
   949  	0x05, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
   950  	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x68,
   951  	0x65, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65,
   952  	0x3a, 0x3d, 0xea, 0x41, 0x3a, 0x0a, 0x24, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2d, 0x65,
   953  	0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
   954  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x12, 0x12, 0x73, 0x68, 0x65,
   955  	0x6c, 0x76, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x68, 0x65, 0x6c, 0x66, 0x5f, 0x69, 0x64, 0x7d, 0x22,
   956  	0x51, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x52, 0x65,
   957  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x68, 0x65, 0x6c, 0x66, 0x18, 0x01,
   958  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78,
   959  	0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31,
   960  	0x2e, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x73, 0x68, 0x65,
   961  	0x6c, 0x66, 0x22, 0x53, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x52, 0x65,
   962  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
   963  	0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x6c, 0x69, 0x62,
   964  	0x72, 0x61, 0x72, 0x79, 0x2d, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6f,
   965  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x68, 0x65, 0x6c,
   966  	0x66, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x53,
   967  	0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a,
   968  	0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
   969  	0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61,
   970  	0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
   971  	0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x79, 0x0a, 0x13, 0x4c, 0x69, 0x73,
   972  	0x74, 0x53, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
   973  	0x12, 0x3a, 0x0a, 0x07, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
   974  	0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70,
   975  	0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68,
   976  	0x65, 0x6c, 0x66, 0x52, 0x07, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f,
   977  	0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
   978  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54,
   979  	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x56, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68,
   980  	0x65, 0x6c, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61,
   981  	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26,
   982  	0x0a, 0x24, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2d, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c,
   983  	0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
   984  	0x2f, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa6, 0x01, 0x0a,
   985  	0x13, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x52, 0x65, 0x71,
   986  	0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
   987  	0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x6c, 0x69, 0x62, 0x72,
   988  	0x61, 0x72, 0x79, 0x2d, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   989  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x68, 0x65, 0x6c, 0x66,
   990  	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f,
   991  	0x73, 0x68, 0x65, 0x6c, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02,
   992  	0xfa, 0x41, 0x26, 0x0a, 0x24, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2d, 0x65, 0x78, 0x61,
   993  	0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
   994  	0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x52, 0x0a, 0x6f, 0x74, 0x68, 0x65, 0x72,
   995  	0x53, 0x68, 0x65, 0x6c, 0x66, 0x22, 0x93, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
   996  	0x42, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x70,
   997  	0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02,
   998  	0xfa, 0x41, 0x26, 0x0a, 0x24, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2d, 0x65, 0x78, 0x61,
   999  	0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  1000  	0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
  1001  	0x74, 0x12, 0x38, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1002  	0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65,
  1003  	0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6b,
  1004  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x51, 0x0a, 0x0e, 0x47,
  1005  	0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a,
  1006  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02,
  1007  	0xfa, 0x41, 0x25, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2d, 0x65, 0x78, 0x61,
  1008  	0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  1009  	0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x6f, 0x6f, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x94,
  1010  	0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75,
  1011  	0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
  1012  	0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x6c, 0x69, 0x62,
  1013  	0x72, 0x61, 0x72, 0x79, 0x2d, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6f,
  1014  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x68, 0x65, 0x6c,
  1015  	0x66, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67,
  1016  	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61,
  1017  	0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
  1018  	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65,
  1019  	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x72, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x6f,
  1020  	0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x62, 0x6f,
  1021  	0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1022  	0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61,
  1023  	0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x6b,
  1024  	0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
  1025  	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74,
  1026  	0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x11, 0x55, 0x70,
  1027  	0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  1028  	0x38, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
  1029  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c,
  1030  	0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x42, 0x03,
  1031  	0xe0, 0x41, 0x02, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64,
  1032  	0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  1033  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1034  	0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
  1035  	0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x54, 0x0a, 0x11, 0x44,
  1036  	0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  1037  	0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b,
  1038  	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2d,
  1039  	0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  1040  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x6f, 0x6f, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d,
  1041  	0x65, 0x22, 0xaa, 0x01, 0x0a, 0x0f, 0x4d, 0x6f, 0x76, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x52, 0x65,
  1042  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  1043  	0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x6c, 0x69, 0x62,
  1044  	0x72, 0x61, 0x72, 0x79, 0x2d, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6f,
  1045  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x6f, 0x6f, 0x6b,
  1046  	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f,
  1047  	0x73, 0x68, 0x65, 0x6c, 0x66, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  1048  	0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72,
  1049  	0x79, 0x2d, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1050  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x52, 0x0e,
  1051  	0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x32, 0xcb,
  1052  	0x0c, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
  1053  	0x65, 0x12, 0x82, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x65, 0x6c,
  1054  	0x66, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70,
  1055  	0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72,
  1056  	0x65, 0x61, 0x74, 0x65, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  1057  	0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c,
  1058  	0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x65,
  1059  	0x6c, 0x66, 0x22, 0x22, 0xda, 0x41, 0x05, 0x73, 0x68, 0x65, 0x6c, 0x66, 0x82, 0xd3, 0xe4, 0x93,
  1060  	0x02, 0x14, 0x22, 0x0b, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x3a,
  1061  	0x05, 0x73, 0x68, 0x65, 0x6c, 0x66, 0x12, 0x7d, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x53, 0x68, 0x65,
  1062  	0x6c, 0x66, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d,
  1063  	0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x47,
  1064  	0x65, 0x74, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20,
  1065  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e,
  1066  	0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x65, 0x6c, 0x66,
  1067  	0x22, 0x23, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12,
  1068  	0x14, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x68, 0x65, 0x6c, 0x76,
  1069  	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x81, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68,
  1070  	0x65, 0x6c, 0x76, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65,
  1071  	0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76,
  1072  	0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x52, 0x65, 0x71,
  1073  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78,
  1074  	0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31,
  1075  	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
  1076  	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x76,
  1077  	0x31, 0x2f, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x12, 0x79, 0x0a, 0x0b, 0x44, 0x65, 0x6c,
  1078  	0x65, 0x74, 0x65, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1079  	0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72,
  1080  	0x79, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x68, 0x65, 0x6c, 0x66,
  1081  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1082  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
  1083  	0x23, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x2a, 0x14,
  1084  	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65,
  1085  	0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x9a, 0x01, 0x0a, 0x0c, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x68,
  1086  	0x65, 0x6c, 0x76, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65,
  1087  	0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76,
  1088  	0x31, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x52, 0x65,
  1089  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65,
  1090  	0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76,
  1091  	0x31, 0x2e, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x22, 0x38, 0xda, 0x41, 0x10, 0x6e, 0x61, 0x6d, 0x65,
  1092  	0x2c, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x68, 0x65, 0x6c, 0x66, 0x82, 0xd3, 0xe4, 0x93,
  1093  	0x02, 0x1f, 0x22, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x68,
  1094  	0x65, 0x6c, 0x76, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x3a, 0x01,
  1095  	0x2a, 0x12, 0x95, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b,
  1096  	0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c,
  1097  	0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65,
  1098  	0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f,
  1099  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e,
  1100  	0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x22,
  1101  	0x38, 0xda, 0x41, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x6f, 0x6f, 0x6b, 0x82,
  1102  	0xd3, 0xe4, 0x93, 0x02, 0x24, 0x22, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
  1103  	0x6e, 0x74, 0x3d, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x6f,
  1104  	0x6f, 0x6b, 0x73, 0x3a, 0x04, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x82, 0x01, 0x0a, 0x07, 0x47, 0x65,
  1105  	0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65,
  1106  	0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76,
  1107  	0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  1108  	0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c,
  1109  	0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f,
  1110  	0x6b, 0x22, 0x2b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e,
  1111  	0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x68, 0x65, 0x6c,
  1112  	0x76, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x95,
  1113  	0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x2b, 0x2e, 0x67,
  1114  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69,
  1115  	0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x6f,
  1116  	0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1117  	0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61,
  1118  	0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x73, 0x52,
  1119  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65,
  1120  	0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70,
  1121  	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x2f, 0x2a, 0x7d,
  1122  	0x2f, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x7f, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
  1123  	0x42, 0x6f, 0x6f, 0x6b, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78,
  1124  	0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31,
  1125  	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
  1126  	0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1127  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2b, 0xda, 0x41, 0x04, 0x6e,
  1128  	0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x2a, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
  1129  	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62,
  1130  	0x6f, 0x6f, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x9f, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61,
  1131  	0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1132  	0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e,
  1133  	0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71,
  1134  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78,
  1135  	0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31,
  1136  	0x2e, 0x42, 0x6f, 0x6f, 0x6b, 0x22, 0x42, 0xda, 0x41, 0x10, 0x62, 0x6f, 0x6f, 0x6b, 0x2c, 0x75,
  1137  	0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29,
  1138  	0x32, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x62, 0x6f, 0x6f, 0x6b, 0x2e, 0x6e, 0x61, 0x6d, 0x65,
  1139  	0x3d, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x6f, 0x6f, 0x6b, 0x73,
  1140  	0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x9d, 0x01, 0x0a, 0x08, 0x4d, 0x6f,
  1141  	0x76, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1142  	0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e,
  1143  	0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x42, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
  1144  	0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d,
  1145  	0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x42,
  1146  	0x6f, 0x6f, 0x6b, 0x22, 0x44, 0xda, 0x41, 0x15, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6f, 0x74, 0x68,
  1147  	0x65, 0x72, 0x5f, 0x73, 0x68, 0x65, 0x6c, 0x66, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4,
  1148  	0x93, 0x02, 0x26, 0x22, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73,
  1149  	0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x2f, 0x2a,
  1150  	0x7d, 0x3a, 0x6d, 0x6f, 0x76, 0x65, 0x3a, 0x01, 0x2a, 0x1a, 0x21, 0xca, 0x41, 0x1e, 0x6c, 0x69,
  1151  	0x62, 0x72, 0x61, 0x72, 0x79, 0x2d, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x67, 0x6f,
  1152  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x93, 0x01, 0x0a,
  1153  	0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, 0x6d,
  1154  	0x70, 0x6c, 0x65, 0x2e, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x42, 0x0c,
  1155  	0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40,
  1156  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72,
  1157  	0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1158  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2f, 0x6c, 0x69,
  1159  	0x62, 0x72, 0x61, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x3b, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79,
  1160  	0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c,
  1161  	0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5c,
  1162  	0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1163  }
  1164  
  1165  var (
  1166  	file_google_example_library_v1_library_proto_rawDescOnce sync.Once
  1167  	file_google_example_library_v1_library_proto_rawDescData = file_google_example_library_v1_library_proto_rawDesc
  1168  )
  1169  
  1170  func file_google_example_library_v1_library_proto_rawDescGZIP() []byte {
  1171  	file_google_example_library_v1_library_proto_rawDescOnce.Do(func() {
  1172  		file_google_example_library_v1_library_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_example_library_v1_library_proto_rawDescData)
  1173  	})
  1174  	return file_google_example_library_v1_library_proto_rawDescData
  1175  }
  1176  
  1177  var file_google_example_library_v1_library_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
  1178  var file_google_example_library_v1_library_proto_goTypes = []interface{}{
  1179  	(*Book)(nil),                  // 0: google.example.library.v1.Book
  1180  	(*Shelf)(nil),                 // 1: google.example.library.v1.Shelf
  1181  	(*CreateShelfRequest)(nil),    // 2: google.example.library.v1.CreateShelfRequest
  1182  	(*GetShelfRequest)(nil),       // 3: google.example.library.v1.GetShelfRequest
  1183  	(*ListShelvesRequest)(nil),    // 4: google.example.library.v1.ListShelvesRequest
  1184  	(*ListShelvesResponse)(nil),   // 5: google.example.library.v1.ListShelvesResponse
  1185  	(*DeleteShelfRequest)(nil),    // 6: google.example.library.v1.DeleteShelfRequest
  1186  	(*MergeShelvesRequest)(nil),   // 7: google.example.library.v1.MergeShelvesRequest
  1187  	(*CreateBookRequest)(nil),     // 8: google.example.library.v1.CreateBookRequest
  1188  	(*GetBookRequest)(nil),        // 9: google.example.library.v1.GetBookRequest
  1189  	(*ListBooksRequest)(nil),      // 10: google.example.library.v1.ListBooksRequest
  1190  	(*ListBooksResponse)(nil),     // 11: google.example.library.v1.ListBooksResponse
  1191  	(*UpdateBookRequest)(nil),     // 12: google.example.library.v1.UpdateBookRequest
  1192  	(*DeleteBookRequest)(nil),     // 13: google.example.library.v1.DeleteBookRequest
  1193  	(*MoveBookRequest)(nil),       // 14: google.example.library.v1.MoveBookRequest
  1194  	(*fieldmaskpb.FieldMask)(nil), // 15: google.protobuf.FieldMask
  1195  	(*emptypb.Empty)(nil),         // 16: google.protobuf.Empty
  1196  }
  1197  var file_google_example_library_v1_library_proto_depIdxs = []int32{
  1198  	1,  // 0: google.example.library.v1.CreateShelfRequest.shelf:type_name -> google.example.library.v1.Shelf
  1199  	1,  // 1: google.example.library.v1.ListShelvesResponse.shelves:type_name -> google.example.library.v1.Shelf
  1200  	0,  // 2: google.example.library.v1.CreateBookRequest.book:type_name -> google.example.library.v1.Book
  1201  	0,  // 3: google.example.library.v1.ListBooksResponse.books:type_name -> google.example.library.v1.Book
  1202  	0,  // 4: google.example.library.v1.UpdateBookRequest.book:type_name -> google.example.library.v1.Book
  1203  	15, // 5: google.example.library.v1.UpdateBookRequest.update_mask:type_name -> google.protobuf.FieldMask
  1204  	2,  // 6: google.example.library.v1.LibraryService.CreateShelf:input_type -> google.example.library.v1.CreateShelfRequest
  1205  	3,  // 7: google.example.library.v1.LibraryService.GetShelf:input_type -> google.example.library.v1.GetShelfRequest
  1206  	4,  // 8: google.example.library.v1.LibraryService.ListShelves:input_type -> google.example.library.v1.ListShelvesRequest
  1207  	6,  // 9: google.example.library.v1.LibraryService.DeleteShelf:input_type -> google.example.library.v1.DeleteShelfRequest
  1208  	7,  // 10: google.example.library.v1.LibraryService.MergeShelves:input_type -> google.example.library.v1.MergeShelvesRequest
  1209  	8,  // 11: google.example.library.v1.LibraryService.CreateBook:input_type -> google.example.library.v1.CreateBookRequest
  1210  	9,  // 12: google.example.library.v1.LibraryService.GetBook:input_type -> google.example.library.v1.GetBookRequest
  1211  	10, // 13: google.example.library.v1.LibraryService.ListBooks:input_type -> google.example.library.v1.ListBooksRequest
  1212  	13, // 14: google.example.library.v1.LibraryService.DeleteBook:input_type -> google.example.library.v1.DeleteBookRequest
  1213  	12, // 15: google.example.library.v1.LibraryService.UpdateBook:input_type -> google.example.library.v1.UpdateBookRequest
  1214  	14, // 16: google.example.library.v1.LibraryService.MoveBook:input_type -> google.example.library.v1.MoveBookRequest
  1215  	1,  // 17: google.example.library.v1.LibraryService.CreateShelf:output_type -> google.example.library.v1.Shelf
  1216  	1,  // 18: google.example.library.v1.LibraryService.GetShelf:output_type -> google.example.library.v1.Shelf
  1217  	5,  // 19: google.example.library.v1.LibraryService.ListShelves:output_type -> google.example.library.v1.ListShelvesResponse
  1218  	16, // 20: google.example.library.v1.LibraryService.DeleteShelf:output_type -> google.protobuf.Empty
  1219  	1,  // 21: google.example.library.v1.LibraryService.MergeShelves:output_type -> google.example.library.v1.Shelf
  1220  	0,  // 22: google.example.library.v1.LibraryService.CreateBook:output_type -> google.example.library.v1.Book
  1221  	0,  // 23: google.example.library.v1.LibraryService.GetBook:output_type -> google.example.library.v1.Book
  1222  	11, // 24: google.example.library.v1.LibraryService.ListBooks:output_type -> google.example.library.v1.ListBooksResponse
  1223  	16, // 25: google.example.library.v1.LibraryService.DeleteBook:output_type -> google.protobuf.Empty
  1224  	0,  // 26: google.example.library.v1.LibraryService.UpdateBook:output_type -> google.example.library.v1.Book
  1225  	0,  // 27: google.example.library.v1.LibraryService.MoveBook:output_type -> google.example.library.v1.Book
  1226  	17, // [17:28] is the sub-list for method output_type
  1227  	6,  // [6:17] is the sub-list for method input_type
  1228  	6,  // [6:6] is the sub-list for extension type_name
  1229  	6,  // [6:6] is the sub-list for extension extendee
  1230  	0,  // [0:6] is the sub-list for field type_name
  1231  }
  1232  
  1233  func init() { file_google_example_library_v1_library_proto_init() }
  1234  func file_google_example_library_v1_library_proto_init() {
  1235  	if File_google_example_library_v1_library_proto != nil {
  1236  		return
  1237  	}
  1238  	if !protoimpl.UnsafeEnabled {
  1239  		file_google_example_library_v1_library_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1240  			switch v := v.(*Book); i {
  1241  			case 0:
  1242  				return &v.state
  1243  			case 1:
  1244  				return &v.sizeCache
  1245  			case 2:
  1246  				return &v.unknownFields
  1247  			default:
  1248  				return nil
  1249  			}
  1250  		}
  1251  		file_google_example_library_v1_library_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1252  			switch v := v.(*Shelf); i {
  1253  			case 0:
  1254  				return &v.state
  1255  			case 1:
  1256  				return &v.sizeCache
  1257  			case 2:
  1258  				return &v.unknownFields
  1259  			default:
  1260  				return nil
  1261  			}
  1262  		}
  1263  		file_google_example_library_v1_library_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1264  			switch v := v.(*CreateShelfRequest); i {
  1265  			case 0:
  1266  				return &v.state
  1267  			case 1:
  1268  				return &v.sizeCache
  1269  			case 2:
  1270  				return &v.unknownFields
  1271  			default:
  1272  				return nil
  1273  			}
  1274  		}
  1275  		file_google_example_library_v1_library_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1276  			switch v := v.(*GetShelfRequest); i {
  1277  			case 0:
  1278  				return &v.state
  1279  			case 1:
  1280  				return &v.sizeCache
  1281  			case 2:
  1282  				return &v.unknownFields
  1283  			default:
  1284  				return nil
  1285  			}
  1286  		}
  1287  		file_google_example_library_v1_library_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1288  			switch v := v.(*ListShelvesRequest); i {
  1289  			case 0:
  1290  				return &v.state
  1291  			case 1:
  1292  				return &v.sizeCache
  1293  			case 2:
  1294  				return &v.unknownFields
  1295  			default:
  1296  				return nil
  1297  			}
  1298  		}
  1299  		file_google_example_library_v1_library_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1300  			switch v := v.(*ListShelvesResponse); i {
  1301  			case 0:
  1302  				return &v.state
  1303  			case 1:
  1304  				return &v.sizeCache
  1305  			case 2:
  1306  				return &v.unknownFields
  1307  			default:
  1308  				return nil
  1309  			}
  1310  		}
  1311  		file_google_example_library_v1_library_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1312  			switch v := v.(*DeleteShelfRequest); i {
  1313  			case 0:
  1314  				return &v.state
  1315  			case 1:
  1316  				return &v.sizeCache
  1317  			case 2:
  1318  				return &v.unknownFields
  1319  			default:
  1320  				return nil
  1321  			}
  1322  		}
  1323  		file_google_example_library_v1_library_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1324  			switch v := v.(*MergeShelvesRequest); i {
  1325  			case 0:
  1326  				return &v.state
  1327  			case 1:
  1328  				return &v.sizeCache
  1329  			case 2:
  1330  				return &v.unknownFields
  1331  			default:
  1332  				return nil
  1333  			}
  1334  		}
  1335  		file_google_example_library_v1_library_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1336  			switch v := v.(*CreateBookRequest); i {
  1337  			case 0:
  1338  				return &v.state
  1339  			case 1:
  1340  				return &v.sizeCache
  1341  			case 2:
  1342  				return &v.unknownFields
  1343  			default:
  1344  				return nil
  1345  			}
  1346  		}
  1347  		file_google_example_library_v1_library_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1348  			switch v := v.(*GetBookRequest); i {
  1349  			case 0:
  1350  				return &v.state
  1351  			case 1:
  1352  				return &v.sizeCache
  1353  			case 2:
  1354  				return &v.unknownFields
  1355  			default:
  1356  				return nil
  1357  			}
  1358  		}
  1359  		file_google_example_library_v1_library_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1360  			switch v := v.(*ListBooksRequest); i {
  1361  			case 0:
  1362  				return &v.state
  1363  			case 1:
  1364  				return &v.sizeCache
  1365  			case 2:
  1366  				return &v.unknownFields
  1367  			default:
  1368  				return nil
  1369  			}
  1370  		}
  1371  		file_google_example_library_v1_library_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1372  			switch v := v.(*ListBooksResponse); i {
  1373  			case 0:
  1374  				return &v.state
  1375  			case 1:
  1376  				return &v.sizeCache
  1377  			case 2:
  1378  				return &v.unknownFields
  1379  			default:
  1380  				return nil
  1381  			}
  1382  		}
  1383  		file_google_example_library_v1_library_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  1384  			switch v := v.(*UpdateBookRequest); i {
  1385  			case 0:
  1386  				return &v.state
  1387  			case 1:
  1388  				return &v.sizeCache
  1389  			case 2:
  1390  				return &v.unknownFields
  1391  			default:
  1392  				return nil
  1393  			}
  1394  		}
  1395  		file_google_example_library_v1_library_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  1396  			switch v := v.(*DeleteBookRequest); i {
  1397  			case 0:
  1398  				return &v.state
  1399  			case 1:
  1400  				return &v.sizeCache
  1401  			case 2:
  1402  				return &v.unknownFields
  1403  			default:
  1404  				return nil
  1405  			}
  1406  		}
  1407  		file_google_example_library_v1_library_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  1408  			switch v := v.(*MoveBookRequest); i {
  1409  			case 0:
  1410  				return &v.state
  1411  			case 1:
  1412  				return &v.sizeCache
  1413  			case 2:
  1414  				return &v.unknownFields
  1415  			default:
  1416  				return nil
  1417  			}
  1418  		}
  1419  	}
  1420  	type x struct{}
  1421  	out := protoimpl.TypeBuilder{
  1422  		File: protoimpl.DescBuilder{
  1423  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1424  			RawDescriptor: file_google_example_library_v1_library_proto_rawDesc,
  1425  			NumEnums:      0,
  1426  			NumMessages:   15,
  1427  			NumExtensions: 0,
  1428  			NumServices:   1,
  1429  		},
  1430  		GoTypes:           file_google_example_library_v1_library_proto_goTypes,
  1431  		DependencyIndexes: file_google_example_library_v1_library_proto_depIdxs,
  1432  		MessageInfos:      file_google_example_library_v1_library_proto_msgTypes,
  1433  	}.Build()
  1434  	File_google_example_library_v1_library_proto = out.File
  1435  	file_google_example_library_v1_library_proto_rawDesc = nil
  1436  	file_google_example_library_v1_library_proto_goTypes = nil
  1437  	file_google_example_library_v1_library_proto_depIdxs = nil
  1438  }
  1439  
  1440  // Reference imports to suppress errors if they are not otherwise used.
  1441  var _ context.Context
  1442  var _ grpc.ClientConnInterface
  1443  
  1444  // This is a compile-time assertion to ensure that this generated file
  1445  // is compatible with the grpc package it is being compiled against.
  1446  const _ = grpc.SupportPackageIsVersion6
  1447  
  1448  // LibraryServiceClient is the client API for LibraryService service.
  1449  //
  1450  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1451  type LibraryServiceClient interface {
  1452  	// Creates a shelf, and returns the new Shelf.
  1453  	CreateShelf(ctx context.Context, in *CreateShelfRequest, opts ...grpc.CallOption) (*Shelf, error)
  1454  	// Gets a shelf. Returns NOT_FOUND if the shelf does not exist.
  1455  	GetShelf(ctx context.Context, in *GetShelfRequest, opts ...grpc.CallOption) (*Shelf, error)
  1456  	// Lists shelves. The order is unspecified but deterministic. Newly created
  1457  	// shelves will not necessarily be added to the end of this list.
  1458  	ListShelves(ctx context.Context, in *ListShelvesRequest, opts ...grpc.CallOption) (*ListShelvesResponse, error)
  1459  	// Deletes a shelf. Returns NOT_FOUND if the shelf does not exist.
  1460  	DeleteShelf(ctx context.Context, in *DeleteShelfRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  1461  	// Merges two shelves by adding all books from the shelf named
  1462  	// `other_shelf_name` to shelf `name`, and deletes
  1463  	// `other_shelf_name`. Returns the updated shelf.
  1464  	// The book ids of the moved books may not be the same as the original books.
  1465  	//
  1466  	// Returns NOT_FOUND if either shelf does not exist.
  1467  	// This call is a no-op if the specified shelves are the same.
  1468  	MergeShelves(ctx context.Context, in *MergeShelvesRequest, opts ...grpc.CallOption) (*Shelf, error)
  1469  	// Creates a book, and returns the new Book.
  1470  	CreateBook(ctx context.Context, in *CreateBookRequest, opts ...grpc.CallOption) (*Book, error)
  1471  	// Gets a book. Returns NOT_FOUND if the book does not exist.
  1472  	GetBook(ctx context.Context, in *GetBookRequest, opts ...grpc.CallOption) (*Book, error)
  1473  	// Lists books in a shelf. The order is unspecified but deterministic. Newly
  1474  	// created books will not necessarily be added to the end of this list.
  1475  	// Returns NOT_FOUND if the shelf does not exist.
  1476  	ListBooks(ctx context.Context, in *ListBooksRequest, opts ...grpc.CallOption) (*ListBooksResponse, error)
  1477  	// Deletes a book. Returns NOT_FOUND if the book does not exist.
  1478  	DeleteBook(ctx context.Context, in *DeleteBookRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  1479  	// Updates a book. Returns INVALID_ARGUMENT if the name of the book
  1480  	// is non-empty and does not equal the existing name.
  1481  	UpdateBook(ctx context.Context, in *UpdateBookRequest, opts ...grpc.CallOption) (*Book, error)
  1482  	// Moves a book to another shelf, and returns the new book. The book
  1483  	// id of the new book may not be the same as the original book.
  1484  	MoveBook(ctx context.Context, in *MoveBookRequest, opts ...grpc.CallOption) (*Book, error)
  1485  }
  1486  
  1487  type libraryServiceClient struct {
  1488  	cc grpc.ClientConnInterface
  1489  }
  1490  
  1491  func NewLibraryServiceClient(cc grpc.ClientConnInterface) LibraryServiceClient {
  1492  	return &libraryServiceClient{cc}
  1493  }
  1494  
  1495  func (c *libraryServiceClient) CreateShelf(ctx context.Context, in *CreateShelfRequest, opts ...grpc.CallOption) (*Shelf, error) {
  1496  	out := new(Shelf)
  1497  	err := c.cc.Invoke(ctx, "/google.example.library.v1.LibraryService/CreateShelf", in, out, opts...)
  1498  	if err != nil {
  1499  		return nil, err
  1500  	}
  1501  	return out, nil
  1502  }
  1503  
  1504  func (c *libraryServiceClient) GetShelf(ctx context.Context, in *GetShelfRequest, opts ...grpc.CallOption) (*Shelf, error) {
  1505  	out := new(Shelf)
  1506  	err := c.cc.Invoke(ctx, "/google.example.library.v1.LibraryService/GetShelf", in, out, opts...)
  1507  	if err != nil {
  1508  		return nil, err
  1509  	}
  1510  	return out, nil
  1511  }
  1512  
  1513  func (c *libraryServiceClient) ListShelves(ctx context.Context, in *ListShelvesRequest, opts ...grpc.CallOption) (*ListShelvesResponse, error) {
  1514  	out := new(ListShelvesResponse)
  1515  	err := c.cc.Invoke(ctx, "/google.example.library.v1.LibraryService/ListShelves", in, out, opts...)
  1516  	if err != nil {
  1517  		return nil, err
  1518  	}
  1519  	return out, nil
  1520  }
  1521  
  1522  func (c *libraryServiceClient) DeleteShelf(ctx context.Context, in *DeleteShelfRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  1523  	out := new(emptypb.Empty)
  1524  	err := c.cc.Invoke(ctx, "/google.example.library.v1.LibraryService/DeleteShelf", in, out, opts...)
  1525  	if err != nil {
  1526  		return nil, err
  1527  	}
  1528  	return out, nil
  1529  }
  1530  
  1531  func (c *libraryServiceClient) MergeShelves(ctx context.Context, in *MergeShelvesRequest, opts ...grpc.CallOption) (*Shelf, error) {
  1532  	out := new(Shelf)
  1533  	err := c.cc.Invoke(ctx, "/google.example.library.v1.LibraryService/MergeShelves", in, out, opts...)
  1534  	if err != nil {
  1535  		return nil, err
  1536  	}
  1537  	return out, nil
  1538  }
  1539  
  1540  func (c *libraryServiceClient) CreateBook(ctx context.Context, in *CreateBookRequest, opts ...grpc.CallOption) (*Book, error) {
  1541  	out := new(Book)
  1542  	err := c.cc.Invoke(ctx, "/google.example.library.v1.LibraryService/CreateBook", in, out, opts...)
  1543  	if err != nil {
  1544  		return nil, err
  1545  	}
  1546  	return out, nil
  1547  }
  1548  
  1549  func (c *libraryServiceClient) GetBook(ctx context.Context, in *GetBookRequest, opts ...grpc.CallOption) (*Book, error) {
  1550  	out := new(Book)
  1551  	err := c.cc.Invoke(ctx, "/google.example.library.v1.LibraryService/GetBook", in, out, opts...)
  1552  	if err != nil {
  1553  		return nil, err
  1554  	}
  1555  	return out, nil
  1556  }
  1557  
  1558  func (c *libraryServiceClient) ListBooks(ctx context.Context, in *ListBooksRequest, opts ...grpc.CallOption) (*ListBooksResponse, error) {
  1559  	out := new(ListBooksResponse)
  1560  	err := c.cc.Invoke(ctx, "/google.example.library.v1.LibraryService/ListBooks", in, out, opts...)
  1561  	if err != nil {
  1562  		return nil, err
  1563  	}
  1564  	return out, nil
  1565  }
  1566  
  1567  func (c *libraryServiceClient) DeleteBook(ctx context.Context, in *DeleteBookRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  1568  	out := new(emptypb.Empty)
  1569  	err := c.cc.Invoke(ctx, "/google.example.library.v1.LibraryService/DeleteBook", in, out, opts...)
  1570  	if err != nil {
  1571  		return nil, err
  1572  	}
  1573  	return out, nil
  1574  }
  1575  
  1576  func (c *libraryServiceClient) UpdateBook(ctx context.Context, in *UpdateBookRequest, opts ...grpc.CallOption) (*Book, error) {
  1577  	out := new(Book)
  1578  	err := c.cc.Invoke(ctx, "/google.example.library.v1.LibraryService/UpdateBook", in, out, opts...)
  1579  	if err != nil {
  1580  		return nil, err
  1581  	}
  1582  	return out, nil
  1583  }
  1584  
  1585  func (c *libraryServiceClient) MoveBook(ctx context.Context, in *MoveBookRequest, opts ...grpc.CallOption) (*Book, error) {
  1586  	out := new(Book)
  1587  	err := c.cc.Invoke(ctx, "/google.example.library.v1.LibraryService/MoveBook", in, out, opts...)
  1588  	if err != nil {
  1589  		return nil, err
  1590  	}
  1591  	return out, nil
  1592  }
  1593  
  1594  // LibraryServiceServer is the server API for LibraryService service.
  1595  type LibraryServiceServer interface {
  1596  	// Creates a shelf, and returns the new Shelf.
  1597  	CreateShelf(context.Context, *CreateShelfRequest) (*Shelf, error)
  1598  	// Gets a shelf. Returns NOT_FOUND if the shelf does not exist.
  1599  	GetShelf(context.Context, *GetShelfRequest) (*Shelf, error)
  1600  	// Lists shelves. The order is unspecified but deterministic. Newly created
  1601  	// shelves will not necessarily be added to the end of this list.
  1602  	ListShelves(context.Context, *ListShelvesRequest) (*ListShelvesResponse, error)
  1603  	// Deletes a shelf. Returns NOT_FOUND if the shelf does not exist.
  1604  	DeleteShelf(context.Context, *DeleteShelfRequest) (*emptypb.Empty, error)
  1605  	// Merges two shelves by adding all books from the shelf named
  1606  	// `other_shelf_name` to shelf `name`, and deletes
  1607  	// `other_shelf_name`. Returns the updated shelf.
  1608  	// The book ids of the moved books may not be the same as the original books.
  1609  	//
  1610  	// Returns NOT_FOUND if either shelf does not exist.
  1611  	// This call is a no-op if the specified shelves are the same.
  1612  	MergeShelves(context.Context, *MergeShelvesRequest) (*Shelf, error)
  1613  	// Creates a book, and returns the new Book.
  1614  	CreateBook(context.Context, *CreateBookRequest) (*Book, error)
  1615  	// Gets a book. Returns NOT_FOUND if the book does not exist.
  1616  	GetBook(context.Context, *GetBookRequest) (*Book, error)
  1617  	// Lists books in a shelf. The order is unspecified but deterministic. Newly
  1618  	// created books will not necessarily be added to the end of this list.
  1619  	// Returns NOT_FOUND if the shelf does not exist.
  1620  	ListBooks(context.Context, *ListBooksRequest) (*ListBooksResponse, error)
  1621  	// Deletes a book. Returns NOT_FOUND if the book does not exist.
  1622  	DeleteBook(context.Context, *DeleteBookRequest) (*emptypb.Empty, error)
  1623  	// Updates a book. Returns INVALID_ARGUMENT if the name of the book
  1624  	// is non-empty and does not equal the existing name.
  1625  	UpdateBook(context.Context, *UpdateBookRequest) (*Book, error)
  1626  	// Moves a book to another shelf, and returns the new book. The book
  1627  	// id of the new book may not be the same as the original book.
  1628  	MoveBook(context.Context, *MoveBookRequest) (*Book, error)
  1629  }
  1630  
  1631  // UnimplementedLibraryServiceServer can be embedded to have forward compatible implementations.
  1632  type UnimplementedLibraryServiceServer struct {
  1633  }
  1634  
  1635  func (*UnimplementedLibraryServiceServer) CreateShelf(context.Context, *CreateShelfRequest) (*Shelf, error) {
  1636  	return nil, status.Errorf(codes.Unimplemented, "method CreateShelf not implemented")
  1637  }
  1638  func (*UnimplementedLibraryServiceServer) GetShelf(context.Context, *GetShelfRequest) (*Shelf, error) {
  1639  	return nil, status.Errorf(codes.Unimplemented, "method GetShelf not implemented")
  1640  }
  1641  func (*UnimplementedLibraryServiceServer) ListShelves(context.Context, *ListShelvesRequest) (*ListShelvesResponse, error) {
  1642  	return nil, status.Errorf(codes.Unimplemented, "method ListShelves not implemented")
  1643  }
  1644  func (*UnimplementedLibraryServiceServer) DeleteShelf(context.Context, *DeleteShelfRequest) (*emptypb.Empty, error) {
  1645  	return nil, status.Errorf(codes.Unimplemented, "method DeleteShelf not implemented")
  1646  }
  1647  func (*UnimplementedLibraryServiceServer) MergeShelves(context.Context, *MergeShelvesRequest) (*Shelf, error) {
  1648  	return nil, status.Errorf(codes.Unimplemented, "method MergeShelves not implemented")
  1649  }
  1650  func (*UnimplementedLibraryServiceServer) CreateBook(context.Context, *CreateBookRequest) (*Book, error) {
  1651  	return nil, status.Errorf(codes.Unimplemented, "method CreateBook not implemented")
  1652  }
  1653  func (*UnimplementedLibraryServiceServer) GetBook(context.Context, *GetBookRequest) (*Book, error) {
  1654  	return nil, status.Errorf(codes.Unimplemented, "method GetBook not implemented")
  1655  }
  1656  func (*UnimplementedLibraryServiceServer) ListBooks(context.Context, *ListBooksRequest) (*ListBooksResponse, error) {
  1657  	return nil, status.Errorf(codes.Unimplemented, "method ListBooks not implemented")
  1658  }
  1659  func (*UnimplementedLibraryServiceServer) DeleteBook(context.Context, *DeleteBookRequest) (*emptypb.Empty, error) {
  1660  	return nil, status.Errorf(codes.Unimplemented, "method DeleteBook not implemented")
  1661  }
  1662  func (*UnimplementedLibraryServiceServer) UpdateBook(context.Context, *UpdateBookRequest) (*Book, error) {
  1663  	return nil, status.Errorf(codes.Unimplemented, "method UpdateBook not implemented")
  1664  }
  1665  func (*UnimplementedLibraryServiceServer) MoveBook(context.Context, *MoveBookRequest) (*Book, error) {
  1666  	return nil, status.Errorf(codes.Unimplemented, "method MoveBook not implemented")
  1667  }
  1668  
  1669  func RegisterLibraryServiceServer(s *grpc.Server, srv LibraryServiceServer) {
  1670  	s.RegisterService(&_LibraryService_serviceDesc, srv)
  1671  }
  1672  
  1673  func _LibraryService_CreateShelf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1674  	in := new(CreateShelfRequest)
  1675  	if err := dec(in); err != nil {
  1676  		return nil, err
  1677  	}
  1678  	if interceptor == nil {
  1679  		return srv.(LibraryServiceServer).CreateShelf(ctx, in)
  1680  	}
  1681  	info := &grpc.UnaryServerInfo{
  1682  		Server:     srv,
  1683  		FullMethod: "/google.example.library.v1.LibraryService/CreateShelf",
  1684  	}
  1685  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1686  		return srv.(LibraryServiceServer).CreateShelf(ctx, req.(*CreateShelfRequest))
  1687  	}
  1688  	return interceptor(ctx, in, info, handler)
  1689  }
  1690  
  1691  func _LibraryService_GetShelf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1692  	in := new(GetShelfRequest)
  1693  	if err := dec(in); err != nil {
  1694  		return nil, err
  1695  	}
  1696  	if interceptor == nil {
  1697  		return srv.(LibraryServiceServer).GetShelf(ctx, in)
  1698  	}
  1699  	info := &grpc.UnaryServerInfo{
  1700  		Server:     srv,
  1701  		FullMethod: "/google.example.library.v1.LibraryService/GetShelf",
  1702  	}
  1703  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1704  		return srv.(LibraryServiceServer).GetShelf(ctx, req.(*GetShelfRequest))
  1705  	}
  1706  	return interceptor(ctx, in, info, handler)
  1707  }
  1708  
  1709  func _LibraryService_ListShelves_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1710  	in := new(ListShelvesRequest)
  1711  	if err := dec(in); err != nil {
  1712  		return nil, err
  1713  	}
  1714  	if interceptor == nil {
  1715  		return srv.(LibraryServiceServer).ListShelves(ctx, in)
  1716  	}
  1717  	info := &grpc.UnaryServerInfo{
  1718  		Server:     srv,
  1719  		FullMethod: "/google.example.library.v1.LibraryService/ListShelves",
  1720  	}
  1721  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1722  		return srv.(LibraryServiceServer).ListShelves(ctx, req.(*ListShelvesRequest))
  1723  	}
  1724  	return interceptor(ctx, in, info, handler)
  1725  }
  1726  
  1727  func _LibraryService_DeleteShelf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1728  	in := new(DeleteShelfRequest)
  1729  	if err := dec(in); err != nil {
  1730  		return nil, err
  1731  	}
  1732  	if interceptor == nil {
  1733  		return srv.(LibraryServiceServer).DeleteShelf(ctx, in)
  1734  	}
  1735  	info := &grpc.UnaryServerInfo{
  1736  		Server:     srv,
  1737  		FullMethod: "/google.example.library.v1.LibraryService/DeleteShelf",
  1738  	}
  1739  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1740  		return srv.(LibraryServiceServer).DeleteShelf(ctx, req.(*DeleteShelfRequest))
  1741  	}
  1742  	return interceptor(ctx, in, info, handler)
  1743  }
  1744  
  1745  func _LibraryService_MergeShelves_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1746  	in := new(MergeShelvesRequest)
  1747  	if err := dec(in); err != nil {
  1748  		return nil, err
  1749  	}
  1750  	if interceptor == nil {
  1751  		return srv.(LibraryServiceServer).MergeShelves(ctx, in)
  1752  	}
  1753  	info := &grpc.UnaryServerInfo{
  1754  		Server:     srv,
  1755  		FullMethod: "/google.example.library.v1.LibraryService/MergeShelves",
  1756  	}
  1757  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1758  		return srv.(LibraryServiceServer).MergeShelves(ctx, req.(*MergeShelvesRequest))
  1759  	}
  1760  	return interceptor(ctx, in, info, handler)
  1761  }
  1762  
  1763  func _LibraryService_CreateBook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1764  	in := new(CreateBookRequest)
  1765  	if err := dec(in); err != nil {
  1766  		return nil, err
  1767  	}
  1768  	if interceptor == nil {
  1769  		return srv.(LibraryServiceServer).CreateBook(ctx, in)
  1770  	}
  1771  	info := &grpc.UnaryServerInfo{
  1772  		Server:     srv,
  1773  		FullMethod: "/google.example.library.v1.LibraryService/CreateBook",
  1774  	}
  1775  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1776  		return srv.(LibraryServiceServer).CreateBook(ctx, req.(*CreateBookRequest))
  1777  	}
  1778  	return interceptor(ctx, in, info, handler)
  1779  }
  1780  
  1781  func _LibraryService_GetBook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1782  	in := new(GetBookRequest)
  1783  	if err := dec(in); err != nil {
  1784  		return nil, err
  1785  	}
  1786  	if interceptor == nil {
  1787  		return srv.(LibraryServiceServer).GetBook(ctx, in)
  1788  	}
  1789  	info := &grpc.UnaryServerInfo{
  1790  		Server:     srv,
  1791  		FullMethod: "/google.example.library.v1.LibraryService/GetBook",
  1792  	}
  1793  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1794  		return srv.(LibraryServiceServer).GetBook(ctx, req.(*GetBookRequest))
  1795  	}
  1796  	return interceptor(ctx, in, info, handler)
  1797  }
  1798  
  1799  func _LibraryService_ListBooks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1800  	in := new(ListBooksRequest)
  1801  	if err := dec(in); err != nil {
  1802  		return nil, err
  1803  	}
  1804  	if interceptor == nil {
  1805  		return srv.(LibraryServiceServer).ListBooks(ctx, in)
  1806  	}
  1807  	info := &grpc.UnaryServerInfo{
  1808  		Server:     srv,
  1809  		FullMethod: "/google.example.library.v1.LibraryService/ListBooks",
  1810  	}
  1811  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1812  		return srv.(LibraryServiceServer).ListBooks(ctx, req.(*ListBooksRequest))
  1813  	}
  1814  	return interceptor(ctx, in, info, handler)
  1815  }
  1816  
  1817  func _LibraryService_DeleteBook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1818  	in := new(DeleteBookRequest)
  1819  	if err := dec(in); err != nil {
  1820  		return nil, err
  1821  	}
  1822  	if interceptor == nil {
  1823  		return srv.(LibraryServiceServer).DeleteBook(ctx, in)
  1824  	}
  1825  	info := &grpc.UnaryServerInfo{
  1826  		Server:     srv,
  1827  		FullMethod: "/google.example.library.v1.LibraryService/DeleteBook",
  1828  	}
  1829  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1830  		return srv.(LibraryServiceServer).DeleteBook(ctx, req.(*DeleteBookRequest))
  1831  	}
  1832  	return interceptor(ctx, in, info, handler)
  1833  }
  1834  
  1835  func _LibraryService_UpdateBook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1836  	in := new(UpdateBookRequest)
  1837  	if err := dec(in); err != nil {
  1838  		return nil, err
  1839  	}
  1840  	if interceptor == nil {
  1841  		return srv.(LibraryServiceServer).UpdateBook(ctx, in)
  1842  	}
  1843  	info := &grpc.UnaryServerInfo{
  1844  		Server:     srv,
  1845  		FullMethod: "/google.example.library.v1.LibraryService/UpdateBook",
  1846  	}
  1847  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1848  		return srv.(LibraryServiceServer).UpdateBook(ctx, req.(*UpdateBookRequest))
  1849  	}
  1850  	return interceptor(ctx, in, info, handler)
  1851  }
  1852  
  1853  func _LibraryService_MoveBook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1854  	in := new(MoveBookRequest)
  1855  	if err := dec(in); err != nil {
  1856  		return nil, err
  1857  	}
  1858  	if interceptor == nil {
  1859  		return srv.(LibraryServiceServer).MoveBook(ctx, in)
  1860  	}
  1861  	info := &grpc.UnaryServerInfo{
  1862  		Server:     srv,
  1863  		FullMethod: "/google.example.library.v1.LibraryService/MoveBook",
  1864  	}
  1865  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1866  		return srv.(LibraryServiceServer).MoveBook(ctx, req.(*MoveBookRequest))
  1867  	}
  1868  	return interceptor(ctx, in, info, handler)
  1869  }
  1870  
  1871  var _LibraryService_serviceDesc = grpc.ServiceDesc{
  1872  	ServiceName: "google.example.library.v1.LibraryService",
  1873  	HandlerType: (*LibraryServiceServer)(nil),
  1874  	Methods: []grpc.MethodDesc{
  1875  		{
  1876  			MethodName: "CreateShelf",
  1877  			Handler:    _LibraryService_CreateShelf_Handler,
  1878  		},
  1879  		{
  1880  			MethodName: "GetShelf",
  1881  			Handler:    _LibraryService_GetShelf_Handler,
  1882  		},
  1883  		{
  1884  			MethodName: "ListShelves",
  1885  			Handler:    _LibraryService_ListShelves_Handler,
  1886  		},
  1887  		{
  1888  			MethodName: "DeleteShelf",
  1889  			Handler:    _LibraryService_DeleteShelf_Handler,
  1890  		},
  1891  		{
  1892  			MethodName: "MergeShelves",
  1893  			Handler:    _LibraryService_MergeShelves_Handler,
  1894  		},
  1895  		{
  1896  			MethodName: "CreateBook",
  1897  			Handler:    _LibraryService_CreateBook_Handler,
  1898  		},
  1899  		{
  1900  			MethodName: "GetBook",
  1901  			Handler:    _LibraryService_GetBook_Handler,
  1902  		},
  1903  		{
  1904  			MethodName: "ListBooks",
  1905  			Handler:    _LibraryService_ListBooks_Handler,
  1906  		},
  1907  		{
  1908  			MethodName: "DeleteBook",
  1909  			Handler:    _LibraryService_DeleteBook_Handler,
  1910  		},
  1911  		{
  1912  			MethodName: "UpdateBook",
  1913  			Handler:    _LibraryService_UpdateBook_Handler,
  1914  		},
  1915  		{
  1916  			MethodName: "MoveBook",
  1917  			Handler:    _LibraryService_MoveBook_Handler,
  1918  		},
  1919  	},
  1920  	Streams:  []grpc.StreamDesc{},
  1921  	Metadata: "google/example/library/v1/library.proto",
  1922  }
  1923  

View as plain text