github.com/ledgerwatch/erigon-lib@v1.0.0/gointerfaces/remote/kv.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.31.0
     4  // 	protoc        v4.24.2
     5  // source: remote/kv.proto
     6  
     7  package remote
     8  
     9  import (
    10  	types "github.com/ledgerwatch/erigon-lib/gointerfaces/types"
    11  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    12  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    13  	emptypb "google.golang.org/protobuf/types/known/emptypb"
    14  	reflect "reflect"
    15  	sync "sync"
    16  )
    17  
    18  const (
    19  	// Verify that this generated code is sufficiently up-to-date.
    20  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    21  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    22  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    23  )
    24  
    25  type Op int32
    26  
    27  const (
    28  	Op_FIRST           Op = 0
    29  	Op_FIRST_DUP       Op = 1
    30  	Op_SEEK            Op = 2
    31  	Op_SEEK_BOTH       Op = 3
    32  	Op_CURRENT         Op = 4
    33  	Op_LAST            Op = 6
    34  	Op_LAST_DUP        Op = 7
    35  	Op_NEXT            Op = 8
    36  	Op_NEXT_DUP        Op = 9
    37  	Op_NEXT_NO_DUP     Op = 11
    38  	Op_PREV            Op = 12
    39  	Op_PREV_DUP        Op = 13
    40  	Op_PREV_NO_DUP     Op = 14
    41  	Op_SEEK_EXACT      Op = 15
    42  	Op_SEEK_BOTH_EXACT Op = 16
    43  	Op_OPEN            Op = 30
    44  	Op_CLOSE           Op = 31
    45  	Op_OPEN_DUP_SORT   Op = 32
    46  	Op_COUNT           Op = 33
    47  )
    48  
    49  // Enum value maps for Op.
    50  var (
    51  	Op_name = map[int32]string{
    52  		0:  "FIRST",
    53  		1:  "FIRST_DUP",
    54  		2:  "SEEK",
    55  		3:  "SEEK_BOTH",
    56  		4:  "CURRENT",
    57  		6:  "LAST",
    58  		7:  "LAST_DUP",
    59  		8:  "NEXT",
    60  		9:  "NEXT_DUP",
    61  		11: "NEXT_NO_DUP",
    62  		12: "PREV",
    63  		13: "PREV_DUP",
    64  		14: "PREV_NO_DUP",
    65  		15: "SEEK_EXACT",
    66  		16: "SEEK_BOTH_EXACT",
    67  		30: "OPEN",
    68  		31: "CLOSE",
    69  		32: "OPEN_DUP_SORT",
    70  		33: "COUNT",
    71  	}
    72  	Op_value = map[string]int32{
    73  		"FIRST":           0,
    74  		"FIRST_DUP":       1,
    75  		"SEEK":            2,
    76  		"SEEK_BOTH":       3,
    77  		"CURRENT":         4,
    78  		"LAST":            6,
    79  		"LAST_DUP":        7,
    80  		"NEXT":            8,
    81  		"NEXT_DUP":        9,
    82  		"NEXT_NO_DUP":     11,
    83  		"PREV":            12,
    84  		"PREV_DUP":        13,
    85  		"PREV_NO_DUP":     14,
    86  		"SEEK_EXACT":      15,
    87  		"SEEK_BOTH_EXACT": 16,
    88  		"OPEN":            30,
    89  		"CLOSE":           31,
    90  		"OPEN_DUP_SORT":   32,
    91  		"COUNT":           33,
    92  	}
    93  )
    94  
    95  func (x Op) Enum() *Op {
    96  	p := new(Op)
    97  	*p = x
    98  	return p
    99  }
   100  
   101  func (x Op) String() string {
   102  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   103  }
   104  
   105  func (Op) Descriptor() protoreflect.EnumDescriptor {
   106  	return file_remote_kv_proto_enumTypes[0].Descriptor()
   107  }
   108  
   109  func (Op) Type() protoreflect.EnumType {
   110  	return &file_remote_kv_proto_enumTypes[0]
   111  }
   112  
   113  func (x Op) Number() protoreflect.EnumNumber {
   114  	return protoreflect.EnumNumber(x)
   115  }
   116  
   117  // Deprecated: Use Op.Descriptor instead.
   118  func (Op) EnumDescriptor() ([]byte, []int) {
   119  	return file_remote_kv_proto_rawDescGZIP(), []int{0}
   120  }
   121  
   122  type Action int32
   123  
   124  const (
   125  	Action_STORAGE     Action = 0 // Change only in the storage
   126  	Action_UPSERT      Action = 1 // Change of balance or nonce (and optionally storage)
   127  	Action_CODE        Action = 2 // Change of code (and optionally storage)
   128  	Action_UPSERT_CODE Action = 3 // Change in (balance or nonce) and code (and optinally storage)
   129  	Action_REMOVE      Action = 4 // Account is deleted
   130  )
   131  
   132  // Enum value maps for Action.
   133  var (
   134  	Action_name = map[int32]string{
   135  		0: "STORAGE",
   136  		1: "UPSERT",
   137  		2: "CODE",
   138  		3: "UPSERT_CODE",
   139  		4: "REMOVE",
   140  	}
   141  	Action_value = map[string]int32{
   142  		"STORAGE":     0,
   143  		"UPSERT":      1,
   144  		"CODE":        2,
   145  		"UPSERT_CODE": 3,
   146  		"REMOVE":      4,
   147  	}
   148  )
   149  
   150  func (x Action) Enum() *Action {
   151  	p := new(Action)
   152  	*p = x
   153  	return p
   154  }
   155  
   156  func (x Action) String() string {
   157  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   158  }
   159  
   160  func (Action) Descriptor() protoreflect.EnumDescriptor {
   161  	return file_remote_kv_proto_enumTypes[1].Descriptor()
   162  }
   163  
   164  func (Action) Type() protoreflect.EnumType {
   165  	return &file_remote_kv_proto_enumTypes[1]
   166  }
   167  
   168  func (x Action) Number() protoreflect.EnumNumber {
   169  	return protoreflect.EnumNumber(x)
   170  }
   171  
   172  // Deprecated: Use Action.Descriptor instead.
   173  func (Action) EnumDescriptor() ([]byte, []int) {
   174  	return file_remote_kv_proto_rawDescGZIP(), []int{1}
   175  }
   176  
   177  type Direction int32
   178  
   179  const (
   180  	Direction_FORWARD Direction = 0
   181  	Direction_UNWIND  Direction = 1
   182  )
   183  
   184  // Enum value maps for Direction.
   185  var (
   186  	Direction_name = map[int32]string{
   187  		0: "FORWARD",
   188  		1: "UNWIND",
   189  	}
   190  	Direction_value = map[string]int32{
   191  		"FORWARD": 0,
   192  		"UNWIND":  1,
   193  	}
   194  )
   195  
   196  func (x Direction) Enum() *Direction {
   197  	p := new(Direction)
   198  	*p = x
   199  	return p
   200  }
   201  
   202  func (x Direction) String() string {
   203  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   204  }
   205  
   206  func (Direction) Descriptor() protoreflect.EnumDescriptor {
   207  	return file_remote_kv_proto_enumTypes[2].Descriptor()
   208  }
   209  
   210  func (Direction) Type() protoreflect.EnumType {
   211  	return &file_remote_kv_proto_enumTypes[2]
   212  }
   213  
   214  func (x Direction) Number() protoreflect.EnumNumber {
   215  	return protoreflect.EnumNumber(x)
   216  }
   217  
   218  // Deprecated: Use Direction.Descriptor instead.
   219  func (Direction) EnumDescriptor() ([]byte, []int) {
   220  	return file_remote_kv_proto_rawDescGZIP(), []int{2}
   221  }
   222  
   223  type Cursor struct {
   224  	state         protoimpl.MessageState
   225  	sizeCache     protoimpl.SizeCache
   226  	unknownFields protoimpl.UnknownFields
   227  
   228  	Op         Op     `protobuf:"varint,1,opt,name=op,proto3,enum=remote.Op" json:"op,omitempty"`
   229  	BucketName string `protobuf:"bytes,2,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"`
   230  	Cursor     uint32 `protobuf:"varint,3,opt,name=cursor,proto3" json:"cursor,omitempty"`
   231  	K          []byte `protobuf:"bytes,4,opt,name=k,proto3" json:"k,omitempty"`
   232  	V          []byte `protobuf:"bytes,5,opt,name=v,proto3" json:"v,omitempty"`
   233  }
   234  
   235  func (x *Cursor) Reset() {
   236  	*x = Cursor{}
   237  	if protoimpl.UnsafeEnabled {
   238  		mi := &file_remote_kv_proto_msgTypes[0]
   239  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   240  		ms.StoreMessageInfo(mi)
   241  	}
   242  }
   243  
   244  func (x *Cursor) String() string {
   245  	return protoimpl.X.MessageStringOf(x)
   246  }
   247  
   248  func (*Cursor) ProtoMessage() {}
   249  
   250  func (x *Cursor) ProtoReflect() protoreflect.Message {
   251  	mi := &file_remote_kv_proto_msgTypes[0]
   252  	if protoimpl.UnsafeEnabled && x != nil {
   253  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   254  		if ms.LoadMessageInfo() == nil {
   255  			ms.StoreMessageInfo(mi)
   256  		}
   257  		return ms
   258  	}
   259  	return mi.MessageOf(x)
   260  }
   261  
   262  // Deprecated: Use Cursor.ProtoReflect.Descriptor instead.
   263  func (*Cursor) Descriptor() ([]byte, []int) {
   264  	return file_remote_kv_proto_rawDescGZIP(), []int{0}
   265  }
   266  
   267  func (x *Cursor) GetOp() Op {
   268  	if x != nil {
   269  		return x.Op
   270  	}
   271  	return Op_FIRST
   272  }
   273  
   274  func (x *Cursor) GetBucketName() string {
   275  	if x != nil {
   276  		return x.BucketName
   277  	}
   278  	return ""
   279  }
   280  
   281  func (x *Cursor) GetCursor() uint32 {
   282  	if x != nil {
   283  		return x.Cursor
   284  	}
   285  	return 0
   286  }
   287  
   288  func (x *Cursor) GetK() []byte {
   289  	if x != nil {
   290  		return x.K
   291  	}
   292  	return nil
   293  }
   294  
   295  func (x *Cursor) GetV() []byte {
   296  	if x != nil {
   297  		return x.V
   298  	}
   299  	return nil
   300  }
   301  
   302  type Pair struct {
   303  	state         protoimpl.MessageState
   304  	sizeCache     protoimpl.SizeCache
   305  	unknownFields protoimpl.UnknownFields
   306  
   307  	K        []byte `protobuf:"bytes,1,opt,name=k,proto3" json:"k,omitempty"`
   308  	V        []byte `protobuf:"bytes,2,opt,name=v,proto3" json:"v,omitempty"`
   309  	CursorId uint32 `protobuf:"varint,3,opt,name=cursor_id,json=cursorId,proto3" json:"cursor_id,omitempty"` // send once after new cursor open
   310  	ViewId   uint64 `protobuf:"varint,4,opt,name=view_id,json=viewId,proto3" json:"view_id,omitempty"`       // return once after tx open. mdbx's tx.ViewID() - id of write transaction in db
   311  	TxId     uint64 `protobuf:"varint,5,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"`             // return once after tx open. internal identifier - use it in other methods - to achieve consistant DB view (to read data from same DB tx on server).
   312  }
   313  
   314  func (x *Pair) Reset() {
   315  	*x = Pair{}
   316  	if protoimpl.UnsafeEnabled {
   317  		mi := &file_remote_kv_proto_msgTypes[1]
   318  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   319  		ms.StoreMessageInfo(mi)
   320  	}
   321  }
   322  
   323  func (x *Pair) String() string {
   324  	return protoimpl.X.MessageStringOf(x)
   325  }
   326  
   327  func (*Pair) ProtoMessage() {}
   328  
   329  func (x *Pair) ProtoReflect() protoreflect.Message {
   330  	mi := &file_remote_kv_proto_msgTypes[1]
   331  	if protoimpl.UnsafeEnabled && x != nil {
   332  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   333  		if ms.LoadMessageInfo() == nil {
   334  			ms.StoreMessageInfo(mi)
   335  		}
   336  		return ms
   337  	}
   338  	return mi.MessageOf(x)
   339  }
   340  
   341  // Deprecated: Use Pair.ProtoReflect.Descriptor instead.
   342  func (*Pair) Descriptor() ([]byte, []int) {
   343  	return file_remote_kv_proto_rawDescGZIP(), []int{1}
   344  }
   345  
   346  func (x *Pair) GetK() []byte {
   347  	if x != nil {
   348  		return x.K
   349  	}
   350  	return nil
   351  }
   352  
   353  func (x *Pair) GetV() []byte {
   354  	if x != nil {
   355  		return x.V
   356  	}
   357  	return nil
   358  }
   359  
   360  func (x *Pair) GetCursorId() uint32 {
   361  	if x != nil {
   362  		return x.CursorId
   363  	}
   364  	return 0
   365  }
   366  
   367  func (x *Pair) GetViewId() uint64 {
   368  	if x != nil {
   369  		return x.ViewId
   370  	}
   371  	return 0
   372  }
   373  
   374  func (x *Pair) GetTxId() uint64 {
   375  	if x != nil {
   376  		return x.TxId
   377  	}
   378  	return 0
   379  }
   380  
   381  type StorageChange struct {
   382  	state         protoimpl.MessageState
   383  	sizeCache     protoimpl.SizeCache
   384  	unknownFields protoimpl.UnknownFields
   385  
   386  	Location *types.H256 `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
   387  	Data     []byte      `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
   388  }
   389  
   390  func (x *StorageChange) Reset() {
   391  	*x = StorageChange{}
   392  	if protoimpl.UnsafeEnabled {
   393  		mi := &file_remote_kv_proto_msgTypes[2]
   394  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   395  		ms.StoreMessageInfo(mi)
   396  	}
   397  }
   398  
   399  func (x *StorageChange) String() string {
   400  	return protoimpl.X.MessageStringOf(x)
   401  }
   402  
   403  func (*StorageChange) ProtoMessage() {}
   404  
   405  func (x *StorageChange) ProtoReflect() protoreflect.Message {
   406  	mi := &file_remote_kv_proto_msgTypes[2]
   407  	if protoimpl.UnsafeEnabled && x != nil {
   408  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   409  		if ms.LoadMessageInfo() == nil {
   410  			ms.StoreMessageInfo(mi)
   411  		}
   412  		return ms
   413  	}
   414  	return mi.MessageOf(x)
   415  }
   416  
   417  // Deprecated: Use StorageChange.ProtoReflect.Descriptor instead.
   418  func (*StorageChange) Descriptor() ([]byte, []int) {
   419  	return file_remote_kv_proto_rawDescGZIP(), []int{2}
   420  }
   421  
   422  func (x *StorageChange) GetLocation() *types.H256 {
   423  	if x != nil {
   424  		return x.Location
   425  	}
   426  	return nil
   427  }
   428  
   429  func (x *StorageChange) GetData() []byte {
   430  	if x != nil {
   431  		return x.Data
   432  	}
   433  	return nil
   434  }
   435  
   436  type AccountChange struct {
   437  	state         protoimpl.MessageState
   438  	sizeCache     protoimpl.SizeCache
   439  	unknownFields protoimpl.UnknownFields
   440  
   441  	Address        *types.H160      `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
   442  	Incarnation    uint64           `protobuf:"varint,2,opt,name=incarnation,proto3" json:"incarnation,omitempty"`
   443  	Action         Action           `protobuf:"varint,3,opt,name=action,proto3,enum=remote.Action" json:"action,omitempty"`
   444  	Data           []byte           `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` // nil if there is no UPSERT in action
   445  	Code           []byte           `protobuf:"bytes,5,opt,name=code,proto3" json:"code,omitempty"` // nil if there is no CODE in action
   446  	StorageChanges []*StorageChange `protobuf:"bytes,6,rep,name=storage_changes,json=storageChanges,proto3" json:"storage_changes,omitempty"`
   447  }
   448  
   449  func (x *AccountChange) Reset() {
   450  	*x = AccountChange{}
   451  	if protoimpl.UnsafeEnabled {
   452  		mi := &file_remote_kv_proto_msgTypes[3]
   453  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   454  		ms.StoreMessageInfo(mi)
   455  	}
   456  }
   457  
   458  func (x *AccountChange) String() string {
   459  	return protoimpl.X.MessageStringOf(x)
   460  }
   461  
   462  func (*AccountChange) ProtoMessage() {}
   463  
   464  func (x *AccountChange) ProtoReflect() protoreflect.Message {
   465  	mi := &file_remote_kv_proto_msgTypes[3]
   466  	if protoimpl.UnsafeEnabled && x != nil {
   467  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   468  		if ms.LoadMessageInfo() == nil {
   469  			ms.StoreMessageInfo(mi)
   470  		}
   471  		return ms
   472  	}
   473  	return mi.MessageOf(x)
   474  }
   475  
   476  // Deprecated: Use AccountChange.ProtoReflect.Descriptor instead.
   477  func (*AccountChange) Descriptor() ([]byte, []int) {
   478  	return file_remote_kv_proto_rawDescGZIP(), []int{3}
   479  }
   480  
   481  func (x *AccountChange) GetAddress() *types.H160 {
   482  	if x != nil {
   483  		return x.Address
   484  	}
   485  	return nil
   486  }
   487  
   488  func (x *AccountChange) GetIncarnation() uint64 {
   489  	if x != nil {
   490  		return x.Incarnation
   491  	}
   492  	return 0
   493  }
   494  
   495  func (x *AccountChange) GetAction() Action {
   496  	if x != nil {
   497  		return x.Action
   498  	}
   499  	return Action_STORAGE
   500  }
   501  
   502  func (x *AccountChange) GetData() []byte {
   503  	if x != nil {
   504  		return x.Data
   505  	}
   506  	return nil
   507  }
   508  
   509  func (x *AccountChange) GetCode() []byte {
   510  	if x != nil {
   511  		return x.Code
   512  	}
   513  	return nil
   514  }
   515  
   516  func (x *AccountChange) GetStorageChanges() []*StorageChange {
   517  	if x != nil {
   518  		return x.StorageChanges
   519  	}
   520  	return nil
   521  }
   522  
   523  // StateChangeBatch - list of StateDiff done in one DB transaction
   524  type StateChangeBatch struct {
   525  	state         protoimpl.MessageState
   526  	sizeCache     protoimpl.SizeCache
   527  	unknownFields protoimpl.UnknownFields
   528  
   529  	StateVersionId       uint64         `protobuf:"varint,1,opt,name=state_version_id,json=stateVersionId,proto3" json:"state_version_id,omitempty"` // mdbx's tx.ID() - id of write transaction in db - where this changes happened
   530  	ChangeBatch          []*StateChange `protobuf:"bytes,2,rep,name=change_batch,json=changeBatch,proto3" json:"change_batch,omitempty"`
   531  	PendingBlockBaseFee  uint64         `protobuf:"varint,3,opt,name=pending_block_base_fee,json=pendingBlockBaseFee,proto3" json:"pending_block_base_fee,omitempty"` // BaseFee of the next block to be produced
   532  	BlockGasLimit        uint64         `protobuf:"varint,4,opt,name=block_gas_limit,json=blockGasLimit,proto3" json:"block_gas_limit,omitempty"`                     // GasLimit of the latest block - proxy for the gas limit of the next block to be produced
   533  	FinalizedBlock       uint64         `protobuf:"varint,5,opt,name=finalized_block,json=finalizedBlock,proto3" json:"finalized_block,omitempty"`
   534  	PendingBlobFeePerGas uint64         `protobuf:"varint,6,opt,name=pending_blob_fee_per_gas,json=pendingBlobFeePerGas,proto3" json:"pending_blob_fee_per_gas,omitempty"` // Base Blob Fee for the next block to be produced
   535  }
   536  
   537  func (x *StateChangeBatch) Reset() {
   538  	*x = StateChangeBatch{}
   539  	if protoimpl.UnsafeEnabled {
   540  		mi := &file_remote_kv_proto_msgTypes[4]
   541  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   542  		ms.StoreMessageInfo(mi)
   543  	}
   544  }
   545  
   546  func (x *StateChangeBatch) String() string {
   547  	return protoimpl.X.MessageStringOf(x)
   548  }
   549  
   550  func (*StateChangeBatch) ProtoMessage() {}
   551  
   552  func (x *StateChangeBatch) ProtoReflect() protoreflect.Message {
   553  	mi := &file_remote_kv_proto_msgTypes[4]
   554  	if protoimpl.UnsafeEnabled && x != nil {
   555  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   556  		if ms.LoadMessageInfo() == nil {
   557  			ms.StoreMessageInfo(mi)
   558  		}
   559  		return ms
   560  	}
   561  	return mi.MessageOf(x)
   562  }
   563  
   564  // Deprecated: Use StateChangeBatch.ProtoReflect.Descriptor instead.
   565  func (*StateChangeBatch) Descriptor() ([]byte, []int) {
   566  	return file_remote_kv_proto_rawDescGZIP(), []int{4}
   567  }
   568  
   569  func (x *StateChangeBatch) GetStateVersionId() uint64 {
   570  	if x != nil {
   571  		return x.StateVersionId
   572  	}
   573  	return 0
   574  }
   575  
   576  func (x *StateChangeBatch) GetChangeBatch() []*StateChange {
   577  	if x != nil {
   578  		return x.ChangeBatch
   579  	}
   580  	return nil
   581  }
   582  
   583  func (x *StateChangeBatch) GetPendingBlockBaseFee() uint64 {
   584  	if x != nil {
   585  		return x.PendingBlockBaseFee
   586  	}
   587  	return 0
   588  }
   589  
   590  func (x *StateChangeBatch) GetBlockGasLimit() uint64 {
   591  	if x != nil {
   592  		return x.BlockGasLimit
   593  	}
   594  	return 0
   595  }
   596  
   597  func (x *StateChangeBatch) GetFinalizedBlock() uint64 {
   598  	if x != nil {
   599  		return x.FinalizedBlock
   600  	}
   601  	return 0
   602  }
   603  
   604  func (x *StateChangeBatch) GetPendingBlobFeePerGas() uint64 {
   605  	if x != nil {
   606  		return x.PendingBlobFeePerGas
   607  	}
   608  	return 0
   609  }
   610  
   611  // StateChange - changes done by 1 block or by 1 unwind
   612  type StateChange struct {
   613  	state         protoimpl.MessageState
   614  	sizeCache     protoimpl.SizeCache
   615  	unknownFields protoimpl.UnknownFields
   616  
   617  	Direction   Direction        `protobuf:"varint,1,opt,name=direction,proto3,enum=remote.Direction" json:"direction,omitempty"`
   618  	BlockHeight uint64           `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"`
   619  	BlockHash   *types.H256      `protobuf:"bytes,3,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
   620  	Changes     []*AccountChange `protobuf:"bytes,4,rep,name=changes,proto3" json:"changes,omitempty"`
   621  	Txs         [][]byte         `protobuf:"bytes,5,rep,name=txs,proto3" json:"txs,omitempty"` // enable by withTransactions=true
   622  }
   623  
   624  func (x *StateChange) Reset() {
   625  	*x = StateChange{}
   626  	if protoimpl.UnsafeEnabled {
   627  		mi := &file_remote_kv_proto_msgTypes[5]
   628  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   629  		ms.StoreMessageInfo(mi)
   630  	}
   631  }
   632  
   633  func (x *StateChange) String() string {
   634  	return protoimpl.X.MessageStringOf(x)
   635  }
   636  
   637  func (*StateChange) ProtoMessage() {}
   638  
   639  func (x *StateChange) ProtoReflect() protoreflect.Message {
   640  	mi := &file_remote_kv_proto_msgTypes[5]
   641  	if protoimpl.UnsafeEnabled && x != nil {
   642  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   643  		if ms.LoadMessageInfo() == nil {
   644  			ms.StoreMessageInfo(mi)
   645  		}
   646  		return ms
   647  	}
   648  	return mi.MessageOf(x)
   649  }
   650  
   651  // Deprecated: Use StateChange.ProtoReflect.Descriptor instead.
   652  func (*StateChange) Descriptor() ([]byte, []int) {
   653  	return file_remote_kv_proto_rawDescGZIP(), []int{5}
   654  }
   655  
   656  func (x *StateChange) GetDirection() Direction {
   657  	if x != nil {
   658  		return x.Direction
   659  	}
   660  	return Direction_FORWARD
   661  }
   662  
   663  func (x *StateChange) GetBlockHeight() uint64 {
   664  	if x != nil {
   665  		return x.BlockHeight
   666  	}
   667  	return 0
   668  }
   669  
   670  func (x *StateChange) GetBlockHash() *types.H256 {
   671  	if x != nil {
   672  		return x.BlockHash
   673  	}
   674  	return nil
   675  }
   676  
   677  func (x *StateChange) GetChanges() []*AccountChange {
   678  	if x != nil {
   679  		return x.Changes
   680  	}
   681  	return nil
   682  }
   683  
   684  func (x *StateChange) GetTxs() [][]byte {
   685  	if x != nil {
   686  		return x.Txs
   687  	}
   688  	return nil
   689  }
   690  
   691  type StateChangeRequest struct {
   692  	state         protoimpl.MessageState
   693  	sizeCache     protoimpl.SizeCache
   694  	unknownFields protoimpl.UnknownFields
   695  
   696  	WithStorage      bool `protobuf:"varint,1,opt,name=with_storage,json=withStorage,proto3" json:"with_storage,omitempty"`
   697  	WithTransactions bool `protobuf:"varint,2,opt,name=with_transactions,json=withTransactions,proto3" json:"with_transactions,omitempty"`
   698  }
   699  
   700  func (x *StateChangeRequest) Reset() {
   701  	*x = StateChangeRequest{}
   702  	if protoimpl.UnsafeEnabled {
   703  		mi := &file_remote_kv_proto_msgTypes[6]
   704  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   705  		ms.StoreMessageInfo(mi)
   706  	}
   707  }
   708  
   709  func (x *StateChangeRequest) String() string {
   710  	return protoimpl.X.MessageStringOf(x)
   711  }
   712  
   713  func (*StateChangeRequest) ProtoMessage() {}
   714  
   715  func (x *StateChangeRequest) ProtoReflect() protoreflect.Message {
   716  	mi := &file_remote_kv_proto_msgTypes[6]
   717  	if protoimpl.UnsafeEnabled && x != nil {
   718  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   719  		if ms.LoadMessageInfo() == nil {
   720  			ms.StoreMessageInfo(mi)
   721  		}
   722  		return ms
   723  	}
   724  	return mi.MessageOf(x)
   725  }
   726  
   727  // Deprecated: Use StateChangeRequest.ProtoReflect.Descriptor instead.
   728  func (*StateChangeRequest) Descriptor() ([]byte, []int) {
   729  	return file_remote_kv_proto_rawDescGZIP(), []int{6}
   730  }
   731  
   732  func (x *StateChangeRequest) GetWithStorage() bool {
   733  	if x != nil {
   734  		return x.WithStorage
   735  	}
   736  	return false
   737  }
   738  
   739  func (x *StateChangeRequest) GetWithTransactions() bool {
   740  	if x != nil {
   741  		return x.WithTransactions
   742  	}
   743  	return false
   744  }
   745  
   746  type SnapshotsRequest struct {
   747  	state         protoimpl.MessageState
   748  	sizeCache     protoimpl.SizeCache
   749  	unknownFields protoimpl.UnknownFields
   750  }
   751  
   752  func (x *SnapshotsRequest) Reset() {
   753  	*x = SnapshotsRequest{}
   754  	if protoimpl.UnsafeEnabled {
   755  		mi := &file_remote_kv_proto_msgTypes[7]
   756  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   757  		ms.StoreMessageInfo(mi)
   758  	}
   759  }
   760  
   761  func (x *SnapshotsRequest) String() string {
   762  	return protoimpl.X.MessageStringOf(x)
   763  }
   764  
   765  func (*SnapshotsRequest) ProtoMessage() {}
   766  
   767  func (x *SnapshotsRequest) ProtoReflect() protoreflect.Message {
   768  	mi := &file_remote_kv_proto_msgTypes[7]
   769  	if protoimpl.UnsafeEnabled && x != nil {
   770  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   771  		if ms.LoadMessageInfo() == nil {
   772  			ms.StoreMessageInfo(mi)
   773  		}
   774  		return ms
   775  	}
   776  	return mi.MessageOf(x)
   777  }
   778  
   779  // Deprecated: Use SnapshotsRequest.ProtoReflect.Descriptor instead.
   780  func (*SnapshotsRequest) Descriptor() ([]byte, []int) {
   781  	return file_remote_kv_proto_rawDescGZIP(), []int{7}
   782  }
   783  
   784  type SnapshotsReply struct {
   785  	state         protoimpl.MessageState
   786  	sizeCache     protoimpl.SizeCache
   787  	unknownFields protoimpl.UnknownFields
   788  
   789  	BlocksFiles  []string `protobuf:"bytes,1,rep,name=blocks_files,json=blocksFiles,proto3" json:"blocks_files,omitempty"`
   790  	HistoryFiles []string `protobuf:"bytes,2,rep,name=history_files,json=historyFiles,proto3" json:"history_files,omitempty"`
   791  }
   792  
   793  func (x *SnapshotsReply) Reset() {
   794  	*x = SnapshotsReply{}
   795  	if protoimpl.UnsafeEnabled {
   796  		mi := &file_remote_kv_proto_msgTypes[8]
   797  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   798  		ms.StoreMessageInfo(mi)
   799  	}
   800  }
   801  
   802  func (x *SnapshotsReply) String() string {
   803  	return protoimpl.X.MessageStringOf(x)
   804  }
   805  
   806  func (*SnapshotsReply) ProtoMessage() {}
   807  
   808  func (x *SnapshotsReply) ProtoReflect() protoreflect.Message {
   809  	mi := &file_remote_kv_proto_msgTypes[8]
   810  	if protoimpl.UnsafeEnabled && x != nil {
   811  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   812  		if ms.LoadMessageInfo() == nil {
   813  			ms.StoreMessageInfo(mi)
   814  		}
   815  		return ms
   816  	}
   817  	return mi.MessageOf(x)
   818  }
   819  
   820  // Deprecated: Use SnapshotsReply.ProtoReflect.Descriptor instead.
   821  func (*SnapshotsReply) Descriptor() ([]byte, []int) {
   822  	return file_remote_kv_proto_rawDescGZIP(), []int{8}
   823  }
   824  
   825  func (x *SnapshotsReply) GetBlocksFiles() []string {
   826  	if x != nil {
   827  		return x.BlocksFiles
   828  	}
   829  	return nil
   830  }
   831  
   832  func (x *SnapshotsReply) GetHistoryFiles() []string {
   833  	if x != nil {
   834  		return x.HistoryFiles
   835  	}
   836  	return nil
   837  }
   838  
   839  type RangeReq struct {
   840  	state         protoimpl.MessageState
   841  	sizeCache     protoimpl.SizeCache
   842  	unknownFields protoimpl.UnknownFields
   843  
   844  	TxId uint64 `protobuf:"varint,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // returned by .Tx()
   845  	// query params
   846  	Table       string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"`
   847  	FromPrefix  []byte `protobuf:"bytes,3,opt,name=from_prefix,json=fromPrefix,proto3" json:"from_prefix,omitempty"`
   848  	ToPrefix    []byte `protobuf:"bytes,4,opt,name=to_prefix,json=toPrefix,proto3" json:"to_prefix,omitempty"`
   849  	OrderAscend bool   `protobuf:"varint,5,opt,name=order_ascend,json=orderAscend,proto3" json:"order_ascend,omitempty"`
   850  	Limit       int64  `protobuf:"zigzag64,6,opt,name=limit,proto3" json:"limit,omitempty"` // <= 0 means no limit
   851  	// pagination params
   852  	PageSize  int32  `protobuf:"varint,7,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // <= 0 means server will choose
   853  	PageToken string `protobuf:"bytes,8,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   854  }
   855  
   856  func (x *RangeReq) Reset() {
   857  	*x = RangeReq{}
   858  	if protoimpl.UnsafeEnabled {
   859  		mi := &file_remote_kv_proto_msgTypes[9]
   860  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   861  		ms.StoreMessageInfo(mi)
   862  	}
   863  }
   864  
   865  func (x *RangeReq) String() string {
   866  	return protoimpl.X.MessageStringOf(x)
   867  }
   868  
   869  func (*RangeReq) ProtoMessage() {}
   870  
   871  func (x *RangeReq) ProtoReflect() protoreflect.Message {
   872  	mi := &file_remote_kv_proto_msgTypes[9]
   873  	if protoimpl.UnsafeEnabled && x != nil {
   874  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   875  		if ms.LoadMessageInfo() == nil {
   876  			ms.StoreMessageInfo(mi)
   877  		}
   878  		return ms
   879  	}
   880  	return mi.MessageOf(x)
   881  }
   882  
   883  // Deprecated: Use RangeReq.ProtoReflect.Descriptor instead.
   884  func (*RangeReq) Descriptor() ([]byte, []int) {
   885  	return file_remote_kv_proto_rawDescGZIP(), []int{9}
   886  }
   887  
   888  func (x *RangeReq) GetTxId() uint64 {
   889  	if x != nil {
   890  		return x.TxId
   891  	}
   892  	return 0
   893  }
   894  
   895  func (x *RangeReq) GetTable() string {
   896  	if x != nil {
   897  		return x.Table
   898  	}
   899  	return ""
   900  }
   901  
   902  func (x *RangeReq) GetFromPrefix() []byte {
   903  	if x != nil {
   904  		return x.FromPrefix
   905  	}
   906  	return nil
   907  }
   908  
   909  func (x *RangeReq) GetToPrefix() []byte {
   910  	if x != nil {
   911  		return x.ToPrefix
   912  	}
   913  	return nil
   914  }
   915  
   916  func (x *RangeReq) GetOrderAscend() bool {
   917  	if x != nil {
   918  		return x.OrderAscend
   919  	}
   920  	return false
   921  }
   922  
   923  func (x *RangeReq) GetLimit() int64 {
   924  	if x != nil {
   925  		return x.Limit
   926  	}
   927  	return 0
   928  }
   929  
   930  func (x *RangeReq) GetPageSize() int32 {
   931  	if x != nil {
   932  		return x.PageSize
   933  	}
   934  	return 0
   935  }
   936  
   937  func (x *RangeReq) GetPageToken() string {
   938  	if x != nil {
   939  		return x.PageToken
   940  	}
   941  	return ""
   942  }
   943  
   944  // Temporal methods
   945  type DomainGetReq struct {
   946  	state         protoimpl.MessageState
   947  	sizeCache     protoimpl.SizeCache
   948  	unknownFields protoimpl.UnknownFields
   949  
   950  	TxId uint64 `protobuf:"varint,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // returned by .Tx()
   951  	// query params
   952  	Table  string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"`
   953  	K      []byte `protobuf:"bytes,3,opt,name=k,proto3" json:"k,omitempty"`
   954  	Ts     uint64 `protobuf:"varint,4,opt,name=ts,proto3" json:"ts,omitempty"`
   955  	K2     []byte `protobuf:"bytes,5,opt,name=k2,proto3" json:"k2,omitempty"`
   956  	Latest bool   `protobuf:"varint,6,opt,name=latest,proto3" json:"latest,omitempty"` // if true, then `ts` ignored and return latest state (without history lookup)
   957  }
   958  
   959  func (x *DomainGetReq) Reset() {
   960  	*x = DomainGetReq{}
   961  	if protoimpl.UnsafeEnabled {
   962  		mi := &file_remote_kv_proto_msgTypes[10]
   963  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   964  		ms.StoreMessageInfo(mi)
   965  	}
   966  }
   967  
   968  func (x *DomainGetReq) String() string {
   969  	return protoimpl.X.MessageStringOf(x)
   970  }
   971  
   972  func (*DomainGetReq) ProtoMessage() {}
   973  
   974  func (x *DomainGetReq) ProtoReflect() protoreflect.Message {
   975  	mi := &file_remote_kv_proto_msgTypes[10]
   976  	if protoimpl.UnsafeEnabled && x != nil {
   977  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   978  		if ms.LoadMessageInfo() == nil {
   979  			ms.StoreMessageInfo(mi)
   980  		}
   981  		return ms
   982  	}
   983  	return mi.MessageOf(x)
   984  }
   985  
   986  // Deprecated: Use DomainGetReq.ProtoReflect.Descriptor instead.
   987  func (*DomainGetReq) Descriptor() ([]byte, []int) {
   988  	return file_remote_kv_proto_rawDescGZIP(), []int{10}
   989  }
   990  
   991  func (x *DomainGetReq) GetTxId() uint64 {
   992  	if x != nil {
   993  		return x.TxId
   994  	}
   995  	return 0
   996  }
   997  
   998  func (x *DomainGetReq) GetTable() string {
   999  	if x != nil {
  1000  		return x.Table
  1001  	}
  1002  	return ""
  1003  }
  1004  
  1005  func (x *DomainGetReq) GetK() []byte {
  1006  	if x != nil {
  1007  		return x.K
  1008  	}
  1009  	return nil
  1010  }
  1011  
  1012  func (x *DomainGetReq) GetTs() uint64 {
  1013  	if x != nil {
  1014  		return x.Ts
  1015  	}
  1016  	return 0
  1017  }
  1018  
  1019  func (x *DomainGetReq) GetK2() []byte {
  1020  	if x != nil {
  1021  		return x.K2
  1022  	}
  1023  	return nil
  1024  }
  1025  
  1026  func (x *DomainGetReq) GetLatest() bool {
  1027  	if x != nil {
  1028  		return x.Latest
  1029  	}
  1030  	return false
  1031  }
  1032  
  1033  type DomainGetReply struct {
  1034  	state         protoimpl.MessageState
  1035  	sizeCache     protoimpl.SizeCache
  1036  	unknownFields protoimpl.UnknownFields
  1037  
  1038  	V  []byte `protobuf:"bytes,1,opt,name=v,proto3" json:"v,omitempty"`
  1039  	Ok bool   `protobuf:"varint,2,opt,name=ok,proto3" json:"ok,omitempty"`
  1040  }
  1041  
  1042  func (x *DomainGetReply) Reset() {
  1043  	*x = DomainGetReply{}
  1044  	if protoimpl.UnsafeEnabled {
  1045  		mi := &file_remote_kv_proto_msgTypes[11]
  1046  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1047  		ms.StoreMessageInfo(mi)
  1048  	}
  1049  }
  1050  
  1051  func (x *DomainGetReply) String() string {
  1052  	return protoimpl.X.MessageStringOf(x)
  1053  }
  1054  
  1055  func (*DomainGetReply) ProtoMessage() {}
  1056  
  1057  func (x *DomainGetReply) ProtoReflect() protoreflect.Message {
  1058  	mi := &file_remote_kv_proto_msgTypes[11]
  1059  	if protoimpl.UnsafeEnabled && x != nil {
  1060  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1061  		if ms.LoadMessageInfo() == nil {
  1062  			ms.StoreMessageInfo(mi)
  1063  		}
  1064  		return ms
  1065  	}
  1066  	return mi.MessageOf(x)
  1067  }
  1068  
  1069  // Deprecated: Use DomainGetReply.ProtoReflect.Descriptor instead.
  1070  func (*DomainGetReply) Descriptor() ([]byte, []int) {
  1071  	return file_remote_kv_proto_rawDescGZIP(), []int{11}
  1072  }
  1073  
  1074  func (x *DomainGetReply) GetV() []byte {
  1075  	if x != nil {
  1076  		return x.V
  1077  	}
  1078  	return nil
  1079  }
  1080  
  1081  func (x *DomainGetReply) GetOk() bool {
  1082  	if x != nil {
  1083  		return x.Ok
  1084  	}
  1085  	return false
  1086  }
  1087  
  1088  type HistoryGetReq struct {
  1089  	state         protoimpl.MessageState
  1090  	sizeCache     protoimpl.SizeCache
  1091  	unknownFields protoimpl.UnknownFields
  1092  
  1093  	TxId  uint64 `protobuf:"varint,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // returned by .Tx()
  1094  	Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"`
  1095  	K     []byte `protobuf:"bytes,3,opt,name=k,proto3" json:"k,omitempty"`
  1096  	Ts    uint64 `protobuf:"varint,4,opt,name=ts,proto3" json:"ts,omitempty"`
  1097  }
  1098  
  1099  func (x *HistoryGetReq) Reset() {
  1100  	*x = HistoryGetReq{}
  1101  	if protoimpl.UnsafeEnabled {
  1102  		mi := &file_remote_kv_proto_msgTypes[12]
  1103  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1104  		ms.StoreMessageInfo(mi)
  1105  	}
  1106  }
  1107  
  1108  func (x *HistoryGetReq) String() string {
  1109  	return protoimpl.X.MessageStringOf(x)
  1110  }
  1111  
  1112  func (*HistoryGetReq) ProtoMessage() {}
  1113  
  1114  func (x *HistoryGetReq) ProtoReflect() protoreflect.Message {
  1115  	mi := &file_remote_kv_proto_msgTypes[12]
  1116  	if protoimpl.UnsafeEnabled && x != nil {
  1117  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1118  		if ms.LoadMessageInfo() == nil {
  1119  			ms.StoreMessageInfo(mi)
  1120  		}
  1121  		return ms
  1122  	}
  1123  	return mi.MessageOf(x)
  1124  }
  1125  
  1126  // Deprecated: Use HistoryGetReq.ProtoReflect.Descriptor instead.
  1127  func (*HistoryGetReq) Descriptor() ([]byte, []int) {
  1128  	return file_remote_kv_proto_rawDescGZIP(), []int{12}
  1129  }
  1130  
  1131  func (x *HistoryGetReq) GetTxId() uint64 {
  1132  	if x != nil {
  1133  		return x.TxId
  1134  	}
  1135  	return 0
  1136  }
  1137  
  1138  func (x *HistoryGetReq) GetTable() string {
  1139  	if x != nil {
  1140  		return x.Table
  1141  	}
  1142  	return ""
  1143  }
  1144  
  1145  func (x *HistoryGetReq) GetK() []byte {
  1146  	if x != nil {
  1147  		return x.K
  1148  	}
  1149  	return nil
  1150  }
  1151  
  1152  func (x *HistoryGetReq) GetTs() uint64 {
  1153  	if x != nil {
  1154  		return x.Ts
  1155  	}
  1156  	return 0
  1157  }
  1158  
  1159  type HistoryGetReply struct {
  1160  	state         protoimpl.MessageState
  1161  	sizeCache     protoimpl.SizeCache
  1162  	unknownFields protoimpl.UnknownFields
  1163  
  1164  	V  []byte `protobuf:"bytes,1,opt,name=v,proto3" json:"v,omitempty"`
  1165  	Ok bool   `protobuf:"varint,2,opt,name=ok,proto3" json:"ok,omitempty"`
  1166  }
  1167  
  1168  func (x *HistoryGetReply) Reset() {
  1169  	*x = HistoryGetReply{}
  1170  	if protoimpl.UnsafeEnabled {
  1171  		mi := &file_remote_kv_proto_msgTypes[13]
  1172  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1173  		ms.StoreMessageInfo(mi)
  1174  	}
  1175  }
  1176  
  1177  func (x *HistoryGetReply) String() string {
  1178  	return protoimpl.X.MessageStringOf(x)
  1179  }
  1180  
  1181  func (*HistoryGetReply) ProtoMessage() {}
  1182  
  1183  func (x *HistoryGetReply) ProtoReflect() protoreflect.Message {
  1184  	mi := &file_remote_kv_proto_msgTypes[13]
  1185  	if protoimpl.UnsafeEnabled && x != nil {
  1186  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1187  		if ms.LoadMessageInfo() == nil {
  1188  			ms.StoreMessageInfo(mi)
  1189  		}
  1190  		return ms
  1191  	}
  1192  	return mi.MessageOf(x)
  1193  }
  1194  
  1195  // Deprecated: Use HistoryGetReply.ProtoReflect.Descriptor instead.
  1196  func (*HistoryGetReply) Descriptor() ([]byte, []int) {
  1197  	return file_remote_kv_proto_rawDescGZIP(), []int{13}
  1198  }
  1199  
  1200  func (x *HistoryGetReply) GetV() []byte {
  1201  	if x != nil {
  1202  		return x.V
  1203  	}
  1204  	return nil
  1205  }
  1206  
  1207  func (x *HistoryGetReply) GetOk() bool {
  1208  	if x != nil {
  1209  		return x.Ok
  1210  	}
  1211  	return false
  1212  }
  1213  
  1214  type IndexRangeReq struct {
  1215  	state         protoimpl.MessageState
  1216  	sizeCache     protoimpl.SizeCache
  1217  	unknownFields protoimpl.UnknownFields
  1218  
  1219  	TxId uint64 `protobuf:"varint,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // returned by .Tx()
  1220  	// query params
  1221  	Table       string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"`
  1222  	K           []byte `protobuf:"bytes,3,opt,name=k,proto3" json:"k,omitempty"`
  1223  	FromTs      int64  `protobuf:"zigzag64,4,opt,name=from_ts,json=fromTs,proto3" json:"from_ts,omitempty"` // -1 means Inf
  1224  	ToTs        int64  `protobuf:"zigzag64,5,opt,name=to_ts,json=toTs,proto3" json:"to_ts,omitempty"`       // -1 means Inf
  1225  	OrderAscend bool   `protobuf:"varint,6,opt,name=order_ascend,json=orderAscend,proto3" json:"order_ascend,omitempty"`
  1226  	Limit       int64  `protobuf:"zigzag64,7,opt,name=limit,proto3" json:"limit,omitempty"` // <= 0 means no limit
  1227  	// pagination params
  1228  	PageSize  int32  `protobuf:"varint,8,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // <= 0 means server will choose
  1229  	PageToken string `protobuf:"bytes,9,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  1230  }
  1231  
  1232  func (x *IndexRangeReq) Reset() {
  1233  	*x = IndexRangeReq{}
  1234  	if protoimpl.UnsafeEnabled {
  1235  		mi := &file_remote_kv_proto_msgTypes[14]
  1236  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1237  		ms.StoreMessageInfo(mi)
  1238  	}
  1239  }
  1240  
  1241  func (x *IndexRangeReq) String() string {
  1242  	return protoimpl.X.MessageStringOf(x)
  1243  }
  1244  
  1245  func (*IndexRangeReq) ProtoMessage() {}
  1246  
  1247  func (x *IndexRangeReq) ProtoReflect() protoreflect.Message {
  1248  	mi := &file_remote_kv_proto_msgTypes[14]
  1249  	if protoimpl.UnsafeEnabled && x != nil {
  1250  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1251  		if ms.LoadMessageInfo() == nil {
  1252  			ms.StoreMessageInfo(mi)
  1253  		}
  1254  		return ms
  1255  	}
  1256  	return mi.MessageOf(x)
  1257  }
  1258  
  1259  // Deprecated: Use IndexRangeReq.ProtoReflect.Descriptor instead.
  1260  func (*IndexRangeReq) Descriptor() ([]byte, []int) {
  1261  	return file_remote_kv_proto_rawDescGZIP(), []int{14}
  1262  }
  1263  
  1264  func (x *IndexRangeReq) GetTxId() uint64 {
  1265  	if x != nil {
  1266  		return x.TxId
  1267  	}
  1268  	return 0
  1269  }
  1270  
  1271  func (x *IndexRangeReq) GetTable() string {
  1272  	if x != nil {
  1273  		return x.Table
  1274  	}
  1275  	return ""
  1276  }
  1277  
  1278  func (x *IndexRangeReq) GetK() []byte {
  1279  	if x != nil {
  1280  		return x.K
  1281  	}
  1282  	return nil
  1283  }
  1284  
  1285  func (x *IndexRangeReq) GetFromTs() int64 {
  1286  	if x != nil {
  1287  		return x.FromTs
  1288  	}
  1289  	return 0
  1290  }
  1291  
  1292  func (x *IndexRangeReq) GetToTs() int64 {
  1293  	if x != nil {
  1294  		return x.ToTs
  1295  	}
  1296  	return 0
  1297  }
  1298  
  1299  func (x *IndexRangeReq) GetOrderAscend() bool {
  1300  	if x != nil {
  1301  		return x.OrderAscend
  1302  	}
  1303  	return false
  1304  }
  1305  
  1306  func (x *IndexRangeReq) GetLimit() int64 {
  1307  	if x != nil {
  1308  		return x.Limit
  1309  	}
  1310  	return 0
  1311  }
  1312  
  1313  func (x *IndexRangeReq) GetPageSize() int32 {
  1314  	if x != nil {
  1315  		return x.PageSize
  1316  	}
  1317  	return 0
  1318  }
  1319  
  1320  func (x *IndexRangeReq) GetPageToken() string {
  1321  	if x != nil {
  1322  		return x.PageToken
  1323  	}
  1324  	return ""
  1325  }
  1326  
  1327  type IndexRangeReply struct {
  1328  	state         protoimpl.MessageState
  1329  	sizeCache     protoimpl.SizeCache
  1330  	unknownFields protoimpl.UnknownFields
  1331  
  1332  	Timestamps    []uint64 `protobuf:"varint,1,rep,packed,name=timestamps,proto3" json:"timestamps,omitempty"` //TODO: it can be a bitmap
  1333  	NextPageToken string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  1334  }
  1335  
  1336  func (x *IndexRangeReply) Reset() {
  1337  	*x = IndexRangeReply{}
  1338  	if protoimpl.UnsafeEnabled {
  1339  		mi := &file_remote_kv_proto_msgTypes[15]
  1340  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1341  		ms.StoreMessageInfo(mi)
  1342  	}
  1343  }
  1344  
  1345  func (x *IndexRangeReply) String() string {
  1346  	return protoimpl.X.MessageStringOf(x)
  1347  }
  1348  
  1349  func (*IndexRangeReply) ProtoMessage() {}
  1350  
  1351  func (x *IndexRangeReply) ProtoReflect() protoreflect.Message {
  1352  	mi := &file_remote_kv_proto_msgTypes[15]
  1353  	if protoimpl.UnsafeEnabled && x != nil {
  1354  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1355  		if ms.LoadMessageInfo() == nil {
  1356  			ms.StoreMessageInfo(mi)
  1357  		}
  1358  		return ms
  1359  	}
  1360  	return mi.MessageOf(x)
  1361  }
  1362  
  1363  // Deprecated: Use IndexRangeReply.ProtoReflect.Descriptor instead.
  1364  func (*IndexRangeReply) Descriptor() ([]byte, []int) {
  1365  	return file_remote_kv_proto_rawDescGZIP(), []int{15}
  1366  }
  1367  
  1368  func (x *IndexRangeReply) GetTimestamps() []uint64 {
  1369  	if x != nil {
  1370  		return x.Timestamps
  1371  	}
  1372  	return nil
  1373  }
  1374  
  1375  func (x *IndexRangeReply) GetNextPageToken() string {
  1376  	if x != nil {
  1377  		return x.NextPageToken
  1378  	}
  1379  	return ""
  1380  }
  1381  
  1382  type HistoryRangeReq struct {
  1383  	state         protoimpl.MessageState
  1384  	sizeCache     protoimpl.SizeCache
  1385  	unknownFields protoimpl.UnknownFields
  1386  
  1387  	TxId uint64 `protobuf:"varint,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // returned by .Tx()
  1388  	// query params
  1389  	Table       string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"`
  1390  	FromTs      int64  `protobuf:"zigzag64,4,opt,name=from_ts,json=fromTs,proto3" json:"from_ts,omitempty"` // -1 means Inf
  1391  	ToTs        int64  `protobuf:"zigzag64,5,opt,name=to_ts,json=toTs,proto3" json:"to_ts,omitempty"`       // -1 means Inf
  1392  	OrderAscend bool   `protobuf:"varint,6,opt,name=order_ascend,json=orderAscend,proto3" json:"order_ascend,omitempty"`
  1393  	Limit       int64  `protobuf:"zigzag64,7,opt,name=limit,proto3" json:"limit,omitempty"` // <= 0 means no limit
  1394  	// pagination params
  1395  	PageSize  int32  `protobuf:"varint,8,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // <= 0 means server will choose
  1396  	PageToken string `protobuf:"bytes,9,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  1397  }
  1398  
  1399  func (x *HistoryRangeReq) Reset() {
  1400  	*x = HistoryRangeReq{}
  1401  	if protoimpl.UnsafeEnabled {
  1402  		mi := &file_remote_kv_proto_msgTypes[16]
  1403  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1404  		ms.StoreMessageInfo(mi)
  1405  	}
  1406  }
  1407  
  1408  func (x *HistoryRangeReq) String() string {
  1409  	return protoimpl.X.MessageStringOf(x)
  1410  }
  1411  
  1412  func (*HistoryRangeReq) ProtoMessage() {}
  1413  
  1414  func (x *HistoryRangeReq) ProtoReflect() protoreflect.Message {
  1415  	mi := &file_remote_kv_proto_msgTypes[16]
  1416  	if protoimpl.UnsafeEnabled && x != nil {
  1417  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1418  		if ms.LoadMessageInfo() == nil {
  1419  			ms.StoreMessageInfo(mi)
  1420  		}
  1421  		return ms
  1422  	}
  1423  	return mi.MessageOf(x)
  1424  }
  1425  
  1426  // Deprecated: Use HistoryRangeReq.ProtoReflect.Descriptor instead.
  1427  func (*HistoryRangeReq) Descriptor() ([]byte, []int) {
  1428  	return file_remote_kv_proto_rawDescGZIP(), []int{16}
  1429  }
  1430  
  1431  func (x *HistoryRangeReq) GetTxId() uint64 {
  1432  	if x != nil {
  1433  		return x.TxId
  1434  	}
  1435  	return 0
  1436  }
  1437  
  1438  func (x *HistoryRangeReq) GetTable() string {
  1439  	if x != nil {
  1440  		return x.Table
  1441  	}
  1442  	return ""
  1443  }
  1444  
  1445  func (x *HistoryRangeReq) GetFromTs() int64 {
  1446  	if x != nil {
  1447  		return x.FromTs
  1448  	}
  1449  	return 0
  1450  }
  1451  
  1452  func (x *HistoryRangeReq) GetToTs() int64 {
  1453  	if x != nil {
  1454  		return x.ToTs
  1455  	}
  1456  	return 0
  1457  }
  1458  
  1459  func (x *HistoryRangeReq) GetOrderAscend() bool {
  1460  	if x != nil {
  1461  		return x.OrderAscend
  1462  	}
  1463  	return false
  1464  }
  1465  
  1466  func (x *HistoryRangeReq) GetLimit() int64 {
  1467  	if x != nil {
  1468  		return x.Limit
  1469  	}
  1470  	return 0
  1471  }
  1472  
  1473  func (x *HistoryRangeReq) GetPageSize() int32 {
  1474  	if x != nil {
  1475  		return x.PageSize
  1476  	}
  1477  	return 0
  1478  }
  1479  
  1480  func (x *HistoryRangeReq) GetPageToken() string {
  1481  	if x != nil {
  1482  		return x.PageToken
  1483  	}
  1484  	return ""
  1485  }
  1486  
  1487  type DomainRangeReq struct {
  1488  	state         protoimpl.MessageState
  1489  	sizeCache     protoimpl.SizeCache
  1490  	unknownFields protoimpl.UnknownFields
  1491  
  1492  	TxId uint64 `protobuf:"varint,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // returned by .Tx()
  1493  	// query params
  1494  	Table       string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"`
  1495  	FromKey     []byte `protobuf:"bytes,3,opt,name=from_key,json=fromKey,proto3" json:"from_key,omitempty"` // nil means Inf
  1496  	ToKey       []byte `protobuf:"bytes,4,opt,name=to_key,json=toKey,proto3" json:"to_key,omitempty"`       // nil means Inf
  1497  	Ts          uint64 `protobuf:"varint,5,opt,name=ts,proto3" json:"ts,omitempty"`
  1498  	Latest      bool   `protobuf:"varint,6,opt,name=latest,proto3" json:"latest,omitempty"` // if true, then `ts` ignored and return latest state (without history lookup)
  1499  	OrderAscend bool   `protobuf:"varint,7,opt,name=order_ascend,json=orderAscend,proto3" json:"order_ascend,omitempty"`
  1500  	Limit       int64  `protobuf:"zigzag64,8,opt,name=limit,proto3" json:"limit,omitempty"` // <= 0 means no limit
  1501  	// pagination params
  1502  	PageSize  int32  `protobuf:"varint,9,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // <= 0 means server will choose
  1503  	PageToken string `protobuf:"bytes,10,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  1504  }
  1505  
  1506  func (x *DomainRangeReq) Reset() {
  1507  	*x = DomainRangeReq{}
  1508  	if protoimpl.UnsafeEnabled {
  1509  		mi := &file_remote_kv_proto_msgTypes[17]
  1510  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1511  		ms.StoreMessageInfo(mi)
  1512  	}
  1513  }
  1514  
  1515  func (x *DomainRangeReq) String() string {
  1516  	return protoimpl.X.MessageStringOf(x)
  1517  }
  1518  
  1519  func (*DomainRangeReq) ProtoMessage() {}
  1520  
  1521  func (x *DomainRangeReq) ProtoReflect() protoreflect.Message {
  1522  	mi := &file_remote_kv_proto_msgTypes[17]
  1523  	if protoimpl.UnsafeEnabled && x != nil {
  1524  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1525  		if ms.LoadMessageInfo() == nil {
  1526  			ms.StoreMessageInfo(mi)
  1527  		}
  1528  		return ms
  1529  	}
  1530  	return mi.MessageOf(x)
  1531  }
  1532  
  1533  // Deprecated: Use DomainRangeReq.ProtoReflect.Descriptor instead.
  1534  func (*DomainRangeReq) Descriptor() ([]byte, []int) {
  1535  	return file_remote_kv_proto_rawDescGZIP(), []int{17}
  1536  }
  1537  
  1538  func (x *DomainRangeReq) GetTxId() uint64 {
  1539  	if x != nil {
  1540  		return x.TxId
  1541  	}
  1542  	return 0
  1543  }
  1544  
  1545  func (x *DomainRangeReq) GetTable() string {
  1546  	if x != nil {
  1547  		return x.Table
  1548  	}
  1549  	return ""
  1550  }
  1551  
  1552  func (x *DomainRangeReq) GetFromKey() []byte {
  1553  	if x != nil {
  1554  		return x.FromKey
  1555  	}
  1556  	return nil
  1557  }
  1558  
  1559  func (x *DomainRangeReq) GetToKey() []byte {
  1560  	if x != nil {
  1561  		return x.ToKey
  1562  	}
  1563  	return nil
  1564  }
  1565  
  1566  func (x *DomainRangeReq) GetTs() uint64 {
  1567  	if x != nil {
  1568  		return x.Ts
  1569  	}
  1570  	return 0
  1571  }
  1572  
  1573  func (x *DomainRangeReq) GetLatest() bool {
  1574  	if x != nil {
  1575  		return x.Latest
  1576  	}
  1577  	return false
  1578  }
  1579  
  1580  func (x *DomainRangeReq) GetOrderAscend() bool {
  1581  	if x != nil {
  1582  		return x.OrderAscend
  1583  	}
  1584  	return false
  1585  }
  1586  
  1587  func (x *DomainRangeReq) GetLimit() int64 {
  1588  	if x != nil {
  1589  		return x.Limit
  1590  	}
  1591  	return 0
  1592  }
  1593  
  1594  func (x *DomainRangeReq) GetPageSize() int32 {
  1595  	if x != nil {
  1596  		return x.PageSize
  1597  	}
  1598  	return 0
  1599  }
  1600  
  1601  func (x *DomainRangeReq) GetPageToken() string {
  1602  	if x != nil {
  1603  		return x.PageToken
  1604  	}
  1605  	return ""
  1606  }
  1607  
  1608  type Pairs struct {
  1609  	state         protoimpl.MessageState
  1610  	sizeCache     protoimpl.SizeCache
  1611  	unknownFields protoimpl.UnknownFields
  1612  
  1613  	Keys          [][]byte `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` // TODO: replace by lengtsh+arena? Anyway on server we need copy (serialization happening outside tx)
  1614  	Values        [][]byte `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
  1615  	NextPageToken string   `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` //  uint32 estimateTotal = 3; // send once after stream creation
  1616  }
  1617  
  1618  func (x *Pairs) Reset() {
  1619  	*x = Pairs{}
  1620  	if protoimpl.UnsafeEnabled {
  1621  		mi := &file_remote_kv_proto_msgTypes[18]
  1622  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1623  		ms.StoreMessageInfo(mi)
  1624  	}
  1625  }
  1626  
  1627  func (x *Pairs) String() string {
  1628  	return protoimpl.X.MessageStringOf(x)
  1629  }
  1630  
  1631  func (*Pairs) ProtoMessage() {}
  1632  
  1633  func (x *Pairs) ProtoReflect() protoreflect.Message {
  1634  	mi := &file_remote_kv_proto_msgTypes[18]
  1635  	if protoimpl.UnsafeEnabled && x != nil {
  1636  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1637  		if ms.LoadMessageInfo() == nil {
  1638  			ms.StoreMessageInfo(mi)
  1639  		}
  1640  		return ms
  1641  	}
  1642  	return mi.MessageOf(x)
  1643  }
  1644  
  1645  // Deprecated: Use Pairs.ProtoReflect.Descriptor instead.
  1646  func (*Pairs) Descriptor() ([]byte, []int) {
  1647  	return file_remote_kv_proto_rawDescGZIP(), []int{18}
  1648  }
  1649  
  1650  func (x *Pairs) GetKeys() [][]byte {
  1651  	if x != nil {
  1652  		return x.Keys
  1653  	}
  1654  	return nil
  1655  }
  1656  
  1657  func (x *Pairs) GetValues() [][]byte {
  1658  	if x != nil {
  1659  		return x.Values
  1660  	}
  1661  	return nil
  1662  }
  1663  
  1664  func (x *Pairs) GetNextPageToken() string {
  1665  	if x != nil {
  1666  		return x.NextPageToken
  1667  	}
  1668  	return ""
  1669  }
  1670  
  1671  type ParisPagination struct {
  1672  	state         protoimpl.MessageState
  1673  	sizeCache     protoimpl.SizeCache
  1674  	unknownFields protoimpl.UnknownFields
  1675  
  1676  	NextKey []byte `protobuf:"bytes,1,opt,name=next_key,json=nextKey,proto3" json:"next_key,omitempty"`
  1677  	Limit   int64  `protobuf:"zigzag64,2,opt,name=limit,proto3" json:"limit,omitempty"`
  1678  }
  1679  
  1680  func (x *ParisPagination) Reset() {
  1681  	*x = ParisPagination{}
  1682  	if protoimpl.UnsafeEnabled {
  1683  		mi := &file_remote_kv_proto_msgTypes[19]
  1684  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1685  		ms.StoreMessageInfo(mi)
  1686  	}
  1687  }
  1688  
  1689  func (x *ParisPagination) String() string {
  1690  	return protoimpl.X.MessageStringOf(x)
  1691  }
  1692  
  1693  func (*ParisPagination) ProtoMessage() {}
  1694  
  1695  func (x *ParisPagination) ProtoReflect() protoreflect.Message {
  1696  	mi := &file_remote_kv_proto_msgTypes[19]
  1697  	if protoimpl.UnsafeEnabled && x != nil {
  1698  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1699  		if ms.LoadMessageInfo() == nil {
  1700  			ms.StoreMessageInfo(mi)
  1701  		}
  1702  		return ms
  1703  	}
  1704  	return mi.MessageOf(x)
  1705  }
  1706  
  1707  // Deprecated: Use ParisPagination.ProtoReflect.Descriptor instead.
  1708  func (*ParisPagination) Descriptor() ([]byte, []int) {
  1709  	return file_remote_kv_proto_rawDescGZIP(), []int{19}
  1710  }
  1711  
  1712  func (x *ParisPagination) GetNextKey() []byte {
  1713  	if x != nil {
  1714  		return x.NextKey
  1715  	}
  1716  	return nil
  1717  }
  1718  
  1719  func (x *ParisPagination) GetLimit() int64 {
  1720  	if x != nil {
  1721  		return x.Limit
  1722  	}
  1723  	return 0
  1724  }
  1725  
  1726  type IndexPagination struct {
  1727  	state         protoimpl.MessageState
  1728  	sizeCache     protoimpl.SizeCache
  1729  	unknownFields protoimpl.UnknownFields
  1730  
  1731  	NextTimeStamp int64 `protobuf:"zigzag64,1,opt,name=next_time_stamp,json=nextTimeStamp,proto3" json:"next_time_stamp,omitempty"`
  1732  	Limit         int64 `protobuf:"zigzag64,2,opt,name=limit,proto3" json:"limit,omitempty"`
  1733  }
  1734  
  1735  func (x *IndexPagination) Reset() {
  1736  	*x = IndexPagination{}
  1737  	if protoimpl.UnsafeEnabled {
  1738  		mi := &file_remote_kv_proto_msgTypes[20]
  1739  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1740  		ms.StoreMessageInfo(mi)
  1741  	}
  1742  }
  1743  
  1744  func (x *IndexPagination) String() string {
  1745  	return protoimpl.X.MessageStringOf(x)
  1746  }
  1747  
  1748  func (*IndexPagination) ProtoMessage() {}
  1749  
  1750  func (x *IndexPagination) ProtoReflect() protoreflect.Message {
  1751  	mi := &file_remote_kv_proto_msgTypes[20]
  1752  	if protoimpl.UnsafeEnabled && x != nil {
  1753  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1754  		if ms.LoadMessageInfo() == nil {
  1755  			ms.StoreMessageInfo(mi)
  1756  		}
  1757  		return ms
  1758  	}
  1759  	return mi.MessageOf(x)
  1760  }
  1761  
  1762  // Deprecated: Use IndexPagination.ProtoReflect.Descriptor instead.
  1763  func (*IndexPagination) Descriptor() ([]byte, []int) {
  1764  	return file_remote_kv_proto_rawDescGZIP(), []int{20}
  1765  }
  1766  
  1767  func (x *IndexPagination) GetNextTimeStamp() int64 {
  1768  	if x != nil {
  1769  		return x.NextTimeStamp
  1770  	}
  1771  	return 0
  1772  }
  1773  
  1774  func (x *IndexPagination) GetLimit() int64 {
  1775  	if x != nil {
  1776  		return x.Limit
  1777  	}
  1778  	return 0
  1779  }
  1780  
  1781  var File_remote_kv_proto protoreflect.FileDescriptor
  1782  
  1783  var file_remote_kv_proto_rawDesc = []byte{
  1784  	0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2f, 0x6b, 0x76, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1785  	0x6f, 0x12, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1786  	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79,
  1787  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x74, 0x79,
  1788  	0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x06, 0x43, 0x75, 0x72,
  1789  	0x73, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
  1790  	0x0a, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12,
  1791  	0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
  1792  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65,
  1793  	0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
  1794  	0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x0c, 0x0a, 0x01, 0x6b, 0x18, 0x04, 0x20,
  1795  	0x01, 0x28, 0x0c, 0x52, 0x01, 0x6b, 0x12, 0x0c, 0x0a, 0x01, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28,
  1796  	0x0c, 0x52, 0x01, 0x76, 0x22, 0x6d, 0x0a, 0x04, 0x50, 0x61, 0x69, 0x72, 0x12, 0x0c, 0x0a, 0x01,
  1797  	0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x6b, 0x12, 0x0c, 0x0a, 0x01, 0x76, 0x18,
  1798  	0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x76, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x73,
  1799  	0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72,
  1800  	0x73, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x64,
  1801  	0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x76, 0x69, 0x65, 0x77, 0x49, 0x64, 0x12, 0x13,
  1802  	0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74,
  1803  	0x78, 0x49, 0x64, 0x22, 0x4c, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x68,
  1804  	0x61, 0x6e, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1805  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48,
  1806  	0x32, 0x35, 0x36, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
  1807  	0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74,
  1808  	0x61, 0x22, 0xe8, 0x01, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61,
  1809  	0x6e, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01,
  1810  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x31, 0x36,
  1811  	0x30, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e,
  1812  	0x63, 0x61, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
  1813  	0x0b, 0x69, 0x6e, 0x63, 0x61, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06,
  1814  	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x72,
  1815  	0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63,
  1816  	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01,
  1817  	0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65,
  1818  	0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x0f,
  1819  	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18,
  1820  	0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x53,
  1821  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0e, 0x73, 0x74,
  1822  	0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0xb2, 0x02, 0x0a,
  1823  	0x10, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x74, 0x63,
  1824  	0x68, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
  1825  	0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x74, 0x61,
  1826  	0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0c, 0x63,
  1827  	0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28,
  1828  	0x0b, 0x32, 0x13, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65,
  1829  	0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x61,
  1830  	0x74, 0x63, 0x68, 0x12, 0x33, 0x0a, 0x16, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62,
  1831  	0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20,
  1832  	0x01, 0x28, 0x04, 0x52, 0x13, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63,
  1833  	0x6b, 0x42, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63,
  1834  	0x6b, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
  1835  	0x04, 0x52, 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74,
  1836  	0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x62, 0x6c,
  1837  	0x6f, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x61, 0x6c,
  1838  	0x69, 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x36, 0x0a, 0x18, 0x70, 0x65, 0x6e,
  1839  	0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65,
  1840  	0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x70, 0x65, 0x6e,
  1841  	0x64, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x46, 0x65, 0x65, 0x50, 0x65, 0x72, 0x47, 0x61,
  1842  	0x73, 0x22, 0xd0, 0x01, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67,
  1843  	0x65, 0x12, 0x2f, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
  1844  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x44, 0x69,
  1845  	0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69,
  1846  	0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67,
  1847  	0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48,
  1848  	0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2a, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68,
  1849  	0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65,
  1850  	0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73,
  1851  	0x68, 0x12, 0x2f, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03,
  1852  	0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f,
  1853  	0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67,
  1854  	0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x52,
  1855  	0x03, 0x74, 0x78, 0x73, 0x22, 0x64, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61,
  1856  	0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x69,
  1857  	0x74, 0x68, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
  1858  	0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a,
  1859  	0x11, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
  1860  	0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x77, 0x69, 0x74, 0x68, 0x54, 0x72,
  1861  	0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x6e,
  1862  	0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x58,
  1863  	0x0a, 0x0e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79,
  1864  	0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73,
  1865  	0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x46, 0x69,
  1866  	0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x66,
  1867  	0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x69, 0x73, 0x74,
  1868  	0x6f, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x08, 0x52, 0x61, 0x6e,
  1869  	0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01,
  1870  	0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61,
  1871  	0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65,
  1872  	0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18,
  1873  	0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x65, 0x66, 0x69,
  1874  	0x78, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04,
  1875  	0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x74, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21,
  1876  	0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x18, 0x05,
  1877  	0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x73, 0x63, 0x65, 0x6e,
  1878  	0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12,
  1879  	0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f,
  1880  	0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65,
  1881  	0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
  1882  	0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f,
  1883  	0x6b, 0x65, 0x6e, 0x22, 0x7f, 0x0a, 0x0c, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x65, 0x74,
  1884  	0x52, 0x65, 0x71, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
  1885  	0x28, 0x04, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c,
  1886  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x0c,
  1887  	0x0a, 0x01, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x6b, 0x12, 0x0e, 0x0a, 0x02,
  1888  	0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02,
  1889  	0x6b, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x6b, 0x32, 0x12, 0x16, 0x0a, 0x06,
  1890  	0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6c, 0x61,
  1891  	0x74, 0x65, 0x73, 0x74, 0x22, 0x2e, 0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x65,
  1892  	0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28,
  1893  	0x0c, 0x52, 0x01, 0x76, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
  1894  	0x52, 0x02, 0x6f, 0x6b, 0x22, 0x58, 0x0a, 0x0d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x47,
  1895  	0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01,
  1896  	0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61,
  1897  	0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65,
  1898  	0x12, 0x0c, 0x0a, 0x01, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x6b, 0x12, 0x0e,
  1899  	0x0a, 0x02, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x74, 0x73, 0x22, 0x2f,
  1900  	0x0a, 0x0f, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c,
  1901  	0x79, 0x12, 0x0c, 0x0a, 0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x76, 0x12,
  1902  	0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22,
  1903  	0xeb, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65,
  1904  	0x71, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
  1905  	0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18,
  1906  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x0c, 0x0a, 0x01,
  1907  	0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x72,
  1908  	0x6f, 0x6d, 0x5f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x66, 0x72, 0x6f,
  1909  	0x6d, 0x54, 0x73, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x6f, 0x5f, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01,
  1910  	0x28, 0x12, 0x52, 0x04, 0x74, 0x6f, 0x54, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65,
  1911  	0x72, 0x5f, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
  1912  	0x6f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c,
  1913  	0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69,
  1914  	0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08,
  1915  	0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d,
  1916  	0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01,
  1917  	0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x59, 0x0a,
  1918  	0x0f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79,
  1919  	0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x01,
  1920  	0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73,
  1921  	0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
  1922  	0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50,
  1923  	0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xdf, 0x01, 0x0a, 0x0f, 0x48, 0x69, 0x73,
  1924  	0x74, 0x6f, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x13, 0x0a, 0x05,
  1925  	0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x78, 0x49,
  1926  	0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  1927  	0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x5f,
  1928  	0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x73,
  1929  	0x12, 0x13, 0x0a, 0x05, 0x74, 0x6f, 0x5f, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52,
  1930  	0x04, 0x74, 0x6f, 0x54, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x61,
  1931  	0x73, 0x63, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6f, 0x72, 0x64,
  1932  	0x65, 0x72, 0x41, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69,
  1933  	0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b,
  1934  	0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
  1935  	0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
  1936  	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
  1937  	0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8a, 0x02, 0x0a, 0x0e, 0x44,
  1938  	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x13, 0x0a,
  1939  	0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x78,
  1940  	0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  1941  	0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d,
  1942  	0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x66, 0x72, 0x6f, 0x6d,
  1943  	0x4b, 0x65, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20,
  1944  	0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x73,
  1945  	0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61,
  1946  	0x74, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65,
  1947  	0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x63, 0x65,
  1948  	0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x41,
  1949  	0x73, 0x63, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08,
  1950  	0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70,
  1951  	0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
  1952  	0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65,
  1953  	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61,
  1954  	0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5b, 0x0a, 0x05, 0x50, 0x61, 0x69, 0x72, 0x73,
  1955  	0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04,
  1956  	0x6b, 0x65, 0x79, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02,
  1957  	0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f,
  1958  	0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
  1959  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54,
  1960  	0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x42, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x69, 0x73, 0x50, 0x61, 0x67,
  1961  	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x78, 0x74, 0x5f,
  1962  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x4b,
  1963  	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
  1964  	0x12, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x4f, 0x0a, 0x0f, 0x49, 0x6e, 0x64, 0x65,
  1965  	0x78, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6e,
  1966  	0x65, 0x78, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01,
  1967  	0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74,
  1968  	0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01,
  1969  	0x28, 0x12, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2a, 0x86, 0x02, 0x0a, 0x02, 0x4f, 0x70,
  1970  	0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x46,
  1971  	0x49, 0x52, 0x53, 0x54, 0x5f, 0x44, 0x55, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x45,
  1972  	0x45, 0x4b, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x45, 0x45, 0x4b, 0x5f, 0x42, 0x4f, 0x54,
  1973  	0x48, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x04,
  1974  	0x12, 0x08, 0x0a, 0x04, 0x4c, 0x41, 0x53, 0x54, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x41,
  1975  	0x53, 0x54, 0x5f, 0x44, 0x55, 0x50, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x45, 0x58, 0x54,
  1976  	0x10, 0x08, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x44, 0x55, 0x50, 0x10, 0x09,
  1977  	0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, 0x44, 0x55, 0x50, 0x10,
  1978  	0x0b, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x52, 0x45, 0x56, 0x10, 0x0c, 0x12, 0x0c, 0x0a, 0x08, 0x50,
  1979  	0x52, 0x45, 0x56, 0x5f, 0x44, 0x55, 0x50, 0x10, 0x0d, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x45,
  1980  	0x56, 0x5f, 0x4e, 0x4f, 0x5f, 0x44, 0x55, 0x50, 0x10, 0x0e, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x45,
  1981  	0x45, 0x4b, 0x5f, 0x45, 0x58, 0x41, 0x43, 0x54, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45,
  1982  	0x45, 0x4b, 0x5f, 0x42, 0x4f, 0x54, 0x48, 0x5f, 0x45, 0x58, 0x41, 0x43, 0x54, 0x10, 0x10, 0x12,
  1983  	0x08, 0x0a, 0x04, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x1e, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4c, 0x4f,
  1984  	0x53, 0x45, 0x10, 0x1f, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x44, 0x55, 0x50,
  1985  	0x5f, 0x53, 0x4f, 0x52, 0x54, 0x10, 0x20, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x55, 0x4e, 0x54,
  1986  	0x10, 0x21, 0x2a, 0x48, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07,
  1987  	0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x53,
  1988  	0x45, 0x52, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x02, 0x12,
  1989  	0x0f, 0x0a, 0x0b, 0x55, 0x50, 0x53, 0x45, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x03,
  1990  	0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x04, 0x2a, 0x24, 0x0a, 0x09,
  1991  	0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4f, 0x52,
  1992  	0x57, 0x41, 0x52, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x4e, 0x57, 0x49, 0x4e, 0x44,
  1993  	0x10, 0x01, 0x32, 0xba, 0x04, 0x0a, 0x02, 0x4b, 0x56, 0x12, 0x36, 0x0a, 0x07, 0x56, 0x65, 0x72,
  1994  	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  1995  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x13, 0x2e, 0x74,
  1996  	0x79, 0x70, 0x65, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c,
  1997  	0x79, 0x12, 0x26, 0x0a, 0x02, 0x54, 0x78, 0x12, 0x0e, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
  1998  	0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x1a, 0x0c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
  1999  	0x2e, 0x50, 0x61, 0x69, 0x72, 0x28, 0x01, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x0c, 0x53, 0x74, 0x61,
  2000  	0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x2e, 0x72, 0x65, 0x6d, 0x6f,
  2001  	0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65,
  2002  	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x53,
  2003  	0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x30,
  2004  	0x01, 0x12, 0x3d, 0x0a, 0x09, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x18,
  2005  	0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
  2006  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74,
  2007  	0x65, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79,
  2008  	0x12, 0x28, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x2e, 0x72, 0x65, 0x6d, 0x6f,
  2009  	0x74, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0d, 0x2e, 0x72, 0x65,
  2010  	0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x44, 0x6f,
  2011  	0x6d, 0x61, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x12, 0x14, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
  2012  	0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e,
  2013  	0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x65, 0x74,
  2014  	0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79,
  2015  	0x47, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x48, 0x69, 0x73,
  2016  	0x74, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x72, 0x65, 0x6d,
  2017  	0x6f, 0x74, 0x65, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65,
  2018  	0x70, 0x6c, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x61, 0x6e, 0x67,
  2019  	0x65, 0x12, 0x15, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78,
  2020  	0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74,
  2021  	0x65, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c,
  2022  	0x79, 0x12, 0x36, 0x0a, 0x0c, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67,
  2023  	0x65, 0x12, 0x17, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f,
  2024  	0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0d, 0x2e, 0x72, 0x65, 0x6d,
  2025  	0x6f, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x0b, 0x44, 0x6f, 0x6d,
  2026  	0x61, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74,
  2027  	0x65, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71,
  2028  	0x1a, 0x0d, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x73, 0x42,
  2029  	0x11, 0x5a, 0x0f, 0x2e, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x3b, 0x72, 0x65, 0x6d, 0x6f,
  2030  	0x74, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2031  }
  2032  
  2033  var (
  2034  	file_remote_kv_proto_rawDescOnce sync.Once
  2035  	file_remote_kv_proto_rawDescData = file_remote_kv_proto_rawDesc
  2036  )
  2037  
  2038  func file_remote_kv_proto_rawDescGZIP() []byte {
  2039  	file_remote_kv_proto_rawDescOnce.Do(func() {
  2040  		file_remote_kv_proto_rawDescData = protoimpl.X.CompressGZIP(file_remote_kv_proto_rawDescData)
  2041  	})
  2042  	return file_remote_kv_proto_rawDescData
  2043  }
  2044  
  2045  var file_remote_kv_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  2046  var file_remote_kv_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
  2047  var file_remote_kv_proto_goTypes = []interface{}{
  2048  	(Op)(0),                    // 0: remote.Op
  2049  	(Action)(0),                // 1: remote.Action
  2050  	(Direction)(0),             // 2: remote.Direction
  2051  	(*Cursor)(nil),             // 3: remote.Cursor
  2052  	(*Pair)(nil),               // 4: remote.Pair
  2053  	(*StorageChange)(nil),      // 5: remote.StorageChange
  2054  	(*AccountChange)(nil),      // 6: remote.AccountChange
  2055  	(*StateChangeBatch)(nil),   // 7: remote.StateChangeBatch
  2056  	(*StateChange)(nil),        // 8: remote.StateChange
  2057  	(*StateChangeRequest)(nil), // 9: remote.StateChangeRequest
  2058  	(*SnapshotsRequest)(nil),   // 10: remote.SnapshotsRequest
  2059  	(*SnapshotsReply)(nil),     // 11: remote.SnapshotsReply
  2060  	(*RangeReq)(nil),           // 12: remote.RangeReq
  2061  	(*DomainGetReq)(nil),       // 13: remote.DomainGetReq
  2062  	(*DomainGetReply)(nil),     // 14: remote.DomainGetReply
  2063  	(*HistoryGetReq)(nil),      // 15: remote.HistoryGetReq
  2064  	(*HistoryGetReply)(nil),    // 16: remote.HistoryGetReply
  2065  	(*IndexRangeReq)(nil),      // 17: remote.IndexRangeReq
  2066  	(*IndexRangeReply)(nil),    // 18: remote.IndexRangeReply
  2067  	(*HistoryRangeReq)(nil),    // 19: remote.HistoryRangeReq
  2068  	(*DomainRangeReq)(nil),     // 20: remote.DomainRangeReq
  2069  	(*Pairs)(nil),              // 21: remote.Pairs
  2070  	(*ParisPagination)(nil),    // 22: remote.ParisPagination
  2071  	(*IndexPagination)(nil),    // 23: remote.IndexPagination
  2072  	(*types.H256)(nil),         // 24: types.H256
  2073  	(*types.H160)(nil),         // 25: types.H160
  2074  	(*emptypb.Empty)(nil),      // 26: google.protobuf.Empty
  2075  	(*types.VersionReply)(nil), // 27: types.VersionReply
  2076  }
  2077  var file_remote_kv_proto_depIdxs = []int32{
  2078  	0,  // 0: remote.Cursor.op:type_name -> remote.Op
  2079  	24, // 1: remote.StorageChange.location:type_name -> types.H256
  2080  	25, // 2: remote.AccountChange.address:type_name -> types.H160
  2081  	1,  // 3: remote.AccountChange.action:type_name -> remote.Action
  2082  	5,  // 4: remote.AccountChange.storage_changes:type_name -> remote.StorageChange
  2083  	8,  // 5: remote.StateChangeBatch.change_batch:type_name -> remote.StateChange
  2084  	2,  // 6: remote.StateChange.direction:type_name -> remote.Direction
  2085  	24, // 7: remote.StateChange.block_hash:type_name -> types.H256
  2086  	6,  // 8: remote.StateChange.changes:type_name -> remote.AccountChange
  2087  	26, // 9: remote.KV.Version:input_type -> google.protobuf.Empty
  2088  	3,  // 10: remote.KV.Tx:input_type -> remote.Cursor
  2089  	9,  // 11: remote.KV.StateChanges:input_type -> remote.StateChangeRequest
  2090  	10, // 12: remote.KV.Snapshots:input_type -> remote.SnapshotsRequest
  2091  	12, // 13: remote.KV.Range:input_type -> remote.RangeReq
  2092  	13, // 14: remote.KV.DomainGet:input_type -> remote.DomainGetReq
  2093  	15, // 15: remote.KV.HistoryGet:input_type -> remote.HistoryGetReq
  2094  	17, // 16: remote.KV.IndexRange:input_type -> remote.IndexRangeReq
  2095  	19, // 17: remote.KV.HistoryRange:input_type -> remote.HistoryRangeReq
  2096  	20, // 18: remote.KV.DomainRange:input_type -> remote.DomainRangeReq
  2097  	27, // 19: remote.KV.Version:output_type -> types.VersionReply
  2098  	4,  // 20: remote.KV.Tx:output_type -> remote.Pair
  2099  	7,  // 21: remote.KV.StateChanges:output_type -> remote.StateChangeBatch
  2100  	11, // 22: remote.KV.Snapshots:output_type -> remote.SnapshotsReply
  2101  	21, // 23: remote.KV.Range:output_type -> remote.Pairs
  2102  	14, // 24: remote.KV.DomainGet:output_type -> remote.DomainGetReply
  2103  	16, // 25: remote.KV.HistoryGet:output_type -> remote.HistoryGetReply
  2104  	18, // 26: remote.KV.IndexRange:output_type -> remote.IndexRangeReply
  2105  	21, // 27: remote.KV.HistoryRange:output_type -> remote.Pairs
  2106  	21, // 28: remote.KV.DomainRange:output_type -> remote.Pairs
  2107  	19, // [19:29] is the sub-list for method output_type
  2108  	9,  // [9:19] is the sub-list for method input_type
  2109  	9,  // [9:9] is the sub-list for extension type_name
  2110  	9,  // [9:9] is the sub-list for extension extendee
  2111  	0,  // [0:9] is the sub-list for field type_name
  2112  }
  2113  
  2114  func init() { file_remote_kv_proto_init() }
  2115  func file_remote_kv_proto_init() {
  2116  	if File_remote_kv_proto != nil {
  2117  		return
  2118  	}
  2119  	if !protoimpl.UnsafeEnabled {
  2120  		file_remote_kv_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2121  			switch v := v.(*Cursor); i {
  2122  			case 0:
  2123  				return &v.state
  2124  			case 1:
  2125  				return &v.sizeCache
  2126  			case 2:
  2127  				return &v.unknownFields
  2128  			default:
  2129  				return nil
  2130  			}
  2131  		}
  2132  		file_remote_kv_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2133  			switch v := v.(*Pair); i {
  2134  			case 0:
  2135  				return &v.state
  2136  			case 1:
  2137  				return &v.sizeCache
  2138  			case 2:
  2139  				return &v.unknownFields
  2140  			default:
  2141  				return nil
  2142  			}
  2143  		}
  2144  		file_remote_kv_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2145  			switch v := v.(*StorageChange); i {
  2146  			case 0:
  2147  				return &v.state
  2148  			case 1:
  2149  				return &v.sizeCache
  2150  			case 2:
  2151  				return &v.unknownFields
  2152  			default:
  2153  				return nil
  2154  			}
  2155  		}
  2156  		file_remote_kv_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2157  			switch v := v.(*AccountChange); i {
  2158  			case 0:
  2159  				return &v.state
  2160  			case 1:
  2161  				return &v.sizeCache
  2162  			case 2:
  2163  				return &v.unknownFields
  2164  			default:
  2165  				return nil
  2166  			}
  2167  		}
  2168  		file_remote_kv_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2169  			switch v := v.(*StateChangeBatch); i {
  2170  			case 0:
  2171  				return &v.state
  2172  			case 1:
  2173  				return &v.sizeCache
  2174  			case 2:
  2175  				return &v.unknownFields
  2176  			default:
  2177  				return nil
  2178  			}
  2179  		}
  2180  		file_remote_kv_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2181  			switch v := v.(*StateChange); i {
  2182  			case 0:
  2183  				return &v.state
  2184  			case 1:
  2185  				return &v.sizeCache
  2186  			case 2:
  2187  				return &v.unknownFields
  2188  			default:
  2189  				return nil
  2190  			}
  2191  		}
  2192  		file_remote_kv_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2193  			switch v := v.(*StateChangeRequest); i {
  2194  			case 0:
  2195  				return &v.state
  2196  			case 1:
  2197  				return &v.sizeCache
  2198  			case 2:
  2199  				return &v.unknownFields
  2200  			default:
  2201  				return nil
  2202  			}
  2203  		}
  2204  		file_remote_kv_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2205  			switch v := v.(*SnapshotsRequest); i {
  2206  			case 0:
  2207  				return &v.state
  2208  			case 1:
  2209  				return &v.sizeCache
  2210  			case 2:
  2211  				return &v.unknownFields
  2212  			default:
  2213  				return nil
  2214  			}
  2215  		}
  2216  		file_remote_kv_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2217  			switch v := v.(*SnapshotsReply); i {
  2218  			case 0:
  2219  				return &v.state
  2220  			case 1:
  2221  				return &v.sizeCache
  2222  			case 2:
  2223  				return &v.unknownFields
  2224  			default:
  2225  				return nil
  2226  			}
  2227  		}
  2228  		file_remote_kv_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2229  			switch v := v.(*RangeReq); i {
  2230  			case 0:
  2231  				return &v.state
  2232  			case 1:
  2233  				return &v.sizeCache
  2234  			case 2:
  2235  				return &v.unknownFields
  2236  			default:
  2237  				return nil
  2238  			}
  2239  		}
  2240  		file_remote_kv_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2241  			switch v := v.(*DomainGetReq); i {
  2242  			case 0:
  2243  				return &v.state
  2244  			case 1:
  2245  				return &v.sizeCache
  2246  			case 2:
  2247  				return &v.unknownFields
  2248  			default:
  2249  				return nil
  2250  			}
  2251  		}
  2252  		file_remote_kv_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2253  			switch v := v.(*DomainGetReply); i {
  2254  			case 0:
  2255  				return &v.state
  2256  			case 1:
  2257  				return &v.sizeCache
  2258  			case 2:
  2259  				return &v.unknownFields
  2260  			default:
  2261  				return nil
  2262  			}
  2263  		}
  2264  		file_remote_kv_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2265  			switch v := v.(*HistoryGetReq); i {
  2266  			case 0:
  2267  				return &v.state
  2268  			case 1:
  2269  				return &v.sizeCache
  2270  			case 2:
  2271  				return &v.unknownFields
  2272  			default:
  2273  				return nil
  2274  			}
  2275  		}
  2276  		file_remote_kv_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2277  			switch v := v.(*HistoryGetReply); i {
  2278  			case 0:
  2279  				return &v.state
  2280  			case 1:
  2281  				return &v.sizeCache
  2282  			case 2:
  2283  				return &v.unknownFields
  2284  			default:
  2285  				return nil
  2286  			}
  2287  		}
  2288  		file_remote_kv_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  2289  			switch v := v.(*IndexRangeReq); i {
  2290  			case 0:
  2291  				return &v.state
  2292  			case 1:
  2293  				return &v.sizeCache
  2294  			case 2:
  2295  				return &v.unknownFields
  2296  			default:
  2297  				return nil
  2298  			}
  2299  		}
  2300  		file_remote_kv_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  2301  			switch v := v.(*IndexRangeReply); i {
  2302  			case 0:
  2303  				return &v.state
  2304  			case 1:
  2305  				return &v.sizeCache
  2306  			case 2:
  2307  				return &v.unknownFields
  2308  			default:
  2309  				return nil
  2310  			}
  2311  		}
  2312  		file_remote_kv_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  2313  			switch v := v.(*HistoryRangeReq); i {
  2314  			case 0:
  2315  				return &v.state
  2316  			case 1:
  2317  				return &v.sizeCache
  2318  			case 2:
  2319  				return &v.unknownFields
  2320  			default:
  2321  				return nil
  2322  			}
  2323  		}
  2324  		file_remote_kv_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  2325  			switch v := v.(*DomainRangeReq); i {
  2326  			case 0:
  2327  				return &v.state
  2328  			case 1:
  2329  				return &v.sizeCache
  2330  			case 2:
  2331  				return &v.unknownFields
  2332  			default:
  2333  				return nil
  2334  			}
  2335  		}
  2336  		file_remote_kv_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  2337  			switch v := v.(*Pairs); i {
  2338  			case 0:
  2339  				return &v.state
  2340  			case 1:
  2341  				return &v.sizeCache
  2342  			case 2:
  2343  				return &v.unknownFields
  2344  			default:
  2345  				return nil
  2346  			}
  2347  		}
  2348  		file_remote_kv_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  2349  			switch v := v.(*ParisPagination); i {
  2350  			case 0:
  2351  				return &v.state
  2352  			case 1:
  2353  				return &v.sizeCache
  2354  			case 2:
  2355  				return &v.unknownFields
  2356  			default:
  2357  				return nil
  2358  			}
  2359  		}
  2360  		file_remote_kv_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  2361  			switch v := v.(*IndexPagination); i {
  2362  			case 0:
  2363  				return &v.state
  2364  			case 1:
  2365  				return &v.sizeCache
  2366  			case 2:
  2367  				return &v.unknownFields
  2368  			default:
  2369  				return nil
  2370  			}
  2371  		}
  2372  	}
  2373  	type x struct{}
  2374  	out := protoimpl.TypeBuilder{
  2375  		File: protoimpl.DescBuilder{
  2376  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2377  			RawDescriptor: file_remote_kv_proto_rawDesc,
  2378  			NumEnums:      3,
  2379  			NumMessages:   21,
  2380  			NumExtensions: 0,
  2381  			NumServices:   1,
  2382  		},
  2383  		GoTypes:           file_remote_kv_proto_goTypes,
  2384  		DependencyIndexes: file_remote_kv_proto_depIdxs,
  2385  		EnumInfos:         file_remote_kv_proto_enumTypes,
  2386  		MessageInfos:      file_remote_kv_proto_msgTypes,
  2387  	}.Build()
  2388  	File_remote_kv_proto = out.File
  2389  	file_remote_kv_proto_rawDesc = nil
  2390  	file_remote_kv_proto_goTypes = nil
  2391  	file_remote_kv_proto_depIdxs = nil
  2392  }